comparison configure.ac @ 30531:492a37a18b81 stable

Guard usage of non-standard pragmas. * configure.ac (HAVE_PRAGMA_GCC_VISIBILITY): Add new test for "#pragma GCC visibility". (HAVE_PRAGMA_GCC_DIAGNOSTIC): Fix typo in test. * libinterp/template-inst/Array-tc.cc: Use HAVE_PRAGMA_GCC_VISIBILITY. * liboctave/util/blaswrap.c: Use HAVE_PRAGMA_GCC_DIAGNOSTIC. * liboctave/wrappers/stat-wrappers.c, liboctave/wrappers/wait-wrappers.c: Fix indentation.
author Markus Mützel <markus.muetzel@gmx.de>
date Thu, 23 Dec 2021 11:55:09 +0100
parents 9b41aba64c12
children 5ff87e646505 c94757297640
comparison
equal deleted inserted replaced
30530:332e5cbe3fa6 30531:492a37a18b81
2840 AC_SUBST(WARN_LDFLAGS) 2840 AC_SUBST(WARN_LDFLAGS)
2841 2841
2842 ### Check for GCC-specific pragmas to control warnings. 2842 ### Check for GCC-specific pragmas to control warnings.
2843 2843
2844 AC_LANG_PUSH(C++) 2844 AC_LANG_PUSH(C++)
2845 AC_CACHE_CHECK([for @%:@pragma GCC diagnostic push/pop/ignore], 2845 AC_CACHE_CHECK([for @%:@pragma GCC diagnostic push/pop/ignored],
2846 [octave_cv_gcc_has_pragma_GCC_diagnostic], 2846 [octave_cv_gcc_has_pragma_GCC_diagnostic],
2847 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ 2847 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
2848 #pragma GCC diagnostic push 2848 #pragma GCC diagnostic push
2849 #pragma GCC diagnostic ignore "-Wold-style-cast" 2849 #pragma GCC diagnostic ignored "-Wold-style-cast"
2850 int three = (int) 3.1415926; 2850 int three = (int) 3.1415926;
2851 #pragma GCC diagnostic pop 2851 #pragma GCC diagnostic pop
2852 ]])], 2852 ]])],
2853 [octave_cv_gcc_has_pragma_GCC_diagnostic=yes], 2853 [octave_cv_gcc_has_pragma_GCC_diagnostic=yes],
2854 [octave_cv_gcc_has_pragma_GCC_diagnostic=no])], 2854 [octave_cv_gcc_has_pragma_GCC_diagnostic=no])],
2855 ]) 2855 ])
2856 AC_LANG_POP(C++) 2856 AC_LANG_POP(C++)
2857 2857
2858 if test $octave_cv_gcc_has_pragma_GCC_diagnostic = yes; then 2858 if test $octave_cv_gcc_has_pragma_GCC_diagnostic = yes; then
2859 AC_DEFINE(HAVE_PRAGMA_GCC_DIAGNOSTIC, 1, 2859 AC_DEFINE(HAVE_PRAGMA_GCC_DIAGNOSTIC, 1,
2860 [Define to 1 if GCC supports @%:@pragma GCC diagnostic ...]) 2860 [Define to 1 if compiler supports @%:@pragma GCC diagnostic ...])
2861 fi
2862
2863 AC_CACHE_CHECK([for @%:@pragma GCC visibility push/pop],
2864 [octave_cv_gcc_has_pragma_GCC_visiblity],
2865 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
2866 #pragma GCC visibility push(default)
2867 int three = 3;
2868 #pragma GCC visiblity pop(default)
2869 ]])],
2870 [octave_cv_gcc_has_pragma_GCC_visiblity=yes],
2871 [octave_cv_gcc_has_pragma_GCC_visiblity=no])],
2872 ])
2873
2874 if test $octave_cv_gcc_has_pragma_GCC_visiblity = yes; then
2875 AC_DEFINE(HAVE_PRAGMA_GCC_VISIBILITY, 1,
2876 [Define to 1 if compiler supports @%:@pragma GCC visiblity ...])
2861 fi 2877 fi
2862 2878
2863 ## Check for one unusual warning used in pragmas that is not always available 2879 ## Check for one unusual warning used in pragmas that is not always available
2864 if test $octave_cv_gcc_has_pragma_GCC_diagnostic = yes; then 2880 if test $octave_cv_gcc_has_pragma_GCC_diagnostic = yes; then
2865 OCTAVE_CC_FLAG([-Wimplicit-fallthrough], 2881 OCTAVE_CC_FLAG([-Wimplicit-fallthrough],
2866 [AC_DEFINE(HAVE_WARN_IMPLICIT_FALLTHROUGH, 1, 2882 [AC_DEFINE(HAVE_WARN_IMPLICIT_FALLTHROUGH, 1,
2867 [Define to 1 if GCC supports -Wimplicit-fallthrough warning])]) 2883 [Define to 1 if compiler supports -Wimplicit-fallthrough warning])])
2868 fi 2884 fi
2869 2885
2870 ### These are recommended by the gnulib bootstrap script: 2886 ### These are recommended by the gnulib bootstrap script:
2871 2887
2872 GNULIB_LINK_DEPS="$FREXPF_LIBM $FREXP_LIBM $GETHOSTNAME_LIB $LIBSOCKET $LIB_CLOCK_GETTIME $LIB_CRYPTO $LIB_GETLOGIN $LIB_NANOSLEEP $LIB_SELECT $LTLIBICONV $LTLIBINTL $LTLIBTHREAD $INTL_MACOSX_LIBS" 2888 GNULIB_LINK_DEPS="$FREXPF_LIBM $FREXP_LIBM $GETHOSTNAME_LIB $LIBSOCKET $LIB_CLOCK_GETTIME $LIB_CRYPTO $LIB_GETLOGIN $LIB_NANOSLEEP $LIB_SELECT $LTLIBICONV $LTLIBINTL $LTLIBTHREAD $INTL_MACOSX_LIBS"