[clang] [Clang][RISCV] Add preprocessor macros for Zicfilp CFI scheme (PR #109600)
Craig Topper via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 23 10:15:49 PDT 2024
================
@@ -224,6 +224,26 @@ void RISCVTargetInfo::getTargetDefines(const LangOptions &Opts,
else
Builder.defineMacro("__riscv_32e");
}
+
+ if (ISAInfo->hasExtension("zicfilp") && Opts.CFProtectionBranch) {
+ auto Scheme = Opts.getCFBranchLabelScheme();
+ if (Scheme == CFBranchLabelSchemeKind::Default)
+ Scheme = getDefaultCFBranchLabelScheme();
+
+ switch (Scheme) {
+ case CFBranchLabelSchemeKind::Unlabeled:
+ Builder.defineMacro("__riscv_landing_pad", "1");
----------------
topperc wrote:
Move `__riscv_landing_pad` out of the switch since its common?
https://github.com/llvm/llvm-project/pull/109600
More information about the cfe-commits
mailing list