[clang] Basic, Sema: introduce `__attribute__((__personality__(...)))` (PR #185225)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 10 06:30:18 PDT 2026


================
@@ -1655,6 +1655,15 @@ void CodeGenFunction::GenerateCode(GlobalDecl GD, llvm::Function *Fn,
 
   PGO->verifyCounterMap();
 
+  if (CurCodeDecl->hasAttr<PersonalityAttr>()) {
+    StringRef Identifier =
+        CurCodeDecl->getAttr<PersonalityAttr>()->getRoutine()->getName();
+    llvm::FunctionCallee PersonalityRoutine =
+        CGM.CreateRuntimeFunction(llvm::FunctionType::get(CGM.Int32Ty, true),
----------------
erichkeane wrote:

It looks like Eli has better familiarity with this part of the patch so he can finish up, I don't have a problem with the rest of it.

>but I don't believe that we currently crash.

Believe and 'test in our lit tests' are very different things :)  I believe Half Life 3 will be released AAAANY year now. :-P (I WAS right about DNF...)

To make ME comfortable, I'd like to see some codegen tests to prove that out, that show emitted declarations before and after (basically the cartesean product of those) we do the `createRuntimeFunction` call of the same name with different signatures.

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


More information about the cfe-commits mailing list