diff options
Diffstat (limited to 'cpp/include/IceUtil')
-rw-r--r-- | cpp/include/IceUtil/Config.h | 20 | ||||
-rw-r--r-- | cpp/include/IceUtil/Handle.h | 11 |
2 files changed, 31 insertions, 0 deletions
diff --git a/cpp/include/IceUtil/Config.h b/cpp/include/IceUtil/Config.h index 8b2e99ca0a8..3e8ddd03ff0 100644 --- a/cpp/include/IceUtil/Config.h +++ b/cpp/include/IceUtil/Config.h @@ -221,4 +221,24 @@ typedef long long Int64; #define ICE_STRING_VERSION "3.3.1" // "A.B.C", with A=major, B=minor, C=patch #define ICE_INT_VERSION 30301 // AABBCC, with AA=major, BB=minor, CC=patch +#if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) +// +// Dummy class used in work around for bug in C++Builder 2009 +// http://qc.embarcadero/wc/qcmain.aspx?d=71611 +// +namespace IceUtil +{ + +class DummyBCC +{ +public: + + ~DummyBCC() + { + } +}; + +} +#endif + #endif diff --git a/cpp/include/IceUtil/Handle.h b/cpp/include/IceUtil/Handle.h index d466b4304ed..138a875f989 100644 --- a/cpp/include/IceUtil/Handle.h +++ b/cpp/include/IceUtil/Handle.h @@ -147,6 +147,17 @@ template<typename T> class Handle : public HandleBase<T> { public: + +#if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600) + // + // C++Builder 2009 does not allow setting Ptr to 0. + // + Handle(int p) + { + assert(p == 0); + this->_ptr = 0; + } +#endif Handle(T* p = 0) { |