xref: /llvm-project/clang/test/ASTMerge/namespace/Inputs/namespace1.cpp (revision 0333dd95636da52229ca14b4e5525c1cd8ba62d2)
1*0333dd95SReid Kleckner // Merge success
2*0333dd95SReid Kleckner namespace N1 {
3*0333dd95SReid Kleckner   int x;
4*0333dd95SReid Kleckner }
5*0333dd95SReid Kleckner 
6*0333dd95SReid Kleckner // Merge multiple namespaces
7*0333dd95SReid Kleckner namespace N2 {
8*0333dd95SReid Kleckner   extern int x;
9*0333dd95SReid Kleckner }
10*0333dd95SReid Kleckner namespace N2 {
11*0333dd95SReid Kleckner   extern float y;
12*0333dd95SReid Kleckner }
13*0333dd95SReid Kleckner 
14*0333dd95SReid Kleckner // Merge namespace with conflict
15*0333dd95SReid Kleckner namespace N3 {
16*0333dd95SReid Kleckner   extern float z;
17*0333dd95SReid Kleckner }
18*0333dd95SReid Kleckner 
19*0333dd95SReid Kleckner namespace AliasWithSameName = N3;
20*0333dd95SReid Kleckner 
21*0333dd95SReid Kleckner namespace TestUnresolvedTypenameAndValueDecls {
22*0333dd95SReid Kleckner template <class T> class Base {
23*0333dd95SReid Kleckner public:
24*0333dd95SReid Kleckner   typedef T foo;
25*0333dd95SReid Kleckner   void bar();
26*0333dd95SReid Kleckner };
27*0333dd95SReid Kleckner }
28