OSDN Git Service

2009-07-17 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / gomp / for-19.C
1 // PR c++/38348
2 // { dg-do compile }
3 // { dg-options "-fopenmp" }
4
5 const char *p = "abcde";
6
7 template <typename T>
8 void
9 f1 (void)
10 {
11 #pragma omp for         // { dg-error "forbids incrementing a pointer of type" }
12   for (void *q = (void *)p; q < (void *) (p + 4); q++)  // { dg-error "forbids incrementing a pointer of type" }
13     ;
14 }
15
16 template <typename T>
17 void
18 f2 (void)
19 {
20 #pragma omp for
21   for (const char *q = p; q < p + 4; q++)
22     ;
23 }
24
25 template <typename T>
26 void
27 f3 (void)
28 {
29 #pragma omp for         // { dg-error "forbids incrementing a pointer of type" }
30   for (T q = T (p); q < T (p + 4); q++)
31     ;
32 }
33
34 int
35 main (void)
36 {
37   f1 <int> ();          // { dg-message "instantiated from here" }
38   f2 <int> ();
39   f3 <const char *> ();
40   f3 <void *> ();       // { dg-message "instantiated from here" }
41 }