2018-03-08 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / aggregate-ret3.c
blobe3c5b0943938e255ee97010507ffd31066419bd0
1 /* Check that, with keep_aggregate_return_pointer attribute, callee does
2 not pop the stack for the implicit pointer arg when returning a large
3 structure in memory. */
4 /* { dg-do compile } */
5 /* { dg-require-effective-target ia32 } */
7 struct foo {
8 int a;
9 int b;
10 int c;
11 int d;
14 __attribute__ ((ms_abi))
15 struct foo
16 bar (void)
18 struct foo retval;
19 retval.a = 1;
20 retval.b = 2;
21 retval.c = 3;
22 retval.d = 4;
23 return retval;
26 /* { dg-final { scan-assembler-not "ret\[ \t\]\\\$4" } } */