From c5a8c80883f24217e9ffcb0faa26d09bbd7d78ff Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Fri, 24 Nov 2006 22:41:17 +0000 Subject: [PATCH] 64 bit portability warnings fix git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9580 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Examples/test-suite/extend.i | 1 + Examples/test-suite/java_director.i | 4 ++-- Lib/constraints.i | 12 ++++++------ Lib/csharp/std_vector.i | 4 ++-- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/Examples/test-suite/extend.i b/Examples/test-suite/extend.i index cb0e2b236..2a2a472ea 100644 --- a/Examples/test-suite/extend.i +++ b/Examples/test-suite/extend.i @@ -21,6 +21,7 @@ struct Base { Base(int v = 0) : value(v) {} int value; virtual int method(int v) { + return v; } }; struct Derived : Base { diff --git a/Examples/test-suite/java_director.i b/Examples/test-suite/java_director.i index d104fcefd..04d55e196 100644 --- a/Examples/test-suite/java_director.i +++ b/Examples/test-suite/java_director.i @@ -55,7 +55,7 @@ public: const std::string &invoke(int idx) { return quuxen_[idx]->director_method(); } - int size() { + size_t size() { return quuxen_.size(); } private: @@ -86,7 +86,7 @@ public: void push(Quux *elem); Quux *get(int idx); const std::string &invoke(int idx); - int size(); + size_t size(); }; diff --git a/Lib/constraints.i b/Lib/constraints.i index 1924f8ae9..2deb1168a 100644 --- a/Lib/constraints.i +++ b/Lib/constraints.i @@ -195,8 +195,8 @@ If you have used typedef to change type-names, you can also do this : void * ALIGN8, Pointer ALIGN8 { - long tmp; - tmp = (long) $1; + unsigned long long tmp; + tmp = (unsigned long long) $1; if (tmp & 7) { SWIG_exception(SWIG_ValueError,"Pointer must be 8-byte aligned."); } @@ -206,8 +206,8 @@ If you have used typedef to change type-names, you can also do this : void * ALIGN4, Pointer ALIGN4 { - long tmp; - tmp = (long) $1; + unsigned long long tmp; + tmp = (unsigned long long) $1; if (tmp & 3) { SWIG_exception(SWIG_ValueError,"Pointer must be 4-byte aligned."); } @@ -217,8 +217,8 @@ If you have used typedef to change type-names, you can also do this : void * ALIGN2, Pointer ALIGN2 { - long tmp; - tmp = (long) $1; + unsigned long long tmp; + tmp = (unsigned long long) $1; if (tmp & 1) { SWIG_exception(SWIG_ValueError,"Pointer must be 2-byte aligned."); } diff --git a/Lib/csharp/std_vector.i b/Lib/csharp/std_vector.i index 5e2b1c284..c7c82dcba 100755 --- a/Lib/csharp/std_vector.i +++ b/Lib/csharp/std_vector.i @@ -297,14 +297,14 @@ int index = -1; std::vector::iterator it = std::find(self->begin(), self->end(), value); if (it != self->end()) - index = it - self->begin(); + index = (int)(it - self->begin()); return index; } int LastIndexOf(const value_type& value) { int index = -1; std::vector::reverse_iterator rit = std::find(self->rbegin(), self->rend(), value); if (rit != self->rend()) - index = self->rend() - 1 - rit; + index = (int)(self->rend() - 1 - rit); return index; } void Remove(const value_type& value) {