37 lines · cpp
1// Test this without pch.2// RUN: %clang_cc1 -emit-llvm-only %s3 4// Test with pch.5// RUN: touch %t.empty.cpp6// RUN: %clang_cc1 -emit-pch -o %t %s7// RUN: %clang_cc1 -include-pch %t -emit-llvm-only %t.empty.cpp 8 9// RUN: %clang_cc1 -emit-pch -fpch-instantiate-templates -o %t %s10// RUN: %clang_cc1 -include-pch %t -emit-llvm-only %t.empty.cpp11 12//#pragma ms_struct on13 14template< typename T >15class Templated16{17public:18 struct s;19};20 21 22class Foo23{24private:25 26 class Bar27 {28 private:29 class BarTypes { public: virtual void Func(); }; 30 class BarImpl {};31 friend class Foo;32 };33 34 35 friend class Templated< Bar::BarImpl >::s;36};37