- AC_SUBST([WERROR_CFLAGS])
- gl_WARN_ADD([-Wall])
- gl_WARN_ADD([-Wextra -Wno-sign-compare])
- gl_WARN_ADD([-Wcast-align])
- gl_WARN_ADD([-Wcast-qual])
- gl_WARN_ADD([-Wformat])
- gl_WARN_ADD([-Wpointer-arith])
- gl_WARN_ADD([-Wwrite-strings])
- AC_SUBST([WARN_CXXFLAGS], [$WARN_CFLAGS])
- # The following warnings are not suitable for C++.
- gl_WARN_ADD([-Wbad-function-cast])
- gl_WARN_ADD([-Wmissing-declarations])
- gl_WARN_ADD([-Wmissing-prototypes])
- gl_WARN_ADD([-Wshadow])
- gl_WARN_ADD([-Wstrict-prototypes])
- AC_SUBST([WARN_CFLAGS])
- AC_DEFINE([lint], 1, [Define to 1 if the compiler is checking for lint.])
+ # Warnings for the test suite only.
+ gl_WARN_ADD([-Wundef], [WARN_CFLAGS_TEST])
+ gl_WARN_ADD([-pedantic], [WARN_CFLAGS_TEST])
+ AC_LANG_POP([C])
+
+ AC_LANG_PUSH([C++])
+ for i in $warn_common $warn_cxx;
+ do
+ gl_WARN_ADD([$i], [WARN_CXXFLAGS])
+ done
+ gl_WARN_ADD([ -Wzero-as-null-pointer-constant], [WARN_CXXFLAGS],
+ [AC_LANG_PROGRAM([], [nullptr])])
+ gl_WARN_ADD([-Werror], [WERROR_CXXFLAGS])
+ # Warnings for the test suite only.
+ gl_WARN_ADD([-Wundef], [WARN_CXXFLAGS_TEST])
+ gl_WARN_ADD([-pedantic], [WARN_CXXFLAGS_TEST])
+ AC_LANG_POP([C++])