[Boost-bugs] [Boost C++ Libraries] #7306: Regression from Changeset 80234: preprocessor undefined behaviour in type_traits

Subject: [Boost-bugs] [Boost C++ Libraries] #7306: Regression from Changeset 80234: preprocessor undefined behaviour in type_traits
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-08-31 02:39:32


#7306: Regression from Changeset 80234: preprocessor undefined behaviour in
type_traits
---------------------------------------------+------------------------------
 Reporter: Hubert Tong <hstong@…> | Owner: johnmaddock
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: type_traits
  Version: Boost Development Trunk | Severity: Regression
 Keywords: |
---------------------------------------------+------------------------------
 process_jam_log refuses to build for the AIX runner.
 The build appears to be choking on undefined behaviour introduced in the
 subject changeset.

 {{{
    306 BOOST_STATIC_CONSTANT(bool, value =
    307 #ifndef BOOST_NO_RVALUE_REFERENCES
    308 sizeof( _m_check(static_cast<rvalue_type>(_m_from)) ) ==
 sizeof(::boost::type_traits::yes_type)
    309 #else
    310 sizeof( _m_check(_m_from) ) ==
 sizeof(::boost::type_traits::yes_type)
    311 #endif
    312 );

 }}}

 N3290 subclause 16.3 [cpp.replace] paragraph 11 (re: invocations of a
 function-like macro):

 ...

 If there are sequences of preprocessing tokens within the list of
 arguments that would otherwise act as preprocessing directives, the
 behaviour is undefined.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7306>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:10 UTC