Do not check global options modification when an error is seen in parsing
of options (pragmas or attributes).

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

Ready to be installed?
Thanks,
Martin

        PR target/103709

gcc/c-family/ChangeLog:

        * c-pragma.c (handle_pragma_pop_options): Do not check
        global options modification when an error is seen in parsing
        of options (pragmas or attributes).
---
 gcc/c-family/c-pragma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/c-family/c-pragma.c b/gcc/c-family/c-pragma.c
index c4ed4205820..0772c34342a 100644
--- a/gcc/c-family/c-pragma.c
+++ b/gcc/c-family/c-pragma.c
@@ -1132,7 +1132,7 @@ handle_pragma_pop_options (cpp_reader *ARG_UNUSED(dummy))
                                      p->optimize_binary);
       optimization_current_node = p->optimize_binary;
     }
-  if (flag_checking)
+  if (flag_checking && !seen_error ())
     {
       cl_optimization_compare (p->saved_global_options, &global_options);
       free (p->saved_global_options);
--
2.34.1

Reply via email to