https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93469
--- Comment #14 from Sergey Fedorov <vital.had at gmail dot com> ---
(In reply to Iain Sandoe from comment #13)
> (In reply to Sergey Fedorov from comment #12)
> > (In reply to Jonathan Wakely from comment #10)
> >
> > The same error happens even without the macro in question being passed, at
> > least explicitly. Getting it with gcc 14.2.0 and ICU 76.1 (on x86_64, but
> > not on powerpc).
>
> 10.15 (Catalina) should have aligned_alloc() whereas 10.5 does not. Look at
> what the (libstdc++-v3) build tree values for _GLIBCXX_HAVE_ALIGNED_ALLOC
> and HAVE_ALIGNED_ALLOC are.
>
> Then take a look at what the project is adding - it is quite possible that
> some other macro (e.g. *POSIX*) is preventing the declarations from being
> visible.
Ok, it is ICU bug, apparently:
```
#ifdef _XOPEN_SOURCE
/* Use the predefined value. */
#else
/*
* Version 6.0:
* The Open Group Base Specifications Issue 6 (IEEE Std 1003.1, 2004
Edition)
* also known as
* SUSv3 = Open Group Single UNIX Specification, Version 3 (UNIX03)
*
* Note: This definition used to be in C source code (e.g., putil.c)
* and define _XOPEN_SOURCE to different values depending on
__STDC_VERSION__.
* In C++ source code (e.g., putil.cpp), __STDC_VERSION__ is not defined at
all.
*/
# define _XOPEN_SOURCE 600
#endif
```