aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorKelvin Li <kkwli@users.noreply.github.com>2025-05-07 15:33:23 -0400
committerGitHub <noreply@github.com>2025-05-07 15:33:23 -0400
commit9a2d6021878768c67243d65a5ebc98a40db34582 (patch)
tree9cc168efdc23f7c6edcfca9f723b86cf737afb1e /flang/lib/Frontend/CompilerInvocation.cpp
parentdb38cc27bc61cf2d53bcac1203722853610aa073 (diff)
downloadllvm-9a2d6021878768c67243d65a5ebc98a40db34582.zip
llvm-9a2d6021878768c67243d65a5ebc98a40db34582.tar.gz
llvm-9a2d6021878768c67243d65a5ebc98a40db34582.tar.bz2
[flang][AIX] Predefine __64BIT__ and _AIX macros (#138591)
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--flang/lib/Frontend/CompilerInvocation.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/flang/lib/Frontend/CompilerInvocation.cpp b/flang/lib/Frontend/CompilerInvocation.cpp
index 28f2f69..238079a 100644
--- a/flang/lib/Frontend/CompilerInvocation.cpp
+++ b/flang/lib/Frontend/CompilerInvocation.cpp
@@ -1615,13 +1615,10 @@ void CompilerInvocation::setDefaultPredefinitions() {
}
llvm::Triple targetTriple{llvm::Triple(this->targetOpts.triple)};
- if (targetTriple.isPPC()) {
- // '__powerpc__' is a generic macro for any PowerPC cases. e.g. Max integer
- // size.
- fortranOptions.predefinitions.emplace_back("__powerpc__", "1");
- }
if (targetTriple.isOSLinux()) {
fortranOptions.predefinitions.emplace_back("__linux__", "1");
+ } else if (targetTriple.isOSAIX()) {
+ fortranOptions.predefinitions.emplace_back("_AIX", "1");
}
switch (targetTriple.getArch()) {
@@ -1631,6 +1628,16 @@ void CompilerInvocation::setDefaultPredefinitions() {
fortranOptions.predefinitions.emplace_back("__x86_64__", "1");
fortranOptions.predefinitions.emplace_back("__x86_64", "1");
break;
+ case llvm::Triple::ArchType::ppc:
+ case llvm::Triple::ArchType::ppc64:
+ case llvm::Triple::ArchType::ppcle:
+ case llvm::Triple::ArchType::ppc64le:
+ // '__powerpc__' is a generic macro for any PowerPC.
+ fortranOptions.predefinitions.emplace_back("__powerpc__", "1");
+ if (targetTriple.isOSAIX() && targetTriple.isArch64Bit()) {
+ fortranOptions.predefinitions.emplace_back("__64BIT__", "1");
+ }
+ break;
}
}