This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/50998] [C++0x] ICE partial specialization error at cp/pt.c


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50998

Michal Malecki <ethouris at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ethouris at gmail dot com

--- Comment #3 from Michal Malecki <ethouris at gmail dot com> 2012-01-04 14:52:56 UTC ---
I found a case of similar case - different line number, so maybe it's something
else:

template <size_t B, typename Type1, typename... Types>
struct tuple_sliced
{
    typedef typename tuple_sliced<B-1, Types...>::type type;
};

template<typename... Types>
struct tuple_sliced<0, Types...>  // <-- line 18
{
    typedef tuple<Types...> type;
};

gcc 4.6 says that it's not implemented to expand "Types..." in the first
structure. I got a message:

tuple.cc:18:8: internal compiler error: in process_partial_specialization, at
cp/pt.c:4398

The master declaration of tuple_sliced passes correctly - however any use of it
will result in infinite recursion when there's no terminal version.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]