diff options
author | Martin Liska <mliska@suse.cz> | 2023-03-31 14:28:15 +0200 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2023-04-11 11:25:33 +0200 |
commit | cb06a507073e4d6218a70a2d5b0738a0487d6d9a (patch) | |
tree | c0b86180049cf144c6495d6824d377fdaec53f35 /gcc | |
parent | 58c8c1b383bc3c286d6527fc6e8fb62463f9a877 (diff) | |
download | gcc-cb06a507073e4d6218a70a2d5b0738a0487d6d9a.zip gcc-cb06a507073e4d6218a70a2d5b0738a0487d6d9a.tar.gz gcc-cb06a507073e4d6218a70a2d5b0738a0487d6d9a.tar.bz2 |
driver: drop flag_var_tracking_assignments flag
The revision r13-259-g76db543db88727 moved a condition from one
file to another, but now we do not drop x_flag_var_tracking_assignments
as it was done before the mentioned revision.
PR driver/108241
gcc/ChangeLog:
* opts.cc (finish_options): Drop also
x_flag_var_tracking_assignments.
gcc/testsuite/ChangeLog:
* gcc.dg/pr108241.c: New test.
* gcc.dg/pr79570.c: Add also -g option.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/opts.cc | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr108241.c | 63 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr79570.c | 2 |
3 files changed, 65 insertions, 1 deletions
diff --git a/gcc/opts.cc b/gcc/opts.cc index f102c13..fb2e538 100644 --- a/gcc/opts.cc +++ b/gcc/opts.cc @@ -1384,6 +1384,7 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set, } opts->x_flag_var_tracking = 0; opts->x_flag_var_tracking_uninit = 0; + opts->x_flag_var_tracking_assignments = 0; } /* One could use EnabledBy, but it would lead to a circular dependency. */ diff --git a/gcc/testsuite/gcc.dg/pr108241.c b/gcc/testsuite/gcc.dg/pr108241.c new file mode 100644 index 0000000..06d210f --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr108241.c @@ -0,0 +1,63 @@ +/* PR driver/108241 */ +/* { dg-options "-Os -frounding-math -fvar-tracking-assignments -fno-dce -fno-trapping-math -fno-tree-dce -fno-tree-dse" } */ + +long int n1; +int n2, n3, n4; +char n5; + +void +foo (long int x1, long int x2, int x3, int x4, int x5, char x6, char x7) +{ + char a01 = n2, a02 = x4, a03 = 0; + short int a04; + unsigned short int a05 = x5; + int a06, a07, a08 = a05, a09 = x3, a10 = 0; + long int a11, a12 = x4; + + if (x1) + { + a07 = x6 + (float)0x1000001; + a03 = a12 = a01 = a06 = ~0; + + if (x5) + a11 = n5; + } + else + { + a10 = x3 = n3; + if (n3) + a06 = a05 = x7; + } + + if (n3 < n5) + { + n4 = (x2 == x4) + !n1; + if (n4 % (n1 % x3)) + { + a04 = n4; + a02 = n2; + } + + if (x3) + { + a05 = !n1 % n2; + a08 = n1; + a04 = x5 + a06; + } + + if (a12) + a09 = n3 + n4; + + a12 = a07; + n3 = a11 % x1; + n5 += x6; + n1 = a04; + } + + n4 = x2 % x5 % a11; + a06 = a10 + a08 % a02 == n4; + a09 = a09 == a01 * x7; + n4 = x4; + a12 += x4 / 0xc000000000000000 + !a03; + a03 = !a05; +} diff --git a/gcc/testsuite/gcc.dg/pr79570.c b/gcc/testsuite/gcc.dg/pr79570.c index 00841b9..a15be9f 100644 --- a/gcc/testsuite/gcc.dg/pr79570.c +++ b/gcc/testsuite/gcc.dg/pr79570.c @@ -1,6 +1,6 @@ /* PR target/79570 */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -fselective-scheduling2 -fvar-tracking-assignments" } */ +/* { dg-options "-O2 -fselective-scheduling2 -fvar-tracking-assignments -g" } */ /* { dg-warning "changes selective scheduling" "" { target *-*-* } 0 } */ #include "pr69956.c" |