Skip to content

Commit 4c3bb12

Browse files
author
git apple-llvm automerger
committed
Merge commit 'e5994229541b' from llvm.org/main into next
2 parents a77d524 + e599422 commit 4c3bb12

File tree

5 files changed

+59
-52
lines changed

5 files changed

+59
-52
lines changed

clang/cmake/caches/CrossWinToARMLinux.cmake

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,10 @@ set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS
151151

152152
find_package(Python3 COMPONENTS Interpreter)
153153

154+
set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBUNWIND_TEST_PARAMS_default "${RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_TEST_PARAMS}")
155+
set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXXABI_TEST_PARAMS_default "${RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_TEST_PARAMS}")
156+
set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXX_TEST_PARAMS_default "${RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_TEST_PARAMS}")
157+
154158
# Remote test configuration.
155159
if(DEFINED REMOTE_TEST_HOST)
156160
# Allow override with the custom values.
@@ -162,11 +166,15 @@ if(DEFINED REMOTE_TEST_HOST)
162166
"\\\"${Python3_EXECUTABLE}\\\" \\\"${LLVM_PROJECT_DIR}/llvm/utils/remote-exec.py\\\" --host=${REMOTE_TEST_USER}@${REMOTE_TEST_HOST}"
163167
CACHE STRING "")
164168

165-
set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBUNWIND_TEST_PARAMS "${RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_TEST_PARAMS} 'executor=${DEFAULT_TEST_EXECUTOR}'" CACHE STRING "")
166-
set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXXABI_TEST_PARAMS "${RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_TEST_PARAMS} 'executor=${DEFAULT_TEST_EXECUTOR}'" CACHE STRING "")
167-
set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXX_TEST_PARAMS "${RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_TEST_PARAMS} 'executor=${DEFAULT_TEST_EXECUTOR}'" CACHE STRING "")
169+
list(APPEND RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBUNWIND_TEST_PARAMS_default "executor=${DEFAULT_TEST_EXECUTOR}")
170+
list(APPEND RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXXABI_TEST_PARAMS_default "executor=${DEFAULT_TEST_EXECUTOR}")
171+
list(APPEND RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXX_TEST_PARAMS_default "executor=${DEFAULT_TEST_EXECUTOR}")
168172
endif()
169173

174+
set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBUNWIND_TEST_PARAMS "${RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBUNWIND_TEST_PARAMS_default}" CACHE INTERNAL "")
175+
set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXXABI_TEST_PARAMS "${RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXXABI_TEST_PARAMS_default}" CACHE INTERNAL "")
176+
set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXX_TEST_PARAMS "${RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXX_TEST_PARAMS_default}" CACHE INTERNAL "")
177+
170178
set(LLVM_INSTALL_TOOLCHAIN_ONLY ON CACHE BOOL "")
171179
set(LLVM_TOOLCHAIN_TOOLS
172180
llvm-ar

libcxx/test/CMakeLists.txt

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
include(HandleLitArguments)
12
add_subdirectory(tools)
23

34
# By default, libcxx and libcxxabi share a library directory.
@@ -9,40 +10,32 @@ endif()
910
set(AUTO_GEN_COMMENT "## Autogenerated by libcxx configuration.\n# Do not edit!")
1011
set(SERIALIZED_LIT_PARAMS "# Lit parameters serialized here for llvm-lit to pick them up\n")
1112

12-
macro(serialize_lit_param param value)
13-
string(APPEND SERIALIZED_LIT_PARAMS "config.${param} = ${value}\n")
14-
endmacro()
15-
1613
if (LIBCXX_EXECUTOR)
1714
message(DEPRECATION "LIBCXX_EXECUTOR is deprecated, please add executor=... to LIBCXX_TEST_PARAMS")
18-
serialize_lit_param(executor "\"${LIBCXX_EXECUTOR}\"")
15+
serialize_lit_string_param(SERIALIZED_LIT_PARAMS executor "${LIBCXX_EXECUTOR}")
1916
endif()
2017

2118
if (NOT LIBCXX_ENABLE_EXCEPTIONS)
22-
serialize_lit_param(enable_exceptions False)
19+
serialize_lit_param(SERIALIZED_LIT_PARAMS enable_exceptions False)
2320
endif()
2421

2522
if (NOT LIBCXX_ENABLE_RTTI)
26-
serialize_lit_param(enable_rtti False)
23+
serialize_lit_param(SERIALIZED_LIT_PARAMS enable_rtti False)
2724
endif()
2825

29-
serialize_lit_param(hardening_mode "\"${LIBCXX_HARDENING_MODE}\"")
26+
serialize_lit_string_param(SERIALIZED_LIT_PARAMS hardening_mode "${LIBCXX_HARDENING_MODE}")
3027

3128
if (CMAKE_CXX_COMPILER_TARGET)
32-
serialize_lit_param(target_triple "\"${CMAKE_CXX_COMPILER_TARGET}\"")
29+
serialize_lit_string_param(SERIALIZED_LIT_PARAMS target_triple "${CMAKE_CXX_COMPILER_TARGET}")
3330
else()
34-
serialize_lit_param(target_triple "\"${LLVM_DEFAULT_TARGET_TRIPLE}\"")
31+
serialize_lit_string_param(SERIALIZED_LIT_PARAMS target_triple "${LLVM_DEFAULT_TARGET_TRIPLE}")
3532
endif()
3633

3734
if (LLVM_USE_SANITIZER)
38-
serialize_lit_param(use_sanitizer "\"${LLVM_USE_SANITIZER}\"")
35+
serialize_lit_string_param(SERIALIZED_LIT_PARAMS use_sanitizer "${LLVM_USE_SANITIZER}")
3936
endif()
4037

41-
foreach(param IN LISTS LIBCXX_TEST_PARAMS)
42-
string(REGEX REPLACE "(.+)=(.+)" "\\1" name "${param}")
43-
string(REGEX REPLACE "(.+)=(.+)" "\\2" value "${param}")
44-
serialize_lit_param("${name}" "\"${value}\"")
45-
endforeach()
38+
serialize_lit_params_list(SERIALIZED_LIT_PARAMS LIBCXX_TEST_PARAMS)
4639

4740
if (NOT DEFINED LIBCXX_TEST_DEPS)
4841
message(FATAL_ERROR "Expected LIBCXX_TEST_DEPS to be defined")
@@ -68,9 +61,9 @@ if (MSVC)
6861
set(cxx_lib "${cxx_lib}d")
6962
endif()
7063

71-
serialize_lit_param(dbg_include "\"${dbg_include}\"")
72-
serialize_lit_param(fms_runtime_lib "\"${fms_runtime_lib}\"")
73-
serialize_lit_param(cxx_lib "\"${cxx_lib}\"")
64+
serialize_lit_string_param(SERIALIZED_LIT_PARAMS dbg_include "${dbg_include}")
65+
serialize_lit_string_param(SERIALIZED_LIT_PARAMS fms_runtime_lib "${fms_runtime_lib}")
66+
serialize_lit_string_param(SERIALIZED_LIT_PARAMS cxx_lib "${cxx_lib}")
7467
endif()
7568

7669
if (LIBCXX_INCLUDE_TESTS)

libcxxabi/test/CMakeLists.txt

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
include(AddLLVM) # for configure_lit_site_cfg and add_lit_testsuite
2+
include(HandleLitArguments)
23
macro(pythonize_bool var)
34
if (${var})
45
set(${var} True)
@@ -23,40 +24,32 @@ endif()
2324
set(AUTO_GEN_COMMENT "## Autogenerated by libcxxabi configuration.\n# Do not edit!")
2425
set(SERIALIZED_LIT_PARAMS "# Lit parameters serialized here for llvm-lit to pick them up\n")
2526

26-
macro(serialize_lit_param param value)
27-
string(APPEND SERIALIZED_LIT_PARAMS "config.${param} = ${value}\n")
28-
endmacro()
29-
3027
if (LIBCXXABI_EXECUTOR)
3128
message(DEPRECATION "LIBCXXABI_EXECUTOR is deprecated, please add executor=... to LIBCXXABI_TEST_PARAMS")
32-
serialize_lit_param(executor "\"${LIBCXXABI_EXECUTOR}\"")
29+
serialize_lit_string_param(SERIALIZED_LIT_PARAMS executor "${LIBCXXABI_EXECUTOR}")
3330
endif()
3431

3532
if (NOT LIBCXXABI_ENABLE_EXCEPTIONS)
36-
serialize_lit_param(enable_exceptions False)
33+
serialize_lit_param(SERIALIZED_LIT_PARAMS enable_exceptions False)
3734
endif()
3835

3936
if (LIBCXXABI_ENABLE_ASSERTIONS)
40-
serialize_lit_param(enable_assertions True)
37+
serialize_lit_param(SERIALIZED_LIT_PARAMS enable_assertions True)
4138
endif()
4239

43-
serialize_lit_param(enable_experimental False)
40+
serialize_lit_param(SERIALIZED_LIT_PARAMS enable_experimental False)
4441

4542
if (LLVM_USE_SANITIZER)
46-
serialize_lit_param(use_sanitizer "\"${LLVM_USE_SANITIZER}\"")
43+
serialize_lit_string_param(SERIALIZED_LIT_PARAMS use_sanitizer "${LLVM_USE_SANITIZER}")
4744
endif()
4845

4946
if (CMAKE_CXX_COMPILER_TARGET)
50-
serialize_lit_param(target_triple "\"${CMAKE_CXX_COMPILER_TARGET}\"")
47+
serialize_lit_string_param(SERIALIZED_LIT_PARAMS target_triple "${CMAKE_CXX_COMPILER_TARGET}")
5148
else()
52-
serialize_lit_param(target_triple "\"${LLVM_DEFAULT_TARGET_TRIPLE}\"")
49+
serialize_lit_string_param(SERIALIZED_LIT_PARAMS target_triple "${LLVM_DEFAULT_TARGET_TRIPLE}")
5350
endif()
5451

55-
foreach(param IN LISTS LIBCXXABI_TEST_PARAMS)
56-
string(REGEX REPLACE "(.+)=(.+)" "\\1" name "${param}")
57-
string(REGEX REPLACE "(.+)=(.+)" "\\2" value "${param}")
58-
serialize_lit_param("${name}" "\"${value}\"")
59-
endforeach()
52+
serialize_lit_params_list(SERIALIZED_LIT_PARAMS LIBCXXABI_TEST_PARAMS)
6053

6154
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/configs/cmake-bridge.cfg.in"
6255
"${CMAKE_CURRENT_BINARY_DIR}/cmake-bridge.cfg"

libunwind/test/CMakeLists.txt

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
include(AddLLVM) # for add_lit_testsuite
2+
include(HandleLitArguments)
23
macro(pythonize_bool var)
34
if (${var})
45
set(${var} True)
@@ -14,32 +15,24 @@ pythonize_bool(LIBUNWIND_USES_ARM_EHABI)
1415
set(AUTO_GEN_COMMENT "## Autogenerated by libunwind configuration.\n# Do not edit!")
1516
set(SERIALIZED_LIT_PARAMS "# Lit parameters serialized here for llvm-lit to pick them up\n")
1617

17-
macro(serialize_lit_param param value)
18-
string(APPEND SERIALIZED_LIT_PARAMS "config.${param} = ${value}\n")
19-
endmacro()
20-
2118
if (LIBUNWIND_EXECUTOR)
2219
message(DEPRECATION "LIBUNWIND_EXECUTOR is deprecated, please add executor=... to LIBUNWIND_TEST_PARAMS")
23-
serialize_lit_param(executor "\"${LIBUNWIND_EXECUTOR}\"")
20+
serialize_lit_string_param(SERIALIZED_LIT_PARAMS executor "${LIBUNWIND_EXECUTOR}")
2421
endif()
2522

26-
serialize_lit_param(enable_experimental False)
23+
serialize_lit_param(SERIALIZED_LIT_PARAMS enable_experimental False)
2724

2825
if (LLVM_USE_SANITIZER)
29-
serialize_lit_param(use_sanitizer "\"${LLVM_USE_SANITIZER}\"")
26+
serialize_lit_string_param(SERIALIZED_LIT_PARAMS use_sanitizer "${LLVM_USE_SANITIZER}")
3027
endif()
3128

3229
if (CMAKE_CXX_COMPILER_TARGET)
33-
serialize_lit_param(target_triple "\"${CMAKE_CXX_COMPILER_TARGET}\"")
30+
serialize_lit_string_param(SERIALIZED_LIT_PARAMS target_triple "${CMAKE_CXX_COMPILER_TARGET}")
3431
else()
35-
serialize_lit_param(target_triple "\"${LLVM_DEFAULT_TARGET_TRIPLE}\"")
32+
serialize_lit_string_param(SERIALIZED_LIT_PARAMS target_triple "${LLVM_DEFAULT_TARGET_TRIPLE}")
3633
endif()
3734

38-
foreach(param IN LISTS LIBUNWIND_TEST_PARAMS)
39-
string(REGEX REPLACE "(.+)=(.+)" "\\1" name "${param}")
40-
string(REGEX REPLACE "(.+)=(.+)" "\\2" value "${param}")
41-
serialize_lit_param("${name}" "\"${value}\"")
42-
endforeach()
35+
serialize_lit_params_list(SERIALIZED_LIT_PARAMS LIBUNWIND_TEST_PARAMS)
4336

4437
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/configs/cmake-bridge.cfg.in"
4538
"${CMAKE_CURRENT_BINARY_DIR}/cmake-bridge.cfg"
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
2+
macro(serialize_lit_param output_var param value)
3+
string(APPEND ${output_var} "config.${param} = ${value}\n")
4+
endmacro()
5+
6+
macro(serialize_lit_string_param output_var param value)
7+
# Ensure that all quotes in the value are escaped for a valid python string.
8+
string(REPLACE "\"" "\\\"" _escaped_value "${value}")
9+
string(APPEND ${output_var} "config.${param} = \"${_escaped_value}\"\n")
10+
endmacro()
11+
12+
macro(serialize_lit_params_list output_var list)
13+
foreach(param IN LISTS ${list})
14+
string(FIND "${param}" "=" _eq_index)
15+
string(SUBSTRING "${param}" 0 ${_eq_index} name)
16+
string(SUBSTRING "${param}" ${_eq_index} -1 value)
17+
string(SUBSTRING "${value}" 1 -1 value) # strip the leading =
18+
serialize_lit_string_param("${output_var}" "${name}" "${value}")
19+
endforeach()
20+
endmacro()

0 commit comments

Comments
 (0)