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