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