On 02/18/2016 11:05 AM, Peter Maydell wrote: > For C++ before C++11, <stdint.h> requires definition of the macros > __STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS and __STDC_FORMAT_MACROS > in order to enable definition of various macros by the header file. > Define these in osdep.h, so that we get the right header file > definitions whether osdep.h is being used by plain C, C++11 or > older C++. > > In particular libvixl's header files depend on this and won't > compile if osdep.h is included before them otherwise. > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > include/qemu/osdep.h | 14 ++++++++++++++ > 1 file changed, 14 insertions(+)
Reviewed-by: Eric Blake <ebl...@redhat.com> > +/* Older versions of C++ don't get definitions of various macros from > + * stdlib.h unless we define these macros before first inclusion of > + * that system header. > + */ > +#ifndef __STDC_CONSTANT_MACROS > +#define __STDC_CONSTANT_MACROS > +#endif Style nit: In libvirt, we've grown used to writing: #ifndef ... # define ... #endif that is, use spacing to make it more visually obvious what level of conditional nesting is in effect during preprocessor lines. But short of a tree-wide change to enforce that style (which I'm not advocating), it's more of a food for thought comment, and has no bearing on taking this series as is. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature