https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79368
Bug ID: 79368 Summary: [7 Regression] ICE with pointer to unnamed struct Product: gcc Version: 7.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: reichelt at gcc dot gnu.org Target Milestone: --- The following valid code snippet triggers an ICE on trunk: =========================================== typedef struct{}* X; template<typename T> void foo(X, T) {} void bar() { foo(0, 0); } =========================================== bug.cc: In instantiation of 'void foo(X, T) [with T = int]': bug.cc:3:27: required from here bug.cc:3:27: internal compiler error: in write_unnamed_type_name, at cp/mangle.c:1623 template<typename T> void foo(X, T) {} ^~~ 0x825126 write_unnamed_type_name ../../gcc/gcc/cp/mangle.c:1623 0x825126 write_unqualified_name ../../gcc/gcc/cp/mangle.c:1382 0x825bbf write_name ../../gcc/gcc/cp/mangle.c:939 0x826f7f write_class_enum_type ../../gcc/gcc/cp/mangle.c:2769 0x826f7f write_type ../../gcc/gcc/cp/mangle.c:2187 0x826186 write_type ../../gcc/gcc/cp/mangle.c:2267 0x828a24 write_method_parms ../../gcc/gcc/cp/mangle.c:2756 0x828c96 write_bare_function_type ../../gcc/gcc/cp/mangle.c:2698 0x828e12 write_encoding ../../gcc/gcc/cp/mangle.c:848 0x8303ac mangle_decl_string ../../gcc/gcc/cp/mangle.c:3743 0x830762 get_mangled_id ../../gcc/gcc/cp/mangle.c:3765 0x830762 mangle_decl(tree_node*) ../../gcc/gcc/cp/mangle.c:3835 0x103021e decl_assembler_name(tree_node*) ../../gcc/gcc/tree.c:671 0x1055fbd assign_assembler_name_if_neeeded(tree_node*) ../../gcc/gcc/tree.c:5920 0x997d8b cgraph_node::analyze() ../../gcc/gcc/cgraphunit.c:619 0x99afb9 analyze_functions ../../gcc/gcc/cgraphunit.c:1087 0x99c012 symbol_table::finalize_compilation_unit() ../../gcc/gcc/cgraphunit.c:2562 Please submit a full bug report, [etc.]