From cf0546bdcbfac168d7a75a78a2adc73a98989a3d Mon Sep 17 00:00:00 2001 From: Erick Ochoa Date: Wed, 29 Apr 2020 13:24:12 +0200 Subject: Fixes getting parameter types during escape analysis --- gcc/ipa-type-escape-analysis.c | 2 +- gcc/testsuite/gcc.dg/ipa/ipa-structreorg-57-csmith-6.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.dg/ipa/ipa-structreorg-57-csmith-6.c 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() {} -- cgit v1.2.3