[utility] base_from_member variadic template error on gcc-4.6.0 c++0x

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[utility] base_from_member variadic template error on gcc-4.6.0 c++0x

Vicente Botet
Hi,

I'm getting the following compiler error.

gcc.compile.c++ ..\..\..\bin.v2\libs\chrono\test\stopwatch_reporter_example_h.test\gcc-mingw-4.6.0x\debug\stopwatch_reporter_example.o
In file included from ..\..\../boost/format/alt_sstream.hpp:20:0,
                 from ..\..\../boost/format/internals.hpp:23,
                 from ..\..\../boost/format.hpp:38,
                 from ..\..\../boost/chrono/stopwatches/formatters/elapsed_formatter.hpp:13,
                 from ..\..\../boost/chrono/stopwatches/reporters/clock_default_formatter.hpp:11,
                 from ..\..\../boost/chrono/stopwatches/reporters/stopwatch_reporter_default_formatter.hpp:11,
                 from ..\..\../boost/chrono/stopwatches/reporters/stopwatch_reporter.hpp:23,
                 from ..\example\stopwatch_reporter_example.cpp:10:
..\..\../boost/utility/base_from_member.hpp: In constructor 'boost::io::basic_oaltstringstream<Ch, Tr, Alloc>::basic_oaltstringstream(boost::io::basic_oaltstringstream<Ch, Tr, Alloc>::stringbuf_t*) [with Ch = char, Tr = std::char_traits<char>, Alloc = std::allocator<char>, boost::io::basic_oaltstringstream<Ch, Tr, Alloc>::stringbuf_t = boost::io::basic_altstringbuf<char, std::char_traits<char>, std::allocator<char> >]':
..\..\../boost/format/feed_args.hpp:175:57:   instantiated from 'void boost::io::detail::put(T, const boost::io::detail::format_item<Ch, Tr, Alloc>&, typename boost::basic_format<Ch, Tr, Alloc>::string_type&, typename boost::basic_format<Ch, Tr, Alloc>::internal_streambuf_t&, boost::io::detail::locale_t*) [with Ch = char, Tr = std::char_traits<char>, Alloc = std::allocator<char>, T = const boost::io::detail::put_holder<char, std::char_traits<char> >&, typename boost::basic_format<Ch, Tr, Alloc>::string_type = std::basic_string<char>, typename boost::basic_format<Ch, Tr, Alloc>::internal_streambuf_t = boost::io::basic_altstringbuf<char, std::char_traits<char>, std::allocator<char> >, boost::io::detail::locale_t = std::locale]'
..\..\../boost/format/feed_args.hpp:286:17:   instantiated from 'void boost::io::detail::distribute(boost::basic_format<Ch, Tr, Alloc>&, T) [with Ch = char, Tr = std::char_traits<char>, Alloc = std::allocator<char>, T = const boost::io::detail::put_holder<char, std::char_traits<char> >&]'
..\..\../boost/format/feed_args.hpp:296:9:   instantiated from 'boost::basic_format<Ch, Tr, Alloc>& boost::io::detail::feed_impl(boost::basic_format<Ch, Tr, Alloc>&, T) [with Ch = char, Tr = std::char_traits<char>, Alloc = std::allocator<char>, T = const boost::io::detail::put_holder<char, std::char_traits<char> >&]'
..\..\../boost/format/feed_args.hpp:308:95:   instantiated from 'boost::basic_format<Ch, Tr, Alloc>& boost::io::detail::feed(boost::basic_format<Ch, Tr, Alloc>&, T) [with Ch = char, Tr = std::char_traits<char>, Alloc = std::allocator<char>, T = const boost::io::detail::group1<boost::io::detail::group4<std::ios_base& (*)(std::ios_base&), std::_Setprecision, boost::chrono::duration_fmt, const boost::chrono::duration<double, boost::ratio<1ll, 1000ll> >&> >&]'
..\..\../boost/format/format_class.hpp:64:74:   instantiated from 'boost::basic_format<Ch, Tr, Alloc>& boost::basic_format<Ch, Tr, Alloc>::operator%(const T&) [with T = boost::io::detail::group1<boost::io::detail::group4<std::ios_base& (*)(std::ios_base&), std::_Setprecision, boost::chrono::duration_fmt, const boost::chrono::duration<double, boost::ratio<1ll, 1000ll> >&> >, Ch = char, Tr = std::char_traits<char>, Alloc = std::allocator<char>, boost::basic_format<Ch, Tr, Alloc> = boost::basic_format<char>]'
..\..\../boost/chrono/stopwatches/formatters/elapsed_formatter.hpp:83:9:   instantiated from 'void boost::chrono::basic_elapsed_formatter<Ratio, CharT, Traits, Alloc>::operator()(Stopwatch&) [with Stopwatch = boost::chrono::basic_stopwatch_reporter<char, boost::chrono::strict_stopwatch<boost::chrono::steady_clock>, boost::chrono::basic_elapsed_formatter<boost::ratio<1ll, 1000ll>, char> >, Ratio = boost::ratio<1ll, 1000ll>, CharT = char, Traits = std::char_traits<char>, Alloc = std::allocator<char>]'
..\..\../boost/chrono/stopwatches/reporters/stopwatch_reporter.hpp:88:9:   instantiated from 'void boost::chrono::basic_stopwatch_reporter<CharT, Stopwatch, Formatter>::report() [with CharT = char, Stopwatch = boost::chrono::strict_stopwatch<boost::chrono::steady_clock>, Formatter = boost::chrono::basic_elapsed_formatter<boost::ratio<1ll, 1000ll>, char>]'
..\..\../boost/chrono/stopwatches/reporters/stopwatch_reporter.hpp:82:11:   instantiated from 'boost::chrono::basic_stopwatch_reporter<CharT, Stopwatch, Formatter>::~basic_stopwatch_reporter() [with CharT = char, Stopwatch = boost::chrono::strict_stopwatch<boost::chrono::steady_clock>, Formatter = boost::chrono::basic_elapsed_formatter<boost::ratio<1ll, 1000ll>, char>]'
..\..\../boost/chrono/stopwatches/reporters/stopwatch_reporter.hpp:127:11:   instantiated from here
..\..\../boost/utility/base_from_member.hpp:135:55: sorry, unimplemented: use of 'type_pack_expansion' in template

    "c:/MINGW/gcc-4.6.0S/bin/g++"  -ftemplate-depth-128 -std=c++0x -O0 -fno-inline -Wall -pedantic -g -Wextra -Wno-long-long -pedantic -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_HEADER_ONLY -DBOOST_CHRONO_USES_MPL_ASSERT -DBOOST_CHRONO_VERSION=2 -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED  -I"..\..\.." -c -o "..\..\..\bin.v2\libs\chrono\test\stopwatch_reporter_example_h.test\gcc-mingw-4.6.0x\debug\stopwatch_reporter_example.o" "..\example\stopwatch_reporter_example.cpp"


Is this a know issue?

Best,
Vicente
Reply | Threaded
Open this post in threaded view
|

Re: [utility] base_from_member variadic template error on gcc-4.6.0 c++0x

Nathan Ridge

> I'm getting the following compiler error.
>
> [snip]
>
> ..\..\../boost/utility/base_from_member.hpp:135:55: sorry, unimplemented:
> use of 'type_pack_expansion' in template

Sounds like http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48292.
Fixed in GCC 4.6.1 and 4.7 series.

Regards,
Nate
     

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [utility] base_from_member variadic template error on gcc-4.6.0 c++0x

Vicente Botet
Le 21/01/13 09:22, Nathan Ridge a écrit :

>> I'm getting the following compiler error.
>>
>> [snip]
>>
>> ..\..\../boost/utility/base_from_member.hpp:135:55: sorry, unimplemented:
>> use of 'type_pack_expansion' in template
> Sounds like http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48292.
> Fixed in GCC 4.6.1 and 4.7 series.
>
>
Yes, I know. My concern was if base_from_member shouldn't be updated to
be able to work as before the code was changed.

Vicente

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost