On Mon, Apr 3, 2023 at 10:46 AM Martin Liška <mli...@suse.cz> wrote: > > 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. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed?
OK. > Thanks, > Martin > > 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. > --- > gcc/opts.cc | 1 + > gcc/testsuite/gcc.dg/pr108241.c | 63 +++++++++++++++++++++++++++++++++ > gcc/testsuite/gcc.dg/pr79570.c | 2 +- > 3 files changed, 65 insertions(+), 1 deletion(-) > create mode 100644 gcc/testsuite/gcc.dg/pr108241.c > > diff --git a/gcc/opts.cc b/gcc/opts.cc > index f102c1328b9..fb2e5388ab1 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 00000000000..06d210fae68 > --- /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 00841b9487a..a15be9f201d 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" > -- > 2.40.0 >