summaryrefslogtreecommitdiffstats
path: root/clang/test/PCH
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/PCH')
-rw-r--r--clang/test/PCH/Inputs/namespaces.h27
-rw-r--r--clang/test/PCH/namespaces.cpp29
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;
OpenPOWER on IntegriCloud