[clang] [Clang][attr] Add 'cfi_salt' attribute (PR #141846)
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 5 09:41:19 PDT 2025
================
@@ -7941,6 +7942,32 @@ static bool handleFunctionTypeAttr(TypeProcessingState &state, ParsedAttr &attr,
return true;
}
+ if (attr.getKind() == ParsedAttr::AT_CFISalt) {
+ if (attr.getNumArgs() == 0)
+ return true;
+
+ // Delay if this is not a function type.
+ StringRef Argument;
+ if (!S.checkStringLiteralArgumentAttr(attr, 0, Argument))
+ return false;
+
+ // Delay if this is not a function type.
+ if (!unwrapped.isFunctionType())
+ return false;
+
+ const auto *FnTy = unwrapped.get()->getAs<FunctionProtoType>();
+ if (!FnTy)
----------------
AaronBallman wrote:
>From my look at the code paths, I think you can get here with a function without a prototype. For example, this function handles noreturn too, yet: https://godbolt.org/z/q895rn3zr
https://github.com/llvm/llvm-project/pull/141846
More information about the cfe-commits
mailing list