From 77110db86310bac961772926657277c4eabb8ee3 Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Sun, 20 Feb 2011 13:02:21 +0000 Subject: [PATCH] Sun studio warning suppression in tests git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12500 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Examples/test-suite/cpp_basic.i | 6 ++++++ Examples/test-suite/director_classes.i | 6 ++++++ Examples/test-suite/funcptr_cpp.i | 6 ++++++ Examples/test-suite/li_std_stream.i | 6 ++++++ Examples/test-suite/li_std_wstream.i | 7 +++++++ Examples/test-suite/member_funcptr_galore.i | 6 ++++++ Examples/test-suite/member_pointer.i | 6 ++++++ Examples/test-suite/namespace_spaces.i | 7 +++++++ Examples/test-suite/smart_pointer_not.i | 6 ++++++ Examples/test-suite/typedef_mptr.i | 7 +++++++ Examples/test-suite/virtual_poly.i | 6 ++++++ configure.in | 20 ++++++++++++++------ 12 files changed, 83 insertions(+), 6 deletions(-) diff --git a/Examples/test-suite/cpp_basic.i b/Examples/test-suite/cpp_basic.i index a247dd268..bd1ec453a 100644 --- a/Examples/test-suite/cpp_basic.i +++ b/Examples/test-suite/cpp_basic.i @@ -8,6 +8,12 @@ %newobject Bar::testFoo; +%{ +#if defined(__SUNPRO_CC) +#pragma error_messages (off, wbadasg) /* Assigning extern "C" ... */ +#endif +%} + %inline %{ class Foo { diff --git a/Examples/test-suite/director_classes.i b/Examples/test-suite/director_classes.i index 5d0a67d00..5581c755f 100644 --- a/Examples/test-suite/director_classes.i +++ b/Examples/test-suite/director_classes.i @@ -10,6 +10,12 @@ %include "std_string.i" +%{ +#if defined(__SUNPRO_CC) +#pragma error_messages (off, hidevf) +#endif +%} + %inline %{ #include #include diff --git a/Examples/test-suite/funcptr_cpp.i b/Examples/test-suite/funcptr_cpp.i index d59f970ee..a3d46ea39 100644 --- a/Examples/test-suite/funcptr_cpp.i +++ b/Examples/test-suite/funcptr_cpp.i @@ -1,5 +1,11 @@ %module funcptr_cpp +%{ +#if defined(__SUNPRO_CC) +#pragma error_messages (off, badargtype2w) /* Formal argument ... is being passed extern "C" ... */ +#endif +%} + %inline %{ int addByValue(const int &a, int b) { return a+b; } diff --git a/Examples/test-suite/li_std_stream.i b/Examples/test-suite/li_std_stream.i index 0a999ddbf..35014baaa 100644 --- a/Examples/test-suite/li_std_stream.i +++ b/Examples/test-suite/li_std_stream.i @@ -1,5 +1,11 @@ %module li_std_stream +%{ +#if defined(__SUNPRO_CC) +#pragma error_messages (off, badargtype2w) /* Formal argument ... is being passed extern "C" ... */ +#endif +%} + %inline %{ struct A; %} diff --git a/Examples/test-suite/li_std_wstream.i b/Examples/test-suite/li_std_wstream.i index e4d725f10..7945b701d 100644 --- a/Examples/test-suite/li_std_wstream.i +++ b/Examples/test-suite/li_std_wstream.i @@ -1,5 +1,11 @@ %module li_std_wstream +%{ +#if defined(__SUNPRO_CC) +#pragma error_messages (off, badargtype2w) /* Formal argument ... is being passed extern "C" ... */ +#endif +%} + %inline %{ struct A; %} @@ -49,6 +55,7 @@ %} %extend std::basic_ostream{ + extern "C" std::basic_ostream& operator<<(const A& a) { diff --git a/Examples/test-suite/member_funcptr_galore.i b/Examples/test-suite/member_funcptr_galore.i index 2becb9a91..da37c6b0d 100644 --- a/Examples/test-suite/member_funcptr_galore.i +++ b/Examples/test-suite/member_funcptr_galore.i @@ -1,5 +1,11 @@ %module member_funcptr_galore +%{ +#if defined(__SUNPRO_CC) +#pragma error_messages (off, badargtype2w) /* Formal argument ... is being passed extern "C" ... */ +#endif +%} + %inline %{ namespace FunkSpace { diff --git a/Examples/test-suite/member_pointer.i b/Examples/test-suite/member_pointer.i index d9d5cbef5..f22f7ad7b 100644 --- a/Examples/test-suite/member_pointer.i +++ b/Examples/test-suite/member_pointer.i @@ -1,5 +1,11 @@ %module member_pointer +%{ +#if defined(__SUNPRO_CC) +#pragma error_messages (off, badargtype2w) /* Formal argument ... is being passed extern "C" ... */ +#endif +%} + %inline %{ class Shape { public: diff --git a/Examples/test-suite/namespace_spaces.i b/Examples/test-suite/namespace_spaces.i index 981916142..86b21e221 100644 --- a/Examples/test-suite/namespace_spaces.i +++ b/Examples/test-suite/namespace_spaces.i @@ -1,4 +1,11 @@ %module namespace_spaces + +%{ +#if defined(__SUNPRO_CC) +#pragma error_messages (off, wbadasg) /* Assigning extern "C" ... */ +#endif +%} + %inline %{ class Foo { diff --git a/Examples/test-suite/smart_pointer_not.i b/Examples/test-suite/smart_pointer_not.i index 712aa48fb..a02478bae 100644 --- a/Examples/test-suite/smart_pointer_not.i +++ b/Examples/test-suite/smart_pointer_not.i @@ -1,6 +1,12 @@ // Test cases for classes that do *NOT* result in smart-pointer wrapping %module smart_pointer_not +%{ +#if defined(__SUNPRO_CC) +#pragma error_messages (off, arrowrtn) /* Questionable return type for ... */ +#endif +%} + %inline %{ struct Foo { int x; diff --git a/Examples/test-suite/typedef_mptr.i b/Examples/test-suite/typedef_mptr.i index de0cde12a..7579289c5 100644 --- a/Examples/test-suite/typedef_mptr.i +++ b/Examples/test-suite/typedef_mptr.i @@ -2,6 +2,13 @@ %module typedef_mptr +%{ +#if defined(__SUNPRO_CC) +#pragma error_messages (off, badargtype2w) /* Formal argument ... is being passed extern "C" ... */ +#pragma error_messages (off, wbadinit) /* Using extern "C" ... to initialize ... */ +#endif +%} + #if defined(SWIGPYTHON) || defined(SWIGOCAML) %inline %{ diff --git a/Examples/test-suite/virtual_poly.i b/Examples/test-suite/virtual_poly.i index d8051ae15..5f2f1d201 100644 --- a/Examples/test-suite/virtual_poly.i +++ b/Examples/test-suite/virtual_poly.i @@ -7,6 +7,12 @@ %warnfilter(SWIGWARN_JAVA_COVARIANT_RET, SWIGWARN_CSHARP_COVARIANT_RET) covariant3; /* Java, C# covariant return types */ %warnfilter(SWIGWARN_JAVA_COVARIANT_RET, SWIGWARN_CSHARP_COVARIANT_RET) covariant4; /* Java, C# covariant return types */ +%{ +#if defined(__SUNPRO_CC) +#pragma error_messages (off, wbadasg) /* Assigning extern "C" ... */ +#endif +%} + // // Check this example with directors wherever possible. // diff --git a/configure.in b/configure.in index bb9bf0cd1..2de8d8c4a 100644 --- a/configure.in +++ b/configure.in @@ -306,14 +306,27 @@ then fi AC_MSG_RESULT($LINKFORSHARED) +# Optional CFLAGS used to silence/enhance compiler warnings on some platforms. +AC_MSG_CHECKING(PLATFLAGS) +case $host in + *-*-solaris*) if test "$GCC" = yes; + then PLATFLAGS= + else PLATFLAGS= + # else PLATFLAGS="-errtags=yes" # Need more work as C examples use ld for linking + fi;; + *) PLATFLAGS= +esac +AC_MSG_RESULT($PLATFLAGS) + # Set info about shared libraries. AC_SUBST(SO) AC_SUBST(LDSHARED) AC_SUBST(CCSHARED) AC_SUBST(CXXSHARED) AC_SUBST(TRYLINKINGWITHCXX) -AC_SUBST(LINKFORSHARED) AC_SUBST(RPATH) +AC_SUBST(PLATFLAGS) +AC_SUBST(LINKFORSHARED) # This variation is needed on OS-X because there is no (apparent) consistency in shared library naming. # Sometimes .bundle works, but sometimes .so is needed. It depends on the target language @@ -354,11 +367,6 @@ case $host in *) LUA_SO=$SO;; esac -# Optional CFLAGS used to silence compiler warnings on some platforms. - -AC_SUBST(PLATFLAGS) -PLATFLAGS= - # Check for specific libraries. Used for SWIG examples AC_CHECK_LIB(dl, dlopen) # Dynamic linking for SunOS/Solaris and SYSV AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-UX