01_iwyu.patch raw
1 Prefer angled brackets over quotes for include directives.
2 See: https://en.cppreference.com/w/cpp/preprocessor/include.html.
3
4 --- a/iwyu_path_util.cc
5 +++ b/iwyu_path_util.cc
6 @@ -222,7 +222,7 @@ bool IsQuotedInclude(StringRef s) {
7 }
8
9 string AddQuotes(string include_name, bool angled) {
10 - if (angled) {
11 + if (true) {
12 return "<" + include_name + ">";
13 }
14 return "\"" + include_name + "\"";
15
16
17 Prefer C++ headers over C counterparts.
18 See: https://github.com/include-what-you-use/include-what-you-use/blob/clang_22/iwyu_include_picker.cc#L645-L687.
19
20 --- a/iwyu_include_picker.cc
21 +++ b/iwyu_include_picker.cc
22 @@ -104,20 +104,20 @@ const IncludeMapEntry libc_symbol_map[] = {
23 // equal. The visibility on the symbol-name is ignored; by convention
24 // we always set it to kPrivate.
25 { "_POSIX_VDISABLE", kPrivate, "<unistd.h>", kPublic },
26 - { "abort", kPrivate, "<stdlib.h>", kPublic },
27 + { "abort", kPrivate, "<stdlib.h>", kPrivate },
28 { "aiocb", kPrivate, "<aio.h>", kPublic },
29 { "blkcnt_t", kPrivate, "<sys/types.h>", kPublic },
30 { "blksize_t", kPrivate, "<sys/types.h>", kPublic },
31 { "cc_t", kPrivate, "<termios.h>", kPublic },
32 - { "clock_t", kPrivate, "<time.h>", kPublic },
33 + { "clock_t", kPrivate, "<time.h>", kPrivate },
34 { "clock_t", kPrivate, "<sys/types.h>", kPublic },
35 { "clockid_t", kPrivate, "<sys/types.h>", kPublic },
36 - { "ctermid", kPrivate, "<stdio.h>", kPublic },
37 + { "ctermid", kPrivate, "<stdio.h>", kPrivate },
38 { "daddr_t", kPrivate, "<sys/types.h>", kPublic },
39 { "dev_t", kPrivate, "<sys/types.h>", kPublic },
40 - { "div_t", kPrivate, "<stdlib.h>", kPublic },
41 - { "double_t", kPrivate, "<math.h>", kPublic },
42 - { "error_t", kPrivate, "<errno.h>", kPublic },
43 + { "div_t", kPrivate, "<stdlib.h>", kPrivate },
44 + { "double_t", kPrivate, "<math.h>", kPrivate },
45 + { "error_t", kPrivate, "<errno.h>", kPrivate },
46 { "error_t", kPrivate, "<argp.h>", kPublic },
47 { "error_t", kPrivate, "<argz.h>", kPublic },
48 { "FD_CLR", kPrivate, "<sys/select.h>", kPublic },
49 @@ -126,10 +126,10 @@ const IncludeMapEntry libc_symbol_map[] = {
50 { "fd_set", kPrivate, "<sys/select.h>", kPublic },
51 { "FD_SETSIZE", kPrivate, "<sys/select.h>", kPublic },
52 { "FD_ZERO", kPrivate, "<sys/select.h>", kPublic },
53 - { "fenv_t", kPrivate, "<fenv.h>", kPublic },
54 - { "fexcept_t", kPrivate, "<fenv.h>", kPublic },
55 - { "FILE", kPrivate, "<stdio.h>", kPublic },
56 - { "float_t", kPrivate, "<math.h>", kPublic },
57 + { "fenv_t", kPrivate, "<fenv.h>", kPrivate },
58 + { "fexcept_t", kPrivate, "<fenv.h>", kPrivate },
59 + { "FILE", kPrivate, "<stdio.h>", kPrivate },
60 + { "float_t", kPrivate, "<math.h>", kPrivate },
61 { "fsblkcnt_t", kPrivate, "<sys/types.h>", kPublic },
62 { "fsfilcnt_t", kPrivate, "<sys/types.h>", kPublic },
63 { "getopt", kPrivate, "<unistd.h>", kPublic },
64 @@ -139,47 +139,47 @@ const IncludeMapEntry libc_symbol_map[] = {
65 { "in_addr_t", kPrivate, "<netinet/in.h>", kPublic },
66 { "in_port_t", kPrivate, "<netinet/in.h>", kPublic },
67 { "id_t", kPrivate, "<sys/types.h>", kPublic },
68 - { "imaxdiv_t", kPrivate, "<inttypes.h>", kPublic },
69 - { "intmax_t", kPrivate, "<stdint.h>", kPublic },
70 - { "uintmax_t", kPrivate, "<stdint.h>", kPublic },
71 + { "imaxdiv_t", kPrivate, "<inttypes.h>", kPrivate },
72 + { "intmax_t", kPrivate, "<stdint.h>", kPrivate },
73 + { "uintmax_t", kPrivate, "<stdint.h>", kPrivate },
74 { "ino64_t", kPrivate, "<sys/types.h>", kPublic },
75 { "ino_t", kPrivate, "<sys/types.h>", kPublic },
76 - { "int8_t", kPrivate, "<stdint.h>", kPublic },
77 - { "int16_t", kPrivate, "<stdint.h>", kPublic },
78 - { "int32_t", kPrivate, "<stdint.h>", kPublic },
79 - { "int64_t", kPrivate, "<stdint.h>", kPublic },
80 - { "int_fast8_t", kPrivate, "<stdint.h>", kPublic },
81 - { "int_fast16_t", kPrivate, "<stdint.h>", kPublic },
82 - { "int_fast32_t", kPrivate, "<stdint.h>", kPublic },
83 - { "int_fast64_t", kPrivate, "<stdint.h>", kPublic },
84 - { "int_least8_t", kPrivate, "<stdint.h>", kPublic },
85 - { "int_least16_t", kPrivate, "<stdint.h>", kPublic },
86 - { "int_least32_t", kPrivate, "<stdint.h>", kPublic },
87 - { "int_least64_t", kPrivate, "<stdint.h>", kPublic },
88 - { "uint8_t", kPrivate, "<stdint.h>", kPublic },
89 - { "uint16_t", kPrivate, "<stdint.h>", kPublic },
90 - { "uint32_t", kPrivate, "<stdint.h>", kPublic },
91 - { "uint64_t", kPrivate, "<stdint.h>", kPublic },
92 - { "uint_fast8_t", kPrivate, "<stdint.h>", kPublic },
93 - { "uint_fast16_t", kPrivate, "<stdint.h>", kPublic },
94 - { "uint_fast32_t", kPrivate, "<stdint.h>", kPublic },
95 - { "uint_fast64_t", kPrivate, "<stdint.h>", kPublic },
96 - { "uint_least8_t", kPrivate, "<stdint.h>", kPublic },
97 - { "uint_least16_t", kPrivate, "<stdint.h>", kPublic },
98 - { "uint_least32_t", kPrivate, "<stdint.h>", kPublic },
99 - { "uint_least64_t", kPrivate, "<stdint.h>", kPublic },
100 - { "intptr_t", kPrivate, "<stdint.h>", kPublic },
101 - { "uintptr_t", kPrivate, "<stdint.h>", kPublic },
102 + { "int8_t", kPrivate, "<stdint.h>", kPrivate },
103 + { "int16_t", kPrivate, "<stdint.h>", kPrivate },
104 + { "int32_t", kPrivate, "<stdint.h>", kPrivate },
105 + { "int64_t", kPrivate, "<stdint.h>", kPrivate },
106 + { "int_fast8_t", kPrivate, "<stdint.h>", kPrivate },
107 + { "int_fast16_t", kPrivate, "<stdint.h>", kPrivate },
108 + { "int_fast32_t", kPrivate, "<stdint.h>", kPrivate },
109 + { "int_fast64_t", kPrivate, "<stdint.h>", kPrivate },
110 + { "int_least8_t", kPrivate, "<stdint.h>", kPrivate },
111 + { "int_least16_t", kPrivate, "<stdint.h>", kPrivate },
112 + { "int_least32_t", kPrivate, "<stdint.h>", kPrivate },
113 + { "int_least64_t", kPrivate, "<stdint.h>", kPrivate },
114 + { "uint8_t", kPrivate, "<stdint.h>", kPrivate },
115 + { "uint16_t", kPrivate, "<stdint.h>", kPrivate },
116 + { "uint32_t", kPrivate, "<stdint.h>", kPrivate },
117 + { "uint64_t", kPrivate, "<stdint.h>", kPrivate },
118 + { "uint_fast8_t", kPrivate, "<stdint.h>", kPrivate },
119 + { "uint_fast16_t", kPrivate, "<stdint.h>", kPrivate },
120 + { "uint_fast32_t", kPrivate, "<stdint.h>", kPrivate },
121 + { "uint_fast64_t", kPrivate, "<stdint.h>", kPrivate },
122 + { "uint_least8_t", kPrivate, "<stdint.h>", kPrivate },
123 + { "uint_least16_t", kPrivate, "<stdint.h>", kPrivate },
124 + { "uint_least32_t", kPrivate, "<stdint.h>", kPrivate },
125 + { "uint_least64_t", kPrivate, "<stdint.h>", kPrivate },
126 + { "intptr_t", kPrivate, "<stdint.h>", kPrivate },
127 + { "uintptr_t", kPrivate, "<stdint.h>", kPrivate },
128 { "iovec", kPrivate, "<sys/uio.h>", kPublic },
129 - { "itimerspec", kPrivate, "<time.h>", kPublic },
130 + { "itimerspec", kPrivate, "<time.h>", kPrivate },
131 { "key_t", kPrivate, "<sys/types.h>", kPublic },
132 - { "L_ctermid", kPrivate, "<stdio.h>", kPublic },
133 - { "lconv", kPrivate, "<locale.h>", kPublic },
134 - { "ldiv_t", kPrivate, "<stdlib.h>", kPublic },
135 - { "lldiv_t", kPrivate, "<stdlib.h>", kPublic },
136 - { "locale_t", kPrivate, "<locale.h>", kPublic },
137 - { "max_align_t", kPrivate, "<stddef.h>", kPublic },
138 - { "mbstate_t", kPrivate, "<wchar.h>", kPublic },
139 + { "L_ctermid", kPrivate, "<stdio.h>", kPrivate },
140 + { "lconv", kPrivate, "<locale.h>", kPrivate },
141 + { "ldiv_t", kPrivate, "<stdlib.h>", kPrivate },
142 + { "lldiv_t", kPrivate, "<stdlib.h>", kPrivate },
143 + { "locale_t", kPrivate, "<locale.h>", kPrivate },
144 + { "max_align_t", kPrivate, "<stddef.h>", kPrivate },
145 + { "mbstate_t", kPrivate, "<wchar.h>", kPrivate },
146 { "mcontext_t", kPrivate, "<ucontext.h>", kPublic },
147 { "mode_t", kPrivate, "<sys/types.h>", kPublic },
148 { "nl_item", kPrivate, "<nl_types.h>", kPublic },
149 @@ -195,8 +195,8 @@ const IncludeMapEntry libc_symbol_map[] = {
150 { "optind", kPrivate, "<unistd.h>", kPublic },
151 { "optopt", kPrivate, "<unistd.h>", kPublic },
152 { "pid_t", kPrivate, "<sys/types.h>", kPublic },
153 - { "posix_memalign", kPrivate, "<stdlib.h>", kPublic },
154 - { "printf", kPrivate, "<stdio.h>", kPublic },
155 + { "posix_memalign", kPrivate, "<stdlib.h>", kPrivate },
156 + { "printf", kPrivate, "<stdio.h>", kPrivate },
157 { "pthread_attr_t", kPrivate, "<pthread.h>", kPublic },
158 { "pthread_cond_t", kPrivate, "<pthread.h>", kPublic },
159 { "pthread_condattr_t", kPrivate, "<pthread.h>", kPublic },
160 @@ -207,7 +207,7 @@ const IncludeMapEntry libc_symbol_map[] = {
161 { "pthread_rwlock_t", kPrivate, "<pthread.h>", kPublic },
162 { "pthread_rwlockattr_t", kPrivate, "<pthread.h>", kPublic },
163 { "pthread_t", kPrivate, "<pthread.h>", kPublic },
164 - { "ptrdiff_t", kPrivate, "<stddef.h>", kPublic },
165 + { "ptrdiff_t", kPrivate, "<stddef.h>", kPrivate },
166 { "regex_t", kPrivate, "<regex.h>", kPublic },
167 { "regmatch_t", kPrivate, "<regex.h>", kPublic },
168 { "regoff_t", kPrivate, "<regex.h>", kPublic },
169 @@ -238,54 +238,54 @@ const IncludeMapEntry libc_symbol_map[] = {
170 { "SCHED_FIFO", kPrivate, "<sched.h>", kPublic },
171 { "SCHED_OTHER", kPrivate, "<sched.h>", kPublic },
172 { "SCHED_RR", kPrivate, "<sched.h>", kPublic },
173 - { "SEEK_CUR", kPrivate, "<stdio.h>", kPublic },
174 - { "SEEK_END", kPrivate, "<stdio.h>", kPublic },
175 - { "SEEK_SET", kPrivate, "<stdio.h>", kPublic },
176 - { "sig_atomic_t", kPrivate, "<signal.h>", kPublic },
177 - { "sigevent", kPrivate, "<signal.h>", kPublic },
178 - { "siginfo_t", kPrivate, "<signal.h>", kPublic },
179 - { "sigset_t", kPrivate, "<signal.h>", kPublic },
180 - { "sigval", kPrivate, "<signal.h>", kPublic },
181 + { "SEEK_CUR", kPrivate, "<stdio.h>", kPrivate },
182 + { "SEEK_END", kPrivate, "<stdio.h>", kPrivate },
183 + { "SEEK_SET", kPrivate, "<stdio.h>", kPrivate },
184 + { "sig_atomic_t", kPrivate, "<signal.h>", kPrivate },
185 + { "sigevent", kPrivate, "<signal.h>", kPrivate },
186 + { "siginfo_t", kPrivate, "<signal.h>", kPrivate },
187 + { "sigset_t", kPrivate, "<signal.h>", kPrivate },
188 + { "sigval", kPrivate, "<signal.h>", kPrivate },
189 { "sockaddr", kPrivate, "<sys/socket.h>", kPublic },
190 { "socklen_t", kPrivate, "<sys/socket.h>", kPublic },
191 { "ssize_t", kPrivate, "<sys/types.h>", kPublic },
192 - { "stack_t", kPrivate, "<signal.h>", kPublic },
193 + { "stack_t", kPrivate, "<signal.h>", kPrivate },
194 { "stat", kPrivate, "<sys/stat.h>", kPublic },
195 { "suseconds_t", kPrivate, "<sys/types.h>", kPublic },
196 - { "time_t", kPrivate, "<time.h>", kPublic },
197 + { "time_t", kPrivate, "<time.h>", kPrivate },
198 { "time_t", kPrivate, "<sys/types.h>", kPublic },
199 { "timer_t", kPrivate, "<sys/types.h>", kPublic },
200 - { "timespec", kPrivate, "<time.h>", kPublic },
201 + { "timespec", kPrivate, "<time.h>", kPrivate },
202 { "timeval", kPrivate, "<sys/time.h>", kPublic }, // 'canonical' location for timeval
203 { "timeval", kPrivate, "<sys/resource.h>", kPublic },
204 { "timeval", kPrivate, "<sys/select.h>", kPublic },
205 { "timeval", kPrivate, "<utmpx.h>", kPublic },
206 - { "tm", kPrivate, "<time.h>", kPublic },
207 + { "tm", kPrivate, "<time.h>", kPrivate },
208 { "u_char", kPrivate, "<sys/types.h>", kPublic },
209 { "ucontext_t", kPrivate, "<ucontext.h>", kPublic },
210 { "uid_t", kPrivate, "<sys/types.h>", kPublic },
211 { "useconds_t", kPrivate, "<sys/types.h>", kPublic },
212 - { "wchar_t", kPrivate, "<stddef.h>", kPublic },
213 - { "wctrans_t", kPrivate, "<wctype.h>", kPublic },
214 - { "wctype_t", kPrivate, "<wctype.h>", kPublic },
215 + { "wchar_t", kPrivate, "<stddef.h>", kPrivate },
216 + { "wctrans_t", kPrivate, "<wctype.h>", kPrivate },
217 + { "wctype_t", kPrivate, "<wctype.h>", kPrivate },
218 { "winsize", kPrivate, "<termios.h>", kPublic },
219 - { "wint_t", kPrivate, "<wchar.h>", kPublic },
220 + { "wint_t", kPrivate, "<wchar.h>", kPrivate },
221 // It is unspecified if the cname headers provide ::size_t.
222 // <locale.h> is the one header which defines NULL but not size_t.
223 - { "size_t", kPrivate, "<stddef.h>", kPublic }, // 'canonical' location for size_t
224 - { "size_t", kPrivate, "<signal.h>", kPublic },
225 - { "size_t", kPrivate, "<stdio.h>", kPublic },
226 - { "size_t", kPrivate, "<stdlib.h>", kPublic },
227 - { "size_t", kPrivate, "<string.h>", kPublic },
228 - { "size_t", kPrivate, "<time.h>", kPublic },
229 - { "size_t", kPrivate, "<uchar.h>", kPublic },
230 - { "size_t", kPrivate, "<wchar.h>", kPublic },
231 + { "size_t", kPrivate, "<stddef.h>", kPrivate }, // 'canonical' location for size_t
232 + { "size_t", kPrivate, "<signal.h>", kPrivate },
233 + { "size_t", kPrivate, "<stdio.h>", kPrivate },
234 + { "size_t", kPrivate, "<stdlib.h>", kPrivate },
235 + { "size_t", kPrivate, "<string.h>", kPrivate },
236 + { "size_t", kPrivate, "<time.h>", kPrivate },
237 + { "size_t", kPrivate, "<uchar.h>", kPrivate },
238 + { "size_t", kPrivate, "<wchar.h>", kPrivate },
239 // Macros that can be defined in more than one file, don't have the
240 // same __foo_defined guard that other types do, so the grep above
241 // doesn't discover them. Until I figure out a better way, I just
242 // add them in by hand as I discover them.
243 - { "EOF", kPrivate, "<stdio.h>", kPublic },
244 - { "FILE", kPrivate, "<stdio.h>", kPublic },
245 + { "EOF", kPrivate, "<stdio.h>", kPrivate },
246 + { "FILE", kPrivate, "<stdio.h>", kPrivate },
247 { "IBSHIFT", kPrivate, "<asm/termbits.h>", kPublic },
248 { "MAP_POPULATE", kPrivate, "<sys/mman.h>", kPublic },
249 { "MAP_POPULATE", kPrivate, "<linux/mman.h>", kPublic },
250 @@ -293,22 +293,22 @@ const IncludeMapEntry libc_symbol_map[] = {
251 { "MAP_STACK", kPrivate, "<linux/mman.h>", kPublic },
252 { "MAXHOSTNAMELEN", kPrivate, "<sys/param.h>", kPublic },
253 { "MAXHOSTNAMELEN", kPrivate, "<protocols/timed.h>", kPublic },
254 - { "SIGABRT", kPrivate, "<signal.h>", kPublic },
255 - { "SIGCHLD", kPrivate, "<signal.h>", kPublic },
256 - { "va_arg", kPrivate, "<stdarg.h>", kPublic },
257 - { "va_copy", kPrivate, "<stdarg.h>", kPublic },
258 - { "va_end", kPrivate, "<stdarg.h>", kPublic },
259 - { "va_list", kPrivate, "<stdarg.h>", kPublic },
260 - { "va_start", kPrivate, "<stdarg.h>", kPublic },
261 - { "WEOF", kPrivate, "<wchar.h>", kPublic },
262 + { "SIGABRT", kPrivate, "<signal.h>", kPrivate },
263 + { "SIGCHLD", kPrivate, "<signal.h>", kPrivate },
264 + { "va_arg", kPrivate, "<stdarg.h>", kPrivate },
265 + { "va_copy", kPrivate, "<stdarg.h>", kPrivate },
266 + { "va_end", kPrivate, "<stdarg.h>", kPrivate },
267 + { "va_list", kPrivate, "<stdarg.h>", kPrivate },
268 + { "va_start", kPrivate, "<stdarg.h>", kPrivate },
269 + { "WEOF", kPrivate, "<wchar.h>", kPrivate },
270 // These are symbols that could be defined in either stdlib.h or
271 // malloc.h, but we always want the stdlib location.
272 - { "malloc", kPrivate, "<stdlib.h>", kPublic },
273 - { "calloc", kPrivate, "<stdlib.h>", kPublic },
274 - { "realloc", kPrivate, "<stdlib.h>", kPublic },
275 - { "free", kPrivate, "<stdlib.h>", kPublic },
276 + { "malloc", kPrivate, "<stdlib.h>", kPrivate },
277 + { "calloc", kPrivate, "<stdlib.h>", kPrivate },
278 + { "realloc", kPrivate, "<stdlib.h>", kPrivate },
279 + { "free", kPrivate, "<stdlib.h>", kPrivate },
280 // Entries for NULL
281 - { "NULL", kPrivate, "<stddef.h>", kPublic }, // 'canonical' location for NULL
282 + { "NULL", kPrivate, "<stddef.h>", kPrivate }, // 'canonical' location for NULL
283 { "NULL", kPrivate, "<clocale>", kPublic },
284 { "NULL", kPrivate, "<cstddef>", kPublic },
285 { "NULL", kPrivate, "<cstdio>", kPublic },
286 @@ -316,13 +316,13 @@ const IncludeMapEntry libc_symbol_map[] = {
287 { "NULL", kPrivate, "<cstring>", kPublic },
288 { "NULL", kPrivate, "<ctime>", kPublic },
289 { "NULL", kPrivate, "<cwchar>", kPublic },
290 - { "NULL", kPrivate, "<locale.h>", kPublic },
291 - { "NULL", kPrivate, "<stdio.h>", kPublic },
292 - { "NULL", kPrivate, "<stdlib.h>", kPublic },
293 - { "NULL", kPrivate, "<string.h>", kPublic },
294 - { "NULL", kPrivate, "<time.h>", kPublic },
295 - { "NULL", kPrivate, "<wchar.h>", kPublic },
296 - { "offsetof", kPrivate, "<stddef.h>", kPublic },
297 + { "NULL", kPrivate, "<locale.h>", kPrivate },
298 + { "NULL", kPrivate, "<stdio.h>", kPrivate },
299 + { "NULL", kPrivate, "<stdlib.h>", kPrivate },
300 + { "NULL", kPrivate, "<string.h>", kPrivate },
301 + { "NULL", kPrivate, "<time.h>", kPrivate },
302 + { "NULL", kPrivate, "<wchar.h>", kPrivate },
303 + { "offsetof", kPrivate, "<stddef.h>", kPrivate },
304 // Auxiliary vector entry types.
305 { "AT_BASE", kPrivate, "<sys/auxv.h>", kPublic },
306 { "AT_BASE_PLATFORM", kPrivate, "<sys/auxv.h>", kPublic },
307 @@ -409,7 +409,7 @@ const IncludeMapEntry libc_include_map[] = {
308 { "<bits/a.out.h>", kPrivate, "<a.out.h>", kPublic },
309 { "<bits/auxv.h>", kPrivate, "<sys/auxv.h>", kPublic },
310 { "<bits/byteswap.h>", kPrivate, "<byteswap.h>", kPublic },
311 - { "<bits/cmathcalls.h>", kPrivate, "<complex.h>", kPublic },
312 + { "<bits/cmathcalls.h>", kPrivate, "<complex.h>", kPrivate },
313 { "<bits/confname.h>", kPrivate, "<unistd.h>", kPublic },
314 { "<bits/dirent.h>", kPrivate, "<dirent.h>", kPublic },
315 { "<bits/dlfcn.h>", kPrivate, "<dlfcn.h>", kPublic },
316 @@ -417,18 +417,18 @@ const IncludeMapEntry libc_include_map[] = {
317 { "<bits/endian.h>", kPrivate, "<endian.h>", kPublic },
318 { "<bits/environments.h>", kPrivate, "<unistd.h>", kPublic },
319 { "<bits/epoll.h>", kPrivate, "<sys/epoll.h>", kPublic },
320 - { "<bits/errno.h>", kPrivate, "<errno.h>", kPublic },
321 + { "<bits/errno.h>", kPrivate, "<errno.h>", kPrivate },
322 { "<bits/error.h>", kPrivate, "<error.h>", kPublic },
323 { "<bits/eventfd.h>", kPrivate, "<sys/eventfd.h>", kPublic },
324 { "<bits/fcntl.h>", kPrivate, "<fcntl.h>", kPublic },
325 { "<bits/fcntl2.h>", kPrivate, "<fcntl.h>", kPublic },
326 - { "<bits/fenv.h>", kPrivate, "<fenv.h>", kPublic },
327 - { "<bits/fenvinline.h>", kPrivate, "<fenv.h>", kPublic },
328 - { "<bits/huge_val.h>", kPrivate, "<math.h>", kPublic },
329 - { "<bits/huge_valf.h>", kPrivate, "<math.h>", kPublic },
330 - { "<bits/huge_vall.h>", kPrivate, "<math.h>", kPublic },
331 + { "<bits/fenv.h>", kPrivate, "<fenv.h>", kPrivate },
332 + { "<bits/fenvinline.h>", kPrivate, "<fenv.h>", kPrivate },
333 + { "<bits/huge_val.h>", kPrivate, "<math.h>", kPrivate },
334 + { "<bits/huge_valf.h>", kPrivate, "<math.h>", kPrivate },
335 + { "<bits/huge_vall.h>", kPrivate, "<math.h>", kPrivate },
336 { "<bits/hwcap.h>", kPrivate, "<sys/auxv.h>", kPublic },
337 - { "<bits/inf.h>", kPrivate, "<math.h>", kPublic },
338 + { "<bits/inf.h>", kPrivate, "<math.h>", kPrivate },
339 { "<bits/inotify.h>", kPrivate, "<sys/inotify.h>", kPublic },
340 { "<bits/ioctl-types.h>", kPrivate, "<sys/ioctl.h>", kPublic },
341 { "<bits/ioctls.h>", kPrivate, "<sys/ioctl.h>", kPublic },
342 @@ -436,24 +436,24 @@ const IncludeMapEntry libc_include_map[] = {
343 { "<bits/ipctypes.h>", kPrivate, "<sys/ipc.h>", kPublic },
344 { "<bits/libio-ldbl.h>", kPrivate, "<libio.h>", kPublic },
345 { "<bits/link.h>", kPrivate, "<link.h>", kPublic },
346 - { "<bits/locale.h>", kPrivate, "<locale.h>", kPublic },
347 - { "<bits/math-finite.h>", kPrivate, "<math.h>", kPublic },
348 - { "<bits/mathcalls.h>", kPrivate, "<math.h>", kPublic },
349 - { "<bits/mathdef.h>", kPrivate, "<math.h>", kPublic },
350 - { "<bits/mathinline.h>", kPrivate, "<math.h>", kPublic },
351 + { "<bits/locale.h>", kPrivate, "<locale.h>", kPrivate },
352 + { "<bits/math-finite.h>", kPrivate, "<math.h>", kPrivate },
353 + { "<bits/mathcalls.h>", kPrivate, "<math.h>", kPrivate },
354 + { "<bits/mathdef.h>", kPrivate, "<math.h>", kPrivate },
355 + { "<bits/mathinline.h>", kPrivate, "<math.h>", kPrivate },
356 { "<bits/mman.h>", kPrivate, "<sys/mman.h>", kPublic },
357 { "<bits/mman-shared.h>", kPrivate, "<sys/mman.h>", kPublic },
358 { "<bits/monetary-ldbl.h>", kPrivate, "<monetary.h>", kPublic },
359 { "<bits/mqueue.h>", kPrivate, "<mqueue.h>", kPublic },
360 { "<bits/mqueue2.h>", kPrivate, "<mqueue.h>", kPublic },
361 { "<bits/msq.h>", kPrivate, "<sys/msg.h>", kPublic },
362 - { "<bits/nan.h>", kPrivate, "<math.h>", kPublic },
363 + { "<bits/nan.h>", kPrivate, "<math.h>", kPrivate },
364 { "<bits/netdb.h>", kPrivate, "<netdb.h>", kPublic },
365 { "<bits/param.h>", kPrivate, "<sys/param.h>", kPublic },
366 { "<bits/poll.h>", kPrivate, "<sys/poll.h>", kPrivate },
367 { "<bits/poll2.h>", kPrivate, "<sys/poll.h>", kPrivate },
368 - { "<bits/posix1_lim.h>", kPrivate, "<limits.h>", kPublic },
369 - { "<bits/posix2_lim.h>", kPrivate, "<limits.h>", kPublic },
370 + { "<bits/posix1_lim.h>", kPrivate, "<limits.h>", kPrivate },
371 + { "<bits/posix2_lim.h>", kPrivate, "<limits.h>", kPrivate },
372 { "<bits/posix_opt.h>", kPrivate, "<unistd.h>", kPublic },
373 { "<bits/printf-ldbl.h>", kPrivate, "<printf.h>", kPublic },
374 { "<bits/pthreadtypes.h>", kPrivate, "<pthread.h>", kPublic },
375 @@ -463,17 +463,17 @@ const IncludeMapEntry libc_include_map[] = {
376 { "<bits/select2.h>", kPrivate, "<sys/select.h>", kPublic },
377 { "<bits/sem.h>", kPrivate, "<sys/sem.h>", kPublic },
378 { "<bits/semaphore.h>", kPrivate, "<semaphore.h>", kPublic },
379 - { "<bits/setjmp.h>", kPrivate, "<setjmp.h>", kPublic },
380 - { "<bits/setjmp2.h>", kPrivate, "<setjmp.h>", kPublic },
381 + { "<bits/setjmp.h>", kPrivate, "<setjmp.h>", kPrivate },
382 + { "<bits/setjmp2.h>", kPrivate, "<setjmp.h>", kPrivate },
383 { "<bits/shm.h>", kPrivate, "<sys/shm.h>", kPublic },
384 - { "<bits/sigaction.h>", kPrivate, "<signal.h>", kPublic },
385 - { "<bits/sigcontext.h>", kPrivate, "<signal.h>", kPublic },
386 - { "<bits/siginfo.h>", kPrivate, "<signal.h>", kPublic },
387 - { "<bits/signum.h>", kPrivate, "<signal.h>", kPublic },
388 - { "<bits/signum-arch.h>", kPrivate, "<signal.h>", kPublic },
389 - { "<bits/sigset.h>", kPrivate, "<signal.h>", kPublic },
390 - { "<bits/sigstack.h>", kPrivate, "<signal.h>", kPublic },
391 - { "<bits/sigthread.h>", kPrivate, "<signal.h>", kPublic },
392 + { "<bits/sigaction.h>", kPrivate, "<signal.h>", kPrivate },
393 + { "<bits/sigcontext.h>", kPrivate, "<signal.h>", kPrivate },
394 + { "<bits/siginfo.h>", kPrivate, "<signal.h>", kPrivate },
395 + { "<bits/signum.h>", kPrivate, "<signal.h>", kPrivate },
396 + { "<bits/signum-arch.h>", kPrivate, "<signal.h>", kPrivate },
397 + { "<bits/sigset.h>", kPrivate, "<signal.h>", kPrivate },
398 + { "<bits/sigstack.h>", kPrivate, "<signal.h>", kPrivate },
399 + { "<bits/sigthread.h>", kPrivate, "<signal.h>", kPrivate },
400 { "<bits/sockaddr.h>", kPrivate, "<sys/un.h>", kPublic },
401 { "<bits/socket.h>", kPrivate, "<sys/socket.h>", kPublic },
402 { "<bits/socket2.h>", kPrivate, "<sys/socket.h>", kPublic },
403 @@ -483,22 +483,22 @@ const IncludeMapEntry libc_include_map[] = {
404 { "<bits/statfs.h>", kPrivate, "<sys/statfs.h>", kPublic },
405 { "<bits/statvfs.h>", kPrivate, "<sys/statvfs.h>", kPublic },
406 { "<bits/statx-generic.h>", kPrivate, "<sys/stat.h>", kPublic },
407 - { "<bits/stdio-ldbl.h>", kPrivate, "<stdio.h>", kPublic },
408 + { "<bits/stdio-ldbl.h>", kPrivate, "<stdio.h>", kPrivate },
409 { "<bits/stdio-lock.h>", kPrivate, "<libio.h>", kPublic },
410 - { "<bits/stdio.h>", kPrivate, "<stdio.h>", kPublic },
411 - { "<bits/stdio2.h>", kPrivate, "<stdio.h>", kPublic },
412 - { "<bits/stdio_lim.h>", kPrivate, "<stdio.h>", kPublic },
413 - { "<bits/stdlib-bsearch.h>", kPrivate, "<stdlib.h>", kPublic },
414 - { "<bits/stdlib-float.h>", kPrivate, "<stdlib.h>", kPublic },
415 - { "<bits/stdlib-ldbl.h>", kPrivate, "<stdlib.h>", kPublic },
416 - { "<bits/stdlib.h>", kPrivate, "<stdlib.h>", kPublic },
417 - { "<bits/string.h>", kPrivate, "<string.h>", kPublic },
418 - { "<bits/string2.h>", kPrivate, "<string.h>", kPublic },
419 - { "<bits/string3.h>", kPrivate, "<string.h>", kPublic },
420 + { "<bits/stdio.h>", kPrivate, "<stdio.h>", kPrivate },
421 + { "<bits/stdio2.h>", kPrivate, "<stdio.h>", kPrivate },
422 + { "<bits/stdio_lim.h>", kPrivate, "<stdio.h>", kPrivate },
423 + { "<bits/stdlib-bsearch.h>", kPrivate, "<stdlib.h>", kPrivate },
424 + { "<bits/stdlib-float.h>", kPrivate, "<stdlib.h>", kPrivate },
425 + { "<bits/stdlib-ldbl.h>", kPrivate, "<stdlib.h>", kPrivate },
426 + { "<bits/stdlib.h>", kPrivate, "<stdlib.h>", kPrivate },
427 + { "<bits/string.h>", kPrivate, "<string.h>", kPrivate },
428 + { "<bits/string2.h>", kPrivate, "<string.h>", kPrivate },
429 + { "<bits/string3.h>", kPrivate, "<string.h>", kPrivate },
430 { "<bits/stropts.h>", kPrivate, "<stropts.h>", kPublic },
431 { "<bits/struct_stat.h>", kPrivate, "<sys/stat.h>", kPublic },
432 { "<bits/struct_stat.h>", kPrivate, "<ftw.h>", kPublic },
433 - { "<bits/sys_errlist.h>", kPrivate, "<stdio.h>", kPublic },
434 + { "<bits/sys_errlist.h>", kPrivate, "<stdio.h>", kPrivate },
435 { "<bits/syscall.h>", kPrivate, "<sys/syscall.h>", kPublic },
436 { "<bits/sysctl.h>", kPrivate, "<sys/sysctl.h>", kPublic },
437 { "<bits/syslog-ldbl.h>", kPrivate, "<sys/syslog.h>", kPrivate },
438 @@ -515,12 +515,12 @@ const IncludeMapEntry libc_include_map[] = {
439 { "<bits/termios-struct.h>", kPrivate, "<termios.h>", kPublic },
440 { "<bits/termios-tcflow.h>", kPrivate, "<termios.h>", kPublic },
441 { "<bits/termios.h>", kPrivate, "<termios.h>", kPublic },
442 - { "<bits/time.h>", kPrivate, "<time.h>", kPublic },
443 + { "<bits/time.h>", kPrivate, "<time.h>", kPrivate },
444 { "<bits/time.h>", kPrivate, "<sys/time.h>", kPublic },
445 { "<bits/timerfd.h>", kPrivate, "<sys/timerfd.h>", kPublic },
446 { "<bits/timex.h>", kPrivate, "<sys/timex.h>", kPublic },
447 { "<bits/types.h>", kPrivate, "<sys/types.h>", kPublic },
448 - { "<bits/types/siginfo_t.h>", kPrivate, "<signal.h>", kPublic },
449 + { "<bits/types/siginfo_t.h>", kPrivate, "<signal.h>", kPrivate },
450 { "<bits/types/siginfo_t.h>", kPrivate, "<sys/wait.h>", kPublic },
451 { "<bits/types/struct_rusage.h>", kPrivate, "<sys/resource.h>", kPublic },
452 { "<bits/types/struct_sched_param.h>", kPrivate, "<sched.h>", kPublic },
453 @@ -532,11 +532,11 @@ const IncludeMapEntry libc_include_map[] = {
454 { "<bits/utsname.h>", kPrivate, "<sys/utsname.h>", kPublic },
455 { "<bits/waitflags.h>", kPrivate, "<sys/wait.h>", kPublic },
456 { "<bits/waitstatus.h>", kPrivate, "<sys/wait.h>", kPublic },
457 - { "<bits/wchar-ldbl.h>", kPrivate, "<wchar.h>", kPublic },
458 - { "<bits/wchar.h>", kPrivate, "<wchar.h>", kPublic },
459 - { "<bits/wchar2.h>", kPrivate, "<wchar.h>", kPublic },
460 - { "<bits/wordsize.h>", kPrivate, "<limits.h>", kPublic },
461 - { "<bits/xopen_lim.h>", kPrivate, "<limits.h>", kPublic },
462 + { "<bits/wchar-ldbl.h>", kPrivate, "<wchar.h>", kPrivate },
463 + { "<bits/wchar.h>", kPrivate, "<wchar.h>", kPrivate },
464 + { "<bits/wchar2.h>", kPrivate, "<wchar.h>", kPrivate },
465 + { "<bits/wordsize.h>", kPrivate, "<limits.h>", kPrivate },
466 + { "<bits/xopen_lim.h>", kPrivate, "<limits.h>", kPrivate },
467 { "<bits/xtitypes.h>", kPrivate, "<stropts.h>", kPublic },
468 // Sometimes libc tells you what mapping to do via an '#error':
469 // # error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
470 @@ -546,7 +546,7 @@ const IncludeMapEntry libc_include_map[] = {
471 { "<bits/a.out.h>", kPrivate, "<a.out.h>", kPublic },
472 { "<bits/byteswap-16.h>", kPrivate, "<byteswap.h>", kPublic },
473 { "<bits/byteswap.h>", kPrivate, "<byteswap.h>", kPublic },
474 - { "<bits/cmathcalls.h>", kPrivate, "<complex.h>", kPublic },
475 + { "<bits/cmathcalls.h>", kPrivate, "<complex.h>", kPrivate },
476 { "<bits/confname.h>", kPrivate, "<unistd.h>", kPublic },
477 { "<bits/dirent.h>", kPrivate, "<dirent.h>", kPublic },
478 { "<bits/dlfcn.h>", kPrivate, "<dlfcn.h>", kPublic },
479 @@ -556,38 +556,38 @@ const IncludeMapEntry libc_include_map[] = {
480 { "<bits/eventfd.h>", kPrivate, "<sys/eventfd.h>", kPublic },
481 { "<bits/fcntl-linux.h>", kPrivate, "<fcntl.h>", kPublic },
482 { "<bits/fcntl.h>", kPrivate, "<fcntl.h>", kPublic },
483 - { "<bits/fenv.h>", kPrivate, "<fenv.h>", kPublic },
484 - { "<bits/huge_val.h>", kPrivate, "<math.h>", kPublic },
485 - { "<bits/huge_valf.h>", kPrivate, "<math.h>", kPublic },
486 - { "<bits/huge_vall.h>", kPrivate, "<math.h>", kPublic },
487 + { "<bits/fenv.h>", kPrivate, "<fenv.h>", kPrivate },
488 + { "<bits/huge_val.h>", kPrivate, "<math.h>", kPrivate },
489 + { "<bits/huge_valf.h>", kPrivate, "<math.h>", kPrivate },
490 + { "<bits/huge_vall.h>", kPrivate, "<math.h>", kPrivate },
491 { "<bits/in.h>", kPrivate, "<netinet/in.h>", kPublic },
492 - { "<bits/inf.h>", kPrivate, "<math.h>", kPublic },
493 + { "<bits/inf.h>", kPrivate, "<math.h>", kPrivate },
494 { "<bits/inotify.h>", kPrivate, "<sys/inotify.h>", kPublic },
495 { "<bits/ioctl-types.h>", kPrivate, "<sys/ioctl.h>", kPublic },
496 { "<bits/ioctls.h>", kPrivate, "<sys/ioctl.h>", kPublic },
497 { "<bits/ipc.h>", kPrivate, "<sys/ipc.h>", kPublic },
498 { "<bits/ipctypes.h>", kPrivate, "<sys/ipc.h>", kPublic },
499 - { "<bits/locale.h>", kPrivate, "<locale.h>", kPublic },
500 - { "<bits/math-finite.h>", kPrivate, "<math.h>", kPublic },
501 - { "<bits/mathdef.h>", kPrivate, "<math.h>", kPublic },
502 - { "<bits/mathinline.h>", kPrivate, "<math.h>", kPublic },
503 + { "<bits/locale.h>", kPrivate, "<locale.h>", kPrivate },
504 + { "<bits/math-finite.h>", kPrivate, "<math.h>", kPrivate },
505 + { "<bits/mathdef.h>", kPrivate, "<math.h>", kPrivate },
506 + { "<bits/mathinline.h>", kPrivate, "<math.h>", kPrivate },
507 { "<bits/mman-linux.h>", kPrivate, "<sys/mman.h>", kPublic },
508 { "<bits/mman.h>", kPrivate, "<sys/mman.h>", kPublic },
509 { "<bits/mqueue.h>", kPrivate, "<mqueue.h>", kPublic },
510 { "<bits/msq.h>", kPrivate, "<sys/msg.h>", kPublic },
511 - { "<bits/nan.h>", kPrivate, "<math.h>", kPublic },
512 + { "<bits/nan.h>", kPrivate, "<math.h>", kPrivate },
513 { "<bits/param.h>", kPrivate, "<sys/param.h>", kPublic },
514 { "<bits/poll.h>", kPrivate, "<sys/poll.h>", kPrivate },
515 { "<bits/predefs.h>", kPrivate, "<features.h>", kPublic },
516 { "<bits/resource.h>", kPrivate, "<sys/resource.h>", kPublic },
517 { "<bits/select.h>", kPrivate, "<sys/select.h>", kPublic },
518 { "<bits/semaphore.h>", kPrivate, "<semaphore.h>", kPublic },
519 - { "<bits/sigcontext.h>", kPrivate, "<signal.h>", kPublic },
520 + { "<bits/sigcontext.h>", kPrivate, "<signal.h>", kPrivate },
521 { "<bits/signalfd.h>", kPrivate, "<sys/signalfd.h>", kPublic },
522 - { "<bits/stdlib-float.h>", kPrivate, "<stdlib.h>", kPublic },
523 - { "<bits/string.h>", kPrivate, "<string.h>", kPublic },
524 - { "<bits/string2.h>", kPrivate, "<string.h>", kPublic },
525 - { "<bits/string3.h>", kPrivate, "<string.h>", kPublic },
526 + { "<bits/stdlib-float.h>", kPrivate, "<stdlib.h>", kPrivate },
527 + { "<bits/string.h>", kPrivate, "<string.h>", kPrivate },
528 + { "<bits/string2.h>", kPrivate, "<string.h>", kPrivate },
529 + { "<bits/string3.h>", kPrivate, "<string.h>", kPrivate },
530 { "<bits/timerfd.h>", kPrivate, "<sys/timerfd.h>", kPublic },
531 { "<bits/typesizes.h>", kPrivate, "<sys/types.h>", kPublic },
532 // Top-level #includes that just forward to another file:
533 @@ -599,13 +599,13 @@ const IncludeMapEntry libc_include_map[] = {
534 // on the POSIX.1-2024 list, I just choose the top-level one.
535 { "<sys/aio.h>", kPrivate, "<aio.h>", kPublic },
536 { "<sys/dirent.h>", kPrivate, "<dirent.h>", kPublic },
537 - { "<sys/errno.h>", kPrivate, "<errno.h>", kPublic },
538 + { "<sys/errno.h>", kPrivate, "<errno.h>", kPrivate },
539 { "<sys/fcntl.h>", kPrivate, "<fcntl.h>", kPublic },
540 { "<sys/poll.h>", kPrivate, "<poll.h>", kPublic },
541 { "<sys/semaphore.h>", kPrivate, "<semaphore.h>", kPublic },
542 - { "<sys/signal.h>", kPrivate, "<signal.h>", kPublic },
543 + { "<sys/signal.h>", kPrivate, "<signal.h>", kPrivate },
544 { "<sys/spawn.h>", kPrivate, "<spawn.h>", kPublic },
545 - { "<sys/stdio.h>", kPrivate, "<stdio.h>", kPublic },
546 + { "<sys/stdio.h>", kPrivate, "<stdio.h>", kPrivate },
547 { "<sys/syslog.h>", kPrivate, "<syslog.h>", kPublic },
548 { "<sys/termios.h>", kPrivate, "<termios.h>", kPublic },
549 { "<sys/unistd.h>", kPrivate, "<unistd.h>", kPublic },
550 @@ -625,21 +625,21 @@ const IncludeMapEntry libc_include_map[] = {
551 { "<asm/unistd_64.h>", kPrivate, "<asm/unistd.h>", kPrivate },
552 // I don't know what grep would have found these. I found them
553 // via user report.
554 - { "<asm/errno.h>", kPrivate, "<errno.h>", kPublic },
555 - { "<asm/errno-base.h>", kPrivate, "<errno.h>", kPublic },
556 + { "<asm/errno.h>", kPrivate, "<errno.h>", kPrivate },
557 + { "<asm/errno-base.h>", kPrivate, "<errno.h>", kPrivate },
558 { "<asm/ptrace-abi.h>", kPrivate, "<asm/ptrace.h>", kPublic },
559 { "<asm/unistd.h>", kPrivate, "<sys/syscall.h>", kPublic },
560 - { "<linux/limits.h>", kPrivate, "<limits.h>", kPublic }, // PATH_MAX
561 + { "<linux/limits.h>", kPrivate, "<limits.h>", kPrivate }, // PATH_MAX
562 { "<linux/prctl.h>", kPrivate, "<sys/prctl.h>", kPublic },
563 { "<sys/ucontext.h>", kPrivate, "<ucontext.h>", kPublic },
564 // System headers available on AIX, BSD, Solaris and other Unix systems
565 { "<sys/dtrace.h>", kPrivate, "<dtrace.h>", kPublic },
566 { "<sys/paths.h>", kPrivate, "<paths.h>", kPublic },
567 - { "<sys/syslimits.h>", kPrivate, "<limits.h>", kPublic },
568 + { "<sys/syslimits.h>", kPrivate, "<limits.h>", kPrivate },
569 { "<sys/ttycom.h>", kPrivate, "<sys/ioctl.h>", kPublic },
570 { "<sys/ustat.h>", kPrivate, "<ustat.h>", kPublic },
571 // Exports guaranteed by the C standard
572 - { "<stdint.h>", kPublic, "<inttypes.h>", kPublic },
573 + { "<cstdint>", kPublic, "<cinttypes>", kPublic },
574 };
575
576 const IncludeMapEntry stdlib_c_include_map[] = {
577 @@ -658,32 +658,32 @@ const IncludeMapEntry stdlib_c_include_map[] = {
578 // https://github.com/cplusplus/draft/blob/c+%2B20/source/lib-intro.tex
579 //
580 // $ curl -s -N https://raw.githubusercontent.com/cplusplus/draft/c%2B%2B20/source/lib-intro.tex | sed -n '/begin{multicolfloattable}.*{headers.cpp.c}/,/end{multicolfloattable}/p' | grep tcode | perl -nle 'm/tcode{<c(.*)>}/ && print qq@ { "<$1.h>", kPublic, "<c$1>", kPublic },@' | sort
581 - { "<assert.h>", kPublic, "<cassert>", kPublic },
582 - { "<complex.h>", kPublic, "<ccomplex>", kPublic },
583 - { "<ctype.h>", kPublic, "<cctype>", kPublic },
584 - { "<errno.h>", kPublic, "<cerrno>", kPublic },
585 - { "<fenv.h>", kPublic, "<cfenv>", kPublic },
586 + { "<assert.h>", kPrivate, "<cassert>", kPublic },
587 + { "<complex.h>", kPrivate, "<ccomplex>", kPublic },
588 + { "<ctype.h>", kPrivate, "<cctype>", kPublic },
589 + { "<errno.h>", kPrivate, "<cerrno>", kPublic },
590 + { "<fenv.h>", kPrivate, "<cfenv>", kPublic },
591 { "<float.h>", kPublic, "<cfloat>", kPublic },
592 - { "<inttypes.h>", kPublic, "<cinttypes>", kPublic },
593 - { "<iso646.h>", kPublic, "<ciso646>", kPublic },
594 - { "<limits.h>", kPublic, "<climits>", kPublic },
595 - { "<locale.h>", kPublic, "<clocale>", kPublic },
596 - { "<math.h>", kPublic, "<cmath>", kPublic },
597 - { "<setjmp.h>", kPublic, "<csetjmp>", kPublic },
598 - { "<signal.h>", kPublic, "<csignal>", kPublic },
599 - { "<stdalign.h>", kPublic, "<cstdalign>", kPublic },
600 - { "<stdarg.h>", kPublic, "<cstdarg>", kPublic },
601 - { "<stdbool.h>", kPublic, "<cstdbool>", kPublic },
602 - { "<stddef.h>", kPublic, "<cstddef>", kPublic },
603 - { "<stdint.h>", kPublic, "<cstdint>", kPublic },
604 - { "<stdio.h>", kPublic, "<cstdio>", kPublic },
605 - { "<stdlib.h>", kPublic, "<cstdlib>", kPublic },
606 - { "<string.h>", kPublic, "<cstring>", kPublic },
607 - { "<tgmath.h>", kPublic, "<ctgmath>", kPublic },
608 - { "<time.h>", kPublic, "<ctime>", kPublic },
609 - { "<uchar.h>", kPublic, "<cuchar>", kPublic },
610 - { "<wchar.h>", kPublic, "<cwchar>", kPublic },
611 - { "<wctype.h>", kPublic, "<cwctype>", kPublic },
612 + { "<inttypes.h>", kPrivate, "<cinttypes>", kPublic },
613 + { "<iso646.h>", kPrivate, "<ciso646>", kPublic },
614 + { "<limits.h>", kPrivate, "<climits>", kPublic },
615 + { "<locale.h>", kPrivate, "<clocale>", kPublic },
616 + { "<math.h>", kPrivate, "<cmath>", kPublic },
617 + { "<setjmp.h>", kPrivate, "<csetjmp>", kPublic },
618 + { "<signal.h>", kPrivate, "<csignal>", kPublic },
619 + { "<stdalign.h>", kPrivate, "<cstdalign>", kPublic },
620 + { "<stdarg.h>", kPrivate, "<cstdarg>", kPublic },
621 + { "<stdbool.h>", kPrivate, "<cstdbool>", kPublic },
622 + { "<stddef.h>", kPrivate, "<cstddef>", kPublic },
623 + { "<stdint.h>", kPrivate, "<cstdint>", kPublic },
624 + { "<stdio.h>", kPrivate, "<cstdio>", kPublic },
625 + { "<stdlib.h>", kPrivate, "<cstdlib>", kPublic },
626 + { "<string.h>", kPrivate, "<cstring>", kPublic },
627 + { "<tgmath.h>", kPrivate, "<ctgmath>", kPublic },
628 + { "<time.h>", kPrivate, "<ctime>", kPublic },
629 + { "<uchar.h>", kPrivate, "<cuchar>", kPublic },
630 + { "<wchar.h>", kPrivate, "<cwchar>", kPublic },
631 + { "<wctype.h>", kPrivate, "<cwctype>", kPublic },
632 };
633
634 const char* stdlib_cpp_public_headers[] = {
635