diff options
| author | Amir Ayupov <aaupov@fb.com> | 2025-06-08 17:43:02 -0700 |
|---|---|---|
| committer | Amir Ayupov <aaupov@fb.com> | 2025-06-08 17:43:02 -0700 |
| commit | 68b99df7ad1b910378c8cda5afff637fbe3c0efc (patch) | |
| tree | 1d2e51419c3f89a0909603d355598c27f1a92d42 /clang/lib/CodeGen/CGPointerAuth.cpp | |
| parent | bbbecc425389aeb7b93d9018b40a95b389c27f40 (diff) | |
| parent | c480dcddd91e3ff0707d6629e6ddac8587d9d1f1 (diff) | |
[𝘀𝗽𝗿] changes introduced through rebaseusers/aaupov/spr/main.bolt-sort-entrydata
Created using spr 1.3.4
[skip ci]
Diffstat (limited to 'clang/lib/CodeGen/CGPointerAuth.cpp')
| -rw-r--r-- | clang/lib/CodeGen/CGPointerAuth.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGPointerAuth.cpp b/clang/lib/CodeGen/CGPointerAuth.cpp index bf22912988d3..dcef01a5eb6d 100644 --- a/clang/lib/CodeGen/CGPointerAuth.cpp +++ b/clang/lib/CodeGen/CGPointerAuth.cpp @@ -520,6 +520,11 @@ llvm::Constant *CodeGenModule::getMemberFunctionPointer(llvm::Constant *Pointer, Pointer, PointerAuth.getKey(), nullptr, cast_or_null<llvm::ConstantInt>(PointerAuth.getDiscriminator())); + if (const auto *MFT = dyn_cast<MemberPointerType>(FT.getTypePtr())) { + if (MFT->hasPointeeToToCFIUncheckedCalleeFunctionType()) + Pointer = llvm::NoCFIValue::get(cast<llvm::GlobalValue>(Pointer)); + } + return Pointer; } |
