| // { dg-do assemble } |
| // { dg-options "" } |
| // Copyright (C) 2000 Free Software Foundation |
| // Adapted by Nathan Sidwell 1 July 2000 <nathan@codesourcery.com> |
| // Derived from a bug report by scott snyder <snyder@fnal.gov> |
| // Our implicit typename extension was causing this pedantically |
| // correct program to fail |
| |
| struct list |
| { |
| typedef int reference; |
| }; |
| |
| class d0_Collection_Base {}; |
| |
| |
| template <class T> |
| class d0_List_1 |
| : virtual public d0_Collection_Base, |
| public list |
| { |
| public: |
| typedef int reference; |
| }; |
| |
| template <class T> |
| class d0_List |
| { |
| public: |
| typedef d0_List_1<T> Base; |
| typedef typename Base::reference reference; |
| }; |