diff --git a/include/boost/serialization/export.hpp b/include/boost/serialization/export.hpp index 2e88412f..00d620f8 100644 --- a/include/boost/serialization/export.hpp +++ b/include/boost/serialization/export.hpp @@ -38,6 +38,11 @@ #include +#if defined(__MWERKS__) +#pragma push +#pragma opt_dead_code off +#endif + namespace boost { namespace archive { @@ -167,7 +172,7 @@ const guid_initializer guid_initializer::instance #define BOOST_CLASS_EXPORT_GUID_ARCHIVE_LIST(T, K, ASEQ) // gcc needs special treatment -#elif defined(__GNUC__) +#elif defined(__GNUC__) && (__GNUC__ * 10 + __GNUC_MINOR__) < 34 #define BOOST_CLASS_EXPORT_GUID_ARCHIVE_LIST(T, K, ASEQ) \ namespace boost { namespace archive { namespace detail { \ template \ @@ -194,7 +199,7 @@ const guid_initializer guid_initializer::instance template<> \ const guid_initializer \ guid_initializer::instance(K); \ - template \ + template<> \ const guid_initializer & \ boost_template_instantiate(T &, ASEQ &); \ } } } \ @@ -234,4 +239,8 @@ const guid_initializer guid_initializer::instance ) \ /**/ +#if defined(__MWERKS__) +#pragma pop +#endif + #endif // BOOST_SERIALIZATION_EXPORT_HPP diff --git a/include/boost/serialization/force_include.hpp b/include/boost/serialization/force_include.hpp index 6f8ab834..8ac504b6 100644 --- a/include/boost/serialization/force_include.hpp +++ b/include/boost/serialization/force_include.hpp @@ -41,7 +41,8 @@ # if defined(_WIN32) # define BOOST_FORCE_INCLUDE(f) __declspec(dllexport) f # else -# define BOOST_FORCE_INCLUDE(f) f __attribute__ ((used)) +//# define BOOST_FORCE_INCLUDE(f) f __attribute__ ((used)) +# define BOOST_FORCE_INCLUDE(f) f # endif # endif // MSVC