jsoncpp: Fix compilation on SunPro

The SunPro compiler does not support `#pragma pack`.
This commit is contained in:
Brad King 2017-08-29 08:04:45 -04:00
parent 0a0f71066f
commit c103a959d1
5 changed files with 20 additions and 0 deletions

View File

@ -9,7 +9,9 @@
#include <cstring>
#include <memory>
#if !defined(__SUNPRO_CC)
#pragma pack(push, 8)
#endif
namespace Json {
template<typename T>
@ -93,6 +95,8 @@ bool operator!=(const SecureAllocator<T>&, const SecureAllocator<U>&) {
} //namespace Json
#if !defined(__SUNPRO_CC)
#pragma pack(pop)
#endif
#endif // CPPTL_JSON_ALLOCATOR_H_INCLUDED

View File

@ -10,7 +10,9 @@
#include "forwards.h"
#endif // if !defined(JSON_IS_AMALGAMATION)
#if !defined(__SUNPRO_CC)
#pragma pack(push, 8)
#endif
namespace Json {
@ -56,6 +58,8 @@ public:
} // namespace Json
#if !defined(__SUNPRO_CC)
#pragma pack(pop)
#endif
#endif // CPPTL_JSON_FEATURES_H_INCLUDED

View File

@ -23,7 +23,9 @@
#pragma warning(disable : 4251)
#endif // if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)
#if !defined(__SUNPRO_CC)
#pragma pack(push, 8)
#endif
namespace Json {
@ -402,7 +404,9 @@ JSON_API JSONCPP_ISTREAM& operator>>(JSONCPP_ISTREAM&, Value&);
} // namespace Json
#if !defined(__SUNPRO_CC)
#pragma pack(pop)
#endif
#if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)
#pragma warning(pop)

View File

@ -42,7 +42,9 @@
#pragma warning(disable : 4251)
#endif // if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)
#if !defined(__SUNPRO_CC)
#pragma pack(push, 8)
#endif
/** \brief JSON (JavaScript Object Notation).
*/
@ -878,7 +880,9 @@ template<>
inline void swap(Json::Value& a, Json::Value& b) { a.swap(b); }
}
#if !defined(__SUNPRO_CC)
#pragma pack(pop)
#endif
#if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)
#pragma warning(pop)

View File

@ -21,7 +21,9 @@
#pragma warning(disable : 4251)
#endif // if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)
#if !defined(__SUNPRO_CC)
#pragma pack(push, 8)
#endif
namespace Json {
@ -329,7 +331,9 @@ JSON_API JSONCPP_OSTREAM& operator<<(JSONCPP_OSTREAM&, const Value& root);
} // namespace Json
#if !defined(__SUNPRO_CC)
#pragma pack(pop)
#endif
#if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)
#pragma warning(pop)