From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24330 invoked by alias); 17 Feb 2014 20:59:26 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 24271 invoked by uid 48); 17 Feb 2014 20:59:22 -0000 From: "reichelt at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/60248] New: [4.7/4.8/4.9 Regression] ICE specializing variadic template Date: Mon, 17 Feb 2014 20:59:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 4.9.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: reichelt at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status keywords bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-02/txt/msg01737.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60248 Bug ID: 60248 Summary: [4.7/4.8/4.9 Regression] ICE specializing variadic template Product: gcc Version: 4.9.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 The following valid code snippet (compiled with "-std=c++11 -g") triggers an ICE since GCC 4.7.0: ==================================== template struct A {}; template<> struct A<0> { typedef enum { e } B; }; A<0> a; ==================================== bug.cc:3:19: internal compiler error: tree check: expected var_decl or function_decl, have type_decl in make_alias_for, at cp/method.c:230 template<> struct A<0> ^ 0xdbfcc4 tree_check_failed(tree_node const*, char const*, int, char const*, ...) ../../gcc/gcc/tree.c:9192 0x7118bf tree_check2 ../../gcc/gcc/tree.h:2728 0x7118bf make_alias_for(tree_node*, tree_node*) ../../gcc/gcc/cp/method.c:230 0x776e40 mangle_decl(tree_node*) ../../gcc/gcc/cp/mangle.c:3510 0xdc1e20 decl_assembler_name(tree_node*) ../../gcc/gcc/tree.c:600 0x8e105e add_linkage_attr ../../gcc/gcc/dwarf2out.c:16558 0x905de9 gen_typedef_die ../../gcc/gcc/dwarf2out.c:19593 0x8f1654 gen_typedef_die ../../gcc/gcc/dwarf2out.c:19544 0x8f1654 gen_decl_die ../../gcc/gcc/dwarf2out.c:20403 0x8f454c gen_type_die_with_usage ../../gcc/gcc/dwarf2out.c:19736 0x8f127c gen_decl_die ../../gcc/gcc/dwarf2out.c:20400 0x8f340c gen_member_die ../../gcc/gcc/dwarf2out.c:19400 0x8f340c gen_struct_or_union_type_die ../../gcc/gcc/dwarf2out.c:19486 0x8f340c gen_tagged_type_die ../../gcc/gcc/dwarf2out.c:19676 0x8f4c30 gen_type_die_with_usage ../../gcc/gcc/dwarf2out.c:19823 0x8f127c gen_decl_die ../../gcc/gcc/dwarf2out.c:20400 0xafc8d2 rest_of_type_compilation(tree_node*, int) ../../gcc/gcc/passes.c:283 0x675d73 finish_struct_1(tree_node*) ../../gcc/gcc/cp/class.c:6636 0x677574 finish_struct(tree_node*, tree_node*) ../../gcc/gcc/cp/class.c:6801 0x6a97ba cp_parser_class_specifier_1 ../../gcc/gcc/cp/parser.c:19218 Please submit a full bug report, [etc.]