1 extern "C" void abort ();
2 struct T { int a; int *b; int c; char (&d)[10]; };
3 struct S { int *s; char *u; T v; short *w; short *&x; };
6 template <typename A, typename B, typename C, typename D>
15 for (i = 0; i < 32; i++)
21 for (i = 0; i < 10; i++)
24 D s = { a, b + 2, { 0, a + 16, 0, d }, c + 3, e };
26 #pragma omp target map (to: s.v.b, s.v.b[0:z + 7]) \
27 map (s.template u, s.template u[z + 1:z + 4]) \
28 map (tofrom: s.s, s.s[3:3]) \
29 map (tofrom: s. template v. template d[z + 1:z + 3])\
30 map (from: s.w, s.w[z:4], s.x, s.x[1:3], err) private (i)
33 for (i = 0; i < 7; i++)
34 if (s.v.b[i] != 16 + i)
36 for (i = 1; i < 5; i++)
39 for (i = 3; i < 6; i++)
44 for (i = 1; i < 4; i++)
45 if (s.v.d[i] != 17 + i)
49 for (i = 0; i < 4; i++)
51 for (i = 1; i < 4; i++)
56 for (i = 0; i < 32; i++)
57 if (a[i] != ((i >= 3 && i < 6) ? 128 + i : i)
59 || c[i] != ((i >= 3 && i < 7) ? 93 + i : ((i >= 19 && i < 22) ? 155 + i : 64 + i)))
61 for (i = 0; i < 10; i++)
62 if (d[i] != ((i >= 1 && i < 4) ? 23 + i : 17 + i))
74 for (i = 0; i < 32; i++)
80 for (i = 0; i < 10; i++)
83 S s = { a, b + 2, { 0, a + 16, 0, d }, c + 3, e };
85 #pragma omp target map (to: s.v.b, s.v.b[0:z + 7], s.u, s.u[z + 1:z + 4]) \
86 map (tofrom: s.s, s.s[3:3], s.v.d[z + 1:z + 3]) \
87 map (from: s.w, s.w[z:4], s.x, s.x[1:3], err) private (i)
90 for (i = 0; i < 7; i++)
91 if (s.v.b[i] != 16 + i)
93 for (i = 1; i < 5; i++)
96 for (i = 3; i < 6; i++)
101 for (i = 1; i < 4; i++)
102 if (s.v.d[i] != 17 + i)
106 for (i = 0; i < 4; i++)
108 for (i = 1; i < 4; i++)
113 for (i = 0; i < 32; i++)
114 if (a[i] != ((i >= 3 && i < 6) ? 128 + i : i)
116 || c[i] != ((i >= 3 && i < 7) ? 93 + i : ((i >= 19 && i < 22) ? 155 + i : 64 + i)))
118 for (i = 0; i < 10; i++)
119 if (d[i] != ((i >= 1 && i < 4) ? 23 + i : 17 + i))
121 foo <char, short, int, S> ();