What are the errors? I can build libstdc++ on gcc111.
Does this patch help?
diff --git a/libstdc++-v3/src/c++11/cow-stdexcept.cc b/libstdc++-v3/src/c++11/cow-stdexcept.cc index afc3f6c..8a1b65a 100644 --- a/libstdc++-v3/src/c++11/cow-stdexcept.cc +++ b/libstdc++-v3/src/c++11/cow-stdexcept.cc @@ -27,6 +27,7 @@ // // Enable hooks for support for the Transactional Memory TS (N4514). +#if __cpp_transactional_memory >= 201505L #define _GLIBCXX_TM_TS_INTERNAL void _txnal_cow_string_C1_for_exceptions(void* that, const char* s, void* exc); @@ -40,6 +41,7 @@ void* _txnal_logic_error_get_msg(void* e); void* _txnal_runtime_error_get_msg(void* e); +#endif // All exception classes still use the classic COW std::string. #define _GLIBCXX_USE_CXX11_ABI 0 @@ -167,6 +169,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace +#if __cpp_transactional_memory >= 201505L // Support for the Transactional Memory TS (N4514). // // logic_error and runtime_error both carry a message in the form of a COW @@ -440,3 +443,4 @@ CTORDTOR(14overflow_error, std::overflow_error, runtime_error) CTORDTOR(15underflow_error, std::underflow_error, runtime_error) } +#endif