pre_src_configure() { # Avoid noise from intentional ones... export ac_cv_c_undeclared_builtin_options="none needed" export ac_cv_func___fpurge="yes" export ac_cv_func_fpurge="yes" export ac_cv_have_decl_fpurge="no" export ac_cv_header_sys_types_h_makedev="no" export gl_cv_func_fpurge_works="no" export gl_cv_compiler_check_decl_option="-Werror=implicit-function-declaration" export gl_cv_minmax_in_limits_h="no" cat <<- EOF > "${T}"/clang #!/usr/bin/env bash # Need > /dev/null for sys-libs/musl clang-15 -Wno-unused-command-line-argument -Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=strict-prototypes \$@ 2>&1 | ansifilter | sed \ -e "s:14.0.6:14.ignoreme:g" \ -e "s:15.0.0:14.ignoreme:g" \ -e "s:conftest-.*\.o:conftest.o:g" \ -e "s_conftest\.c\:[0-9]\+\:[0-9]\+_ignoreme_g" \ -e '/[0-9]\+ \(warning\|error\) generated/d' | tee -a "${T}"/clang14.log > /dev/null clang-15 -Wno-unused-command-line-argument -Werror=implicit-function-declaration -Werror=implicit-int -Werror=strict-prototypes \$@ 2>&1 | ansifilter | sed \ -e "s:14.0.6:14.ignoreme:g" \ -e "s:15.0.0:14.ignoreme:g" \ -e "s:15:14:g" \ -e "s:conftest-.*\.o:conftest.o:g" \ -e "s_conftest\.c\:[0-9]\+\:[0-9]\+_ignoreme_g" \ -e '/[0-9]\+ \(warning\|error\) generated/d' | tee -a "${T}"/clang15.log > /dev/null x=\${PIPESTATUS} # Non-Autoconf configure scripts might try to parse stderr/stdout, so just run # it again... if [[ -f configure ]] && ! grep -q "#.*Generated by Autoconf" configure ; then clang-15 \$@ else exit \${x[0]} fi EOF chmod +x "${T}"/clang export OLD_PATH="${PATH}" export PATH="${T}:${PATH}" } post_src_configure() { if [[ -z ${OLD_PATH} ]] ; then return fi export PATH="${OLD_PATH}" if [[ -f "${T}"/clang14.log ]] ; then mkdir -p /var/tmp/clang/${CATEGORY}/${PF} cp -rv "${T}"/clang{14,15}.log /var/tmp/clang/${CATEGORY}/${PF} diff -ruN "${T}"/clang{14,15}.log > /var/tmp/clang/${CATEGORY}/${PF}/clang.diff fi }