Re: [Boost-bugs] [Boost C++ Libraries] #4421: fix for #4400

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4421: fix for #4400
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-08-30 16:05:26


#4421: fix for #4400
-------------------------------------------+--------------------------------
  Reporter: Wolf Lammen <ookami1@…> | Owner: no-maintainer
      Type: Patches | Status: new
 Milestone: Boost 1.44.0 | Component: preprocessor
   Version: Boost 1.44.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------------------+--------------------------------

Comment (by ookami1@…):

 Replying to [comment:3 steven_watanabe]:
> Never mind. I missed the changes to split.hpp. However, I'm not sure
 that n ## seq is legal if seq is empty.

 You are right here, this will not work, when an empty sequence (actually
 it will not be exactly empty, but BOOST_PP_EMPTY instead) is submitted.
 Fortunately, you will never call BOOST_PP_SEQ_REPLACE with an empty
 sequence. And calls to BOOST_PP_REST_N or BOOST_PP_FIRST_N with empty
 sequences are considered illegal as well, according to the documentation.
 So the problem reduces to a possibly internal usage of the latter macros,
 exploiting the fact, that they internally appended a (nil) to sequences.
 If I remember right, I already checked on that condition, but I am a bit
 unsure right now, so I will do it again.

 If it turns out to be a problem, the solution seems straightforward: For
 Microwerks (only):

 #define BOOST_PP_SEQ_SPLIT_0_BOOST_PP_EMPTY BOOST_PP_EMPTY, BOOST_PP_EMPTY

 cheers Wolf Lammen

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4421#comment:6>
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:04 UTC