stl-to-nothing.yml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. # libc & stl common headers should be resolved to either
  2. # * system libc (e.g. nothing in our repo)
  3. # * system libc++ (e.g. nothing in our repo)
  4. # * libcxx
  5. # * musl
  6. # or some combination of them depending on the build flags.
  7. # We want musl to resolve itself without these sysincls, but its test must have them
  8. - source_filter: "^(?!contrib/libs/musl).*|^contrib/libs/musl/tests"
  9. includes:
  10. - complex.h
  11. - ctype.h
  12. - errno.h
  13. - float.h
  14. - inttypes.h
  15. - limits.h
  16. - locale.h
  17. - math.h
  18. - setjmp.h
  19. - stdbool.h
  20. - stddef.h
  21. - stdint.h
  22. - stdio.h
  23. - stdlib.h
  24. - string.h
  25. - tgmath.h
  26. - wchar.h
  27. - wctype.h
  28. - includes:
  29. - __config
  30. - __undef_macros
  31. - algorithm
  32. - any
  33. - array
  34. - atomic
  35. - bit
  36. - bitset
  37. - cassert
  38. - ccomplex
  39. - cctype
  40. - cerrno
  41. - cfenv
  42. - cfloat
  43. - charconv
  44. - chrono
  45. - cinttypes
  46. - ciso646
  47. - climits
  48. - clocale
  49. - cmath
  50. - codecvt
  51. - compare
  52. - complex
  53. - concepts
  54. - condition_variable
  55. - coroutine
  56. - csetjmp
  57. - csignal
  58. - cstdarg
  59. - cstdbool
  60. - cstddef
  61. - cstdint
  62. - cstdio
  63. - cstdlib
  64. - cstring
  65. - ctgmath
  66. - ctime
  67. - cwchar
  68. - cwctype
  69. - cxxabi.h
  70. - deque
  71. - exception
  72. - filesystem
  73. - forward_list
  74. - fstream
  75. - functional
  76. - future
  77. - initializer_list
  78. - iomanip
  79. - ios
  80. - iosfwd
  81. - iostream
  82. - istream
  83. - iterator
  84. - limits
  85. - list
  86. - locale
  87. - map
  88. - memory
  89. - mutex
  90. - new
  91. - numbers
  92. - numeric
  93. - optional
  94. - ostream
  95. - queue
  96. - random
  97. - ranges
  98. - ratio
  99. - regex
  100. - scoped_allocator
  101. - set
  102. - shared_mutex
  103. - span
  104. - sstream
  105. - stack
  106. - stdexcept
  107. - streambuf
  108. - string
  109. - string_view
  110. - strstream
  111. - system_error
  112. - thread
  113. - tuple
  114. - typeindex
  115. - typeinfo
  116. - type_traits
  117. - unordered_map
  118. - unordered_set
  119. - use_ansi.h
  120. - utility
  121. - valarray
  122. - variant
  123. - vector
  124. - version
  125. - unwind.h:
  126. - contrib/libs/libunwind/include/unwind.h
  127. # Though these are headers provided by libcxx, we do not want to allow them to be included.
  128. # We are using non-existent filename to generate error instead, as there is no specific syntax for this case.
  129. - includes:
  130. - ext/hash_map: DO_NOT_INCLUDE_NON_STANDARD_EXT_HASH_MAP
  131. - ext/hash_set: DO_NOT_INCLUDE_NON_STANDARD_EXT_HASH_SET
  132. - experimental/any: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_ANY
  133. - experimental/chrono: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_CHRONO
  134. - experimental/filesystem: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_FILESYSTEM
  135. - experimental/numeric: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_NUMERIC
  136. - experimental/optional: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_OPTIONAL
  137. - experimental/ratio: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_RATIO
  138. - experimental/source_location: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_SOURCE_LOCATION
  139. - experimental/string_view: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_STRING_VIEW
  140. - experimental/system_error: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_SYSTEM_ERROR
  141. - experimental/tuple: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_TUPLE
  142. # TODO: Forbid including <experimental/coroutine> upon migration to clang14
  143. - experimental/coroutine