1// { dg-do assemble } 2// { dg-options "" } 3// Copyright (C) 2000 Free Software Foundation 4// Adapted by Nathan Sidwell 1 July 2000 <nathan@codesourcery.com> 5// Derived from a bug report by scott snyder <snyder@fnal.gov> 6// Our implicit typename extension was causing this pedantically 7// correct program to fail 8 9struct list 10{ 11 typedef int reference; 12}; 13 14class d0_Collection_Base {}; 15 16 17template <class T> 18class d0_List_1 19 : virtual public d0_Collection_Base, 20 public list 21{ 22public: 23 typedef int reference; 24}; 25 26template <class T> 27class d0_List 28{ 29public: 30 typedef d0_List_1<T> Base; 31 typedef typename Base::reference reference; 32}; 33