[libcxx-commits] [libcxx] [libc++] Switch FreeBSD CI job to Clang 17 (PR #86320)

Jonathan Wakely via libcxx-commits libcxx-commits at lists.llvm.org
Wed Mar 18 03:28:21 PDT 2026


jwakely wrote:

> It seems FreeBSD's libc is not standard compliant. /usr/include/fenv.h:266
> 
> ```
> __fenv_static inline int
> feclearexcept(int __excepts)
> ```
> 
> and `__fenv_static` is defined as `static`. This means `feclearexcept` has internal linkage. This is not allowed by the C standard and C++ modules can't export named declarations with internal linkage. So this is probably something to be fixed in FreeBSD.

We hit this in GCC too when I tried to build the `std` module as part of the GCC bootstrap. My workaround was to `#define __fenv_static` to empty before any C headers are included, which prevents the libc `fenv.h` from defining it as `static`. But I ended up reverting the changes to build the module, we will have to delay that until a later GCC release now :-(



https://github.com/llvm/llvm-project/pull/86320


More information about the libcxx-commits mailing list