[libc-commits] [libc] [libc][NFC] Do not add libc test framework and -fno-rtti to C tests. (PR #84837)
via libc-commits
libc-commits at lists.llvm.org
Mon Mar 11 14:34:54 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libc
Author: None (lntue)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/84837.diff
3 Files Affected:
- (modified) libc/cmake/modules/LLVMLibCCompileOptionRules.cmake (+4-2)
- (modified) libc/cmake/modules/LLVMLibCTestRules.cmake (+10-5)
- (modified) libc/test/include/CMakeLists.txt (+1)
``````````diff
diff --git a/libc/cmake/modules/LLVMLibCCompileOptionRules.cmake b/libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
index 893a807b5b61c7..5bc0898298ce39 100644
--- a/libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
+++ b/libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
@@ -108,7 +108,7 @@ function(_get_common_compile_options output_var flags)
set(${output_var} ${compile_options} PARENT_SCOPE)
endfunction()
-function(_get_common_test_compile_options output_var flags)
+function(_get_common_test_compile_options output_var c_test flags)
_get_compile_options_from_flags(compile_flags ${flags})
set(compile_options ${LIBC_COMPILE_OPTIONS_DEFAULT} ${compile_flags})
@@ -122,7 +122,9 @@ function(_get_common_test_compile_options output_var flags)
list(APPEND compile_options "-fno-exceptions")
list(APPEND compile_options "-fno-unwind-tables")
list(APPEND compile_options "-fno-asynchronous-unwind-tables")
- list(APPEND compile_options "-fno-rtti")
+ if(NOT ${c_test})
+ list(APPEND compile_options "-fno-rtti")
+ endif()
endif()
if(LIBC_COMPILER_HAS_FIXED_POINT)
diff --git a/libc/cmake/modules/LLVMLibCTestRules.cmake b/libc/cmake/modules/LLVMLibCTestRules.cmake
index 0bdd72091fe854..eb6be91b55e261 100644
--- a/libc/cmake/modules/LLVMLibCTestRules.cmake
+++ b/libc/cmake/modules/LLVMLibCTestRules.cmake
@@ -111,7 +111,7 @@ function(create_libc_unittest fq_target_name)
cmake_parse_arguments(
"LIBC_UNITTEST"
- "NO_RUN_POSTBUILD" # Optional arguments
+ "NO_RUN_POSTBUILD;C_TEST" # Optional arguments
"SUITE;CXX_STANDARD" # Single value arguments
"SRCS;HDRS;DEPENDS;COMPILE_OPTIONS;LINK_LIBRARIES;FLAGS" # Multi-value arguments
${ARGN}
@@ -126,11 +126,14 @@ function(create_libc_unittest fq_target_name)
endif()
get_fq_deps_list(fq_deps_list ${LIBC_UNITTEST_DEPENDS})
- list(APPEND fq_deps_list libc.src.__support.StringUtil.error_to_string
- libc.test.UnitTest.ErrnoSetterMatcher)
+ if(NOT LIBC_UNITTEST_C_TEST)
+ list(APPEND fq_deps_list libc.src.__support.StringUtil.error_to_string
+ libc.test.UnitTest.ErrnoSetterMatcher)
+ endif()
list(REMOVE_DUPLICATES fq_deps_list)
- _get_common_test_compile_options(compile_options "${LIBC_UNITTEST_FLAGS}")
+ _get_common_test_compile_options(compile_options "${LIBC_UNITTEST_C_TEST}"
+ "${LIBC_UNITTEST_FLAGS}")
list(APPEND compile_options ${LIBC_UNITTEST_COMPILE_OPTIONS})
if(SHOW_INTERMEDIATE_OBJECTS)
@@ -214,7 +217,9 @@ function(create_libc_unittest fq_target_name)
)
# LibcUnitTest should not depend on anything in LINK_LIBRARIES.
- list(APPEND link_libraries LibcDeathTestExecutors.unit LibcTest.unit)
+ if(NOT LIBC_UNITTEST_C_TEST)
+ list(APPEND link_libraries LibcDeathTestExecutors.unit LibcTest.unit)
+ endif()
target_link_libraries(${fq_build_target_name} PRIVATE ${link_libraries})
diff --git a/libc/test/include/CMakeLists.txt b/libc/test/include/CMakeLists.txt
index d76ad442d36ce4..8d8dff53169f6a 100644
--- a/libc/test/include/CMakeLists.txt
+++ b/libc/test/include/CMakeLists.txt
@@ -37,6 +37,7 @@ if(LLVM_LIBC_FULL_BUILD AND libc.include.stdbit IN_LIST TARGET_PUBLIC_HEADERS)
)
add_libc_test(
stdbit_c_test
+ C_TEST
UNIT_TEST_ONLY
SUITE
libc_include_tests
``````````
</details>
https://github.com/llvm/llvm-project/pull/84837
More information about the libc-commits
mailing list