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;