annotate gcc/testsuite/g++.old-deja/g++.ns/koenig5.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // { dg-do assemble }
kono
parents:
diff changeset
2 // Function pointers are ignored in Koenig lookup. (DR 218)
kono
parents:
diff changeset
3 namespace A{
kono
parents:
diff changeset
4 void foo();
kono
parents:
diff changeset
5 struct X{};
kono
parents:
diff changeset
6 void (*bar)(X*)=0; // { dg-message "A::bar" }
kono
parents:
diff changeset
7 }
kono
parents:
diff changeset
8 using A::X;
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 void (*foo)(X*)=0;
kono
parents:
diff changeset
11
kono
parents:
diff changeset
12 void g()
kono
parents:
diff changeset
13 {
kono
parents:
diff changeset
14 foo(new X); // ok -- DR 218 says that we find the global
kono
parents:
diff changeset
15 // foo variable first, and therefore do not
kono
parents:
diff changeset
16 // perform argument-dependent lookup.
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 111
diff changeset
17 bar(new X); // { dg-error "3:'bar' was not declared in this scope; did you mean 'A::bar'" }
111
kono
parents:
diff changeset
18 }