https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95844
Bug ID: 95844 Summary: [11 Regression] ICE: Segmentation fault (in cp_warn_deprecated_use) 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: --- gcc-11.0.0-alpha20200621 snapshot (g:47ddb895df311e546a6f54345e18b8749ac50324) ICEs when compiling the following testcase, extracted from test/CXX/class/class.compare/class.compare.default/p4.cpp from the clang 10.0.0 test suite, w/ -std=c++20 -Wdeprecated-copy: namespace std { struct strong_ordering { }; } struct F { [[deprecated("oh no")]] std::strong_ordering operator<=>(const F&) const = default; }; void use_f(F f) { void(f == f); } % g++-11.0.0 -std=c++20 -Wdeprecated-copy -c uwfljn63.cpp uwfljn63.cpp: In function 'void use_f(F)': uwfljn63.cpp:10:13: internal compiler error: Segmentation fault 10 | void(f == f); | ^ 0x100872f crash_signal /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/toplev.c:328 0x9277f3 cp_warn_deprecated_use(tree_node*, int) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/decl2.c:5426 0x92fb8e cp_warn_deprecated_use(tree_node*, int) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/decl2.c:5393 0x92fb8e mark_used(tree_node*, int) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/decl2.c:5547 0x880abb build_over_call /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/call.c:9064 0x888553 build_new_op_1 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/call.c:6341 0x888d6d build_new_op(op_location_t const&, tree_code, int, tree_node*, tree_node*, tree_node*, tree_node**, int) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/call.c:6605 0xa75a0d build_x_binary_op(op_location_t const&, tree_code, tree_node*, tree_code, tree_node*, tree_code, tree_node**, int) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/typeck.c:4280 0x99bf34 cp_parser_binary_expression /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/parser.c:9777 0x99da2e cp_parser_assignment_expression /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/parser.c:9914 0x9a09a0 cp_parser_parenthesized_expression_list /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/parser.c:8031 0x9a11f0 cp_parser_functional_cast /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/parser.c:29643 0x9b9d44 cp_parser_postfix_expression /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/parser.c:7219 0x99bd79 cp_parser_binary_expression /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/parser.c:9609 0x99da2e cp_parser_assignment_expression /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/parser.c:9914 0x99ddf3 cp_parser_expression /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/parser.c:10082 0x9a0da8 cp_parser_expression_statement /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/parser.c:11742 0x9ac443 cp_parser_statement /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/parser.c:11538 0x9adcf8 cp_parser_statement_seq_opt /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/parser.c:11889 0x9addd8 cp_parser_compound_statement /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200621/work/gcc-11-20200621/gcc/cp/parser.c:11839