diff options
-rw-r--r-- | gcc/ipa-type-escape-analysis.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/ipa/ipa-structreorg-57-csmith-6.c | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ipa-type-escape-analysis.c b/gcc/ipa-type-escape-analysis.c index c39472079a2..a491c82f222 100644 --- a/gcc/ipa-type-escape-analysis.c +++ b/gcc/ipa-type-escape-analysis.c @@ -461,9 +461,9 @@ collect_types(type_map &escape_map) cgraph_node *cnode = NULL; FOR_EACH_DEFINED_FUNCTION (cnode) { - collect_parm_declarations (cnode, escape_map); collect_function_body (cnode, escape_map); collect_local_declarations (cnode, escape_map); + collect_parm_declarations (cnode, escape_map); collect_return_type (cnode, escape_map); } } diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-structreorg-57-csmith-6.c b/gcc/testsuite/gcc.dg/ipa/ipa-structreorg-57-csmith-6.c new file mode 100644 index 00000000000..9827d228e31 --- /dev/null +++ b/gcc/testsuite/gcc.dg/ipa/ipa-structreorg-57-csmith-6.c @@ -0,0 +1,6 @@ +/* { dg-do run } */ +/* { dg-options "-w -flto -flto-partition=none -fipa-dead-field-eliminate" } */ + +struct a {}; +b(struct a c) {} +main() {} |