Commit 09efeca1 by Paolo Bonzini Committed by Paolo Bonzini

re PR target/38868 (r143152 breaks output routines in xplor-nih)

gcc:
2008-01-20  Paolo Bonzini  <bonzini@gnu.org>

	PR target/38868
	* emit-rtl.c (adjust_address_1): Make sure memref is never
	overwritten.

gcc/testsuite:
2008-01-20  Paolo Bonzini  <bonzini@gnu.org>

	PR target/38868
	* gfortran.dg/pr38868.f: New testcase.

From-SVN: r143513
parent cbb8dee3
2008-01-20 Paolo Bonzini <bonzini@gnu.org>
PR target/38868
* emit-rtl.c (adjust_address_1): Make sure memref is never
overwritten.
2009-01-20 Ben Elliston <bje@au.ibm.com>
* libgcov.c (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
......
/* Emit RTL for the GCC expander.
Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
Free Software Foundation, Inc.
This file is part of GCC.
......@@ -2035,6 +2035,11 @@ adjust_address_1 (rtx memref, enum machine_mode mode, HOST_WIDE_INT offset,
new_rtx = change_address_1 (memref, mode, addr, validate);
/* If the address is a REG, change_address_1 rightfully returns memref,
but this would destroy memref's MEM_ATTRS. */
if (new_rtx == memref && offset != 0)
new_rtx = copy_rtx (new_rtx);
/* Compute the new values of the memory attributes due to this adjustment.
We add the offsets and update the alignment. */
if (memoffset)
......
2008-01-20 Paolo Bonzini <bonzini@gnu.org>
PR target/38868
* gfortran.dg/pr38868.f: New testcase.
2009-01-20 Richard Guenther <rguenther@suse.de>
* gcc.c-torture/execute/pr36227.c: Move ...
......
! { dg-do compile }
! { dg-options "-O2 -fdump-rtl-expand" }
PROGRAM testcase
IMPLICIT NONE
CHARACTER*4 ANER(18)
CHARACTER*80 LINE
aner = ''
ANER(1)='A '
ANER(2)=' '
LINE=' '
LINE(78:80)='xyz'
WRITE(*,'(A82)') "'"//LINE//"'"
END
! { dg-final { scan-rtl-dump-times "line\\\+80" 0 "expand" } }
! { dg-final { cleanup-rtl-dump "expand" } } */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment