summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2013-06-01 16:40:31 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2013-06-01 16:40:31 +0000
commite4f633f742566637af0fbc6a05e44a9b792a5a0f (patch)
treeeeb5b060e0a3f68d2a17fa58f36c9b795bf47f23
parent8d779aef48f3a867c09ebf427582cd1c81c6dc48 (diff)
downloadgcc-e4f633f742566637af0fbc6a05e44a9b792a5a0f.tar.gz
PR middle-end/57467
* passes.c (for_per_function): Skip unanalyzed functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199582 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/passes.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c6a7d7dce6f..2960cec864e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2013-06-01 Jan Hubicka <jh@suse.cz>
+ PR middle-end/57467
+ * passes.c (for_per_function): Skip unanalyzed functions.
+
+2013-06-01 Jan Hubicka <jh@suse.cz>
+
* lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Rename to ...
(lto_symtab_merge_symbols_1): ... this one.
(lto_symtab_merge_cgraph_nodes): Rename to ...
diff --git a/gcc/passes.c b/gcc/passes.c
index 2a29d9f8244..a4dad2aace4 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -1709,7 +1709,7 @@ do_per_function (void (*callback) (void *data), void *data)
{
struct cgraph_node *node;
FOR_EACH_DEFINED_FUNCTION (node)
- if (gimple_has_body_p (node->symbol.decl)
+ if (node->symbol.analyzed && gimple_has_body_p (node->symbol.decl)
&& (!node->clone_of || node->symbol.decl != node->clone_of->symbol.decl))
{
push_cfun (DECL_STRUCT_FUNCTION (node->symbol.decl));