https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88853

            Bug ID: 88853
           Summary: ICE: verify_type failed (error: type variant differs
                    by TYPE_PACKED)
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Keywords: ice-checking, ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---

Created attachment 45433
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45433&action=edit
Testcase

g++-9.0.0-alpha20190113 snapshot (r267906), 8.2, 7.4, 6.3 all ICE when
compiling the attached snippet reduced from gcc/testsuite/g++.dg/ext/pr85503.C
w/ -fpack-struct -g:

% g++-9.0.0-alpha20190113 -fpack-struct -g -c jxdgvov9.cc
jxdgvov9.cc: In instantiation of 'class yp<fd<double, 0> >':
jxdgvov9.cc:15:7:   required from 'class n1<fd<double, 0> >'
jxdgvov9.cc:21:7:   required from 'class c4<fd<double, 0> >'
jxdgvov9.cc:33:7:   required from 'class hb<fd<double, 0> >'
jxdgvov9.cc:45:7:   required from 'class fd<double, 0>'
jxdgvov9.cc:52:7:   required from 'class dh<dh<fd<double, 0> > >'
jxdgvov9.cc:17:22:   required from 'class n1<dh<fd<double, 0> > >'
jxdgvov9.cc:57:19:   required from here
jxdgvov9.cc:26:7: error: type variant differs by TYPE_PACKED
   26 | class yp
      |       ^~
 <record_type 0x7fefa98a3e70 fd packed type_5 type_6 VOID
    align:8 warn_if_not_align:0 symtab:-1451847200 alias-set -1 canonical-type
0x7fefa98a3e70 context <translation_unit_decl 0x7fefa975a168 jxdgvov9.cc>
    full-name "class fd<double, 0>"
    no-binfo use_template=1 interface-unknown
    chain <type_decl 0x7fefa986fb48 fd>>
 <record_type 0x7fefa98a3f18 fd readonly type_5 VOID
    align:8 warn_if_not_align:0 symtab:-1451847120 alias-set -1 canonical-type
0x7fefa98a3f18 context <translation_unit_decl 0x7fefa975a168 jxdgvov9.cc>
    full-name "const class fd<double, 0>"
    no-binfo use_template=1 interface-unknown>
jxdgvov9.cc:26:7: internal compiler error: verify_type failed
0x127580b verify_type(tree_node const*)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/tree.c:14555
0xc022f4 gen_type_die_with_usage
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/dwarf2out.c:25449
0xc040e6 gen_type_die
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/dwarf2out.c:25679
0xc1f343 gen_decl_die
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/dwarf2out.c:26272
0xc227e3 gen_member_die
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/dwarf2out.c:25133
0xc227e3 gen_struct_or_union_type_die
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/dwarf2out.c:25229
0xc1d954 gen_tagged_type_die
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/dwarf2out.c:25430
0xc02845 gen_type_die_with_usage
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/dwarf2out.c:25625
0xc040e6 gen_type_die
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/dwarf2out.c:25679
0xc1e740 gen_decl_die
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/dwarf2out.c:26311
0xc1f9e6 dwarf2out_decl
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/dwarf2out.c:26856
0xc1feb8 dwarf2out_type_decl
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/dwarf2out.c:26583
0xc1feb8 dwarf2out_type_decl
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/dwarf2out.c:26578
0xebfb98 rest_of_type_compilation(tree_node*, int)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/passes.c:339
0x8bad7c finish_struct_1(tree_node*)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/cp/class.c:7055
0xa0f5d3 instantiate_class_template_1
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/cp/pt.c:11397
0xa0f5d3 instantiate_class_template(tree_node*)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/cp/pt.c:11436
0xa565fd complete_type(tree_node*)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/cp/typeck.c:138
0xa5673b complete_type(tree_node*)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/cp/typeck.c:119
0xa5673b complete_type_or_maybe_complain(tree_node*, tree_node*, int)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190113/work/gcc-9-20190113/gcc/cp/typeck.c:150

Reply via email to