My recent patch broke bootstrap on ppc64, because, by default, char on ppc defaults to be an unsigned char. But the code relied on char being signed by default. Furthermore, the compat warning about // comments shouldn't be issued in C++ mode at all. Sorry about that.
Bootstrapped on ppc64-linux, ok for trunk? 2014-08-19 Marek Polacek <pola...@redhat.com> * include/cpplib.h (cpp_options): Use signed char. * lex.c (_cpp_lex_direct): Don't warn in C++ mode. diff --git gcc/include/cpplib.h gcc/include/cpplib.h index b89ba20..9f87ff8 100644 --- gcc/include/cpplib.h +++ gcc/include/cpplib.h @@ -467,7 +467,7 @@ struct cpp_options bool restore_pch_deps; /* True if warn about differences between C90 and C99. */ - char cpp_warn_c90_c99_compat; + signed char cpp_warn_c90_c99_compat; /* Dependency generation. */ struct diff --git gcc/lex.c gcc/lex.c index 827cfb0..5366dad 100644 --- gcc/lex.c +++ gcc/lex.c @@ -2338,6 +2338,7 @@ _cpp_lex_direct (cpp_reader *pfile) } /* Or if specifically desired via -Wc90-c99-compat. */ else if (CPP_OPTION (pfile, cpp_warn_c90_c99_compat) > 0 + && ! CPP_OPTION (pfile, cplusplus) && ! buffer->warned_cplusplus_comments) { cpp_error (pfile, CPP_DL_WARNING, Marek