127
127
NO_STRICT_ALIASING="-fno-strict-aliasing -Wno-strict-aliasing"
128
128
NO_SHADOW="-Wno-shadow"
130
m4_if(PW_LESS_WARNINGS,[no],[
131
BASE_WARNINGS_FULL="-Wformat=2 ${W_CONVERSION} -Wstrict-aliasing"
132
CC_WARNINGS_FULL="-Wswitch-default -Wswitch-enum -Wwrite-strings"
133
CXX_WARNINGS_FULL="-Weffc++ -Wold-style-cast"
130
AS_IF([test "$INTELCC" = "yes"],[
131
BASE_WARNINGS="-w1 -Wall -Wcheck -Wformat -Wp64 -Woverloaded-virtual -Wcast-qual -diag-disable 981"
132
CC_WARNINGS="${BASE_WARNINGS}"
133
CXX_WARNINGS="${BASE_WARNINGS}"
135
BASE_WARNINGS_FULL="-Wformat ${NO_STRICT_ALIASING}"
138
AS_IF([test "${ac_cv_assert}" = "no"],
139
[NO_UNUSED="-Wno-unused-variable -Wno-unused-parameter"])
141
BASE_WARNINGS="${W_FAIL} -pedantic -Wall -Wextra -Wundef -Wshadow ${NO_UNUSED} ${F_DIAGNOSTICS_SHOW_OPTION} ${CFLAG_VISIBILITY} ${BASE_WARNINGS_FULL}"
142
CC_WARNINGS="${BASE_WARNINGS} -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wcast-align ${CC_WARNINGS_FULL}"
143
CXX_WARNINGS="${BASE_WARNINGS} -Woverloaded-virtual -Wnon-virtual-dtor -Wctor-dtor-privacy -Wno-long-long ${CXX_WARNINGS_FULL}"
145
AC_CACHE_CHECK([whether it is safe to use -Wmissing-declarations from C++],
146
[ac_cv_safe_to_use_Wmissing_declarations_],
148
save_CXXFLAGS="$CXXFLAGS"
149
CXXFLAGS="-Werror -pedantic -Wmissing-declarations ${AM_CXXFLAGS}"
156
[ac_cv_safe_to_use_Wmissing_declarations_=yes],
157
[ac_cv_safe_to_use_Wmissing_declarations_=no])
158
CXXFLAGS="$save_CXXFLAGS"
161
AS_IF([test "$ac_cv_safe_to_use_Wmissing_declarations_" = "yes"],
162
[CXX_WARNINGS="${CXX_WARNINGS} -Wmissing-declarations"])
164
AC_CACHE_CHECK([whether it is safe to use -Wlogical-op],
165
[ac_cv_safe_to_use_Wlogical_op_],
166
[save_CFLAGS="$CFLAGS"
167
CFLAGS="${W_FAIL} -pedantic -Wlogical-op ${AM_CFLAGS} ${CFLAGS}"
174
[ac_cv_safe_to_use_Wlogical_op_=yes],
175
[ac_cv_safe_to_use_Wlogical_op_=no])
176
CFLAGS="$save_CFLAGS"])
177
AS_IF([test "$ac_cv_safe_to_use_Wlogical_op_" = "yes"],
178
[CC_WARNINGS="${CC_WARNINGS} -Wlogical-op"])
180
AC_CACHE_CHECK([whether it is safe to use -Wredundant-decls from C++],
181
[ac_cv_safe_to_use_Wredundant_decls_],
183
save_CXXFLAGS="${CXXFLAGS}"
184
CXXFLAGS="${W_FAIL} -pedantic -Wredundant-decls ${AM_CXXFLAGS}"
135
m4_if(PW_LESS_WARNINGS,[no],[
136
BASE_WARNINGS_FULL="-Wformat=2 ${W_CONVERSION} -Wstrict-aliasing"
137
CC_WARNINGS_FULL="-Wswitch-default -Wswitch-enum -Wwrite-strings"
138
CXX_WARNINGS_FULL="-Weffc++ -Wold-style-cast"
140
BASE_WARNINGS_FULL="-Wformat ${NO_STRICT_ALIASING}"
143
AS_IF([test "${ac_cv_assert}" = "no"],
144
[NO_UNUSED="-Wno-unused-variable -Wno-unused-parameter"])
146
BASE_WARNINGS="${W_FAIL} -pedantic -Wall -Wextra -Wundef -Wshadow ${NO_UNUSED} ${F_DIAGNOSTICS_SHOW_OPTION} ${CFLAG_VISIBILITY} ${BASE_WARNINGS_FULL}"
147
CC_WARNINGS="${BASE_WARNINGS} -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wcast-align ${CC_WARNINGS_FULL}"
148
CXX_WARNINGS="${BASE_WARNINGS} -Woverloaded-virtual -Wnon-virtual-dtor -Wctor-dtor-privacy -Wno-long-long ${CXX_WARNINGS_FULL}"
150
AC_CACHE_CHECK([whether it is safe to use -Wmissing-declarations from C++],
151
[ac_cv_safe_to_use_Wmissing_declarations_],
153
save_CXXFLAGS="$CXXFLAGS"
154
CXXFLAGS="-Werror -pedantic -Wmissing-declarations ${AM_CXXFLAGS}"
161
[ac_cv_safe_to_use_Wmissing_declarations_=yes],
162
[ac_cv_safe_to_use_Wmissing_declarations_=no])
163
CXXFLAGS="$save_CXXFLAGS"
166
AS_IF([test "$ac_cv_safe_to_use_Wmissing_declarations_" = "yes"],
167
[CXX_WARNINGS="${CXX_WARNINGS} -Wmissing-declarations"])
169
AC_CACHE_CHECK([whether it is safe to use -Wlogical-op],
170
[ac_cv_safe_to_use_Wlogical_op_],
171
[save_CFLAGS="$CFLAGS"
172
CFLAGS="${W_FAIL} -pedantic -Wlogical-op ${AM_CFLAGS} ${CFLAGS}"
179
[ac_cv_safe_to_use_Wlogical_op_=yes],
180
[ac_cv_safe_to_use_Wlogical_op_=no])
181
CFLAGS="$save_CFLAGS"])
182
AS_IF([test "$ac_cv_safe_to_use_Wlogical_op_" = "yes"],
183
[CC_WARNINGS="${CC_WARNINGS} -Wlogical-op"])
185
AC_CACHE_CHECK([whether it is safe to use -Wredundant-decls from C++],
186
[ac_cv_safe_to_use_Wredundant_decls_],
188
save_CXXFLAGS="${CXXFLAGS}"
189
CXXFLAGS="${W_FAIL} -pedantic -Wredundant-decls ${AM_CXXFLAGS}"
187
192
template <typename E> struct C { void foo(); };
188
193
template <typename E> void C<E>::foo() { }
189
194
template <> void C<int>::foo();
190
AC_INCLUDES_DEFAULT])],
191
[ac_cv_safe_to_use_Wredundant_decls_=yes],
192
[ac_cv_safe_to_use_Wredundant_decls_=no])
193
CXXFLAGS="${save_CXXFLAGS}"
195
AS_IF([test "$ac_cv_safe_to_use_Wredundant_decls_" = "yes"],
196
[CXX_WARNINGS="${CXX_WARNINGS} -Wredundant-decls"],
197
[CXX_WARNINGS="${CXX_WARNINGS} -Wno-redundant-decls"])
199
NO_REDUNDANT_DECLS="-Wno-redundant-decls"
200
PROTOSKIP_WARNINGS="-Wno-effc++ -Wno-shadow"
195
AC_INCLUDES_DEFAULT])],
196
[ac_cv_safe_to_use_Wredundant_decls_=yes],
197
[ac_cv_safe_to_use_Wredundant_decls_=no])
198
CXXFLAGS="${save_CXXFLAGS}"
200
AS_IF([test "$ac_cv_safe_to_use_Wredundant_decls_" = "yes"],
201
[CXX_WARNINGS="${CXX_WARNINGS} -Wredundant-decls"],
202
[CXX_WARNINGS="${CXX_WARNINGS} -Wno-redundant-decls"])
204
NO_REDUNDANT_DECLS="-Wno-redundant-decls"
205
PROTOSKIP_WARNINGS="-Wno-effc++ -Wno-shadow"
204
210
AS_IF([test "$SUNCC" = "yes"],[