Argyrios Kyrtzidis | 91d521d | 2012-02-09 18:31:19 +0000 | [diff] [blame] | 1 | // 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 Hunt | b2969b1 | 2013-10-11 20:19:00 +0000 | [diff] [blame] | 11 | //#pragma ms_struct on |
Argyrios Kyrtzidis | 91d521d | 2012-02-09 18:31:19 +0000 | [diff] [blame] | 12 | |
| 13 | template< typename T > |
| 14 | class Templated |
| 15 | { |
| 16 | public: |
| 17 | struct s; |
| 18 | }; |
| 19 | |
| 20 | |
| 21 | class Foo |
| 22 | { |
| 23 | private: |
| 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 | }; |