Hi!

As can be seen in the second testcase, -fno-debug-cpp is actually
implemented the same as -fdebug-cpp and so doesn't turn the debugging
off.

The following patch fixes that.

Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

2023-12-07  Andrew Pinski  <pins...@gmail.com>
            Jakub Jelinek  <ja...@redhat.com>

        PR preprocessor/111965
gcc/c-family/
        * c-opts.cc (c_common_handle_option) <case OPT_fdebug_cpp>: Set
        cpp_opts->debug to value rather than 1.
gcc/testsuite/
        * gcc.dg/cpp/pr111965-1.c: New test.
        * gcc.dg/cpp/pr111965-2.c: New test.

--- gcc/c-family/c-opts.cc.jj   2023-12-05 09:06:05.867881859 +0100
+++ gcc/c-family/c-opts.cc      2023-12-06 18:02:20.445469185 +0100
@@ -532,7 +532,7 @@ c_common_handle_option (size_t scode, co
       break;
 
     case OPT_fdebug_cpp:
-      cpp_opts->debug = 1;
+      cpp_opts->debug = value;
       break;
 
     case OPT_ftrack_macro_expansion:
--- gcc/testsuite/gcc.dg/cpp/pr111965-1.c.jj    2023-12-06 17:54:03.696424916 
+0100
+++ gcc/testsuite/gcc.dg/cpp/pr111965-1.c       2023-12-06 18:01:32.341142764 
+0100
@@ -0,0 +1,5 @@
+/* PR preprocessor/111965
+   { dg-do preprocess }
+   { dg-options "-fdebug-cpp" }
+   { dg-final { scan-file pr111965-1.i "P:<built-in>;F:<NULL>;" } } */
+int x;
--- gcc/testsuite/gcc.dg/cpp/pr111965-2.c.jj    2023-12-06 17:59:36.953758477 
+0100
+++ gcc/testsuite/gcc.dg/cpp/pr111965-2.c       2023-12-06 18:01:27.147215490 
+0100
@@ -0,0 +1,5 @@
+/* PR preprocessor/111965
+   { dg-do preprocess }
+   { dg-options "-fdebug-cpp -fno-debug-cpp" }
+   { dg-final { scan-file-not pr111965-2.i "P:<built-in>;F:<NULL>;" } } */
+int x;

        Jakub

Reply via email to