With the new sched_sedf.c, I get a whole host of these: sched_sedf.c: In function `extraq_add_sort_update'': sched_sedf.c:183: warning: long long int format, s_time_t arg (arg 5) sched_sedf.c: In function `__del_from_queue'': sched_sedf.c:269: warning: long long unsigned int format, s_time_t arg (arg 4) [...] And since we have -Wall -Werror, the build fails. Not sure what the right fix is here. I think Linux defined its own %z for size_t printf arguments... Of course, there is always casting. -- Hollis Blanchard IBM Linux Technology Center _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Stephan Diestelhorst
2005-May-10 22:14 UTC
Re: [Xen-devel] sched_sedf printf formatting warnings
Odd, are you compiling on x86-64 hardware? If so then s_time_t will be just a normal long. So how to print a 64-bit integer? Because always casting to (long long) would be quite tedious. And different printfs for each architecture are not nice too. The printfs in schedule.c simply workaround that by decomposing the value into two 32-bit values ant prinitng it out hex. But I find time in decimal notation much more convenient... Any ideas? Stephan> With the new sched_sedf.c, I get a whole host of these: > > sched_sedf.c: In function `extraq_add_sort_update'': > sched_sedf.c:183: warning: long long int format, s_time_t arg (arg 5) > sched_sedf.c: In function `__del_from_queue'': > sched_sedf.c:269: warning: long long unsigned int format, s_time_t arg > (arg 4) > [...] > > And since we have -Wall -Werror, the build fails. > > Not sure what the right fix is here. I think Linux defined its own %z > for size_t printf arguments... Of course, there is always casting. >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 10 May 2005, at 23:14, Stephan Diestelhorst wrote:> Odd, are you compiling on x86-64 hardware? If so then s_time_t will be > just a normal long. > So how to print a 64-bit integer? Because always casting to (long long) > would be quite tedious. And different printfs for each architecture are > not nice too. > > The printfs in schedule.c simply workaround that by decomposing the > value into two 32-bit values ant prinitng it out hex. But I find time > in > decimal notation much more convenient... > > Any ideas?It''s fixed already. You use PRIu64 from inttypes.h. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel