Author: Mike Hommey
Date: 2026-02-25T01:58:56-08:00
New Revision: 5e30c4a5152dc20ebda38306c0dcf9bc52cb7528

URL: 
https://github.com/llvm/llvm-project/commit/5e30c4a5152dc20ebda38306c0dcf9bc52cb7528
DIFF: 
https://github.com/llvm/llvm-project/commit/5e30c4a5152dc20ebda38306c0dcf9bc52cb7528.diff

LOG: [clang] Define __PTRAUTH_INTRINSICS__ for arm64e-apple-* targets (#172944)

The macro is set by Xcode clang for the arm64e-apple-* targets, and
ifdefed in the macOS and iPhoneOS SDKs.

Added: 
    

Modified: 
    clang/lib/Basic/Targets/AArch64.cpp
    clang/test/Preprocessor/arm64e.c

Removed: 
    


################################################################################
diff  --git a/clang/lib/Basic/Targets/AArch64.cpp 
b/clang/lib/Basic/Targets/AArch64.cpp
index 6bbda2b56562e..f7ed15be75cd8 100644
--- a/clang/lib/Basic/Targets/AArch64.cpp
+++ b/clang/lib/Basic/Targets/AArch64.cpp
@@ -1869,8 +1869,10 @@ void 
clang::targets::getAppleMachOAArch64Defines(MacroBuilder &Builder,
   Builder.defineMacro("__arm64", "1");
   Builder.defineMacro("__arm64__", "1");
 
-  if (Triple.isArm64e())
+  if (Triple.isArm64e()) {
     Builder.defineMacro("__arm64e__", "1");
+    Builder.defineMacro("__PTRAUTH_INTRINSICS__", "1");
+  }
 }
 
 void AppleMachOAArch64TargetInfo::getOSDefines(const LangOptions &Opts,

diff  --git a/clang/test/Preprocessor/arm64e.c 
b/clang/test/Preprocessor/arm64e.c
index 26653ace5852b..3b9f8216387fb 100644
--- a/clang/test/Preprocessor/arm64e.c
+++ b/clang/test/Preprocessor/arm64e.c
@@ -1,5 +1,6 @@
 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm64e-apple-ios < /dev/null 
| FileCheck %s
 
 // CHECK: #define __ARM64_ARCH_8__ 1
+// CHECK: #define __PTRAUTH_INTRINSICS__ 1
 // CHECK: #define __arm64__ 1
 // CHECK: #define __arm64e__ 1


        
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to