PR 68477 observes that gccgo crashes when using -flto1 because a type variant has TYPE_STRING_FLAG set. So, don't do that. TYPE_STRING_FLAG doesn't really do anything, as far as I can tell, since all the relevant tests in dwarf2out.c also test isfortran(). But, it seems like the right thing to do. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline.
Ian 2015-11-30 Ian Lance Taylor <i...@google.com> PR go/68477 * go-gcc.cc (Gcc_backend::string_constant_expression): Don't set TYPE_STRING_FLAG on a variant type.
Index: gcc/go/go-gcc.cc =================================================================== --- gcc/go/go-gcc.cc (revision 230759) +++ gcc/go/go-gcc.cc (working copy) @@ -1279,7 +1279,6 @@ Gcc_backend::string_constant_expression( tree const_char_type = build_qualified_type(unsigned_char_type_node, TYPE_QUAL_CONST); tree string_type = build_array_type(const_char_type, index_type); - string_type = build_variant_type_copy(string_type); TYPE_STRING_FLAG(string_type) = 1; tree string_val = build_string(val.length(), val.data()); TREE_TYPE(string_val) = string_type;