diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/expr/stmt-expr-1.C')
-rw-r--r-- | gcc/testsuite/g++.dg/expr/stmt-expr-1.C | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/expr/stmt-expr-1.C b/gcc/testsuite/g++.dg/expr/stmt-expr-1.C new file mode 100644 index 000000000..c4db5157f --- /dev/null +++ b/gcc/testsuite/g++.dg/expr/stmt-expr-1.C @@ -0,0 +1,36 @@ +// 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;}); +} + |