[testsuite, guality] Add -fno-ipa-icf in gcc.dg/guality
authorTom de Vries <tdevries@suse.de>
Fri, 13 Jul 2018 11:21:04 +0000 (11:21 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Fri, 13 Jul 2018 11:21:04 +0000 (11:21 +0000)
Optimization fipa-icf breaks debug info (as is noted in PR63572 - "ICF
breaks user debugging experience"), which make guality tests clztest.c,
ctztest.c and sra-1.c unsupported for option combination "-O2 -flto
-fuse-linker-plugin -fno-fat-lto-objects".  F.i., in clztest.c foo and bar are
merged, and gdb can set a breakpoint on a line in foo, but trying to set a
breakpoint on a line in bar results in a breakpoint in main instead.

This patch works around the problem by adding -fno-ipa-icf (as is already done
in csttest.c and pr43077-1.c) to those testcases:
...
-UNSUPPORTED: gcc.dg/guality/clztest.c ... line . g == f
+PASS:        gcc.dg/guality/clztest.c ... line . g == f
-UNSUPPORTED: gcc.dg/guality/ctztest.c ... line . g == f
+PASS:        gcc.dg/guality/ctztest.c ... line . g == f
-UNSUPPORTED: gcc.dg/guality/sra-1.c ... line .+1 a[0] == 4
+PASS:        gcc.dg/guality/sra-1.c ... line .+1 a[0] == 4
-UNSUPPORTED: gcc.dg/guality/sra-1.c ... line . a[1] == 14
+PASS:        gcc.dg/guality/sra-1.c ... line . a[1] == 14
...

Tested on x86_64.

2018-07-13  Tom de Vries  <tdevries@suse.de>

* gcc.dg/guality/clztest.c: Add -fno-ipa-icf in dg-options.
* gcc.dg/guality/ctztest.c: Same.
* gcc.dg/guality/sra-1.c: Same.

From-SVN: r262631

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/guality/clztest.c
gcc/testsuite/gcc.dg/guality/ctztest.c
gcc/testsuite/gcc.dg/guality/sra-1.c

index 49ca6c527dd51d4eb1daa8b295a42f3de56f56ad..0dcc3b468585bb8080c20868c2fa4e8fa8241c1c 100644 (file)
@@ -1,3 +1,9 @@
+2018-07-13  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.dg/guality/clztest.c: Add -fno-ipa-icf in dg-options.
+       * gcc.dg/guality/ctztest.c: Same.
+       * gcc.dg/guality/sra-1.c: Same.
+
 2018-07-13  Tom de Vries  <tdevries@suse.de>
 
        * gcc.dg/vla-1.c: Update.
index f89c1c31a155210bfc7dd91d5302c2cf82bf511f..69527561c22fadfe602cb53517413bb6a776f7ac 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do run { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
-/* { dg-options "-g" } */
+/* { dg-options "-g -fno-ipa-icf" } */
 
 volatile int vv;
 
index 5ce6c674be3a0ab2824091f53b44d67921cdae98..276752ac986042011fa953d45441bda5f97d4714 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do run { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
-/* { dg-options "-g" } */
+/* { dg-options "-g -fno-ipa-icf" } */
 
 volatile int vv;
 
index a747bc302aa7c2e46d2a6a71e57314da8d9ffdee..8ad57cf3f8e3015db7c026a03d3c0ffab115cb6e 100644 (file)
@@ -1,6 +1,6 @@
 /* PR debug/43983 */
 /* { dg-do run } */
-/* { dg-options "-g" } */
+/* { dg-options "-g -fno-ipa-icf" } */
 
 struct A { int i; int j; };
 struct B { int : 4; int i : 12; int j : 12; int : 4; };