Message ID | 20180822225427.GA17161@redhat.com |
---|---|
State | New |
Headers | show |
Series | PR libstdc++/87061 remove pmr type aliases for COW strings | expand |
diff --git a/libstdc++-v3/include/experimental/regex b/libstdc++-v3/include/experimental/regex index eb2af151245..633b396b312 100644 --- a/libstdc++-v3/include/experimental/regex +++ b/libstdc++-v3/include/experimental/regex @@ -44,6 +44,7 @@ namespace experimental { inline namespace fundamentals_v2 { +#if _GLIBCXX_USE_CXX11_ABI namespace pmr { template<typename _BidirectionalIterator> @@ -57,7 +58,7 @@ namespace pmr typedef match_results<wstring::const_iterator> wsmatch; } // namespace pmr - +#endif } // namespace fundamentals_v2 } // namespace experimental _GLIBCXX_END_NAMESPACE_VERSION diff --git a/libstdc++-v3/include/experimental/string b/libstdc++-v3/include/experimental/string index f101255d641..5a96bf78d73 100644 --- a/libstdc++-v3/include/experimental/string +++ b/libstdc++-v3/include/experimental/string @@ -62,6 +62,7 @@ inline namespace fundamentals_v2 __cont.end()); } +#if _GLIBCXX_USE_CXX11_ABI namespace pmr { // basic_string using polymorphic allocator in namespace pmr @@ -77,6 +78,7 @@ inline namespace fundamentals_v2 typedef basic_string<wchar_t> wstring; } // namespace pmr +#endif } // namespace fundamentals_v2 } // namespace experimental diff --git a/libstdc++-v3/include/std/regex b/libstdc++-v3/include/std/regex index f0dfa3f68ab..fd155658353 100644 --- a/libstdc++-v3/include/std/regex +++ b/libstdc++-v3/include/std/regex @@ -62,7 +62,7 @@ #include <bits/regex.h> #include <bits/regex_executor.h> -#if __cplusplus >= 201703L +#if __cplusplus >= 201703L && _GLIBCXX_USE_CXX11_ABI #include <memory_resource> namespace std _GLIBCXX_VISIBILITY(default) { diff --git a/libstdc++-v3/include/std/string b/libstdc++-v3/include/std/string index d3cc03aa179..dd60df2ba6e 100644 --- a/libstdc++-v3/include/std/string +++ b/libstdc++-v3/include/std/string @@ -52,7 +52,7 @@ #include <bits/basic_string.h> #include <bits/basic_string.tcc> -#if __cplusplus >= 201703L +#if __cplusplus >= 201703L && _GLIBCXX_USE_CXX11_ABI namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/types/pmr_typedefs.cc b/libstdc++-v3/testsuite/21_strings/basic_string/types/pmr_typedefs.cc index d20fc42901e..23956673792 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/types/pmr_typedefs.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/types/pmr_typedefs.cc @@ -17,6 +17,7 @@ // { dg-options "-std=gnu++17" } // { dg-do compile { target c++17 } } +// { dg-require-effective-target cxx11-abi } #include <string> #include <memory_resource> diff --git a/libstdc++-v3/testsuite/28_regex/match_results/pmr_typedefs.cc b/libstdc++-v3/testsuite/28_regex/match_results/pmr_typedefs.cc index 23aef39caf3..d97fcfeb75e 100644 --- a/libstdc++-v3/testsuite/28_regex/match_results/pmr_typedefs.cc +++ b/libstdc++-v3/testsuite/28_regex/match_results/pmr_typedefs.cc @@ -17,6 +17,7 @@ // { dg-options "-std=gnu++17" } // { dg-do compile { target c++17 } } +// { dg-require-effective-target cxx11-abi } #include <regex> #include <memory_resource>