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(int){ }
#if !defined(__SUNPRO_CC)
operator int() { return 0; }
#endif
operator int&() { static int num = 0; return num; }
#if !defined(__SUNPRO_CC)
operator Foo<T>() { return Foo<T>(); }
#endif
operator Foo<T>&() { return *(new Foo<T>()); }
};
}

View File

@ -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;
}

View File

@ -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() {}
};
%}

View File

@ -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;}

View File

@ -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

View File

@ -13,7 +13,7 @@
template<typename t_item, typename t2> class list_impl_t {};
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:
t_item item;
// 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(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(ListDefaultDouble) list_t<double>;
%template(ListDefaultDouble) list_tt<double>;

View File

@ -33,8 +33,10 @@
typedef SomeType myarray[3];
typedef const SomeType myconstarray[4];
typedef volatile SomeType ** mycrazyarray[5];
extern "C" {
typedef volatile SomeType (mycrazyfunc)(SomeType);
typedef volatile SomeType (*mycrazyfuncptr)(SomeType);
}
%}
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, " }\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<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, " }\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<std::string, bool> swig_inner;\n");