cmStandardLexer.h 2.3 KB

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