On Thu, Oct 29, 2015 at 5:32 PM, Richard Sandiford <richard.sandif...@arm.com> wrote: > Richard Biener <richard.guent...@gmail.com> writes: >> On October 29, 2015 4:33:17 PM GMT+01:00, Bernd Schmidt >> <bschm...@redhat.com> wrote: >>>On 10/29/2015 04:30 PM, Richard Sandiford wrote: >>>> Make sure that REAL_MODE_FORMAT aborts if it is passed an invalid >>>mode, >>>> rather than stepping beyond the bounds of an array. It turned out >>>that >>>> some code was passing non-float modes to the real.h routines. >>> >>>> gcc/ >>>> * real.h (REAL_MODE_FORMAT): Abort if the mode isn't a >>>> SCALAR_FLOAT_MODE_P. >>> >>>I'm assuming that the code you mention has already been fixed so that >>>we >>>don't trigger the abort. Ok. >> >> Rather than the weird macro can't we turn real_mode_format to an inline >> function? > > It needs to be an lvalue for things like: > > REAL_MODE_FORMAT (TFmode) = &ibm_extended_format; > > I suppose we could return a non-const reference, but I'd rather stay > clear of returning those :-)
Yes please. But SET_REAL_MODE_FORMAT (TFmode, &ibm_extended_format) would work as well. Richard. > Thanks, > Richard >