summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErick Ochoa <erick.ochoa@theobroma-systems.com>2020-04-29 13:24:12 +0200
committerErick Ochoa <erick.ochoa@theobroma-systems.com>2020-04-29 13:24:12 +0200
commitcf0546bdcbfac168d7a75a78a2adc73a98989a3d (patch)
tree5c7fe90a378a771615b4a0564a3fe197b691da59
parent4baaf411c2ad51566881641f9c8b35e8f9f30eb6 (diff)
Fixes getting parameter types during escape analysis
-rw-r--r--gcc/ipa-type-escape-analysis.c2
-rw-r--r--gcc/testsuite/gcc.dg/ipa/ipa-structreorg-57-csmith-6.c6
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() {}