Ticket #3869: config_compiler.patch

File config_compiler.patch, 3.4 KB (added by niels_dekker, 13 years ago)

Adds BOOST_VALUE_INITIALIZATION_NEEDS_MEMSET to trunk/boost/config/compiler

  • borland.hpp

     
    261261#  define BOOST_NO_VOID_RETURNS
    262262#endif
    263263
     264// When doing value-initialization, the bytes of the object may need to be
     265// cleared (memset) before the object is constructed, because of a compiler issue:
     266// http://qc.embarcadero.com/wc/qcmain.aspx?rc=51854
     267// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
     268#define BOOST_VALUE_INITIALIZATION_NEEDS_MEMSET
     269
    264270#define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__)
    265271
    266272
  • codegear.hpp

     
    159159#  define BOOST_NO_VOID_RETURNS
    160160#endif
    161161
     162// When doing value-initialization, the bytes of the object may need to be
     163// cleared (memset) before the object is constructed, because of a compiler issue:
     164// http://qc.embarcadero.com/wc/qcmain.aspx?rc=51854
     165// Note: This issue is reported as fixed by build number 12.0.3140.16150
     166// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
     167#define BOOST_VALUE_INITIALIZATION_NEEDS_MEMSET
     168
    162169#define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__)
    163170
  • gcc.hpp

     
    6969#  endif
    7070#endif
    7171
     72#if __GNUC__ < 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ < 4 )
     73// When doing value-initialization, the bytes of the object may need to be
     74// cleared (memset) before the object is constructed, because of compiler issues:
     75// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30111 (fixed for GCC 4.4)
     76// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916 (fixed for GCC 4.2.4)
     77// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
     78#define BOOST_VALUE_INITIALIZATION_NEEDS_MEMSET
     79#endif
     80
    7281#ifndef __EXCEPTIONS
    7382# define BOOST_NO_EXCEPTIONS
    7483#endif
  • sunpro_cc.hpp

     
    7575#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
    7676#define BOOST_NO_ADL_BARRIER
    7777
     78// When doing value-initialization, the bytes of the object may need to be
     79// cleared (memset) before the object is constructed, because of a compiler issue.
     80// Note: I do not know if this issue is there in all versions of the Sun compiler.
     81// (Niels Dekker, 28 Jan 2010)
     82// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
     83#define BOOST_VALUE_INITIALIZATION_NEEDS_MEMSET
     84
     85
    7886//
    7987// C++0x features
    8088//
  • visualc.hpp

     
    9999#  define BOOST_NO_ADL_BARRIER
    100100#endif
    101101
     102// When doing value-initialization, the bytes of the object may need to be
     103// cleared (memset) before the object is constructed, because of a compiler issue:
     104// https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=100744
     105// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
     106#define BOOST_VALUE_INITIALIZATION_NEEDS_MEMSET
     107
     108
    102109#if _MSC_VER <= 1500  || !defined(BOOST_STRICT_CONFIG) // 1500 == VC++ 9.0
    103110#  define BOOST_NO_INITIALIZER_LISTS
    104111#endif