annotate gcc/testsuite/g++.dg/overload/builtin5.C @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
152
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
1 // { dg-do compile { target c++17 } }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
2 // Don't add built-in operator for ++ on bool.
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
3
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
4 template<typename T>
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
5 struct S { operator T&(); };
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
6
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
7 template<int> void
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
8 foo (S<bool>& s)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
9 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
10 --s; // { dg-error "no match for" }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
11 ++s; // { dg-error "no match for" }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
12 s++; // { dg-error "declared for postfix" }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
13 s--; // { dg-error "declared for postfix" }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
14 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
15
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
16 void
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
17 bar ()
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
18 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
19 S<bool> s;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
20 foo<0> (s);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
21 }