1// RUN: not %clang_cc1 -fsyntax-only %s
2namespace PR6375 {
3  template<class Conv> class rasterizer_sl_clip Conv::xi(x2), Conv::yi(y2));
4namespace agg
5{
6	template<class Clip=rasterizer_sl_clip_int> class rasterizer_scanline_aa
7	{
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    };
24namespace 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    }
39class 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