diff options
Diffstat (limited to 'clang/test')
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; +} |