summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/Import/forward-declared-struct/Inputs/S1.c1
-rw-r--r--clang/test/Import/forward-declared-struct/Inputs/S2.c3
-rw-r--r--clang/test/Import/forward-declared-struct/test.c5
-rw-r--r--clang/test/Import/member-in-struct/Inputs/S.c3
-rw-r--r--clang/test/Import/member-in-struct/test.c5
-rw-r--r--clang/test/Import/multiple-forward-declarations/Inputs/S1.c1
-rw-r--r--clang/test/Import/multiple-forward-declarations/Inputs/S2.c1
-rw-r--r--clang/test/Import/multiple-forward-declarations/test.c4
-rw-r--r--clang/test/Import/overloaded-function/Inputs/F1.c1
-rw-r--r--clang/test/Import/overloaded-function/Inputs/F2.c4
-rw-r--r--clang/test/Import/overloaded-function/test.c7
-rw-r--r--clang/test/Import/struct-in-namespace/Inputs/N1.cpp11
-rw-r--r--clang/test/Import/struct-in-namespace/Inputs/N2.cpp5
-rw-r--r--clang/test/Import/struct-in-namespace/Inputs/N3.cpp5
-rw-r--r--clang/test/Import/struct-in-namespace/test.cpp7
-rw-r--r--clang/test/Import/template-specialization/Inputs/T.cpp14
-rw-r--r--clang/test/Import/template-specialization/test.cpp7
17 files changed, 84 insertions, 0 deletions
diff --git a/clang/test/Import/forward-declared-struct/Inputs/S1.c b/clang/test/Import/forward-declared-struct/Inputs/S1.c
new file mode 100644
index 00000000000..28377c2760b
--- /dev/null
+++ b/clang/test/Import/forward-declared-struct/Inputs/S1.c
@@ -0,0 +1 @@
+struct S;
diff --git a/clang/test/Import/forward-declared-struct/Inputs/S2.c b/clang/test/Import/forward-declared-struct/Inputs/S2.c
new file mode 100644
index 00000000000..b0876d27df4
--- /dev/null
+++ b/clang/test/Import/forward-declared-struct/Inputs/S2.c
@@ -0,0 +1,3 @@
+struct S {
+ int a;
+};
diff --git a/clang/test/Import/forward-declared-struct/test.c b/clang/test/Import/forward-declared-struct/test.c
new file mode 100644
index 00000000000..7ccdcf9e97d
--- /dev/null
+++ b/clang/test/Import/forward-declared-struct/test.c
@@ -0,0 +1,5 @@
+// RUN: clang-import-test -import %S/Inputs/S1.c --import %S/Inputs/S2.c -expression %s
+void expr() {
+ struct S MyS;
+ MyS.a = 3;
+}
diff --git a/clang/test/Import/member-in-struct/Inputs/S.c b/clang/test/Import/member-in-struct/Inputs/S.c
new file mode 100644
index 00000000000..b0876d27df4
--- /dev/null
+++ b/clang/test/Import/member-in-struct/Inputs/S.c
@@ -0,0 +1,3 @@
+struct S {
+ int a;
+};
diff --git a/clang/test/Import/member-in-struct/test.c b/clang/test/Import/member-in-struct/test.c
new file mode 100644
index 00000000000..bde2b60d275
--- /dev/null
+++ b/clang/test/Import/member-in-struct/test.c
@@ -0,0 +1,5 @@
+// RUN: clang-import-test -import %S/Inputs/S.c -expression %s
+void expr() {
+ struct S MyS;
+ MyS.a = 3;
+}
diff --git a/clang/test/Import/multiple-forward-declarations/Inputs/S1.c b/clang/test/Import/multiple-forward-declarations/Inputs/S1.c
new file mode 100644
index 00000000000..28377c2760b
--- /dev/null
+++ b/clang/test/Import/multiple-forward-declarations/Inputs/S1.c
@@ -0,0 +1 @@
+struct S;
diff --git a/clang/test/Import/multiple-forward-declarations/Inputs/S2.c b/clang/test/Import/multiple-forward-declarations/Inputs/S2.c
new file mode 100644
index 00000000000..28377c2760b
--- /dev/null
+++ b/clang/test/Import/multiple-forward-declarations/Inputs/S2.c
@@ -0,0 +1 @@
+struct S;
diff --git a/clang/test/Import/multiple-forward-declarations/test.c b/clang/test/Import/multiple-forward-declarations/test.c
new file mode 100644
index 00000000000..fdaaaf61143
--- /dev/null
+++ b/clang/test/Import/multiple-forward-declarations/test.c
@@ -0,0 +1,4 @@
+// RUN: clang-import-test -import %S/Inputs/S1.c --import %S/Inputs/S2.c -expression %s
+void expr() {
+ struct S *MySPtr;
+}
diff --git a/clang/test/Import/overloaded-function/Inputs/F1.c b/clang/test/Import/overloaded-function/Inputs/F1.c
new file mode 100644
index 00000000000..fb548b464f2
--- /dev/null
+++ b/clang/test/Import/overloaded-function/Inputs/F1.c
@@ -0,0 +1 @@
+void f(int arg) { }
diff --git a/clang/test/Import/overloaded-function/Inputs/F2.c b/clang/test/Import/overloaded-function/Inputs/F2.c
new file mode 100644
index 00000000000..937efe54d84
--- /dev/null
+++ b/clang/test/Import/overloaded-function/Inputs/F2.c
@@ -0,0 +1,4 @@
+struct S { int a; };
+
+void f(const char *arg) { }
+void f(S arg) { }
diff --git a/clang/test/Import/overloaded-function/test.c b/clang/test/Import/overloaded-function/test.c
new file mode 100644
index 00000000000..4f7781bc8e6
--- /dev/null
+++ b/clang/test/Import/overloaded-function/test.c
@@ -0,0 +1,7 @@
+// RUN: clang-import-test -import %S/Inputs/F1.c -import %S/Inputs/F2.c -expression %s
+void expr() {
+ f(2);
+ f("world");
+ S s;
+ f(s);
+}
diff --git a/clang/test/Import/struct-in-namespace/Inputs/N1.cpp b/clang/test/Import/struct-in-namespace/Inputs/N1.cpp
new file mode 100644
index 00000000000..ddb67a51621
--- /dev/null
+++ b/clang/test/Import/struct-in-namespace/Inputs/N1.cpp
@@ -0,0 +1,11 @@
+namespace N {
+ struct S {
+ int a;
+ };
+}
+
+namespace N {
+ struct T {
+ int b;
+ };
+}
diff --git a/clang/test/Import/struct-in-namespace/Inputs/N2.cpp b/clang/test/Import/struct-in-namespace/Inputs/N2.cpp
new file mode 100644
index 00000000000..ad97d5dd52e
--- /dev/null
+++ b/clang/test/Import/struct-in-namespace/Inputs/N2.cpp
@@ -0,0 +1,5 @@
+namespace N {
+ struct U {
+ int c;
+ };
+}
diff --git a/clang/test/Import/struct-in-namespace/Inputs/N3.cpp b/clang/test/Import/struct-in-namespace/Inputs/N3.cpp
new file mode 100644
index 00000000000..e0ec4146747
--- /dev/null
+++ b/clang/test/Import/struct-in-namespace/Inputs/N3.cpp
@@ -0,0 +1,5 @@
+namespace M {
+ struct V {
+ int d;
+ };
+}
diff --git a/clang/test/Import/struct-in-namespace/test.cpp b/clang/test/Import/struct-in-namespace/test.cpp
new file mode 100644
index 00000000000..fd14d82d178
--- /dev/null
+++ b/clang/test/Import/struct-in-namespace/test.cpp
@@ -0,0 +1,7 @@
+// RUN: clang-import-test -import %S/Inputs/N1.cpp -import %S/Inputs/N2.cpp -import %S/Inputs/N3.cpp -expression %s
+void expr() {
+ N::S s;
+ N::T t;
+ N::U u;
+ int d = s.a + t.b + u.c;
+}
diff --git a/clang/test/Import/template-specialization/Inputs/T.cpp b/clang/test/Import/template-specialization/Inputs/T.cpp
new file mode 100644
index 00000000000..b31e2439efe
--- /dev/null
+++ b/clang/test/Import/template-specialization/Inputs/T.cpp
@@ -0,0 +1,14 @@
+template <typename T> struct A {
+};
+
+template <> struct A<int> {
+ struct B {
+ int f;
+ };
+};
+
+template <> struct A<bool> {
+ struct B {
+ int g;
+ };
+};
diff --git a/clang/test/Import/template-specialization/test.cpp b/clang/test/Import/template-specialization/test.cpp
new file mode 100644
index 00000000000..43996c53a77
--- /dev/null
+++ b/clang/test/Import/template-specialization/test.cpp
@@ -0,0 +1,7 @@
+// RUN: clang-import-test -import %S/Inputs/T.cpp -expression %s
+// XFAIL: *
+void expr() {
+ A<int>::B b1;
+ A<bool>::B b2;
+ b1.f + b2.g;
+}
OpenPOWER on IntegriCloud