/* PR middle-end/87887 */ | |
/* { dg-do compile } */ | |
/* { dg-require-effective-target vect_simd_clones } */ | |
/* { dg-additional-options "-w" } */ | |
struct S { int n; }; | |
#pragma omp declare simd | |
struct S | |
foo (int x) | |
{ | |
return (struct S) { x }; | |
} | |
#pragma omp declare simd | |
int | |
bar (struct S x) | |
{ | |
return x.n; | |
} | |
#pragma omp declare simd uniform (x) | |
int | |
baz (int w, struct S x, int y) | |
{ | |
return w + x.n + y; | |
} |