| // Contributed by Dodji Seketeli <dodji@redhat.com> |
| // Origin PR c++/40866 |
| // { dg-options "-std=gnu++98" } |
| // { dg-do compile } |
| |
| template <typename T> class QForeachContainer { |
| public: |
| QForeachContainer(); |
| int brk; |
| typename T::const_iterator i; |
| }; |
| |
| template <typename T> class QList { |
| public: |
| class const_iterator { |
| public: |
| const_iterator(const const_iterator &o); |
| const_iterator &operator++(); |
| }; |
| }; |
| |
| class QAction; |
| class QWidget { |
| public: |
| QList<QAction*> actions() const; |
| }; |
| class myDialog : public QWidget { |
| myDialog(); |
| }; |
| |
| myDialog::myDialog() |
| { |
| QForeachContainer<__typeof__(actions())> _container_; |
| ({++_container_.brk; ++_container_.i;}); |
| } |
| |