stl-to-libcxx.yml 10 KB

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