Author: cliffjansen
Date: Sun Jun 17 23:57:36 2012
New Revision: 1351185

URL: http://svn.apache.org/viewvc?rev=1351185&view=rev
Log:
QPID-4071: basic porting changes for solaris native compiler

Modified:
    qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Class.cpp
    qpid/trunk/qpid/cpp/src/CMakeLists.txt
    qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp
    qpid/trunk/qpid/cpp/src/qpid/console/ClassKey.cpp
    qpid/trunk/qpid/cpp/src/qpid/framing/FieldTable.cpp
    qpid/trunk/qpid/cpp/src/qpid/framing/Uuid.cpp
    qpid/trunk/qpid/cpp/src/qpid/sys/cyrus/CyrusSecurityLayer.cpp
    qpid/trunk/qpid/cpp/src/qpid/sys/unordered_map.h
    qpid/trunk/qpid/cpp/src/tests/FieldTable.cpp
    qpid/trunk/qpid/cpp/src/tests/TimerTest.cpp

Modified: qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Class.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Class.cpp?rev=1351185&r1=1351184&r2=1351185&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Class.cpp (original)
+++ qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Class.cpp Sun Jun 17 
23:57:36 2012
@@ -29,6 +29,7 @@
 /*MGEN:Class.MethodArgIncludes*/
 #include <iostream>
 #include <sstream>
+#include <string.h>
 
 using namespace qmf::/*MGEN:Class.Namespace*/;
 using           qpid::management::ManagementAgent;

Modified: qpid/trunk/qpid/cpp/src/CMakeLists.txt
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/CMakeLists.txt?rev=1351185&r1=1351184&r2=1351185&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/src/CMakeLists.txt Sun Jun 17 23:57:36 2012
@@ -281,7 +281,7 @@ endif (CMAKE_COMPILER_IS_GNUCXX)
 
 if (CMAKE_CXX_COMPILER_ID STREQUAL SunPro)
   set (COMPILER_FLAGS "-library=stlport4 -mt")
-  set (WARNING_FLAGS "+w2")
+  set (WARNING_FLAGS "+w")
 endif (CMAKE_CXX_COMPILER_ID STREQUAL SunPro)
 
 option(ENABLE_WARNINGS "Enable lots of compiler warnings (recommended)" ON)
@@ -826,6 +826,12 @@ else (CMAKE_SYSTEM_NAME STREQUAL Windows
     )
   endif (CMAKE_SYSTEM_NAME STREQUAL SunOS)
 
+  if (CMAKE_CXX_COMPILER_ID STREQUAL SunPro)
+    # -lmalloc needed for mallinfo.
+    set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lmalloc")
+    set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -lmalloc")
+  endif (CMAKE_CXX_COMPILER_ID STREQUAL SunPro)
+
   set (qpidtypes_platform_SOURCES)
   set (qpidtypes_platform_LIBS
        uuid

Modified: qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp?rev=1351185&r1=1351184&r2=1351185&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp Sun Jun 17 
23:57:36 2012
@@ -78,7 +78,7 @@ bool expired(const sys::AbsTime& start, 
     if (timeout == 0) return true;
     if (timeout == FOREVER) return false;
     sys::Duration used(start, sys::now());
-    sys::Duration allowed(int64_t(timeout*sys::TIME_SEC));
+    sys::Duration allowed((int64_t)(timeout*sys::TIME_SEC));
     return allowed < used;
 }
 

Modified: qpid/trunk/qpid/cpp/src/qpid/console/ClassKey.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/console/ClassKey.cpp?rev=1351185&r1=1351184&r2=1351185&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/console/ClassKey.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/console/ClassKey.cpp Sun Jun 17 23:57:36 2012
@@ -21,6 +21,7 @@
 
 #include "qpid/console/ClassKey.h"
 #include <string.h>
+#include <iostream>
 #include <cstdio>
 
 using namespace std;

Modified: qpid/trunk/qpid/cpp/src/qpid/framing/FieldTable.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/framing/FieldTable.cpp?rev=1351185&r1=1351184&r2=1351185&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/framing/FieldTable.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/framing/FieldTable.cpp Sun Jun 17 23:57:36 2012
@@ -196,7 +196,7 @@ void FieldTable::setFloat(const std::str
     flushRawCache();
 }
 
-void FieldTable::setDouble(const std::string& name, double value){
+void FieldTable::setDouble(const std::string& name, const double value){
     realDecode();
     values[name] = ValuePtr(new DoubleValue(value));
     flushRawCache();

Modified: qpid/trunk/qpid/cpp/src/qpid/framing/Uuid.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/framing/Uuid.cpp?rev=1351185&r1=1351184&r2=1351185&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/framing/Uuid.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/framing/Uuid.cpp Sun Jun 17 23:57:36 2012
@@ -46,7 +46,7 @@ Uuid::Uuid(const uint8_t* data) {
 Uuid::Uuid(const std::string& s) {
     if (s.size() != UNPARSED_SIZE)
         throw IllegalArgumentException(QPID_MSG("Invalid UUID: " << s));
-    if (uuid_parse(&s[0], c_array()) != 0)
+    if (uuid_parse(const_cast<char *>(&s[0]), c_array()) != 0)
         throw IllegalArgumentException(QPID_MSG("Invalid UUID: " << s));
 }
 

Modified: qpid/trunk/qpid/cpp/src/qpid/sys/cyrus/CyrusSecurityLayer.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/cyrus/CyrusSecurityLayer.cpp?rev=1351185&r1=1351184&r2=1351185&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/cyrus/CyrusSecurityLayer.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/cyrus/CyrusSecurityLayer.cpp Sun Jun 17 
23:57:36 2012
@@ -18,6 +18,7 @@
  * under the License.
  *
  */
+#include <unistd.h>
 #include "qpid/sys/cyrus/CyrusSecurityLayer.h"
 #include <algorithm>
 #include "qpid/framing/reply_exceptions.h"

Modified: qpid/trunk/qpid/cpp/src/qpid/sys/unordered_map.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/unordered_map.h?rev=1351185&r1=1351184&r2=1351185&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/unordered_map.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/unordered_map.h Sun Jun 17 23:57:36 2012
@@ -23,6 +23,8 @@
 
 #ifdef _MSC_VER
 #  include <unordered_map>
+#elif defined(__SUNPRO_CC)
+#  include <boost/tr1/unordered_map.hpp>
 #else
 #  include <tr1/unordered_map>
 #endif /* _MSC_VER */

Modified: qpid/trunk/qpid/cpp/src/tests/FieldTable.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/FieldTable.cpp?rev=1351185&r1=1351184&r2=1351185&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/FieldTable.cpp (original)
+++ qpid/trunk/qpid/cpp/src/tests/FieldTable.cpp Sun Jun 17 23:57:36 2012
@@ -20,6 +20,7 @@
  */
 #include <iostream>
 #include <algorithm>
+#include "qpid/sys/alloca.h"
 #include "qpid/framing/Array.h"
 #include "qpid/framing/FieldTable.h"
 #include "qpid/framing/FieldValue.h"

Modified: qpid/trunk/qpid/cpp/src/tests/TimerTest.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/TimerTest.cpp?rev=1351185&r1=1351184&r2=1351185&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/TimerTest.cpp (original)
+++ qpid/trunk/qpid/cpp/src/tests/TimerTest.cpp Sun Jun 17 23:57:36 2012
@@ -81,6 +81,8 @@ class TestTask : public TimerTask
         uint64_t difference = _abs64(expected - actual);
 #elif defined(_WIN32)
         uint64_t difference = labs(expected - actual);
+#elif defined(__SUNPRO_CC)
+        uint64_t difference = llabs(expected - actual);
 #else
         uint64_t difference = abs(expected - actual);
 #endif



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to