instantiate-invalid.cpp 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. {
  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. }