1 // RUN: not %clang_cc1 -fsyntax-only %s
2 namespace PR6375 {
3   template<class Conv> class rasterizer_sl_clip Conv::xi(x2), Conv::yi(y2));
4 namespace agg
5 {
6 	template<class Clip=rasterizer_sl_clip_int> class rasterizer_scanline_aa
7 	{
sweep_scanline(Scanline & sl)8 		template<class Scanline> bool sweep_scanline(Scanline& sl)
9 		{
10 			unsigned num_cells = m_outline.scanline_num_cells(m_scan_y);
11 			while(num_cells) { }
12 		}
13 	}
14     class scanline_u8 {}
15     template<class PixelFormat> class renderer_base { }
16 }
17     template<class Rasterizer, class Scanline, class BaseRenderer, class ColorT>
18     void render_scanlines_aa_solid(Rasterizer& ras, Scanline& sl, BaseRenderer& ren, const ColorT& color)
19     {
20             while(ras.sweep_scanline(sl))
21             {
22         }
23     };
24 namespace agg
25 {
26     struct rgba8
27     {
28     };
29     template<class Rasterizer, class Scanline, class Renderer, class Ctrl>
30     void render_ctrl(Rasterizer& ras, Scanline& sl, Renderer& r, Ctrl& c)
31     {
32         unsigned i;
33             render_scanlines_aa_solid(ras, sl, r, c.color(i));
34         }
35     template<class ColorT> class rbox_ctrl : public rbox_ctrl_impl
36     {
37         const ColorT& color(unsigned i) const { return *m_colors[i]; }
38     }
39 class the_application : public agg::platform_support
40 {
41     agg::rbox_ctrl<agg::rgba8> m_polygons;
42     virtual void on_init()
43     {
44         typedef agg::renderer_base<pixfmt_type> base_ren_type;
45         base_ren_type ren_base(pf);
46         agg::scanline_u8 sl;
47         agg::rasterizer_scanline_aa<> ras;
48         agg::render_ctrl(ras, sl, ren_base, m_polygons);
49     }
50 };
51 }
52 }
53