/* { dg-do run } */ | |
/* { dg-options "-O0 -fipa-icf -fdump-ipa-icf" } */ | |
struct S | |
{ | |
int a; | |
}; | |
int | |
foo3 (struct S x, struct S y, struct S z) | |
{ | |
if (z.a != 9) | |
__builtin_abort (); | |
return 0; | |
} | |
int | |
bar3 (struct S x, struct S y, struct S z) | |
{ | |
return foo3 (y, x, z); | |
} | |
int | |
baz3 (struct S x, struct S y, struct S z) | |
{ | |
return foo3 (y, z, x); | |
} | |
int | |
main (void) | |
{ | |
struct S | |
a = { 3 }, | |
b = { 6 }, | |
c = { 9 }; | |
return bar3 (b, a, c); | |
} | |
/* { dg-final { scan-ipa-dump "Equal symbols: 0" "icf" } } */ |