ipa-cp: Perform operations in the appropriate types (PR 118097)
[gcc.git] / gcc / testsuite / g++.dg / concepts / diagnostic2.C
blobd6f5872de2cf1740ec199683619ee5b055e63134
1 // { dg-do compile { target c++2a } }
2 // { dg-options "-fdiagnostics-show-caret" }
4 template<typename T>
5   inline constexpr bool foo_v = false;
7 template<typename T>
8   concept foo = foo_v<T> || foo_v<T&>; // { dg-message "no operand" }
9 /* { dg-begin-multiline-output "" }
10    concept foo = foo_v<T> || foo_v<T&>;
11                  ~~~~~~~~~^~~~~~~~~~~~
12    { dg-end-multiline-output "" } */
14 template<typename T>
15   requires foo<T>
16   void bar();
17 /* { dg-begin-multiline-output "" }
18    void bar();
19    { dg-end-multiline-output "" } */
20 /* { dg-prune-output "~" } */
22 void
23 baz()
25   bar<int>(); // { dg-error "no match" }
26 /* { dg-begin-multiline-output "for no match error" }
27    bar<int>();
28    ~~~~~~~~^~
29    { dg-end-multiline-output "" } */
30 /* { dg-begin-multiline-output "for required from here message" }
31    bar<int>();
32    ~~~~~~~~^~
33    { dg-end-multiline-output "" } */