You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2013/06/11 17:04:04 UTC

svn commit: r1491824 - in /activemq/activemq-cpp/trunk/activemq-cpp/src: examples/stress-test/ main/activemq/util/ main/decaf/internal/util/concurrent/

Author: tabish
Date: Tue Jun 11 15:04:04 2013
New Revision: 1491824

URL: http://svn.apache.org/r1491824
Log:
fix for: https://issues.apache.org/jira/browse/AMQCPP-489

Modified:
    activemq/activemq-cpp/trunk/activemq-cpp/src/examples/stress-test/TestSenderAndReceiver.cpp
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/PrimitiveValueConverter.cpp
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/PrimitiveValueConverter.h
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/internal/util/concurrent/Threading.cpp

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/examples/stress-test/TestSenderAndReceiver.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/examples/stress-test/TestSenderAndReceiver.cpp?rev=1491824&r1=1491823&r2=1491824&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/examples/stress-test/TestSenderAndReceiver.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/examples/stress-test/TestSenderAndReceiver.cpp Tue Jun 11 15:04:04 2013
@@ -19,6 +19,10 @@
 
 #include <stdio.h>
 
+#ifdef __SUNPRO_CC
+#include <stdlib.h>
+#endif
+
 using namespace decaf::lang;
 using namespace cms;
 using namespace cms::stress;

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/PrimitiveValueConverter.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/PrimitiveValueConverter.cpp?rev=1491824&r1=1491823&r2=1491824&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/PrimitiveValueConverter.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/PrimitiveValueConverter.cpp Tue Jun 11 15:04:04 2013
@@ -31,7 +31,7 @@ using namespace activemq::util;
 
 ////////////////////////////////////////////////////////////////////////////////
 template<>
-bool PrimitiveValueConverter::convert(const PrimitiveValueNode& value) const {
+bool PrimitiveValueConverter::convert<bool>(const PrimitiveValueNode& value) const {
 
     switch( value.getType() ) {
         case PrimitiveValueNode::BOOLEAN_TYPE:
@@ -51,7 +51,7 @@ bool PrimitiveValueConverter::convert(co
 
 ////////////////////////////////////////////////////////////////////////////////
 template<>
-unsigned char PrimitiveValueConverter::convert(const PrimitiveValueNode& value) const {
+unsigned char PrimitiveValueConverter::convert<unsigned char>(const PrimitiveValueNode& value) const {
 
     switch( value.getType() ) {
         case PrimitiveValueNode::BYTE_TYPE:
@@ -71,7 +71,7 @@ unsigned char PrimitiveValueConverter::c
 
 ////////////////////////////////////////////////////////////////////////////////
 template<>
-char PrimitiveValueConverter::convert(const PrimitiveValueNode& value) const {
+char PrimitiveValueConverter::convert<char>(const PrimitiveValueNode& value) const {
 
     switch( value.getType() ) {
         case PrimitiveValueNode::CHAR_TYPE:
@@ -91,7 +91,7 @@ char PrimitiveValueConverter::convert(co
 
 ////////////////////////////////////////////////////////////////////////////////
 template<>
-short PrimitiveValueConverter::convert(const PrimitiveValueNode& value) const {
+short PrimitiveValueConverter::convert<short>(const PrimitiveValueNode& value) const {
 
     switch( value.getType() ) {
         case PrimitiveValueNode::BYTE_TYPE:
@@ -113,7 +113,7 @@ short PrimitiveValueConverter::convert(c
 
 ////////////////////////////////////////////////////////////////////////////////
 template<>
-int PrimitiveValueConverter::convert(const PrimitiveValueNode& value) const {
+int PrimitiveValueConverter::convert<int>(const PrimitiveValueNode& value) const {
 
     switch( value.getType() ) {
         case PrimitiveValueNode::BYTE_TYPE:
@@ -137,7 +137,7 @@ int PrimitiveValueConverter::convert(con
 
 ////////////////////////////////////////////////////////////////////////////////
 template<>
-long long PrimitiveValueConverter::convert(const PrimitiveValueNode& value) const {
+long long PrimitiveValueConverter::convert<long long>(const PrimitiveValueNode& value) const {
 
     switch( value.getType() ) {
         case PrimitiveValueNode::BYTE_TYPE:
@@ -163,7 +163,7 @@ long long PrimitiveValueConverter::conve
 
 ////////////////////////////////////////////////////////////////////////////////
 template<>
-float PrimitiveValueConverter::convert(const PrimitiveValueNode& value) const {
+float PrimitiveValueConverter::convert<float>(const PrimitiveValueNode& value) const {
 
     switch( value.getType() ) {
         case PrimitiveValueNode::FLOAT_TYPE:
@@ -183,7 +183,7 @@ float PrimitiveValueConverter::convert(c
 
 ////////////////////////////////////////////////////////////////////////////////
 template<>
-double PrimitiveValueConverter::convert(const PrimitiveValueNode& value) const {
+double PrimitiveValueConverter::convert<double>(const PrimitiveValueNode& value) const {
 
     switch( value.getType() ) {
         case PrimitiveValueNode::FLOAT_TYPE:
@@ -205,7 +205,7 @@ double PrimitiveValueConverter::convert(
 
 ////////////////////////////////////////////////////////////////////////////////
 template<>
-std::string PrimitiveValueConverter::convert(const PrimitiveValueNode& value) const {
+std::string PrimitiveValueConverter::convert<std::string>(const PrimitiveValueNode& value) const {
 
     switch( value.getType() ) {
         case PrimitiveValueNode::NULL_TYPE:
@@ -237,7 +237,7 @@ std::string PrimitiveValueConverter::con
 
 ////////////////////////////////////////////////////////////////////////////////
 template<>
-std::vector<unsigned char> PrimitiveValueConverter::convert( const PrimitiveValueNode& value ) const {
+std::vector<unsigned char> PrimitiveValueConverter::convert<std::vector<unsigned char> >( const PrimitiveValueNode& value ) const {
 
     switch( value.getType() ) {
         case PrimitiveValueNode::BYTE_ARRAY_TYPE:

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/PrimitiveValueConverter.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/PrimitiveValueConverter.h?rev=1491824&r1=1491823&r2=1491824&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/PrimitiveValueConverter.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/util/PrimitiveValueConverter.h Tue Jun 11 15:04:04 2013
@@ -57,35 +57,34 @@ namespace util {
         PrimitiveValueConverter() {}
         virtual ~PrimitiveValueConverter() {}
 
-        template< typename TO>
-        TO convert( const PrimitiveValueNode& value ) const {
+        template<typename TO>
+        TO convert(const PrimitiveValueNode& value) const {
 
             throw decaf::lang::exceptions::UnsupportedOperationException(
-                __FILE__, __LINE__, "Invalid Conversion" );
+                __FILE__, __LINE__, "Invalid Conversion");
         }
-
     };
 
     template<>
-    bool PrimitiveValueConverter::convert( const PrimitiveValueNode& value ) const;
+    bool PrimitiveValueConverter::convert<bool>(const PrimitiveValueNode& value) const;
     template<>
-    unsigned char PrimitiveValueConverter::convert( const PrimitiveValueNode& value ) const;
+    unsigned char PrimitiveValueConverter::convert<unsigned char>(const PrimitiveValueNode& value) const;
     template<>
-    char PrimitiveValueConverter::convert( const PrimitiveValueNode& value ) const;
+    char PrimitiveValueConverter::convert<char>(const PrimitiveValueNode& value) const;
     template<>
-    short PrimitiveValueConverter::convert( const PrimitiveValueNode& value ) const;
+    short PrimitiveValueConverter::convert<short>(const PrimitiveValueNode& value) const;
     template<>
-    int PrimitiveValueConverter::convert( const PrimitiveValueNode& value ) const;
+    int PrimitiveValueConverter::convert<int>(const PrimitiveValueNode& value) const;
     template<>
-    long long PrimitiveValueConverter::convert( const PrimitiveValueNode& value ) const;
+    long long PrimitiveValueConverter::convert<long long>(const PrimitiveValueNode& value) const;
     template<>
-    float PrimitiveValueConverter::convert( const PrimitiveValueNode& value ) const;
+    float PrimitiveValueConverter::convert<float>(const PrimitiveValueNode& value) const;
     template<>
-    double PrimitiveValueConverter::convert( const PrimitiveValueNode& value ) const;
+    double PrimitiveValueConverter::convert<double>(const PrimitiveValueNode& value) const;
     template<>
-    std::string PrimitiveValueConverter::convert( const PrimitiveValueNode& value ) const;
+    std::string PrimitiveValueConverter::convert<std::string>(const PrimitiveValueNode& value) const;
     template<>
-    std::vector<unsigned char> PrimitiveValueConverter::convert( const PrimitiveValueNode& value ) const;
+    std::vector<unsigned char> PrimitiveValueConverter::convert<std::vector<unsigned char> >(const PrimitiveValueNode& value) const;
 
 }}
 

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/internal/util/concurrent/Threading.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/internal/util/concurrent/Threading.cpp?rev=1491824&r1=1491823&r2=1491824&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/internal/util/concurrent/Threading.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/internal/util/concurrent/Threading.cpp Tue Jun 11 15:04:04 2013
@@ -32,6 +32,10 @@
 #include <vector>
 #include <list>
 
+#ifdef __SUNPRO_CC
+#include <stdlib.h>
+#endif
+
 using namespace decaf;
 using namespace decaf::lang;
 using namespace decaf::lang::exceptions;