Commit 7276ab934d192627c72720ae1378de93edd9e8c7
1 parent
a1108108
Use -Wold-style-cast for C++ if supported
Also separate C and C++ warning flags.
Showing
3 changed files
with
20 additions
and
2 deletions
autoconf.mk.in
| ... | ... | @@ -13,12 +13,13 @@ htmldir=@htmldir@ |
| 13 | 13 | pdfdir=@pdfdir |
| 14 | 14 | CC=@CC@ |
| 15 | 15 | WFLAGS=@WFLAGS@ |
| 16 | +CXXWFLAGS=@CXXWFLAGS@ | |
| 16 | 17 | CFLAGS=@CFLAGS@ $(WFLAGS) |
| 17 | 18 | LDFLAGS=@LDFLAGS@ |
| 18 | 19 | LIBS=@LIBS@ |
| 19 | 20 | CPPFLAGS=@CPPFLAGS@ |
| 20 | 21 | CXX=@CXX@ |
| 21 | -CXXFLAGS=@CXXFLAGS@ $(WFLAGS) | |
| 22 | +CXXFLAGS=@CXXFLAGS@ $(CXXWFLAGS) $(WFLAGS) | |
| 22 | 23 | AR=@AR@ |
| 23 | 24 | RANLIB=@RANLIB@ |
| 24 | 25 | DLLTOOL=@DLLTOOL@ | ... | ... |
configure.ac
| ... | ... | @@ -176,6 +176,7 @@ AC_ARG_WITH(buildrules, |
| 176 | 176 | AC_MSG_RESULT($BUILDRULES) |
| 177 | 177 | |
| 178 | 178 | AC_SUBST(WFLAGS) |
| 179 | +AC_SUBST(CXXWFLAGS) | |
| 179 | 180 | qpdf_USE_EXTRA_WARNINGS=0 |
| 180 | 181 | if test "$BUILDRULES" = "msvc"; then |
| 181 | 182 | dnl /w14267 makes warning 4267 a level 1 warning. This warning reports |
| ... | ... | @@ -197,6 +198,22 @@ if test "$qpdf_USE_EXTRA_WARNINGS" = "1"; then |
| 197 | 198 | else |
| 198 | 199 | AC_MSG_RESULT(no) |
| 199 | 200 | fi |
| 201 | +if test "$BUILDRULES" != "msvc"; then | |
| 202 | + qpdf_USE_EXTRA_WARNINGS=0 | |
| 203 | + try_flags="-Wold-style-cast" | |
| 204 | + AC_MSG_CHECKING(for whether $CXX supports $try_flags) | |
| 205 | + oCXXFLAGS=$CXXFLAGS | |
| 206 | + CXXFLAGS="$CXXFLAGS $try_flags" | |
| 207 | + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[int a = 1; int b = a; a = b;]])], | |
| 208 | + [qpdf_USE_EXTRA_WARNINGS=1],[qpdf_USE_EXTRA_WARNINGS=0]) | |
| 209 | + CXXFLAGS=$oCXXFLAGS | |
| 210 | + if test "$qpdf_USE_EXTRA_WARNINGS" = "1"; then | |
| 211 | + AC_MSG_RESULT(yes) | |
| 212 | + CXXWFLAGS="$try_flags" | |
| 213 | + else | |
| 214 | + AC_MSG_RESULT(no) | |
| 215 | + fi | |
| 216 | +fi | |
| 200 | 217 | |
| 201 | 218 | if test "$BUILDRULES" = "msvc"; then |
| 202 | 219 | try_flags="/WX" | ... | ... |
make/libtool.mk
| ... | ... | @@ -73,7 +73,7 @@ endef |
| 73 | 73 | # Usage: $(call libcompile,src,includes) |
| 74 | 74 | define c_libcompile |
| 75 | 75 | $(LIBTOOL) --quiet --mode=compile \ |
| 76 | - $(CC) $(CXXFLAGS) \ | |
| 76 | + $(CC) $(CFLAGS) \ | |
| 77 | 77 | $(call libdepflags,$(basename $(call c_src_to_obj,$(1)))) \ |
| 78 | 78 | $(foreach I,$(2),-I$(I)) \ |
| 79 | 79 | $(CPPFLAGS) \ | ... | ... |