https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61832
Bug ID: 61832 Summary: r212638 breaks building ncurses Product: gcc Version: 4.10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: preprocessor Assignee: unassigned at gcc dot gnu.org Reporter: ktkachov at gcc dot gnu.org As of 212638: gcc/c-family/ChangeLog: * c-ppoutput.c (struct print::prev_was_system_token): New data member. (init_pp_output): Initialize it. (maybe_print_line_1, maybe_print_line, print_line_1, print_line) (do_line_change): Return a flag saying if a line marker was emitted or not. (scan_translation_unit): Detect if the system-ness of the token we are about to emit is different from the one of the previously emitted token. If so, emit a line marker. Avoid emitting useless adjacent line markers. Avoid emitting line markers for tokens originating from the expansion of built-in macros. (scan_translation_unit_directives_only): Adjust. by dodji gcc fails to build ncurses. Basically the preprocessor ends up generating invalid C-code. I'll try to reduce a testcase soon, but in the meantime this appears on x86, arm and aarch64 so should be easily reproducible