[Boost-bugs] [Boost C++ Libraries] #8606: Warnings when converting 0-size tuple to sequence with MSVC

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