[Bug c++/107150] New: ICE: tree check: expected function_type or method_type, have lang_type in deduce_noexcept_on_destructor, at cp/class.cc:5183
asolokha at gmx dot com
gcc-bugzilla@gcc.gnu.org
Tue Oct 4 10:50:09 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107150
Bug ID: 107150
Summary: ICE: tree check: expected function_type or
method_type, have lang_type in
deduce_noexcept_on_destructor, at cp/class.cc:5183
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Keywords: ice-on-invalid-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: asolokha at gmx dot com
Target Milestone: ---
g++ 13.0.0 20220925 snapshot (g:77bbf69d2981dafc2ef3e59bfbefb645d88bab9d) ICEs
when compiling the following testcase, reduced from
clang/testsuite/CXX/class/class.dtor/p4.cpp from the clang 15.0.1 test suite:
template <int N>
struct D {
~D() requires(N != 0) = delete;
~D() requires(N == 1) = delete;
};
template struct D<0>;
% g++-13.0.0 -fconcepts -c ghba8ll9.cpp
ghba8ll9.cpp: In instantiation of 'struct D<0>':
ghba8ll9.cpp:7:17: required from here
ghba8ll9.cpp:2:8: internal compiler error: tree check: expected function_type
or method_type, have lang_type in deduce_noexcept_on_destructor, at
cp/class.cc:5183
2 | struct D {
| ^
0x891780 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/tree.cc:8827
0x690b3a tree_check2(tree_node*, char const*, int, char const*, tree_code,
tree_code)
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/tree.h:3539
0x690b3a deduce_noexcept_on_destructor(tree_node*)
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/cp/class.cc:5183
0x99d6c9 check_bases_and_members
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/cp/class.cc:6045
0x9a150b finish_struct_1(tree_node*)
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/cp/class.cc:7492
0xb8ead0 instantiate_class_template(tree_node*)
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/cp/pt.cc:12468
0xbe5c28 complete_type(tree_node*)
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/cp/typeck.cc:138
0xb850ca do_type_instantiation(tree_node*, tree_node*, int)
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/cp/pt.cc:26074
0xb1ea7f cp_parser_explicit_instantiation
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/cp/parser.cc:19262
0xb308ac cp_parser_declaration
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/cp/parser.cc:15075
0xb31509 cp_parser_toplevel_declaration
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/cp/parser.cc:15130
0xb31509 cp_parser_translation_unit
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/cp/parser.cc:5068
0xb31509 c_parse_file()
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/cp/parser.cc:48606
0xc6e3a1 c_common_parse_file()
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/c-family/c-opts.cc:1255
g++ 12 and earlier releases ICE with a splat identical to the one reported in
PR96745. I'm not sure if this PR is a duplicate of that earlier one.
More information about the Gcc-bugs
mailing list