]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fixes for --disable-libstdcxx-pch.
authorBenjamin Kosnik <bkoz@redhat.com>
Sat, 6 Oct 2007 03:06:37 +0000 (03:06 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Sat, 6 Oct 2007 03:06:37 +0000 (03:06 +0000)
2007-10-05  Benjamin Kosnik  <bkoz@redhat.com>

Fixes for --disable-libstdcxx-pch.
* include/ext/rc_string_base.h: Include stl_iterator_base_funcs.h.
* include/ext/vstring_util.h: Include stl_iterator.h and
numeric_traits.h.
* include/tr1/functional: Include new.
* testsuite/util/testsuite_api.h: Include exception.
* testsuite/lib/libstdc++.exp (libstdc++_init): Set
PCH_CXXFLAGS via cxxpchflags.

* testsuite/25_algorithms/binary_search/requirements/
explicit_instantiation/2.cc: Same.: Fix includes.
* testsuite/25_algorithms/count_if/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/equal_range/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/find_end/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/find_first_of/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/find_if/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/for_each/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/includes/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/inplace_merge/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/lexicographical_compare/
requirements/explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/lower_bound/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/make_heap/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/max_element/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/max/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/merge/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/min_element/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/min/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/next_permutation/
requirements/explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/nth_element/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/partial_sort_copy/
requirements/explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/partial_sort/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/partition/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/pop_heap/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/prev_permutation/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/push_heap/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/random_shuffle/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/remove_copy_if/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/remove_if/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/replace_copy_if/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/replace_if/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/search_n/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/search/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/set_difference/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/set_intersection/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/set_symmetric_difference/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/set_union/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/sort_heap/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/sort/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/stable_partition/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/stable_sort/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/transform/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/unique_copy/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/unique/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/upper_bound/requirements/
explicit_instantiation/2.cc: Same.

* testsuite/25_algorithms/remove/requirements/
explicit_instantiation/pod.cc: Provide a hint to the compiler.

From-SVN: r129049

51 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/ext/rc_string_base.h
libstdc++-v3/include/ext/vstring_util.h
libstdc++-v3/include/tr1/functional
libstdc++-v3/testsuite/25_algorithms/binary_search/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/equal_range/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/includes/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/inplace_merge/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/lower_bound/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/make_heap/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/max_element/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/merge/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/min_element/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/next_permutation/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/nth_element/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/partial_sort/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/pop_heap/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/prev_permutation/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/push_heap/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/remove/requirements/explicit_instantiation/pod.cc
libstdc++-v3/testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/set_difference/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/set_intersection/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/set_union/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/sort/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/sort_heap/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/stable_sort/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/unique/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/unique_copy/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/upper_bound/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/lib/libstdc++.exp
libstdc++-v3/testsuite/util/testsuite_api.h

index 712cde5d5d1fb111f89d610ceb7c0fc3c541de3a..b399869fa9462af3ad69c551eb9f6c9157542242 100644 (file)
@@ -1,3 +1,106 @@
+2007-10-05  Benjamin Kosnik  <bkoz@redhat.com>
+
+       Fixes for --disable-libstdcxx-pch.
+       * include/ext/rc_string_base.h: Include stl_iterator_base_funcs.h.
+       * include/ext/vstring_util.h: Include stl_iterator.h and
+       numeric_traits.h.
+       * include/tr1/functional: Include new.
+       * testsuite/util/testsuite_api.h: Include exception.
+       * testsuite/lib/libstdc++.exp (libstdc++_init): Set
+       PCH_CXXFLAGS via cxxpchflags.
+
+       * testsuite/25_algorithms/binary_search/requirements/
+       explicit_instantiation/2.cc: Same.: Fix includes.
+       * testsuite/25_algorithms/count_if/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/equal_range/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/find_end/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/find_first_of/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/find_if/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/for_each/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/includes/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/inplace_merge/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/lexicographical_compare/
+       requirements/explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/lower_bound/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/make_heap/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/max_element/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/max/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/merge/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/min_element/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/min/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/next_permutation/
+       requirements/explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/nth_element/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/partial_sort_copy/
+       requirements/explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/partial_sort/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/partition/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/pop_heap/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/prev_permutation/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/push_heap/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/random_shuffle/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/remove_copy_if/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/remove_if/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/replace_copy_if/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/replace_if/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/search_n/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/search/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/set_difference/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/set_intersection/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/set_symmetric_difference/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/set_union/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/sort_heap/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/sort/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/stable_partition/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/stable_sort/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/transform/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/unique_copy/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/unique/requirements/
+       explicit_instantiation/2.cc: Same.
+       * testsuite/25_algorithms/upper_bound/requirements/
+       explicit_instantiation/2.cc: Same.
+
+       * testsuite/25_algorithms/remove/requirements/
+       explicit_instantiation/pod.cc: Provide a hint to the compiler.
+
 2007-10-05  Paolo Carlini  <pcarlini@suse.de>
 
        * testsuite/23_containers/map/moveable.cc: Remove dg-require-rvalref.
index 7c0934a3084951703ca834ccb5c08c9c29fe6a55..49128aa2f826b8071fbb88af5a6d3c6e8176ea3d 100644 (file)
@@ -37,6 +37,7 @@
 #define _RC_STRING_BASE_H 1
 
 #include <ext/atomicity.h>
+#include <bits/stl_iterator_base_funcs.h>
 
 _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
 
index 390ef37fb3dab76fdf34d585c12480ce35def125..ab7cf3c3467f4b3eb7033a20364ec2860a184e34 100644 (file)
@@ -44,6 +44,8 @@
 #include <bits/functexcept.h>
 #include <bits/localefwd.h>
 #include <bits/ostream_insert.h>
+#include <bits/stl_iterator.h>
+#include <ext/numeric_traits.h>
 
 _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
 
index 78f6b925eee14e5c6e54864a61a34d1e4a3fe3d2..190f61ae66b36adf8107d6896e5a36749d9dd3e6 100644 (file)
@@ -45,6 +45,7 @@
 
 #include <cmath>
 #include <typeinfo>
+#include <new>
 #include <tr1/tuple>
 #include <tr1/type_traits>
 #include <bits/stringfwd.h>
index 3b770a7d9aa91ac16b67f05e82329cda05153a88..0c9b5db19876344bc593643237b991c1659c1984 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index f2fbe280f4db4eff475747c2bfe658c30ff918d2..434a3e822f6424a8af676f2f99a1fb5a64b0b5fc 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 756891bc947c713d5031fe1a1d8c0f54165faac7..88cd1811a562ef89235e31e32f3b1e12c1521aa3 100644 (file)
@@ -31,6 +31,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index d0b481894c740d20b21a3616d6c2f5e8efdc2387..8e4c3e6dc707b074d6f1cf4b523fe7fc78f32a88 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 8fb55e7d7932a5bb8f22cae7ca3d71cab752fecb..c675764085eec01b5602df364d4e11d0efc7affc 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index f2cf218f6c685dc25e5556d1a4f4b02ab4687fdb..5ad6189c573bcb4b544142e05883df5c0099a416 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 456b2b4e060ff5be039603cc0c43777c358c1597..803074ceda0473c70e58656ab9eb16a3545e58c3 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 63f6d95d23a73db41046d6748184d5703ae52306..e4dbe43aa8c70a8486dcada4f4de04f53ad96535 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 10656a9c02996d20d75cecae0afc7254baa4a894..c71c3e221b57b87ba5591328cd6e46f7b638d36b 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 8a868ecb08bb8d706da7dd6cfaa15ce196d83454..c2c4deed40d3ea7ae3c0ee0bc0e262fe2371b351 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index b7b62bd94b2e8036dc29b77b8e56b85fa6e7a63b..b4ba007c58c09f18d8d8284853b88d2e81d96ad3 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index fa77fc5855cdacba596ce510e0de205fe087d7b7..6cec88af9063993b25394e02dffe532effc612e5 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 5987e95282a37f84d492c720d380b98db3bf9acf..c25b091c6e07196ee810660280bdd42113dcb690 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index c8bce1658cbbe89580387c3ec8145024b9c2b65b..8bc4458142be5f4060fc28696a56589bf50828bd 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 3d7c46ad70de388358a34f95fb276160d999f61e..0ef0ca1a81c8c6de15cf9c5f6006de7a6f86d152 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 03d0726229c8dc3fe31ab4aa3ff8f1b150659a8c..da30edb8827aa882d7bb8ba0b1d0c99560f8b36e 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 5ab09b5448a5a04844432c2ea3aac2b4456f9946..6c53c046b33b0add1cba245a49d1103aea3c1da0 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index c89eba09f087c9aec6259e90aee2dbfaa1cf5ab6..fd6b3a92dacdb0448a33b964a6008222dc4d0fa9 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 0d5a7efa12af73897c20cd7eb62d799f7e67eefa..b40f0036c1c74a0a535574a9c86f132808807ff2 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index f2f3f7eec2952dc24c56ed818e69ae888f722c36..b53a9db081cbc509d9f00514a67a6a712a382787 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 8a962ff5482c27b9142fb404329b693e1b63fc6b..7f7628fa5b9a197ec2e6721da3c9ddc56ab309fc 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 231411d5129b1e526ddff4b0de4cf02113a95532..84fe246122e50d502d5ecf130a3593dba7c2f5b8 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 06a7d0dcb40cc2a378b5ae12a4b39cd9a370a7b5..4517c55f28ccac75fff759ba4f056e12602801bd 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 6a88861864212d1188e808c3ce3e0c254ef82545..d4dd5864bca75fb599f365a355b4331b820363e6 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 5e6004233043b3958f28535fea359f1441ffae77..aaa4e77618aef7030af60eb2de24533550f706ac 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index ad1faf620ccfff9fc664f789f54f5b827aa6a600..55cc05d35142b5b23240f24f591b2a3e9f3083cc 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 1bc1bcc4b778408b73659233c2e1132c6b9a89c0..ca538192decedf60ee9fe7b5ae6e21b99a6330a8 100644 (file)
@@ -39,6 +39,5 @@ namespace std
   typedef pod_int              value_type;
   typedef value_type*          iterator_type;
 
-  template iterator_type remove(iterator_type, iterator_type, 
-                               const value_type&);
+  template iterator_type remove<iterator_type, value_type>(iterator_type, iterator_type, const value_type&);
 } 
index 4ac704793d2ad167baa01b8b607e18195214a685..af0426f7604b3128ecc5d73180327d2558b39b54 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 56e0375d124b2fae7a456ff5f0f95f7da118d525..654717fca3254c7676f2b1c646385ecab6e5a6e8 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index d84cb1347890b2b2766a5edb7732a702183821f1..8647bcec6c515bb09ebd90321721d301a3dee0f4 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 692caf318c9c2a531e6c8d88fc578b6b7df7c0cc..b13fda1a9fff7257d39c4f015905105f9f98d0e1 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 2f526e840f3222f3faca1c39612c4392a8ff309a..062f3e56233556d660724d19d726e78fce656f55 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 1338df98edaadfead840f608b2b7d8e01fc67290..8ff2badc1571587b73c6f187b1413a693c6d5b35 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 238cfbc9561c6747752f87b88ed8370efe111c3f..0ed15900273bcc3f41a4120fc09ab6249d58274d 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 95cd2bcb38ca08d550d9ebb52ac90f90cde6e389..812daaa02d1e8160d8e3aad1c8c949b43406f48a 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 3df16097c71168904e689de75087ef67d8662759..8f753edafc1cd87580a9f3cfd1bf8eaa89a86a5e 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index d89ddeb26a3478908c5b4d32b3befbe2cdb6b253..56fdda16b9c3c84f1f016928eed2dfa9b472a426 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 6142cf52ae03e6fd129b1ac6d0dde8d724f3e400..7b417325187f8d4d3550fd59d6ea161912837a4a 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index f8c686f0e032e28342626e43dc07c0a49a3355f4..2b68d9444a53c2c747592a7f74f7dace4176c494 100644 (file)
@@ -31,6 +31,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 2eb8dbc894971141ca84c2df9c6b3eafb08ea491..fafcf50cd68e6a653cd82ca1797f3932091559fa 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index f08c7b265912eb4a990f7af1c25860cf3118f628..e5235f278e566639a42b43362e0a1ad00913b9be 100644 (file)
@@ -31,6 +31,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 0262c5c128533fcf3cf299539d848586a2678fce..730b8fa898bec32afb910f266efa858ffc7da08f 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index ccc227869f1995b581cf78b697bcf774fb908633..7c1eeebbdbaf8496b38fe5061ff70fdead926544 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 3f45d541a0849552f8817fe20ebd4efd1d241ebc..dbed82a00138e4994ad0125870f49a744cdabdf0 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index 192962c49136426fd95674f9d38c458d39b2d644..66f80924471cf2e7b2bfce374a00995825876d81 100644 (file)
@@ -30,6 +30,7 @@
 // the GNU General Public License.
 
 #include <algorithm>
+#include <functional>
 #include <testsuite_api.h>
 
 namespace std
index b48fda128627aaaefb95ef284ec504f6e20cc482..b482bf58d2054bcad008b695672f4fedc19e6f43 100644 (file)
@@ -83,7 +83,7 @@ proc libstdc++_init { testfile } {
     global env
     global v3-sharedlib 
     global srcdir blddir objdir tool_root_dir
-    global cc cxx cxxflags cxxldflags
+    global cc cxx cxxflags cxxpchflags cxxldflags
     global includes
     global gluefile wrap_flags
     global ld_library_path
@@ -184,6 +184,7 @@ proc libstdc++_init { testfile } {
     # Default settings.
     set cxx [transform "g++"]
     set cxxflags "-g -O2 -D_GLIBCXX_ASSERT -fmessage-length=0"
+    set cxxpchflags ""
     set cxxldflags ""
     set cc [transform "gcc"]
     # Locate testsuite_hooks.h and other testsuite headers.
@@ -221,6 +222,7 @@ proc libstdc++_init { testfile } {
         # If we find a testsuite_flags file, we're testing in the build dir.
        set cxx [exec sh $flags_file --build-cxx]
        set cxxflags [exec sh $flags_file --cxxflags]
+       set cxxpchflags [exec sh $flags_file --cxxpchflags]
        set cxxldflags [exec sh $flags_file --cxxldflags]
        set cc [exec sh $flags_file --build-cc]
        set includes [exec sh $flags_file --build-includes]
@@ -237,23 +239,29 @@ proc libstdc++_init { testfile } {
     # this check until $cxx and such have been initialized because we
     # perform a test compilation.  (Ideally, gcc --print-file-name would
     # list PCH files, but it does not.)
-    global PCH_CXXFLAGS
-    if ![info exists PCH_CXXFLAGS] then {
+    if { $cxxpchflags != "" } {
        set src "config[pid].cc"
        set f [open $src "w"]
        puts $f "int main () {}"
        close $f
 
+       # Fixme: "additional_flags=$cxxpchflags" fails, but would be
+       # useful as then the requested variant of the pre-build PCH
+       # files could be tested to see if it works.
        set lines [v3_target_compile $src "config[pid].o" object \
-                "additional_flags=-include additional_flags=bits/stdtr1c++.h"]
-       if {$lines == "" } {
-#          set PCH_CXXFLAGS "-include bits/extc++.h"
-#          set PCH_CXXFLAGS "-include bits/stdtr1c++.h"
-           set PCH_CXXFLAGS "-include bits/stdc++.h"
-       } else {
-           set PCH_CXXFLAGS ""
-       }
+                  "additional_flags=-include additional_flags=bits/stdc++.h"]
+       if { $lines != "" } {
+           verbose -log "Requested PCH file: $cxxpchflags"
+           verbose -log "is not working, and will not be used."
+           set cxxpchflags ""
+       } 
        file delete $src
+     } 
+    v3track cxxpchflags 2
+
+    global PCH_CXXFLAGS
+    if ![info exists PCH_CXXFLAGS] then {
+       set PCH_CXXFLAGS $cxxpchflags
        v3track PCH_CXXFLAGS 2
     }
 
index 3cd7c6177f7f460a41abec3a6e24f3b8f78aa3d9..ca0d716bd189838cf5e4d0b47080698b6f4627e8 100644 (file)
@@ -28,6 +28,7 @@
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
+#include <exception>
 #include <testsuite_hooks.h>
 
 #ifndef _TESTSUITE_API