[clang] [include-cleaner] Add POSIX symbol mappings (PR #144748)
cseriildi wrote: Hi @kadircet, We noticed you’ve been involved in this area, so we thought this PR might be of interest to you. https://github.com/llvm/llvm-project/pull/144748 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [include-cleaner] Add POSIX symbol mappings (PR #144748)
https://github.com/cseriildi edited https://github.com/llvm/llvm-project/pull/144748 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [include-cleaner] Update generated include mappings (PR #144751)
https://github.com/cseriildi updated https://github.com/llvm/llvm-project/pull/144751 From eabf81f66a57e099139a579d1955195055a6f75b Mon Sep 17 00:00:00 2001 From: Ildiko Cseri Date: Wed, 18 Jun 2025 12:58:34 + Subject: [PATCH] [include-cleaner] Update generated include mappings Update generated `*SymbolMap.inc` files using `gen_std.py` and the latest cppreference archive (https://github.com/PeterFeicht/cppreference-doc/releases/tag/v20250209). Move removed but still-needed entries to `*SpecialSymbolMap.inc` files. Co-authored-by: itislu --- .../Inclusions/Stdlib/CSpecialSymbolMap.inc | 279 + .../Tooling/Inclusions/Stdlib/CSymbolMap.inc | 290 +- .../Inclusions/Stdlib/StdSpecialSymbolMap.inc | 133 +++- .../Inclusions/Stdlib/StdSymbolMap.inc| 137 + 4 files changed, 423 insertions(+), 416 deletions(-) diff --git a/clang/lib/Tooling/Inclusions/Stdlib/CSpecialSymbolMap.inc b/clang/lib/Tooling/Inclusions/Stdlib/CSpecialSymbolMap.inc index 9902fd4caf018..4e5f2aace7be7 100644 --- a/clang/lib/Tooling/Inclusions/Stdlib/CSpecialSymbolMap.inc +++ b/clang/lib/Tooling/Inclusions/Stdlib/CSpecialSymbolMap.inc @@ -26,3 +26,282 @@ SYMBOL(UINT16_C, None, ) SYMBOL(UINT32_C, None, ) SYMBOL(UINT64_C, None, ) SYMBOL(UINTMAX_C, None, ) + +SYMBOL(ATOMIC_BOOL_LOCK_FREE, None, ) +SYMBOL(ATOMIC_CHAR16_T_LOCK_FREE, None, ) +SYMBOL(ATOMIC_CHAR32_T_LOCK_FREE, None, ) +SYMBOL(ATOMIC_CHAR_LOCK_FREE, None, ) +SYMBOL(ATOMIC_FLAG_INIT, None, ) +SYMBOL(ATOMIC_INT_LOCK_FREE, None, ) +SYMBOL(ATOMIC_LLONG_LOCK_FREE, None, ) +SYMBOL(ATOMIC_LONG_LOGK_FREE, None, ) +SYMBOL(ATOMIC_POINTER_LOCK_FREE, None, ) +SYMBOL(ATOMIC_SHORT_LOCK_FREE, None, ) +SYMBOL(ATOMIC_VAR_INIT, None, ) +SYMBOL(ATOMIC_WCHAR_T_LOCK_FREE, None, ) +SYMBOL(BUFSIZ, None, ) +SYMBOL(CHAR_BIT, None, ) +SYMBOL(CHAR_MAX, None, ) +SYMBOL(CHAR_MIN, None, ) +SYMBOL(CLOCKS_PER_SEC, None, ) +SYMBOL(CMPLX, None, ) +SYMBOL(CMPLXF, None, ) +SYMBOL(CMPLXL, None, ) +SYMBOL(DBL_DECIMAL_DIG, None, ) +SYMBOL(DBL_DIG, None, ) +SYMBOL(DBL_EPSILON, None, ) +SYMBOL(DBL_HAS_SUBNORM, None, ) +SYMBOL(DBL_MANT_DIG, None, ) +SYMBOL(DBL_MAX, None, ) +SYMBOL(DBL_MAX_10_EXP, None, ) +SYMBOL(DBL_MAX_EXP, None, ) +SYMBOL(DBL_MIN, None, ) +SYMBOL(DBL_MIN_10_EXP, None, ) +SYMBOL(DBL_MIN_EXP, None, ) +SYMBOL(DBL_TRUE_MIN, None, ) +SYMBOL(DECIMAL_DIG, None, ) +SYMBOL(EDOM, None, ) +SYMBOL(EILSEQ, None, ) +SYMBOL(EOF, None, ) +SYMBOL(ERANGE, None, ) +SYMBOL(EXIT_FAILURE, None, ) +SYMBOL(EXIT_SUCCESS, None, ) +SYMBOL(FE_ALL_EXCEPT, None, ) +SYMBOL(FE_DFL_ENV, None, ) +SYMBOL(FE_DIVBYZERO, None, ) +SYMBOL(FE_DOWNWARD, None, ) +SYMBOL(FE_INEXACT, None, ) +SYMBOL(FE_INVALID, None, ) +SYMBOL(FE_OVERFLOW, None, ) +SYMBOL(FE_TONEAREST, None, ) +SYMBOL(FE_TOWARDZERO, None, ) +SYMBOL(FE_UNDERFLOW, None, ) +SYMBOL(FE_UPWARD, None, ) +SYMBOL(FILENAME_MAX, None, ) +SYMBOL(FLT_DECIMAL_DIG, None, ) +SYMBOL(FLT_DIG, None, ) +SYMBOL(FLT_EPSILON, None, ) +SYMBOL(FLT_EVAL_METHOD, None, ) +SYMBOL(FLT_HAS_SUBNORM, None, ) +SYMBOL(FLT_MANT_DIG, None, ) +SYMBOL(FLT_MAX, None, ) +SYMBOL(FLT_MAX_10_EXP, None, ) +SYMBOL(FLT_MAX_EXP, None, ) +SYMBOL(FLT_MIN, None, ) +SYMBOL(FLT_MIN_10_EXP, None, ) +SYMBOL(FLT_MIN_EXP, None, ) +SYMBOL(FLT_RADIX, None, ) +SYMBOL(FLT_ROUNDS, None, ) +SYMBOL(FLT_TRUE_MIN, None, ) +SYMBOL(FOPEN_MAX, None, ) +SYMBOL(FP_INFINITE, None, ) +SYMBOL(FP_NAN, None, ) +SYMBOL(FP_NORNAL, None, ) +SYMBOL(FP_SUBNORMAL, None, ) +SYMBOL(FP_ZERO, None, ) +SYMBOL(HUGE_VAL, None, ) +SYMBOL(HUGE_VALF, None, ) +SYMBOL(HUGE_VALL, None, ) +SYMBOL(I, None, ) +SYMBOL(INFINITY, None, ) +SYMBOL(INT16_MAX, None, ) +SYMBOL(INT16_MIN, None, ) +SYMBOL(INT32_MAX, None, ) +SYMBOL(INT32_MIN, None, ) +SYMBOL(INT64_MAX, None, ) +SYMBOL(INT64_MIN, None, ) +SYMBOL(INT8_MAX, None, ) +SYMBOL(INT8_MIN, None, ) +SYMBOL(INTMAX_MAX, None, ) +SYMBOL(INTMAX_MIN, None, ) +SYMBOL(INTPTR_MAX, None, ) +SYMBOL(INTPTR_MIN, None, ) +SYMBOL(INT_FAST16_MAX, None, ) +SYMBOL(INT_FAST16_MIN, None, ) +SYMBOL(INT_FAST32_MAX, None, ) +SYMBOL(INT_FAST32_MIN, None, ) +SYMBOL(INT_FAST64_MAX, None, ) +SYMBOL(INT_FAST64_MIN, None, ) +SYMBOL(INT_FAST8_MAX, None, ) +SYMBOL(INT_FAST8_MIN, None, ) +SYMBOL(INT_LEAST16_MAX, None, ) +SYMBOL(INT_LEAST16_MIN, None, ) +SYMBOL(INT_LEAST32_MAX, None, ) +SYMBOL(INT_LEAST32_MIN, None, ) +SYMBOL(INT_LEAST64_MAX, None, ) +SYMBOL(INT_LEAST64_MIN, None, ) +SYMBOL(INT_LEAST8_MAX, None, ) +SYMBOL(INT_LEAST8_MIN, None, ) +SYMBOL(INT_MAX, None, ) +SYMBOL(INT_MIN, None, ) +SYMBOL(LC_ALL, None, ) +SYMBOL(LC_COLLATE, None, ) +SYMBOL(LC_CTYPE, None, ) +SYMBOL(LC_MONETARY, None, ) +SYMBOL(LC_NUMERIC, None, ) +SYMBOL(LC_TIME, None, ) +SYMBOL(LDBL_DECIMAL_DIG, None, ) +SYMBOL(LDBL_DIG, None, ) +SYMBOL(LDBL_EPSILON, None, ) +SYMBOL(LDBL_HAS_SUBNORM, None, ) +SYMBOL(LDBL_MANT_DIG, None, ) +SYMBOL(LDBL_MAX, None, ) +SYMBOL(LDBL_MAX_10_EXP, None, ) +SYMBOL(LDBL_MAX_EXP, None, ) +SYMBOL(LDBL_MIN, None, ) +SYMBOL(LDBL_MIN_10_EXP, None, ) +SYMBOL(LDBL_MIN_EXP, None, ) +SYMBOL(LDBL_TRU
[clang] [include-cleaner] Add POSIX symbol mappings (PR #144748)
https://github.com/cseriildi updated https://github.com/llvm/llvm-project/pull/144748 From c4681dfa8da9ba90418525f32a3d1968366174d2 Mon Sep 17 00:00:00 2001 From: Ildiko Cseri Date: Wed, 18 Jun 2025 12:58:34 + Subject: [PATCH] [include-cleaner] Add POSIX symbol mappings Add POSIX symbol-to-header mappings (e.g., `timeval`, `strsignal`, `signal`, `errno`) in new dedicated mapping files to avoid mixing with standard library mappings. Closes several related issues: #64336, #76567, #89844, #120830, #134818. Co-authored-by: itislu --- .../Inclusions/Stdlib/CPosixSymbolMap.inc | 347 + .../Inclusions/Stdlib/CxxPosixSymbolMap.inc | 458 ++ .../Inclusions/Stdlib/StandardLibrary.cpp | 12 + 3 files changed, 817 insertions(+) create mode 100644 clang/lib/Tooling/Inclusions/Stdlib/CPosixSymbolMap.inc create mode 100644 clang/lib/Tooling/Inclusions/Stdlib/CxxPosixSymbolMap.inc diff --git a/clang/lib/Tooling/Inclusions/Stdlib/CPosixSymbolMap.inc b/clang/lib/Tooling/Inclusions/Stdlib/CPosixSymbolMap.inc new file mode 100644 index 0..ab967dd193c4c --- /dev/null +++ b/clang/lib/Tooling/Inclusions/Stdlib/CPosixSymbolMap.inc @@ -0,0 +1,347 @@ +//===-- CPosixSymbolMap.inc ---*- C -*-===// +// +// This is a hand-curated list for C POSIX symbols that cannot be +// parsed/extracted via the include-mapping tool (gen_std.py). +// +//===--===// + +// clang-format off +// prevent breaking -> + +// errno.h +SYMBOL(E2BIG, None, ) +SYMBOL(EACCES, None, ) +SYMBOL(EADDRINUSE, None, ) +SYMBOL(EADDRNOTAVAIL, None, ) +SYMBOL(EAFNOSUPPORT, None, ) +SYMBOL(EAGAIN, None, ) +SYMBOL(EALREADY, None, ) +SYMBOL(EBADE, None, ) +SYMBOL(EBADF, None, ) +SYMBOL(EBADFD, None, ) +SYMBOL(EBADMSG, None, ) +SYMBOL(EBADR, None, ) +SYMBOL(EBADRQC, None, ) +SYMBOL(EBADSLT, None, ) +SYMBOL(EBUSY, None, ) +SYMBOL(ECANCELED, None, ) +SYMBOL(ECHILD, None, ) +SYMBOL(ECHRNG, None, ) +SYMBOL(ECOMM, None, ) +SYMBOL(ECONNABORTED, None, ) +SYMBOL(ECONNREFUSED, None, ) +SYMBOL(ECONNRESET, None, ) +SYMBOL(EDEADLK, None, ) +SYMBOL(EDEADLOCK, None, ) +SYMBOL(EDESTADDRREQ, None, ) +SYMBOL(EDQUOT, None, ) +SYMBOL(EEXIST, None, ) +SYMBOL(EFAULT, None, ) +SYMBOL(EFBIG, None, ) +SYMBOL(EHOSTDOWN, None, ) +SYMBOL(EHOSTUNREACH, None, ) +SYMBOL(EHWPOISON, None, ) +SYMBOL(EIDRM, None, ) +SYMBOL(EINPROGRESS, None, ) +SYMBOL(EINTR, None, ) +SYMBOL(EINVAL, None, ) +SYMBOL(EIO, None, ) +SYMBOL(EISCONN, None, ) +SYMBOL(EISDIR, None, ) +SYMBOL(EISNAM, None, ) +SYMBOL(EKEYEXPIRED, None, ) +SYMBOL(EKEYREJECTED, None, ) +SYMBOL(EKEYREVOKED, None, ) +SYMBOL(EL2HLT, None, ) +SYMBOL(EL2NSYNC, None, ) +SYMBOL(EL3HLT, None, ) +SYMBOL(EL3RST, None, ) +SYMBOL(ELIBACC, None, ) +SYMBOL(ELIBBAD, None, ) +SYMBOL(ELIBMAX, None, ) +SYMBOL(ELIBSCN, None, ) +SYMBOL(ELIBEXEC, None, ) +SYMBOL(ELNRNG, None, ) +SYMBOL(ELOOP, None, ) +SYMBOL(EMEDIUMTYPE, None, ) +SYMBOL(EMFILE, None, ) +SYMBOL(EMLINK, None, ) +SYMBOL(EMSGSIZE, None, ) +SYMBOL(EMULTIHOP, None, ) +SYMBOL(ENAMETOOLONG, None, ) +SYMBOL(ENETDOWN, None, ) +SYMBOL(ENETRESET, None, ) +SYMBOL(ENETUNREACH, None, ) +SYMBOL(ENFILE, None, ) +SYMBOL(ENOANO, None, ) +SYMBOL(ENOBUFS, None, ) +SYMBOL(ENODATA, None, ) +SYMBOL(ENODEV, None, ) +SYMBOL(ENOENT, None, ) +SYMBOL(ENOEXEC, None, ) +SYMBOL(ENOKEY, None, ) +SYMBOL(ENOLCK, None, ) +SYMBOL(ENOLINK, None, ) +SYMBOL(ENOMEDIUM, None, ) +SYMBOL(ENOMEM, None, ) +SYMBOL(ENOMSG, None, ) +SYMBOL(ENONET, None, ) +SYMBOL(ENOPKG, None, ) +SYMBOL(ENOPROTOOPT, None, ) +SYMBOL(ENOSPC, None, ) +SYMBOL(ENOSR, None, ) +SYMBOL(ENOSTR, None, ) +SYMBOL(ENOSYS, None, ) +SYMBOL(ENOTBLK, None, ) +SYMBOL(ENOTCONN, None, ) +SYMBOL(ENOTDIR, None, ) +SYMBOL(ENOTEMPTY, None, ) +SYMBOL(ENOTRECOVERABLE, None, ) +SYMBOL(ENOTSOCK, None, ) +SYMBOL(ENOTSUP, None, ) +SYMBOL(ENOTTY, None, ) +SYMBOL(ENOTUNIQ, None, ) +SYMBOL(ENXIO, None, ) +SYMBOL(EOPNOTSUPP, None, ) +SYMBOL(EOVERFLOW, None, ) +SYMBOL(EOWNERDEAD, None, ) +SYMBOL(EPERM, None, ) +SYMBOL(EPFNOSUPPORT, None, ) +SYMBOL(EPIPE, None, ) +SYMBOL(EPROTO, None, ) +SYMBOL(EPROTONOSUPPORT, None, ) +SYMBOL(EPROTOTYPE, None, ) +SYMBOL(EREMCHG, None, ) +SYMBOL(EREMOTE, None, ) +SYMBOL(EREMOTEIO, None, ) +SYMBOL(ERESTART, None, ) +SYMBOL(ERFKILL, None, ) +SYMBOL(EROFS, None, ) +SYMBOL(ESHUTDOWN, None, ) +SYMBOL(ESPIPE, None, ) +SYMBOL(ESOCKTNOSUPPORT, None, ) +SYMBOL(ESRCH, None, ) +SYMBOL(ESTALE, None, ) +SYMBOL(ESTRPIPE, None, ) +SYMBOL(ETIME, None, ) +SYMBOL(ETIMEDOUT, None, ) +SYMBOL(ETOOMANYREFS, None, ) +SYMBOL(ETXTBSY, None, ) +SYMBOL(EUCLEAN, None, ) +SYMBOL(EUNATCH, None, ) +SYMBOL(EUSERS, None, ) +SYMBOL(EWOULDBLOCK, None, ) +SYMBOL(EXDEV, None, ) +SYMBOL(EXFULL, None, ) + +// limits.h +SYMBOL(SSIZE_MAX, None, ) + +// pthread.h +SYMBOL(pthread_attr_t, None, ) +SYMBOL(pthread_attr_t, None, ) +SYMBOL(pthread_attr_t, None, ) +SYMBOL(pthread_barrier_t, None, ) +SYMBOL(pthread_barrier_t, None, ) +SYMBOL(pthread_bar
[clang] [include-cleaner] Add POSIX symbol mappings (PR #144748)
https://github.com/cseriildi created https://github.com/llvm/llvm-project/pull/144748 ### **Summary** This PR adds more symbol-header mappings that `clang-include-cleaner`, `clangd` and `clang-tidy` use to detect symbols that are used but not directly included ([following the include-what-you-use model](https://clangd.llvm.org/guides/include-cleaner)). * **Add mappings for missing POSIX symbols** that are currently not handled. These mappings are placed in new dedicated files to avoid mixing non-standard symbols with the ISO C/C++ standard library mappings. * Addresses and **closes multiple open issues**: * Closes https://github.com/llvm/llvm-project/issues/64336 – `timeval` * Closes https://github.com/llvm/llvm-project/issues/76567 – `strsignal` * Closes https://github.com/llvm/llvm-project/issues/89844 & closes https://github.com/llvm/llvm-project/issues/120830 – `signal` * Closes https://github.com/llvm/llvm-project/issues/134818 – `errno` Example diagnostic message from `clangd`: `No header providing "pthread_t" is directly included (fixes available) - clangd(missing-includes)` --- ### **Questions** We would appreciate input on the following points: 1. **Is the existing proposal in https://github.com/llvm/llvm-project/pull/66089 still planned to be completed?** * It appears to introduce a more general solution that aligns closely with the logic of [IWYU's implementation](https://github.com/include-what-you-use/include-what-you-use/blob/master/iwyu_include_picker.cc#L346) and could potentially cover both standard and POSIX symbols in a unified way. Basically, it maps private headers to public headers, instead of symbols to public headers. This might simplify future contributions and extensions. 2. **Is it appropriate to maintain POSIX mappings in separate files**, or should we integrate them into the existing mapping files despite them not being part of the standard library? 3. **Is it ok to map some POSIX symbols (e.g. `strsignal`) also to C++ headers (``), or should they map to C headers (``) only? Thanks in advance for your time and feedback! From c4681dfa8da9ba90418525f32a3d1968366174d2 Mon Sep 17 00:00:00 2001 From: Ildiko Cseri Date: Wed, 18 Jun 2025 12:58:34 + Subject: [PATCH] [include-cleaner] Add POSIX symbol mappings Add POSIX symbol-to-header mappings (e.g., `timeval`, `strsignal`, `signal`, `errno`) in new dedicated mapping files to avoid mixing with standard library mappings. Closes several related issues: #64336, #76567, #89844, #120830, #134818. Co-authored-by: itislu --- .../Inclusions/Stdlib/CPosixSymbolMap.inc | 347 + .../Inclusions/Stdlib/CxxPosixSymbolMap.inc | 458 ++ .../Inclusions/Stdlib/StandardLibrary.cpp | 12 + 3 files changed, 817 insertions(+) create mode 100644 clang/lib/Tooling/Inclusions/Stdlib/CPosixSymbolMap.inc create mode 100644 clang/lib/Tooling/Inclusions/Stdlib/CxxPosixSymbolMap.inc diff --git a/clang/lib/Tooling/Inclusions/Stdlib/CPosixSymbolMap.inc b/clang/lib/Tooling/Inclusions/Stdlib/CPosixSymbolMap.inc new file mode 100644 index 0..ab967dd193c4c --- /dev/null +++ b/clang/lib/Tooling/Inclusions/Stdlib/CPosixSymbolMap.inc @@ -0,0 +1,347 @@ +//===-- CPosixSymbolMap.inc ---*- C -*-===// +// +// This is a hand-curated list for C POSIX symbols that cannot be +// parsed/extracted via the include-mapping tool (gen_std.py). +// +//===--===// + +// clang-format off +// prevent breaking -> + +// errno.h +SYMBOL(E2BIG, None, ) +SYMBOL(EACCES, None, ) +SYMBOL(EADDRINUSE, None, ) +SYMBOL(EADDRNOTAVAIL, None, ) +SYMBOL(EAFNOSUPPORT, None, ) +SYMBOL(EAGAIN, None, ) +SYMBOL(EALREADY, None, ) +SYMBOL(EBADE, None, ) +SYMBOL(EBADF, None, ) +SYMBOL(EBADFD, None, ) +SYMBOL(EBADMSG, None, ) +SYMBOL(EBADR, None, ) +SYMBOL(EBADRQC, None, ) +SYMBOL(EBADSLT, None, ) +SYMBOL(EBUSY, None, ) +SYMBOL(ECANCELED, None, ) +SYMBOL(ECHILD, None, ) +SYMBOL(ECHRNG, None, ) +SYMBOL(ECOMM, None, ) +SYMBOL(ECONNABORTED, None, ) +SYMBOL(ECONNREFUSED, None, ) +SYMBOL(ECONNRESET, None, ) +SYMBOL(EDEADLK, None, ) +SYMBOL(EDEADLOCK, None, ) +SYMBOL(EDESTADDRREQ, None, ) +SYMBOL(EDQUOT, None, ) +SYMBOL(EEXIST, None, ) +SYMBOL(EFAULT, None, ) +SYMBOL(EFBIG, None, ) +SYMBOL(EHOSTDOWN, None, ) +SYMBOL(EHOSTUNREACH, None, ) +SYMBOL(EHWPOISON, None, ) +SYMBOL(EIDRM, None, ) +SYMBOL(EINPROGRESS, None, ) +SYMBOL(EINTR, None, ) +SYMBOL(EINVAL, None, ) +SYMBOL(EIO, None, ) +SYMBOL(EISCONN, None, ) +SYMBOL(EISDIR, None, ) +SYMBOL(EISNAM, None, ) +SYMBOL(EKEYEXPIRED, None, ) +SYMBOL(EKEYREJECTED, None, ) +SYMBOL(EKEYREVOKED, None, ) +SYMBOL(EL2HLT, None, ) +SYMBOL(EL2NSYNC, None, ) +SYMBOL(EL3HLT, None, ) +SYMBOL(EL3RST, None, ) +SYMBOL(ELIBACC, None, ) +SYMBOL(ELIBBAD, None, ) +SYMBOL(ELIBMAX, None, ) +SYMBOL(ELIBSCN, None, ) +SYMBOL(ELIBEXEC, None, ) +SYMBOL(ELNRNG, None, ) +SYMBOL(ELOOP, No
[clang] [include-cleaner] Add POSIX symbol mappings (PR #144748)
https://github.com/cseriildi updated https://github.com/llvm/llvm-project/pull/144748 From c4681dfa8da9ba90418525f32a3d1968366174d2 Mon Sep 17 00:00:00 2001 From: Ildiko Cseri Date: Wed, 18 Jun 2025 12:58:34 + Subject: [PATCH] [include-cleaner] Add POSIX symbol mappings Add POSIX symbol-to-header mappings (e.g., `timeval`, `strsignal`, `signal`, `errno`) in new dedicated mapping files to avoid mixing with standard library mappings. Closes several related issues: #64336, #76567, #89844, #120830, #134818. Co-authored-by: itislu --- .../Inclusions/Stdlib/CPosixSymbolMap.inc | 347 + .../Inclusions/Stdlib/CxxPosixSymbolMap.inc | 458 ++ .../Inclusions/Stdlib/StandardLibrary.cpp | 12 + 3 files changed, 817 insertions(+) create mode 100644 clang/lib/Tooling/Inclusions/Stdlib/CPosixSymbolMap.inc create mode 100644 clang/lib/Tooling/Inclusions/Stdlib/CxxPosixSymbolMap.inc diff --git a/clang/lib/Tooling/Inclusions/Stdlib/CPosixSymbolMap.inc b/clang/lib/Tooling/Inclusions/Stdlib/CPosixSymbolMap.inc new file mode 100644 index 0..ab967dd193c4c --- /dev/null +++ b/clang/lib/Tooling/Inclusions/Stdlib/CPosixSymbolMap.inc @@ -0,0 +1,347 @@ +//===-- CPosixSymbolMap.inc ---*- C -*-===// +// +// This is a hand-curated list for C POSIX symbols that cannot be +// parsed/extracted via the include-mapping tool (gen_std.py). +// +//===--===// + +// clang-format off +// prevent breaking -> + +// errno.h +SYMBOL(E2BIG, None, ) +SYMBOL(EACCES, None, ) +SYMBOL(EADDRINUSE, None, ) +SYMBOL(EADDRNOTAVAIL, None, ) +SYMBOL(EAFNOSUPPORT, None, ) +SYMBOL(EAGAIN, None, ) +SYMBOL(EALREADY, None, ) +SYMBOL(EBADE, None, ) +SYMBOL(EBADF, None, ) +SYMBOL(EBADFD, None, ) +SYMBOL(EBADMSG, None, ) +SYMBOL(EBADR, None, ) +SYMBOL(EBADRQC, None, ) +SYMBOL(EBADSLT, None, ) +SYMBOL(EBUSY, None, ) +SYMBOL(ECANCELED, None, ) +SYMBOL(ECHILD, None, ) +SYMBOL(ECHRNG, None, ) +SYMBOL(ECOMM, None, ) +SYMBOL(ECONNABORTED, None, ) +SYMBOL(ECONNREFUSED, None, ) +SYMBOL(ECONNRESET, None, ) +SYMBOL(EDEADLK, None, ) +SYMBOL(EDEADLOCK, None, ) +SYMBOL(EDESTADDRREQ, None, ) +SYMBOL(EDQUOT, None, ) +SYMBOL(EEXIST, None, ) +SYMBOL(EFAULT, None, ) +SYMBOL(EFBIG, None, ) +SYMBOL(EHOSTDOWN, None, ) +SYMBOL(EHOSTUNREACH, None, ) +SYMBOL(EHWPOISON, None, ) +SYMBOL(EIDRM, None, ) +SYMBOL(EINPROGRESS, None, ) +SYMBOL(EINTR, None, ) +SYMBOL(EINVAL, None, ) +SYMBOL(EIO, None, ) +SYMBOL(EISCONN, None, ) +SYMBOL(EISDIR, None, ) +SYMBOL(EISNAM, None, ) +SYMBOL(EKEYEXPIRED, None, ) +SYMBOL(EKEYREJECTED, None, ) +SYMBOL(EKEYREVOKED, None, ) +SYMBOL(EL2HLT, None, ) +SYMBOL(EL2NSYNC, None, ) +SYMBOL(EL3HLT, None, ) +SYMBOL(EL3RST, None, ) +SYMBOL(ELIBACC, None, ) +SYMBOL(ELIBBAD, None, ) +SYMBOL(ELIBMAX, None, ) +SYMBOL(ELIBSCN, None, ) +SYMBOL(ELIBEXEC, None, ) +SYMBOL(ELNRNG, None, ) +SYMBOL(ELOOP, None, ) +SYMBOL(EMEDIUMTYPE, None, ) +SYMBOL(EMFILE, None, ) +SYMBOL(EMLINK, None, ) +SYMBOL(EMSGSIZE, None, ) +SYMBOL(EMULTIHOP, None, ) +SYMBOL(ENAMETOOLONG, None, ) +SYMBOL(ENETDOWN, None, ) +SYMBOL(ENETRESET, None, ) +SYMBOL(ENETUNREACH, None, ) +SYMBOL(ENFILE, None, ) +SYMBOL(ENOANO, None, ) +SYMBOL(ENOBUFS, None, ) +SYMBOL(ENODATA, None, ) +SYMBOL(ENODEV, None, ) +SYMBOL(ENOENT, None, ) +SYMBOL(ENOEXEC, None, ) +SYMBOL(ENOKEY, None, ) +SYMBOL(ENOLCK, None, ) +SYMBOL(ENOLINK, None, ) +SYMBOL(ENOMEDIUM, None, ) +SYMBOL(ENOMEM, None, ) +SYMBOL(ENOMSG, None, ) +SYMBOL(ENONET, None, ) +SYMBOL(ENOPKG, None, ) +SYMBOL(ENOPROTOOPT, None, ) +SYMBOL(ENOSPC, None, ) +SYMBOL(ENOSR, None, ) +SYMBOL(ENOSTR, None, ) +SYMBOL(ENOSYS, None, ) +SYMBOL(ENOTBLK, None, ) +SYMBOL(ENOTCONN, None, ) +SYMBOL(ENOTDIR, None, ) +SYMBOL(ENOTEMPTY, None, ) +SYMBOL(ENOTRECOVERABLE, None, ) +SYMBOL(ENOTSOCK, None, ) +SYMBOL(ENOTSUP, None, ) +SYMBOL(ENOTTY, None, ) +SYMBOL(ENOTUNIQ, None, ) +SYMBOL(ENXIO, None, ) +SYMBOL(EOPNOTSUPP, None, ) +SYMBOL(EOVERFLOW, None, ) +SYMBOL(EOWNERDEAD, None, ) +SYMBOL(EPERM, None, ) +SYMBOL(EPFNOSUPPORT, None, ) +SYMBOL(EPIPE, None, ) +SYMBOL(EPROTO, None, ) +SYMBOL(EPROTONOSUPPORT, None, ) +SYMBOL(EPROTOTYPE, None, ) +SYMBOL(EREMCHG, None, ) +SYMBOL(EREMOTE, None, ) +SYMBOL(EREMOTEIO, None, ) +SYMBOL(ERESTART, None, ) +SYMBOL(ERFKILL, None, ) +SYMBOL(EROFS, None, ) +SYMBOL(ESHUTDOWN, None, ) +SYMBOL(ESPIPE, None, ) +SYMBOL(ESOCKTNOSUPPORT, None, ) +SYMBOL(ESRCH, None, ) +SYMBOL(ESTALE, None, ) +SYMBOL(ESTRPIPE, None, ) +SYMBOL(ETIME, None, ) +SYMBOL(ETIMEDOUT, None, ) +SYMBOL(ETOOMANYREFS, None, ) +SYMBOL(ETXTBSY, None, ) +SYMBOL(EUCLEAN, None, ) +SYMBOL(EUNATCH, None, ) +SYMBOL(EUSERS, None, ) +SYMBOL(EWOULDBLOCK, None, ) +SYMBOL(EXDEV, None, ) +SYMBOL(EXFULL, None, ) + +// limits.h +SYMBOL(SSIZE_MAX, None, ) + +// pthread.h +SYMBOL(pthread_attr_t, None, ) +SYMBOL(pthread_attr_t, None, ) +SYMBOL(pthread_attr_t, None, ) +SYMBOL(pthread_barrier_t, None, ) +SYMBOL(pthread_barrier_t, None, ) +SYMBOL(pthread_bar
[clang] [include-cleaner] Add POSIX symbol mappings (PR #144748)
https://github.com/cseriildi edited https://github.com/llvm/llvm-project/pull/144748 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [include-cleaner] Update generated include mappings (PR #144751)
https://github.com/cseriildi edited https://github.com/llvm/llvm-project/pull/144751 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [include-cleaner] Add POSIX symbol mappings (PR #144748)
https://github.com/cseriildi edited https://github.com/llvm/llvm-project/pull/144748 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [include-cleaner] Support multi-header symbols in mapping generator (PR #147720)
cseriildi wrote: Hi @kadircet, this might be of interest to you. https://github.com/llvm/llvm-project/pull/147720 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [include-cleaner] Support multi-header symbols in mapping generator (PR #147720)
https://github.com/cseriildi edited https://github.com/llvm/llvm-project/pull/147720 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [include-cleaner] Update generated include mappings (PR #144751)
https://github.com/cseriildi closed https://github.com/llvm/llvm-project/pull/144751 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits