| // PR c++/92504 |
| // { dg-do compile { target c++11 } } |
| // { dg-additional-options "-O2" } |
| |
| namespace std { |
| typedef __SIZE_TYPE__ size_t; |
| typedef __PTRDIFF_TYPE__ ptrdiff_t; |
| } |
| |
| struct A { |
| A (); |
| A (const A &); |
| A & operator++ (); |
| bool operator != (const A &) const; |
| std::ptrdiff_t operator - (const A &); |
| A & operator += (std::size_t); |
| int a; |
| A & begin (); |
| A & end (); // { dg-message "declared here" } |
| }; |
| |
| void |
| bar () |
| { |
| A a; |
| #pragma omp for |
| for (auto b = a; b != a.end; ++b) // { dg-error "invalid use of non-static member function" } |
| ; |
| } |