diff options
Diffstat (limited to 'clang/test/PCH')
-rw-r--r-- | clang/test/PCH/Inputs/namespaces.h | 27 | ||||
-rw-r--r-- | clang/test/PCH/namespaces.cpp | 29 |
2 files changed, 56 insertions, 0 deletions
diff --git a/clang/test/PCH/Inputs/namespaces.h b/clang/test/PCH/Inputs/namespaces.h index 1bab7463fbb..553aadd1f9e 100644 --- a/clang/test/PCH/Inputs/namespaces.h +++ b/clang/test/PCH/Inputs/namespaces.h @@ -6,8 +6,35 @@ namespace N1 { namespace N1 { typedef int t2; + + void used_func(); + + struct used_cls { }; } namespace N2 { typedef float t1; + + namespace Inner { + typedef int t3; + }; +} + +namespace { + void anon() { } + class C; +} + +namespace N3 { + namespace { + class C; + } +} + +namespace Alias1 = N2::Inner; + +using namespace N2::Inner; + +extern "C" { + void ext(); } diff --git a/clang/test/PCH/namespaces.cpp b/clang/test/PCH/namespaces.cpp index eef9e06e546..532d627fadc 100644 --- a/clang/test/PCH/namespaces.cpp +++ b/clang/test/PCH/namespaces.cpp @@ -8,7 +8,36 @@ int int_val; N1::t1 *ip1 = &int_val; N1::t2 *ip2 = &int_val; +N2::Inner::t3 *ip3 = &int_val; float float_val; namespace N2 { } N2::t1 *fp1 = &float_val; + +Alias1::t3 *ip4 = &int_val; +t3 *ip5 = &int_val; + +void(*funp1)() = anon; + +namespace { + class C; +} +C* cp1; + +namespace N3 { + namespace { + class C; + } +} + +N3::C *cp2; + +void(*funp2)() = ext; + +using N1::used_func; +void (*pused)() = used_func; + +// FIXME: Disabled until CXXRecord serialization is re-added. +// using N1::used_cls; +// used_cls s1; +// used_cls* ps1 = &s1; |