blob: aa19da43a34e5903e8ab72814ad64bb93bdc0fee [file] [log] [blame]
Argyrios Kyrtzidis91d521d2012-02-09 18:31:19 +00001// Test this without pch.
2// RUN: %clang_cc1 -fsyntax-only -emit-llvm-only %s
3
4// Test with pch.
5// RUN: touch %t.empty.cpp
6// RUN: %clang_cc1 -emit-pch -o %t %s
7// RUN: %clang_cc1 -include-pch %t -emit-llvm-only %t.empty.cpp
8
9// rdar://10830559
10
Warren Huntb2969b12013-10-11 20:19:00 +000011//#pragma ms_struct on
Argyrios Kyrtzidis91d521d2012-02-09 18:31:19 +000012
13template< typename T >
14class Templated
15{
16public:
17 struct s;
18};
19
20
21class Foo
22{
23private:
24
25 class Bar
26 {
27 private:
28 class BarTypes { public: virtual void Func(); };
29 class BarImpl {};
30 friend class Foo;
31 };
32
33
34 friend class Templated< Bar::BarImpl >::s;
35};