[Openmp-commits] [openmp] r338844 - Merging r338757:

Hans Wennborg via Openmp-commits openmp-commits at lists.llvm.org
Fri Aug 3 03:18:17 PDT 2018


Author: hans
Date: Fri Aug  3 03:18:17 2018
New Revision: 338844

URL: http://llvm.org/viewvc/llvm-project?rev=338844&view=rev
Log:
Merging r338757:
------------------------------------------------------------------------
r338757 | jlpeyton | 2018-08-02 21:13:07 +0200 (Thu, 02 Aug 2018) | 8 lines

[OpenMP] Fix doacross testing for gcc

This patch adds a test using the doacross clauses in OpenMP and removes gcc from
testing kmp_doacross_check.c which is only testing the kmp rather than the
gomp interface.

Differential Revision: https://reviews.llvm.org/D50014

------------------------------------------------------------------------

Added:
    openmp/branches/release_70/runtime/test/worksharing/for/omp_doacross.c
      - copied unchanged from r338757, openmp/trunk/runtime/test/worksharing/for/omp_doacross.c
Modified:
    openmp/branches/release_70/   (props changed)
    openmp/branches/release_70/cmake/OpenMPTesting.cmake
    openmp/branches/release_70/runtime/test/worksharing/for/kmp_doacross_check.c

Propchange: openmp/branches/release_70/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Aug  3 03:18:17 2018
@@ -1 +1 @@
-/openmp/trunk:338580,338720-338721
+/openmp/trunk:338580,338720-338721,338757

Modified: openmp/branches/release_70/cmake/OpenMPTesting.cmake
URL: http://llvm.org/viewvc/llvm-project/openmp/branches/release_70/cmake/OpenMPTesting.cmake?rev=338844&r1=338843&r2=338844&view=diff
==============================================================================
--- openmp/branches/release_70/cmake/OpenMPTesting.cmake (original)
+++ openmp/branches/release_70/cmake/OpenMPTesting.cmake Fri Aug  3 03:18:17 2018
@@ -87,7 +87,9 @@ function(set_test_compiler_information d
 
     # Determine major version.
     string(REGEX MATCH "[0-9]+" major "${OPENMP_TEST_C_COMPILER_VERSION}")
+    string(REGEX MATCH "[0-9]+\\.[0-9]+" majorminor "${OPENMP_TEST_C_COMPILER_VERSION}")
     set(OPENMP_TEST_COMPILER_VERSION_MAJOR "${major}" PARENT_SCOPE)
+    set(OPENMP_TEST_COMPILER_VERSION_MAJOR_MINOR "${majorminor}" PARENT_SCOPE)
   endif()
 endfunction()
 
@@ -117,6 +119,7 @@ else()
   # Cannot use CLANG_VERSION because we are not guaranteed that this is already set.
   set(OPENMP_TEST_COMPILER_VERSION "${LLVM_VERSION}")
   set(OPENMP_TEST_COMPILER_VERSION_MAJOR "${LLVM_MAJOR_VERSION}")
+  set(OPENMP_TEST_COMPILER_VERSION_MAJOR_MINOR "${LLVM_MAJOR_VERSION}.${LLVM_MINOR_VERSION}")
   # TODO: Implement blockaddress in GlobalISel and remove this flag!
   set(OPENMP_TEST_COMPILER_OPENMP_FLAGS "-fopenmp -fno-experimental-isel")
 endif()
@@ -131,7 +134,7 @@ function(set_test_compiler_features)
     # Just use the lowercase of the compiler ID as fallback.
     string(TOLOWER "${OPENMP_TEST_COMPILER_ID}" comp)
   endif()
-  set(OPENMP_TEST_COMPILER_FEATURES "['${comp}', '${comp}-${OPENMP_TEST_COMPILER_VERSION_MAJOR}', '${comp}-${OPENMP_TEST_COMPILER_VERSION}']" PARENT_SCOPE)
+  set(OPENMP_TEST_COMPILER_FEATURES "['${comp}', '${comp}-${OPENMP_TEST_COMPILER_VERSION_MAJOR}', '${comp}-${OPENMP_TEST_COMPILER_VERSION_MAJOR_MINOR}', '${comp}-${OPENMP_TEST_COMPILER_VERSION}']" PARENT_SCOPE)
 endfunction()
 set_test_compiler_features()
 

Modified: openmp/branches/release_70/runtime/test/worksharing/for/kmp_doacross_check.c
URL: http://llvm.org/viewvc/llvm-project/openmp/branches/release_70/runtime/test/worksharing/for/kmp_doacross_check.c?rev=338844&r1=338843&r2=338844&view=diff
==============================================================================
--- openmp/branches/release_70/runtime/test/worksharing/for/kmp_doacross_check.c (original)
+++ openmp/branches/release_70/runtime/test/worksharing/for/kmp_doacross_check.c Fri Aug  3 03:18:17 2018
@@ -1,4 +1,10 @@
 // RUN: %libomp-compile-and-run
+// UNSUPPORTED: gcc
+// This test is incompatible with gcc because of the explicit call to
+// __kmpc_doacross_fini().  gcc relies on an implicit call to this function
+// when the last iteration is executed inside the GOMP_loop_*_next() functions.
+// Hence, in gcc, having the explicit call leads to __kmpc_doacross_fini()
+// being called twice.
 #include <stdio.h>
 
 #define N   1000




More information about the Openmp-commits mailing list