|
@@ -626,6 +626,8 @@ template <typename IT, int ST>
|
|
|
class TC {
|
|
|
int ii, iii, kk;
|
|
|
public:
|
|
|
+ enum { myconstant = 42 };
|
|
|
+ int ub();
|
|
|
int dotest_lt(IT begin, IT end) {
|
|
|
#pragma omp parallel
|
|
|
// expected-error@+3 3 {{the loop initializer expression depends on the current loop control variable}}
|
|
@@ -634,6 +636,12 @@ public:
|
|
|
for (ii = ii * 10 + 25; ii < ii / ii - 23; ii += 1)
|
|
|
;
|
|
|
|
|
|
+// Check that member function calls and enum constants in the condition is
|
|
|
+// handled.
|
|
|
+#pragma omp for
|
|
|
+ for (ii = 0; ii < ub() + this->myconstant; ii += 1) // expected-no-error
|
|
|
+ ;
|
|
|
+
|
|
|
#pragma omp parallel
|
|
|
// expected-error@+4 2 {{expected loop invariant expression or '<invariant1> * ii + <invariant2>' kind of expression}}
|
|
|
// expected-error@+3 {{expected loop invariant expression or '<invariant1> * TC::ii + <invariant2>' kind of expression}}
|