Hello.

The patch sets -1 for x_flag_var_tracking and x_flag_var_tracking_assignments 
similarly
to toplev.c.

Patch can bootstrap on x86_64-linux-gnu and survives regression tests.

Ready to be installed?
Thanks,
Martin

        PR debug/102585

gcc/ChangeLog:

        * opts.c (finish_options): Similarly to toplev.c
          (process_options), set value -1.

gcc/testsuite/ChangeLog:

        * gcc.dg/pr102585.c: New test.
---
 gcc/opts.c                      | 3 +++
 gcc/testsuite/gcc.dg/pr102585.c | 6 ++++++
 2 files changed, 9 insertions(+)
 create mode 100644 gcc/testsuite/gcc.dg/pr102585.c

diff --git a/gcc/opts.c b/gcc/opts.c
index 6503980cd33..f2f058b3ece 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -1343,6 +1343,9 @@ finish_options (struct gcc_options *opts, struct 
gcc_options *opts_set,
     opts->x_flag_complex_method = 1;
   else if (opts_set->x_flag_cx_fortran_rules)
     opts->x_flag_complex_method = opts->x_flag_default_complex_method;
+
+  if (opts->x_flag_var_tracking_assignments && !opts->x_flag_var_tracking)
+    opts->x_flag_var_tracking = opts->x_flag_var_tracking_assignments = -1;
 }
#define LEFT_COLUMN 27
diff --git a/gcc/testsuite/gcc.dg/pr102585.c b/gcc/testsuite/gcc.dg/pr102585.c
new file mode 100644
index 00000000000..efd066b4a4e
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr102585.c
@@ -0,0 +1,6 @@
+/* PR debug/102585 */
+/* { dg-do compile } */
+/* { dg-options "-fvar-tracking-assignments -fno-var-tracking" } */
+
+#pragma GCC optimize 0
+void d_demangle_callback_Og() { int c = 0; }
--
2.33.0

Reply via email to