stl-to-libcxx.yml 10 KB

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