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: aarch64 simd index out of range message not correct on 32 bit host


On Fri, May 29, 2015 at 3:46 PM, Shiva Chen <shiva0217@gmail.com> wrote:
> Hi, Andrew
>
> You are right, it's much simpler.
>
> Could you give me a tip how %wd works on GCC ?

the w modifier is the GCC diagnostic format modifier that specifies
HOST_WIDE_INT.

>
> Could you send a new patch to fix the message since you have better solution ?

I don't build using a 32bit host so I can't test it.

Thanks,
Andrew

>
> Thanks,
>
> Shiva
>
> 2015-05-29 15:13 GMT+08:00 Andrew Pinski <pinskia@gmail.com>:
>> On Fri, May 29, 2015 at 2:33 PM, Shiva Chen <shiva0217@gmail.com> wrote:
>>> Hi,
>>>
>>> I notice that aarch64 simd index range message not correct on 32 bit host.
>>>
>>> The message print by the function aarch64_simd_lane_bounds in aarch64.c.
>>>
>>> The function print HOST_WIDE_INT variable by %ld which is correct on
>>> 64 bit host.
>>>
>>> However, on 32 bit host HOST_WIDE_INT would be long long.
>>>
>>> Therefore, print out incorrect message on 32 bit host.
>>>
>>> Fix the message by printing HOST_WIDE_INT variables on 32 bit host by %lld.
>>
>>
>> Actually there is a simpler way.  Since this is error which uses the
>> GCC diagnostic format you can just use %wd instead.
>> So:
>> error ("%Klane %ld out of range %ld - %ld", exp, lane, low, high - 1);
>> Becomes:
>> error ("%Klane %wd out of range %wd - %wd", exp, lane, low, high - 1);
>>
>> Thanks,
>> Andrew Pinski
>>
>>>
>>>
>>> Shiva


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