summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Stitcher <astitcher@apache.org>2011-05-09 19:56:00 +0000
committerAndrew Stitcher <astitcher@apache.org>2011-05-09 19:56:00 +0000
commitb66bd995ff224ee7c34fbd1d9eae87d908707a60 (patch)
tree7f042ad2a1c7952effcc69f90fea1470a9131615
parent0a27dd86ee5a454a20520d10c987de793be0a4e3 (diff)
downloadqpid-python-b66bd995ff224ee7c34fbd1d9eae87d908707a60.tar.gz
QPID-3004: Get Clang to compile qpid c++
- Finish getting boost::intrusive_ptr working (may be compiler bug) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1101181 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/cpp/src/qmf/PrivateImplRef.h2
-rw-r--r--qpid/cpp/src/qpid/RefCounted.h6
-rw-r--r--qpid/cpp/src/qpid/cluster/Connection.h3
-rw-r--r--qpid/cpp/src/qpid/cluster/types.h1
-rw-r--r--qpid/cpp/src/qpid/framing/MethodBodyFactory.h1
5 files changed, 9 insertions, 4 deletions
diff --git a/qpid/cpp/src/qmf/PrivateImplRef.h b/qpid/cpp/src/qmf/PrivateImplRef.h
index 8b698c4199..960cbb2e09 100644
--- a/qpid/cpp/src/qmf/PrivateImplRef.h
+++ b/qpid/cpp/src/qmf/PrivateImplRef.h
@@ -23,8 +23,8 @@
*/
#include "qmf/ImportExport.h"
-#include <boost/intrusive_ptr.hpp>
#include "qpid/RefCounted.h"
+#include <boost/intrusive_ptr.hpp>
namespace qmf {
diff --git a/qpid/cpp/src/qpid/RefCounted.h b/qpid/cpp/src/qpid/RefCounted.h
index e7a9bf31c1..f9e0107103 100644
--- a/qpid/cpp/src/qpid/RefCounted.h
+++ b/qpid/cpp/src/qpid/RefCounted.h
@@ -53,8 +53,10 @@ protected:
// intrusive_ptr support.
namespace boost {
-inline void intrusive_ptr_add_ref(const qpid::RefCounted* p) { p->addRef(); }
-inline void intrusive_ptr_release(const qpid::RefCounted* p) { p->release(); }
+template <typename T>
+inline void intrusive_ptr_add_ref(const T* p) { p->qpid::RefCounted::addRef(); }
+template <typename T>
+inline void intrusive_ptr_release(const T* p) { p->qpid::RefCounted::release(); }
}
diff --git a/qpid/cpp/src/qpid/cluster/Connection.h b/qpid/cpp/src/qpid/cluster/Connection.h
index b290824805..a0da9efbb8 100644
--- a/qpid/cpp/src/qpid/cluster/Connection.h
+++ b/qpid/cpp/src/qpid/cluster/Connection.h
@@ -24,10 +24,10 @@
#include "types.h"
#include "OutputInterceptor.h"
-#include "EventFrame.h"
#include "McastFrameHandler.h"
#include "UpdateReceiver.h"
+#include "qpid/RefCounted.h"
#include "qpid/broker/Connection.h"
#include "qpid/broker/SecureConnection.h"
#include "qpid/broker/SemanticState.h"
@@ -55,6 +55,7 @@ class TxAccept;
namespace cluster {
class Cluster;
class Event;
+struct EventFrame;
/** Intercept broker::Connection calls for shadow and local cluster connections. */
class Connection :
diff --git a/qpid/cpp/src/qpid/cluster/types.h b/qpid/cpp/src/qpid/cluster/types.h
index 0795e5e77a..bfb4fd5b9e 100644
--- a/qpid/cpp/src/qpid/cluster/types.h
+++ b/qpid/cpp/src/qpid/cluster/types.h
@@ -24,6 +24,7 @@
#include "config.h"
#include "qpid/Url.h"
+#include "qpid/RefCounted.h"
#include "qpid/sys/IntegerTypes.h"
#include <boost/intrusive_ptr.hpp>
#include <utility>
diff --git a/qpid/cpp/src/qpid/framing/MethodBodyFactory.h b/qpid/cpp/src/qpid/framing/MethodBodyFactory.h
index 607ec9d959..88bc444795 100644
--- a/qpid/cpp/src/qpid/framing/MethodBodyFactory.h
+++ b/qpid/cpp/src/qpid/framing/MethodBodyFactory.h
@@ -22,6 +22,7 @@
*
*/
#include "qpid/framing/amqp_types.h"
+#include "qpid/framing/AMQBody.h"
#include <boost/intrusive_ptr.hpp>
namespace qpid {