aboutsummaryrefslogtreecommitdiffstats
path: root/build/sysincl/stl-to-libcxx.yml
blob: d08ea44629d43fb467e566600b48f61be53dc5a5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
# 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/libunistring|contrib/libs/musl|contrib/tools/yasm)).*|^contrib/libs/musl/tests"
  includes:
  - complex.h:  contrib/libs/cxxsupp/libcxx/include/complex.h
  - ctype.h:    contrib/libs/cxxsupp/libcxx/include/ctype.h
  - errno.h:    contrib/libs/cxxsupp/libcxx/include/errno.h
  - fenv.h:     contrib/libs/cxxsupp/libcxx/include/fenv.h
  - float.h:    contrib/libs/cxxsupp/libcxx/include/float.h
  - inttypes.h: contrib/libs/cxxsupp/libcxx/include/inttypes.h
  - limits.h:   contrib/libs/cxxsupp/libcxx/include/limits.h
  - locale.h:   contrib/libs/cxxsupp/libcxx/include/locale.h
  - math.h:     contrib/libs/cxxsupp/libcxx/include/math.h
  - setjmp.h:   contrib/libs/cxxsupp/libcxx/include/setjmp.h
  - stdbool.h:  contrib/libs/cxxsupp/libcxx/include/stdbool.h
  - stddef.h:   contrib/libs/cxxsupp/libcxx/include/stddef.h
  - stdint.h:   contrib/libs/cxxsupp/libcxx/include/stdint.h
  - stdio.h:    contrib/libs/cxxsupp/libcxx/include/stdio.h
  - stdlib.h:   contrib/libs/cxxsupp/libcxx/include/stdlib.h
  - string.h:   contrib/libs/cxxsupp/libcxx/include/string.h
  - tgmath.h:   contrib/libs/cxxsupp/libcxx/include/tgmath.h
  - wchar.h:    contrib/libs/cxxsupp/libcxx/include/wchar.h
  - wctype.h:   contrib/libs/cxxsupp/libcxx/include/wctype.h

- includes:
  - cxxabi.h:
    - contrib/libs/cxxsupp/libcxxrt/include/cxxabi.h
  - omp.h:
    - contrib/libs/cxxsupp/openmp/omp.h
  - unwind.h:
    - contrib/libs/cxxsupp/libcxx/include/unwind.h
    - contrib/libs/cxxsupp/libcxxrt/unwind.h
    - contrib/libs/libunwind/include/unwind.h

- source_filter: "^contrib/libs/cxxsupp/libcxxabi/"
  includes:
    - cxxabi.h: contrib/libs/cxxsupp/libcxxabi/include/cxxabi.h

- includes:
  - __config:                  contrib/libs/cxxsupp/libcxx/include/__config
  - __undef_macros:            contrib/libs/cxxsupp/libcxx/include/__undef_macros
  - algorithm:                 contrib/libs/cxxsupp/libcxx/include/algorithm
  - any:                       contrib/libs/cxxsupp/libcxx/include/any
  - array:                     contrib/libs/cxxsupp/libcxx/include/array
  - atomic:                    contrib/libs/cxxsupp/libcxx/include/atomic
  - bit:                       contrib/libs/cxxsupp/libcxx/include/bit
  - bitset:                    contrib/libs/cxxsupp/libcxx/include/bitset
  - cassert:                   contrib/libs/cxxsupp/libcxx/include/cassert
  - ccomplex:                  contrib/libs/cxxsupp/libcxx/include/ccomplex
  - cctype:                    contrib/libs/cxxsupp/libcxx/include/cctype
  - cerrno:                    contrib/libs/cxxsupp/libcxx/include/cerrno
  - cfenv:                     contrib/libs/cxxsupp/libcxx/include/cfenv
  - cfloat:                    contrib/libs/cxxsupp/libcxx/include/cfloat
  - charconv:                  contrib/libs/cxxsupp/libcxx/include/charconv
  - chrono:                    contrib/libs/cxxsupp/libcxx/include/chrono
  - cinttypes:                 contrib/libs/cxxsupp/libcxx/include/cinttypes
  - ciso646:                   contrib/libs/cxxsupp/libcxx/include/ciso646
  - climits:                   contrib/libs/cxxsupp/libcxx/include/climits
  - clocale:                   contrib/libs/cxxsupp/libcxx/include/clocale
  - cmath:                     contrib/libs/cxxsupp/libcxx/include/cmath
  - codecvt:                   contrib/libs/cxxsupp/libcxx/include/codecvt
  - compare:                   contrib/libs/cxxsupp/libcxx/include/compare
  - complex:                   contrib/libs/cxxsupp/libcxx/include/complex
  - concepts:                  contrib/libs/cxxsupp/libcxx/include/concepts
  - condition_variable:        contrib/libs/cxxsupp/libcxx/include/condition_variable
  - coroutine:                 contrib/libs/cxxsupp/libcxx/include/coroutine
  - csetjmp:                   contrib/libs/cxxsupp/libcxx/include/csetjmp
  - csignal:                   contrib/libs/cxxsupp/libcxx/include/csignal
  - cstdarg:                   contrib/libs/cxxsupp/libcxx/include/cstdarg
  - cstdbool:                  contrib/libs/cxxsupp/libcxx/include/cstdbool
  - cstddef:                   contrib/libs/cxxsupp/libcxx/include/cstddef
  - cstdint:                   contrib/libs/cxxsupp/libcxx/include/cstdint
  - cstdio:                    contrib/libs/cxxsupp/libcxx/include/cstdio
  - cstdlib:                   contrib/libs/cxxsupp/libcxx/include/cstdlib
  - cstring:                   contrib/libs/cxxsupp/libcxx/include/cstring
  - ctgmath:                   contrib/libs/cxxsupp/libcxx/include/ctgmath
  - ctime:                     contrib/libs/cxxsupp/libcxx/include/ctime
  - cwchar:                    contrib/libs/cxxsupp/libcxx/include/cwchar
  - cwctype:                   contrib/libs/cxxsupp/libcxx/include/cwctype
  - deque:                     contrib/libs/cxxsupp/libcxx/include/deque
  - exception:                 contrib/libs/cxxsupp/libcxx/include/exception
  - filesystem:                contrib/libs/cxxsupp/libcxx/include/filesystem
  - forward_list:              contrib/libs/cxxsupp/libcxx/include/forward_list
  - fstream:                   contrib/libs/cxxsupp/libcxx/include/fstream
  - functional:                contrib/libs/cxxsupp/libcxx/include/functional
  - future:                    contrib/libs/cxxsupp/libcxx/include/future
  - initializer_list:          contrib/libs/cxxsupp/libcxx/include/initializer_list
  - iomanip:                   contrib/libs/cxxsupp/libcxx/include/iomanip
  - ios:                       contrib/libs/cxxsupp/libcxx/include/ios
  - iosfwd:                    contrib/libs/cxxsupp/libcxx/include/iosfwd
  - iostream:                  contrib/libs/cxxsupp/libcxx/include/iostream
  - istream:                   contrib/libs/cxxsupp/libcxx/include/istream
  - iterator:                  contrib/libs/cxxsupp/libcxx/include/iterator
  - limits:                    contrib/libs/cxxsupp/libcxx/include/limits
  - list:                      contrib/libs/cxxsupp/libcxx/include/list
  - locale:                    contrib/libs/cxxsupp/libcxx/include/locale
  - map:                       contrib/libs/cxxsupp/libcxx/include/map
  - memory:                    contrib/libs/cxxsupp/libcxx/include/memory
  - mutex:                     contrib/libs/cxxsupp/libcxx/include/mutex
  - new:                       contrib/libs/cxxsupp/libcxx/include/new
  - numeric:                   contrib/libs/cxxsupp/libcxx/include/numeric
  - optional:                  contrib/libs/cxxsupp/libcxx/include/optional
  - ostream:                   contrib/libs/cxxsupp/libcxx/include/ostream
  - queue:                     contrib/libs/cxxsupp/libcxx/include/queue
  - random:                    contrib/libs/cxxsupp/libcxx/include/random
  - ratio:                     contrib/libs/cxxsupp/libcxx/include/ratio
  - regex:                     contrib/libs/cxxsupp/libcxx/include/regex
  - scoped_allocator:          contrib/libs/cxxsupp/libcxx/include/scoped_allocator
  - set:                       contrib/libs/cxxsupp/libcxx/include/set
  - shared_mutex:              contrib/libs/cxxsupp/libcxx/include/shared_mutex
  - span:                      contrib/libs/cxxsupp/libcxx/include/span
  - sstream:                   contrib/libs/cxxsupp/libcxx/include/sstream
  - stack:                     contrib/libs/cxxsupp/libcxx/include/stack
  - stdexcept:                 contrib/libs/cxxsupp/libcxx/include/stdexcept
  - streambuf:                 contrib/libs/cxxsupp/libcxx/include/streambuf
  - string:                    contrib/libs/cxxsupp/libcxx/include/string
  - string_view:               contrib/libs/cxxsupp/libcxx/include/string_view
  - strstream:                 contrib/libs/cxxsupp/libcxx/include/strstream
  - system_error:              contrib/libs/cxxsupp/libcxx/include/system_error
  - thread:                    contrib/libs/cxxsupp/libcxx/include/thread
  - tuple:                     contrib/libs/cxxsupp/libcxx/include/tuple
  - typeindex:                 contrib/libs/cxxsupp/libcxx/include/typeindex
  - typeinfo:                  contrib/libs/cxxsupp/libcxx/include/typeinfo
  - type_traits:               contrib/libs/cxxsupp/libcxx/include/type_traits
  - unordered_map:             contrib/libs/cxxsupp/libcxx/include/unordered_map
  - unordered_set:             contrib/libs/cxxsupp/libcxx/include/unordered_set
  - use_ansi.h:                contrib/libs/cxxsupp/libcxx/include/use_ansi.h
  - utility:                   contrib/libs/cxxsupp/libcxx/include/utility
  - valarray:                  contrib/libs/cxxsupp/libcxx/include/valarray
  - variant:                   contrib/libs/cxxsupp/libcxx/include/variant
  - vector:                    contrib/libs/cxxsupp/libcxx/include/vector


# 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/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:    contrib/libs/cxxsupp/libcxx/include/experimental/coroutine

- source_filter: "^contrib/restricted/boost"
  includes:
    - ../include/fenv.h: contrib/libs/cxxsupp/libcxx/include/fenv.h