From ff36d0b7c556a321d6367b2f9a98b40c85ea919f Mon Sep 17 00:00:00 2001 From: Niels Dekker Date: Thu, 20 May 2010 15:56:59 +0000 Subject: [PATCH] Temporarily skipped value-initialization of m_ptr_to_member, as well as m_ptr_to_member_array for Intel <= 11.1, still trying to avoid the internal error, Intel support issue 589832. [SVN r62114] --- test/boost_no_com_value_init.ipp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/test/boost_no_com_value_init.ipp b/test/boost_no_com_value_init.ipp index 37054279..9651b54d 100644 --- a/test/boost_no_com_value_init.ipp +++ b/test/boost_no_com_value_init.ipp @@ -521,10 +521,10 @@ namespace boost_no_complete_value_initialization // It should be removed later this month, and is certainly not meant to become part of the release branch!!! #ifdef __INTEL_COMPILER #if __INTEL_COMPILER <= 1110 - // The following macro indicates that initialization of m_ptr_to_member_array must be skipped. + // The following macro indicates that initialization of ptr_to_member must be skipped. // Such an initialization triggered an internal error (assertion failed at: "shared/edgglue/edg_expr.c", // line 2859) on Intel <= 11.1 (Intel support issue 589832, reported by John Maddock, May 2010). - #define BOOST_DETAIL_NO_COMPLETE_VALUE_INITIALIZATION_SKIP_PTR_TO_MEMBER_ARRAY + #define BOOST_DETAIL_NO_COMPLETE_VALUE_INITIALIZATION_SKIP_PTR_TO_MEMBER #endif #endif @@ -576,8 +576,10 @@ namespace boost_no_complete_value_initialization member_function_ptr_type m_member_function_ptr_array[2]; member_function_ptr_struct m_member_function_ptr_struct; member_function_ptr_struct m_member_function_ptr_struct_array[2]; +#ifndef BOOST_DETAIL_NO_COMPLETE_VALUE_INITIALIZATION_SKIP_PTR_TO_MEMBER ptr_to_member_type m_ptr_to_member; ptr_to_member_type m_ptr_to_member_array[2]; +#endif ptr_to_member_struct m_ptr_to_member_struct; ptr_to_member_struct m_ptr_to_member_struct_array[2]; bit_field_struct m_bit_field_struct; @@ -668,8 +670,8 @@ namespace boost_no_complete_value_initialization m_member_function_ptr_array(), m_member_function_ptr_struct(), m_member_function_ptr_struct_array(), +#ifndef BOOST_DETAIL_NO_COMPLETE_VALUE_INITIALIZATION_SKIP_PTR_TO_MEMBER m_ptr_to_member(), -#ifndef BOOST_DETAIL_NO_COMPLETE_VALUE_INITIALIZATION_SKIP_PTR_TO_MEMBER_ARRAY m_ptr_to_member_array(), #endif m_ptr_to_member_struct(), @@ -771,10 +773,10 @@ namespace boost_no_complete_value_initialization FAILED_TO_VALUE_INITIALIZE(m_member_function_ptr_struct) + FAILED_TO_VALUE_INITIALIZE(m_member_function_ptr_struct_array[0]) + FAILED_TO_VALUE_INITIALIZE(m_member_function_ptr_struct_array[1]) + - FAILED_TO_VALUE_INITIALIZE(m_ptr_to_member) + -#ifdef BOOST_DETAIL_NO_COMPLETE_VALUE_INITIALIZATION_SKIP_PTR_TO_MEMBER_ARRAY - ( (std::cout << "Skipped m_ptr_to_member_array check\n"), 1) + +#ifdef BOOST_DETAIL_NO_COMPLETE_VALUE_INITIALIZATION_SKIP_PTR_TO_MEMBER + ( (std::cout << "Note: Skipped ptr_to_member checks\n"), 1) + #else + FAILED_TO_VALUE_INITIALIZE(m_ptr_to_member) + FAILED_TO_VALUE_INITIALIZE(m_ptr_to_member_array[0]) + FAILED_TO_VALUE_INITIALIZE(m_ptr_to_member_array[1]) + #endif @@ -1024,7 +1026,7 @@ namespace boost_no_complete_value_initialization << num_failures_of_temporaries << '+' << num_failures_of_heap_objects << "): " << total_num_failures - << "\nDetected by boost_no_complete_value_initialization::test() revision 28." + << "\nDetected by boost_no_complete_value_initialization::test() revision 29." << std::endl; } return static_cast(total_num_failures);