diff options
| author | Sam James <sam@gentoo.org> | 2024-03-12 23:35:48 +0000 |
|---|---|---|
| committer | Eli Schwartz <eschwartz93@gmail.com> | 2024-03-13 00:56:33 -0400 |
| commit | 675b47b0692131fae974298829ba807d730ab098 (patch) | |
| tree | fa3a276a8068b550482e26e32fb98211452c3d8f /docs/markdown/snippets/cpp-debug.md | |
| parent | eb74bb8dbf74ac22a02e369b6622ee0ef8b5d6a3 (diff) | |
| download | meson-675b47b0692131fae974298829ba807d730ab098.tar.gz | |
compilers: cpp: improve libc++ vs libstdc++ detection (again)
The previous approach wasn't great because you couldn't control what the
detected C++ stdlib impl was. We just had a preference list we tweaked the
searched order for per OS. That doesn't work great for e.g. Gentoo with libc++
or Gentoo Prefix on macOS where we might be using libstdc++ even though the host
is libc++.
Jonathan Wakely, the libstdc++ maintainer, gave a helpful answer on how
to best detect libc++ vs libstdc++ via macros on SO [0]. Implement it.
TL;DR: Use <version> from C++20 if we can, use <ciso646> otherwise. Check for
_LIBCPP_VERSION as libstdc++ doesn't always define a macro.
[0] https://stackoverflow.com/a/31658120
Signed-off-by: Sam James <sam@gentoo.org>
Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
Diffstat (limited to 'docs/markdown/snippets/cpp-debug.md')
0 files changed, 0 insertions, 0 deletions
