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