Skip to content

[include-cleaner] Add POSIX symbol mappings #144748

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
347 changes: 347 additions & 0 deletions clang/lib/Tooling/Inclusions/Stdlib/CPosixSymbolMap.inc
Original file line number Diff line number Diff line change
@@ -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 <sys/types.h> -> <sys / types.h>

// errno.h
SYMBOL(E2BIG, None, <errno.h>)
SYMBOL(EACCES, None, <errno.h>)
SYMBOL(EADDRINUSE, None, <errno.h>)
SYMBOL(EADDRNOTAVAIL, None, <errno.h>)
SYMBOL(EAFNOSUPPORT, None, <errno.h>)
SYMBOL(EAGAIN, None, <errno.h>)
SYMBOL(EALREADY, None, <errno.h>)
SYMBOL(EBADE, None, <errno.h>)
SYMBOL(EBADF, None, <errno.h>)
SYMBOL(EBADFD, None, <errno.h>)
SYMBOL(EBADMSG, None, <errno.h>)
SYMBOL(EBADR, None, <errno.h>)
SYMBOL(EBADRQC, None, <errno.h>)
SYMBOL(EBADSLT, None, <errno.h>)
SYMBOL(EBUSY, None, <errno.h>)
SYMBOL(ECANCELED, None, <errno.h>)
SYMBOL(ECHILD, None, <errno.h>)
SYMBOL(ECHRNG, None, <errno.h>)
SYMBOL(ECOMM, None, <errno.h>)
SYMBOL(ECONNABORTED, None, <errno.h>)
SYMBOL(ECONNREFUSED, None, <errno.h>)
SYMBOL(ECONNRESET, None, <errno.h>)
SYMBOL(EDEADLK, None, <errno.h>)
SYMBOL(EDEADLOCK, None, <errno.h>)
SYMBOL(EDESTADDRREQ, None, <errno.h>)
SYMBOL(EDQUOT, None, <errno.h>)
SYMBOL(EEXIST, None, <errno.h>)
SYMBOL(EFAULT, None, <errno.h>)
SYMBOL(EFBIG, None, <errno.h>)
SYMBOL(EHOSTDOWN, None, <errno.h>)
SYMBOL(EHOSTUNREACH, None, <errno.h>)
SYMBOL(EHWPOISON, None, <errno.h>)
SYMBOL(EIDRM, None, <errno.h>)
SYMBOL(EINPROGRESS, None, <errno.h>)
SYMBOL(EINTR, None, <errno.h>)
SYMBOL(EINVAL, None, <errno.h>)
SYMBOL(EIO, None, <errno.h>)
SYMBOL(EISCONN, None, <errno.h>)
SYMBOL(EISDIR, None, <errno.h>)
SYMBOL(EISNAM, None, <errno.h>)
SYMBOL(EKEYEXPIRED, None, <errno.h>)
SYMBOL(EKEYREJECTED, None, <errno.h>)
SYMBOL(EKEYREVOKED, None, <errno.h>)
SYMBOL(EL2HLT, None, <errno.h>)
SYMBOL(EL2NSYNC, None, <errno.h>)
SYMBOL(EL3HLT, None, <errno.h>)
SYMBOL(EL3RST, None, <errno.h>)
SYMBOL(ELIBACC, None, <errno.h>)
SYMBOL(ELIBBAD, None, <errno.h>)
SYMBOL(ELIBMAX, None, <errno.h>)
SYMBOL(ELIBSCN, None, <errno.h>)
SYMBOL(ELIBEXEC, None, <errno.h>)
SYMBOL(ELNRNG, None, <errno.h>)
SYMBOL(ELOOP, None, <errno.h>)
SYMBOL(EMEDIUMTYPE, None, <errno.h>)
SYMBOL(EMFILE, None, <errno.h>)
SYMBOL(EMLINK, None, <errno.h>)
SYMBOL(EMSGSIZE, None, <errno.h>)
SYMBOL(EMULTIHOP, None, <errno.h>)
SYMBOL(ENAMETOOLONG, None, <errno.h>)
SYMBOL(ENETDOWN, None, <errno.h>)
SYMBOL(ENETRESET, None, <errno.h>)
SYMBOL(ENETUNREACH, None, <errno.h>)
SYMBOL(ENFILE, None, <errno.h>)
SYMBOL(ENOANO, None, <errno.h>)
SYMBOL(ENOBUFS, None, <errno.h>)
SYMBOL(ENODATA, None, <errno.h>)
SYMBOL(ENODEV, None, <errno.h>)
SYMBOL(ENOENT, None, <errno.h>)
SYMBOL(ENOEXEC, None, <errno.h>)
SYMBOL(ENOKEY, None, <errno.h>)
SYMBOL(ENOLCK, None, <errno.h>)
SYMBOL(ENOLINK, None, <errno.h>)
SYMBOL(ENOMEDIUM, None, <errno.h>)
SYMBOL(ENOMEM, None, <errno.h>)
SYMBOL(ENOMSG, None, <errno.h>)
SYMBOL(ENONET, None, <errno.h>)
SYMBOL(ENOPKG, None, <errno.h>)
SYMBOL(ENOPROTOOPT, None, <errno.h>)
SYMBOL(ENOSPC, None, <errno.h>)
SYMBOL(ENOSR, None, <errno.h>)
SYMBOL(ENOSTR, None, <errno.h>)
SYMBOL(ENOSYS, None, <errno.h>)
SYMBOL(ENOTBLK, None, <errno.h>)
SYMBOL(ENOTCONN, None, <errno.h>)
SYMBOL(ENOTDIR, None, <errno.h>)
SYMBOL(ENOTEMPTY, None, <errno.h>)
SYMBOL(ENOTRECOVERABLE, None, <errno.h>)
SYMBOL(ENOTSOCK, None, <errno.h>)
SYMBOL(ENOTSUP, None, <errno.h>)
SYMBOL(ENOTTY, None, <errno.h>)
SYMBOL(ENOTUNIQ, None, <errno.h>)
SYMBOL(ENXIO, None, <errno.h>)
SYMBOL(EOPNOTSUPP, None, <errno.h>)
SYMBOL(EOVERFLOW, None, <errno.h>)
SYMBOL(EOWNERDEAD, None, <errno.h>)
SYMBOL(EPERM, None, <errno.h>)
SYMBOL(EPFNOSUPPORT, None, <errno.h>)
SYMBOL(EPIPE, None, <errno.h>)
SYMBOL(EPROTO, None, <errno.h>)
SYMBOL(EPROTONOSUPPORT, None, <errno.h>)
SYMBOL(EPROTOTYPE, None, <errno.h>)
SYMBOL(EREMCHG, None, <errno.h>)
SYMBOL(EREMOTE, None, <errno.h>)
SYMBOL(EREMOTEIO, None, <errno.h>)
SYMBOL(ERESTART, None, <errno.h>)
SYMBOL(ERFKILL, None, <errno.h>)
SYMBOL(EROFS, None, <errno.h>)
SYMBOL(ESHUTDOWN, None, <errno.h>)
SYMBOL(ESPIPE, None, <errno.h>)
SYMBOL(ESOCKTNOSUPPORT, None, <errno.h>)
SYMBOL(ESRCH, None, <errno.h>)
SYMBOL(ESTALE, None, <errno.h>)
SYMBOL(ESTRPIPE, None, <errno.h>)
SYMBOL(ETIME, None, <errno.h>)
SYMBOL(ETIMEDOUT, None, <errno.h>)
SYMBOL(ETOOMANYREFS, None, <errno.h>)
SYMBOL(ETXTBSY, None, <errno.h>)
SYMBOL(EUCLEAN, None, <errno.h>)
SYMBOL(EUNATCH, None, <errno.h>)
SYMBOL(EUSERS, None, <errno.h>)
SYMBOL(EWOULDBLOCK, None, <errno.h>)
SYMBOL(EXDEV, None, <errno.h>)
SYMBOL(EXFULL, None, <errno.h>)

// limits.h
SYMBOL(SSIZE_MAX, None, <limits.h>)

// pthread.h
SYMBOL(pthread_attr_t, None, <pthread.h>)
SYMBOL(pthread_attr_t, None, <sys/types.h>)
SYMBOL(pthread_attr_t, None, <signal.h>)
SYMBOL(pthread_barrier_t, None, <pthread.h>)
SYMBOL(pthread_barrier_t, None, <sys/types.h>)
SYMBOL(pthread_barrierattr_t, None, <pthread.h>)
SYMBOL(pthread_barrierattr_t, None, <sys/types.h>)
SYMBOL(pthread_cond_t, None, <pthread.h>)
SYMBOL(pthread_cond_t, None, <sys/types.h>)
SYMBOL(pthread_condattr_t, None, <pthread.h>)
SYMBOL(pthread_condattr_t, None, <sys/types.h>)
SYMBOL(pthread_key_t, None, <pthread.h>)
SYMBOL(pthread_key_t, None, <sys/types.h>)
SYMBOL(pthread_mutex_t, None, <pthread.h>)
SYMBOL(pthread_mutex_t, None, <sys/types.h>)
SYMBOL(pthread_mutexattr_t, None, <pthread.h>)
SYMBOL(pthread_mutexattr_t, None, <sys/types.h>)
SYMBOL(pthread_once_t, None, <pthread.h>)
SYMBOL(pthread_once_t, None, <sys/types.h>)
SYMBOL(pthread_rwlock_t, None, <pthread.h>)
SYMBOL(pthread_rwlock_t, None, <sys/types.h>)
SYMBOL(pthread_rwlockattr_t, None, <pthread.h>)
SYMBOL(pthread_rwlockattr_t, None, <sys/types.h>)
SYMBOL(pthread_spinlock_t, None, <pthread.h>)
SYMBOL(pthread_spinlock_t, None, <sys/types.h>)
SYMBOL(pthread_t, None, <pthread.h>)
SYMBOL(pthread_t, None, <signal.h>)
SYMBOL(pthread_t, None, <sys/types.h>)

// signal.h - as of POSIX.1-2024
// https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/signal.h.html
SYMBOL(sigset_t, None, <signal.h>)
SYMBOL(sigevent, None, <signal.h>)
SYMBOL(SIGEV_NONE, None, <signal.h>)
SYMBOL(SIGEV_SIGNAL, None, <signal.h>)
SYMBOL(SIGEV_THREAD, None, <signal.h>)
SYMBOL(sigval, None, <signal.h>)
SYMBOL(SIGRTMIN, None, <signal.h>)
SYMBOL(SIGRTMAX, None, <signal.h>)
SYMBOL(SIG2STR_MAX, None, <signal.h>)
// The ISO C standard only requires the signal names SIGABRT, SIGFPE, SIGILL,
// SIGINT, SIGSEGV, and SIGTERM to be defined. Those are picked up by the
// script.
SYMBOL(SIGALRM, None, <signal.h>)
SYMBOL(SIGBUS, None, <signal.h>)
SYMBOL(SIGCHLD, None, <signal.h>)
SYMBOL(SIGCONT, None, <signal.h>)
SYMBOL(SIGHUP, None, <signal.h>)
SYMBOL(SIGKILL, None, <signal.h>)
SYMBOL(SIGPIPE, None, <signal.h>)
SYMBOL(SIGQUIT, None, <signal.h>)
SYMBOL(SIGSTOP, None, <signal.h>)
SYMBOL(SIGTSTP, None, <signal.h>)
SYMBOL(SIGTTIN, None, <signal.h>)
SYMBOL(SIGTTOU, None, <signal.h>)
SYMBOL(SIGUSR1, None, <signal.h>)
SYMBOL(SIGUSR2, None, <signal.h>)
SYMBOL(SIGWINCH, None, <signal.h>)
SYMBOL(SIGSYS, None, <signal.h>)
SYMBOL(SIGTRAP, None, <signal.h>)
SYMBOL(SIGURG, None, <signal.h>)
SYMBOL(SIGVTALRM, None, <signal.h>)
SYMBOL(SIGXCPU, None, <signal.h>)
SYMBOL(SIGXFSZ, None, <signal.h>)
SYMBOL(SIG_BLOCK, None, <signal.h>)
SYMBOL(SIG_UNBLOCK, None, <signal.h>)
SYMBOL(SIG_SETMASK, None, <signal.h>)
SYMBOL(SA_NOCLDSTOP, None, <signal.h>)
SYMBOL(SA_ONSTACK, None, <signal.h>)
SYMBOL(SA_RESETHAND, None, <signal.h>)
SYMBOL(SA_RESTART, None, <signal.h>)
SYMBOL(SA_SIGINFO, None, <signal.h>)
SYMBOL(SA_NOCLDWAIT, None, <signal.h>)
SYMBOL(SA_NODEFER, None, <signal.h>)
SYMBOL(SS_ONSTACK, None, <signal.h>)
SYMBOL(SS_DISABLE, None, <signal.h>)
SYMBOL(MINSIGSTKSZ, None, <signal.h>)
SYMBOL(SIGSTKSZ, None, <signal.h>)
SYMBOL(mcontext_t, None, <signal.h>)
SYMBOL(ucontext_t, None, <signal.h>)
SYMBOL(stack_t, None, <signal.h>)
SYMBOL(siginfo_t, None, <signal.h>)
SYMBOL(ILL_ILLOPC, None, <signal.h>)
SYMBOL(ILL_ILLOPN, None, <signal.h>)
SYMBOL(ILL_ILLADR, None, <signal.h>)
SYMBOL(ILL_ILLTRP, None, <signal.h>)
SYMBOL(ILL_PRVOPC, None, <signal.h>)
SYMBOL(ILL_PRVREG, None, <signal.h>)
SYMBOL(ILL_COPROC, None, <signal.h>)
SYMBOL(ILL_BADSTK, None, <signal.h>)
SYMBOL(FPE_INTDIV, None, <signal.h>)
SYMBOL(FPE_INTOVF, None, <signal.h>)
SYMBOL(FPE_FLTDIV, None, <signal.h>)
SYMBOL(FPE_FLTOVF, None, <signal.h>)
SYMBOL(FPE_FLTUND, None, <signal.h>)
SYMBOL(FPE_FLTRES, None, <signal.h>)
SYMBOL(FPE_FLTINV, None, <signal.h>)
SYMBOL(FPE_FLTSUB, None, <signal.h>)
SYMBOL(SEGV_MAPERR, None, <signal.h>)
SYMBOL(SEGV_ACCERR, None, <signal.h>)
SYMBOL(BUS_ADRALN, None, <signal.h>)
SYMBOL(BUS_ADRERR, None, <signal.h>)
SYMBOL(BUS_OBJERR, None, <signal.h>)
SYMBOL(TRAP_BRKPT, None, <signal.h>)
SYMBOL(TRAP_TRACE, None, <signal.h>)
SYMBOL(CLD_EXITED, None, <signal.h>)
SYMBOL(CLD_KILLED, None, <signal.h>)
SYMBOL(CLD_DUMPED, None, <signal.h>)
SYMBOL(CLD_TRAPPED, None, <signal.h>)
SYMBOL(CLD_STOPPED, None, <signal.h>)
SYMBOL(CLD_CONTINUED, None, <signal.h>)
SYMBOL(SI_USER, None, <signal.h>)
SYMBOL(SI_QUEUE, None, <signal.h>)
SYMBOL(SI_TIMER, None, <signal.h>)
SYMBOL(SI_ASYNCIO, None, <signal.h>)
SYMBOL(SI_MESGQ, None, <signal.h>)
SYMBOL(kill, None, <signal.h>)
SYMBOL(killpg, None, <signal.h>)
SYMBOL(psiginfo, None, <signal.h>)
SYMBOL(psignal, None, <signal.h>)
SYMBOL(pthread_kill, None, <signal.h>)
SYMBOL(pthread_sigmask, None, <signal.h>)
SYMBOL(sigaction, None, <signal.h>)
SYMBOL(sigaddset, None, <signal.h>)
SYMBOL(sigaltstack, None, <signal.h>)
SYMBOL(sigdelset, None, <signal.h>)
SYMBOL(sigemptyset, None, <signal.h>)
SYMBOL(sigfillset, None, <signal.h>)
SYMBOL(sighold, None, <signal.h>)
SYMBOL(sigignore, None, <signal.h>)
SYMBOL(siginterrupt, None, <signal.h>)
SYMBOL(sigismember, None, <signal.h>)
SYMBOL(sigpause, None, <signal.h>)
SYMBOL(sigpending, None, <signal.h>)
SYMBOL(sigprocmask, None, <signal.h>)
SYMBOL(sigqueue, None, <signal.h>)
SYMBOL(sigrelse, None, <signal.h>)
SYMBOL(sigset, None, <signal.h>)
SYMBOL(sigsuspend, None, <signal.h>)
SYMBOL(sigtimedwait, None, <signal.h>)
SYMBOL(sigwait, None, <signal.h>)
SYMBOL(sigwaitinfo, None, <signal.h>)
// Not in POSIX.1-2024 anymore
SYMBOL(SIG_HOLD, None, <signal.h>)
SYMBOL(sigstack, None, <signal.h>)
SYMBOL(bsd_signal, None, <signal.h>)
SYMBOL(sigmask, None, <signal.h>)
SYMBOL(SIGPOLL, None, <signal.h>)
SYMBOL(SIGPROF, None, <signal.h>)
SYMBOL(POLL_IN, None, <signal.h>)
SYMBOL(POLL_OUT, None, <signal.h>)
SYMBOL(POLL_MSG, None, <signal.h>)
SYMBOL(POLL_ERR, None, <signal.h>)
SYMBOL(POLL_PRI, None, <signal.h>)
SYMBOL(POLL_HUP, None, <signal.h>)

// sys/time.h
SYMBOL(timeval, None, <sys/time.h>)
SYMBOL(timeval, None, <sys/select.h>)

// sys/types.h
SYMBOL(gid_t, None, <sys/types.h>)
SYMBOL(gid_t, None, <grp.h>)
SYMBOL(gid_t, None, <pwd.h>)
SYMBOL(gid_t, None, <signal.h>)
SYMBOL(gid_t, None, <stropts.h>)
SYMBOL(gid_t, None, <sys/ipc.h>)
SYMBOL(gid_t, None, <sys/stat.h>)
SYMBOL(gid_t, None, <unistd.h>)
SYMBOL(id_t, None, <sys/types.h>)
SYMBOL(id_t, None, <sys/resource.h>)
SYMBOL(pid_t, None, <sys/types.h>)
SYMBOL(pid_t, None, <fcntl.h>)
SYMBOL(pid_t, None, <sched.h>)
SYMBOL(pid_t, None, <signal.h>)
SYMBOL(pid_t, None, <spawn.h>)
SYMBOL(pid_t, None, <sys/msg.h>)
SYMBOL(pid_t, None, <sys/sem.h>)
SYMBOL(pid_t, None, <sys/shm.h>)
SYMBOL(pid_t, None, <sys/wait.h>)
SYMBOL(pid_t, None, <termios.h>)
SYMBOL(pid_t, None, <time.h>)
SYMBOL(pid_t, None, <unistd.h>)
SYMBOL(pid_t, None, <utmpx.h>)
SYMBOL(uid_t, None, <sys/types.h>)
SYMBOL(uid_t, None, <pwd.h>)
SYMBOL(uid_t, None, <signal.h>)
SYMBOL(uid_t, None, <stropts.h>)
SYMBOL(uid_t, None, <sys/ipc.h>)
SYMBOL(uid_t, None, <sys/stat.h>)
SYMBOL(uid_t, None, <unistd.h>)

// sys/wait.h
SYMBOL(idtype_t, None, <sys/wait.h>)

// time.h
SYMBOL(clockid_t, None, <time.h>)
SYMBOL(clockid_t, None, <sys/types.h>)
SYMBOL(timer_t, None, <time.h>)
SYMBOL(timer_t, None, <sys/types.h>)
SYMBOL(CLOCK_MONOTONIC, None, <time.h>)
SYMBOL(CLOCK_PROCESS_CPUTIME_ID, None, <time.h>)
SYMBOL(CLOCK_REALTIME, None, <time.h>)
SYMBOL(CLOCK_THREAD_CPUTIME_ID, None, <time.h>)
SYMBOL(TIMER_ABSTIME, None, <time.h>)

// clang-format on
Loading