This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Robustify REAL_MODE_FORMAT


On Thu, Oct 29, 2015 at 5:32 PM, Richard Sandiford
<richard.sandiford@arm.com> wrote:
> Richard Biener <richard.guenther@gmail.com> writes:
>> On October 29, 2015 4:33:17 PM GMT+01:00, Bernd Schmidt
>> <bschmidt@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
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]