1 /* PR middle-end/87887 */
2 /* { dg-do compile } */
3 /* { dg-require-effective-target vect_simd_clones } */
4 /* { dg-additional-options "-w" } */
5
6 struct S { int n; };
7 #pragma omp declare simd
8 struct S
9 foo (int x)
10 {
11 return (struct S) { x };
12 }
13
14 #pragma omp declare simd
15 int
16 bar (struct S x)
17 {
18 return x.n;
19 }
20
21 #pragma omp declare simd uniform (x)
22 int
23 baz (int w, struct S x, int y)
24 {
25 return w + x.n + y;
26 }