-
- Downloads
c++: constraints and address of template-id
When resolving the address of a template-id, we need to drop functions whose associated constraints are not satisfied, as per [over.over]. We do so in resolve_address_of_overloaded_function, but not in resolve_overloaded_unification or resolve_nondeduced_context, which seems like an oversight. gcc/cp/ChangeLog: * pt.c (resolve_overloaded_unification): Drop functions with unsatisfied constraints. (resolve_nondeduced_context): Likewise. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/concepts-fn5.C: New test. * g++.dg/concepts/fn8.C: Generalize dg-error directive to accept "no matching function ..." diagnostic. * g++.dg/cpp2a/concepts-fn1.C: Likewise. * g++.dg/cpp2a/concepts-ts2.C: Likewise. * g++.dg/cpp2a/concepts-ts3.C: Likewise.
Showing
- gcc/cp/pt.c 4 additions, 1 deletiongcc/cp/pt.c
- gcc/testsuite/g++.dg/concepts/fn8.C 1 addition, 1 deletiongcc/testsuite/g++.dg/concepts/fn8.C
- gcc/testsuite/g++.dg/cpp2a/concepts-fn1.C 1 addition, 1 deletiongcc/testsuite/g++.dg/cpp2a/concepts-fn1.C
- gcc/testsuite/g++.dg/cpp2a/concepts-fn5.C 17 additions, 0 deletionsgcc/testsuite/g++.dg/cpp2a/concepts-fn5.C
- gcc/testsuite/g++.dg/cpp2a/concepts-ts2.C 1 addition, 1 deletiongcc/testsuite/g++.dg/cpp2a/concepts-ts2.C
- gcc/testsuite/g++.dg/cpp2a/concepts-ts3.C 1 addition, 1 deletiongcc/testsuite/g++.dg/cpp2a/concepts-ts3.C
Loading
Please register or sign in to comment