2 /* { dg-options "-O0" } */
4 extern void abort (void);
6 #pragma omp declare target to (v)
7 typedef void (*fnp1
) (void);
8 typedef fnp1 (*fnp2
) (void);
9 void f1 (void) { v
++; }
10 void f2 (void) { v
+= 4; }
11 void f3 (void) { v
+= 16; f1 (); }
12 fnp1
f4 (void) { v
+= 64; return f2
; }
16 fnp2
f5 (void) { f3 (); return f4
; }
17 #pragma omp declare target to (c, f5)
23 #pragma omp target map(from:err)