[clang] [libc] Fix printf config not working (PR #66834)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Sep 19 15:29:34 PDT 2023
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libc
<details>
<summary>Changes</summary>
The list of printf copts available in config.json wasn't working because
the printf_core subdirectory was included before the printf_copts
variable was defined, making it effectively nothing for the printf
internals. Additionally, the tests weren't respecting the flags so they
would cause the tests to fail. This patch reorders the cmake in src and
adds flag handling in test.
---
Full diff: https://github.com/llvm/llvm-project/pull/66834.diff
2 Files Affected:
- (modified) libc/src/stdio/CMakeLists.txt (+3-3)
- (modified) libc/test/src/stdio/CMakeLists.txt (+12)
``````````diff
diff --git a/libc/src/stdio/CMakeLists.txt b/libc/src/stdio/CMakeLists.txt
index a13321d13722953..f3a75fb965c6e16 100644
--- a/libc/src/stdio/CMakeLists.txt
+++ b/libc/src/stdio/CMakeLists.txt
@@ -26,9 +26,6 @@ if(NOT LIBC_TARGET_ARCHITECTURE_IS_GPU)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/generic)
endif()
-add_subdirectory(printf_core)
-add_subdirectory(scanf_core)
-
add_entrypoint_object(
fflush
SRCS
@@ -286,6 +283,9 @@ add_entrypoint_object(
${printf_copts}
)
+add_subdirectory(printf_core)
+add_subdirectory(scanf_core)
+
add_entrypoint_object(
ftell
SRCS
diff --git a/libc/test/src/stdio/CMakeLists.txt b/libc/test/src/stdio/CMakeLists.txt
index e042a8bd8be68f2..98fa2deb8b0e258 100644
--- a/libc/test/src/stdio/CMakeLists.txt
+++ b/libc/test/src/stdio/CMakeLists.txt
@@ -112,6 +112,16 @@ add_libc_unittest(
LibcMemoryHelpers
)
+if(LIBC_CONF_PRINTF_DISABLE_FLOAT)
+ list(APPEND sprintf_test_copts "-DLIBC_COPT_PRINTF_DISABLE_FLOAT")
+endif()
+if(LIBC_CONF_PRINTF_DISABLE_INDEX_MODE)
+ list(APPEND sprintf_test_copts "-DLIBC_COPT_PRINTF_DISABLE_INDEX_MODE")
+endif()
+if(LIBC_CONF_PRINTF_DISABLE_WRITE_INT)
+ list(APPEND sprintf_test_copts "-DLIBC_COPT_PRINTF_DISABLE_WRITE_INT")
+endif()
+
add_fp_unittest(
sprintf_test
UNIT_TEST_ONLY
@@ -123,6 +133,8 @@ add_fp_unittest(
libc.src.stdio.sprintf
libc.src.__support.FPUtil.fp_bits
libc.src.__support.FPUtil.platform_defs
+ COMPILE_OPTIONS
+ ${sprintf_test_copts}
)
add_libc_unittest(
``````````
</details>
https://github.com/llvm/llvm-project/pull/66834
More information about the cfe-commits
mailing list