On Fri, Dec 9, 2011 at 11:32 AM, Kai Tietz <ktiet...@googlemail.com> wrote:
> 2011/12/9 Richard Guenther <richard.guent...@gmail.com>:
>> On Fri, Dec 9, 2011 at 11:10 AM, Kai Tietz <ktiet...@googlemail.com> wrote:
>>> 2011/12/9 Richard Guenther <richard.guent...@gmail.com>:
>>>> On Fri, Dec 9, 2011 at 10:58 AM, Kai Tietz <ktiet...@googlemail.com> wrote:
>>>>> 2011/12/9 Richard Guenther <richard.guent...@gmail.com>:
>>>>>> On Fri, Dec 9, 2011 at 9:51 AM, Kai Tietz <ktiet...@googlemail.com> 
>>>>>> wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> this patch fixes for windows native target print-formatter used about
>>>>>>> long-long type.
>>>>>>>
>>>>>>> ChangeLog
>>>>>>>
>>>>>>> 2011-12-09  Kai Tietz  <kti...@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

Reply via email to