diff options
author | Michi Henning <michi@zeroc.com> | 2004-12-01 07:45:50 +0000 |
---|---|---|
committer | Michi Henning <michi@zeroc.com> | 2004-12-01 07:45:50 +0000 |
commit | 8c076263f8d5c556cf4b709e36b63003c62ad720 (patch) | |
tree | a2ca61338443e7782f18b6ff0c35e877dd47da1b /cpp/src/Ice/Object.cpp | |
parent | Added missing call to destroy the compressed stream to sendResponse(). (diff) | |
download | ice-8c076263f8d5c556cf4b709e36b63003c62ad720.tar.bz2 ice-8c076263f8d5c556cf4b709e36b63003c62ad720.tar.xz ice-8c076263f8d5c556cf4b709e36b63003c62ad720.zip |
Changed generated code to work around bug in gcc 3.2 and 3.4 regarding
initialization of static class data members. Removed all static class
data members in the process, so there are no more problems with
violating ODR if the same .o file is loaded more than once into an
address space. See
http://www.zeroc.com/vbulletin/showthread.php?s=&threadid=1020.
Diffstat (limited to 'cpp/src/Ice/Object.cpp')
-rw-r--r-- | cpp/src/Ice/Object.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/cpp/src/Ice/Object.cpp b/cpp/src/Ice/Object.cpp index 70ce15164f0..1b9ab0a5b58 100644 --- a/cpp/src/Ice/Object.cpp +++ b/cpp/src/Ice/Object.cpp @@ -48,7 +48,7 @@ Ice::Object::ice_hash() const return static_cast<Int>(reinterpret_cast<Long>(this) >> 4); } -const string Ice::Object::__ids[] = +static const string __Ice__Object_ids[] = { "::Ice::Object" }; @@ -56,7 +56,7 @@ const string Ice::Object::__ids[] = bool Ice::Object::ice_isA(const string& s, const Current&) const { - return s == __ids[0]; + return s == __Ice__Object_ids[0]; } void @@ -68,19 +68,19 @@ Ice::Object::ice_ping(const Current&) const vector<string> Ice::Object::ice_ids(const Current&) const { - return vector<string>(&__ids[0], &__ids[1]); + return vector<string>(&__Ice__Object_ids[0], &__Ice__Object_ids[1]); } const string& Ice::Object::ice_id(const Current&) const { - return __ids[0]; + return __Ice__Object_ids[0]; } const ::std::string& Ice::Object::ice_staticId() { - return __ids[0]; + return __Ice__Object_ids[0]; } void |