aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2013-06-01 18:40:31 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2013-06-01 16:40:31 +0000
commiteb51d2ff187957e2e72fab9729529142b5d87fc3 (patch)
treeeeb5b060e0a3f68d2a17fa58f36c9b795bf47f23
parent3a43b5b3cb8a5db125fcaa00df0236aeab398ba2 (diff)
downloadgcc-eb51d2ff187957e2e72fab9729529142b5d87fc3.zip
gcc-eb51d2ff187957e2e72fab9729529142b5d87fc3.tar.gz
gcc-eb51d2ff187957e2e72fab9729529142b5d87fc3.tar.bz2
re PR middle-end/57467 (FAIL: gfortran.dg/gomp/appendix-a/a.(22.1|22.6|33.1).f90 -O (internal compiler error))
PR middle-end/57467 * passes.c (for_per_function): Skip unanalyzed functions. From-SVN: r199582
-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 c6a7d7d..2960cec 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 2a29d9f..a4dad2a 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));