aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp2a/concepts-pr65575.C
blob: 79e9472ef2f685a630a0a49938d1d5d7553a7988 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// PR c++/65575
// { dg-do compile { target c++17 } }
// { dg-additional-options "-fconcepts" }

template<typename T>
concept C = false;

int f1() requires false;  // { dg-error "constraints on a non-templated function" }
int& f2() requires false; // { dg-error "constraints on a non-templated function" }
int* f3() requires false; // { dg-error "constraints on a non-templated function" }
auto f4() -> int& requires false; // { dg-error "constraints on a non-templated function" }
auto f5() -> int* requires false; // { dg-error "constraints on a non-templated function" }
auto f6() -> int requires false;  // { dg-error "constraints on a non-templated function" }

int (*p1)() requires true; // { dg-error "" }
int (&p2)() requires true; // { dg-error "" }
int g(int (*)() requires true); // { dg-error "" }

int
main()
{
  f1();
}