[OPENMP] Add dependency to clang/clang-headers etc. for in-tree build of libomp.
Add additional dependency to clang/clang-headers/FileCheck to avoid possible troubles with in-tree build/test of libomp + allow parallel testing of libomp. Also includes bugfixes for tests + improvements to avoid possible race conditions.
Differential Revision: http://reviews.llvm.org/D14055

llvm-svn: 251797
diff --git a/openmp/runtime/test/CMakeLists.txt b/openmp/runtime/test/CMakeLists.txt
index c5877cf..ce917ee 100644
--- a/openmp/runtime/test/CMakeLists.txt
+++ b/openmp/runtime/test/CMakeLists.txt
@@ -34,7 +34,7 @@
   # The -j 1 lets the actual tests run with the entire machine.
   # We have one test thread that spawns the tests serially.  This allows
   # Each test to use the entire machine.
-  set(LIBOMP_LIT_ARGS_DEFAULT "-sv --show-unsupported --show-xfail -j 1")
+  set(LIBOMP_LIT_ARGS_DEFAULT "-sv --show-unsupported --show-xfail")
   if(MSVC OR XCODE)
     set(LIBOMP_LIT_ARGS_DEFAULT "${LIBOMP_LIT_ARGS_DEFAULT} --no-progress-bar")
   endif()
@@ -56,11 +56,10 @@
   endif()
   set(LIBOMP_TEST_OPENMP_FLAG -fopenmp=libomp)
   # Use add_lit_testsuite() from LLVM CMake.
-  add_lit_testsuite(check-libomp 
+  add_lit_testsuite(check-libomp
     "Running libomp tests"
     ${CMAKE_CURRENT_BINARY_DIR}
-    ARGS "-j 1"
-    DEPENDS omp
+    DEPENDS clang clang-headers FileCheck omp
   )
 endif()
 
diff --git a/openmp/runtime/test/api/omp_get_wtime.c b/openmp/runtime/test/api/omp_get_wtime.c
index c93c2a5..d91312b 100644
--- a/openmp/runtime/test/api/omp_get_wtime.c
+++ b/openmp/runtime/test/api/omp_get_wtime.c
@@ -9,7 +9,7 @@
   double start;
   double end;
   double measured_time;
-  double wait_time = 0.25; 
+  double wait_time = 1.0; 
   start = 0;
   end = 0;
   start = omp_get_wtime();
diff --git a/openmp/runtime/test/omp_testsuite.h b/openmp/runtime/test/omp_testsuite.h
index 53e0b78..3f2dfe6 100644
--- a/openmp/runtime/test/omp_testsuite.h
+++ b/openmp/runtime/test/omp_testsuite.h
@@ -12,7 +12,7 @@
 #define REPETITIONS 10 /* Number of times to run each test */
 
 /* following times are in seconds */
-#define SLEEPTIME 0.1
+#define SLEEPTIME 1
 
 /* Definitions for tasks                                  */
 /**********************************************************/
diff --git a/openmp/runtime/test/worksharing/for/omp_for_schedule_auto.c b/openmp/runtime/test/worksharing/for/omp_for_schedule_auto.c
index 67c2d21..38d03c6 100644
--- a/openmp/runtime/test/worksharing/for/omp_for_schedule_auto.c
+++ b/openmp/runtime/test/worksharing/for/omp_for_schedule_auto.c
@@ -17,7 +17,6 @@
 
   sum = 0;
   sum0 = 12345;
-  sum1 = 0;
 
   // array which keeps track of which threads participated in the for loop
   // e.g., given 4 threads, [ 0 | 1 | 1 | 0 ] implies
@@ -30,6 +29,7 @@
   #pragma omp parallel
   {
     int i;
+    sum1 = 0;
     #pragma omp for firstprivate(sum0) schedule(auto)
     for (i = 1; i <= LOOPCOUNT; i++) {
       active_threads[omp_get_thread_num()] = 1;