mirror of
https://gcc.gnu.org/git/gcc.git
synced 2025-01-12 05:53:51 +08:00
811a475ea3
As the following testcase shows, unwind.h on ARM can't be (starting with GCC 10) compiled with -std=c* modes, only -std=gnu* modes. The problem is it uses asm keyword, which isn't a keyword in those modes (system headers vs. non-system ones don't make a difference here). glibc and other installed headers use __asm or __asm__ keywords instead that work fine in both standard and gnu modes. While there, as it is an installed header, I think it is also wrong to completely ignore any identifier namespace rules. The generic unwind.h defines just _Unwind* namespace identifiers plus _sleb128_t/_uleb128_t (but e.g. unlike libstdc++/glibc headers doesn't uglify operand names), the ARM unwind.h is much worse here. I've just changed the gnu_Unwind_Find_got function at least not be in user identifier namespace, but perhaps it would be good to go further and rename e.g. or e.g. typedef _Unwind_Reason_Code (*personality_routine) (_Unwind_State, _Unwind_Control_Block *, _Unwind_Context *); in unwind-arm-common.h. 2020-02-07 Jakub Jelinek <jakub@redhat.com> PR target/93615 * config/arm/unwind-arm.h (gnu_Unwind_Find_got): Rename to ... (_Unwind_gnu_Find_got): ... this. Use __asm instead of asm. Remove trailing :s in asm. Formatting fixes. (_Unwind_decode_typeinfo_ptr): Adjust caller. * gcc.dg/pr93615.c: New test. |
||
---|---|---|
.. | ||
bpabi-lib.h | ||
bpabi-v6m.S | ||
bpabi.c | ||
bpabi.S | ||
cmse_nonsecure_call.S | ||
cmse.c | ||
crtfastmath.c | ||
crti.S | ||
crtn.S | ||
fp16.c | ||
freebsd-atomic.c | ||
ieee754-df.S | ||
ieee754-sf.S | ||
lib1funcs.S | ||
libgcc-bpabi.ver | ||
libunwind.S | ||
linux-atomic-64bit.c | ||
linux-atomic.c | ||
pr-support.c | ||
sfp-machine.h | ||
symbian-lib.h | ||
t-arm | ||
t-bpabi | ||
t-elf | ||
t-freebsd | ||
t-linux | ||
t-linux-eabi | ||
t-netbsd | ||
t-netbsd-eabi | ||
t-softfp | ||
t-strongarm-elf | ||
t-symbian | ||
t-vxworks7 | ||
t-wince-pe | ||
unaligned-funcs.c | ||
unwind-arm-vxworks.c | ||
unwind-arm.c | ||
unwind-arm.h |