covariant2.C   [plain text]


// { dg-do compile }

// Copyright (C) 2003 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 12 Dec 2003 <nathan@codesourcery.com>
// Origin: grigory@stl.sarov.ru

// PR c++/12881. ICE in thunk generation

struct c1 {};

struct c3 : virtual c1
{
    virtual c1* f6() {};
    int i;
};

struct c6 : virtual c3 { };

struct c7 : c3
{
    virtual c3* f6() {};
};

struct c24 : virtual c7
{
    virtual c6* f6();
};

c6* c24::f6() {  return 0; }

struct c31 : c24 {};