diff options
author | Alejandro Colomar <alx.manpages@gmail.com> | 2021-06-27 13:39:05 +0200 |
---|---|---|
committer | Kim Gräsman <kim.grasman@gmail.com> | 2021-07-11 09:03:34 +0200 |
commit | d50530f3192d0c103a2c2763f902d5ad574a688f (patch) | |
tree | f961b013ee516a92a8bd46ecd59e3db13a439571 | |
parent | c19ae5ef07b42749d8fdd14d2b73d724c7c18e97 (diff) |
Add more mappings for 'size_t'
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
-rw-r--r-- | gcc.symbols.imp | 22 | ||||
-rw-r--r-- | iwyu_include_picker.cc | 22 |
2 files changed, 42 insertions, 2 deletions
diff --git a/gcc.symbols.imp b/gcc.symbols.imp index 6e88256..f1fe7c3 100644 --- a/gcc.symbols.imp +++ b/gcc.symbols.imp @@ -159,14 +159,34 @@ { symbol: [ "useconds_t", private, "<unistd.h>", public ] }, { symbol: [ "wchar_t", private, "<stddef.h>", public ] }, { symbol: [ "wchar_t", private, "<stdlib.h>", public ] }, - # glob.h seems to define size_t if necessary, but it should come from stddef. { symbol: [ "size_t", private, "<stddef.h>", public ] }, + { symbol: [ "size_t", private, "<aio.h>", public ] }, + { symbol: [ "size_t", private, "<glob.h>", public ] }, + { symbol: [ "size_t", private, "<grp.h>", public ] }, + { symbol: [ "size_t", private, "<iconv.h>", public ] }, + { symbol: [ "size_t", private, "<monetary.h>", public ] }, + { symbol: [ "size_t", private, "<mqueue.h>", public ] }, + { symbol: [ "size_t", private, "<ndbm.h>", public ] }, + { symbol: [ "size_t", private, "<pwd.h>", public ] }, + { symbol: [ "size_t", private, "<regex.h>", public ] }, + { symbol: [ "size_t", private, "<search.h>", public ] }, + { symbol: [ "size_t", private, "<signal.h>", public ] }, { symbol: [ "size_t", private, "<stdio.h>", public ] }, { symbol: [ "size_t", private, "<stdlib.h>", public ] }, { symbol: [ "size_t", private, "<string.h>", public ] }, + { symbol: [ "size_t", private, "<strings.h>", public ] }, + { symbol: [ "size_t", private, "<sys/mman.h>", public ] }, + { symbol: [ "size_t", private, "<sys/msg.h>", public ] }, + { symbol: [ "size_t", private, "<sys/sem.h>", public ] }, + { symbol: [ "size_t", private, "<sys/shm.h>", public ] }, + { symbol: [ "size_t", private, "<sys/socket.h>", public ] }, + { symbol: [ "size_t", private, "<sys/types.h>", public ] }, + { symbol: [ "size_t", private, "<sys/uio.h>", public ] }, { symbol: [ "size_t", private, "<time.h>", public ] }, { symbol: [ "size_t", private, "<uchar.h>", public ] }, + { symbol: [ "size_t", private, "<unistd.h>", public ] }, { symbol: [ "size_t", private, "<wchar.h>", public ] }, + { symbol: [ "size_t", private, "<wordexp.h>", public ] }, # Macros that can be defined in more than one file, don't have the # same __foo_defined guard that other types do, so the grep above # doesn't discover them. Until I figure out a better way, I just diff --git a/iwyu_include_picker.cc b/iwyu_include_picker.cc index 9c16f27..0ef06c2 100644 --- a/iwyu_include_picker.cc +++ b/iwyu_include_picker.cc @@ -236,16 +236,36 @@ const IncludeMapEntry libc_symbol_map[] = { { "useconds_t", kPrivate, "<unistd.h>", kPublic }, { "wchar_t", kPrivate, "<stddef.h>", kPublic }, { "wchar_t", kPrivate, "<stdlib.h>", kPublic }, - // glob.h seems to define size_t if necessary, but it should come from stddef. // It is unspecified if the cname headers provide ::size_t. // <locale.h> is the one header which defines NULL but not size_t. { "size_t", kPrivate, "<stddef.h>", kPublic }, // 'canonical' location for size_t + { "size_t", kPrivate, "<aio.h>", kPublic }, + { "size_t", kPrivate, "<glob.h>", kPublic }, + { "size_t", kPrivate, "<grp.h>", kPublic }, + { "size_t", kPrivate, "<iconv.h>", kPublic }, + { "size_t", kPrivate, "<monetary.h>", kPublic }, + { "size_t", kPrivate, "<mqueue.h>", kPublic }, + { "size_t", kPrivate, "<ndbm.h>", kPublic }, + { "size_t", kPrivate, "<pwd.h>", kPublic }, + { "size_t", kPrivate, "<regex.h>", kPublic }, + { "size_t", kPrivate, "<search.h>", kPublic }, + { "size_t", kPrivate, "<signal.h>", kPublic }, { "size_t", kPrivate, "<stdio.h>", kPublic }, { "size_t", kPrivate, "<stdlib.h>", kPublic }, { "size_t", kPrivate, "<string.h>", kPublic }, + { "size_t", kPrivate, "<strings.h>", kPublic }, + { "size_t", kPrivate, "<sys/mman.h>", kPublic }, + { "size_t", kPrivate, "<sys/msg.h>", kPublic }, + { "size_t", kPrivate, "<sys/sem.h>", kPublic }, + { "size_t", kPrivate, "<sys/shm.h>", kPublic }, + { "size_t", kPrivate, "<sys/socket.h>", kPublic }, + { "size_t", kPrivate, "<sys/types.h>", kPublic }, + { "size_t", kPrivate, "<sys/uio.h>", kPublic }, { "size_t", kPrivate, "<time.h>", kPublic }, { "size_t", kPrivate, "<uchar.h>", kPublic }, + { "size_t", kPrivate, "<unistd.h>", kPublic }, { "size_t", kPrivate, "<wchar.h>", kPublic }, + { "size_t", kPrivate, "<wordexp.h>", kPublic }, // Macros that can be defined in more than one file, don't have the // same __foo_defined guard that other types do, so the grep above // doesn't discover them. Until I figure out a better way, I just |