Catch missed uses of function with unsatisfied constraints.
authorJason Merrill <jason@redhat.com>
Tue, 5 Nov 2019 20:36:09 +0000 (15:36 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Tue, 5 Nov 2019 20:36:09 +0000 (15:36 -0500)
commit8aa76bb74696d0987e04a82ebcbc44f745ce788d
tree51e7fd2a980daeb3ea6a34cfb89b37137299cce2
parent0df65305ff678bd1ad5305e69e3d73e43f0f34f0
Catch missed uses of function with unsatisfied constraints.

While looking at CA378 I noticed that we weren't properly diagnosing two of
the three erroneous lines in the example.

* decl2.c (mark_used): Diagnose use of a function with unsatisfied
constraints here.
* typeck.c (cp_build_function_call_vec): Not here.

From-SVN: r277860
39 files changed:
gcc/cp/ChangeLog
gcc/cp/decl2.c
gcc/cp/typeck.c
gcc/testsuite/g++.dg/concepts/dr1430.C
gcc/testsuite/g++.dg/concepts/expression2.C
gcc/testsuite/g++.dg/concepts/fn2.C
gcc/testsuite/g++.dg/concepts/fn5.C
gcc/testsuite/g++.dg/concepts/fn8.C
gcc/testsuite/g++.dg/concepts/placeholder5.C
gcc/testsuite/g++.dg/concepts/template-parm11.C
gcc/testsuite/g++.dg/concepts/var-concept2.C
gcc/testsuite/g++.dg/cpp2a/concepts-dr1430.C
gcc/testsuite/g++.dg/cpp2a/concepts-fn1.C
gcc/testsuite/g++.dg/cpp2a/concepts-fn3.C
gcc/testsuite/g++.dg/cpp2a/concepts-fn4.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp2a/concepts-friend1.C
gcc/testsuite/g++.dg/cpp2a/concepts-noexcept1.C
gcc/testsuite/g++.dg/cpp2a/concepts-p1141.C
gcc/testsuite/g++.dg/cpp2a/concepts-pr65575.C
gcc/testsuite/g++.dg/cpp2a/concepts-pr65854.C
gcc/testsuite/g++.dg/cpp2a/concepts-pr66844.C
gcc/testsuite/g++.dg/cpp2a/concepts-pr67070.C
gcc/testsuite/g++.dg/cpp2a/concepts-pr67178.C
gcc/testsuite/g++.dg/cpp2a/concepts-pr67225-1.C
gcc/testsuite/g++.dg/cpp2a/concepts-pr68093-1.C
gcc/testsuite/g++.dg/cpp2a/concepts-requires1.C
gcc/testsuite/g++.dg/cpp2a/concepts-requires15.C
gcc/testsuite/g++.dg/cpp2a/concepts-requires16.C
gcc/testsuite/g++.dg/cpp2a/concepts-requires2.C
gcc/testsuite/g++.dg/cpp2a/concepts-requires6.C
gcc/testsuite/g++.dg/cpp2a/concepts-requires8.C
gcc/testsuite/g++.dg/cpp2a/concepts-traits1.C
gcc/testsuite/g++.dg/cpp2a/concepts-traits2.C
gcc/testsuite/g++.dg/cpp2a/concepts-ts1.C
gcc/testsuite/g++.dg/cpp2a/concepts-ts2.C
gcc/testsuite/g++.dg/cpp2a/concepts-ts3.C
gcc/testsuite/g++.dg/cpp2a/concepts-ts4.C
gcc/testsuite/g++.dg/cpp2a/concepts1.C
gcc/testsuite/g++.dg/cpp2a/concepts3.C