From 760d6039182eb635bb7403c2249fdddb37a5f456 Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Tue, 27 Jan 2015 19:14:32 +0000 Subject: [PATCH] Warning and error fixes for Solaris Sun Studio compiler --- Examples/test-suite/conversion_ns_template.i | 4 ++++ Examples/test-suite/director_frob.i | 2 ++ Examples/test-suite/director_overload2.i | 8 +++++-- Examples/test-suite/director_property.i | 6 +++--- Examples/test-suite/enum_forward.i | 21 ++++++++++++++----- .../test-suite/template_template_parameters.i | 6 +++--- .../test-suite/typemap_array_qualifiers.i | 6 ++++-- Source/Modules/perl5.cxx | 4 ++-- Source/Modules/python.cxx | 4 ++-- 9 files changed, 42 insertions(+), 19 deletions(-) diff --git a/Examples/test-suite/conversion_ns_template.i b/Examples/test-suite/conversion_ns_template.i index 0814f2a18..bddda5e7b 100644 --- a/Examples/test-suite/conversion_ns_template.i +++ b/Examples/test-suite/conversion_ns_template.i @@ -20,9 +20,13 @@ Bar(){ } Bar(int){ } +#if !defined(__SUNPRO_CC) operator int() { return 0; } +#endif operator int&() { static int num = 0; return num; } +#if !defined(__SUNPRO_CC) operator Foo() { return Foo(); } +#endif operator Foo&() { return *(new Foo()); } }; } diff --git a/Examples/test-suite/director_frob.i b/Examples/test-suite/director_frob.i index 9f7ae68f2..f1d502dc2 100644 --- a/Examples/test-suite/director_frob.i +++ b/Examples/test-suite/director_frob.i @@ -56,7 +56,9 @@ public: Ops() : num(0) {} virtual ~Ops() {} +#if !defined(__SUNPRO_CC) virtual operator int() { return 0; } +#endif virtual operator int **() const { return (int **) 0; } diff --git a/Examples/test-suite/director_overload2.i b/Examples/test-suite/director_overload2.i index 0f3238149..e467c18ce 100644 --- a/Examples/test-suite/director_overload2.i +++ b/Examples/test-suite/director_overload2.i @@ -12,10 +12,14 @@ struct OverloadBase { }; struct OverloadDerived1 : OverloadBase { virtual void nnn(int vvv) {} -// virtual void nnn() {} +#if defined(__SUNPRO_CC) + virtual void nnn() {} +#endif }; struct OverloadDerived2 : OverloadBase { -// virtual void nnn(int vvv) {} +#if defined(__SUNPRO_CC) + virtual void nnn(int vvv) {} +#endif virtual void nnn() {} }; %} diff --git a/Examples/test-suite/director_property.i b/Examples/test-suite/director_property.i index 3363c3c4f..da37ca4ae 100644 --- a/Examples/test-suite/director_property.i +++ b/Examples/test-suite/director_property.i @@ -7,13 +7,13 @@ class Foo { private: - std::string a; + std::string a_; public: virtual ~Foo() {} virtual std::string ping() { return "Foo::ping()"; } virtual std::string pong() { return "Foo::pong();" + ping(); } - virtual std::string getA() { return this->a; } - virtual void setA(std::string a) { this->a = a; } + virtual std::string getA() { return this->a_; } + virtual void setA(std::string a) { this->a_ = a; } static Foo* get_self(Foo *slf) {return slf;} diff --git a/Examples/test-suite/enum_forward.i b/Examples/test-suite/enum_forward.i index c82e17be7..f0d749c01 100644 --- a/Examples/test-suite/enum_forward.i +++ b/Examples/test-suite/enum_forward.i @@ -8,7 +8,15 @@ enum ForwardEnum2 { CCC, DDD }; %} %inline %{ +#if !defined(__SUNPRO_C) enum ForwardEnum1; +enum ForwardEnum2; +enum ForwardEnum2; +enum ForwardEnum3; +#endif +%} + +%inline %{ enum ForwardEnum1 get_enum1() { return AAA; } enum ForwardEnum1 test_function1(enum ForwardEnum1 e) { return e; @@ -16,22 +24,25 @@ enum ForwardEnum1 test_function1(enum ForwardEnum1 e) { %} %inline %{ -enum ForwardEnum2; -enum ForwardEnum2; enum ForwardEnum2 get_enum2() { return CCC; } enum ForwardEnum2 test_function2(enum ForwardEnum2 e) { return e; } -enum ForwardEnum2; %} %inline %{ -enum ForwardEnum3; enum ForwardEnum3 { EEE, FFF }; enum ForwardEnum3 get_enum3() { return EEE; } enum ForwardEnum3 test_function3(enum ForwardEnum3 e) { return e; } -enum ForwardEnum3; %} + +%inline %{ +#if !defined(__SUNPRO_C) +enum ForwardEnum2; +enum ForwardEnum3; +#endif +%} + #endif diff --git a/Examples/test-suite/template_template_parameters.i b/Examples/test-suite/template_template_parameters.i index 0c3989603..89197229e 100644 --- a/Examples/test-suite/template_template_parameters.i +++ b/Examples/test-suite/template_template_parameters.i @@ -13,7 +13,7 @@ template class list_impl_t {}; template class t_alloc = pfc::alloc_fast > - class list_t : public list_impl_t > { + class list_tt : public list_impl_t > { public: t_item item; // typename t_alloc::alloc_type allotype; // SWIG can't handle this yet @@ -32,8 +32,8 @@ void TestInstantiations() { %} %template(ListImplFastBool) list_impl_t >; -%template(ListFastBool) list_t; +%template(ListFastBool) list_tt; %template(ListImplFastDouble) list_impl_t >; -%template(ListDefaultDouble) list_t; +%template(ListDefaultDouble) list_tt; diff --git a/Examples/test-suite/typemap_array_qualifiers.i b/Examples/test-suite/typemap_array_qualifiers.i index cbc6c95ff..c3965ced2 100644 --- a/Examples/test-suite/typemap_array_qualifiers.i +++ b/Examples/test-suite/typemap_array_qualifiers.i @@ -33,8 +33,10 @@ typedef SomeType myarray[3]; typedef const SomeType myconstarray[4]; typedef volatile SomeType ** mycrazyarray[5]; - typedef volatile SomeType (mycrazyfunc)(SomeType); - typedef volatile SomeType (*mycrazyfuncptr)(SomeType); + extern "C" { + typedef volatile SomeType (mycrazyfunc)(SomeType); + typedef volatile SomeType (*mycrazyfuncptr)(SomeType); + } %} CLEAR_SWIGTYPE_TYPEMAPS; diff --git a/Source/Modules/perl5.cxx b/Source/Modules/perl5.cxx index 224c4852e..e1b0e69c6 100644 --- a/Source/Modules/perl5.cxx +++ b/Source/Modules/perl5.cxx @@ -1996,8 +1996,8 @@ public: Printf(f_directors_h, " return (iv != swig_inner.end() ? iv->second : false);\n"); Printf(f_directors_h, " }\n"); - Printf(f_directors_h, " void swig_set_inner(const char *swig_protected_method_name, bool val) const {\n"); - Printf(f_directors_h, " swig_inner[swig_protected_method_name] = val;\n"); + Printf(f_directors_h, " void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const {\n"); + Printf(f_directors_h, " swig_inner[swig_protected_method_name] = swig_val;\n"); Printf(f_directors_h, " }\n"); Printf(f_directors_h, "private:\n"); Printf(f_directors_h, " mutable std::map swig_inner;\n"); diff --git a/Source/Modules/python.cxx b/Source/Modules/python.cxx index 7a9547a1a..cbbeda1c5 100644 --- a/Source/Modules/python.cxx +++ b/Source/Modules/python.cxx @@ -3506,8 +3506,8 @@ public: Printf(f_directors_h, " return (iv != swig_inner.end() ? iv->second : false);\n"); Printf(f_directors_h, " }\n"); - Printf(f_directors_h, " void swig_set_inner(const char *swig_protected_method_name, bool val) const {\n"); - Printf(f_directors_h, " swig_inner[swig_protected_method_name] = val;\n"); + Printf(f_directors_h, " void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const {\n"); + Printf(f_directors_h, " swig_inner[swig_protected_method_name] = swig_val;\n"); Printf(f_directors_h, " }\n"); Printf(f_directors_h, "private:\n"); Printf(f_directors_h, " mutable std::map swig_inner;\n");