https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79516
Bug ID: 79516 Summary: ICE: unspellable token PRAGMA_EOL Product: gcc Version: 7.0.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: gerhard.steinmetz.fort...@t-online.de Target Milestone: --- For versions down to at least 4.8 (on x86_64 GNU/Linux) with options "-E -traditional" or "-traditional-cpp" applied to file ./gcc/testsuite/gcc.dg/pragma-message.c or this reduced variant : $ cat z1.c #pragma message "Okay 1" #if 0 #pragma message ("Not printed") #endif $ gcc-7-20170212 -E -traditional -c z1.c # 1 "z1.c" # 1 "<built-in>" # 1 "<command-line>" # 31 "<command-line>" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 17 "/usr/include/stdc-predef.h" 3 4 ...... # 32 "<command-line>" 2 # 1 "z1.c" z1.c:2:0: internal compiler error: unspellable token PRAGMA_EOL #if 0 0x71734a c_cpp_error(cpp_reader*, int, int, rich_location*, char const*, __va_list_tag (*) [1]) ../../gcc/c-family/c-common.c:6191 0x13f7174 cpp_diagnostic_at ../../libcpp/errors.c:60 0x13f7356 cpp_error(cpp_reader*, int, char const*, ...) ../../libcpp/errors.c:104 0x140039d cpp_spell_token(cpp_reader*, cpp_token const*, unsigned char*, bool) ../../libcpp/lex.c:3248 0x1401d67 cpp_token_as_text(cpp_reader*, cpp_token const*) ../../libcpp/lex.c:3263 0x13fb10e _cpp_parse_expr ../../libcpp/expr.c:1334 0x13f3b63 do_if ../../libcpp/directives.c:2049 0x13f5306 _cpp_handle_directive ../../libcpp/directives.c:547 0x140ea75 _cpp_scan_out_logical_line ../../libcpp/traditional.c:772 0x140f2eb _cpp_read_logical_line_trad ../../libcpp/traditional.c:310 0x737cb7 scan_translation_unit_trad ../../gcc/c-family/c-ppoutput.c:320 0x737cb7 preprocess_file(cpp_reader*) ../../gcc/c-family/c-ppoutput.c:96 0x736520 c_common_init() ../../gcc/c-family/c-opts.c:1083 0x64be4e lang_dependent_init ../../gcc/toplev.c:1745 0x64be4e do_compile ../../gcc/toplev.c:1968