[Ocfs2-devel] Request to remove -Wfno-format
Manish Singh
manish.singh at oracle.com
Fri Feb 13 19:05:00 CST 2004
On Fri, Feb 13, 2004 at 05:37:48PM -0800, Rusty Lynch wrote:
> On Fri, Feb 13, 2004 at 05:04:24PM -0800, Manish Singh wrote:
> > On Fri, Feb 13, 2004 at 04:06:54PM -0800, Rusty Lynch wrote:
> > > On Fri, Feb 13, 2004 at 02:15:37PM -0800, Manish Singh wrote:
> > > <snip>
> > > > Well, I really meant "%Zu". 'z' is a modifier that was introduced in C99,
> > > > but it's only in very recent 2.4.x printk implementations, i.e. none of
> > > > current AS 2.1, EL3, or UL have it, which means we can't use it. 'Z' is
> > > > GNU extension (that's deprecated now in favor of the C99 modifier) that
> > > > *is* in all the printks we need to support, so we should use that.
> > > > __attribute__ format should know about both anyway.
> > >
> > > Any ideas on cleanly printing sector_t? In 2.4 it was always a u32, now it
> > > is architecture dependent (u32 by default but set to u64 by most architectures
> > > including ia32 and ia64.)
> >
> > I'd suggest always casting to u64 and using %Lu.
>
> How would you feel about always casting to (unsigned long long)? u64 is unsigned long
> on some arch's and unsigned long long on others. Specifically, we get warnings
> on ia64 and ppc64 since they both define u64 as unsigned long.
Ugh. That's going to be a general problem with all u64 values. Talking with
Kurt and Mark here, they prefer a U64C define which expands to an unsigned
long long cast. You're going to need that for the HI/LO removal too.
-Manish
More information about the Ocfs2-devel
mailing list