[clang] [clang] Function type attribute to prevent CFI instrumentation (PR #135836)

via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 3 12:06:02 PDT 2025


================
@@ -8253,6 +8275,19 @@ inline bool Type::isObjectPointerType() const {
     return false;
 }
 
+inline bool Type::isCFIUncheckedCalleeFunctionType() const {
+  if (const auto *Fn = getAs<FunctionProtoType>())
+    return Fn->hasCFIUncheckedCallee();
+  return false;
+}
+
+inline bool Type::isPointerToCFIUncheckedCalleeFunctionType() const {
----------------
PiJoules wrote:

Correct, this should handle some of those other pointee-like things. It makes the implementation much easier since I wouldn't need to explicitly check for the reference, pointer, or member pointer targets. I didn't intend for this to work with ObjC or block pointers so I'll adjust to not account for those.

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


More information about the cfe-commits mailing list