https://github.com/glandium created 
https://github.com/llvm/llvm-project/pull/172944

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

>From f8af753c0503f3648d772dc14e3e9ddd34747094 Mon Sep 17 00:00:00 2001
From: Mike Hommey <[email protected]>
Date: Fri, 19 Dec 2025 11:44:42 +0900
Subject: [PATCH] [clang] Define __PTRAUTH_INTRINSICS__ for arm64e-apple-*
 targets

The macro is set by Xcode clang for the arm64e-apple-* targets, and
ifdefed in the macOS and iPhoneOS SDKs.
---
 clang/lib/Basic/Targets/AArch64.cpp | 4 +++-
 clang/test/Preprocessor/arm64e.c    | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Basic/Targets/AArch64.cpp 
b/clang/lib/Basic/Targets/AArch64.cpp
index ecd441be364c2..7ff67e4f66b45 100644
--- a/clang/lib/Basic/Targets/AArch64.cpp
+++ b/clang/lib/Basic/Targets/AArch64.cpp
@@ -1786,8 +1786,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