1 #include <stdio.h>
2 
3 
func1()4 static int	func1() { return 1; }
func2()5 static int	func2() { return 2; }
func3()6 static int	func3() { return 3; }
func6()7 static int	func6() { return func3()+func2()+func1(); }
8 
9 int
main()10 main() {
11 	/* Check with more than one storage unit, and whether
12 	 * mixing with ordinary char at end works and still
13 	 * aligns properly
14 	 *
15 	 * Mix with variable initializers too
16 	 */
17 	struct foo {
18 		char		x; /* align me */
19 		char		gnu;
20 		unsigned	d;
21 	} fa /*[]*/ = {
22 		func1(), 5, 6
23 	};
24 	int	i;
25 
26 
27 
28 	printf("%d\n", (int)sizeof(struct foo));
29 
30 	printf("%u\n", fa/*[0]*/.d);
31 	return 0;
32 }
33 
34