[Mesa-dev] [PATCH 7/9] egl: Don't attempt to redefine stdint.h types with VS 2013.

Jose Fonseca jfonseca at vmware.com
Fri May 2 09:11:16 PDT 2014



----- Original Message -----
> 
> 
> ----- Original Message -----
> > On Fri, May 2, 2014 at 10:11 AM, <jfonseca at vmware.com> wrote:
> > 
> > > From: José Fonseca <jfonseca at vmware.com>
> > >
> > > Just include stdint.h.
> > > ---
> > >  src/egl/main/eglcompiler.h | 3 ++-
> > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/src/egl/main/eglcompiler.h b/src/egl/main/eglcompiler.h
> > > index 53dab54..5ea83d6 100644
> > > --- a/src/egl/main/eglcompiler.h
> > > +++ b/src/egl/main/eglcompiler.h
> > > @@ -37,7 +37,8 @@
> > >  /**
> > >   * Get standard integer types
> > >   */
> > > -#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
> > > +#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
> > > +    (defined(_MSC_VER) && _MSC_VER >= 1600)
> > >
> > 
> > VS 2010 is where the support for <stdint.h> beings. This can be verified by
> > a quick Google search.
> 
> Yes, but it doesn't provide stdbool.h, and we need both.  See comment in
> "Patch 6/9"
> 
> stdbool.h is particularly tricky due to the "_Bool" builtin type existing in
> MSVC 2013 (it didn't in previous versions).
> 
> Also note that Mesa already builds fine with VS 2010 as is.  So it doesn't
> seem to be worth to go out of my way to use stdint.h in earlier MSVC
> versions.

Oh, never mind. Don't know what I was thinking.

You're right.  For this particular file, it's fine to include stdint.h starting from MSVC 2010.  But, it will actually include the bundled stdint.h from mesa/include/c99 (due to the reason I mentioned above).

Jose


More information about the mesa-dev mailing list