Warning and error fixes for Solaris Sun Studio compiler

This commit is contained in:
William S Fulton 2015-01-27 19:14:32 +00:00
parent 2e8dfbcc3e
commit 760d603918
9 changed files with 42 additions and 19 deletions

View File

@ -20,9 +20,13 @@
Bar(){ } Bar(){ }
Bar(int){ } Bar(int){ }
#if !defined(__SUNPRO_CC)
operator int() { return 0; } operator int() { return 0; }
#endif
operator int&() { static int num = 0; return num; } operator int&() { static int num = 0; return num; }
#if !defined(__SUNPRO_CC)
operator Foo<T>() { return Foo<T>(); } operator Foo<T>() { return Foo<T>(); }
#endif
operator Foo<T>&() { return *(new Foo<T>()); } operator Foo<T>&() { return *(new Foo<T>()); }
}; };
} }

View File

@ -56,7 +56,9 @@
public: public:
Ops() : num(0) {} Ops() : num(0) {}
virtual ~Ops() {} virtual ~Ops() {}
#if !defined(__SUNPRO_CC)
virtual operator int() { return 0; } virtual operator int() { return 0; }
#endif
virtual operator int **() const { virtual operator int **() const {
return (int **) 0; return (int **) 0;
} }

View File

@ -12,10 +12,14 @@ struct OverloadBase {
}; };
struct OverloadDerived1 : OverloadBase { struct OverloadDerived1 : OverloadBase {
virtual void nnn(int vvv) {} virtual void nnn(int vvv) {}
// virtual void nnn() {} #if defined(__SUNPRO_CC)
virtual void nnn() {}
#endif
}; };
struct OverloadDerived2 : OverloadBase { struct OverloadDerived2 : OverloadBase {
// virtual void nnn(int vvv) {} #if defined(__SUNPRO_CC)
virtual void nnn(int vvv) {}
#endif
virtual void nnn() {} virtual void nnn() {}
}; };
%} %}

View File

@ -7,13 +7,13 @@
class Foo { class Foo {
private: private:
std::string a; std::string a_;
public: public:
virtual ~Foo() {} virtual ~Foo() {}
virtual std::string ping() { return "Foo::ping()"; } virtual std::string ping() { return "Foo::ping()"; }
virtual std::string pong() { return "Foo::pong();" + ping(); } virtual std::string pong() { return "Foo::pong();" + ping(); }
virtual std::string getA() { return this->a; } virtual std::string getA() { return this->a_; }
virtual void setA(std::string a) { this->a = a; } virtual void setA(std::string a) { this->a_ = a; }
static Foo* get_self(Foo *slf) {return slf;} static Foo* get_self(Foo *slf) {return slf;}

View File

@ -8,7 +8,15 @@ enum ForwardEnum2 { CCC, DDD };
%} %}
%inline %{ %inline %{
#if !defined(__SUNPRO_C)
enum ForwardEnum1; enum ForwardEnum1;
enum ForwardEnum2;
enum ForwardEnum2;
enum ForwardEnum3;
#endif
%}
%inline %{
enum ForwardEnum1 get_enum1() { return AAA; } enum ForwardEnum1 get_enum1() { return AAA; }
enum ForwardEnum1 test_function1(enum ForwardEnum1 e) { enum ForwardEnum1 test_function1(enum ForwardEnum1 e) {
return e; return e;
@ -16,22 +24,25 @@ enum ForwardEnum1 test_function1(enum ForwardEnum1 e) {
%} %}
%inline %{ %inline %{
enum ForwardEnum2;
enum ForwardEnum2;
enum ForwardEnum2 get_enum2() { return CCC; } enum ForwardEnum2 get_enum2() { return CCC; }
enum ForwardEnum2 test_function2(enum ForwardEnum2 e) { enum ForwardEnum2 test_function2(enum ForwardEnum2 e) {
return e; return e;
} }
enum ForwardEnum2;
%} %}
%inline %{ %inline %{
enum ForwardEnum3;
enum ForwardEnum3 { EEE, FFF }; enum ForwardEnum3 { EEE, FFF };
enum ForwardEnum3 get_enum3() { return EEE; } enum ForwardEnum3 get_enum3() { return EEE; }
enum ForwardEnum3 test_function3(enum ForwardEnum3 e) { enum ForwardEnum3 test_function3(enum ForwardEnum3 e) {
return e; return e;
} }
enum ForwardEnum3;
%} %}
%inline %{
#if !defined(__SUNPRO_C)
enum ForwardEnum2;
enum ForwardEnum3;
#endif
%}
#endif #endif

View File

@ -13,7 +13,7 @@
template<typename t_item, typename t2> class list_impl_t {}; template<typename t_item, typename t2> class list_impl_t {};
template<typename t_item, template<typename> class t_alloc = pfc::alloc_fast > template<typename t_item, template<typename> class t_alloc = pfc::alloc_fast >
class list_t : public list_impl_t<t_item,pfc::array_t<t_item,t_alloc> > { class list_tt : public list_impl_t<t_item,pfc::array_t<t_item,t_alloc> > {
public: public:
t_item item; t_item item;
// typename t_alloc<t_item>::alloc_type allotype; // SWIG can't handle this yet // typename t_alloc<t_item>::alloc_type allotype; // SWIG can't handle this yet
@ -32,8 +32,8 @@ void TestInstantiations() {
%} %}
%template(ListImplFastBool) list_impl_t<bool, pfc::array_t<bool, pfc::alloc_fast> >; %template(ListImplFastBool) list_impl_t<bool, pfc::array_t<bool, pfc::alloc_fast> >;
%template(ListFastBool) list_t<bool, pfc::alloc_fast>; %template(ListFastBool) list_tt<bool, pfc::alloc_fast>;
%template(ListImplFastDouble) list_impl_t<double, pfc::array_t<double, pfc::alloc_fast> >; %template(ListImplFastDouble) list_impl_t<double, pfc::array_t<double, pfc::alloc_fast> >;
%template(ListDefaultDouble) list_t<double>; %template(ListDefaultDouble) list_tt<double>;

View File

@ -33,8 +33,10 @@
typedef SomeType myarray[3]; typedef SomeType myarray[3];
typedef const SomeType myconstarray[4]; typedef const SomeType myconstarray[4];
typedef volatile SomeType ** mycrazyarray[5]; typedef volatile SomeType ** mycrazyarray[5];
typedef volatile SomeType (mycrazyfunc)(SomeType); extern "C" {
typedef volatile SomeType (*mycrazyfuncptr)(SomeType); typedef volatile SomeType (mycrazyfunc)(SomeType);
typedef volatile SomeType (*mycrazyfuncptr)(SomeType);
}
%} %}
CLEAR_SWIGTYPE_TYPEMAPS; CLEAR_SWIGTYPE_TYPEMAPS;

View File

@ -1996,8 +1996,8 @@ public:
Printf(f_directors_h, " return (iv != swig_inner.end() ? iv->second : false);\n"); Printf(f_directors_h, " return (iv != swig_inner.end() ? iv->second : false);\n");
Printf(f_directors_h, " }\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, " 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] = val;\n"); Printf(f_directors_h, " swig_inner[swig_protected_method_name] = swig_val;\n");
Printf(f_directors_h, " }\n"); Printf(f_directors_h, " }\n");
Printf(f_directors_h, "private:\n"); Printf(f_directors_h, "private:\n");
Printf(f_directors_h, " mutable std::map<std::string, bool> swig_inner;\n"); Printf(f_directors_h, " mutable std::map<std::string, bool> swig_inner;\n");

View File

@ -3506,8 +3506,8 @@ public:
Printf(f_directors_h, " return (iv != swig_inner.end() ? iv->second : false);\n"); Printf(f_directors_h, " return (iv != swig_inner.end() ? iv->second : false);\n");
Printf(f_directors_h, " }\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, " 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] = val;\n"); Printf(f_directors_h, " swig_inner[swig_protected_method_name] = swig_val;\n");
Printf(f_directors_h, " }\n"); Printf(f_directors_h, " }\n");
Printf(f_directors_h, "private:\n"); Printf(f_directors_h, "private:\n");
Printf(f_directors_h, " mutable std::map<std::string, bool> swig_inner;\n"); Printf(f_directors_h, " mutable std::map<std::string, bool> swig_inner;\n");