diff options
author | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2010-11-14 09:27:28 +0000 |
---|---|---|
committer | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2010-11-14 09:27:28 +0000 |
commit | 2c7009b5200ff5b7462b56239c909daef8ed7910 (patch) | |
tree | 40b116d31a3c7f56540d12ed05a5b80f3e7c4ef3 /sca-cpp/trunk/kernel | |
parent | efccdd821b68280ee3b73c8ef5cda121bc27f620 (diff) |
Port to Ubuntu server 10.10 64-bit. C++ code fixes required to compile and run on 64-bit. Update INSTALL doc and build scripts. Remove a few obsolete scripts.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1034963 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-cpp/trunk/kernel')
-rw-r--r-- | sca-cpp/trunk/kernel/fstream.hpp | 2 | ||||
-rw-r--r-- | sca-cpp/trunk/kernel/function.hpp | 4 | ||||
-rw-r--r-- | sca-cpp/trunk/kernel/gc.hpp | 18 | ||||
-rw-r--r-- | sca-cpp/trunk/kernel/hash.hpp | 14 | ||||
-rw-r--r-- | sca-cpp/trunk/kernel/list.hpp | 6 | ||||
-rw-r--r-- | sca-cpp/trunk/kernel/parallel.hpp | 22 | ||||
-rw-r--r-- | sca-cpp/trunk/kernel/sstream.hpp | 23 | ||||
-rw-r--r-- | sca-cpp/trunk/kernel/stream.hpp | 7 | ||||
-rw-r--r-- | sca-cpp/trunk/kernel/string-test.cpp | 12 | ||||
-rw-r--r-- | sca-cpp/trunk/kernel/string.hpp | 34 | ||||
-rw-r--r-- | sca-cpp/trunk/kernel/tree.hpp | 6 | ||||
-rw-r--r-- | sca-cpp/trunk/kernel/xml.hpp | 2 | ||||
-rw-r--r-- | sca-cpp/trunk/kernel/xsd-test.cpp | 2 |
13 files changed, 77 insertions, 75 deletions
diff --git a/sca-cpp/trunk/kernel/fstream.hpp b/sca-cpp/trunk/kernel/fstream.hpp index 033024de1d..8efb798b57 100644 --- a/sca-cpp/trunk/kernel/fstream.hpp +++ b/sca-cpp/trunk/kernel/fstream.hpp @@ -101,7 +101,7 @@ public: fclose(file); } - const int read(void* buf, int size) { + const size_t read(void* buf, size_t size) { return fread(buf, 1, size, file); } diff --git a/sca-cpp/trunk/kernel/function.hpp b/sca-cpp/trunk/kernel/function.hpp index db7318303a..701e0f1fa9 100644 --- a/sca-cpp/trunk/kernel/function.hpp +++ b/sca-cpp/trunk/kernel/function.hpp @@ -83,7 +83,7 @@ public: Callable() { } - virtual const int size() const = 0; + virtual const size_t size() const = 0; virtual const R operator()(P... p) const = 0; @@ -110,7 +110,7 @@ public: return function(std::forward<P>(p)...); } - virtual const int size() const { + virtual const size_t size() const { return sizeof(function); } diff --git a/sca-cpp/trunk/kernel/gc.hpp b/sca-cpp/trunk/kernel/gc.hpp index 77a879629a..09dcd1e5ac 100644 --- a/sca-cpp/trunk/kernel/gc.hpp +++ b/sca-cpp/trunk/kernel/gc.hpp @@ -244,40 +244,40 @@ template<typename T> T* gc_new() { } template<typename T> apr_status_t gc_pool_acleanup(void* v) { - int* m = static_cast<int*>(v); - int n = *m; + size_t* m = static_cast<size_t*>(v); + size_t n = *m; T* t = (T*)(m + 1); - for (int i = 0; i < n; i++, t++) + for (size_t i = 0; i < n; i++, t++) t->~T(); return APR_SUCCESS; } -template<typename T> T* gc_anew(apr_pool_t* p, int n) { - int* gc_anew_ptr = static_cast<int*>(apr_palloc(p, sizeof(int) + sizeof(T[n]))); +template<typename T> T* gc_anew(apr_pool_t* p, size_t n) { + size_t* gc_anew_ptr = static_cast<size_t*>(apr_palloc(p, sizeof(size_t) + sizeof(T[n]))); assert(gc_anew_ptr != NULL); *gc_anew_ptr = n; apr_pool_cleanup_register(p, gc_anew_ptr, gc_pool_acleanup<T>, apr_pool_cleanup_null) ; return (T*)(gc_anew_ptr + 1); } -template<typename T> T* gc_anew(const gc_pool& p, int n) { +template<typename T> T* gc_anew(const gc_pool& p, size_t n) { return gc_anew<T>(pool(p), n); } -template<typename T> T* gc_anew(int n) { +template<typename T> T* gc_anew(size_t n) { return gc_anew<T>(gc_current_pool(), n); } /** * Allocate an array of chars. */ -char* gc_cnew(apr_pool_t* p, int n) { +char* gc_cnew(apr_pool_t* p, size_t n) { char* gc_cnew_ptr = static_cast<char*>(apr_palloc(p, n)); assert(gc_cnew_ptr != NULL); return gc_cnew_ptr; } -char* gc_cnew(int n) { +char* gc_cnew(size_t n) { return gc_cnew(gc_current_pool(), n); } diff --git a/sca-cpp/trunk/kernel/hash.hpp b/sca-cpp/trunk/kernel/hash.hpp index 5cd213f09e..9de13dd690 100644 --- a/sca-cpp/trunk/kernel/hash.hpp +++ b/sca-cpp/trunk/kernel/hash.hpp @@ -43,8 +43,8 @@ namespace tuscany * tree at contrib/ltree/crc32.[ch] and from FreeBSD at * src/usr.bin/cksum/crc32.c. */ -const unsigned int crc32hash(const char* data, const unsigned int len) { - return apr_memcache_hash_default(NULL, data, len); +const unsigned int crc32hash(const char* data, const size_t len) { + return (unsigned int)apr_memcache_hash_default(NULL, data, len); } /** @@ -89,7 +89,7 @@ const unsigned int crc32hash(const char* data, const unsigned int len) { * * -- Ralf S. Engelschall <rse@engelschall.com> */ -const unsigned int times33hash(const char* data, const unsigned int len) { +const unsigned int times33hash(const char* data, const size_t len) { apr_ssize_t l = len; return apr_hashfunc_default(data, &l); } @@ -107,8 +107,8 @@ const unsigned int times33hash(const char* data, const unsigned int len) { * Passes Bob Jenkin's frog.c torture-test. No collisions possible for 4 byte * keys, no small 1 to 7 bit differentials. */ -const unsigned int murmurhash(const char* key, const unsigned int klen) { - unsigned int len = klen; +const unsigned int murmurhash(const char* key, const size_t klen) { + unsigned int len = (unsigned int)klen; const unsigned int seed = 0; // 'm' and 'r' are mixing constants generated offline. @@ -153,8 +153,8 @@ const unsigned int murmurhash(const char* key, const unsigned int klen) { * An endian and alignment neutral, but half the speed, version of * the murmur hash. */ -const unsigned int portablemurmurhash(const char* key, const unsigned int klen) { - unsigned int len = klen; +const unsigned int portablemurmurhash(const char* key, const size_t klen) { + unsigned int len = (unsigned int)klen; const unsigned int seed = 0; // 'm' and 'r' are mixing constants generated offline. diff --git a/sca-cpp/trunk/kernel/list.hpp b/sca-cpp/trunk/kernel/list.hpp index db2f457317..a8dbcc1b0c 100644 --- a/sca-cpp/trunk/kernel/list.hpp +++ b/sca-cpp/trunk/kernel/list.hpp @@ -379,14 +379,14 @@ template<typename T> const list<T> cdddr(const list<T>& p) { * Returns the length of a list. */ template<typename T> struct lengthRef { - const int operator()(const int c, const list<T>& p) { + const size_t operator()(const size_t c, const list<T>& p) { if(isNil(p)) return c; return (*this)(c + 1, cdr(p)); } }; -template<typename T> const int length(const list<T>& p) { +template<typename T> const size_t length(const list<T>& p) { return lengthRef<T> ()(0, p); } @@ -537,7 +537,7 @@ template<typename T> const list<T> seq(const T& start, const T& end) { /** * Returns the i-th element of a list. */ -template<typename T> const T listRef(const list<T>& l, const int i) { +template<typename T> const T listRef(const list<T>& l, const size_t i) { if (i == 0) return car(l); return listRef(cdr(l), i - 1); diff --git a/sca-cpp/trunk/kernel/parallel.hpp b/sca-cpp/trunk/kernel/parallel.hpp index 09cf0df9a3..09829f0758 100644 --- a/sca-cpp/trunk/kernel/parallel.hpp +++ b/sca-cpp/trunk/kernel/parallel.hpp @@ -42,7 +42,7 @@ namespace tuscany { /** * Returns the current thread id. */ -unsigned int threadId() { +long int threadId() { return syscall(__NR_gettid); } @@ -134,7 +134,7 @@ public: */ template<typename T> class wqueue { public: - wqueue(int max) : max(max), size(0), tail(0), head(0), values(new (gc_anew<T>(max)) T[max]) { + wqueue(size_t max) : max(max), size(0), tail(0), head(0), values(new (gc_anew<T>(max)) T[max]) { pthread_mutex_init(&mutex, NULL); pthread_cond_init(&full, NULL); pthread_cond_init(&empty, NULL); @@ -150,23 +150,23 @@ public: } private: - const int max; - int size; - int tail; - int head; + const size_t max; + size_t size; + size_t tail; + size_t head; pthread_mutex_t mutex; pthread_cond_t full; pthread_cond_t empty; gc_ptr<T> values; - template<typename X> friend const int enqueue(wqueue<X>& q, const X& v); + template<typename X> friend const size_t enqueue(wqueue<X>& q, const X& v); template<typename X> friend const X dequeue(wqueue<X>& q); }; /** * Adds an element to the tail of the queue. */ -template<typename T> const int enqueue(wqueue<T>&q, const T& v) { +template<typename T> const size_t enqueue(wqueue<T>&q, const T& v) { pthread_mutex_lock(&q.mutex); while(q.size == q.max) pthread_cond_wait(&q.full, &q.mutex); @@ -211,7 +211,7 @@ void *workerThreadFunc(void *arg) { /** * Returns a list of worker threads. */ -const list<pthread_t> workerThreads(wqueue<lambda<bool()> >& wqueue, const int count) { +const list<pthread_t> workerThreads(wqueue<lambda<bool()> >& wqueue, const size_t count) { if (count == 0) return list<pthread_t>(); pthread_t thread; @@ -229,7 +229,7 @@ private: // copies of the queue and thread pool when a worker is copied class sharedWorker { public: - sharedWorker(int max) : work(wqueue<lambda<bool()> >(max)), threads(workerThreads(work, max)) { + sharedWorker(size_t max) : work(wqueue<lambda<bool()> >(max)), threads(workerThreads(work, max)) { } wqueue<lambda<bool()> > work; @@ -237,7 +237,7 @@ private: }; public: - worker(int max) : w(*(new (gc_new<sharedWorker>()) sharedWorker(max))) { + worker(size_t max) : w(*(new (gc_new<sharedWorker>()) sharedWorker(max))) { } worker(const worker& wk) : w(wk.w) { diff --git a/sca-cpp/trunk/kernel/sstream.hpp b/sca-cpp/trunk/kernel/sstream.hpp index 693ba5f88f..770c169e09 100644 --- a/sca-cpp/trunk/kernel/sstream.hpp +++ b/sca-cpp/trunk/kernel/sstream.hpp @@ -60,10 +60,11 @@ public: ostringstream& vprintf(const char* fmt, ...) { va_list args; - va_start (args, fmt); string s; + va_start (args, fmt); s.len = vsnprintf(NULL, 0, fmt, args); s.buf = gc_cnew(s.len + 1); + va_start (args, fmt); vsnprintf(s.buf, s.len + 1, fmt, args); buf = cons(s, buf); len += s.len; @@ -104,7 +105,7 @@ private: friend const string str(ostringstream& os); - int len; + size_t len; list<string> buf; }; @@ -122,7 +123,7 @@ class istringstream : public istream { public: istringstream(const string& s) { cur = 0; - const int slen = length(s); + const size_t slen = length(s); len = slen; buf = c_str(s); } @@ -136,8 +137,8 @@ public: buf = is.buf; } - const int read(void* b, int size) { - const int n = len - cur; + const size_t read(void* b, size_t size) { + const size_t n = len - cur; if (n == 0) return 0; if (n > size) { @@ -173,8 +174,8 @@ public: } private: - int len; - int cur; + size_t len; + size_t cur; const char* buf; }; @@ -183,10 +184,10 @@ private: */ const list<string> tokenize(const char* sep, const string& str) { struct nested { - static const list<string> tokenize(const char* sep, const string& str, const int start = 0) { + static const list<string> tokenize(const char* sep, const string& str, const size_t start = 0) { if (start >= length(str)) return list<string>(); - const int i = find(str, sep, start); + const size_t i = find(str, sep, start); if (i == length(str)) return mklist(string(substr(str, start))); return cons(string(substr(str, start, i - start)), tokenize(sep, str, i + 1)); @@ -222,7 +223,7 @@ struct ilistRead{ } const list<string> operator()() { char buffer[1024]; - const int n = read(is, buffer, sizeof(buffer)); + const size_t n = read(is, buffer, sizeof(buffer)); if (n ==0) return list<string>(); return cons(string(buffer, n), (*this)()); @@ -236,7 +237,7 @@ const list<string> streamList(istream& is) { /** * Fragment the first element of a list of strings to fit the given max length. */ -const list<string> fragment(list<string> l, int max) { +const list<string> fragment(list<string> l, size_t max) { const string s = car(l); if (length(s) <= max) return l; diff --git a/sca-cpp/trunk/kernel/stream.hpp b/sca-cpp/trunk/kernel/stream.hpp index f9d5cc3afe..53fb5e9ff7 100644 --- a/sca-cpp/trunk/kernel/stream.hpp +++ b/sca-cpp/trunk/kernel/stream.hpp @@ -106,7 +106,7 @@ ostream& operator<<(ostream& os, unused const stream_endl e) { */ class istream { public: - virtual const int read(void* buf, int size) = 0; + virtual const size_t read(void* buf, size_t size) = 0; virtual const bool eof() = 0; virtual const bool fail() = 0; virtual const int get() = 0; @@ -116,7 +116,7 @@ public: /** * Read from an input stream. */ -const int read(istream& is, void * buf, int size) { +const size_t read(istream& is, void * buf, size_t size) { return is.read(buf, size); } @@ -164,10 +164,11 @@ public: odebugstream& vprintf(const char* fmt, ...) { va_list args; - va_start (args, fmt); string s; + va_start (args, fmt); s.len = vsnprintf(NULL, 0, fmt, args); s.buf = gc_cnew(s.len + 1); + va_start (args, fmt); vsnprintf(s.buf, s.len + 1, fmt, args); buf = buf + s; va_end (args); diff --git a/sca-cpp/trunk/kernel/string-test.cpp b/sca-cpp/trunk/kernel/string-test.cpp index 323756c7e4..23fa2b9457 100644 --- a/sca-cpp/trunk/kernel/string-test.cpp +++ b/sca-cpp/trunk/kernel/string-test.cpp @@ -122,11 +122,11 @@ string add(string& x, string& y) { char charBuffer[16384]; struct addStrings{ - const int size; - addStrings(const int size) : size(size) { + const size_t size; + addStrings(const size_t size) : size(size) { } bool operator()() const { - const int sz = size / 4; + const size_t sz = size / 4; string x(charBuffer, sz); string y(charBuffer, sz); assert(length(add(x, y)) == sz * 2); @@ -135,11 +135,11 @@ struct addStrings{ }; struct addStdStrings{ - const int size; - addStdStrings(const int size) : size(size) { + const size_t size; + addStdStrings(const size_t size) : size(size) { } bool operator()() const { - const int sz = size / 4; + const size_t sz = size / 4; std::string x(charBuffer, sz); std::string y(charBuffer, sz); assert(stdAdd(x, y).length() == (unsigned int)(sz * 2)); diff --git a/sca-cpp/trunk/kernel/string.hpp b/sca-cpp/trunk/kernel/string.hpp index 1daec2aac7..cf7b4092d2 100644 --- a/sca-cpp/trunk/kernel/string.hpp +++ b/sca-cpp/trunk/kernel/string.hpp @@ -94,7 +94,7 @@ public: string_memcpy(buf, s, len + 1); } - string(const char* s, const int n) { + string(const char* s, const size_t n) { len = n; if (len == 0) { buf = stringEmptyBuffer; @@ -105,7 +105,7 @@ public: buf[len] = '\0'; } - string(const int n, const char c) { + string(const size_t n, const char c) { len = n; if (len == 0) { buf = stringEmptyBuffer; @@ -152,7 +152,7 @@ public: } const bool operator<(const string& s) const { - const int n = len < s.len? len : s.len; + const size_t n = len < s.len? len : s.len; const int c = memcmp(buf, s.buf, n); if (c < 0) return true; @@ -162,7 +162,7 @@ public: } const bool operator>(const string& s) const { - const int n = len < s.len? len : s.len; + const size_t n = len < s.len? len : s.len; int c = memcmp(buf, s.buf, n); if (c > 0) return true; @@ -178,12 +178,12 @@ private: friend class ostringstream; friend const string operator+(const string& a, const string& b); friend const string operator+(const string& a, const char* b); - friend const int length(const string& s); + friend const size_t length(const string& s); friend const char* c_str(const string& s); - friend const int find(const string& s1, const char* s2, const int start); - friend const string substr(const string& s, const int pos, const int n); + friend const size_t find(const string& s1, const char* s2, const size_t start); + friend const string substr(const string& s, const size_t pos, const size_t n); - int len; + size_t len; char* buf; }; @@ -202,7 +202,7 @@ const string operator+(const string& a, const string& b) { const string operator+(const string& a, const char* b) { string s; - const int blen = strlen(b); + const size_t blen = strlen(b); s.len = a.len + blen; s.buf = gc_cnew(s.len + 1); string_memcpy(s.buf, a.buf, a.len); @@ -214,7 +214,7 @@ const string operator+(const string& a, const char* b) { /** * Returns the length of a string. */ -const int length(const string& s) { +const size_t length(const string& s) { return s.len; } @@ -228,7 +228,7 @@ const char* c_str(const string& s) { /** * Find the first occurrence of string s2 in s1, starting at the given position. */ -const int find(const string& s1, const char* s2, const int start) { +const size_t find(const string& s1, const char* s2, const size_t start) { if (start >= s1.len) return s1.len; const char *f = strstr(s1.buf + start, s2); @@ -237,7 +237,7 @@ const int find(const string& s1, const char* s2, const int start) { return f - s1.buf; } -const int find(const string& s1, const char* s2) { +const size_t find(const string& s1, const char* s2) { return find(s1, s2, 0); } @@ -251,14 +251,14 @@ const bool contains(const string& s1, const char* s2) { /** * Find the first occurence of any character from a string in a string. */ -const int find_first_of(const string& s1, const string& s2) { +const size_t find_first_of(const string& s1, const string& s2) { return strcspn(c_str(s1), c_str(s2)); } /** * Find the first occurence of a character in a string. */ -const int find(const string& s, const char c) { +const size_t find(const string& s, const char c) { const char* cs = c_str(s); const char* f = strchr(cs, c); if (f == NULL) @@ -269,7 +269,7 @@ const int find(const string& s, const char c) { /** * Find the last occurence of a character in a string. */ -const int find_last(const string& s, const char c) { +const size_t find_last(const string& s, const char c) { const char* cs = c_str(s); const char* f = strrchr(cs, c); if (f == NULL) @@ -280,7 +280,7 @@ const int find_last(const string& s, const char c) { /** * Return a substring of a string. */ -const string substr(const string& s, const int pos, const int n) { +const string substr(const string& s, const size_t pos, const size_t n) { if (pos >= s.len) return string(); if (pos + n > s.len) @@ -288,7 +288,7 @@ const string substr(const string& s, const int pos, const int n) { return string(s.buf + pos, n); } -const string substr(const string& s, const int pos) { +const string substr(const string& s, const size_t pos) { return substr(s, pos, length(s)); } diff --git a/sca-cpp/trunk/kernel/tree.hpp b/sca-cpp/trunk/kernel/tree.hpp index 436385aa1b..89a131c324 100644 --- a/sca-cpp/trunk/kernel/tree.hpp +++ b/sca-cpp/trunk/kernel/tree.hpp @@ -96,14 +96,14 @@ template<typename T> const list<T> sort(const list<T>& l) { /** * Make a balanced tree from an ordered list of leaves. */ -template<typename T> const list<T> btreeHelper(const list<T>& elements, const int n) { +template<typename T> const list<T> btreeHelper(const list<T>& elements, const size_t n) { if (n == 0) return cons<T>(list<T>(), elements); - const int leftSize = (n - 1) / 2; { + const size_t leftSize = (n - 1) / 2; { const list<T> leftResult = btreeHelper<T>(elements, leftSize); { const list<T> leftTree = car(leftResult); const list<T> nonLeftElements = cdr(leftResult); - const int rightSize = n - (leftSize + 1); { + const size_t rightSize = n - (leftSize + 1); { const T thisEntry = car(nonLeftElements); const list<T> rightResult = btreeHelper<T>(cdr(nonLeftElements), rightSize); { const list<T> rightTree = car(rightResult); diff --git a/sca-cpp/trunk/kernel/xml.hpp b/sca-cpp/trunk/kernel/xml.hpp index 895ed7035e..3459592c97 100644 --- a/sca-cpp/trunk/kernel/xml.hpp +++ b/sca-cpp/trunk/kernel/xml.hpp @@ -196,7 +196,7 @@ int readCallback(void *context, char* buffer, int len) { const string s(car(f)); rc.ilist = cdr(f); memcpy(buffer, c_str(s), length(s)); - return length(s); + return (int)length(s); } /** diff --git a/sca-cpp/trunk/kernel/xsd-test.cpp b/sca-cpp/trunk/kernel/xsd-test.cpp index f430f1848d..fbd2ee6dca 100644 --- a/sca-cpp/trunk/kernel/xsd-test.cpp +++ b/sca-cpp/trunk/kernel/xsd-test.cpp @@ -45,7 +45,7 @@ bool printNode(xmlTextReaderPtr reader) { } int xmlRead(void *context, char* buffer, int len) { - return fread(buffer, 1, len, (FILE*)context); + return (int)fread(buffer, 1, len, (FILE*)context); } int xmlClose(void *context) { |