https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61264
Bug ID: 61264 Summary: gccgo: ICE in __normal_iterator [GoSmith] Product: gcc Version: 4.10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: go Assignee: ian at airs dot com Reporter: dvyukov at google dot com Created attachment 32839 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=32839&action=edit reproducer gcc version 4.10.0 20140516 (experimental) (GCC) The program is attached. $ go build -compiler=gccgo src.go go1: internal compiler error: Segmentation fault 0x9fa46f crash_signal ../../gcc/toplev.c:337 0x5b5a8f __normal_iterator /usr/local/gcc-4.8.2/include/c++/4.8.2/bits/stl_iterator.h:726 0x5b5a8f std::vector<Expression*, std::allocator<Expression*> >::begin() /usr/local/gcc-4.8.2/include/c++/4.8.2/bits/stl_vector.h:539 0x5b5a8f Expression_list::begin() ../../gcc/go/gofrontend/expressions.h:1022 0x5b5a8f Expression_list::copy() ../../gcc/go/gofrontend/expressions.cc:15126 0x5c080f Struct_construction_expression::do_copy() ../../gcc/go/gofrontend/expressions.cc:11763 0x5bfc35 Expression::copy() ../../gcc/go/gofrontend/expressions.h:712 0x5bfc35 Field_reference_expression::do_copy() ../../gcc/go/gofrontend/expressions.h:2301 0x5bedd1 Expression::copy() ../../gcc/go/gofrontend/expressions.h:712 0x5bedd1 Array_index_expression::do_copy() ../../gcc/go/gofrontend/expressions.cc:9919 0x60764d Expression::copy() ../../gcc/go/gofrontend/expressions.h:712 0x60764d Assignment_operation_statement::do_lower(Gogo*, Named_object*, Block*, Statement_inserter*) ../../gcc/go/gofrontend/statements.cc:820 0x5cf2dc Statement::lower(Gogo*, Named_object*, Block*, Statement_inserter*) ../../gcc/go/gofrontend/statements.h:307 0x5cf2dc Lower_parse_tree::statement(Block*, unsigned long*, Statement*) ../../gcc/go/gofrontend/gogo.cc:2402 0x6099c6 Statement::traverse(Block*, unsigned long*, Traverse*) ../../gcc/go/gofrontend/statements.cc:43 0x5d1c5d Block::traverse(Traverse*) ../../gcc/go/gofrontend/gogo.cc:5384 0x5cf2a3 Lower_parse_tree::statement(Block*, unsigned long*, Statement*) ../../gcc/go/gofrontend/gogo.cc:2390 0x6099c6 Statement::traverse(Block*, unsigned long*, Traverse*) ../../gcc/go/gofrontend/statements.cc:43 0x5d1c5d Block::traverse(Traverse*) ../../gcc/go/gofrontend/gogo.cc:5384 0x5d1c5d Block::traverse(Traverse*) ../../gcc/go/gofrontend/gogo.cc:5384