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