[libc-commits] [libc] 3c2968b - [libc][fuzzing] Re-enable math fuzzing with internal headers (#231744)

via libc-commits libc-commits at lists.llvm.org
Sat Oct 17 23:42:03 PDT 2026


Author: Aman Maurya
Date: 2026-10-18T12:11:57+05:30
New Revision: 3c2968bbb362ee1d4a9e701fd2d8c5d37993d497

URL: https://github.com/llvm/llvm-project/commit/3c2968bbb362ee1d4a9e701fd2d8c5d37993d497
DIFF: https://github.com/llvm/llvm-project/commit/3c2968bbb362ee1d4a9e701fd2d8c5d37993d497.diff

LOG: [libc][fuzzing] Re-enable math fuzzing with internal headers (#231744)

Re-enable math fuzzing after header inclusion decoupling.

- Replace `<math.h>` with `"hdr/math_function_macros.h"` across math
fuzzers and add CMake dependencies.
- Re-enable `add_subdirectory(math)` in `libc/fuzzing/CMakeLists.txt`.
- Forward `LINK_LIBRARIES` in `add_libc_fuzzer`.
- Skip comparing unspecified `frexp` side-effects for NaN/Inf in
`SingleInputSingleOutputDiff.h`.

Fixes #85680

Assisted-by: Automated tooling, human reviewed.

Added: 
    

Modified: 
    libc/cmake/modules/LLVMLibCTestRules.cmake
    libc/fuzzing/CMakeLists.txt
    libc/fuzzing/math/CMakeLists.txt
    libc/fuzzing/math/SingleInputSingleOutputDiff.h
    libc/fuzzing/math/acos_fuzz.cpp
    libc/fuzzing/math/asin_fuzz.cpp
    libc/fuzzing/math/cbrt_fuzz.cpp
    libc/fuzzing/math/cos_fuzz.cpp
    libc/fuzzing/math/exp10_fuzz.cpp
    libc/fuzzing/math/exp2_fuzz.cpp
    libc/fuzzing/math/exp_fuzz.cpp
    libc/fuzzing/math/expm1_fuzz.cpp
    libc/fuzzing/math/f16sqrt_fuzz.cpp
    libc/fuzzing/math/fsqrt_fuzz.cpp
    libc/fuzzing/math/hypot_fuzz.cpp
    libc/fuzzing/math/log10_fuzz.cpp
    libc/fuzzing/math/log1p_fuzz.cpp
    libc/fuzzing/math/log2_fuzz.cpp
    libc/fuzzing/math/log_fuzz.cpp
    libc/fuzzing/math/sin_fuzz.cpp
    libc/fuzzing/math/sincos_fuzz.cpp
    libc/fuzzing/math/sqrt_fuzz.cpp
    libc/fuzzing/math/tan_fuzz.cpp

Removed: 
    


################################################################################
diff  --git a/libc/cmake/modules/LLVMLibCTestRules.cmake b/libc/cmake/modules/LLVMLibCTestRules.cmake
index 13b50c1799aaa9..56a51e161fcdd2 100644
--- a/libc/cmake/modules/LLVMLibCTestRules.cmake
+++ b/libc/cmake/modules/LLVMLibCTestRules.cmake
@@ -476,7 +476,7 @@ function(add_libc_fuzzer target_name)
     "LIBC_FUZZER"
     "NEED_MPFR" # Optional arguments
     "" # Single value arguments
-    "SRCS;HDRS;DEPENDS;COMPILE_OPTIONS" # Multi-value arguments
+    "SRCS;HDRS;DEPENDS;COMPILE_OPTIONS;LINK_LIBRARIES" # Multi-value arguments
     ${ARGN}
   )
   if(NOT LIBC_FUZZER_SRCS)
@@ -488,13 +488,13 @@ function(add_libc_fuzzer target_name)
       "'add_entrypoint_object' targets.")
   endif()
 
-  list(APPEND LIBC_FUZZER_LINK_LIBRARIES "")
+  set(link_libraries ${LIBC_FUZZER_LINK_LIBRARIES})
   if(LIBC_FUZZER_NEED_MPFR)
     if(NOT LIBC_TESTS_CAN_USE_MPFR)
-      message(VERBOSE "Fuzz test ${name} will be skipped as MPFR library is not available.")
+      message(VERBOSE "Fuzz test ${target_name} will be skipped as MPFR library is not available.")
       return()
     endif()
-    list(APPEND LIBC_FUZZER_LINK_LIBRARIES mpfr gmp)
+    list(APPEND link_libraries mpfr gmp)
   endif()
 
 
@@ -530,7 +530,7 @@ function(add_libc_fuzzer target_name)
 
   target_link_libraries(${fq_target_name} PRIVATE
     ${link_object_files}
-    ${LIBC_FUZZER_LINK_LIBRARIES}
+    ${link_libraries}
   )
 
   set_target_properties(${fq_target_name}

diff  --git a/libc/fuzzing/CMakeLists.txt b/libc/fuzzing/CMakeLists.txt
index de3ae527b495ab..a15a89f6a6ec02 100644
--- a/libc/fuzzing/CMakeLists.txt
+++ b/libc/fuzzing/CMakeLists.txt
@@ -3,7 +3,6 @@ add_custom_target(libc-fuzzer)
 
 add_subdirectory(__support)
 add_subdirectory(arpa)
-# TODO(#85680): Re-enable math fuzzing after headers are sorted out
 add_subdirectory(math)
 add_subdirectory(stdlib)
 add_subdirectory(stdio)

diff  --git a/libc/fuzzing/math/CMakeLists.txt b/libc/fuzzing/math/CMakeLists.txt
index 19416fc5fdcf66..8d330ca4951f54 100644
--- a/libc/fuzzing/math/CMakeLists.txt
+++ b/libc/fuzzing/math/CMakeLists.txt
@@ -9,6 +9,7 @@ add_libc_fuzzer(
     TwoInputSingleOutputDiff.h
   DEPENDS
     libc.hdr.math_macros
+    libc.hdr.math_function_macros
     libc.src.math.ceil
     libc.src.math.ceilf
     libc.src.math.ceill
@@ -57,6 +58,8 @@ add_libc_fuzzer(
   HDRS
     TwoInputSingleOutputDiff.h
   DEPENDS
+    libc.hdr.math_macros
+    libc.hdr.math_function_macros
     libc.src.math.nextafter
     libc.src.math.nextafterf
     libc.src.math.nextafterl
@@ -68,6 +71,7 @@ add_libc_fuzzer(
   SRCS
     exp_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.math.exp
 )
 
@@ -77,6 +81,7 @@ add_libc_fuzzer(
   SRCS
     exp10_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.math.exp10
 )
 
@@ -86,6 +91,7 @@ add_libc_fuzzer(
   SRCS
     exp2_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.math.exp2
 )
 
@@ -95,6 +101,7 @@ add_libc_fuzzer(
   SRCS
     expm1_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.math.expm1
 )
 
@@ -104,6 +111,7 @@ add_libc_fuzzer(
   SRCS
     asin_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.math.asin
 )
 
@@ -113,6 +121,7 @@ add_libc_fuzzer(
   SRCS
     sin_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.math.sin
 )
 
@@ -122,6 +131,7 @@ add_libc_fuzzer(
   SRCS
     acos_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.math.acos
 )
 
@@ -131,6 +141,7 @@ add_libc_fuzzer(
   SRCS
     cos_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.math.cos
 )
 
@@ -140,6 +151,7 @@ add_libc_fuzzer(
   SRCS
     tan_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.math.tan
 )
 
@@ -149,6 +161,7 @@ add_libc_fuzzer(
   SRCS
     sincos_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.math.sincos
 )
 
@@ -158,6 +171,7 @@ add_libc_fuzzer(
   SRCS
     log_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.math.log
 )
 
@@ -167,6 +181,7 @@ add_libc_fuzzer(
   SRCS
     log10_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.math.log10
 )
 
@@ -176,6 +191,7 @@ add_libc_fuzzer(
   SRCS
     log1p_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.math.log1p
 )
 
@@ -185,6 +201,7 @@ add_libc_fuzzer(
   SRCS
     log2_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.math.log2
 )
 
@@ -194,6 +211,7 @@ add_libc_fuzzer(
   SRCS
     sqrt_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.__support.FPUtil.generic.sqrt
 )
 
@@ -203,6 +221,7 @@ add_libc_fuzzer(
   SRCS
     cbrt_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.math.cbrt
 )
 
@@ -212,6 +231,7 @@ add_libc_fuzzer(
   SRCS
     fsqrt_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.math.fsqrt
 )
 
@@ -221,6 +241,7 @@ add_libc_fuzzer(
   SRCS
     f16sqrt_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.math.f16sqrt
 )
 
@@ -230,5 +251,6 @@ add_libc_fuzzer(
   SRCS
     hypot_fuzz.cpp
   DEPENDS
+    libc.hdr.math_function_macros
     libc.src.math.hypot
 )

diff  --git a/libc/fuzzing/math/SingleInputSingleOutputDiff.h b/libc/fuzzing/math/SingleInputSingleOutputDiff.h
index bdf54ee9af6c4f..d530ff4a5f87d0 100644
--- a/libc/fuzzing/math/SingleInputSingleOutputDiff.h
+++ b/libc/fuzzing/math/SingleInputSingleOutputDiff.h
@@ -10,6 +10,8 @@
 #define LLVM_LIBC_FUZZING_MATH_SINGLE_INPUT_SINGLE_OUTPUT_DIFF_H
 
 #include "fuzzing/math/Compare.h"
+#include "src/__support/CPP/type_traits.h"
+#include "src/__support/FPUtil/FPBits.h"
 
 #include <stddef.h>
 #include <stdint.h>
@@ -44,7 +46,7 @@ void SingleInputSingleOutputWithSideEffectDiff(
     return;
 
   T1 x = *reinterpret_cast<const T1 *>(data);
-  T2 sideEffect1, sideEffect2;
+  T2 sideEffect1 = 0, sideEffect2 = 0;
 
   T1 result1 = func1(x, &sideEffect1);
   T1 result2 = func2(x, &sideEffect2);
@@ -52,6 +54,13 @@ void SingleInputSingleOutputWithSideEffectDiff(
   if (!ValuesEqual(result1, result2))
     __builtin_trap();
 
+  // If x is inf or nan and T2 is integral (e.g. frexp), the value of sideEffect
+  // (*exp) is unspecified by the ISO C standard (ยง7.12.6.4).
+  if (LIBC_NAMESPACE::cpp::is_floating_point_v<T1> &&
+      LIBC_NAMESPACE::fputil::FPBits<T1>(x).is_inf_or_nan() &&
+      LIBC_NAMESPACE::cpp::is_integral_v<T2>)
+    return;
+
   if (!ValuesEqual(sideEffect1, sideEffect2))
     __builtin_trap();
 }

diff  --git a/libc/fuzzing/math/acos_fuzz.cpp b/libc/fuzzing/math/acos_fuzz.cpp
index 48fb4eacc3a795..41622db8792f33 100644
--- a/libc/fuzzing/math/acos_fuzz.cpp
+++ b/libc/fuzzing/math/acos_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/math/acos.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t input;

diff  --git a/libc/fuzzing/math/asin_fuzz.cpp b/libc/fuzzing/math/asin_fuzz.cpp
index e27d1796068241..84827a3dd78af4 100644
--- a/libc/fuzzing/math/asin_fuzz.cpp
+++ b/libc/fuzzing/math/asin_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/math/asin.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t input;

diff  --git a/libc/fuzzing/math/cbrt_fuzz.cpp b/libc/fuzzing/math/cbrt_fuzz.cpp
index 95f1df1695e56c..d32b0494b0bf72 100644
--- a/libc/fuzzing/math/cbrt_fuzz.cpp
+++ b/libc/fuzzing/math/cbrt_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/math/cbrt.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t input;

diff  --git a/libc/fuzzing/math/cos_fuzz.cpp b/libc/fuzzing/math/cos_fuzz.cpp
index 6ed1e9ed8f3097..8d3d9fa4989ea0 100644
--- a/libc/fuzzing/math/cos_fuzz.cpp
+++ b/libc/fuzzing/math/cos_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/math/cos.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t input;

diff  --git a/libc/fuzzing/math/exp10_fuzz.cpp b/libc/fuzzing/math/exp10_fuzz.cpp
index d939948b723a56..1a933f0fded98c 100644
--- a/libc/fuzzing/math/exp10_fuzz.cpp
+++ b/libc/fuzzing/math/exp10_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/math/exp10.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t input;

diff  --git a/libc/fuzzing/math/exp2_fuzz.cpp b/libc/fuzzing/math/exp2_fuzz.cpp
index a29d3c00da6722..49c399f7ba98a3 100644
--- a/libc/fuzzing/math/exp2_fuzz.cpp
+++ b/libc/fuzzing/math/exp2_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/math/exp2.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t input;

diff  --git a/libc/fuzzing/math/exp_fuzz.cpp b/libc/fuzzing/math/exp_fuzz.cpp
index 66823596dc6faa..5d6711cd96804d 100644
--- a/libc/fuzzing/math/exp_fuzz.cpp
+++ b/libc/fuzzing/math/exp_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/math/exp.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t input;

diff  --git a/libc/fuzzing/math/expm1_fuzz.cpp b/libc/fuzzing/math/expm1_fuzz.cpp
index 0690e449c3d23b..852078060b0985 100644
--- a/libc/fuzzing/math/expm1_fuzz.cpp
+++ b/libc/fuzzing/math/expm1_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/math/expm1.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t input;

diff  --git a/libc/fuzzing/math/f16sqrt_fuzz.cpp b/libc/fuzzing/math/f16sqrt_fuzz.cpp
index 9a097a5553053a..25574dc206c6d1 100644
--- a/libc/fuzzing/math/f16sqrt_fuzz.cpp
+++ b/libc/fuzzing/math/f16sqrt_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/math/f16sqrt.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t input;

diff  --git a/libc/fuzzing/math/fsqrt_fuzz.cpp b/libc/fuzzing/math/fsqrt_fuzz.cpp
index 06bb231532fd11..aa37b8f18aa5b1 100644
--- a/libc/fuzzing/math/fsqrt_fuzz.cpp
+++ b/libc/fuzzing/math/fsqrt_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/math/fsqrt.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t input;

diff  --git a/libc/fuzzing/math/hypot_fuzz.cpp b/libc/fuzzing/math/hypot_fuzz.cpp
index 6129e4199f9041..a342936402af62 100644
--- a/libc/fuzzing/math/hypot_fuzz.cpp
+++ b/libc/fuzzing/math/hypot_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/math/hypot.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t in_x;

diff  --git a/libc/fuzzing/math/log10_fuzz.cpp b/libc/fuzzing/math/log10_fuzz.cpp
index 369408cc288b5a..d88de188c19ed3 100644
--- a/libc/fuzzing/math/log10_fuzz.cpp
+++ b/libc/fuzzing/math/log10_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/math/log10.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t input;

diff  --git a/libc/fuzzing/math/log1p_fuzz.cpp b/libc/fuzzing/math/log1p_fuzz.cpp
index e02c61a352c1f8..99612316621884 100644
--- a/libc/fuzzing/math/log1p_fuzz.cpp
+++ b/libc/fuzzing/math/log1p_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/math/log1p.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t input;

diff  --git a/libc/fuzzing/math/log2_fuzz.cpp b/libc/fuzzing/math/log2_fuzz.cpp
index c3e53c639cba98..2f14256ba13d67 100644
--- a/libc/fuzzing/math/log2_fuzz.cpp
+++ b/libc/fuzzing/math/log2_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/math/log2.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t input;

diff  --git a/libc/fuzzing/math/log_fuzz.cpp b/libc/fuzzing/math/log_fuzz.cpp
index 9618accf3db262..9c7088d207a54b 100644
--- a/libc/fuzzing/math/log_fuzz.cpp
+++ b/libc/fuzzing/math/log_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/math/log.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t input;

diff  --git a/libc/fuzzing/math/sin_fuzz.cpp b/libc/fuzzing/math/sin_fuzz.cpp
index f6d59c7e496bcc..5c94be6bfe60d4 100644
--- a/libc/fuzzing/math/sin_fuzz.cpp
+++ b/libc/fuzzing/math/sin_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/math/sin.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t input;

diff  --git a/libc/fuzzing/math/sincos_fuzz.cpp b/libc/fuzzing/math/sincos_fuzz.cpp
index 3d3306721fc476..138f41307f16e2 100644
--- a/libc/fuzzing/math/sincos_fuzz.cpp
+++ b/libc/fuzzing/math/sincos_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/math/sincos.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t input;

diff  --git a/libc/fuzzing/math/sqrt_fuzz.cpp b/libc/fuzzing/math/sqrt_fuzz.cpp
index 969b4f58e342cf..8e6c600f495701 100644
--- a/libc/fuzzing/math/sqrt_fuzz.cpp
+++ b/libc/fuzzing/math/sqrt_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/__support/FPUtil/generic/sqrt.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t input;

diff  --git a/libc/fuzzing/math/tan_fuzz.cpp b/libc/fuzzing/math/tan_fuzz.cpp
index 63d3b12866a0ed..f71dc51c29da3e 100644
--- a/libc/fuzzing/math/tan_fuzz.cpp
+++ b/libc/fuzzing/math/tan_fuzz.cpp
@@ -10,12 +10,12 @@
 ///
 //===----------------------------------------------------------------------===//
 
+#include "hdr/math_function_macros.h"
 #include "src/math/tan.h"
 #include "utils/MPFRWrapper/mpfr_inc.h"
 #include <cstdint>
 #include <cstring>
 #include <iostream>
-#include <math.h>
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   mpfr_t input;


        


More information about the libc-commits mailing list