diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4d18f170e5733bbacce09443cde5349fc100d60c..cc86721d5419a0084ef290e40909ca47d5dff0ac 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-09-08 Alexandre Oliva <aoliva@redhat.com> + + PR debug/41229 + PR debug/41291 + PR debug/41300 + * tree-ssa.c (execute_update_addresses_taken): Update debug insns. + 2009-09-08 Alexandre Oliva <aoliva@redhat.com> * tree-ssa-loop-ivopts.c (get_phi_with_result): Remove. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 66b454d6e8defc6f5479e05db3a9527551dcc41c..e9d64461b80c64b3fcfb6b9c08fe910e4b450992 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2009-09-08 Alexandre Oliva <aoliva@redhat.com> + + PR debug/41229 + PR debug/41291 + PR debug/41300 + * gfortran.dg/pr41229.f90: New. + 2009-09-08 Alexandre Oliva <aoliva@redhat.com> PR debug/41232 diff --git a/gcc/testsuite/gfortran.dg/pr41229.f90 b/gcc/testsuite/gfortran.dg/pr41229.f90 new file mode 100644 index 0000000000000000000000000000000000000000..9f6e566fc9b48f835e06cc8c698cecb0405dd31c --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr41229.f90 @@ -0,0 +1,10 @@ +! { dg-do compile } +! { dg-options "-O2 -g" } +SUBROUTINE cp_fm_triangular_multiply() + INTEGER, PARAMETER :: dp=KIND(0.0D0) + REAL(dp), ALLOCATABLE, DIMENSION(:) :: tau, work + REAL(KIND=dp), DIMENSION(:, :), POINTER :: a + ndim = SIZE(a,2) + ALLOCATE(tau(ndim),STAT=istat) + ALLOCATE(work(2*ndim),STAT=istat) +END SUBROUTINE diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c index b5b6afe15e6c8a3e4601cc031ef19a68b714d982..9015d19c189e2108a8831d09ed8fad6a82bea33a 100644 --- a/gcc/tree-ssa.c +++ b/gcc/tree-ssa.c @@ -1963,7 +1963,8 @@ execute_update_addresses_taken (bool do_optimize) { gimple stmt = gsi_stmt (gsi); - if (gimple_references_memory_p (stmt)) + if (gimple_references_memory_p (stmt) + || is_gimple_debug (stmt)) update_stmt (stmt); }