Browse Source

Tests/CompileFeatures: Cover hip_std_## meta-features

Brad King 1 year ago
parent
commit
c299fd8266

+ 1 - 0
.gitlab/ci/configure_debian12_hip_radeon.cmake

@@ -1,3 +1,4 @@
 set(CMake_TEST_HIP "amd" CACHE BOOL "")
+set(CMake_TEST_HIP_STANDARDS "98;11;14;17;20;23" CACHE STRING "")
 
 include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")

+ 1 - 0
.gitlab/ci/configure_fedora39_hip_radeon.cmake

@@ -1,3 +1,4 @@
 set(CMake_TEST_HIP "amd" CACHE BOOL "")
+set(CMake_TEST_HIP_STANDARDS "98;11;14;17;20;23;26" CACHE STRING "")
 
 include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")

+ 1 - 0
.gitlab/ci/configure_hip5.5_nvidia.cmake

@@ -1,3 +1,4 @@
 set(CMake_TEST_HIP "nvidia" CACHE BOOL "")
+set(CMake_TEST_HIP_STANDARDS "98;11;14;17" CACHE STRING "")
 
 include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")

+ 1 - 0
.gitlab/ci/configure_hip5.5_radeon.cmake

@@ -1,3 +1,4 @@
 set(CMake_TEST_HIP "amd" CACHE BOOL "")
+set(CMake_TEST_CUDA_STANDARDS "98;11;14;17;20;23;26" CACHE STRING "")
 
 include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")

+ 4 - 1
Tests/CMakeLists.txt

@@ -391,14 +391,17 @@ if(BUILD_TESTING)
   string(REPLACE ";" "$<SEMICOLON>" TEST_STDS_C "${CMake_TEST_C_STANDARDS}")
   string(REPLACE ";" "$<SEMICOLON>" TEST_STDS_CXX "${CMake_TEST_CXX_STANDARDS}")
   string(REPLACE ";" "$<SEMICOLON>" TEST_STDS_CUDA "${CMake_TEST_CUDA_STANDARDS}")
+  string(REPLACE ";" "$<SEMICOLON>" TEST_STDS_HIP "${CMake_TEST_HIP_STANDARDS}")
   set(CompileFeatures_BUILD_OPTIONS
     -DCMake_TEST_C_STANDARDS=${TEST_STDS_C}
     -DCMake_TEST_CXX_STANDARDS=${TEST_STDS_CXX}
     -DCMake_TEST_CUDA=${CMake_TEST_CUDA}
     -DCMake_TEST_CUDA_STANDARDS=${TEST_STDS_CUDA}
+    -DCMake_TEST_HIP=${CMake_TEST_HIP}
+    -DCMake_TEST_HIP_STANDARDS=${TEST_STDS_HIP}
     )
   ADD_TEST_MACRO(CompileFeatures CompileFeatures)
-  set_property(TEST CompileFeatures APPEND PROPERTY LABELS "CUDA")
+  set_property(TEST CompileFeatures APPEND PROPERTY LABELS "CUDA" "HIP")
 
   ADD_TEST_MACRO(CMakeCommands.target_compile_features)
 

+ 7 - 1
Tests/CompileFeatures/CMakeLists.txt

@@ -15,7 +15,13 @@ if(CMake_TEST_CUDA)
   set(std_CUDA 03 11 14 17 20 23 26)
 endif()
 
-foreach(lang C CXX CUDA)
+if(CMake_TEST_HIP)
+  enable_language(HIP)
+  set(ext_HIP hip)
+  set(std_HIP 98 11 14 17 20 23 26)
+endif()
+
+foreach(lang C CXX CUDA HIP)
   foreach(std IN LISTS std_${lang})
     string(TOLOWER "${lang}_std_${std}" feature)
     if("${std}" IN_LIST CMake_TEST_${lang}_STANDARDS

+ 4 - 0
Tests/CompileFeatures/hip_std_11.hip

@@ -0,0 +1,4 @@
+#include "cxx_std.h"
+#if defined(CXX_STD) && CXX_STD < CXX_STD_11
+#  error "hip_std_11 not honored"
+#endif

+ 4 - 0
Tests/CompileFeatures/hip_std_14.hip

@@ -0,0 +1,4 @@
+#include "cxx_std.h"
+#if defined(CXX_STD) && CXX_STD <= CXX_STD_11
+#  error "hip_std_14 not honored"
+#endif

+ 4 - 0
Tests/CompileFeatures/hip_std_17.hip

@@ -0,0 +1,4 @@
+#include "cxx_std.h"
+#if defined(CXX_STD) && CXX_STD <= CXX_STD_14
+#  error "hip_std_17 not honored"
+#endif

+ 4 - 0
Tests/CompileFeatures/hip_std_20.hip

@@ -0,0 +1,4 @@
+#include "cxx_std.h"
+#if defined(CXX_STD) && CXX_STD <= CXX_STD_17
+#  error "hip_std_20 not honored"
+#endif

+ 4 - 0
Tests/CompileFeatures/hip_std_23.hip

@@ -0,0 +1,4 @@
+#include "cxx_std.h"
+#if defined(CXX_STD) && CXX_STD <= CXX_STD_20
+#  error "hip_std_23 not honored"
+#endif

+ 4 - 0
Tests/CompileFeatures/hip_std_26.hip

@@ -0,0 +1,4 @@
+#include "cxx_std.h"
+#if defined(CXX_STD) && CXX_STD <= CXX_STD_23
+#  error "hip_std_26 not honored"
+#endif

+ 0 - 0
Tests/CompileFeatures/hip_std_98.hip