From 519345901bc8ee08de2ea9c450aa56594724f4e7 Mon Sep 17 00:00:00 2001
From: Vladimir Makarov <vmakarov@redhat.com>
Date: Wed, 20 Oct 2010 13:51:31 +0000
Subject: [PATCH] re PR fortran/42169 (gfortran.dg/pr41928.f90:47: internal
 compiler error: in store_can_be_removed_p, at ira-emit.c:371)

2010-10-20  Vladimir Makarov  <vmakarov@redhat.com>

	PR fortran/42169
	* ira-emit.c (store_can_be_removed_p): Return false instead of
	gcc_unreachable.

From-SVN: r165722
---
 gcc/ChangeLog  | 6 ++++++
 gcc/ira-emit.c | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3db8d6e34461..9845453b2f23 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-10-20  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR fortran/42169
+	* ira-emit.c (store_can_be_removed_p): Return false instead of
+	gcc_unreachable.
+
 2010-10-20  Dmitry Melnik  <dm@ispras.ru>
 
 	* fold-const.c (fold_binary_loc): New transformation.
diff --git a/gcc/ira-emit.c b/gcc/ira-emit.c
index 7221e444b0d1..b90adb71da37 100644
--- a/gcc/ira-emit.c
+++ b/gcc/ira-emit.c
@@ -367,7 +367,8 @@ store_can_be_removed_p (ira_allocno_t src_allocno, ira_allocno_t dest_allocno)
 	   prohibit removal of the store in such complicated case.  */
 	return false;
     }
-  gcc_unreachable ();
+  /* It is actually a loop entry -- do not remove the store.  */
+  return false;
 }
 
 /* Generate and attach moves to the edge E.  This looks at the final
-- 
GitLab