1 /* Check calling convention in the vector ABI.  */
2 
3 /* { dg-do compile { target { s390*-*-* } } } */
4 /* { dg-options "-O3 -mzarch -march=z13 -Wno-implicit-function-declaration" } */
5 
6 
7 typedef long v2di __attribute__((vector_size(16)));
8 extern v2di foo1 (int, v2di);
9 extern v2di foo2 (int, int);
10 extern v2di foo3 (int, ...);
11 
bar1(int a)12 v2di bar1 (int a)  { return foo2 (1, a); }
bar2(int a)13 v2di bar2 (int a)  { return foo3 (1, a); }
bar3(v2di a)14 v2di bar3 (v2di a) { return foo1 (1, a); }
bar4(v2di a)15 v2di bar4 (v2di a) { return foo3 (1, a); }
16 
bar5(int a)17 int bar5 (int a)  { return foo4 (1, a); }
bar6(v2di a)18 int bar6 (v2di a) { return foo4 (1, a); } /* { dg-error "vector argument passed to unprototyped function" } */
19