Re: [boost] [Boost.Config] variadic templates availiable with GCC 5 in C++03 mode
(resent due to missing membership on boost list)
On 23 September 2014 22:43, Lars Gullik Bjønnes
Hi,
It seems that the checking to define BOOST_NO_CXX11_VARIADIC_TEMPLATES or not is slightly wrong when __GNUC__ > 4 (in this case __GNUC__ == 5)
This was tried fixed in [SVN r70019], but it looks like the fix was wrong for __GNUC__ > 4.
(git 050da29d47ce43b1dca6bed03d54c40d5e3d315e)
This is the current code:
// Variadic templates compiler: // http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html # if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && \ (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__)) # define BOOST_HAS_VARIADIC_TMPL # else # define BOOST_NO_CXX11_VARIADIC_TEMPLATES # endif #endif
This is my proposed fix:
diff --git a/functional/boost/boost/config/compiler/gcc.hpp b/functional/boost/boost/config/compiler/gcc.hpp index ef6b07e..736e8ba 100644 --- a/functional/boost/boost/config/compiler/gcc.hpp +++ b/functional/boost/boost/config/compiler/gcc.hpp @@ -157,7 +157,7 @@
// Variadic templates compiler: // http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html -# if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__)) +# if defined(__VARIADIC_TEMPLATES) || ((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) && defined(__GXX_EXPERIMENTAL_CXX0X__)) # define BOOST_HAS_VARIADIC_TMPL # else # define BOOST_NO_CXX11_VARIADIC_TEMPLATES
(I'll post a none-damaged diff if wanted.)
-- Lgb
-- Lgb
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Lgb, On 2014/09/24 5:46, Lars Gullik Bjønnes wrote:
(resent due to missing membership on boost list)
On 23 September 2014 22:43, Lars Gullik Bjønnes
wrote: Hi,
It seems that the checking to define BOOST_NO_CXX11_VARIADIC_TEMPLATES or not is slightly wrong when __GNUC__ > 4 (in this case __GNUC__ == 5)
This was tried fixed in [SVN r70019], but it looks like the fix was wrong for __GNUC__ > 4.
(git 050da29d47ce43b1dca6bed03d54c40d5e3d315e)
This issue already filed at [1] and fixed in develop branch (not in master yet). [1] https://svn.boost.org/trac/boost/ticket/10500 - -- Kohei Takahashi -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (MingW32) iQIcBAEBAgAGBQJUIk56AAoJEGGyPxPRp/zovsYQAL2fQZRlkuKetvnaQT0iPQza 1m/7L6A7+jQooG5adZEpO0hZaJu42UaoYYUS/bV35GnJizpbGmEQ6DlxHxvRHqjO JdCzVbUIzcNlIAlALFmqYx9b85HPGQROgYPsfDXnFB+8wfAMaqaac/LA5u2qXbE5 1lMItVgxTu/e+8n2kpZDC+HOssnJuylzXJZ0JxiXshhvx+maR6r1IibH98xQPgRN 4qKrdkXS2H3S1mBoPmwMG1kWiWCmujEhS7mx1xqgPn3CMwq1q3UMEkf3u8UmZhSR BkzcnOv4iYDN8Pq3z2gAh8UF2UYM3WrxcOnxZggX4wVmK5ffi8lI/cQkAza8IvPM B5SwjNxaf3onj9csWwe7OaGjfqlNbzeUnojiBvCuIKse5mdICU6FJp9PBR+Q7j9S L5DFcbtkkgK7UeOyAFPebKuFLRR1XwUg9R4kvn/gB6vteqNhMk39k8gGPr40JbMx Fpm1GZmxadId5GmzNpbdnZn1w7DC87zS+rXfSCkEHjtXx0CHpRDCZlyx4GR0Qdvk jJgZPLmhgzMmNiVgON2F9jsFd/yJzHvEFWRcdVPef2qHyHFoik5R8ouIjkkTe1pa qKbsTsCLNEzK8zn7UJJh90RoNRpjToqzTNZ6uLSE21SxcviYNI6RpbEQnjM34jgf DfkUbjORT8D8PdRddcfS =vGw8 -----END PGP SIGNATURE-----
Kohei Takahashi
| On 2014/09/24 5:46, Lars Gullik Bjønnes wrote:
(resent due to missing membership on boost list)
On 23 September 2014 22:43, Lars Gullik Bjønnes
wrote: Hi,
It seems that the checking to define BOOST_NO_CXX11_VARIADIC_TEMPLATES or not is slightly wrong when __GNUC__ > 4 (in this case __GNUC__ == 5)
This was tried fixed in [SVN r70019], but it looks like the fix was wrong for __GNUC__ > 4.
(git 050da29d47ce43b1dca6bed03d54c40d5e3d315e)
| This issue already filed at [1] and fixed in develop branch (not in | master yet).
| [1] https://svn.boost.org/trac/boost/ticket/10500 Yes, I realized that belatedly. commit eec808554936ae068b23df07ab54d4dc6302a695 Fix BOOST_NO_CXX11_VARIADIC_TEMPLATES definition - the feature was in… I cherry picked that into my own repo. -- Lgb
participants (3)
-
Kohei Takahashi
-
Lars Gullik Bjønnes
-
larsbj@gullik.org