$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r61332 - trunk/libs/config/test
From: nielsdekker_at_[hidden]
Date: 2010-04-17 04:38:03
Author: niels_dekker
Date: 2010-04-17 04:38:01 EDT (Sat, 17 Apr 2010)
New Revision: 61332
URL: http://svn.boost.org/trac/boost/changeset/61332
Log:
Avoided IBM/XL warning about omitted keyword "private" for base class "int_struct". Added note about IBM/XL V10.1 regression failure.
Text files modified: 
   trunk/libs/config/test/boost_no_com_value_init.ipp |     9 +++++++--                               
   1 files changed, 7 insertions(+), 2 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-17 04:38:01 EDT (Sat, 17 Apr 2010)
@@ -355,7 +355,7 @@
   // Note: its base class, int_struct, is there to try to reproduce GCC Bug 30111,
   // "Value-initialization of POD base class doesn't initialize members", reported
   // by Jonathan Wakely in 2006: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30111
-  class value_initializer: int_struct
+  class value_initializer: private int_struct
   {
   private:
     enum_holder m_enum_holder;
@@ -596,6 +596,11 @@
       FAILED_TO_VALUE_INITIALIZE(derived_int_struct()) +
       FAILED_TO_VALUE_INITIALIZE(char_array_struct()) +
       FAILED_TO_VALUE_INITIALIZE(int_array_pair()) +
+      // IBM's XL V10.1.0.0 may fail to value-initialize a temporary of a non-POD
+      // type like enum_holder_and_int, virtual_destructor_holder, or non_pod_class, 
+      // as appeared at the Boost Config/trunk regression page in April 2010.
+      // Michael Wong (IBM Canada Ltd) confirmed the issue to me (Niels Dekker, LKEB),
+      // and gave it high priority.
       FAILED_TO_VALUE_INITIALIZE(enum_holder_and_int()) +
       FAILED_TO_VALUE_INITIALIZE(private_and_protected_int()) +
       // The following line, doing user_defined_destructor_holder(), causes  
@@ -681,7 +686,7 @@
         << num_failures_on_heap << '+'
         << num_failures_of_temporaries << "): "
         << total_num_failures
-        << "\nDetected by boost_no_complete_value_initialization::test() revision 15."
+        << "\nDetected by boost_no_complete_value_initialization::test() revision 16."
         << std::endl;
     }
     return static_cast<int>(total_num_failures);