[PATCH V2] dtc: Basic integer expressions

David Gibson david at gibson.dropbear.id.au
Wed Apr 4 09:12:21 EST 2012


On Mon, Apr 02, 2012 at 10:16:27AM -0600, Stephen Warren wrote:
> On 03/31/2012 08:24 AM, Jon Loeliger wrote:
> >> Written by David Gibson <david at gibson.dropbear.id.au>. Additions by me:
> >> * Ported to ToT dtc.
> >> * Renamed cell to integer throughout.
> >> * Implemented value range checks.
> >> * Allow L/UL/LL/ULL suffix on literals.
> >> * Enabled the commented test.
> >>
> >> Signed-off-by: Stephen Warren <swarren at wwwdotorg.org>
> >> ---
> >> v2:
> >> * s/cell/integer/ throughout.
> >> * Allow signed-extended values to pass the overall cell range check.
> >> * Allow L/UL/LL/ULL suffix on literals. This is purely for compatibility
> >>   with C, and has no effect on dtc's processing.
> >> * Enabled the 3 disabled tests.
> >>
> >> I'm not sure if the literal suffix handling is hacky or not...
> > 
> > I get this too:
> > 
> >  CC tests/integer-expressions.o
> > cc1: warnings being treated as errors
> > tests/integer-expressions.c: In function 'main'
> > tests/integer-expressions.c:105: error: format  tests/integer-expressions.o
> > cc1: warnings being treated as errors
> > tests/integer-expressions.c:105: error: format '%ld' expects type 'long int', but argument 3 has type 'unsigned int'
> > make: *** [tests/integer-expressions.o] Error 1
> > 
> > $ gcc --version
> > gcc (Debian 4.4.5-8) 4.4.5
> 
> I assume this is a 32-bit system? I guess I can use <inttypes.h> to
> solve this if needed.

The expression in question is based on sizeof() so has type size_t.
So %zd should do the trick.


-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson


More information about the devicetree-discuss mailing list