[PATCH] Use normal mode containers in searchers

Jonathan Wakely jwakely@redhat.com
Thu Oct 13 15:50:00 GMT 2016


We never want the searchers to use the debug mode or profile mode
containers.

	* include/experiumental/functional (boyer_moore_searcher)
	(__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
	with _GLIBCXX_STD_C.
	* include/std/functional: Likewise.

Tested powerpc64le-linux, committed to trunk.


-------------- next part --------------
commit 34bf8c32da5cc50b7ade97707f44e6b2cdcd86df
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Thu Oct 13 16:24:14 2016 +0100

    Use normal mode containers in searchers
    
    	* include/experiumental/functional (boyer_moore_searcher)
    	(__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
    	with _GLIBCXX_STD_C.
    	* include/std/functional: Likewise.

diff --git a/libstdc++-v3/include/experimental/functional b/libstdc++-v3/include/experimental/functional
index db45665..77e6e66 100644
--- a/libstdc++-v3/include/experimental/functional
+++ b/libstdc++-v3/include/experimental/functional
@@ -119,7 +119,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       _Pred
       _M_pred() const { return _M_bad_char.key_eq(); }
 
-      std::unordered_map<_Key, _Tp, _Hash, _Pred> _M_bad_char;
+      _GLIBCXX_STD_C::unordered_map<_Key, _Tp, _Hash, _Pred> _M_bad_char;
     };
 
   template<typename _Tp, size_t _Len, typename _Pred>
@@ -128,7 +128,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _RAIter, typename _Unused>
 	__boyer_moore_array_base(_RAIter __pat, size_t __patlen,
 				 _Unused&&, _Pred&& __pred)
-	: _M_bad_char{ std::array<_Tp, _Len>{}, std::move(__pred) }
+	: _M_bad_char{ _GLIBCXX_STD_C::array<_Tp, _Len>{}, std::move(__pred) }
 	{
 	  std::get<0>(_M_bad_char).fill(__patlen);
 	  if (__patlen > 0)
@@ -156,7 +156,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       const _Pred&
       _M_pred() const { return std::get<1>(_M_bad_char); }
 
-      std::tuple<std::array<_Tp, _Len>, _Pred> _M_bad_char;
+      std::tuple<_GLIBCXX_STD_C::array<_Tp, _Len>, _Pred> _M_bad_char;
     };
 
   template<typename _Pred>
@@ -229,7 +229,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
       _RAIter _M_pat;
       _RAIter _M_pat_end;
-      std::vector<__diff_type> _M_good_suffix;
+      _GLIBCXX_STD_C::vector<__diff_type> _M_good_suffix;
     };
 
   template<typename _RAIter, typename _Hash
diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional
index 3877033..8fc60dc 100644
--- a/libstdc++-v3/include/std/functional
+++ b/libstdc++-v3/include/std/functional
@@ -2206,7 +2206,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
       _Pred
       _M_pred() const { return _M_bad_char.key_eq(); }
 
-      std::unordered_map<_Key, _Tp, _Hash, _Pred> _M_bad_char;
+      _GLIBCXX_STD_C::unordered_map<_Key, _Tp, _Hash, _Pred> _M_bad_char;
     };
 
   template<typename _Tp, size_t _Len, typename _Pred>
@@ -2215,7 +2215,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
       template<typename _RAIter, typename _Unused>
 	__boyer_moore_array_base(_RAIter __pat, size_t __patlen,
 				 _Unused&&, _Pred&& __pred)
-	: _M_bad_char{ std::array<_Tp, _Len>{}, std::move(__pred) }
+	: _M_bad_char{ _GLIBCXX_STD_C::array<_Tp, _Len>{}, std::move(__pred) }
 	{
 	  std::get<0>(_M_bad_char).fill(__patlen);
 	  if (__patlen > 0)
@@ -2243,7 +2243,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
       const _Pred&
       _M_pred() const { return std::get<1>(_M_bad_char); }
 
-      std::tuple<std::array<_Tp, _Len>, _Pred> _M_bad_char;
+      std::tuple<_GLIBCXX_STD_C::array<_Tp, _Len>, _Pred> _M_bad_char;
     };
 
   template<typename _Pred>
@@ -2316,7 +2316,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
 
       _RAIter _M_pat;
       _RAIter _M_pat_end;
-      std::vector<__diff_type> _M_good_suffix;
+      _GLIBCXX_STD_C::vector<__diff_type> _M_good_suffix;
     };
 
   template<typename _RAIter, typename _Hash


More information about the Gcc-patches mailing list