1// { dg-do run  }
2// GROUPS passed code-generation
3// Check that passing things which are not a multiple of
4// 4 bytes in size doesn't mess up other subsequent parameters.
5
6extern "C" int printf (const char *, ...);
7
8struct base {
9	int f1 : 8;
10	int f2 : 8;
11};
12
13base global_base;
14
15int val1;
16
17int test2 (struct base formal_base, int v1);
18
19int main ()
20{
21	val1 = 0x5e5e;
22	return test2 (global_base, val1);
23}
24
25int test2 (struct base formal_base, int v1)
26{
27	formal_base.f1 = formal_base.f2;	// prevent warnings
28
29	if (v1 != 0x5e5e)
30	  { printf ("FAIL\n"); return 1; }
31	else
32	  printf ("PASS\n");
33
34	return 0;
35}
36