[Bug c++/12924] [3.4 regression] ICE in lookup_member, at cp/search.c:1228

reichelt at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Nov 6 17:28:00 GMT 2003


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


reichelt at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |reichelt at gcc dot gnu dot
                   |                            |org
           Keywords|                            |monitored
           Priority|P1                          |P2
   Target Milestone|---                         |3.4


------- Additional Comments From reichelt at gcc dot gnu dot org  2003-11-06 17:28 -------
Here's a short testcase that triggers the bug:

=============================================
template<typename> struct A {};

template<> struct A<void>
{
    template<typename T> void foo()
    {
        A<T> a;
        a.template foo<int>();
    }
};

void bar()
{
    A<void> a;
    a.foo<int>();
}
=============================================

With mainline I get:

bug.ii: In member function `void A<void>::foo() [with T = int]':
bug.ii:15:   instantiated from here
bug.ii:8: internal compiler error: in lookup_member, at cp/search.c:1228

With previous versions of gcc I get a decent error message.

According to Phil's regression checker, the regression was introduced
between 2003-07-08-trunk (#337) and 2003-07-09-trunk (#338).

(Since PR 10200 appeared before that date, I doubt that these two are related.)

Because this is invalid code I'm changing the keyword to ice-on-invalid-code.
But the original example should be revisited when the small testcase is fixed.



More information about the Gcc-bugs mailing list