rprichard added a comment. As an aside, it seems interesting that libcxxabi/test/forced_unwind[12].pass.cpp don't compile for ARM EHABI when used with Clang's unwind.h. AFAICT it's been that way for a long time?
$ /x/clang14/bin/clang -target arm-linux-gnueabi /x/llvm-upstream/llvm-project/libcxxabi/test/forced_unwind1.pass.cpp -c -I /x/llvm-upstream/llvm-project/libcxxabi/include /x/llvm-upstream/llvm-project/libcxxabi/test/forced_unwind1.pass.cpp:42:42: error: typedef '_Unwind_Exception' cannot be referenced with a struct specifier struct _Unwind_Exception*, ^ /x/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/lib/clang/14.0.0/include/unwind.h:67:38: note: declared here typedef struct _Unwind_Control_Block _Unwind_Exception; /* Alias */ ^ /x/llvm-upstream/llvm-project/libcxxabi/test/forced_unwind1.pass.cpp:50:49: error: typedef '_Unwind_Exception' cannot be referenced with a struct specifier static void cleanup(_Unwind_Reason_Code, struct _Unwind_Exception* exc) { ^ /x/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/lib/clang/14.0.0/include/unwind.h:67:38: note: declared here typedef struct _Unwind_Control_Block _Unwind_Exception; /* Alias */ ^ 2 errors generated. Clang uses its own unwind.h rather than libunwind's unwind.h: $ /x/clang14/bin/clang -target arm-linux-gnueabi /x/llvm-upstream/llvm-project/libcxxabi/test/forced_unwind1.pass.cpp -c -I /x/llvm-upstream/llvm-project/libcxxabi/include -H 2>&1 | grep unwind.h$ . /x/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/lib/clang/14.0.0/include/unwind.h $ head -15 /x/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/lib/clang/14.0.0/include/unwind.h /*===---- unwind.h - Stack unwinding ----------------------------------------=== * * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. * See https://llvm.org/LICENSE.txt for license information. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception * *===-----------------------------------------------------------------------=== */ /* See "Data Definitions for libgcc_s" in the Linux Standard Base.*/ #ifndef __CLANG_UNWIND_H #define __CLANG_UNWIND_H #if defined(__APPLE__) && __has_include_next(<unwind.h>) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D139503/new/ https://reviews.llvm.org/D139503 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits