From 321f760bc3a6c6e5acb8807de00f4b502568e268 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 28 Feb 2010 11:09:21 +0000 Subject: [PATCH] Only add -woff 3970 to C[XX]FLAGS when using SGI mipsPro 7.4.4 or later. Previous mipsPro versions don't give this warning but do warn about "unknown warning number 3970" if we use this -woff which is even more annoying than original warning we tried to suppress. This is a forward port of r45896 which somehow was only applied to 2.8 branch. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63584 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- configure | 136 ++++++++++++++++++++++++++++++++++++++++++++++++++- configure.in | 51 ++++++++++++++++--- 2 files changed, 179 insertions(+), 8 deletions(-) diff --git a/configure b/configure index 14b609c3fe..5c972b531b 100755 --- a/configure +++ b/configure @@ -24691,10 +24691,142 @@ if test "x$SUNCC" = xyes; then fi if test "x$SGICC" = "xyes"; then - CFLAGS="-woff 3970 $CFLAGS" + { echo "$as_me:$LINENO: checking if cc version is 7.4.4 or greater" >&5 +echo $ECHO_N "checking if cc version is 7.4.4 or greater... $ECHO_C" >&6; } +if test "${wx_cv_prog_sgicc744+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + #if _SGI_COMPILER_VERSION >= 744 + chock me: mipsPro is 7.4.4 or later + #endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + wx_cv_prog_sgicc744=no +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + wx_cv_prog_sgicc744=yes + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + +fi +{ echo "$as_me:$LINENO: result: $wx_cv_prog_sgicc744" >&5 +echo "${ECHO_T}$wx_cv_prog_sgicc744" >&6; } + + if test "x$wx_cv_prog_sgicc744" = "xyes"; then + CFLAGS="-woff 3970 $CFLAGS" + fi fi if test "x$SGICXX" = "xyes"; then - CXXFLAGS="-woff 3970 $CXXFLAGS" + { echo "$as_me:$LINENO: checking if CC version is 7.4.4 or greater" >&5 +echo $ECHO_N "checking if CC version is 7.4.4 or greater... $ECHO_C" >&6; } +if test "${wx_cv_prog_sgicxx744+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + #if _SGI_COMPILER_VERSION >= 744 + chock me: mipsPro is 7.4.4 or later + #endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + wx_cv_prog_sgicxx744=no +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + wx_cv_prog_sgicxx744=yes + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +fi +{ echo "$as_me:$LINENO: result: $wx_cv_prog_sgicxx744" >&5 +echo "${ECHO_T}$wx_cv_prog_sgicxx744" >&6; } + + if test "x$wx_cv_prog_sgicxx744" = "xyes"; then + CXXFLAGS="-woff 3970 $CXXFLAGS" + fi fi if test "x$HPCC" = "xyes"; then diff --git a/configure.in b/configure.in index 8e2b6bd584..58f3c1bc74 100644 --- a/configure.in +++ b/configure.in @@ -1827,18 +1827,57 @@ if test "x$SUNCC" = xyes; then CFLAGS="-erroff=E_NO_EXPLICIT_TYPE_GIVEN $CFLAGS" fi -dnl SGI mipsPro compiler gives this warning for "conversion from pointer to -dnl same-sized integral type" even when there is an explicit cast and as there -dnl is no way to turn it off and there are hundreds of these warnings in wx -dnl sources, just turn it off for now +dnl SGI mipsPro compiler version 7.4.4 and later (and maybe some earlier +dnl versions too but it's known that 7.4.2 doesn't give this warning but does +dnl instead warn about "unknown warning number 3970" which explains that we +dnl don't want to do this for it) gives this warning for "conversion from +dnl pointer to same-sized integral type" even when there is an explicit cast +dnl and as there is no way to turn it off and there are hundreds of these +dnl warnings in wx sources, just turn it off for now dnl dnl a better long term solution would be to use #pragma set/reset woff in dnl wxPtrToUInt() and use it instead of casts elsewhere if test "x$SGICC" = "xyes"; then - CFLAGS="-woff 3970 $CFLAGS" + AC_CACHE_CHECK([if cc version is 7.4.4 or greater], + wx_cv_prog_sgicc744, + [ + AC_TRY_COMPILE([], + [ + #if _SGI_COMPILER_VERSION >= 744 + chock me: mipsPro is 7.4.4 or later + #endif + ], + wx_cv_prog_sgicc744=no, + wx_cv_prog_sgicc744=yes + ) + ] + ) + + if test "x$wx_cv_prog_sgicc744" = "xyes"; then + CFLAGS="-woff 3970 $CFLAGS" + fi fi if test "x$SGICXX" = "xyes"; then - CXXFLAGS="-woff 3970 $CXXFLAGS" + AC_CACHE_CHECK([if CC version is 7.4.4 or greater], + wx_cv_prog_sgicxx744, + [ + AC_LANG_PUSH(C++) + AC_TRY_COMPILE([], + [ + #if _SGI_COMPILER_VERSION >= 744 + chock me: mipsPro is 7.4.4 or later + #endif + ], + wx_cv_prog_sgicxx744=no, + wx_cv_prog_sgicxx744=yes + ) + AC_LANG_POP() + ] + ) + + if test "x$wx_cv_prog_sgicxx744" = "xyes"; then + CXXFLAGS="-woff 3970 $CXXFLAGS" + fi fi dnl HP-UX c89/aCC compiler warnings -- 2.45.2