summaryrefslogtreecommitdiff
path: root/cpp/src/IceUtil/Shared.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2016-06-27 16:29:41 -0400
committerBernard Normier <bernard@zeroc.com>2016-06-27 16:29:41 -0400
commitfff68e2470492ef3c7b80654f4c5977066d89323 (patch)
treec3147db6d0b745428ad53a717b35b828759ee8bc /cpp/src/IceUtil/Shared.cpp
parentRefactored SSL and iAP transports, support for running SSL on top (diff)
downloadice-fff68e2470492ef3c7b80654f4c5977066d89323.tar.bz2
ice-fff68e2470492ef3c7b80654f4c5977066d89323.tar.xz
ice-fff68e2470492ef3c7b80654f4c5977066d89323.zip
Exported classes no longer have weak vtables with clang
Diffstat (limited to 'cpp/src/IceUtil/Shared.cpp')
-rw-r--r--cpp/src/IceUtil/Shared.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/cpp/src/IceUtil/Shared.cpp b/cpp/src/IceUtil/Shared.cpp
index 4012f58e169..75b43462398 100644
--- a/cpp/src/IceUtil/Shared.cpp
+++ b/cpp/src/IceUtil/Shared.cpp
@@ -29,6 +29,11 @@ IceUtil::SimpleShared::SimpleShared(const SimpleShared&) :
{
}
+IceUtil::SimpleShared::~SimpleShared()
+{
+ // Out of line to avoid weak vtable
+}
+
IceUtil::Shared::Shared() :
_ref(0),
_flags(0)
@@ -41,14 +46,14 @@ IceUtil::Shared::Shared(const Shared&) :
{
}
-void
+void
IceUtil::Shared::__incRef()
{
assert(_ref >= 0);
++_ref;
}
-void
+void
IceUtil::Shared::__decRef()
{
assert(_ref > 0);