[Bug c++/68429] New: [concepts] ICE in in placeholder_extract_concept_and_args, at cp/constraint.cc:1401
ryan.burn at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Nov 19 03:14:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68429
Bug ID: 68429
Summary: [concepts] ICE in in
placeholder_extract_concept_and_args, at
cp/constraint.cc:1401
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ryan.burn at gmail dot com
Target Milestone: ---
The below code causes this ICE:
bug.cpp: In function ‘int main()’:
bug.cpp:19:8: internal compiler error: in placeholder_extract_concept_and_args,
at cp/constraint.cc:1401
f(A());
^
0x83f181 placeholder_extract_concept_and_args(tree_node*, tree_node*&,
tree_node*&)
../../src/gcc/cp/constraint.cc:1399
0x83f6a1 hash_placeholder_constraint(tree_node*)
../../src/gcc/cp/constraint.cc:1472
0x65f310 auto_hash::hash(tree_node*)
../../src/gcc/cp/pt.c:23537
0x65f310 hash_table<auto_hash, xcallocator>::find_slot(tree_node* const&,
insert_option)
../../src/gcc/hash-table.h:408
0x65f310 extract_autos_r
../../src/gcc/cp/pt.c:23571
0x664590 for_each_template_parm_r
../../src/gcc/cp/pt.c:8791
0xfa01f2 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node*
(*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*,
hash_set<tree_node*, default_hash_traits<tree_node*> >*))
../../src/gcc/tree.c:11497
0x66409c for_each_template_parm
../../src/gcc/cp/pt.c:8889
0x6658c8 extract_autos
../../src/gcc/cp/pt.c:23599
0x6658c8 do_auto_deduction(tree_node*, tree_node*, tree_node*, int,
auto_deduction_context)
../../src/gcc/cp/pt.c:23690
0x840415 satisfy_argument_deduction_constraint
../../src/gcc/cp/constraint.cc:1903
0x840415 satisfy_constraint_1
../../src/gcc/cp/constraint.cc:2010
0x840493 satisfy_conjunction
../../src/gcc/cp/constraint.cc:1959
0x840493 satisfy_constraint_1
../../src/gcc/cp/constraint.cc:2019
0x83feed satisfy_parameterized_constraint
../../src/gcc/cp/constraint.cc:1941
0x83feed satisfy_constraint_1
../../src/gcc/cp/constraint.cc:2016
0x840886 satisfy_constraint
../../src/gcc/cp/constraint.cc:2049
0x8409ea constraints_satisfied_p(tree_node*)
../../src/gcc/cp/constraint.cc:2156
0x60865d add_function_candidate
../../src/gcc/cp/call.c:1994
0x609811 add_template_candidate_real
../../src/gcc/cp/call.c:3118
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
//////////////////////////////////////////////////////////////
template <class, class>
concept bool C1() {
return true;
}
template <class Expr>
concept bool C2() {
return requires(Expr expr, decltype(expr.identity) x) {
{ expr }
->C1<decltype(x)>;
};
}
void f(C2) {}
struct A {};
int main() {
f(A());
}
//////////////////////////////////////////////////////////////
More information about the Gcc-bugs
mailing list