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

Reply via email to