[clang] Fix CGObjCGNU __cxa_rethrow return type (PR #214496)
Hendrik Hübner via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 6 07:04:17 PDT 2026
https://github.com/HendrikHuebner created https://github.com/llvm/llvm-project/pull/214496
PtrTy -> VoidTy
>From 51fb8e78751a2562ad7392ad2890cd4c05cc5293 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Hendrik=20H=C3=BCbner?= <hhuebner at MacBookPro.lan>
Date: Thu, 6 Aug 2026 16:01:56 +0200
Subject: [PATCH] Fix CGObjCGNU __cxa_rethrow return type
---
clang/lib/CodeGen/CGObjCGNU.cpp | 4 ++--
clang/test/CodeGenObjC/exceptions-personality.m | 4 +++-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/clang/lib/CodeGen/CGObjCGNU.cpp b/clang/lib/CodeGen/CGObjCGNU.cpp
index 9742b496cbf5a..32a1afe310629 100644
--- a/clang/lib/CodeGen/CGObjCGNU.cpp
+++ b/clang/lib/CodeGen/CGObjCGNU.cpp
@@ -849,8 +849,8 @@ class CGObjCGNUstep : public CGObjCGNU {
EnterCatchFn.init(&CGM, "__cxa_begin_catch", PtrTy, PtrTy);
// void __cxa_end_catch(void)
ExitCatchFn.init(&CGM, "__cxa_end_catch", VoidTy);
- // void objc_exception_rethrow(void*)
- ExceptionReThrowFn.init(&CGM, "__cxa_rethrow", PtrTy);
+ // void __cxa_rethrow(void)
+ ExceptionReThrowFn.init(&CGM, "__cxa_rethrow", VoidTy);
} else if (usesSEHExceptions) {
// void objc_exception_rethrow(void)
ExceptionReThrowFn.init(&CGM, "objc_exception_rethrow", VoidTy);
diff --git a/clang/test/CodeGenObjC/exceptions-personality.m b/clang/test/CodeGenObjC/exceptions-personality.m
index 77ca6c2baecb7..19473c0cfb7c5 100644
--- a/clang/test/CodeGenObjC/exceptions-personality.m
+++ b/clang/test/CodeGenObjC/exceptions-personality.m
@@ -35,7 +35,7 @@ void throwing(void) {
@catch(...)
{
// CHECK-MINGW-OBJC2: call ptr @__cxa_begin_catch
- // CHECK-MINGW-OBJC2: invoke ptr @__cxa_rethrow
+ // CHECK-MINGW-OBJC2: invoke void @__cxa_rethrow
// CHECK-MINGW-OBJC2: invoke void @__cxa_end_catch
// CHECK-MINGW-GCC: call void @objc_exception_throw
@@ -51,3 +51,5 @@ void throwing(void) {
@throw;
}
}
+
+// CHECK-MINGW-OBJC2: declare{{.*}} void @__cxa_rethrow()
More information about the cfe-commits
mailing list