1 // Test this without pch.
2 // RUN: %clang_cc1 -include %s -fsyntax-only -verify %s
3 
4 // Test with pch.
5 // RUN: %clang_cc1 -emit-pch -o %t %s
6 // RUN: %clang_cc1 -include-pch %t -fsyntax-only -verify %s
7 
8 // expected-no-diagnostics
9 
10 #ifndef HEADER
11 #define HEADER
12 
13 // rdar://12627738
14 namespace rdar12627738 {
15 
16 class RecyclerTag {
17     template <typename T> friend class Recycler;
18 };
19 
20 }
21 
22 #else
23 
24 namespace rdar12627738 {
25 
26 template<typename TTag>
27 class CRN {
28     template <typename T> friend class Recycler;
29 };
30 
31 
32 template<typename T>
33 class Recycler {
34 public:
35     Recycler ();
36 };
37 
38 
39 template<typename T>
Recycler()40 Recycler<T>::Recycler ()
41 {
42 }
43 
44 }
45 
46 #endif
47