Skip to content

Commit 762cbd8

Browse files
authored
[libc][NFC] Do not add libc test framework and -fno-rtti to C tests. (#84837)
1 parent 3707c54 commit 762cbd8

File tree

3 files changed

+15
-7
lines changed

3 files changed

+15
-7
lines changed

libc/cmake/modules/LLVMLibCCompileOptionRules.cmake

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ function(_get_common_compile_options output_var flags)
108108
set(${output_var} ${compile_options} PARENT_SCOPE)
109109
endfunction()
110110

111-
function(_get_common_test_compile_options output_var flags)
111+
function(_get_common_test_compile_options output_var c_test flags)
112112
_get_compile_options_from_flags(compile_flags ${flags})
113113

114114
set(compile_options ${LIBC_COMPILE_OPTIONS_DEFAULT} ${compile_flags})
@@ -122,7 +122,9 @@ function(_get_common_test_compile_options output_var flags)
122122
list(APPEND compile_options "-fno-exceptions")
123123
list(APPEND compile_options "-fno-unwind-tables")
124124
list(APPEND compile_options "-fno-asynchronous-unwind-tables")
125-
list(APPEND compile_options "-fno-rtti")
125+
if(NOT ${c_test})
126+
list(APPEND compile_options "-fno-rtti")
127+
endif()
126128
endif()
127129

128130
if(LIBC_COMPILER_HAS_FIXED_POINT)

libc/cmake/modules/LLVMLibCTestRules.cmake

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ function(create_libc_unittest fq_target_name)
111111

112112
cmake_parse_arguments(
113113
"LIBC_UNITTEST"
114-
"NO_RUN_POSTBUILD" # Optional arguments
114+
"NO_RUN_POSTBUILD;C_TEST" # Optional arguments
115115
"SUITE;CXX_STANDARD" # Single value arguments
116116
"SRCS;HDRS;DEPENDS;COMPILE_OPTIONS;LINK_LIBRARIES;FLAGS" # Multi-value arguments
117117
${ARGN}
@@ -126,11 +126,14 @@ function(create_libc_unittest fq_target_name)
126126
endif()
127127

128128
get_fq_deps_list(fq_deps_list ${LIBC_UNITTEST_DEPENDS})
129-
list(APPEND fq_deps_list libc.src.__support.StringUtil.error_to_string
130-
libc.test.UnitTest.ErrnoSetterMatcher)
129+
if(NOT LIBC_UNITTEST_C_TEST)
130+
list(APPEND fq_deps_list libc.src.__support.StringUtil.error_to_string
131+
libc.test.UnitTest.ErrnoSetterMatcher)
132+
endif()
131133
list(REMOVE_DUPLICATES fq_deps_list)
132134

133-
_get_common_test_compile_options(compile_options "${LIBC_UNITTEST_FLAGS}")
135+
_get_common_test_compile_options(compile_options "${LIBC_UNITTEST_C_TEST}"
136+
"${LIBC_UNITTEST_FLAGS}")
134137
list(APPEND compile_options ${LIBC_UNITTEST_COMPILE_OPTIONS})
135138

136139
if(SHOW_INTERMEDIATE_OBJECTS)
@@ -214,7 +217,9 @@ function(create_libc_unittest fq_target_name)
214217
)
215218

216219
# LibcUnitTest should not depend on anything in LINK_LIBRARIES.
217-
list(APPEND link_libraries LibcDeathTestExecutors.unit LibcTest.unit)
220+
if(NOT LIBC_UNITTEST_C_TEST)
221+
list(APPEND link_libraries LibcDeathTestExecutors.unit LibcTest.unit)
222+
endif()
218223

219224
target_link_libraries(${fq_build_target_name} PRIVATE ${link_libraries})
220225

libc/test/include/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ if(LLVM_LIBC_FULL_BUILD AND libc.include.stdbit IN_LIST TARGET_PUBLIC_HEADERS)
3737
)
3838
add_libc_test(
3939
stdbit_c_test
40+
C_TEST
4041
UNIT_TEST_ONLY
4142
SUITE
4243
libc_include_tests

0 commit comments

Comments
 (0)