1 /* { dg-do compile } */
2 
3 struct rgba8;
4 template<class ColorT> class span_gouraud     {
5 public:
6     struct coord_type { };
7     coord_type m_coord[3];
8 };
9 template<class ColorT> class span_gouraud_rgba : public span_gouraud<ColorT>
10 {
11   typedef ColorT color_type;
12   typedef span_gouraud<color_type> base_type;
13   typedef typename base_type::coord_type coord_type;
14 public:
prepare()15   void prepare()         {
16       coord_type coord[3];
17   }
18 };
the_application()19 void the_application() {
20     typedef span_gouraud_rgba<rgba8> gouraud_span_gen_type;
21     gouraud_span_gen_type span_gouraud;
22     span_gouraud.prepare();
23 }
24