Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r61608 - trunk/libs/config/test
From: nielsdekker_at_[hidden]
Date: 2010-04-27 05:20:43


Author: niels_dekker
Date: 2010-04-27 05:20:42 EDT (Tue, 27 Apr 2010)
New Revision: 61608
URL: http://svn.boost.org/trac/boost/changeset/61608

Log:
Hopefully fixed config_test/darwin-4.0.1 error, "heap_object_wrapper(const &) is private" (second try). Also hopefully fixed warnings from IBM XL V10.1, saying "The temporary is not constructed, but the copy constructor must be accessible". Added more bool tests.
Text files modified:
   trunk/libs/config/test/boost_no_com_value_init.ipp | 21 ++++++++++++++++-----
   1 files changed, 16 insertions(+), 5 deletions(-)

Modified: trunk/libs/config/test/boost_no_com_value_init.ipp
==============================================================================
--- trunk/libs/config/test/boost_no_com_value_init.ipp (original)
+++ trunk/libs/config/test/boost_no_com_value_init.ipp 2010-04-27 05:20:42 EDT (Tue, 27 Apr 2010)
@@ -24,8 +24,8 @@
   // A POD struct.
   struct pod_struct
   {
- bool b;
     enum_type e;
+ bool b;
     char c;
     unsigned char uc;
     short s;
@@ -392,10 +392,9 @@
   private:
     T* const m_ptr;
 
- // The following functions are intentionally left unimplemented
+ // The following function is intentionally left unimplemented
     // (as if deleted, "= delete", in C++0x):
- heap_object_wrapper(const heap_object_wrapper&);
- void operator=(const heap_object_wrapper&);
+ void operator=(heap_object_wrapper);
 
   public:
     heap_object_wrapper()
@@ -409,6 +408,9 @@
       delete m_ptr;
     }
 
+ // The copy-constructor is intentionally left unimplemented.
+ heap_object_wrapper(const heap_object_wrapper&);
+
     bool is_wrapped_object_value_initialized() const
     {
       return (m_ptr != 0) && is_value_initialized(*m_ptr);
@@ -456,6 +458,8 @@
     enum_holder m_enum_holder_array[2];
     enum_type m_enum;
     enum_type m_enum_array[2];
+ bool m_bool;
+ bool m_bool_array[2];
     char m_char;
     char m_char_array[2];
     _2d_char_array_type m_2d_char_array;
@@ -540,6 +544,8 @@
     m_enum_holder_array(),
     m_enum(),
     m_enum_array(),
+ m_bool(),
+ m_bool_array(),
     m_char(),
     m_char_array(),
     m_2d_char_array(),
@@ -618,6 +624,9 @@
         FAILED_TO_VALUE_INITIALIZE(m_enum) +
         FAILED_TO_VALUE_INITIALIZE(m_enum_array[0]) +
         FAILED_TO_VALUE_INITIALIZE(m_enum_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_bool) +
+ FAILED_TO_VALUE_INITIALIZE(m_bool_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_bool_array[1]) +
         FAILED_TO_VALUE_INITIALIZE(m_char) +
         FAILED_TO_VALUE_INITIALIZE(m_char_array[0]) +
         FAILED_TO_VALUE_INITIALIZE(m_char_array[1]) +
@@ -728,6 +737,7 @@
     const unsigned num_failures =
       FAILED_TO_VALUE_INITIALIZE(enum_holder()) +
       FAILED_TO_VALUE_INITIALIZE(enum_type()) +
+ FAILED_TO_VALUE_INITIALIZE(bool()) +
       FAILED_TO_VALUE_INITIALIZE(char()) +
       FAILED_TO_VALUE_INITIALIZE(unsigned_char_type()) +
       FAILED_TO_VALUE_INITIALIZE(short()) +
@@ -779,6 +789,7 @@
     const unsigned num_failures =
       FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<enum_holder>() ) +
       FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<enum_type>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<bool>() ) +
       FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<char>() ) +
       FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<unsigned char>() ) +
       FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<short>() ) +
@@ -892,7 +903,7 @@
         << num_failures_of_temporaries << '+'
         << num_failures_of_heap_objects << "): "
         << total_num_failures
- << "\nDetected by boost_no_complete_value_initialization::test() revision 20."
+ << "\nDetected by boost_no_complete_value_initialization::test() revision 21."
         << std::endl;
     }
     return static_cast<int>(total_num_failures);


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk