diff options
author | Patrick Palka <ppalka@redhat.com> | 2020-08-10 09:33:17 -0400 |
---|---|---|
committer | Giuliano Belinassi <giuliano.belinassi@usp.br> | 2020-08-17 15:07:55 -0300 |
commit | 53cf2ed28ca11ff19b73ab73065e20c9d3c47861 (patch) | |
tree | 0761560870d8ebbcc74d5133034c7e34fed883b0 /gcc/cp/constexpr.c | |
parent | 044d08438c72773a0a5a6dc5768063661c4795c7 (diff) | |
download | gcc-53cf2ed28ca11ff19b73ab73065e20c9d3c47861.zip gcc-53cf2ed28ca11ff19b73ab73065e20c9d3c47861.tar.gz gcc-53cf2ed28ca11ff19b73ab73065e20c9d3c47861.tar.bz2 |
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.
Diffstat (limited to 'gcc/cp/constexpr.c')
0 files changed, 0 insertions, 0 deletions