Fix PR middle-end/47017

Eric Botcazou ebotcazou@adacore.com
Tue Jan 4 00:52:00 GMT 2011


This is another installment in the "RTL expansion of MEM_REF" series.  To 
recap, after the initial merge, Richard tweaked it to unbreak IA-64/HP-UX:
  http://gcc.gnu.org/ml/gcc-patches/2010-07/msg00514.html
which broke SPARC64/Linux.  So I reverted the above change and installed:
  http://gcc.gnu.org/ml/gcc-patches/2010-07/msg02144.html
instead, which pessimized x86.  So Jakub partially reverted it:
  http://gcc.gnu.org/ml/gcc-patches/2010-11/msg00551.html
which broke SPARC64/Linux again (in exactly the same way as before).

The attached patchlet fixes again SPARC64/Linux by turning the call to 
convert_memory_address_addr_space into a call to memory_address_addr_space, 
which additionally makes sure that the memory address is valid.

Bootstrapped/regtested on SPARC64 and AMD64 Linux, applied on the mainline.


2011-01-03  Eric Botcazou  <ebotcazou@adacore.com>

	PR middle-end/47017
	* expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
	instead of convert_memory_address_addr_space on the base expression.


-- 
Eric Botcazou
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr47017.diff
Type: text/x-diff
Size: 553 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20110104/d01667e4/attachment.bin>


More information about the Gcc-patches mailing list