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