http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58216
Bug ID: 58216 Summary: ICE: in gen_type_die_with_usage, at dwarf2out.c:19484 Product: gcc Version: 4.8.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: i.nixman at gmail dot com When compiled this code with '-g': template< typename A, typename B > struct bijection { auto size() const { return 0; } // error // auto size() const -> int { return 0; } // ok }; int main() { bijection<int, int> m; } I get the error: $> g++ -std=c++11 -g bimap.cpp -obimap bimap.cpp:4:14: warning: 'size' function uses 'auto' type specifier without trailing return type [enabled by default] auto size() const { return 0; } // error ^ bimap.cpp: In instantiation of 'struct bijection<int, int>': bimap.cpp:9:22: required from here bimap.cpp:3:8: internal compiler error: in gen_type_die_with_usage, at dwarf2out.c:19484 struct bijection { ^ 0x705fe1 gen_type_die_with_usage ../../gcc-4.8.1/gcc/dwarf2out.c:19484 0x7086e7 gen_decl_die ../../gcc-4.8.1/gcc/dwarf2out.c:19978 0x707305 gen_member_die ../../gcc-4.8.1/gcc/dwarf2out.c:19045 0x707305 gen_struct_or_union_type_die ../../gcc-4.8.1/gcc/dwarf2out.c:19117 0x707305 gen_tagged_type_die ../../gcc-4.8.1/gcc/dwarf2out.c:19307 0x707305 gen_tagged_type_die ../../gcc-4.8.1/gcc/dwarf2out.c:19250 0x706148 gen_type_die_with_usage ../../gcc-4.8.1/gcc/dwarf2out.c:19454 0x708307 gen_decl_die ../../gcc-4.8.1/gcc/dwarf2out.c:20017 0x85947b rest_of_type_compilation(tree_node*, int) ../../gcc-4.8.1/gcc/passes.c:215 0x57af7d finish_struct_1(tree_node*) ../../gcc-4.8.1/gcc/cp/class.c:6401 0x56ae90 instantiate_class_template_1 ../../gcc-4.8.1/gcc/cp/pt.c:9043 0x56ae90 instantiate_class_template(tree_node*) ../../gcc-4.8.1/gcc/cp/pt.c:9083 0x5b995d complete_type(tree_node*) ../../gcc-4.8.1/gcc/cp/typeck.c:131 0x538799 start_decl_1(tree_node*, bool) ../../gcc-4.8.1/gcc/cp/decl.c:4667 0x546c0f start_decl(cp_declarator const*, cp_decl_specifier_seq*, int, tree_node*, tree_node*, tree_node**) ../../gcc-4.8.1/gcc/cp/decl.c:4630 0x5ab9ac cp_parser_init_declarator ../../gcc-4.8.1/gcc/cp/parser.c:16018 0x5ac2da cp_parser_simple_declaration ../../gcc-4.8.1/gcc/cp/parser.c:10670 0x5b0f47 cp_parser_block_declaration ../../gcc-4.8.1/gcc/cp/parser.c:10551 0x5b0f47 cp_parser_block_declaration ../../gcc-4.8.1/gcc/cp/parser.c:10477 0x5b1fa0 cp_parser_declaration_statement ../../gcc-4.8.1/gcc/cp/parser.c:10195 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. GCC used: Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-linux-gnu/4.8.1/lto-wrapper Target: x86_64-linux-gnu Configured with: ../gcc-4.8.1/configure --enable-languages=c,c++ --enable-shared --enable-static --without-included-gettext --enable-threads=posix --disable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --with-system-zlib --with-cloog --enable-cloog-backend=ppl --disable-cloog-version-check --disable-ppl-version-check --enable-multiarch --disable-werror --with-api=m64 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --disable-bootstrap Thread model: posix gcc version 4.8.1 (GCC) Perhaps this bug is the same as: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53756