https://gcc.gnu.org/g:3fcb690f3ca5b79e6aa9730c8ad2a1e5e7b3bb0c
commit r16-7965-g3fcb690f3ca5b79e6aa9730c8ad2a1e5e7b3bb0c Author: Jonathan Wakely <[email protected]> Date: Sat Mar 7 11:24:29 2026 +0000 libstdc++: Make <meta> header compatible with -fno-asm We currently only use 'asm' in .cc files (where we control the build flags) and in the experimental::simd headers. We could just say that -fno-asm is not compatible with libstdc++ and so using it is not supported, but we can also just make this small change. libstdc++-v3/ChangeLog: * include/std/meta (exception::what, access_context::via): Use __asm__ instead of asm keyword. Reviewed-by: Jakub Jelinek <[email protected]> Diff: --- libstdc++-v3/include/std/meta | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/include/std/meta b/libstdc++-v3/include/std/meta index 59a678037a16..2ed7708dcbf6 100644 --- a/libstdc++-v3/include/std/meta +++ b/libstdc++-v3/include/std/meta @@ -120,7 +120,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // from UTF-8 to ordinary literal encoding failed. // In that case what() should be non-constant. if (_M_what.size() == 0 && _M_u8what.size() != 0) - asm(""); + __asm__(""); return _M_what.c_str(); } consteval u8string_view u8what() const noexcept { return _M_u8what; } @@ -599,7 +599,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION "or complete class type reflection", ^^access_context::via); #else - asm(""); + __asm__(""); return *this; #endif }
