llvm-project/libcxx/utils/ci/oss-fuzz.sh
John Ericson 176db3b3ab [RFC] Remove support for building C++ with LLVM_ENABLE_PROJECTS
This has been officially deprecated since D112724, meaning the
deprecation warning is present in released 14 and 15.

This makes me think that now, shortly after the 15 release is branched,
is a good time to pull the trigger.

Reviewed By: phosek

Differential Revision: https://reviews.llvm.org/D132324
2022-08-21 08:10:56 -04:00

34 lines
922 B
Bash
Executable File

#!/bin/bash -eu
#
# This script runs the continuous fuzzing tests on OSS-Fuzz.
#
if [[ ${SANITIZER} = *undefined* ]]; then
CXXFLAGS="${CXXFLAGS} -fsanitize=unsigned-integer-overflow -fsanitize-trap=unsigned-integer-overflow"
fi
BUILD=cxx_build_dir
INSTALL=cxx_install_dir
mkdir ${BUILD}
cmake -S ${PWD} -B ${BUILD} \
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX="${INSTALL}"
cmake --build ${BUILD} --target install-cxx-headers
for test in libcxx/test/libcxx/fuzzing/*.pass.cpp; do
exe="$(basename ${test})"
exe="${exe%.pass.cpp}"
${CXX} ${CXXFLAGS} \
-std=c++14 \
-DLIBCPP_OSS_FUZZ \
-D_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS \
-nostdinc++ -cxx-isystem ${INSTALL}/include/c++/v1 \
-lpthread -ldl \
-o "${OUT}/${exe}" \
${test} \
${LIB_FUZZING_ENGINE}
done