[clang] [PAC] Add support for __ptrauth type qualifier (PR #100830)

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 20 08:03:24 PST 2025


================
@@ -2150,6 +2153,15 @@ llvm::Constant *ConstantLValueEmitter::tryEmit() {
     value = applyOffset(value);
   }
 
+  // Apply pointer-auth signing from the destination type.
+  if (PointerAuthQualifier PointerAuth = DestType.getPointerAuth()) {
+    if (!result.HasDestPointerAuth) {
+      value = Emitter.tryEmitConstantSignedPointer(value, PointerAuth);
+      if (!value)
+        return nullptr;
+    }
+  }
----------------
AaronBallman wrote:

```suggestion
  if (PointerAuthQualifier PointerAuth = DestType.getPointerAuth();
      PointerAuth && !result.HasDestPointerAuth) {
    value = Emitter.tryEmitConstantSignedPointer(value, PointerAuth);
    if (!value)
      return nullptr;
  }
```

https://github.com/llvm/llvm-project/pull/100830


More information about the cfe-commits mailing list