Subject: [Boost-bugs] [Boost C++ Libraries] #8606: Warnings when converting 0-size tuple to sequence with MSVC
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-05-22 18:54:21
#8606: Warnings when converting 0-size tuple to sequence with MSVC
-----------------------------------+----------------------------------------
Reporter: vz-boost@⦠| Owner: no-maintainer
Type: Bugs | Status: new
Milestone: To Be Determined | Component: preprocessor
Version: Boost 1.53.0 | Severity: Regression
Keywords: |
-----------------------------------+----------------------------------------
The following used to work just fine with 1.48:
{{{
#!cpp
#include <boost/preprocessor.hpp>
BOOST_PP_TUPLE_TO_SEQ(0, ())
}}}
producing
{{{
()
}}}
on output. With 1.53 (and probably later as there haven't been any changes
since then AFAICS) it now also generates the following warnings when using
MSVC (tested with 2008 and 2010):
{{{
warning C4003: not enough actual parameters for macro
'BOOST_PP_TUPLE_TO_SEQ_1'
}}}
but somehow still generates correct output. With g++ 4.4 it's even worse
and it expands into
{{{
BOOST_PP_TUPLE_TO_SEQ_0 ()
}}}
resulting in compilation errors.
This seems to be the result of [https://github.com/ryppl/boost-
svn/commit/fd3633b27d0ef637f6cffc3239c981a4876172a6#boost/preprocessor/tuple/to_seq.hpp
changes done while adding variadic support] to the preprocessor library as
`BOOST_PP_TUPLE_TO_SEQ_0()` definition was removed in this commit.
Notice that
[http://www.boost.org/doc/libs/1_53_0/libs/preprocessor/doc/ref/tuple_to_seq.html
the documentation] does say that tuple size must be `>= 1` but this was
changed in 1.49, compare the version above with
[http://www.boost.org/doc/libs/1_48_0/libs/preprocessor/doc/ref/tuple_to_seq.html
this one].
Finally notice I decided to open a new ticket for this even though this is
already mentioned in a comment in #6616 because the other ticket doesn't
to be about the same thing at all, so I thought it would be confusing to
continue discussing this issue there. Please feel free to close this one
if you think it's really the same issue.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/8606> 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:13 UTC