[libcxx-commits] [libcxx] [libc++][z/OS] Move z/OS to new locale API and resolve all name collisions (PR #165428)

Zibi Sarbinowski via libcxx-commits libcxx-commits at lists.llvm.org
Mon Dec 15 06:11:09 PST 2025


================
@@ -26,3 +26,79 @@
 #ifdef erase
 #  undef erase
 #endif
+
+#ifdef __islower
----------------
zibi2 wrote:

Here is a sample of a build error when `__islower` is not undefined. This is because `__islower` a macro in system header `ctype.h`.

```
include/c++/v1/__locale_dir/support/zos.h:162:53: error: too many arguments provided to function-like macro invocation
  162 | inline _LIBCPP_HIDE_FROM_ABI int __islower(int __c, __locale_t __loc) { return islower_l(__c, __loc); }
      |                                                     ^
../util/usr/include/ctype.h:387:11: note: macro '__islower' defined here
  387 |   #define __islower(c) (_TYPCHK((c),__ISLOWER))
      |           ^
```

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


More information about the libcxx-commits mailing list