[Bug c++/72803] New: [7 Regression] ICE on invalid code in linemap_position_for_loc_and_offset, at libcpp/line-map.c:891
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Aug 4 17:11:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72803
Bug ID: 72803
Summary: [7 Regression] ICE on invalid code in
linemap_position_for_loc_and_offset, at
libcpp/line-map.c:891
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
Target Milestone: ---
Starting from r238008, we ICE:
$ g++ tc.cc
tc.cc:1:64: error: expected nested-name-specifier before
‘__gnu_cxx__alloc_traitstemplate’
template class basic_string { typedef typename
__gnu_cxx__alloc_traitstemplate rebindother _Char_alloc_type public
static const int npos = static_cast private
template class num_get public localefacet template localeid
num_putid ; ; ; ; ; ;
; ; ; ; ; ; ; }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tc.cc:1:64: error: expected ‘;’ at end of member declaration
tc.cc:1:97: error: ‘rebindother’ does not name a type; did you mean ‘register’?
template class basic_string { typedef typename
__gnu_cxx__alloc_traitstemplate rebindother _Char_alloc_type public
static const int npos = static_cast private
template class num_get public localefacet template localeid
num_putid ; ; ; ; ; ;
; ; ; ; ; ; ; }
^~~~~~~~~~~
register
tc.cc:4:127: internal compiler error: in linemap_position_for_loc_and_offset,
at libcpp/line-map.c:891
0x1543639 linemap_position_for_loc_and_offset(line_maps*, unsigned int,
unsigned int)
../../libcpp/line-map.c:891
0x789893 cp_parser_class_specifier_1
../../gcc/cp/parser.c:21506
0x789893 cp_parser_class_specifier
../../gcc/cp/parser.c:21657
0x789893 cp_parser_type_specifier
../../gcc/cp/parser.c:15883
0x79e441 cp_parser_decl_specifier_seq
../../gcc/cp/parser.c:12802
0x7a4637 cp_parser_explicit_instantiation
../../gcc/cp/parser.c:15647
0x7b4fe1 cp_parser_declaration
../../gcc/cp/parser.c:12132
0x7b38f6 cp_parser_declaration_seq_opt
../../gcc/cp/parser.c:12059
0x7b3c28 cp_parser_translation_unit
../../gcc/cp/parser.c:4350
0x7b3c28 c_parse_file()
../../gcc/cp/parser.c:37549
0x916922 c_common_parse_file()
../../gcc/c-family/c-opts.c:1070
$ cat tc.cc
template class basic_string { typedef typename
__gnu_cxx__alloc_traitstemplate rebindother _Char_alloc_type public
static const int npos = static_cast private
template class num_get public localefacet template localeid
num_putid ; ; ; ; ; ;
; ; ; ; ; ; ; }
# 1 "" 1
More information about the Gcc-bugs
mailing list