[libc++][NFC] Remove trailing whitespace from release notes
[llvm-project.git] / clang / test / CXX / basic / basic.lookup / basic.lookup.unqual / p7.cpp
blob9632fda296aa1719d6415394266f99b5920753aa
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
3 // PR5741
4 namespace test0 {
5 struct A {
6 struct B { };
7 struct C;
8 };
10 struct A::C : B { };
13 // Test that successive base specifiers don't screw with each other.
14 namespace test1 {
15 struct Opaque1 {};
16 struct Opaque2 {};
18 struct A {
19 struct B { B(Opaque1); };
21 struct B {
22 B(Opaque2);
25 struct C : A, B {
26 // Apparently the base-or-member lookup is actually ambiguous
27 // without this qualification.
28 C() : A(), test1::B(Opaque2()) {}
32 // Test that we don't find the injected class name when parsing base
33 // specifiers.
34 namespace test2 {
35 template <class T> struct bar {};
36 template <class T> struct foo : bar<foo> {}; // expected-error {{use of class template 'foo' requires template arguments}} expected-note {{template is declared here}}