aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/overload/builtin5.C
blob: a30251dc79dcd5a4f47749a12fb79dd09ed4fcb0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// { dg-do compile { target c++17 } }
// Don't add built-in operator for ++ on bool.

template<typename T>
struct S { operator T&(); };

template<int> void
foo (S<bool>& s)
{
  --s; // { dg-error "no match for" }
  ++s; // { dg-error "no match for" }
  s++; // { dg-error "declared for postfix" }
  s--; // { dg-error "declared for postfix" }
}

void
bar ()
{
  S<bool> s;
  foo<0> (s);
}