cmStandardLexer.h 2.3 KB

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