[clang] 37f23ea - [AIX][PowerPC] Define __powerpc and __PPC macros
Jake Egan via cfe-commits
cfe-commits at lists.llvm.org
Thu Sep 2 10:33:12 PDT 2021
Author: Jake Egan
Date: 2021-09-02T13:32:35-04:00
New Revision: 37f23ea97fdef4484ef33877c6d8464beafd3b0f
URL: https://github.com/llvm/llvm-project/commit/37f23ea97fdef4484ef33877c6d8464beafd3b0f
DIFF: https://github.com/llvm/llvm-project/commit/37f23ea97fdef4484ef33877c6d8464beafd3b0f.diff
LOG: [AIX][PowerPC] Define __powerpc and __PPC macros
%%%
This patch defines the macros __powerpc and __PPC on AIX to be consistent with XL for AIX. See: https://www.ibm.com/docs/en/xl-c-and-cpp-aix/13.1.0?topic=macros-related-platform
Note: GCC does not currently define __powerpc and __PPC so users should prefer the __powerpc__ and __PPC__ forms.
%%%
Reviewed By: cebowleratibm
Differential Revision: https://reviews.llvm.org/D108917
Added:
Modified:
clang/lib/Basic/Targets/PPC.cpp
clang/test/Preprocessor/init-ppc.c
Removed:
################################################################################
diff --git a/clang/lib/Basic/Targets/PPC.cpp b/clang/lib/Basic/Targets/PPC.cpp
index c8afb71e7dfd1..8f16f3d9b475c 100644
--- a/clang/lib/Basic/Targets/PPC.cpp
+++ b/clang/lib/Basic/Targets/PPC.cpp
@@ -264,6 +264,9 @@ void PPCTargetInfo::getTargetDefines(const LangOptions &Opts,
}
if (getTriple().isOSAIX()) {
Builder.defineMacro("__THW_PPC__");
+ // Define __PPC and __powerpc for AIX XL C/C++ compatibility
+ Builder.defineMacro("__PPC");
+ Builder.defineMacro("__powerpc");
}
// Target properties.
diff --git a/clang/test/Preprocessor/init-ppc.c b/clang/test/Preprocessor/init-ppc.c
index 4f1c33b1dcc3a..611b16dfb8f7e 100644
--- a/clang/test/Preprocessor/init-ppc.c
+++ b/clang/test/Preprocessor/init-ppc.c
@@ -322,6 +322,7 @@
// PPC:#define __NATURAL_ALIGNMENT__ 1
// PPC:#define __POINTER_WIDTH__ 32
// PPC:#define __POWERPC__ 1
+// PPC-NOT:#define __PPC 1
// PPC:#define __PPC__ 1
// PPC:#define __PTRDIFF_TYPE__ long int
// PPC:#define __PTRDIFF_WIDTH__ 32
@@ -386,6 +387,7 @@
// PPC:#define __WCHAR_WIDTH__ 32
// PPC:#define __WINT_TYPE__ int
// PPC:#define __WINT_WIDTH__ 32
+// PPC-NOT:#define __powerpc 1
// PPC:#define __ppc__ 1
// 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
@@ -520,6 +522,7 @@
// PPC-AIX-NOT:#define __NATURAL_ALIGNMENT__ 1
// PPC-AIX:#define __POINTER_WIDTH__ 32
// PPC-AIX:#define __POWERPC__ 1
+// PPC-AIX:#define __PPC 1
// PPC-AIX:#define __PPC__ 1
// PPC-AIX:#define __PTRDIFF_TYPE__ long int
// PPC-AIX:#define __PTRDIFF_WIDTH__ 32
@@ -587,6 +590,7 @@
// PPC-AIX:#define __WCHAR_WIDTH__ 16
// PPC-AIX:#define __WINT_TYPE__ int
// PPC-AIX:#define __WINT_WIDTH__ 32
+// PPC-AIX:#define __powerpc 1
// PPC-AIX:#define __powerpc__ 1
// PPC-AIX:#define __ppc__ 1
More information about the cfe-commits
mailing list