| @node memalignment | |
| @subsection @code{memalignment} | |
| @findex memalignment | |
| ISO C23 specification:@* @url{https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf} section 7.24.9.1 | |
| Gnulib module: --- | |
| Portability problems fixed by Gnulib: | |
| @itemize | |
| @end itemize | |
| Portability problems not fixed by Gnulib: | |
| @itemize | |
| @item | |
| This function is missing on most non-C23 platforms: | |
| glibc 2.42, macOS 14, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, Minix 3.3.0, AIX 7.3.1, HP-UX 11.31, Solaris 11.4, Cygwin 3.5.3, mingw, MSVC 14, Android 9.0. | |
| @end itemize | |
| To check whether a pointer @var{P} has alignment @var{A}, | |
| Gnulib code typically tests @code{(uintptr_t) @var{P} % @var{A}} | |
| instead of @code{memalignment (@var{P}) % @var{A}}. | |
| @xref{Other portability assumptions}. |