[PATCH] libstdc++: Make <meta> header compatible with -fno-asm

Jonathan Wakely jwakely@redhat.com
Mon Mar 9 17:12:15 GMT 2026


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.
---

Tested x86_64-linux.

 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
 	}
-- 
2.53.0



More information about the Libstdc++ mailing list