]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
1.cc: Provide explicit instantiations for non-weak systems.
authorBenjamin Kosnik <bkoz@redhat.com>
Thu, 4 Mar 2004 18:11:08 +0000 (18:11 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Thu, 4 Mar 2004 18:11:08 +0000 (18:11 +0000)
2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/20_util/allocator/1.cc: Provide explicit
instantiations for non-weak systems.
* testsuite/20_util/binders.cc: Same.
* testsuite/20_util/allocator/8230.cc: Same.
* testsuite/20_util/allocator/10378.cc: Same.
* testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
* testsuite/22_locale/ctype/is/char/2.cc: Same.
* testsuite/thread/pthread7-rope.cc: Same.
* testsuite/thread/pthread6.cc: Same.
* testsuite/thread/pthread5.cc: Same.
* testsuite/thread/pthread4.cc: Same.
* testsuite/thread/pthread1.cc: Same.
* testsuite/ext/rope.cc: Same.
* testsuite/ext/hash_set.cc: Same.
* testsuite/ext/hash_map.cc: Same.
* testsuite/ext/concept_checks.cc: Same.
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
* testsuite/25_algorithms/unique/2.cc: Same.
* testsuite/25_algorithms/unique/1.cc: Same.
* testsuite/25_algorithms/rotate.cc: Same.
* testsuite/25_algorithms/min_max.cc: Same.
* testsuite/25_algorithms/equal.cc: Same.
* testsuite/24_iterators/rel_ops.cc: Same.
* testsuite/24_iterators/iterator.cc: Same.
* testsuite/24_iterators/insert_iterator.cc: Same.
* testsuite/24_iterators/front_insert_iterator.cc: Same.
* testsuite/24_iterators/back_insert_iterator.cc: Same.
* testsuite/23_containers/vector/resize/1.cc: Same.
* testsuite/23_containers/vector/modifiers/2.cc: Same.
* testsuite/23_containers/vector/modifiers/1.cc: Same.
* testsuite/23_containers/vector/invalidation/4.cc: Same.
* testsuite/23_containers/vector/invalidation/3.cc: Same.
* testsuite/23_containers/vector/invalidation/2.cc: Same.
* testsuite/23_containers/vector/invalidation/1.cc: Same.
* testsuite/23_containers/vector/element_access/1.cc: Same.
* testsuite/23_containers/vector/cons/6513.cc: Same.
* testsuite/23_containers/vector/cons/3.cc: Same.
* testsuite/23_containers/vector/cons/2.cc: Same.
* testsuite/23_containers/vector/cons/1.cc: Same.
* testsuite/23_containers/vector/capacity/8230.cc: Same.
* testsuite/23_containers/vector/capacity/1.cc: Same.
* testsuite/23_containers/vector/bool/6886.cc: Same.
* testsuite/23_containers/stack/members/7158.cc: Same.
* testsuite/23_containers/set/invalidation/2.cc: Same.
* testsuite/23_containers/set/invalidation/1.cc: Same.
* testsuite/23_containers/queue/members/7157.cc: Same.
* testsuite/23_containers/priority_queue/members/7161.cc: Same.
* testsuite/23_containers/multiset/invalidation/2.cc: Same.
* testsuite/23_containers/multiset/invalidation/2.cc: Same.
* testsuite/23_containers/multiset/insert/1.cc: Same.
* testsuite/23_containers/multimap/invalidation/2.cc: Same.
* testsuite/23_containers/multimap/invalidation/2.cc: Same.
* testsuite/23_containers/map/operators/1.cc: Same.
* testsuite/23_containers/map/invalidation/2.cc: Same.
* testsuite/23_containers/map/invalidation/1.cc: Same.
* testsuite/23_containers/map/insert/1.cc: Same.
* testsuite/23_containers/list/operators/4.cc: Same.
* testsuite/23_containers/list/operators/3.cc: Same.
* testsuite/23_containers/list/operators/2.cc: Same.
* testsuite/23_containers/list/operators/1.cc: Same.
* testsuite/23_containers/list/modifiers/3.cc: Same.
* testsuite/23_containers/list/modifiers/2.cc: Same.
* testsuite/23_containers/list/modifiers/1.cc: Same.
* testsuite/23_containers/list/invalidation/4.cc: Same.
* testsuite/23_containers/list/invalidation/3.cc: Same.
* testsuite/23_containers/list/invalidation/2.cc: Same.
* testsuite/23_containers/list/invalidation/1.cc: Same.
* testsuite/23_containers/list/cons/9.cc: Same.
* testsuite/23_containers/list/cons/8.cc: Same.
* testsuite/23_containers/list/cons/7.cc: Same.
* testsuite/23_containers/list/cons/6.cc: Same.
* testsuite/23_containers/list/cons/5.cc: Same.
* testsuite/23_containers/list/cons/4.cc: Same.
* testsuite/23_containers/list/cons/3.cc: Same.
* testsuite/23_containers/list/cons/2.cc: Same.
* testsuite/23_containers/list/cons/1.cc: Same.
* testsuite/23_containers/list/capacity/1.cc: Same.
* testsuite/23_containers/deque/operators/1.cc: Same.
* testsuite/23_containers/deque/invalidation/4.cc: Same.
* testsuite/23_containers/deque/invalidation/3.cc: Same.
* testsuite/23_containers/deque/invalidation/2.cc: Same.
* testsuite/23_containers/deque/invalidation/1.cc: Same.
* testsuite/23_containers/deque/cons/2.cc: Same.
* testsuite/23_containers/deque/cons/1.cc: Same.

* src/allocator.cc: Add char, wchar_t instantiations
to match extern template declarations in memory.h.

From-SVN: r78922

87 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/src/allocator.cc
libstdc++-v3/testsuite/20_util/allocator/1.cc
libstdc++-v3/testsuite/20_util/allocator/10378.cc
libstdc++-v3/testsuite/20_util/allocator/8230.cc
libstdc++-v3/testsuite/20_util/binders.cc
libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc
libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc
libstdc++-v3/testsuite/22_locale/ctype/widen/char/1.cc
libstdc++-v3/testsuite/23_containers/deque/cons/1.cc
libstdc++-v3/testsuite/23_containers/deque/cons/2.cc
libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc
libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc
libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc
libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc
libstdc++-v3/testsuite/23_containers/deque/operators/1.cc
libstdc++-v3/testsuite/23_containers/list/1.cc
libstdc++-v3/testsuite/23_containers/list/capacity/1.cc
libstdc++-v3/testsuite/23_containers/list/cons/1.cc
libstdc++-v3/testsuite/23_containers/list/cons/2.cc
libstdc++-v3/testsuite/23_containers/list/cons/3.cc
libstdc++-v3/testsuite/23_containers/list/cons/4.cc
libstdc++-v3/testsuite/23_containers/list/cons/5.cc
libstdc++-v3/testsuite/23_containers/list/cons/6.cc
libstdc++-v3/testsuite/23_containers/list/cons/7.cc
libstdc++-v3/testsuite/23_containers/list/cons/8.cc
libstdc++-v3/testsuite/23_containers/list/cons/9.cc
libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc
libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc
libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc
libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc
libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc
libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc
libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc
libstdc++-v3/testsuite/23_containers/list/operators/1.cc
libstdc++-v3/testsuite/23_containers/list/operators/2.cc
libstdc++-v3/testsuite/23_containers/list/operators/3.cc
libstdc++-v3/testsuite/23_containers/list/operators/4.cc
libstdc++-v3/testsuite/23_containers/map/insert/1.cc
libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc
libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc
libstdc++-v3/testsuite/23_containers/map/operators/1.cc
libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc
libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc
libstdc++-v3/testsuite/23_containers/multiset/insert/1.cc
libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc
libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc
libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc
libstdc++-v3/testsuite/23_containers/queue/members/7157.cc
libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc
libstdc++-v3/testsuite/23_containers/set/invalidation/2.cc
libstdc++-v3/testsuite/23_containers/stack/members/7158.cc
libstdc++-v3/testsuite/23_containers/vector/bool/6886.cc
libstdc++-v3/testsuite/23_containers/vector/capacity/1.cc
libstdc++-v3/testsuite/23_containers/vector/capacity/8230.cc
libstdc++-v3/testsuite/23_containers/vector/cons/1.cc
libstdc++-v3/testsuite/23_containers/vector/cons/2.cc
libstdc++-v3/testsuite/23_containers/vector/cons/3.cc
libstdc++-v3/testsuite/23_containers/vector/cons/6513.cc
libstdc++-v3/testsuite/23_containers/vector/element_access/1.cc
libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc
libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc
libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc
libstdc++-v3/testsuite/23_containers/vector/invalidation/4.cc
libstdc++-v3/testsuite/23_containers/vector/modifiers/1.cc
libstdc++-v3/testsuite/23_containers/vector/modifiers/2.cc
libstdc++-v3/testsuite/23_containers/vector/resize/1.cc
libstdc++-v3/testsuite/24_iterators/back_insert_iterator.cc
libstdc++-v3/testsuite/24_iterators/front_insert_iterator.cc
libstdc++-v3/testsuite/24_iterators/insert_iterator.cc
libstdc++-v3/testsuite/24_iterators/iterator.cc
libstdc++-v3/testsuite/24_iterators/rel_ops.cc
libstdc++-v3/testsuite/25_algorithms/equal.cc
libstdc++-v3/testsuite/25_algorithms/min_max.cc
libstdc++-v3/testsuite/25_algorithms/rotate.cc
libstdc++-v3/testsuite/25_algorithms/unique/1.cc
libstdc++-v3/testsuite/25_algorithms/unique/2.cc
libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc
libstdc++-v3/testsuite/ext/concept_checks.cc
libstdc++-v3/testsuite/ext/hash_map.cc
libstdc++-v3/testsuite/ext/hash_set.cc
libstdc++-v3/testsuite/ext/rope.cc
libstdc++-v3/testsuite/thread/pthread1.cc
libstdc++-v3/testsuite/thread/pthread4.cc
libstdc++-v3/testsuite/thread/pthread5.cc
libstdc++-v3/testsuite/thread/pthread6.cc
libstdc++-v3/testsuite/thread/pthread7-rope.cc

index ad452c78667eb25e209d48a3646ec7d39018180f..2aa51bf946b7c3eb84d468f92c6c02f5f21ed1b0 100644 (file)
@@ -1,3 +1,93 @@
+2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * testsuite/20_util/allocator/1.cc: Provide explicit
+       instantiations for non-weak systems.
+       * testsuite/20_util/binders.cc: Same.
+       * testsuite/20_util/allocator/8230.cc: Same.
+       * testsuite/20_util/allocator/10378.cc: Same.
+       * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
+       * testsuite/22_locale/ctype/is/char/2.cc: Same.
+       * testsuite/thread/pthread7-rope.cc: Same.
+       * testsuite/thread/pthread6.cc: Same.   
+       * testsuite/thread/pthread5.cc: Same.           
+       * testsuite/thread/pthread4.cc: Same.   
+       * testsuite/thread/pthread1.cc: Same.
+       * testsuite/ext/rope.cc: Same.
+       * testsuite/ext/hash_set.cc: Same.
+       * testsuite/ext/hash_map.cc: Same.      
+       * testsuite/ext/concept_checks.cc: Same.
+       * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
+       * testsuite/25_algorithms/unique/2.cc: Same.
+       * testsuite/25_algorithms/unique/1.cc: Same.
+       * testsuite/25_algorithms/rotate.cc: Same.
+       * testsuite/25_algorithms/min_max.cc: Same.
+       * testsuite/25_algorithms/equal.cc: Same.       
+       * testsuite/24_iterators/rel_ops.cc: Same.
+       * testsuite/24_iterators/iterator.cc: Same.
+       * testsuite/24_iterators/insert_iterator.cc: Same.
+       * testsuite/24_iterators/front_insert_iterator.cc: Same.
+       * testsuite/24_iterators/back_insert_iterator.cc: Same.
+       * testsuite/23_containers/vector/resize/1.cc: Same.
+       * testsuite/23_containers/vector/modifiers/2.cc: Same.
+       * testsuite/23_containers/vector/modifiers/1.cc: Same.
+       * testsuite/23_containers/vector/invalidation/4.cc: Same.
+       * testsuite/23_containers/vector/invalidation/3.cc: Same.
+       * testsuite/23_containers/vector/invalidation/2.cc: Same.       
+       * testsuite/23_containers/vector/invalidation/1.cc: Same.
+       * testsuite/23_containers/vector/element_access/1.cc: Same.
+       * testsuite/23_containers/vector/cons/6513.cc: Same.
+       * testsuite/23_containers/vector/cons/3.cc: Same.
+       * testsuite/23_containers/vector/cons/2.cc: Same.
+       * testsuite/23_containers/vector/cons/1.cc: Same.
+       * testsuite/23_containers/vector/capacity/8230.cc: Same.
+       * testsuite/23_containers/vector/capacity/1.cc: Same.
+       * testsuite/23_containers/vector/bool/6886.cc: Same.
+       * testsuite/23_containers/stack/members/7158.cc: Same.
+       * testsuite/23_containers/set/invalidation/2.cc: Same.
+       * testsuite/23_containers/set/invalidation/1.cc: Same.
+       * testsuite/23_containers/queue/members/7157.cc: Same.
+       * testsuite/23_containers/priority_queue/members/7161.cc: Same.
+       * testsuite/23_containers/multiset/invalidation/2.cc: Same.
+       * testsuite/23_containers/multiset/invalidation/2.cc: Same.     
+       * testsuite/23_containers/multiset/insert/1.cc: Same.
+       * testsuite/23_containers/multimap/invalidation/2.cc: Same.
+       * testsuite/23_containers/multimap/invalidation/2.cc: Same.
+       * testsuite/23_containers/map/operators/1.cc: Same.
+       * testsuite/23_containers/map/invalidation/2.cc: Same.
+       * testsuite/23_containers/map/invalidation/1.cc: Same.
+       * testsuite/23_containers/map/insert/1.cc: Same.
+       * testsuite/23_containers/list/operators/4.cc: Same.
+       * testsuite/23_containers/list/operators/3.cc: Same.
+       * testsuite/23_containers/list/operators/2.cc: Same.
+       * testsuite/23_containers/list/operators/1.cc: Same.
+       * testsuite/23_containers/list/modifiers/3.cc: Same.
+       * testsuite/23_containers/list/modifiers/2.cc: Same.
+       * testsuite/23_containers/list/modifiers/1.cc: Same.
+       * testsuite/23_containers/list/invalidation/4.cc: Same.
+       * testsuite/23_containers/list/invalidation/3.cc: Same.
+       * testsuite/23_containers/list/invalidation/2.cc: Same.
+       * testsuite/23_containers/list/invalidation/1.cc: Same. 
+       * testsuite/23_containers/list/cons/9.cc: Same.
+       * testsuite/23_containers/list/cons/8.cc: Same.
+       * testsuite/23_containers/list/cons/7.cc: Same.
+       * testsuite/23_containers/list/cons/6.cc: Same.
+       * testsuite/23_containers/list/cons/5.cc: Same.
+       * testsuite/23_containers/list/cons/4.cc: Same.
+       * testsuite/23_containers/list/cons/3.cc: Same.
+       * testsuite/23_containers/list/cons/2.cc: Same.
+       * testsuite/23_containers/list/cons/1.cc: Same.
+       * testsuite/23_containers/list/capacity/1.cc: Same.
+       * testsuite/23_containers/deque/operators/1.cc: Same.
+       * testsuite/23_containers/deque/invalidation/4.cc: Same.
+       * testsuite/23_containers/deque/invalidation/3.cc: Same.
+       * testsuite/23_containers/deque/invalidation/2.cc: Same.
+       * testsuite/23_containers/deque/invalidation/1.cc: Same.
+       * testsuite/23_containers/deque/cons/2.cc: Same.
+       * testsuite/23_containers/deque/cons/1.cc: Same.
+
+       * src/allocator.cc: Add char, wchar_t instantiations
+       to match extern template declarations in memory.h.
+
 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
 
        * include/bits/locale_facets.tcc (money_put<>::_M_insert):
index 5e37d8759e215ebb5d0536d4a110ff371752622f..9f8d2abfa5493597cf9a8ede23872e0cdde5440e 100644 (file)
@@ -41,6 +41,7 @@
 namespace __gnu_cxx
 {
   template class __mt_alloc<char>;
+  template class __mt_alloc<wchar_t>;
 
   // Static members of __pool_alloc.
   template class __pool_alloc<true, 0>;
index 8d35be39bb7c2a04b5bfd4868ce2f30e65ce78b8..d34c8daf9c95f08aeb385e06fadb8dd256718efa 100644 (file)
@@ -43,12 +43,17 @@ void operator delete(void *v) throw()
   return std::free(v);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<gnu>;
+#endif
+
 void test01()
 {
   bool test __attribute__((unused)) = true;
   std::allocator<gnu> obj;
 
-  // XXX These should work for various size allocation and
+  // NB: These should work for various size allocation and
   // deallocations.  Currently, they only work as expected for sizes >
   // _MAX_BYTES as defined in stl_alloc.h, which happes to be 128. 
   gnu* pobj = obj.allocate(256);
@@ -63,3 +68,4 @@ int main()
   test01();
   return 0;
 }
+
index 88193b5a33fd1a8387af00b78ea6d38eea9c8bdd..2ac77eaaf16e0febd3b371d68350426b571fca8f 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -39,6 +39,11 @@ void test01()
   uniset.push_back(Bob());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<Bob> >;
+#endif
+
 int main()
 {
   test01();
index 7747dd7bce99b3ebf25deb9e0ca89dabae77fa83..95b6cbee55fb8b2b09ade1a49d89686546576f35 100644 (file)
@@ -47,6 +47,11 @@ void test02()
   VERIFY( test );
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int>;
+#endif
+
 int main()
 {
   test02();
index a12d3b68146327b13d3b4b8b8a635e6957ba82f5..28de474a41db5de0da83d74316647a89567179f3 100644 (file)
@@ -1,6 +1,6 @@
 // 2001-06-11  Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -43,6 +43,10 @@ void test01()
           std::bind2nd(std::mem_fun_ref(&Elem::modify), 42));
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<Elem>;
+#endif
 
 int main()
 {
index 0211607de8f4f62762e7b109e099475b6e731990..4192b806f4a39feff3ebfd015c1f40f8622db2b7 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do run { xfail *-*-![linux]* } }
-// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ typedef char char_type;
 void test02()
 {
   using namespace std;
-  typedef ctype_base::mask     mask;
+  typedef ctype_base::mask     mask;
   typedef vector<mask>                 vector_type;
 
   bool test __attribute__((unused)) = true;
@@ -97,6 +97,10 @@ void test02()
   VERIFY( v_c != v_de );
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::ctype_base::mask>;
+#endif
 int main() 
 {
   test02();
index df028783f85be1613bdaa5653818570d80d22019..f5a7d6d59c13ee749a48b1da881b943bccee85f5 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do run { xfail *-*-![linux]* } }
-// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -97,6 +97,11 @@ void test02()
   VERIFY( v_c != v_de );
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::ctype_base::mask>;
+#endif
+
 int main() 
 {
   test02();
index e4ac43ab6cfa04e1a9d1b2eef6d33c893cbc0c32..4c051c48c4885ba028dcb96ebc5131429233ab88 100644 (file)
@@ -1,6 +1,6 @@
 // 2002-05-24 bkoz
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
index 566461b7d10174e0cc51e9638de43e0f0d97e440..5a32c78eae8b8b8022c69b7f3536a7f78b488978 100644 (file)
@@ -1,6 +1,6 @@
 // 2001-12-27 pme
 //
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -42,6 +42,11 @@ test01()
   assert_count (0);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<__gnu_test::counter>;
+template class __gnu_cxx::__mt_alloc<__gnu_test::counter*>;
+#endif
 
 int main()
 {
index e0e7108d20b55e28e9912e2cbd0d9dc4272bdd7c..64365b0502cf5cbc5fe9d586d46bc26efd64bf31 100644 (file)
@@ -1,6 +1,6 @@
 // 2001-12-27 pme
 //
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -499,6 +499,13 @@ test_copy_ctor_exception_safety()
   // teardown
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int>;
+template class __gnu_cxx::__mt_alloc<int*>;
+template class __gnu_cxx::__mt_alloc<__gnu_test::copy_tracker>;
+template class __gnu_cxx::__mt_alloc<__gnu_test::copy_tracker*>;
+#endif
 
 int main()
 {
index 4529b288ef4f4fa48d5b139642a13ac95c5853c4..506f0e9fad3bc56db52ac0af003dfdebf48b54fe 100644 (file)
@@ -1,6 +1,6 @@
 // Deque iterator invalidation tests
 
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -46,8 +46,14 @@ void test01()
   VERIFY(i._M_singular());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int*>;
+template class __gnu_cxx::__mt_alloc<int>;
+#endif
+
 int main()
 {
   test01();
-  return !test;
+  return 0;
 }
index 106c118accc0f104c4f457156f5fd64c3b0d168c..9aa1e573e99ffcaedbb0fa984b8d025d6860868a 100644 (file)
@@ -1,6 +1,6 @@
 // Deque iterator invalidation tests
 
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -46,8 +46,14 @@ void test02()
   VERIFY(before._M_singular());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int*>;
+template class __gnu_cxx::__mt_alloc<int>;
+#endif
+
 int main()
 {
   test02();
-  return !test;
+  return 0;
 }
index 60103c1fd7e0e97b1102b480ffd32fd12d69c4d0..fe374984cfb3c80b8b2e54bac22d1e2a33ff24fb 100644 (file)
@@ -1,6 +1,6 @@
 // Deque iterator invalidation tests
 
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -42,6 +42,7 @@ void test03()
   // Insert multiple copies
   before = v.begin() + 6;
   at = before + 1;
+
   v.insert(at, 3, 42);
   VERIFY(before._M_singular());
   VERIFY(at._M_singular());
@@ -55,8 +56,14 @@ void test03()
   VERIFY(at._M_singular());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int*>;
+template class __gnu_cxx::__mt_alloc<int>;
+#endif
+
 int main()
 {
   test03();
-  return !test;
+  return 0;
 }
index c8a8b88a9edda358497d3fd832becc1da74277f3..21ba372bf8da6ff1062bec334d19af04155ade7a 100644 (file)
@@ -68,6 +68,12 @@ void test04()
   VERIFY(before._M_singular());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int*>;
+template class __gnu_cxx::__mt_alloc<int>;
+#endif
+
 int main()
 {
   test04();
index 4b7aac9ab601ec33b4f7cac86ddfd33000f8a0af..20cdfaceae89edf5efd25fadcf8889a9ec18f77d 100644 (file)
@@ -1,6 +1,6 @@
 // 2002-05-18  Paolo Carlini  <pcarlini@unitus.it>
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -77,6 +77,12 @@ void test02()
   VERIFY( constend - beg > 0 );
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int*>;
+template class __gnu_cxx::__mt_alloc<int>;
+#endif
+
 int main()
 {
   test01();
index 187f380b4d5aba810e6308e5281c17ceadb05644..45aa95ead1009b53cc2e9bcc0d534ad796d1d3b1 100644 (file)
@@ -1,4 +1,5 @@
-// Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
+// Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
index 609b92c82522d84fe41f29c0c9c8701cf2687a10..b19a7b1397863e419fc432ca53182e02c5ce462d 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -59,6 +59,11 @@ test01()
   VERIFY(list0101.size() == 0);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int
 main()
 {
index 1d2f5662f02de9f9064591cb49dfee2cb268f588..92a5992ca2bed924a96b832a4187e2d310fa9ced 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -71,9 +71,13 @@ test01()
   // allocator checks?
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<A<B> > >;
+#endif
+
 int main()
 {
   test01();
   return 0;
 }
-// vi:set sw=2 ts=2:
index 090c7f3d66d551fb23ca94ba84536c5aa77e4844..b837d85a386b32ace51d943fd4e4f13286cf2c9b 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -75,9 +75,15 @@ test02()
   VERIFY(list0203.size() == LIST_SIZE);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<A<B> > >;
+template class __gnu_cxx::__mt_alloc<int>;
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main()
 {
   test02(); 
   return 0;
 }
-// vi:set sw=2 ts=2:
index 5115dc0abeddd3899f904eadd51aa22b736a808f..61e6aefc00a8625cff6224f35a87362dfbd88d3f 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -52,6 +52,11 @@ test02D()
   VERIFY(list0204.size() == LIST_SIZE);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<C> >;
+#endif
+
 int main()
 {
   test02D(); 
index 68b8d439cf8aa900a4ec1fc6c67622a046d8f46b..4b84342fd9816dfc9e22752278a207b1618db65c 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -58,9 +58,14 @@ test03()
   VERIFY(list0302.size() == N);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main()
 {
   test03();
   return 0;
 }
-// vi:set sw=2 ts=2:
+
index 7bc925a64afc53242f6318c2c5b4030d193b9e42..89e5308cc885d64b7ea341fa4f34e0dd03411da1 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -49,9 +49,14 @@ test04()
   VERIFY(list0401.size() == N);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main()
 {
   test04();
   return 0;
 }
-// vi:set sw=2 ts=2:
+
index 9cdec8b40f73621f6f11829ed8a532a94f5aa9a9..a302c59a9a52221b9dc587f84dacedd2345fa0b7 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -62,9 +62,14 @@ test05()
   VERIFY(list0501.size() == M);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main()
 {
   test05();
   return 0;
 }
-// vi:set sw=2 ts=2:
+
index 650c82b133fdbde0a4770836ab0d6cd8ca0c6922..16a8f90261195edb505f1e2e906963bcc047014e 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -63,9 +63,14 @@ test06()
   VERIFY(list0601.size() == SMALL_LIST_SIZE);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main()
 {
   test06();
   return 0;
 }
-// vi:set sw=2 ts=2:
+
index 66b59a00d03cc694494a4fad12a34ce88b4bf9a2..1d70d3c8978469c4e2d52879d3b0e01653f98d9a 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -56,9 +56,14 @@ test06D()
   VERIFY(list0604.size() == LIST_SIZE);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<C> >;
+#endif
+
 int main()
 {
   test06D();
   return 0;
 }
-// vi:set sw=2 ts=2:
+
index 1f26213d8aed7f4e688d9f3a2002c97f8aea98e6..21a1e5847148fee968ffe26b6498b5871651d81c 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -56,6 +56,11 @@ test07()
   VERIFY(list0702 == list0701);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main()
 {
   test07();
index 86d9031a9c3c75ec1d00be9a80d03ca1df78efba..21e04328a963b2ef864d8299ba37be8ce9c35568 100644 (file)
@@ -1,6 +1,6 @@
 // List iterator invalidation tests
 
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -53,6 +53,11 @@ void test01()
   VERIFY(!finish._M_dereferenceable() && !finish._M_singular());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main()
 {
   test01();
index 117aa61abea5e33fda918fc8801e187cb62edfd1..4bfa5ce7145c3b3939c81808111b5e7a562bf524 100644 (file)
@@ -1,6 +1,6 @@
 // List iterator invalidation tests
 
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -48,6 +48,11 @@ void test02()
   VERIFY(!finish._M_singular() && !finish._M_dereferenceable());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main()
 {
   test02();
index 59af360ed84c1de81103ae05c5b6dcea8a41041d..31da208aeb7031efa1960fb1ecaea353b2f9c616 100644 (file)
@@ -1,6 +1,6 @@
 // List iterator invalidation tests
 
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -71,6 +71,11 @@ void test03()
   VERIFY(!finish._M_singular() && !finish._M_dereferenceable());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main()
 {
   test03();
index 90f99709f16cf93485ba91cbd3cbb54ba253f50a..c4529838fa011cfb4698e38a383f42c815c64a3d 100644 (file)
@@ -1,6 +1,6 @@
 // List iterator invalidation tests
 
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -48,6 +48,11 @@ void test04()
   VERIFY(after2._M_attached_to(&l2));
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main()
 {
   test04();
index 2e75dcabb31e68cd80335fd01a1d94f563f2b25a..5d95467b9957a303b61ad2acaee760b43fba7526 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -112,9 +112,14 @@ test03()
   VERIFY(e == list0301.end());
 }
 
+#if !__GXX_WEAK__ && defined(_MT_ALLOCATOR_H)
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<__gnu_test::copy_tracker>;
+template class __gnu_cxx::__mt_alloc<std::_List_node<__gnu_test::copy_tracker> >;
+#endif
+
 int main()
 {
   test03();
   return 0;
 }
-// vi:set sw=2 ts=2:
index 66c5c12ccc6e41e11ac8270225945a42caf82d30..21c8b73e687621d35ac275f86473e6f331dbc01f 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -84,9 +84,14 @@ test02()
   VERIFY(T::dtorCount() == 0);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<__gnu_test::copy_tracker>;
+template class __gnu_cxx::__mt_alloc<std::_List_node<__gnu_test::copy_tracker> >;
+#endif
+
 int main()
 {
   test02();
   return 0;
 }
-// vi:set sw=2 ts=2:
index dfbc46cb4063dc83dd6789d9ad625c296e56924c..dda9d9afee242f92b8449ca8592ec3e09ab69a3f 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -116,9 +116,14 @@ test01()
   VERIFY(k->id() == 1);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<__gnu_test::copy_tracker>;
+template class __gnu_cxx::__mt_alloc<std::_List_node<__gnu_test::copy_tracker> >;
+#endif
+
 int main()
 {
   test01();
   return 0;
 }
-// vi:set sw=2 ts=2:
index 663ff1c81c90f1f217c00fb1f93c4971a9d44185..1b837751a210c6200ecb6885ef172ea9dd778b4d 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -66,9 +66,14 @@ test01()
   VERIFY(p == list0101.end());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main(void)
 {
   test01();
   return 0;
 }
-// vi:set sw=2 ts=2:
+
index 726c4bfcab4caf5f6c0c9e421d3ff723e7ef4a12..4cdc27e664d65399d168eee4ac36407f7f3d26f7 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -52,9 +52,13 @@ test02()
   VERIFY(list0201 == list0204);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main()
 {
   test02();
   return 0;
 }
-// vi:set sw=2 ts=2:
index 8b9c537a06430a3cef720bf69f86b4dbdb2483df..4919cd1e80eb8b4e8a4e14a9eb5ba136f0bf65af 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -66,9 +66,13 @@ test03()
   VERIFY(list0301 == list0304);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main(void)
 {
   test03();
   return 0;
 }
-// vi:set sw=2 ts=2:
index bbebfb59a23b415a0d235ea54b6e4d222816f2d4..2bfe127653ddf020e68891a14861ff4c3ab7bfbb 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -90,9 +90,14 @@ test04()
 #endif
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main()
 {
   test04();
   return 0;
 }
-// vi:set sw=2 ts=2:
+
index 404f3c35cabff9606c1c5becb0de970e362a1dc2..8c15aec5352cc69f5ae154ae93f68e0a7a0db792 100644 (file)
@@ -1,6 +1,6 @@
 // 2001-08-23 pme & Sylvain.Pion@sophia.inria.fr
 
-// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -60,11 +60,15 @@ void test01()
   VERIFY ( M.find(9) != M.end() );
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::pair<int const, int> >;
+template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<int const, int> > >;
+#endif
 
 int main()
 {
   test01();
-
   return 0;
 }
 
index a62a98d863f336fc94891c2bec8e5a12a72b9e86..667c66338afacfd28ca5dbdff8d2823fe6bdd1cb 100644 (file)
@@ -1,6 +1,6 @@
 // Map iterator invalidation tests
 
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -45,8 +45,13 @@ void test01()
   VERIFY(!finish._M_dereferenceable() && !finish._M_singular());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<int const, int> > >;
+#endif
+
 int main()
 {
   test01();
-  return !test;
+  return 0;
 }
index 0086deb81fa5aa6e8fd6d213f381248bd687cadc..41fa0d3da67c0e7c181f5733d8b866249bf9fd58 100644 (file)
@@ -1,6 +1,6 @@
 // Map iterator invalidation tests
 
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -64,6 +64,11 @@ void test02()
   VERIFY(!finish._M_singular() && !finish._M_dereferenceable());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<int const, int> > >;
+#endif
+
 int main()
 {
   test02();
index 03a7860c8bae631346e817eec1c6f546212e6218..4a54f38896289ddf67e6af95fc9007d6ea4e7f53 100644 (file)
@@ -1,6 +1,6 @@
 // 2000-09-07 bgarcia@laurelnetworks.com
 
-// Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -42,6 +42,11 @@ void test02()
     std::cerr << i->second << ' ';
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<int const, int> > >;
+#endif
+
 int main()
 {
   test02();
index 71b5385aed3fcbe613321733fe02385f083ad3c1..d98566cf6ec8db33c4af586fc795d8d4c3b564a0 100644 (file)
@@ -46,6 +46,11 @@ void test01()
   VERIFY(!finish._M_dereferenceable() && !finish._M_singular());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<int const, int> > >;
+#endif
+
 int main()
 {
   test01();
index c6f659e7f5c02f88023c9a87492ad4e7dd961183..1025576d56462b5232eb174899a38f192681f408 100644 (file)
@@ -65,6 +65,11 @@ void test02()
   VERIFY(!finish._M_singular() && !finish._M_dereferenceable());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<int const, int> > >;
+#endif
+
 int main()
 {
   test02();
index b82612f5c7fffc1851578405209f31e8917bc094..21c6f450a2a7dcde18921cf436dbc43b03ae8d38 100644 (file)
@@ -36,6 +36,11 @@ bool
 operator<(std::pair<int, int> const& lhs, std::pair<int, int> const& rhs) 
 { return lhs.first < rhs.first; }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<int, int> > >;
+#endif
+
 int main () 
 {
   typedef std::multiset<std::pair<int, int> >::iterator iterator;
index 0d9b76f2f4c80c8f4bce12ae6b7080ecef89dcbd..18c937ddea4b54105cc56f35dfcaa2dbcabc7b53 100644 (file)
@@ -1,6 +1,6 @@
 // Multiset iterator invalidation tests
 
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -45,6 +45,11 @@ void test01()
   VERIFY(!finish._M_dereferenceable() && !finish._M_singular());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<int> >;
+#endif
+
 int main()
 {
   test01();
index fbca3c476fe5022edd5ba8e099f27c009d2a879b..1185319b10ce0890b5a174d3c5885a6772317a28 100644 (file)
@@ -1,6 +1,6 @@
 // Multiset iterator invalidation tests
 
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -64,6 +64,11 @@ void test02()
   VERIFY(!finish._M_singular() && !finish._M_dereferenceable());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<int> >;
+#endif
+
 int main()
 {
   test02();
index 9cea073706dbe37155864349de91ccf9d16bc216..613a924c84a29b7e0574e99ac4b651f750807920 100644 (file)
@@ -1,6 +1,6 @@
 // 2002-06-28 pme
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -43,6 +43,11 @@ test03()
     pq.pop();
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int>;
+#endif
+
 int main()
 {
   test03();
index f1da79580452829e094e092837fbeb6a9964b3fd..b0875d0620568c1294b008f99073d3082f78af85 100644 (file)
@@ -1,6 +1,6 @@
 // 2002-06-28 pme
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -34,6 +34,12 @@ test01()
   q.pop();
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int>;
+template class __gnu_cxx::__mt_alloc<int*>;
+#endif
+
 int main()
 {
   test01();
index 5a58f6fad71a976418b24cb50a4ec4b85651ea03..59190630e2868206c410b34632badb43d80212a2 100644 (file)
@@ -1,6 +1,6 @@
 // Set iterator invalidation tests
 
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -45,6 +45,11 @@ void test01()
   VERIFY(!finish._M_dereferenceable() && !finish._M_singular());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<int> >;
+#endif
+
 int main()
 {
   test01();
index 25277d843b95d9fc0252598921d5b443354e8f7a..64b5fc37895c1b6da586cf3b1ed89bd0b08a00f8 100644 (file)
@@ -1,6 +1,6 @@
 // Set iterator invalidation tests
 
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -64,6 +64,11 @@ void test02()
   VERIFY(!finish._M_singular() && !finish._M_dereferenceable());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<int> >;
+#endif
+
 int main()
 {
   test02();
index 4bfc10154867f5d5e514b35dbe68b13b6ae4fdeb..bbb5bbd142af542946393e4e85b3ee95f2495833 100644 (file)
@@ -1,6 +1,6 @@
 // 2002-06-28 pme
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -34,6 +34,12 @@ test02()
   st.pop();
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int*>;
+template class __gnu_cxx::__mt_alloc<int>;
+#endif
+
 int main()
 {
   test02();
index f56c21dd5447771e968d9edf8b61484534992180..88cac68d665f391c89100bb478c4ea7f137922b8 100644 (file)
@@ -1,6 +1,6 @@
 // 2002-03-05 Stephen M. Webb  <stephen.webb@bregmasoft.com>
 
-// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -47,6 +47,11 @@ void test02()
   VERIFY( num == 4 );
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<unsigned long>;
+#endif
+
 int main()
 {
   test02();
index 797a2fc0f8a4a11a898079e22f005f80ee921dd9..8ac1f0f7c7f84bc3144e9108a12f22933a86b2ad 100644 (file)
@@ -1,7 +1,7 @@
 // 1999-05-07
 // bkoz 
 
-// Copyright (C) 1999, 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2002, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -54,6 +54,11 @@ void test01()
   VERIFY( sz01 == sz02 );
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<A<B> >;
+#endif
+
 int main()
 {
   test01();
index fe706a4b56aa208ee7f8666883562091db25aa74..759fc7507d34cc8b8abfeeeb5933959d8a39a00b 100644 (file)
@@ -1,7 +1,7 @@
 // 1999-05-07
 // bkoz 
 
-// Copyright (C) 1999, 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2002, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -71,6 +71,11 @@ void test02()
   }
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int>;
+#endif
+
 int main()
 {
   test02();
index e2f6587ab0085184d17976aa8d57466dd762beb5..5c212db9b65744ef8fa59a916577538e07771712 100644 (file)
@@ -1,6 +1,6 @@
 // 1999-06-29 bkoz
 
-// Copyright (C) 1999-2001, 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 1999-2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -40,9 +40,13 @@ void test01()
   vec01 = vec02;
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<A<B> >;
+#endif
+
 int main()
 {
   test01();
-
   return 0;
 }
index 03f84d8b231727eb6b180fead36d48ee5e36cac2..ecee79d85d50a93c5a0fd6aeb5b3e40aae1de8a5 100644 (file)
@@ -1,6 +1,6 @@
 // 1999-06-29 bkoz
 
-// Copyright (C) 1999-2001, 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 1999-2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -41,9 +41,15 @@ void test02()
   std::vector<int> v2(v1);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int>;
+template class __gnu_cxx::__mt_alloc<double>;
+template class __gnu_cxx::__mt_alloc<A<B> >;
+#endif
+
 int main()
 {
   test02(); 
-
   return 0;
 }
index 5c41e654833cd2ef3306494ddbc733d30b197f92..e228e7b63058e0a4d12b37cbf4dbbea7c2d32c9c 100644 (file)
@@ -1,6 +1,6 @@
 // 1999-06-29 bkoz
 
-// Copyright (C) 1999-2001, 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 1999-2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -46,9 +46,13 @@ test03()
   VERIFY(std::equal(B, B + M, v5.begin()));
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int>;
+#endif
+
 int main()
 {
   test03();
-
   return 0;
 }
index 76801831cf35ca1d23d88d9f9a2d7f736c2917d9..593b377155411222f9fdf25bc07ba8c4ee41a49d 100644 (file)
@@ -1,6 +1,6 @@
 // 1999-06-29 bkoz
 
-// Copyright (C) 1999-2001, 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 1999-2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -32,9 +32,13 @@ void test04()
   std::vector<std::string> strings(c_strings, c_strings + 5);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::string>;
+#endif
+
 int main()
 {
   test04();
-
   return 0;
 }
index 89026225f9ab3160ead7265df77dba1e15d782ba..fce524d9c475b95a2f8981f36ad6fd635409fee4 100644 (file)
@@ -1,7 +1,7 @@
 // 2000-09-06
 // bkoz 
 
-// Copyright (C) 2000, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -55,9 +55,13 @@ bool test01()
   return test;
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<A<B> >;
+#endif
+
 int main()
 {
   test01();
-
   return 0;
 }
index 833ec544d4b3acc9bb4d6e8acfa292c4fd322814..b93146fb6c035ebb1dcc02bbdb928a2defcc13d7 100644 (file)
@@ -53,6 +53,11 @@ void test01()
   VERIFY(i._M_singular());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int>;
+#endif
+
 int main()
 {
   test01();
index 6526504c30d83b8aae8360e683687678513fc4b6..75f67b02d176570b417815ffce020ffebde12ea8 100644 (file)
@@ -58,6 +58,11 @@ void test02()
   VERIFY(before._M_singular());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int>;
+#endif
+
 int main()
 {
   test02();
index b34af6448ff401dfb027d35ffac6c8abee9946fc..5447cf8ac43f575ea982c52be1d3b62db88cbdee 100644 (file)
@@ -83,6 +83,11 @@ void test03()
   VERIFY(before._M_singular());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int>;
+#endif
+
 int main()
 {
   test03();
index 0a9628ff4ed2a66d5bac0120d6befce49788ef9e..347d2312a1fc0bc29a3a0ee630c40225c7c3f314 100644 (file)
@@ -60,6 +60,11 @@ void test04()
   VERIFY(before._M_singular());
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int>;
+#endif
+
 int main()
 {
   test04();
index 20fb52d317ae14ca81b5ed53e497d7567212c5b2..52374e70d806cb6009638f462db6fa51ca3304fc 100644 (file)
@@ -1,6 +1,6 @@
 // 1999-11-09 bkoz
 
-// Copyright (C) 1999, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -49,6 +49,12 @@ test01()
   vec02.insert(vec02.begin(), pnp01, pnp01 + 1);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int>;
+template class __gnu_cxx::__mt_alloc<A<B> >;
+#endif
+
 int main()
 {
   test01();
index b6d37396e02034712056d35355615b0d688b828d..0e68bfa69890f82c9afda01748a6286604a5e9cd 100644 (file)
@@ -1,6 +1,6 @@
 // 1999-11-09 bkoz
 
-// Copyright (C) 1999, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -55,6 +55,11 @@ test03()
   VERIFY((v4.size() == M) && (M != N));
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int>;
+#endif
+
 int main()
 {
   test03();
index c8e07cd54c7ced5d00c328389466037eb3aa51ce..7bc579809f75bb586866e483e0df66a34d11a483 100644 (file)
@@ -1,7 +1,7 @@
 // 1999-05-07
 // bkoz 
 
-// Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2002, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -50,6 +50,11 @@ void test01()
   VERIFY( test );
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int>;
+#endif
+
 int main()
 {
   test01();
index 678feb8b2453594c049f6cffee8abddd7e5b715a..2ca14a786135d11618500a219774ad72304059d8 100644 (file)
@@ -1,6 +1,6 @@
 // 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -63,6 +63,11 @@ public:
   test_dm():  std::back_insert_iterator<std::list<int> >(l), p(container) { }
 };
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main() 
 { 
   test01();
index 32a694e3acf925343140ddef791a27dbc4d7caaf..9ee2e9fd3fabb08bb53b445afb84c5367b19bf61 100644 (file)
@@ -1,6 +1,6 @@
 // 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -62,6 +62,11 @@ public:
   test_dm(): std::front_insert_iterator<std::list<int> >(l), p(container) { }
 };
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main() 
 { 
   test01();
index 7fca06092d8acabed22ff5bc7ec9a6c24924a337..322bccf4ea3a816ec162eeb367381fccb4401314 100644 (file)
@@ -1,6 +1,6 @@
 // 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -70,6 +70,11 @@ public:
   test_dm(): std::insert_iterator<std::list<int> >(l, i), p(container) { }
 };
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main() 
 { 
   test01();
index 51360b09cdb2188f84b3d06a18afdafd890bd400..b3f4c67ed899d05e2c1227eb81d7f8bd089cc516 100644 (file)
@@ -2,7 +2,7 @@
 // 24.3.1 Iterator traits
 // (basic_string and vector implementations)
 //
-// Copyright (C) 1999, 2003 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2003, 2004 Free Software Foundation, Inc.
 // This program is free software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
 // the Free Software Foundation; either version 2 of the License, or 
@@ -588,6 +588,12 @@ test6642()
    return it - cit;
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int>;
+template class __gnu_cxx::__mt_alloc<std::string>;
+#endif
+
 int
 main()
 {
index 65034b2519fbe9b4114d408fba4d4ca2ad3835bc..b11af2a0302ad8ac9f94e74f30239bb5333f0ec1 100644 (file)
@@ -1,6 +1,6 @@
 // 2002-04-13  Paolo Carlini  <pcarlini@unitus.it>
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -38,6 +38,11 @@ void test01()
   vi >= v.begin();
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int>;
+#endif
+
 int main()
 {
   test01();
index b4a322f4dffdc5336a596b0fe720b5584fdbeb4b..d9743bedc10b53de40498cf5d92281557f70c716 100644 (file)
@@ -33,9 +33,13 @@ bool operator==(X, X) { return true; }
 // Not implemented on purpose.  { dg-do link }
 bool operator!=(X, X);
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<X>;
+#endif
+
 int main()
 {
   std::vector<X> v, w;
-
   return !std::equal(v.begin(), v.end(), w.begin());
 }
index bd07009c015b3697c4dc13e4ff14b2a53bb5c9f9..8e5afb188291f02fa62e0ee97a92530b4c819177 100644 (file)
@@ -1,6 +1,6 @@
 // 2000-03-29 sss/bkoz
 
-// Copyright (C) 2000, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
index 2c0487706ea82cf23729ece143407fc68838affd..d37209d19d1ffb5c72e0e4de5c639b528e215c98 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -71,6 +71,11 @@ test03()
     VERIFY(std::equal(A, A + N, D));
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int
 main()
 {
index 6c383bb4af4f070414d46a4de2e0137cb9a51f22..658e26b0fefda3e3101646d1a5e588b99d7ed9fc 100644 (file)
@@ -1,6 +1,6 @@
 // 2001-07-19 Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
 
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 #include <list>
 #include <algorithm>
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main()
 {
   using namespace std;
index 55920fbe3886574258e6d8e12ee8f92fbf61a413..65b09b5a53e320b17206df90d6389086c9ad3be8 100644 (file)
@@ -1,6 +1,6 @@
 // 2003-10-14  Paolo Carlini  <pcarlini@unitus.it>
 
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -86,6 +86,11 @@ void test03()
   VERIFY( equal(coll2.begin(), pos, B3) );
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif
+
 int main()
 {
   test01();
index 605e356a8ffaf61eeb3caee1a4f50eb6fad431fa..13adfb2a5a664c596b7f88e72fdfa5e67c534711 100644 (file)
@@ -1,6 +1,6 @@
 // 2003-10-07  Petur Runolfsson  <peturr02@ru.is>
 //
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -131,6 +131,11 @@ void test01()
   fb.close();
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::pair<std::fpos<__mbstate_t>, std::size_t> >;
+#endif
+
 int main()
 {
   test01();
index 3ef7e6ecc5967a80a5d864ff54d190e3734bed16..67a771ac07edb251bce34bd09b886fa56b539f21 100644 (file)
@@ -1,6 +1,6 @@
 // 2001-12-28  Phil Edwards  <pme@gcc.gnu.org>
 //
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -76,9 +76,14 @@ test2054( )
   binary_search(Index.begin(), Index.end(), SearchTerm, aComparison);
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<int>;
+template class __gnu_cxx::__mt_alloc<std::string>;
+#endif
+
 int main()
 {
   test2054();
-
   return 0;
 }
index 9911968c02726cdf0c105cec464a18f6fb88e029..2a0bc0bce6d8dac7f6fc6d0a965de795a5a06cee 100644 (file)
@@ -95,6 +95,13 @@ void test01()
   }
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Hashtable_node<std::pair<const std::string, int> > >;
+template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Hashtable_node<std::pair<const std::string, int> >* >;
+template class __gnu_cxx::__mt_alloc<std::pair<std::string, int> >;
+#endif
+
 int main()
 {
   test01();
index de0020dd626f41f660ac38adb3cb8ed596f23810..9db82b7ef9d7ea71036b7642fc3f2dc947e340e0 100644 (file)
@@ -1,7 +1,7 @@
 // 2002-04-28  Paolo Carlini  <pcarlini@unitus.it>
 //             Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -31,6 +31,12 @@ test01()
   const int anzahl = sizeof(werte) / sizeof(int);
   __gnu_cxx::hash_set<int> intTable(werte, werte + anzahl);
 }
+                                       
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Hashtable_node<int> >;
+template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Hashtable_node<int>* >;
+#endif
 
 int main()
 {
index 969554cbe1c5bcce8c876a354f3c458c743fedca..b79e5e91496cfcc06a018cfcda2d5fc913fed9a8 100644 (file)
@@ -1,6 +1,6 @@
 // 2001-10-03 From: Dimitris Vyzovitis <vyzo@media.mit.edu>
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -31,6 +31,14 @@ void test01()
   std::cout << data << std::endl;
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeLeaf<char, std::allocator<char> > >;
+template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeFunction<char, std::allocator<char> > >;
+template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeSubstring<char, std::allocator<char> > >;
+template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeConcatenation<char, std::allocator<char> > >;
+#endif
+
 int main()
 {
   test01();
index 92a5f312842b77a28c8d91acc2118217088f08cb..1b225f202c6020bac793bd8566949bd7db13cbcf 100644 (file)
@@ -1,6 +1,6 @@
 // 2002-01-23  Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org>
 //
-// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -99,6 +99,11 @@ consume (void* t)
   return 0;
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
+#endif                                                                
+
 int
 main ()
 {
index f95671dcb5b3fc31c91314290e66df589a28f3e8..be1ae680fa7ee1dfe67adf7dcc279871b2255458 100644 (file)
@@ -2,7 +2,7 @@
 // Adapted from http://gcc.gnu.org/ml/gcc-bugs/2002-01/msg00679.html
 // which was adapted from pthread1.cc by Mike Lu <MLu@dynamicsoft.com>
 //
-// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -90,6 +90,12 @@ consume (void*)
   return 0;
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::string>;
+template class __gnu_cxx::__mt_alloc<std::_List_node<std::string> >;
+#endif
+
 int
 main (void)
 {
index 262796e0ba7947df133c26530b655ecc834e74d2..b950542fd619c7be6d6cac5a34afb4fa9ddd3db2 100644 (file)
@@ -2,7 +2,7 @@
 // Adpated from libstdc++/5464 submitted by jjessel@amadeus.net
 // Jean-Francois JESSEL (Amadeus SAS Development) 
 //
-// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -87,6 +87,12 @@ thread_function (void* arg)
   return arg;
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<tt_t>;
+template class __gnu_cxx::__mt_alloc<std::_List_node<std::string*> >;
+#endif   
+
 int
 main ()
 {
index c72acb539851024e09622d8d85ab27ba197952ba..e0fee71deac673d7843b696cb4cd11213bdfe8bf 100644 (file)
@@ -72,6 +72,11 @@ thread_main (void*)
   return 0;
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<unsigned int const, std::string> > >;
+#endif
+
 int
 main (void)
 {
index 36acd461e8733c274235e1d810b416c0840f82aa..5b4d099fee5820d2025456b637bf78138dc18845 100644 (file)
@@ -1,6 +1,6 @@
 // 2003-05-03  Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org>
 //
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -53,6 +53,14 @@ void* thread_main(void *)
   return 0;
 }
 
+#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
+// Explicitly instantiate for systems with no COMDAT or weak support.
+template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeLeaf<char, std::allocator<char> > >;
+template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeFunction<char, std::allocator<char> > >;
+template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeSubstring<char, std::allocator<char> > >;
+template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeConcatenation<char, std::allocator<char> > >;
+#endif                                                                
+
 int
 main()
 {