golang/go

gccgo: internal compiler error in type_size (2)

dvyukov opened this issue · 2 comments

gccgo crashes on the following program:

package a
type e[5][1e11][1e11]*e
go1: internal compiler error: in type_size, at go/go-gcc.cc:1103
0x6074fb Gcc_backend::type_size(Btype*)
    ../../gcc/go/go-gcc.cc:1103
0x674108 Type::backend_type_size(Gogo*, long*)
    ../../gcc/go/gofrontend/types.cc:2526
0x6742d6 Array_type::do_compare_is_identity(Gogo*)
    ../../gcc/go/gofrontend/types.cc:5807
0x65b6b8 Type::compare_is_identity(Gogo*)
    ../../gcc/go/gofrontend/types.h:628
0x65b6b8 Named_type::do_compare_is_identity(Gogo*)
    ../../gcc/go/gofrontend/types.cc:8684
0x6107f1 Type::compare_is_identity(Gogo*)
    ../../gcc/go/gofrontend/types.h:628
0x6107f1 Specific_type_functions::type(Type*)
    ../../gcc/go/gofrontend/gogo.cc:2416
0x65da12 Type::traverse(Type*, Traverse*)
    ../../gcc/go/gofrontend/types.cc:286
0x6167a8 Bindings::traverse(Traverse*, bool)
    ../../gcc/go/gofrontend/gogo.cc:7537
0x616b71 Gogo::traverse(Traverse*)
    ../../gcc/go/gofrontend/gogo.cc:2491
0x61707a Gogo::write_specific_type_functions()
    ../../gcc/go/gofrontend/gogo.cc:2467
0x6105cf go_parse_input_files(char const**, unsigned int, bool, bool)
    ../../gcc/go/gofrontend/go.cc:136
0x60c32f go_langhook_parse_file
    ../../gcc/go/go-lang.c:304

Note that this is a different stack as in #11554

gcc version 6.0.0 2015070 (experimental) (GCC)

This is the same as #11554: the relevant issue is that Gcc_backend::type_size failed with a large type.