This patch adds the r, R, k, and K conversion specifiers to printf, with accompanying tests. They are guarded behind the LIBC_COPT_PRINTF_DISABLE_FIXED_POINT flag as well as automatic fixed point support detection.
32 lines
623 B
CMake
32 lines
623 B
CMake
add_libc_fuzzer(
|
|
printf_parser_fuzz
|
|
SRCS
|
|
printf_parser_fuzz.cpp
|
|
DEPENDS
|
|
libc.src.stdio.printf_core.parser
|
|
)
|
|
|
|
add_libc_fuzzer(
|
|
printf_float_conv_fuzz
|
|
NEED_MPFR
|
|
SRCS
|
|
printf_float_conv_fuzz.cpp
|
|
DEPENDS
|
|
libc.src.stdio.snprintf
|
|
libc.src.__support.FPUtil.fp_bits
|
|
)
|
|
|
|
if(LIBC_COMPILER_HAS_FIXED_POINT)
|
|
add_libc_fuzzer(
|
|
printf_fixed_conv_fuzz
|
|
NEED_MPFR
|
|
SRCS
|
|
printf_fixed_conv_fuzz.cpp
|
|
DEPENDS
|
|
libc.src.stdio.snprintf
|
|
libc.src.__support.fixed_point.fx_bits
|
|
COMPILE_OPTIONS
|
|
-ffixed-point # TODO: add -ffixed-point to fuzz tests automatically
|
|
)
|
|
endif()
|