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__? Kai