[clang] [PAC][clang] Implement address/type discrimination for VTT vtable pointers (PR #205808)
Oliver Hunt via cfe-commits
cfe-commits at lists.llvm.org
Fri Jul 10 11:47:57 PDT 2026
================
@@ -121,20 +122,35 @@ CGPointerAuthInfo CodeGenFunction::EmitPointerAuthInfo(
if (!Schema)
return CGPointerAuthInfo();
- llvm::Value *Discriminator =
- CGM.getPointerAuthOtherDiscriminator(Schema, SchemaDecl, SchemaType);
+ return EmitPointerAuthInfo(
+ Schema, StorageAddress,
+ CGM.getPointerAuthOtherDiscriminator(Schema, SchemaDecl, SchemaType));
+}
+
+CGPointerAuthInfo
+CodeGenFunction::EmitPointerAuthInfo(const PointerAuthSchema &Schema,
+ llvm::Value *StorageAddress,
+ llvm::ConstantInt *ExtraDiscriminator) {
+ if (!Schema)
+ return CGPointerAuthInfo();
+
+ PointerAuthSchema::Discrimination ExtraDiscKind =
+ Schema.getOtherDiscrimination();
+ assert((ExtraDiscKind == PointerAuthSchema::Discrimination::None ||
+ ExtraDiscriminator) &&
+ "extra discrimination is requested but no discriminator provided");
----------------
ojhunt wrote:
Just a 👍because GitHub is garbage and loses comments (and thus my question and your answer here) if you ever do anything other than merging upstream, even though that is universally the wrong thing for patch development :-/
https://github.com/llvm/llvm-project/pull/205808
More information about the cfe-commits
mailing list