[all-commits] [llvm/llvm-project] 442e59: [libc++] Add FreeBSD-specific EINTEGRITY errc value

Dimitry Andric via All-commits all-commits at lists.llvm.org
Thu Dec 28 05:59:48 PST 2023


  Branch: refs/heads/users/DimitryAndric/libcxx-add-eintegrity
  Home:   https://github.com/llvm/llvm-project
  Commit: 442e59bc4d137dc0df145652157d52c96afec9b7
      https://github.com/llvm/llvm-project/commit/442e59bc4d137dc0df145652157d52c96afec9b7
  Author: Dimitry Andric <dimitry at andric.com>
  Date:   2023-12-28 (Thu, 28 Dec 2023)

  Changed paths:
    M libcxx/include/__system_error/errc.h
    M libcxx/test/std/diagnostics/syserr/errc.pass.cpp

  Log Message:
  -----------
  [libc++] Add FreeBSD-specific EINTEGRITY errc value

Since ~2019 we have been carrying a libc++ patch in FreeBSD, that adds
the `EINTEGRITY` errno value. At the time, I submitted
https://reviews.llvm.org/D56398 for this, but due to the complicated
`ELAST` handling in `errno.h`, which that patch made even more
complicated, it was put on hold.

I would like to try this again, but much simplified: there is no need to
modify `errno.h`, since all supported versions of FreeBSD define both
`EOWNERDEAD` and `ENOTRECOVERABLE`, so the part that attempts to
redefine `ELAST` is effectively never used, and for FreeBSD we can
simply ignore it.

The only proposed changes will now be to optionally add `EINTEGRITY` as
an `enum errc` value, and add a corresponding test to `errc.pass.cpp`.


  Commit: 2c44487e5515ac2e3039c6c184a47e8e781add91
      https://github.com/llvm/llvm-project/commit/2c44487e5515ac2e3039c6c184a47e8e781add91
  Author: Dimitry Andric <dimitry at andric.com>
  Date:   2023-12-28 (Thu, 28 Dec 2023)

  Changed paths:
    M libcxx/docs/UsingLibcxx.rst
    M libcxx/include/__system_error/errc.h
    M libcxx/test/std/diagnostics/syserr/errc.pass.cpp

  Log Message:
  -----------
  Mark EINTEGRITY value as FreeBSD extension, and add subsection
"Extensions to <system_error>" to the "Libc++ Extensions" section in the
libcxx documentation.


Compare: https://github.com/llvm/llvm-project/compare/a04b4649945b...2c44487e5515


More information about the All-commits mailing list