* and not the latter.
*/
#include <inttypes.h>
+# define YYFLEX_USE_STDINT
+#else
+# if defined(_MSC_VER) && _MSC_VER >= 1600
+/* Visual C++ 2010 does not define __STDC_VERSION__ and has <stdint.h> but not
+ * <inttypes.h>.
+ */
+#include <stdint.h>
+# define YYFLEX_USE_STDINT
+# endif
+#endif
+#ifdef YYFLEX_USE_STDINT
typedef int8_t flex_int8_t;
typedef uint8_t flex_uint8_t;
typedef int16_t flex_int16_t;
typedef int32_t flex_int32_t;
typedef uint32_t flex_uint32_t;
#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
typedef unsigned char flex_uint8_t;
+typedef short int flex_int16_t;
typedef unsigned short int flex_uint16_t;
+# ifdef __STDC__
+typedef signed char flex_int8_t;
+/* ISO C only requires at least 16 bits for int. */
+#include <limits.h>
+# if UINT_MAX >= 4294967295
+# define YYFLEX_INT32_DEFINED
+typedef int flex_int32_t;
typedef unsigned int flex_uint32_t;
-#endif /* ! C99 */
+# endif
+# else
+typedef char flex_int8_t;
+# endif
+# ifndef YYFLEX_INT32_DEFINED
+typedef long int flex_int32_t;
+typedef unsigned long int flex_uint32_t;
+# endif
+#endif