[Bug c++/41570] New: g++ 4.5 ICE with -g and c++0x variadic templates

ciaran dot mccreesh at googlemail dot com gcc-bugzilla@gcc.gnu.org
Sun Oct 4 17:44:00 GMT 2009


g++ (Gentoo SVN) 4.5.0-pre9999 built 20091004 (experimental) rev. 152437

$ g++ -c -std=gnu++0x a.cc && echo ok
ok

$ g++ -c -std=gnu++0x a.cc -g && echo ok
a.cc: In instantiation of ‘M<C>’:
a.cc:22:44:   instantiated from ‘M<B, C>’
a.cc:22:44:   instantiated from ‘M<A, B, C>’
a.cc:37:20:   instantiated from here
a.cc:21:1: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugs.gentoo.org/> for instructions.

$ cat a.cc
template <typename...>
struct M;

template <typename I_, typename T_>
struct E
{
};

struct T
{
};

template <>
struct M<>
{
    typedef T Type;
};

template <typename H_, typename... T_>
struct M<H_, T_...>
{
    typedef E<H_, typename M<T_...>::Type> Type;
};

struct A
{
};

struct R :
    M<A>::Type
{
};


-- 
           Summary: g++ 4.5 ICE with -g and c++0x variadic templates
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ciaran dot mccreesh at googlemail dot com


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



More information about the Gcc-bugs mailing list