[Bug c++/77752] New: ICE on C++ code on x86_64-linux-gnu (internal compiler error: Segmentation fault, build_list_conv, implicit_conversion)
chengniansun at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Sep 27 07:54:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77752
Bug ID: 77752
Summary: ICE on C++ code on x86_64-linux-gnu (internal compiler
error: Segmentation fault, build_list_conv,
implicit_conversion)
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: chengniansun at gmail dot com
Target Milestone: ---
$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc-source-trunk/configure --enable-languages=c,c++,lto
--prefix=/usr/local/gcc-trunk --disable-bootstrap
Thread model: posix
gcc version 7.0.0 20160926 (experimental) [trunk revision 240511] (GCC)
$
$ gcc-trunk small.C
small.C: In function ‘void f(std::initializer_list)’:
small.C:4:30: error: ‘l’ has incomplete type
void f(std::initializer_list l) { f({2}); }
^
small.C:2:7: note: forward declaration of ‘class std::initializer_list’
class initializer_list;
^~~~~~~~~~~~~~~~
small.C:4:40: internal compiler error: Segmentation fault
void f(std::initializer_list l) { f({2}); }
^
0xdcb7df crash_signal
../../gcc-source-trunk/gcc/toplev.c:337
0x650c8d tree_check
../../gcc-source-trunk/gcc/tree.h:3030
0x650c8d build_list_conv
../../gcc-source-trunk/gcc/cp/call.c:788
0x650c8d implicit_conversion
../../gcc-source-trunk/gcc/cp/call.c:1816
0x65c7e8 add_function_candidate
../../gcc-source-trunk/gcc/cp/call.c:2142
0x64ee06 add_candidates
../../gcc-source-trunk/gcc/cp/call.c:5410
0x6628cc perform_overload_resolution
../../gcc-source-trunk/gcc/cp/call.c:4067
0x662abe build_new_function_call(tree_node*, vec<tree_node*, va_gc,
vl_embed>**, bool, int)
../../gcc-source-trunk/gcc/cp/call.c:4144
0x806718 finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool,
bool, int)
../../gcc-source-trunk/gcc/cp/semantics.c:2440
0x77edcb cp_parser_postfix_expression
../../gcc-source-trunk/gcc/cp/parser.c:6937
0x787b82 cp_parser_unary_expression
../../gcc-source-trunk/gcc/cp/parser.c:8019
0x7886a7 cp_parser_cast_expression
../../gcc-source-trunk/gcc/cp/parser.c:8696
0x788c73 cp_parser_binary_expression
../../gcc-source-trunk/gcc/cp/parser.c:8798
0x789563 cp_parser_assignment_expression
../../gcc-source-trunk/gcc/cp/parser.c:9086
0x78c069 cp_parser_expression
../../gcc-source-trunk/gcc/cp/parser.c:9253
0x78c7f8 cp_parser_expression_statement
../../gcc-source-trunk/gcc/cp/parser.c:10771
0x77a87a cp_parser_statement
../../gcc-source-trunk/gcc/cp/parser.c:10587
0x77b7d5 cp_parser_statement_seq_opt
../../gcc-source-trunk/gcc/cp/parser.c:10913
0x77b8af cp_parser_compound_statement
../../gcc-source-trunk/gcc/cp/parser.c:10867
0x799753 cp_parser_function_body
../../gcc-source-trunk/gcc/cp/parser.c:20887
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
$
$ cat small.C
namespace std {
class initializer_list;
}
void f(std::initializer_list l) { f({2}); }
More information about the Gcc-bugs
mailing list