https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89410
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Known to work| |5.2.0 Keywords| |ice-on-invalid-code Last reconfirmed| |2019-02-20 CC| |msebor at gcc dot gnu.org Ever confirmed|0 |1 Summary|internal compiler error: in |[7/8/9 Regression] ICE in |calculate_line_spans, at |calculate_line_spans, at |diagnostic-show-locus.c:123 |diagnostic-show-locus.c:123 |7 after #line |7 after #line Known to fail| |6.4.0, 7.3.0, 8.2.0, 9.0 --- Comment #3 from Martin Sebor <msebor at gcc dot gnu.org> --- Confirmed with the styack trace below. According to my bisection the ICE was introduced into GCC 6 by r233386: r233386 | dmalcolm | 2016-02-12 14:18:03 -0500 (Fri, 12 Feb 2016) | 51 lines PR other/69554: avoid excessive source printing for widely-separated locations u.c: In function ‘main’: u.c:3:2: warning: #warning first [-Wcpp] 3 | #warning first | ^~~~~~~ u.c:-737418241:2: warning: #warning second [-Wcpp] u.c:-737418240:7: warning: line number out of range u.c:478333951:2: warning: #warning third [-Wcpp] u.c:478333952:7: warning: line number out of range u.c:478333951:2: warning: #warning fifth [-Wcpp] u.c:478333952:7: warning: line number out of range u.c:-991952897:2: warning: #warning sixth [-Wcpp] u.c:-991952896:7: warning: line number out of range u.c:-1:2: warning: #warning seventh [-Wcpp] u.c:-1: internal compiler error: in calculate_line_spans, at diagnostic-show-locus.c:1237 Internal compiler error: Error reporting routines re-entered. 0x20eff48 calculate_line_spans /src/gcc/svn/gcc/diagnostic-show-locus.c:1237 0x20ef134 layout /src/gcc/svn/gcc/diagnostic-show-locus.c:871 0x20f1e82 diagnostic_show_locus(diagnostic_context*, rich_location*, diagnostic_t) /src/gcc/svn/gcc/diagnostic-show-locus.c:2282 0x93fe57 c_diagnostic_finalizer /src/gcc/svn/gcc/c-family/c-opts.c:171 0x20e7f33 diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*) /src/gcc/svn/gcc/diagnostic.c:1020 0x20e84b0 diagnostic_impl /src/gcc/svn/gcc/diagnostic.c:1159 0x20e9ceb internal_error(char const*, ...) /src/gcc/svn/gcc/diagnostic.c:1540 0x20e9f53 fancy_abort(char const*, int, char const*) /src/gcc/svn/gcc/diagnostic.c:1607 0x20eff48 calculate_line_spans /src/gcc/svn/gcc/diagnostic-show-locus.c:1237 0x20ef134 layout /src/gcc/svn/gcc/diagnostic-show-locus.c:871 0x20f1e82 diagnostic_show_locus(diagnostic_context*, rich_location*, diagnostic_t) /src/gcc/svn/gcc/diagnostic-show-locus.c:2282 0x93fe57 c_diagnostic_finalizer /src/gcc/svn/gcc/c-family/c-opts.c:171 0x20e7f33 diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*) /src/gcc/svn/gcc/diagnostic.c:1020 0x9078cf c_cpp_diagnostic(cpp_reader*, cpp_diagnostic_level, cpp_warning_reason, rich_location*, char const*, __va_list_tag (*) [1]) /src/gcc/svn/gcc/c-family/c-common.c:6320 0x212ffac cpp_diagnostic_with_line /src/gcc/svn/libcpp/errors.c:163 0x2130311 cpp_warning_with_line_syshdr(cpp_reader*, cpp_warning_reason, unsigned int, unsigned int, char const*, ...) /src/gcc/svn/libcpp/errors.c:238 0x212bce5 do_diagnostic /src/gcc/svn/libcpp/directives.c:1147 0x212bda9 do_warning /src/gcc/svn/libcpp/directives.c:1165 0x212a9af _cpp_handle_directive /src/gcc/svn/libcpp/directives.c:541 0x213ec23 _cpp_lex_token /src/gcc/svn/libcpp/lex.c:2609 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.