diff --git a/include/boost/aligned_storage.hpp b/include/boost/aligned_storage.hpp index 890d29b..ce277ab 100644 --- a/include/boost/aligned_storage.hpp +++ b/include/boost/aligned_storage.hpp @@ -70,7 +70,13 @@ template < std::size_t size_ , std::size_t alignment_ = std::size_t(-1) > -class aligned_storage : private detail::aligned_storage::aligned_storage_imp +class aligned_storage : +#ifndef __BORLANDC__ + private +#else + public +#endif + detail::aligned_storage::aligned_storage_imp { public: // constants diff --git a/test/aligned_storage_empy_test.cpp b/test/aligned_storage_empy_test.cpp index 79c8519..6772cc0 100644 --- a/test/aligned_storage_empy_test.cpp +++ b/test/aligned_storage_empy_test.cpp @@ -26,7 +26,13 @@ namespace }; template< unsigned N, unsigned Alignment > - struct alignment_implementation2 : private boost::detail::aligned_storage::aligned_storage_imp + struct alignment_implementation2 : +#ifndef __BORLANDC__ + private +#else + public +#endif + boost::detail::aligned_storage::aligned_storage_imp { typedef boost::detail::aligned_storage::aligned_storage_imp type; const void* address() const { return static_cast(this)->address(); } diff --git a/test/aligned_storage_test.cpp b/test/aligned_storage_test.cpp index e15cf9f..9f531ee 100644 --- a/test/aligned_storage_test.cpp +++ b/test/aligned_storage_test.cpp @@ -66,6 +66,9 @@ void check(const T&) #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION BOOST_CHECK(::tt::is_pod::value == true); #endif + BOOST_CHECK(as3.address() == &as3); + const t3 as4 = { 0, }; + BOOST_CHECK(as4.address() == static_cast(&as4)); #endif }