1 /* { dg-do compile } */
2 /* { dg-options "-O2 -funswitch-loops" } */
4 struct __normal_iterator
6 typedef int*const *_Iterator;
7 int*const * _M_current;
8 __normal_iterator(const _Iterator& __i) : _M_current(__i){}
9 const _Iterator& base() const {}
11 struct string { ~string(){} };
15 __normal_iterator end() const { return __normal_iterator (_M_finish); }
16 int size() const { return end().base() - end().base(); }
20 int redraw_window(void);
21 typedef int (Painter::* SliceWindowFunc)(void);
22 int for_each(vector&, SliceWindowFunc);
23 void tcl_command(void);
25 inline int Painter::for_each(vector &layout, SliceWindowFunc func)
27 for (unsigned int window = 0; window < layout.size();++window)
31 int Painter::redraw_window(void) {t = 1;}
33 vector *g(const string&);
34 void Painter::tcl_command(void)
36 for_each(*g(t2(2)), &Painter::redraw_window);