[all-commits] [llvm/llvm-project] 72f569: [libc] Enable full-build code coverage (#221802)

Tapiwa Gonga via All-commits all-commits at lists.llvm.org
Thu Sep 10 09:50:54 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 72f5694df7b6c9fa94f22468f5cd468d305b9917
      https://github.com/llvm/llvm-project/commit/72f5694df7b6c9fa94f22468f5cd468d305b9917
  Author: Tapiwa Gonga <126596199+tapiwagonga at users.noreply.github.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/docs/dev/code_coverage.md
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/HermeticTestUtils.cpp

  Log Message:
  -----------
  [libc] Enable full-build code coverage (#221802)

Extended LIBC_ENABLE_COVERAGE to support LLVM_LIBC_FULL_BUILD=ON and
added the LIBC_ENABLE_COVERAGE_MCDC CMake option for MC/DC coverage.

This enables developers and CI pipelines to measure source-level and
MC/DC coverage directly on hermetic tests in full-build configurations
without relying on the host C library.

Updated add_libc_hermetic in LLVMLibCTestRules.cmake to link hermetic
tests with -noprofilelib, -u__llvm_profile_runtime, and compiler-rt's
profiling library. Replaced internal entrypoint objects in
link_object_files with public entrypoint objects for the C functions
referenced by libclang_rt.profile.a.

Added calloc and __errno_location to HermeticTestUtils.cpp to satisfy
remaining freestanding profiling runtime dependencies. Updated
libc/docs/dev/code_coverage.md with full-build instructions.

Assisted-by: Automated tooling, human reviewed.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list