It seemed odd to me that gcc was issuing a warning about compatibility
with traditional C that I couldn't turn off by pushing/popping
-Wtraditional over the problem area, so I made the attached (minor)
patch to fix it. Survives bootstrap, but the only testing I've done
with it has been compiling the one file that was giving me issues
previously, which I'd need to reduce further to turn it into a proper
test case.

Thanks,
Eric Gallager

libcpp/ChangeLog:

2017-03-24  Eric Gallager  <eg...@gwmail.gwu.edu>

        * macro.c (check_trad_stringification): Have warning be controlled by
        -Wtraditional.
 libcpp/macro.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libcpp/macro.c b/libcpp/macro.c
index de18c2210cf..5c0de2e4bab 100644
--- a/libcpp/macro.c
+++ b/libcpp/macro.c
@@ -3316,7 +3316,7 @@ check_trad_stringification (cpp_reader *pfile, const 
cpp_macro *macro,
          if (NODE_LEN (node) == len
              && !memcmp (p, NODE_NAME (node), len))
            {
-             cpp_error (pfile, CPP_DL_WARNING,
+             cpp_warning (pfile, CPP_W_TRADITIONAL,
           "macro argument \"%s\" would be stringified in traditional C",
                           NODE_NAME (node));
              break;

Reply via email to