|  | /* { dg-do run } */ | 
|  | /* { dg-options "-O0 -fopenmp-simd" } */ | 
|  |  | 
|  | #include <stdio.h> | 
|  |  | 
|  | #define ASSERT_EQ(var, val) \ | 
|  | do									\ | 
|  | {									\ | 
|  | if ((var) != (val))						\ | 
|  | {								\ | 
|  | fprintf (stderr, "%s:%d: Unexpected value %d, expected %d\n",	\ | 
|  | __FILE__, __LINE__, (var), (val));			\ | 
|  | __builtin_abort ();						\ | 
|  | }								\ | 
|  | }									\ | 
|  | while (0) | 
|  |  | 
|  | #define ASSERT_EQ_PTR(var, ptr) \ | 
|  | do									\ | 
|  | {									\ | 
|  | if ((var) != (ptr))						\ | 
|  | {								\ | 
|  | fprintf (stderr, "%s:%d: Unexpected value %p, expected %p\n",	\ | 
|  | __FILE__, __LINE__, (var), (ptr));			\ | 
|  | __builtin_abort ();						\ | 
|  | }								\ | 
|  | }									\ | 
|  | while (0) | 
|  |  | 
|  | int | 
|  | main () | 
|  | { | 
|  | int iter_count; | 
|  | int data[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; | 
|  | int iter = 0; | 
|  | int *i; | 
|  |  | 
|  | #pragma omp tile sizes(1) | 
|  | for (i = data; i < data + 10; i = i + 2) | 
|  | { | 
|  | ASSERT_EQ_PTR (i, data + 2 * iter); | 
|  | ASSERT_EQ (*i, data[2 * iter]); | 
|  | iter++; | 
|  | } | 
|  |  | 
|  | unsigned long real_iter_count | 
|  | = ((unsigned long)i - (unsigned long)data) / (sizeof (int) * 2); | 
|  | ASSERT_EQ (real_iter_count, 5); | 
|  |  | 
|  | return 0; | 
|  | } |