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