https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68679
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2015-12-03 CC| |msebor at gcc dot gnu.org Ever confirmed|0 |1 Known to fail| |5.1.0, 5.2.1, 6.0 --- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> --- Confirmed with both 5.1.0 and recent trunk. The stack trace is below. The crash is in the tree check in the statement below: orig_visibility_specified = DECL_VISIBILITY_SPECIFIED (decl); with the decl being: <template_decl 0x7ffff09d9400 operator[] type <method_type 0x7ffff09dd348 type <integer_type 0x7ffff09d5000 u32 unsigned type_6 SI size <integer_cst 0x7ffff089c0a8 constant 32> unit size <integer_cst 0x7ffff089c0c0 constant 4> align 32 symtab 0 alias set -1 canonical type 0x7ffff087e888 precision 32 min <integer_cst 0x7ffff089c0d8 0> max <integer_cst 0x7ffff089c090 4294967295> pointer_to_this <pointer_type 0x7ffff09d5888>> type_0 type_6 QI size <integer_cst 0x7ffff087af48 constant 8> unit size <integer_cst 0x7ffff087af60 constant 1> align 8 symtab 0 alias set -1 canonical type 0x7ffff09dd498 method basetype <record_type 0x7ffff09dba80 ._4> arg-types <tree_list 0x7ffff09d8668 value <pointer_type 0x7ffff09dd3f0> chain <tree_list 0x7ffff09d8618 value <template_type_parm 0x7ffff09dd000 IDX> chain <tree_list 0x7ffff088ec80 value <void_type 0x7ffff08a0150 void>>>>> public ignored decl_1 VOID file /build/tmp/c.cpp line 18 col 34 align 1 context <record_type 0x7ffff09dba80 ._4> full-name "template<class IDX> u32 Hdr::<anonymous union>::<anonymous struct>::operator[](IDX) const" > $ /build/gcc-trunk-svn/gcc/xgcc -B /build/gcc-trunk-svn/gcc -S -Wall -o/dev/tty c.cpp .file "c.cpp" c.cpp:34:3: internal compiler error: tree check: expected tree that contains ‘decl with visibility’ structure, have ‘template_decl’ in determine_visibility, at cp/decl2.c:2281 } Hdr; ^~~ 0x13203d5 tree_contains_struct_check_failed(tree_node const*, tree_node_structure_enum, char const*, int, char const*) /home/msebor/scm/fsf/gcc-svn/gcc/tree.c:9778 0x72ba12 contains_struct_check(tree_node*, tree_node_structure_enum, char const*, int, char const*) /home/msebor/scm/fsf/gcc-svn/gcc/tree.h:3106 0x863d77 determine_visibility(tree_node*) /home/msebor/scm/fsf/gcc-svn/gcc/cp/decl2.c:2281 0x86689a reset_decl_linkage /home/msebor/scm/fsf/gcc-svn/gcc/cp/decl2.c:2655 0x866bda reset_type_linkage_2 /home/msebor/scm/fsf/gcc-svn/gcc/cp/decl2.c:2683 0x866ec0 bt_reset_linkage_2 /home/msebor/scm/fsf/gcc-svn/gcc/cp/decl2.c:2695 0x9abe2e binding_table_foreach(binding_table_s*, void (*)(binding_entry_s*, void*), void*) /home/msebor/scm/fsf/gcc-svn/gcc/cp/name-lookup.c:258 0x866e9a reset_type_linkage_2 /home/msebor/scm/fsf/gcc-svn/gcc/cp/decl2.c:2689 0x866ec0 bt_reset_linkage_2 /home/msebor/scm/fsf/gcc-svn/gcc/cp/decl2.c:2695 0x9abe2e binding_table_foreach(binding_table_s*, void (*)(binding_entry_s*, void*), void*) /home/msebor/scm/fsf/gcc-svn/gcc/cp/name-lookup.c:258 0x866e9a reset_type_linkage_2 /home/msebor/scm/fsf/gcc-svn/gcc/cp/decl2.c:2689 0x866ee6 reset_type_linkage(tree_node*) /home/msebor/scm/fsf/gcc-svn/gcc/cp/decl2.c:2701 0x77ec81 grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*, decl_context, int, tree_node**) /home/msebor/scm/fsf/gcc-svn/gcc/cp/decl.c:10700 0x76a90d start_decl(cp_declarator const*, cp_decl_specifier_seq*, int, tree_node*, tree_node*, tree_node**) /home/msebor/scm/fsf/gcc-svn/gcc/cp/decl.c:4788 0x8a4707 cp_parser_init_declarator /home/msebor/scm/fsf/gcc-svn/gcc/cp/parser.c:18070 0x89a8d4 cp_parser_simple_declaration /home/msebor/scm/fsf/gcc-svn/gcc/cp/parser.c:11980 0x89a6a6 cp_parser_block_declaration /home/msebor/scm/fsf/gcc-svn/gcc/cp/parser.c:11854 0x89a429 cp_parser_declaration /home/msebor/scm/fsf/gcc-svn/gcc/cp/parser.c:11751 0x899f5c cp_parser_declaration_seq_opt /home/msebor/scm/fsf/gcc-svn/gcc/cp/parser.c:11630 0x88cbc0 cp_parser_translation_unit /home/msebor/scm/fsf/gcc-svn/gcc/cp/parser.c:4189 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.