As of 212638:
* c-ppoutput.c (struct print::prev_was_system_token): New data
(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.
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
I'm closing this as invalid.
The bug is in the ncurses build process which assumes that the preprocessor does not introduce new lines and mangles the output with its own sed and awk trickery which ends up stumbling on the new chanes