Re: [Boost-bugs] [Boost C++ Libraries] #6973: BOOST_PP_LIMIT_REPEAT does not work on Visual Studio 2008/2010

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #6973: BOOST_PP_LIMIT_REPEAT does not work on Visual Studio 2008/2010
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-05-30 04:15:53


#6973: BOOST_PP_LIMIT_REPEAT does not work on Visual Studio 2008/2010
------------------------------------------------+--------------------------
  Reporter: Jonathan Jones <jonathan.jones@…> | Owner: no-
      Type: Bugs | maintainer
 Milestone: To Be Determined | Status: closed
   Version: Boost 1.49.0 | Component: preprocessor
Resolution: fixed | Severity: Problem
                                                | Keywords:
------------------------------------------------+--------------------------

Comment (by eldiener):

 My tests show for VC++ that in your limit_repeat.cpp test for
 BOOST_PP_ENUM a count of 230 is the maximum to avoid the C1009 message and
 that for BOOST_PP_REPEAT a count of 252 is the maximum to avoid the C1009
 message. Other Boost preprocessor repetition macros may have other limits
 with VC++, but as you can see there is no predetermined way that the code
 can know what the VC++ limit is for any given macro.

 I have added an explanation of the VC++ limitation in this regard to the
 documentation of the BOOST_PP_LIMIT_REPEAT macro on the 'develop' branch.

 Other compilers such as gcc also display limitations when dealing with
 seqs that are as large as 256 elements. In gcc's case I have encountered
 an occasional "out of memory" error coming from the compiler when Boost PP
 seq macros were invoked on such a large seq.

 While the Boost preprocessor library correctly works with seqs that are as
 large as 256 elements as far as preprocessor macro programming is
 concerned compiler limitations often make it unrealistic to work with such
 large seqs in preprocessor code.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/6973#comment:8>
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:18 UTC