[clang] 106a992 - [Headers][ARM] Allow `struct _Unwind_Exception` in unwind.h

Ryan Prichard via cfe-commits cfe-commits at lists.llvm.org
Fri Dec 9 15:16:42 PST 2022


Author: Ryan Prichard
Date: 2022-12-09T15:16:20-08:00
New Revision: 106a99276f9e7b9eec9542cc2b4dcd8489eb1a6b

URL: https://github.com/llvm/llvm-project/commit/106a99276f9e7b9eec9542cc2b4dcd8489eb1a6b
DIFF: https://github.com/llvm/llvm-project/commit/106a99276f9e7b9eec9542cc2b4dcd8489eb1a6b.diff

LOG: [Headers][ARM] Allow `struct _Unwind_Exception` in unwind.h

Use the same approach as used in libunwind/include/unwind_arm_ehabi.h
(D89570) and GCC's unwind-arm-common.h, so that _Unwind_Exception can be
used both with and without the struct tag.

Fixes a build failure in libcxxabi/test/forced_unwind1.pass.cpp.

Reviewed By: danielkiss

Differential Revision: https://reviews.llvm.org/D139503

Added: 
    

Modified: 
    clang/lib/Headers/unwind.h

Removed: 
    


################################################################################
diff  --git a/clang/lib/Headers/unwind.h b/clang/lib/Headers/unwind.h
index 971a62da0d212..33e1792cd1fb7 100644
--- a/clang/lib/Headers/unwind.h
+++ b/clang/lib/Headers/unwind.h
@@ -65,7 +65,8 @@ struct _Unwind_Context;
 #if defined(__arm__) && !(defined(__USING_SJLJ_EXCEPTIONS__) || \
                           defined(__ARM_DWARF_EH__) || defined(__SEH__))
 struct _Unwind_Control_Block;
-typedef struct _Unwind_Control_Block _Unwind_Exception; /* Alias */
+typedef struct _Unwind_Control_Block _Unwind_Control_Block;
+#define _Unwind_Exception _Unwind_Control_Block /* Alias */
 #else
 struct _Unwind_Exception;
 typedef struct _Unwind_Exception _Unwind_Exception;


        


More information about the cfe-commits mailing list