From 1cb0714ea621a576681324407d8ac6efc9503a13 Mon Sep 17 00:00:00 2001 From: David Truby Date: Tue, 3 Jun 2025 14:28:04 +0100 Subject: [PATCH 1/2] [flang] Add aarch64 processor defines This patch adds aarch64 specific processor defines when targeting aarch64, similar to the ones for ppc64 and x86_64 --- flang/lib/Frontend/CompilerInvocation.cpp | 4 ++++ flang/test/Driver/predefined-macros-aarch64.f90 | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 flang/test/Driver/predefined-macros-aarch64.f90 diff --git a/flang/lib/Frontend/CompilerInvocation.cpp b/flang/lib/Frontend/CompilerInvocation.cpp index 90a002929eff0..89aaee9f13853 100644 --- a/flang/lib/Frontend/CompilerInvocation.cpp +++ b/flang/lib/Frontend/CompilerInvocation.cpp @@ -1656,6 +1656,10 @@ void CompilerInvocation::setDefaultPredefinitions() { fortranOptions.predefinitions.emplace_back("__64BIT__", "1"); } break; + case llvm::Triple::ArchType::aarch64: + fortranOptions.predefinitions.emplace_back("__aarch64__", "1"); + fortranOptions.predefinitions.emplace_back("__aarch64", "1"); + break; } } diff --git a/flang/test/Driver/predefined-macros-aarch64.f90 b/flang/test/Driver/predefined-macros-aarch64.f90 new file mode 100644 index 0000000000000..ff49c7e0cb85a --- /dev/null +++ b/flang/test/Driver/predefined-macros-aarch64.f90 @@ -0,0 +1,16 @@ +! Test predefined macro for 64 bit X86 architecture + +! REQUIRES: aarch64-registered-target + +! RUN: %flang_fc1 -triple aarch64-unknown-linux-gnu -cpp -E %s | FileCheck %s + +! CHECK: integer :: var1 = 1 +! CHECK: integer :: var2 = 1 + +#if __aarch64__ + integer :: var1 = __aarch64__ +#endif +#if __aarch64 + integer :: var2 = __aarch64 +#endif +end program From 5c5e48388a1aa0e6b93de8cc116075ed0fcf37a8 Mon Sep 17 00:00:00 2001 From: David Truby Date: Wed, 4 Jun 2025 10:19:05 +0100 Subject: [PATCH 2/2] Correct comment in test --- flang/test/Driver/predefined-macros-aarch64.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flang/test/Driver/predefined-macros-aarch64.f90 b/flang/test/Driver/predefined-macros-aarch64.f90 index ff49c7e0cb85a..dabbd19771032 100644 --- a/flang/test/Driver/predefined-macros-aarch64.f90 +++ b/flang/test/Driver/predefined-macros-aarch64.f90 @@ -1,4 +1,4 @@ -! Test predefined macro for 64 bit X86 architecture +! Test predefined macro for AArch64 ! REQUIRES: aarch64-registered-target