As this test produces different code depending on whether
__GCC_HAVE_DWARF2_CFI_ASM macro is defined or not, it is inherently
incompatible with -fcompare-debug, as with
-fcompare-debug -fno-asynchronous-unwind-tables -fno-exceptions
the macro is defined only in the -g case and not otherwise.
The purpose of the macro is to tell when the compiler is emitting
.cfi* directives itself and thus it is desirable that user code uses them in
inline asm as well, so I think it is fine the way it is.
As -fexceptions makes the test pass even in that case because it emits
.cfi* directives, the test actually doesn't FAIL even with
make check-gcc RUNTESTFLAGS='--target_board=unix/-fcompare-debug/-fno-asynchronous-unwind-tables/-fno-exceptions dg.exp=cleanup-13.c'
so the intent of this patch is help Martin and others who do run gcc tests
out of the testsuite with random compiler flags to find out that this is a
known issue.
2020-03-25 Jakub Jelinek <jakub@redhat.com>
PR debug/94296
* gcc.dg/cleanup-13.c: Add a comment that the test is not
-fcompare-debug compatible with certain other options.
2020-03-25 Jakub Jelinek <jakub@redhat.com>
+ PR debug/94296
+ * gcc.dg/cleanup-13.c: Add a comment that the test is not
+ -fcompare-debug compatible with certain other options.
+
PR target/94308
* gcc.target/i386/pr94308.c: New test.
+/* This test is expected to FAIL to compile with
+ -fcompare-debug -fno-asynchronous-unwind-tables -fno-exceptions
+ because in that case, the __GCC_HAVE_DWARF2_CFI_ASM macro is only
+ defined during -g compilation and not defined with -g0. */
/* HP-UX libunwind.so doesn't provide _UA_END_OF_STACK */
/* { dg-do run } */
/* { dg-options "-fexceptions" } */