Updated util/test_llvm_versions.sh script
This commit is contained in:
@@ -1,9 +1,5 @@
|
|||||||
message(STATUS "Checking for LLVM and Clang...")
|
message(STATUS "Checking for LLVM and Clang...")
|
||||||
|
|
||||||
if(LLVM_VERSION STREQUAL "18")
|
|
||||||
set(LLVM_VERSION "18.1")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# If user provided a path to llvm-config executable use it to detect
|
# If user provided a path to llvm-config executable use it to detect
|
||||||
# LLVM Version and appropriate CMake module path
|
# LLVM Version and appropriate CMake module path
|
||||||
if(NOT "${LLVM_CONFIG_PATH}" STREQUAL "")
|
if(NOT "${LLVM_CONFIG_PATH}" STREQUAL "")
|
||||||
@@ -26,6 +22,10 @@ if(NOT "${LLVM_CONFIG_PATH}" STREQUAL "")
|
|||||||
set(LLVM_VERSION ${CMAKE_MATCH_1})
|
set(LLVM_VERSION ${CMAKE_MATCH_1})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(LLVM_VERSION STREQUAL "18")
|
||||||
|
set(LLVM_VERSION "18.1")
|
||||||
|
endif()
|
||||||
|
|
||||||
find_package(LLVM ${LLVM_VERSION} CONFIG REQUIRED)
|
find_package(LLVM ${LLVM_VERSION} CONFIG REQUIRED)
|
||||||
|
|
||||||
list(APPEND CMAKE_MODULE_PATH ${LLVM_CMAKE_DIR})
|
list(APPEND CMAKE_MODULE_PATH ${LLVM_CMAKE_DIR})
|
||||||
|
|||||||
@@ -32,8 +32,11 @@ TEST_CASE("t00075")
|
|||||||
REQUIRE(IsEnum(src, {"ns1::ns2", "E"}));
|
REQUIRE(IsEnum(src, {"ns1::ns2", "E"}));
|
||||||
|
|
||||||
REQUIRE(IsConcept(src, {"ns1::ns2", "C<T>"}));
|
REQUIRE(IsConcept(src, {"ns1::ns2", "C<T>"}));
|
||||||
|
#if (LLVM_VERSION_MAJOR == 13) || (LLVM_VERSION_MAJOR == 14)
|
||||||
|
REQUIRE(IsConceptRequirement(src, "C<T>", "T({})"));
|
||||||
|
#else
|
||||||
REQUIRE(IsConceptRequirement(src, "C<T>", "T{}"));
|
REQUIRE(IsConceptRequirement(src, "C<T>", "T{}"));
|
||||||
|
#endif
|
||||||
REQUIRE(IsConceptRequirement(src, "C<T>", "t.e()"));
|
REQUIRE(IsConceptRequirement(src, "C<T>", "t.e()"));
|
||||||
REQUIRE(IsConceptParameterList(src, "C<T>", "(T t)"));
|
REQUIRE(IsConceptParameterList(src, "C<T>", "(T t)"));
|
||||||
REQUIRE(!IsConceptParameterList(src, "C<T>", "(T ns1::ns2::t)"));
|
REQUIRE(!IsConceptParameterList(src, "C<T>", "(T ns1::ns2::t)"));
|
||||||
|
|||||||
@@ -1,16 +1,28 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
trap 'echo "Build failed!"' ERR
|
||||||
|
|
||||||
declare -a llvm_configs=("llvm-config-12"
|
declare -a llvm_configs=("llvm-config-12"
|
||||||
"llvm-config-13"
|
"llvm-config-13"
|
||||||
"llvm-config-14"
|
"llvm-config-14"
|
||||||
"llvm-config-15"
|
"llvm-config-15"
|
||||||
"llvm-config-16"
|
"llvm-config-16"
|
||||||
"llvm-config-17")
|
"llvm-config-17"
|
||||||
|
"llvm-config-18")
|
||||||
|
|
||||||
|
# Test with GCC and different LLVM versions
|
||||||
for config_path in ${llvm_configs[@]}; do
|
for config_path in ${llvm_configs[@]}; do
|
||||||
echo "---------------------------------------------------------"
|
echo "---------------------------------------------------------"
|
||||||
echo " Running clang-uml tests against LLVM $(${config_path} --version)"
|
echo " Running clang-uml tests against LLVM $(${config_path} --version)"
|
||||||
echo "---------------------------------------------------------"
|
echo "---------------------------------------------------------"
|
||||||
make clean
|
make clean
|
||||||
LLVM_CONFIG_PATH=$config_path NUMPROC=12 make test
|
CC=/usr/bin/gcc-11 CXX=/usr/bin/g++-11 LLVM_CONFIG_PATH=$config_path NUMPROC=16 make test
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Also check compilation with Clang
|
||||||
|
make clean
|
||||||
|
CC=/usr/bin/clang-17 CXX=/usr/bin/clang++-17 LLVM_VERSION=17 NUMPROC=16 CMAKE_GENERATOR=Ninja ENABLE_CXX_MODULES_TEST_CASES=ON ENABLE_CUDA_TEST_CASES=ON make test
|
||||||
|
make clean
|
||||||
|
CC=/usr/bin/clang-18 CXX=/usr/bin/clang++-18 LLVM_VERSION=18 NUMPROC=16 CMAKE_GENERATOR=Ninja ENABLE_CXX_MODULES_TEST_CASES=ON ENABLE_CUDA_TEST_CASES=ON make test
|
||||||
|
make clean
|
||||||
Reference in New Issue
Block a user