[clang-tools-extra] r177960 - Added simple regression test for modularize.
John Thompson
John.Thompson.JTSoftware at gmail.com
Mon Mar 25 18:18:29 PDT 2013
Author: jtsoftware
Date: Mon Mar 25 20:18:28 2013
New Revision: 177960
URL: http://llvm.org/viewvc/llvm-project?rev=177960&view=rev
Log:
Added simple regression test for modularize.
Added:
clang-tools-extra/trunk/test/modularize/
clang-tools-extra/trunk/test/modularize/InputNoProblems/
clang-tools-extra/trunk/test/modularize/InputNoProblems/SomeDecls.h
clang-tools-extra/trunk/test/modularize/InputNoProblems/SomeTypes.h
clang-tools-extra/trunk/test/modularize/InputProblemsDuplicate/
clang-tools-extra/trunk/test/modularize/InputProblemsDuplicate/Header1.h
clang-tools-extra/trunk/test/modularize/InputProblemsDuplicate/Header2.h
clang-tools-extra/trunk/test/modularize/InputProblemsInconsistent/
clang-tools-extra/trunk/test/modularize/InputProblemsInconsistent/Header1.h
clang-tools-extra/trunk/test/modularize/InputProblemsInconsistent/Header2.h
clang-tools-extra/trunk/test/modularize/InputProblemsInconsistent/SubHeader.h
clang-tools-extra/trunk/test/modularize/NoProblems.cpp
clang-tools-extra/trunk/test/modularize/ProblemsDuplicate.cpp
clang-tools-extra/trunk/test/modularize/ProblemsInconsistent.cpp
Modified:
clang-tools-extra/trunk/test/CMakeLists.txt
Modified: clang-tools-extra/trunk/test/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/CMakeLists.txt?rev=177960&r1=177959&r2=177960&view=diff
==============================================================================
--- clang-tools-extra/trunk/test/CMakeLists.txt (original)
+++ clang-tools-extra/trunk/test/CMakeLists.txt Mon Mar 25 20:18:28 2013
@@ -22,7 +22,7 @@ set(CLANG_TOOLS_TEST_DEPS
clang clang-headers FileCheck count not
# Individual tools we test.
- remove-cstr-calls cpp11-migrate
+ remove-cstr-calls cpp11-migrate modularize
)
add_lit_testsuite(check-clang-tools "Running the Clang extra tools' regression tests"
Added: clang-tools-extra/trunk/test/modularize/InputNoProblems/SomeDecls.h
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/modularize/InputNoProblems/SomeDecls.h?rev=177960&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/modularize/InputNoProblems/SomeDecls.h (added)
+++ clang-tools-extra/trunk/test/modularize/InputNoProblems/SomeDecls.h Mon Mar 25 20:18:28 2013
@@ -0,0 +1,5 @@
+// Declare a couple of functions - no modules problems.
+
+void FuncOne();
+
+int FuncTwo(int arg);
Added: clang-tools-extra/trunk/test/modularize/InputNoProblems/SomeTypes.h
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/modularize/InputNoProblems/SomeTypes.h?rev=177960&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/modularize/InputNoProblems/SomeTypes.h (added)
+++ clang-tools-extra/trunk/test/modularize/InputNoProblems/SomeTypes.h Mon Mar 25 20:18:28 2013
@@ -0,0 +1,16 @@
+// Define a few different kinds of types - no modules problems.
+
+typedef int TypeInt;
+
+typedef TypeInt NestedTypeInt;
+
+struct TypeStruct {
+ int Member;
+};
+
+class TypeClass {
+public:
+ TypeClass() : Member(0) {}
+private:
+ int Member;
+};
Added: clang-tools-extra/trunk/test/modularize/InputProblemsDuplicate/Header1.h
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/modularize/InputProblemsDuplicate/Header1.h?rev=177960&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/modularize/InputProblemsDuplicate/Header1.h (added)
+++ clang-tools-extra/trunk/test/modularize/InputProblemsDuplicate/Header1.h Mon Mar 25 20:18:28 2013
@@ -0,0 +1,2 @@
+// Same decl as in Header2.h.
+typedef int TypeInt;
Added: clang-tools-extra/trunk/test/modularize/InputProblemsDuplicate/Header2.h
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/modularize/InputProblemsDuplicate/Header2.h?rev=177960&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/modularize/InputProblemsDuplicate/Header2.h (added)
+++ clang-tools-extra/trunk/test/modularize/InputProblemsDuplicate/Header2.h Mon Mar 25 20:18:28 2013
@@ -0,0 +1,2 @@
+// Same decl as in Header1.h.
+typedef int TypeInt;
Added: clang-tools-extra/trunk/test/modularize/InputProblemsInconsistent/Header1.h
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/modularize/InputProblemsInconsistent/Header1.h?rev=177960&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/modularize/InputProblemsInconsistent/Header1.h (added)
+++ clang-tools-extra/trunk/test/modularize/InputProblemsInconsistent/Header1.h Mon Mar 25 20:18:28 2013
@@ -0,0 +1,4 @@
+// Define symbol such that a declaration exists when this header
+// is included, but not when Header2.h is included.
+#define SYMBOL1 1
+#include "SubHeader.h"
Added: clang-tools-extra/trunk/test/modularize/InputProblemsInconsistent/Header2.h
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/modularize/InputProblemsInconsistent/Header2.h?rev=177960&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/modularize/InputProblemsInconsistent/Header2.h (added)
+++ clang-tools-extra/trunk/test/modularize/InputProblemsInconsistent/Header2.h Mon Mar 25 20:18:28 2013
@@ -0,0 +1,3 @@
+// Set up so the declaration in SubHeader.h is not defined.
+#define SYMBOL2 1
+#include "SubHeader.h"
Added: clang-tools-extra/trunk/test/modularize/InputProblemsInconsistent/SubHeader.h
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/modularize/InputProblemsInconsistent/SubHeader.h?rev=177960&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/modularize/InputProblemsInconsistent/SubHeader.h (added)
+++ clang-tools-extra/trunk/test/modularize/InputProblemsInconsistent/SubHeader.h Mon Mar 25 20:18:28 2013
@@ -0,0 +1,11 @@
+// Set up so TypeInt only defined during Header1.h include.
+#ifdef SYMBOL1
+#define SYMBOL 1
+#endif
+#ifdef SYMBOL2
+#define SYMBOL 2
+#endif
+
+#if SYMBOL == 1
+typedef int TypeInt;
+#endif
Added: clang-tools-extra/trunk/test/modularize/NoProblems.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/modularize/NoProblems.cpp?rev=177960&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/modularize/NoProblems.cpp (added)
+++ clang-tools-extra/trunk/test/modularize/NoProblems.cpp Mon Mar 25 20:18:28 2013
@@ -0,0 +1,5 @@
+# RUN: modularize %s -x c++
+# RUN: modularize -prefix=%p %s -x c++
+
+InputNoProblems/SomeTypes.h
+InputNoProblems/SomeDecls.h
Added: clang-tools-extra/trunk/test/modularize/ProblemsDuplicate.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/modularize/ProblemsDuplicate.cpp?rev=177960&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/modularize/ProblemsDuplicate.cpp (added)
+++ clang-tools-extra/trunk/test/modularize/ProblemsDuplicate.cpp Mon Mar 25 20:18:28 2013
@@ -0,0 +1,6 @@
+# RUN: modularize %s -x c++ 2>&1 | FileCheck %s
+
+InputProblemsDuplicate/Header1.h
+InputProblemsDuplicate/Header2.h
+
+# CHECK: error: 'TypeInt' defined at both {{.*}}{{[/\\]}}InputProblemsDuplicate{{[/\\]}}Header1.h:2:13 and {{.*}}{{[/\\]}}InputProblemsDuplicate{{[/\\]}}Header2.h:2:13
Added: clang-tools-extra/trunk/test/modularize/ProblemsInconsistent.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/modularize/ProblemsInconsistent.cpp?rev=177960&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/modularize/ProblemsInconsistent.cpp (added)
+++ clang-tools-extra/trunk/test/modularize/ProblemsInconsistent.cpp Mon Mar 25 20:18:28 2013
@@ -0,0 +1,10 @@
+# RUN: modularize %s -x c++ 2>&1 | FileCheck %s
+
+InputProblemsInconsistent/Header1.h
+InputProblemsInconsistent/Header2.h
+
+# CHECK: error: 'SYMBOL' defined at both {{.*}}{{[/\\]}}InputProblemsInconsistent{{[/\\]}}SubHeader.h:3:9 and {{.*}}{{[/\\]}}InputProblemsInconsistent/SubHeader.h:6:9
+# CHECK-NEXT: error: header '{{.*}}{{[/\\]}}InputProblemsInconsistent{{[/\\]}}SubHeader.h' has different contents dependening on how it was included
+# CHECK-NEXT: note: 'SYMBOL' in {{.*}}{{[/\\]}}InputProblemsInconsistent{{[/\\]}}SubHeader.h at 3:9 not always provided
+# CHECK-NEXT: note: 'SYMBOL' in {{.*}}{{[/\\]}}InputProblemsInconsistent{{[/\\]}}SubHeader.h at 6:9 not always provided
+# CHECK-NEXT: note: 'TypeInt' in {{.*}}{{[/\\]}}InputProblemsInconsistent{{[/\\]}}SubHeader.h at 10:13 not always provided
More information about the cfe-commits
mailing list