aboutsummaryrefslogtreecommitdiffstats
path: root/build/sysincl/stl-to-nothing.yml
diff options
context:
space:
mode:
authoralexv-smirnov <alex@ydb.tech>2023-06-13 11:05:01 +0300
committeralexv-smirnov <alex@ydb.tech>2023-06-13 11:05:01 +0300
commitbf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0 (patch)
tree1d1df72c0541a59a81439842f46d95396d3e7189 /build/sysincl/stl-to-nothing.yml
parent8bfdfa9a9bd19bddbc58d888e180fbd1218681be (diff)
downloadydb-bf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0.tar.gz
add ymake export to ydb
Diffstat (limited to 'build/sysincl/stl-to-nothing.yml')
-rw-r--r--build/sysincl/stl-to-nothing.yml148
1 files changed, 148 insertions, 0 deletions
diff --git a/build/sysincl/stl-to-nothing.yml b/build/sysincl/stl-to-nothing.yml
new file mode 100644
index 0000000000..2d03265c86
--- /dev/null
+++ b/build/sysincl/stl-to-nothing.yml
@@ -0,0 +1,148 @@
+# libc & stl common headers should be resolved to either
+# * system libc (e.g. nothing in our repo)
+# * system libc++ (e.g. nothing in our repo)
+# * libcxx
+# * musl
+# or some combination of them depending on the build flags.
+
+# We want musl to resolve itself without these sysincls, but its test must have them
+- source_filter: "^(?!contrib/libs/musl).*|^contrib/libs/musl/tests"
+ includes:
+ - complex.h
+ - ctype.h
+ - errno.h
+ - float.h
+ - inttypes.h
+ - limits.h
+ - locale.h
+ - math.h
+ - setjmp.h
+ - stdbool.h
+ - stddef.h
+ - stdint.h
+ - stdio.h
+ - stdlib.h
+ - string.h
+ - tgmath.h
+ - wchar.h
+ - wctype.h
+
+- includes:
+ - __config
+ - __undef_macros
+ - algorithm
+ - any
+ - array
+ - atomic
+ - bit
+ - bitset
+ - cassert
+ - ccomplex
+ - cctype
+ - cerrno
+ - cfenv
+ - cfloat
+ - charconv
+ - chrono
+ - cinttypes
+ - ciso646
+ - climits
+ - clocale
+ - cmath
+ - codecvt
+ - compare
+ - complex
+ - concepts
+ - condition_variable
+ - coroutine
+ - csetjmp
+ - csignal
+ - cstdarg
+ - cstdbool
+ - cstddef
+ - cstdint
+ - cstdio
+ - cstdlib
+ - cstring
+ - ctgmath
+ - ctime
+ - cwchar
+ - cwctype
+ - cxxabi.h
+ - deque
+ - exception
+ - filesystem
+ - forward_list
+ - fstream
+ - functional
+ - future
+ - initializer_list
+ - iomanip
+ - ios
+ - iosfwd
+ - iostream
+ - istream
+ - iterator
+ - limits
+ - list
+ - locale
+ - map
+ - memory
+ - mutex
+ - new
+ - numbers
+ - numeric
+ - optional
+ - ostream
+ - queue
+ - random
+ - ranges
+ - ratio
+ - regex
+ - scoped_allocator
+ - set
+ - shared_mutex
+ - span
+ - sstream
+ - stack
+ - stdexcept
+ - streambuf
+ - string
+ - string_view
+ - strstream
+ - system_error
+ - thread
+ - tuple
+ - typeindex
+ - typeinfo
+ - type_traits
+ - unordered_map
+ - unordered_set
+ - use_ansi.h
+ - utility
+ - valarray
+ - variant
+ - vector
+ - version
+ - unwind.h:
+ - contrib/libs/libunwind/include/unwind.h
+
+
+# Though these are headers provided by libcxx, we do not want to allow them to be included.
+# We are using non-existent filename to generate error instead, as there is no specific syntax for this case.
+- includes:
+ - ext/hash_map: DO_NOT_INCLUDE_NON_STANDARD_EXT_HASH_MAP
+ - ext/hash_set: DO_NOT_INCLUDE_NON_STANDARD_EXT_HASH_SET
+ - experimental/any: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_ANY
+ - experimental/chrono: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_CHRONO
+ - experimental/filesystem: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_FILESYSTEM
+ - experimental/numeric: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_NUMERIC
+ - experimental/optional: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_OPTIONAL
+ - experimental/ratio: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_RATIO
+ - experimental/source_location: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_SOURCE_LOCATION
+ - experimental/string_view: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_STRING_VIEW
+ - experimental/system_error: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_SYSTEM_ERROR
+ - experimental/tuple: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_TUPLE
+
+ # TODO: Forbid including <experimental/coroutine> upon migration to clang14
+ - experimental/coroutine