https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97177
Bug ID: 97177 Summary: [11 Regression] ICE in dependent_type_p, at cp/pt.c:26475 Product: gcc Version: 11.0 Status: UNCONFIRMED Keywords: 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: --- g++-11.0.0-alpha20200920 snapshot (g:363e7755f227656684c8e284307ceee451503ca4) ICEs when compiling the following testcase, reduced from test/CXX/dcl.decl/dcl.meaning/dcl.array/p3.cpp from the clang 10.0.1 test suite: namespace { template <typename WF> void ml () { extern WF cr; static_assert (sizeof (cr) == 12, ""); } void qc () { ml<int[3]> (); } } % g++-11.0.0 -c zzrm4j0q.cpp zzrm4j0q.cpp: In instantiation of 'void {anonymous}::ml() [with WF = int [3]]': zzrm4j0q.cpp:15:17: required from here zzrm4j0q.cpp:9:20: internal compiler error: in dependent_type_p, at cp/pt.c:26475 9 | static_assert (sizeof (cr) == 12, ""); | ^~~~~~~~~~~ 0x670229 dependent_type_p(tree_node*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:26475 0xa9a66f cxx_sizeof_or_alignof_type(unsigned int, tree_node*, tree_code, bool, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/typeck.c:1713 0xa186dd tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:19668 0xa181b3 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:19579 0xa2386f tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:18889 0xa25d8d tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:18446 0xa25fa1 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:17961 0xa24f2e tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:18281 0xa2c70f tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:17946 0xa2c70f instantiate_body /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:25577 0xa2d88f instantiate_decl(tree_node*, bool, bool) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:25865 0xa4ff9b instantiate_pending_templates(int) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/pt.c:25944 0x95175b c_parse_final_cleanups() /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200920/work/gcc-11-20200920/gcc/cp/decl2.c:4920