Mercurial > jwe > octave
diff configure.ac @ 21023:ec532a439c6f
rework method of disabling warnings from GCC
* configure.ac: Check for GCC's #pragma GCC diagnostic feature.
* libinterp/module.mk, libinterp/corefcn/module.mk,
libinterp/parse-tree/module.mk: Eliminate separate libraries for TeX
and Octave parsers.
* oct-tex-lexer.in.ll, oct-tex-parser.in.yy, lex.ll, oct-parse.in.yy:
Use GCC #pragma GCC diagnostic feature to more selectively disable
warnings in generated code.
* libgui/module.mk (rcc-command): Use GCC #pragma GCC diagnostic
feature to more selectively disable warnings in generated code.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 31 Dec 2015 17:06:36 -0500 |
parents | e429ddca0d51 |
children | c1df36373272 |
line wrap: on
line diff
--- a/configure.ac Thu Dec 31 13:45:43 2015 -0500 +++ b/configure.ac Thu Dec 31 17:06:36 2015 -0500 @@ -2555,6 +2555,27 @@ AC_SUBST(WARN_CXXFLAGS) AC_SUBST(WARN_LDFLAGS) +## Also check for the GCC-specific pragmas for controlling warnings. + +AC_CACHE_CHECK([for @%:@pragma GCC diagnostic push/pop/ignore], + [octave_cv_gcc_has_pragma_GCC_diagnostic], + [AC_LANG_PUSH(C++) + AC_TRY_COMPILE([], [ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignore "-Wold-style-cast" + int three = (int) 3.1415926; +#pragma GCC diagnostic pop + ], + [octave_cv_gcc_has_pragma_GCC_diagnostic=yes], + [octave_cv_gcc_has_pragma_GCC_diagnostic=no]) + AC_LANG_POP(C++)], + ]) + +if test $octave_cv_gcc_has_pragma_GCC_diagnostic = yes; then + AC_DEFINE(HAVE_PRAGMA_GCC_DIAGNOSTIC, 1, + [define if GCC supports @%:@pragma GCC diagnostic ...]) +fi + ### Check for Java. build_java=yes