[all-commits] [llvm/llvm-project] e56631: [libc][signal] clean up usage of sighandler_t (#12...

Nick Desaulniers via All-commits all-commits at lists.llvm.org
Fri Feb 7 10:44:18 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e566313a1fac1b290c98454cc52b485ae4f644c5
      https://github.com/llvm/llvm-project/commit/e566313a1fac1b290c98454cc52b485ae4f644c5
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M libc/hdr/types/CMakeLists.txt
    R libc/hdr/types/sighandler_t.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/gpu/signal-macros.h
    M libc/include/llvm-libc-macros/linux/signal-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    R libc/include/llvm-libc-types/__sighandler_t.h
    A libc/include/llvm-libc-types/sighandler_t.h
    M libc/include/llvm-libc-types/struct_sigaction.h
    M libc/include/signal.yaml
    M libc/src/signal/linux/CMakeLists.txt
    M libc/src/signal/linux/signal.cpp
    M libc/src/signal/signal.h
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/src/signal/CMakeLists.txt
    M libc/test/src/signal/signal_test.cpp

  Log Message:
  -----------
  [libc][signal] clean up usage of sighandler_t (#125745)


`man 3 signal`'s declaration has a face _only a mother could love_.

sighandler_t and __sighandler_t are not defined in the C standard, or POSIX.

They are helpful typedefs provided by glibc and the Linux kernel UAPI headers
respectively since working with function pointers' syntax can be painful. But
we should not rely on them; in C++ we have `auto*` and `using` statements.

Remove the proxy header, and only include a typedef for sighandler_t when
targeting Linux, for compatibility with glibc.

Fixes: #125598



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list