Index: sys/sys/cdefs.h =================================================================== --- sys/sys/cdefs.h +++ sys/sys/cdefs.h @@ -718,6 +718,21 @@ #define __POSIX_VISIBLE 198808 #define __ISO_C_VISIBLE 0 #endif /* _POSIX_C_SOURCE */ +/* + * glibc enables c11 features when _ISOC11_SOURCE is defined, or when compiling + * with -stdc=c11. It's not clear that doing this automatically is standard + * compliant. However, defining _ISOC11_SOURCE to enable is compatible with + * glibc; standards compliant; and easy enough to do to enable in a Makefile + * when porting. We implement this glibc extension, though it has not yet been + * standardized. The various POSIX-1 standard issues allow enabling additional + * interfaces only when certain feature test macros are defined, which is why + * it's not clear that doing so automatically when in C11 mode is correct, + * especially if that's the compiler default. + */ +#if _ISOC11_SOURCE +#undef __ISO_C_VISIBLE +#define __ISO_C_VISIBLE 2011 +#endif #else /*- * Deal with _ANSI_SOURCE: