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: {patch ira-color.c]: Fix printf-formatter use for long-long type for windows native targets.


On Fri, Dec 9, 2011 at 11:32 AM, Kai Tietz <ktietz70@googlemail.com> wrote:
> 2011/12/9 Richard Guenther <richard.guenther@gmail.com>:
>> On Fri, Dec 9, 2011 at 11:10 AM, Kai Tietz <ktietz70@googlemail.com> wrote:
>>> 2011/12/9 Richard Guenther <richard.guenther@gmail.com>:
>>>> On Fri, Dec 9, 2011 at 10:58 AM, Kai Tietz <ktietz70@googlemail.com> wrote:
>>>>> 2011/12/9 Richard Guenther <richard.guenther@gmail.com>:
>>>>>> On Fri, Dec 9, 2011 at 9:51 AM, Kai Tietz <ktietz70@googlemail.com> wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> this patch fixes for windows native target print-formatter used about
>>>>>>> long-long type.
>>>>>>>
>>>>>>> ChangeLog
>>>>>>>
>>>>>>> 2011-12-09 ?Kai Tietz ?<ktietz@redhat.com>
>>>>>>>
>>>>>>> ? ? ? ?* ira-color.c (print_hard_regs_subforest): Use
>>>>>>> ? ? ? ?HOST_WIDEST_INT_PRINT_DEC instead of %lld.
>>>>>>>
>>>>>>> Tested for i686-w64-mingw32, x86_64-w64-mingw32, and
>>>>>>> x86_64-unknown-linux-gnu. ?Ok for apply?
>>>>>>
>>>>>> Hm? ?struct allocno_hard_regs uses a long long int cost member,
>>>>>> so why is %lld wrong? ?If it doesn't work then you should change
>>>>>> the cost member to use HOST_WIDEST_INT as well I guess
>>>>>> (and verify all (indirect) uses).
>>>>>>
>>>>>> Richard.
>>>>>
>>>>> Issue is that the printf-formatter %ll doesn't necessarily is present
>>>>> for windows native targets. ?For these targets the formatter is %I64
>>>>> here instead.
>>>>
>>>> We seem to have HOST_LONG_LONG_FORMAT, why not use that?
>>>
>>> Well, HOST_LONG_LONG_FORMAT just specifies here the "ll"/"I64". ?Sure,
>>> we can use it here, too. ?But as HOST_WIDEST_INT_PRINT_DEC is defined
>>> as '"%" HOST_LONG_LONG_FORMAT "d", and other places are using it for
>>> this purpose, too, it looks to me more sane to use here the
>>> HOST_WIDEST_INT_PRINT_DEC directly.
>>
>> Not on a 'long long int' type though (the use of 'long long' is
>> questionable anyway, given it's not in C89 nor C++98).
>>
>> Richard.
>
> Yes, the use of long long might be an extension in specific C/C++
> standards. ?But isn't that exactly a reason to use HOST_WIDEST_INT
> type? ?As it allows at least to mark that type (if required) as
> __extension__?

Your patch doesn't change the type of allocno_hard_regs.cost

> Kai


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