[Bug c++/92536] New: [10 Regression] ICE when trying to using deduction guide following unknown type error
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Nov 15 19:38:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92536
Bug ID: 92536
Summary: [10 Regression] ICE when trying to using deduction
guide following unknown type error
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Keywords: error-recovery, ice-on-invalid-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: redi at gcc dot gnu.org
Target Milestone: ---
namespace std
{
struct stop_token { };
template<typename Callback>
struct stop_callback
{
template<typename C>
stop_callback(stop_token, C&&) { }
};
template<typename _Callback>
stop_callback(stop_token, _Callback) -> stop_callback<_Callback>;
}
int main()
{
std::stop_token tok;
std::function<void()> f([](){});
std::stop_callback cb(tok, f);
}
This crashes when compiled with -std=gnu++17
stop.cc: In function 'int main()':
stop.cc:19:8: error: 'function' is not a member of 'std'
19 | std::function<void()> f([](){});
| ^~~~~~~~
stop.cc:1:1: note: 'std::function' is defined in header '<functional>'; did you
forget to '#include <functional>'?
+++ |+#include <functional>
1 | namespace std
stop.cc:19:25: error: 'f' was not declared in this scope
19 | std::function<void()> f([](){});
| ^
stop.cc:20:31: error: class template argument deduction failed:
20 | std::stop_callback cb(tok, f);
| ^
stop.cc:20:31: internal compiler error: Segmentation fault
0xf80c3f crash_signal
/home/jwakely/src/gcc/gcc/gcc/toplev.c:328
0x85a1b5 add_candidates
/home/jwakely/src/gcc/gcc/gcc/cp/call.c:5772
0x85efbb add_candidates
/home/jwakely/src/gcc/gcc/gcc/cp/call.c:4453
0x85efbb perform_overload_resolution
/home/jwakely/src/gcc/gcc/gcc/cp/call.c:4461
0x8656a2 build_new_function_call(tree_node*, vec<tree_node*, va_gc,
vl_embed>**, int)
/home/jwakely/src/gcc/gcc/gcc/cp/call.c:4535
0x9c207f do_class_deduction
/home/jwakely/src/gcc/gcc/gcc/cp/pt.c:28071
0x9c207f do_auto_deduction(tree_node*, tree_node*, tree_node*, int,
auto_deduction_context, tree_node*, int)
/home/jwakely/src/gcc/gcc/gcc/cp/pt.c:28119
0x8eb86f cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
/home/jwakely/src/gcc/gcc/gcc/cp/decl.c:7383
0x996e7e cp_parser_init_declarator
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:20727
0x976d22 cp_parser_simple_declaration
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:13624
0x978ae9 cp_parser_declaration_statement
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:13055
0x979733 cp_parser_statement
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:11380
0x97a6b8 cp_parser_statement_seq_opt
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:11742
0x97a797 cp_parser_compound_statement
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:11696
0x993110 cp_parser_function_body
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:22866
0x993110 cp_parser_ctor_initializer_opt_and_function_body
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:22917
0x996466 cp_parser_function_definition_after_declarator
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:28586
0x997273 cp_parser_function_definition_from_specifiers_and_declarator
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:28502
0x997273 cp_parser_init_declarator
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:20495
0x976d22 cp_parser_simple_declaration
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:13624
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
More information about the Gcc-bugs
mailing list