[libc-commits] [libc] [libc] Add compile tests for each public header (PR #122527)
Roland McGrath via libc-commits
libc-commits at lists.llvm.org
Fri Jan 10 16:52:04 PST 2025
================
@@ -483,3 +483,69 @@ add_libc_test(
DEPENDS
libc.include.llvm-libc-macros.math_function_macros
)
+
+# Test `#include <...>` of each header in each available language mode.
+# This is gated on -DLLVM_LIBC_BUILD_HEADER_TESTS=ON until all the bugs
+# in headers are fixed so the tests all compile.
+set(TEST_STDC_VERSIONS 89;99;11;17;23)
+set(TEST_STDCXX_VERSIONS 03;11;14;17;20;23;26)
+
+function(add_header_test target_name source_file deps std_mode)
+ if(LLVM_LIBC_BUILD_HEADER_TESTS)
+ add_libc_test(
+ ${target_name}
+ C_TEST
+ HERMETIC_TEST_ONLY
+ SUITE
+ libc_include_tests
+ SRCS
+ ${source_file}
+ COMPILE_OPTIONS
+ -Werror
+ -Wall
+ -Wextra
----------------
frobtech wrote:
I am wrong! I'm not sure yet how we're plumbing things, but we are getting the system header exception for the libc headers. And boy howdy do we need it! To start with, every file uses `//` comments that `-std=c89` rejects. But there are many other issues that look like real bugs. So I think I will indeed turn it on, and the list of fixes needed to get these tests passing is even longer than we thought.
https://github.com/llvm/llvm-project/pull/122527
More information about the libc-commits
mailing list