[clang] 869d07e - [AIX] Define __HOS_AIX__ macro

Jake Egan via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 6 07:40:44 PDT 2021


Author: Jake Egan
Date: 2021-08-06T10:40:13-04:00
New Revision: 869d07ee88a4355f5954ef9e2b2e79ceff225ddb

URL: https://github.com/llvm/llvm-project/commit/869d07ee88a4355f5954ef9e2b2e79ceff225ddb
DIFF: https://github.com/llvm/llvm-project/commit/869d07ee88a4355f5954ef9e2b2e79ceff225ddb.diff

LOG: [AIX] Define __HOS_AIX__ macro

%%%
This patch defines __HOS_AIX__ macro for AIX in case of a cross compiler implementation.
%%%
Tested with SPEC.

Reviewed By: cebowleratibm

Differential Revision: https://reviews.llvm.org/D107242

Added: 
    clang/test/Preprocessor/host-aix.c
    clang/test/Preprocessor/not-host-aix.c

Modified: 
    clang/lib/Basic/Targets/PPC.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/Basic/Targets/PPC.cpp b/clang/lib/Basic/Targets/PPC.cpp
index a888e22697de..4ee7282c06ce 100644
--- a/clang/lib/Basic/Targets/PPC.cpp
+++ b/clang/lib/Basic/Targets/PPC.cpp
@@ -14,6 +14,7 @@
 #include "clang/Basic/Diagnostic.h"
 #include "clang/Basic/MacroBuilder.h"
 #include "clang/Basic/TargetBuiltins.h"
+#include "llvm/Support/Host.h"
 
 using namespace clang;
 using namespace clang::targets;
@@ -304,6 +305,11 @@ void PPCTargetInfo::getTargetDefines(const LangOptions &Opts,
     Builder.defineMacro("__LONGDOUBLE64");
   }
 
+  if (llvm::Triple(llvm::sys::getProcessTriple()).isOSAIX() &&
+      getTriple().isOSAIX()) {
+    Builder.defineMacro("__HOS_AIX__");
+  }
+
   // Define this for elfv2 (64-bit only) or 64-bit darwin.
   if (ABI == "elfv2" ||
       (getTriple().getOS() == llvm::Triple::Darwin && PointerWidth == 64))

diff  --git a/clang/test/Preprocessor/host-aix.c b/clang/test/Preprocessor/host-aix.c
new file mode 100644
index 000000000000..81d594ba5803
--- /dev/null
+++ b/clang/test/Preprocessor/host-aix.c
@@ -0,0 +1,3 @@
+// REQUIRES: system-aix
+// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-ibm-aix7.1.0.0 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC-AIX %s
+// PPC-AIX:#define __HOS_AIX__ 1

diff  --git a/clang/test/Preprocessor/not-host-aix.c b/clang/test/Preprocessor/not-host-aix.c
new file mode 100644
index 000000000000..d6a2d22a7d25
--- /dev/null
+++ b/clang/test/Preprocessor/not-host-aix.c
@@ -0,0 +1,3 @@
+// UNSUPPORTED: system-aix
+// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-ibm-aix7.1.0.0 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC-AIX %s
+// PPC-AIX-NOT:#define __HOS_AIX__ 1


        


More information about the cfe-commits mailing list