diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4d18f170e57..cc86721d541 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-09-08 Alexandre Oliva + + PR debug/41229 + PR debug/41291 + PR debug/41300 + * tree-ssa.c (execute_update_addresses_taken): Update debug insns. + 2009-09-08 Alexandre Oliva * tree-ssa-loop-ivopts.c (get_phi_with_result): Remove. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 66b454d6e8d..e9d64461b80 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2009-09-08 Alexandre Oliva + + PR debug/41229 + PR debug/41291 + PR debug/41300 + * gfortran.dg/pr41229.f90: New. + 2009-09-08 Alexandre Oliva PR debug/41232 diff --git a/gcc/testsuite/gfortran.dg/pr41229.f90 b/gcc/testsuite/gfortran.dg/pr41229.f90 new file mode 100644 index 00000000000..9f6e566fc9b --- /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 b5b6afe15e6..9015d19c189 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); }