blob: 50aa0bbe6d57853b0bd54b55aa056ca41918bf25 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
/* target/36834 */
/* Check that, with dont_keep_aggregate_return_pointer attribute, callee
pops the stack for the implicit pointer arg when returning a large
structure in memory. */
/* { dg-do compile } */
/* { dg-require-effective-target ilp32 } */
struct foo {
int a;
int b;
int c;
int d;
};
__attribute__ ((callee_pop_aggregate_return(1)))
struct foo
bar (void)
{
struct foo retval;
retval.a = 1;
retval.b = 2;
retval.c = 3;
retval.d = 4;
return retval;
}
/* { dg-final { scan-assembler "ret\[ \t\]\\\$4" } } */
|