Re: [PATCH 1/2] Add C99-style constructor macros for specific-sized integers

Russell King
2008-03-03T11:46:49Z

On Mon, Mar 03, 2008 at 10:57:32AM +0000, David Howells wrote:
> H. Peter Anvin <hpa@zytor.com> wrote:
>
> > +#define S8_C(x) x
> > +#define U8_C(x) x ## U
> > +#define S16_C(x) x
> > +#define U16_C(x) x ## U
> > +#define S32_C(x) x
> > +#define U32_C(x) x ## U
> > +#define S64_C(x) x ## LL
> > +#define U64_C(x) x ## ULL
>
> And #if defined(__ASSEMBLY__), just splat x through as is.

We already have something like this on ARM - include/asm-arm/memory.h

/*
* Allow for constants defined here to be used from assembly code
* by prepending the UL suffix only with actual C code compilation.
*/
#ifndef __ASSEMBLY__
#define UL(x) (x##UL)
#else
#define UL(x) (x)
#endif

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/