--- aligned_storage.hpp	Thu Feb 13 17:05:18 2003
+++ aligned_storage.hpp.2	Fri Feb 21 09:45:31 2003
@@ -38,13 +38,13 @@
 
 template <
       std::size_t size_
-    , std::size_t alignment_ = -1
+    , std::size_t alignment_ = (std::size_t)-1
 >
 class aligned_storage
 {
 private:
     typedef typename mpl::apply_if_c<
-          alignment_ == -1
+          alignment_ == (std::size_t)-1
         , mpl::identity<detail::max_align>
         , type_with_alignment<alignment_>
         >::type align_t;
@@ -57,13 +57,15 @@
     BOOST_STATIC_CONSTANT(
           std::size_t
         , alignment = (
-              alignment_ == -1
+              alignment_ == (std::size_t)-1
             ? detail::alignment_of_max_align
             : alignment_
             )
         );
 
 private: // representation
+    union data_t;
+    friend union data_t;
     union data_t
     {
         char buf[size];
