aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2009-10-16 14:21:05 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2009-10-16 14:21:05 +0000
commit775dc6700b6711e1c4ba07194d3464388ee06db3 (patch)
treeb5c8587e5161bd56aa2812a44a528b3f182cc468 /gcc
parentac2b9bbbd51f78c2b42122df733f9fa84d48fcc9 (diff)
downloadgcc-775dc6700b6711e1c4ba07194d3464388ee06db3.zip
gcc-775dc6700b6711e1c4ba07194d3464388ee06db3.tar.gz
gcc-775dc6700b6711e1c4ba07194d3464388ee06db3.tar.bz2
re PR middle-end/41713 (-O -flto -g: ICE in lto_output_tree_ref, at lto-streamer-out.c:732)
2009-10-16 Richard Guenther <rguenther@suse.de> PR lto/41713 * lto-streamer-out.c (lto_output_tree_ref): Handle DEBUG_EXPR_DECL the same as VAR_DECL. * gfortran.dg/lto/20091016-1_0.f90: New testcase. From-SVN: r152902
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/lto-streamer-out.c1
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/lto/20091016-1_0.f9012
4 files changed, 24 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3c80308..13e3e2f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2009-10-16 Richard Guenther <rguenther@suse.de>
+ PR lto/41713
+ * lto-streamer-out.c (lto_output_tree_ref): Handle DEBUG_EXPR_DECL
+ the same as VAR_DECL.
+
+2009-10-16 Richard Guenther <rguenther@suse.de>
+
* gimple.c (iterative_hash_gimple_type): For integer types
also hash their minimum and maximum values and the string flag.
For array types hash their domain and the string flag.
diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c
index 9d097f0..737206c 100644
--- a/gcc/lto-streamer-out.c
+++ b/gcc/lto-streamer-out.c
@@ -690,6 +690,7 @@ lto_output_tree_ref (struct output_block *ob, tree expr)
break;
case VAR_DECL:
+ case DEBUG_EXPR_DECL:
gcc_assert (decl_function_context (expr) == NULL);
output_record_start (ob, LTO_global_decl_ref);
lto_output_var_decl_index (ob->decl_state, ob->main_stream, expr);
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 587f153..d55be035 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2009-10-16 Richard Guenther <rguenther@suse.de>
+
+ PR lto/41713
+ * gfortran.dg/lto/20091016-1_0.f90: New testcase.
+
2009-10-15 Jakub Jelinek <jakub@redhat.com>
PR debug/41717
diff --git a/gcc/testsuite/gfortran.dg/lto/20091016-1_0.f90 b/gcc/testsuite/gfortran.dg/lto/20091016-1_0.f90
new file mode 100644
index 0000000..c26ad90
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/lto/20091016-1_0.f90
@@ -0,0 +1,12 @@
+! { dg-lto-do link }
+! { dg-lto-options {{-flto -g -fPIC -shared} {-O -flto -g -fPIC -shared}} }
+
+ FUNCTION makenumberstring(x)
+ IMPLICIT NONE
+ REAL, INTENT(IN) :: x
+ CHARACTER(len=20) :: makenumberstring
+ INTEGER :: xx
+ xx = x**2 ! << ICE
+ makenumberstring = ''
+ END FUNCTION
+