annotate gcc/testsuite/g++.old-deja/g++.ns/koenig5.C @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 1830386684a0
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.
kono
parents:
diff changeset
17 bar(new X); // { dg-error "3:'bar' was not declared" }
kono
parents:
diff changeset
18 // { dg-message "suggested alternative" "suggested alternative" { target *-*-* } .-1 }
kono
parents:
diff changeset
19 }