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
        }

Reply via email to