1 /* { dg-do compile } */
2
3 double *bar (void);
4
5 void
foo(double * ptr,int i)6 foo (double *ptr, int i)
7 {
8 double *a = __builtin_assume_aligned (ptr, 16, 8, 7); /* { dg-error "too many arguments to function" } */
9 double *b = __builtin_assume_aligned (bar (), 16);
10 double *c = __builtin_assume_aligned (bar (), 16, 8);
11 double *d = __builtin_assume_aligned (ptr, i, ptr); /* { dg-error "non-integer argument 3 in call to function" } */
12 double *e = __builtin_assume_aligned (ptr, i, *ptr); /* { dg-error "non-integer argument 3 in call to function" } */
13 *a = 0.0;
14 *b = 0.0;
15 *c = 0.0;
16 *d = 0.0;
17 *e = 0.0;
18 }
19