Commit 734ab587649f27dcb44458cfb43cf809ffdd9fc5

Authored by Jay Berkenbilt
1 parent 92d3cbec

Use -Wshadow=local if supported

autofiles.sums
1   -c9b8555013e70c93572e0be5f5c7c03c6b7e0680de4870010945357a02909eaa configure.ac
  1 +be950d7be6b0aa2c9c926ac43ca9478ef864b1cb2c8184fd393c9ce4c0972bcc configure.ac
2 2 d3f9ee6f6f0846888d9a10fd3dad2e4b1258be84205426cf04d7cef02d61dad7 aclocal.m4
3 3 b0ce6d1dba8effa47d25154b2bb56eddafc997254a0f3f903cf9b6abffc03616 libqpdf/qpdf/qpdf-config.h.in
4 4 5297971a0ef90bcd5563eb3f7127a032bb76d3ae2af7258bf13479caf8983a60 m4/ax_cxx_compile_stdcxx.m4
... ...
configure
... ... @@ -785,7 +785,6 @@ enable_largefile
785 785 enable_ld_version_script
786 786 with_buildrules
787 787 enable_werror
788   -enable_int_warnings
789 788 enable_implicit_crypto
790 789 enable_crypto_native
791 790 enable_crypto_openssl
... ... @@ -1473,8 +1472,6 @@ Optional Features:
1473 1472 --enable-ld-version-script
1474 1473 enable linker version script (default is enabled)
1475 1474 --enable-werror whether to treat warnings as errors (default is no)
1476   - --enable-int-warnings whether to turn on integer type warnings (default is
1477   - yes)
1478 1475 --enable-implicit-crypto
1479 1476 whether to enable available crypto providers that
1480 1477 are not explicitly requested; true by default
... ... @@ -17631,26 +17628,70 @@ if test "$BUILDRULES" = "msvc"; then
17631 17628 else
17632 17629 try_flags="-Wconversion -Wsign-conversion"
17633 17630 fi
  17631 +oCFLAGS=$CFLAGS
  17632 +CFLAGS="$CFLAGS $try_flags"
17634 17633 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for whether to use $try_flags" >&5
17635 17634 $as_echo_n "checking for whether to use $try_flags... " >&6; }
17636   -# Check whether --enable-int-warnings was given.
17637   -if test "${enable_int_warnings+set}" = set; then :
17638   - enableval=$enable_int_warnings; if test "$enableval" = "yes"; then
17639   - qpdf_INT_WARNINGS=1;
17640   - else
17641   - qpdf_INT_WARNINGS=0;
17642   - fi
17643   -else
  17635 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  17636 +/* end confdefs.h. */
  17637 +
  17638 +int
  17639 +main ()
  17640 +{
  17641 +int a = 1; int b = a; a = b;
  17642 + ;
  17643 + return 0;
  17644 +}
  17645 +_ACEOF
  17646 +if ac_fn_c_try_compile "$LINENO"; then :
17644 17647 qpdf_INT_WARNINGS=1
  17648 +else
  17649 + qpdf_INT_WARNINGS=0
17645 17650 fi
17646   -
  17651 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17647 17652 if test "$qpdf_INT_WARNINGS" = "1"; then
17648 17653 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
17649 17654 $as_echo "yes" >&6; }
17650   - WFLAGS="$WFLAGS $try_flags"
  17655 + CXXFLAGS="$CXXFLAGS $try_flags"
17651 17656 else
17652 17657 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17653 17658 $as_echo "no" >&6; }
  17659 + CFLAGS=$oCFLAGS
  17660 +fi
  17661 +
  17662 +if test "$BUILDRULES" != "msvc"; then
  17663 + try_flags="-Wshadow=local"
  17664 + oCFLAGS=$CFLAGS
  17665 + CFLAGS="$CFLAGS $try_flags -Werror"
  17666 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for whether to use $try_flags" >&5
  17667 +$as_echo_n "checking for whether to use $try_flags... " >&6; }
  17668 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  17669 +/* end confdefs.h. */
  17670 +
  17671 +int
  17672 +main ()
  17673 +{
  17674 +int a = 1; int b = a; a = b;
  17675 + ;
  17676 + return 0;
  17677 +}
  17678 +_ACEOF
  17679 +if ac_fn_c_try_compile "$LINENO"; then :
  17680 + qpdf_SHADOW_WARNINGS=1
  17681 +else
  17682 + qpdf_SHADOW_WARNINGS=0
  17683 +fi
  17684 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  17685 + if test "$qpdf_SHADOW_WARNINGS" = "1"; then
  17686 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  17687 +$as_echo "yes" >&6; }
  17688 + CFLAGS="$oCFLAGS $try_flags"
  17689 + CXXFLAGS="$CXXFLAGS $try_flags"
  17690 + else
  17691 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  17692 +$as_echo "no" >&6; }
  17693 + CFLAGS=$oCFLAGS
  17694 + fi
17654 17695 fi
17655 17696  
17656 17697  
... ...
configure.ac
... ... @@ -475,20 +475,34 @@ if test &quot;$BUILDRULES&quot; = &quot;msvc&quot;; then
475 475 else
476 476 try_flags="-Wconversion -Wsign-conversion"
477 477 fi
  478 +oCFLAGS=$CFLAGS
  479 +CFLAGS="$CFLAGS $try_flags"
478 480 AC_MSG_CHECKING(for whether to use $try_flags)
479   -AC_ARG_ENABLE(int-warnings,
480   - AS_HELP_STRING([--enable-int-warnings],
481   - [whether to turn on integer type warnings (default is yes)]),
482   - [if test "$enableval" = "yes"; then
483   - qpdf_INT_WARNINGS=1;
484   - else
485   - qpdf_INT_WARNINGS=0;
486   - fi], [qpdf_INT_WARNINGS=1])
  481 +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[int a = 1; int b = a; a = b;]])],
  482 + [qpdf_INT_WARNINGS=1],[qpdf_INT_WARNINGS=0])
487 483 if test "$qpdf_INT_WARNINGS" = "1"; then
488 484 AC_MSG_RESULT(yes)
489   - WFLAGS="$WFLAGS $try_flags"
  485 + CXXFLAGS="$CXXFLAGS $try_flags"
490 486 else
491 487 AC_MSG_RESULT(no)
  488 + CFLAGS=$oCFLAGS
  489 +fi
  490 +
  491 +if test "$BUILDRULES" != "msvc"; then
  492 + try_flags="-Wshadow=local"
  493 + oCFLAGS=$CFLAGS
  494 + CFLAGS="$CFLAGS $try_flags -Werror"
  495 + AC_MSG_CHECKING(for whether to use $try_flags)
  496 + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[int a = 1; int b = a; a = b;]])],
  497 + [qpdf_SHADOW_WARNINGS=1],[qpdf_SHADOW_WARNINGS=0])
  498 + if test "$qpdf_SHADOW_WARNINGS" = "1"; then
  499 + AC_MSG_RESULT(yes)
  500 + CFLAGS="$oCFLAGS $try_flags"
  501 + CXXFLAGS="$CXXFLAGS $try_flags"
  502 + else
  503 + AC_MSG_RESULT(no)
  504 + CFLAGS=$oCFLAGS
  505 + fi
492 506 fi
493 507  
494 508 AC_SUBST(WINDOWS_WMAIN_XLINK_FLAGS)
... ...