diff --git a/ci/build-citus.sh b/ci/build-citus.sh index afa84eb69..5343f5638 100755 --- a/ci/build-citus.sh +++ b/ci/build-citus.sh @@ -33,7 +33,12 @@ build_ext() { # do everything in a subdirectory to avoid clutter in current directory mkdir -p "${builddir}" && cd "${builddir}" - CFLAGS=-Werror "${basedir}/configure" PG_CONFIG="/usr/lib/postgresql/${pg_major}/bin/pg_config" --enable-coverage --with-security-flags LLVM_CONFIG=llvm-config-14 CLANG=clang-14 + CFLAGS=-Werror "${basedir}/configure" \ + PG_CONFIG="/usr/lib/postgresql/${pg_major}/bin/pg_config" \ + --enable-coverage \ + --with-security-flags \ + LLVM_CONFIG=llvm-config-14 \ + CLANG=clang-14 installdir="${builddir}/install" make -j$(nproc) -s && mkdir -p "${installdir}" && { make DESTDIR="${installdir}" install-all || make DESTDIR="${installdir}" install ; } diff --git a/configure b/configure index b0c431923..c5bb0fe48 100755 --- a/configure +++ b/configure @@ -4175,7 +4175,88 @@ if test x"$citusac_cv_prog_cc_cflags__Wmissing_prototypes" = x"yes"; then CITUS_CFLAGS="$CITUS_CFLAGS -Wmissing-prototypes" fi -# CITUSAC_PROG_CC_CFLAGS_OPT([-Wnull-dereference]) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wnull-dereference" >&5 +printf %s "checking whether $CC supports -Wnull-dereference... " >&6; } +if test ${citusac_cv_prog_cc_cflags__Wnull_dereference+y} +then : + printf %s "(cached) " >&6 +else $as_nop + citusac_save_CFLAGS=$CFLAGS +flag=-Wnull-dereference +case $flag in -Wno*) + flag=-W$(echo $flag | cut -c 6-) +esac +CFLAGS="$citusac_save_CFLAGS $flag" +ac_save_c_werror_flag=$ac_c_werror_flag +ac_c_werror_flag=yes +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + citusac_cv_prog_cc_cflags__Wnull_dereference=yes +else $as_nop + citusac_cv_prog_cc_cflags__Wnull_dereference=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_c_werror_flag=$ac_save_c_werror_flag +CFLAGS="$citusac_save_CFLAGS" +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $citusac_cv_prog_cc_cflags__Wnull_dereference" >&5 +printf "%s\n" "$citusac_cv_prog_cc_cflags__Wnull_dereference" >&6; } +if test x"$citusac_cv_prog_cc_cflags__Wnull_dereference" = x"yes"; then + CITUS_CFLAGS="$CITUS_CFLAGS -Wnull-dereference" +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wduplicated-branches" >&5 +printf %s "checking whether $CC supports -Wduplicated-branches... " >&6; } +if test ${citusac_cv_prog_cc_cflags__Wduplicated_branches+y} +then : + printf %s "(cached) " >&6 +else $as_nop + citusac_save_CFLAGS=$CFLAGS +flag=-Wduplicated-branches +case $flag in -Wno*) + flag=-W$(echo $flag | cut -c 6-) +esac +CFLAGS="$citusac_save_CFLAGS $flag" +ac_save_c_werror_flag=$ac_c_werror_flag +ac_c_werror_flag=yes +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + citusac_cv_prog_cc_cflags__Wduplicated_branches=yes +else $as_nop + citusac_cv_prog_cc_cflags__Wduplicated_branches=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_c_werror_flag=$ac_save_c_werror_flag +CFLAGS="$citusac_save_CFLAGS" +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $citusac_cv_prog_cc_cflags__Wduplicated_branches" >&5 +printf "%s\n" "$citusac_cv_prog_cc_cflags__Wduplicated_branches" >&6; } +if test x"$citusac_cv_prog_cc_cflags__Wduplicated_branches" = x"yes"; then + CITUS_CFLAGS="$CITUS_CFLAGS -Wduplicated-branches" +fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wduplicated-cond" >&5 printf %s "checking whether $CC supports -Wduplicated-cond... " >&6; } if test ${citusac_cv_prog_cc_cflags__Wduplicated_cond+y} diff --git a/configure.ac b/configure.ac index 10b57bc48..3155b5c2e 100644 --- a/configure.ac +++ b/configure.ac @@ -176,6 +176,7 @@ CITUSAC_PROG_CC_CFLAGS_OPT([-Wmissing-format-attribute]) CITUSAC_PROG_CC_CFLAGS_OPT([-Wmissing-declarations]) CITUSAC_PROG_CC_CFLAGS_OPT([-Wmissing-prototypes]) CITUSAC_PROG_CC_CFLAGS_OPT([-Wnull-dereference]) +CITUSAC_PROG_CC_CFLAGS_OPT([-Wduplicated-branches]) CITUSAC_PROG_CC_CFLAGS_OPT([-Wduplicated-cond]) CITUSAC_PROG_CC_CFLAGS_OPT([-Wlogical-op]) CITUSAC_PROG_CC_CFLAGS_OPT([-Wjump-misses-init])