[all-commits] [llvm/llvm-project] bbff6d: [libc] Implement mkfifoat in sys/stat (#224628)

Aman Maurya via All-commits all-commits at lists.llvm.org
Tue Sep 22 02:33:44 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bbff6d83b2b538fc7e76813a5217affb398f8b86
      https://github.com/llvm/llvm-project/commit/bbff6d83b2b538fc7e76813a5217affb398f8b86
  Author: Aman Maurya <amanmaurya9209 at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/sys/stat.yaml
    M libc/src/sys/stat/CMakeLists.txt
    M libc/src/sys/stat/linux/CMakeLists.txt
    A libc/src/sys/stat/linux/mkfifoat.cpp
    A libc/src/sys/stat/mkfifoat.h
    M libc/test/src/sys/stat/CMakeLists.txt
    A libc/test/src/sys/stat/mkfifoat_test.cpp

  Log Message:
  -----------
  [libc] Implement mkfifoat in sys/stat (#224628)

### Summary
Implement the standard POSIX.1-2008 function `mkfifoat` in
`<sys/stat.h>`.

Fixes #224587

### Changes
- Added `mkfifoat` function specification to
`libc/include/sys/stat.yaml`.
- Added internal header `libc/src/sys/stat/mkfifoat.h`.
- Implemented `mkfifoat` in `libc/src/sys/stat/linux/mkfifoat.cpp` using
the existing `linux_syscalls::mknodat`.
- Registered `mkfifoat` entrypoint in `libc/src/sys/stat/CMakeLists.txt`
and `libc/src/sys/stat/linux/CMakeLists.txt`.
- Added entrypoint across Linux targets (`x86_64`, `aarch64`, `riscv`).
- Added hermetic unit tests in
`libc/test/src/sys/stat/mkfifoat_test.cpp` using `cpp::scope_exit`
cleanup and C++ `static_cast<mode_t>`.

### Testing
- Built and passed hermetic unit test
`libc.test.src.sys.stat.mkfifoat_test` (4/4 tests passed).
- Verified sibling tests (`mkfifo_test`, `fstat_test`).
- Ran `generate-libc-headers` and verified generated `sys/stat.h`.
- Verified `docgen.py sys/stat.h` output marks `mkfifoat` as
implemented.
- Ran `clang-format` on all touched C++ files.



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