RFA: Provide a default definition of CONSTANT_ADDRESS_P
Jeff Law
law@redhat.com
Tue Nov 3 23:10:00 GMT 2009
On 10/20/09 02:46, Nick Clifton wrote:
> Hi Guys,
>
> This is a follow up to a comment from Jeff Law about a patch I
> created for the MN10300 port. We found that for that port that its
> definition of CONSTANT_ADDRESS_P() as just CONSTANT_P() was a little
> bit too permissive. In particular it was allowing CONST_DOUBLEs to
> be treated as constant addresses which tended to confuse other parts
> of the compiler.
>
> It turns out that quite a few backends use this definition of
> CONSTANT_ADDRESS_P. It is suggested in the tm.texi documentation
> which is probably why it has happened. So I am seeking approval for
> the attached patch to address the problem. It does two things:
> Firstly it provides a default definition of CONSTANT_ADDRESS_P in
> defaults.h which includes a test to make sure that CONST_DOUBLEs are
> not allowed. Secondly it updates all of the backends which used to
> define CONSTANT_ADDRESS_P as CONSTANT_P so that they now use this
> default definition.
>
> Tested by building the following targets: avr-elf, bfin-elf,
> cris-elf, fr30-elf, frv-elf, m32c-elf, m68hc12-elf, mep-elf,
> mn10300-elf, moxie-elf, pdp11-aout, picochip-elf, score-elf,
> xstormy16-elf.
>
> I also ran an x86 bootstrap just to make sure that the change to
> defaults.h did not break anything - it did not.
>
> OK to apply ?
>
> Cheers
> Nick
>
> gcc/ChangeLog
> 2009-10-20 Nick Clifton<nickc@redhat.com>
>
> * defaults.h (CONSTANT_ADDRESS_P): Provide a default definition.
> Make sure that it does not allow CONST_DOUBLEs.
> * doc/tm.texi (CONSTANT_ADDRESS_P): Update description.
> * config/avr/avr.h (CONSTANT_ADDRESS_P): Delete.
> * config/bfin/bfin.h (CONSTANT_ADDRESS_P): Delete.
> * config/cris/cris.h (CONSTANT_ADDRESS_P): Delete.
> * config/fr30/fr30.h (CONSTANT_ADDRESS_P): Delete.
> * config/frv/frv.h (CONSTANT_ADDRESS_P): Delete.
> * config/m32c/m32c.h (CONSTANT_ADDRESS_P): Delete.
> * config/m68hc11/m68hc11.h (CONSTANT_ADDRESS_P): Delete.
> * config/mep/mep.h (CONSTANT_ADDRESS_P): Delete.
> * config/mn10300/mn10300.h (CONSTANT_ADDRESS_P): Delete.
> * config/moxie/moxie.h (CONSTANT_ADDRESS_P): Delete.
> * config/pdp11/pdp11.h (CONSTANT_ADDRESS_P): Delete.
> * config/picochip/picochip.h (CONSTANT_ADDRESS_P): Delete.
> * config/score/score.h (CONSTANT_ADDRESS_P): Delete.
> * config/stormy16/stormy16.h (CONSTANT_ADDRESS_P): Delete.
>
>
OK
More information about the Gcc-patches
mailing list