cmStandardLexer.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #ifndef cmStandardLexer_h
  4. #define cmStandardLexer_h
  5. #if defined(__linux)
  6. /* Needed for glibc < 2.12 */
  7. # define _XOPEN_SOURCE 600
  8. #endif
  9. #if !defined(_WIN32) && !defined(__sun)
  10. /* POSIX APIs are needed */
  11. # define _POSIX_C_SOURCE 200809L
  12. #endif
  13. #if defined(__sun) && defined(__GNUC__) && !defined(__cplusplus)
  14. /* C sources: for fileno and strdup */
  15. # define _XOPEN_SOURCE 600
  16. #endif
  17. #if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__)
  18. /* For isascii */
  19. # define _XOPEN_SOURCE 700
  20. #endif
  21. #include "cmsys/Configure.h" // IWYU pragma: keep
  22. /* Disable some warnings. */
  23. #if defined(_MSC_VER)
  24. # pragma warning(disable : 4018)
  25. # pragma warning(disable : 4127)
  26. # pragma warning(disable : 4131)
  27. # pragma warning(disable : 4244)
  28. # pragma warning(disable : 4251)
  29. # pragma warning(disable : 4267)
  30. # pragma warning(disable : 4305)
  31. # pragma warning(disable : 4309)
  32. # pragma warning(disable : 4706)
  33. # pragma warning(disable : 4786)
  34. #endif
  35. #if defined(__GNUC__) && !defined(__INTEL_COMPILER)
  36. # if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 402
  37. # pragma GCC diagnostic ignored "-Wconversion"
  38. # pragma GCC diagnostic ignored "-Wsign-compare"
  39. # endif
  40. # if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 403
  41. # pragma GCC diagnostic ignored "-Wsign-conversion"
  42. # endif
  43. #endif
  44. /* Make sure isatty is available. */
  45. #if defined(_WIN32) && !defined(__CYGWIN__)
  46. # include <io.h>
  47. # if defined(_MSC_VER)
  48. # define isatty _isatty
  49. # endif
  50. #else
  51. # include <unistd.h> // IWYU pragma: export
  52. #endif
  53. /* Make sure malloc and free are available on QNX. */
  54. #ifdef __QNX__
  55. # include <malloc.h>
  56. #endif
  57. /* Disable features we do not need. */
  58. #define YY_NEVER_INTERACTIVE 1
  59. #define YY_NO_INPUT 1
  60. #define YY_NO_UNPUT 1
  61. #define ECHO
  62. #include <cm3p/kwiml/int.h>
  63. typedef KWIML_INT_int8_t flex_int8_t;
  64. typedef KWIML_INT_uint8_t flex_uint8_t;
  65. typedef KWIML_INT_int16_t flex_int16_t;
  66. typedef KWIML_INT_uint16_t flex_uint16_t;
  67. typedef KWIML_INT_int32_t flex_int32_t;
  68. typedef KWIML_INT_uint32_t flex_uint32_t;
  69. #endif