From 7b2f3869a863b73bd037720d43c714d3c0c93846 Mon Sep 17 00:00:00 2001 From: bkoz Date: Thu, 4 Mar 2004 18:11:08 +0000 Subject: [PATCH] 2004-03-04 Benjamin Kosnik * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78922 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/ChangeLog | 90 ++++++++++++++++++++++ libstdc++-v3/src/allocator.cc | 1 + libstdc++-v3/testsuite/20_util/allocator/1.cc | 8 +- libstdc++-v3/testsuite/20_util/allocator/10378.cc | 7 +- libstdc++-v3/testsuite/20_util/allocator/8230.cc | 5 ++ libstdc++-v3/testsuite/20_util/binders.cc | 6 +- .../testsuite/22_locale/ctype/is/char/2.cc | 8 +- .../testsuite/22_locale/ctype/is/wchar_t/2.cc | 7 +- .../testsuite/22_locale/ctype/widen/char/1.cc | 2 +- .../testsuite/23_containers/deque/cons/1.cc | 7 +- .../testsuite/23_containers/deque/cons/2.cc | 9 ++- .../23_containers/deque/invalidation/1.cc | 10 ++- .../23_containers/deque/invalidation/2.cc | 10 ++- .../23_containers/deque/invalidation/3.cc | 11 ++- .../23_containers/deque/invalidation/4.cc | 6 ++ .../testsuite/23_containers/deque/operators/1.cc | 8 +- libstdc++-v3/testsuite/23_containers/list/1.cc | 3 +- .../testsuite/23_containers/list/capacity/1.cc | 7 +- .../testsuite/23_containers/list/cons/1.cc | 8 +- .../testsuite/23_containers/list/cons/2.cc | 10 ++- .../testsuite/23_containers/list/cons/3.cc | 7 +- .../testsuite/23_containers/list/cons/4.cc | 9 ++- .../testsuite/23_containers/list/cons/5.cc | 9 ++- .../testsuite/23_containers/list/cons/6.cc | 9 ++- .../testsuite/23_containers/list/cons/7.cc | 9 ++- .../testsuite/23_containers/list/cons/8.cc | 9 ++- .../testsuite/23_containers/list/cons/9.cc | 7 +- .../testsuite/23_containers/list/invalidation/1.cc | 7 +- .../testsuite/23_containers/list/invalidation/2.cc | 7 +- .../testsuite/23_containers/list/invalidation/3.cc | 7 +- .../testsuite/23_containers/list/invalidation/4.cc | 7 +- .../testsuite/23_containers/list/modifiers/1.cc | 9 ++- .../testsuite/23_containers/list/modifiers/2.cc | 9 ++- .../testsuite/23_containers/list/modifiers/3.cc | 9 ++- .../testsuite/23_containers/list/operators/1.cc | 9 ++- .../testsuite/23_containers/list/operators/2.cc | 8 +- .../testsuite/23_containers/list/operators/3.cc | 8 +- .../testsuite/23_containers/list/operators/4.cc | 9 ++- .../testsuite/23_containers/map/insert/1.cc | 8 +- .../testsuite/23_containers/map/invalidation/1.cc | 9 ++- .../testsuite/23_containers/map/invalidation/2.cc | 7 +- .../testsuite/23_containers/map/operators/1.cc | 7 +- .../23_containers/multimap/invalidation/1.cc | 5 ++ .../23_containers/multimap/invalidation/2.cc | 5 ++ .../testsuite/23_containers/multiset/insert/1.cc | 5 ++ .../23_containers/multiset/invalidation/1.cc | 7 +- .../23_containers/multiset/invalidation/2.cc | 7 +- .../23_containers/priority_queue/members/7161.cc | 7 +- .../testsuite/23_containers/queue/members/7157.cc | 8 +- .../testsuite/23_containers/set/invalidation/1.cc | 7 +- .../testsuite/23_containers/set/invalidation/2.cc | 7 +- .../testsuite/23_containers/stack/members/7158.cc | 8 +- .../testsuite/23_containers/vector/bool/6886.cc | 7 +- .../testsuite/23_containers/vector/capacity/1.cc | 7 +- .../23_containers/vector/capacity/8230.cc | 7 +- .../testsuite/23_containers/vector/cons/1.cc | 8 +- .../testsuite/23_containers/vector/cons/2.cc | 10 ++- .../testsuite/23_containers/vector/cons/3.cc | 8 +- .../testsuite/23_containers/vector/cons/6513.cc | 8 +- .../23_containers/vector/element_access/1.cc | 8 +- .../23_containers/vector/invalidation/1.cc | 5 ++ .../23_containers/vector/invalidation/2.cc | 5 ++ .../23_containers/vector/invalidation/3.cc | 5 ++ .../23_containers/vector/invalidation/4.cc | 5 ++ .../testsuite/23_containers/vector/modifiers/1.cc | 8 +- .../testsuite/23_containers/vector/modifiers/2.cc | 7 +- .../testsuite/23_containers/vector/resize/1.cc | 7 +- .../testsuite/24_iterators/back_insert_iterator.cc | 7 +- .../24_iterators/front_insert_iterator.cc | 7 +- .../testsuite/24_iterators/insert_iterator.cc | 7 +- libstdc++-v3/testsuite/24_iterators/iterator.cc | 8 +- libstdc++-v3/testsuite/24_iterators/rel_ops.cc | 7 +- libstdc++-v3/testsuite/25_algorithms/equal.cc | 6 +- libstdc++-v3/testsuite/25_algorithms/min_max.cc | 2 +- libstdc++-v3/testsuite/25_algorithms/rotate.cc | 7 +- libstdc++-v3/testsuite/25_algorithms/unique/1.cc | 7 +- libstdc++-v3/testsuite/25_algorithms/unique/2.cc | 7 +- .../27_io/basic_filebuf/seekpos/wchar_t/9874.cc | 7 +- libstdc++-v3/testsuite/ext/concept_checks.cc | 9 ++- libstdc++-v3/testsuite/ext/hash_map.cc | 7 ++ libstdc++-v3/testsuite/ext/hash_set.cc | 8 +- libstdc++-v3/testsuite/ext/rope.cc | 10 ++- libstdc++-v3/testsuite/thread/pthread1.cc | 7 +- libstdc++-v3/testsuite/thread/pthread4.cc | 8 +- libstdc++-v3/testsuite/thread/pthread5.cc | 8 +- libstdc++-v3/testsuite/thread/pthread6.cc | 5 ++ libstdc++-v3/testsuite/thread/pthread7-rope.cc | 10 ++- 87 files changed, 617 insertions(+), 100 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index ad452c7..2aa51bf 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,93 @@ +2004-03-04 Benjamin Kosnik + + * 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 * include/bits/locale_facets.tcc (money_put<>::_M_insert): diff --git a/libstdc++-v3/src/allocator.cc b/libstdc++-v3/src/allocator.cc index 5e37d87..9f8d2ab 100644 --- a/libstdc++-v3/src/allocator.cc +++ b/libstdc++-v3/src/allocator.cc @@ -41,6 +41,7 @@ namespace __gnu_cxx { template class __mt_alloc; + template class __mt_alloc; // Static members of __pool_alloc. template class __pool_alloc; diff --git a/libstdc++-v3/testsuite/20_util/allocator/1.cc b/libstdc++-v3/testsuite/20_util/allocator/1.cc index 8d35be3..d34c8da 100644 --- a/libstdc++-v3/testsuite/20_util/allocator/1.cc +++ b/libstdc++-v3/testsuite/20_util/allocator/1.cc @@ -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; +#endif + void test01() { bool test __attribute__((unused)) = true; std::allocator 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; } + diff --git a/libstdc++-v3/testsuite/20_util/allocator/10378.cc b/libstdc++-v3/testsuite/20_util/allocator/10378.cc index 88193b5..2ac77ea 100644 --- a/libstdc++-v3/testsuite/20_util/allocator/10378.cc +++ b/libstdc++-v3/testsuite/20_util/allocator/10378.cc @@ -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 >; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/20_util/allocator/8230.cc b/libstdc++-v3/testsuite/20_util/allocator/8230.cc index 7747dd7..95b6cbe 100644 --- a/libstdc++-v3/testsuite/20_util/allocator/8230.cc +++ b/libstdc++-v3/testsuite/20_util/allocator/8230.cc @@ -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; +#endif + int main() { test02(); diff --git a/libstdc++-v3/testsuite/20_util/binders.cc b/libstdc++-v3/testsuite/20_util/binders.cc index a12d3b6..28de474 100644 --- a/libstdc++-v3/testsuite/20_util/binders.cc +++ b/libstdc++-v3/testsuite/20_util/binders.cc @@ -1,6 +1,6 @@ // 2001-06-11 Benjamin Kosnik -// 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; +#endif int main() { diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc index 0211607..4192b80 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc @@ -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 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; +#endif int main() { test02(); diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc index df02878..f5a7d6d 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc @@ -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; +#endif + int main() { test02(); diff --git a/libstdc++-v3/testsuite/22_locale/ctype/widen/char/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/widen/char/1.cc index e4ac43a..4c051c4 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/widen/char/1.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/widen/char/1.cc @@ -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 diff --git a/libstdc++-v3/testsuite/23_containers/deque/cons/1.cc b/libstdc++-v3/testsuite/23_containers/deque/cons/1.cc index 566461b7..5a32c78 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/cons/1.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/cons/1.cc @@ -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() { diff --git a/libstdc++-v3/testsuite/23_containers/deque/cons/2.cc b/libstdc++-v3/testsuite/23_containers/deque/cons/2.cc index e0e7108..64365b0 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/cons/2.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/cons/2.cc @@ -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; +template class __gnu_cxx::__mt_alloc; +template class __gnu_cxx::__mt_alloc<__gnu_test::copy_tracker>; +template class __gnu_cxx::__mt_alloc<__gnu_test::copy_tracker*>; +#endif int main() { diff --git a/libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc index 4529b28..506f0e9 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc @@ -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; +template class __gnu_cxx::__mt_alloc; +#endif + int main() { test01(); - return !test; + return 0; } diff --git a/libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc index 106c118..9aa1e57 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc @@ -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; +template class __gnu_cxx::__mt_alloc; +#endif + int main() { test02(); - return !test; + return 0; } diff --git a/libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc b/libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc index 60103c1..fe37498 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc @@ -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; +template class __gnu_cxx::__mt_alloc; +#endif + int main() { test03(); - return !test; + return 0; } diff --git a/libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc b/libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc index c8a8b88..21ba372 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc @@ -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; +template class __gnu_cxx::__mt_alloc; +#endif + int main() { test04(); diff --git a/libstdc++-v3/testsuite/23_containers/deque/operators/1.cc b/libstdc++-v3/testsuite/23_containers/deque/operators/1.cc index 4b7aac9..20cdfac 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/operators/1.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/operators/1.cc @@ -1,6 +1,6 @@ // 2002-05-18 Paolo Carlini -// 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; +template class __gnu_cxx::__mt_alloc; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/23_containers/list/1.cc b/libstdc++-v3/testsuite/23_containers/list/1.cc index 187f380..45aa95e 100644 --- a/libstdc++-v3/testsuite/23_containers/list/1.cc +++ b/libstdc++-v3/testsuite/23_containers/list/1.cc @@ -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 diff --git a/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc b/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc index 609b92c..b19a7b1 100644 --- a/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc +++ b/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc @@ -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 >; +#endif + int main() { diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/1.cc b/libstdc++-v3/testsuite/23_containers/list/cons/1.cc index 1d2f566..92a5992 100644 --- a/libstdc++-v3/testsuite/23_containers/list/cons/1.cc +++ b/libstdc++-v3/testsuite/23_containers/list/cons/1.cc @@ -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 > >; +#endif + int main() { test01(); return 0; } -// vi:set sw=2 ts=2: diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/2.cc b/libstdc++-v3/testsuite/23_containers/list/cons/2.cc index 090c7f3..b837d85 100644 --- a/libstdc++-v3/testsuite/23_containers/list/cons/2.cc +++ b/libstdc++-v3/testsuite/23_containers/list/cons/2.cc @@ -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 > >; +template class __gnu_cxx::__mt_alloc; +template class __gnu_cxx::__mt_alloc >; +#endif + int main() { test02(); return 0; } -// vi:set sw=2 ts=2: diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/3.cc b/libstdc++-v3/testsuite/23_containers/list/cons/3.cc index 5115dc0..61e6aef 100644 --- a/libstdc++-v3/testsuite/23_containers/list/cons/3.cc +++ b/libstdc++-v3/testsuite/23_containers/list/cons/3.cc @@ -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 >; +#endif + int main() { test02D(); diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/4.cc b/libstdc++-v3/testsuite/23_containers/list/cons/4.cc index 68b8d43..4b84342 100644 --- a/libstdc++-v3/testsuite/23_containers/list/cons/4.cc +++ b/libstdc++-v3/testsuite/23_containers/list/cons/4.cc @@ -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 >; +#endif + int main() { test03(); return 0; } -// vi:set sw=2 ts=2: + diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/5.cc b/libstdc++-v3/testsuite/23_containers/list/cons/5.cc index 7bc925a..89e5308 100644 --- a/libstdc++-v3/testsuite/23_containers/list/cons/5.cc +++ b/libstdc++-v3/testsuite/23_containers/list/cons/5.cc @@ -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 >; +#endif + int main() { test04(); return 0; } -// vi:set sw=2 ts=2: + diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/6.cc b/libstdc++-v3/testsuite/23_containers/list/cons/6.cc index 9cdec8b..a302c59 100644 --- a/libstdc++-v3/testsuite/23_containers/list/cons/6.cc +++ b/libstdc++-v3/testsuite/23_containers/list/cons/6.cc @@ -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 >; +#endif + int main() { test05(); return 0; } -// vi:set sw=2 ts=2: + diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/7.cc b/libstdc++-v3/testsuite/23_containers/list/cons/7.cc index 650c82b..16a8f90 100644 --- a/libstdc++-v3/testsuite/23_containers/list/cons/7.cc +++ b/libstdc++-v3/testsuite/23_containers/list/cons/7.cc @@ -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 >; +#endif + int main() { test06(); return 0; } -// vi:set sw=2 ts=2: + diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/8.cc b/libstdc++-v3/testsuite/23_containers/list/cons/8.cc index 66b59a0..1d70d3c 100644 --- a/libstdc++-v3/testsuite/23_containers/list/cons/8.cc +++ b/libstdc++-v3/testsuite/23_containers/list/cons/8.cc @@ -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 >; +#endif + int main() { test06D(); return 0; } -// vi:set sw=2 ts=2: + diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/9.cc b/libstdc++-v3/testsuite/23_containers/list/cons/9.cc index 1f26213..21a1e58 100644 --- a/libstdc++-v3/testsuite/23_containers/list/cons/9.cc +++ b/libstdc++-v3/testsuite/23_containers/list/cons/9.cc @@ -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 >; +#endif + int main() { test07(); diff --git a/libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc index 86d9031..21e0432 100644 --- a/libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc @@ -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 >; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc index 117aa61..4bfa5ce 100644 --- a/libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc @@ -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 >; +#endif + int main() { test02(); diff --git a/libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc b/libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc index 59af360..31da208 100644 --- a/libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc +++ b/libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc @@ -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 >; +#endif + int main() { test03(); diff --git a/libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc b/libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc index 90f9970..c452983 100644 --- a/libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc +++ b/libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc @@ -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 >; +#endif + int main() { test04(); diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc index 2e75dca..5d95467 100644 --- a/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc +++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc @@ -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 >; +#endif + int main() { test03(); return 0; } -// vi:set sw=2 ts=2: diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc index 66c5c12..21c8b73 100644 --- a/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc +++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc @@ -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 >; +#endif + int main() { test02(); return 0; } -// vi:set sw=2 ts=2: diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc index dfbc46c..dda9d9a 100644 --- a/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc +++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc @@ -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 >; +#endif + int main() { test01(); return 0; } -// vi:set sw=2 ts=2: diff --git a/libstdc++-v3/testsuite/23_containers/list/operators/1.cc b/libstdc++-v3/testsuite/23_containers/list/operators/1.cc index 663ff1c..1b83775 100644 --- a/libstdc++-v3/testsuite/23_containers/list/operators/1.cc +++ b/libstdc++-v3/testsuite/23_containers/list/operators/1.cc @@ -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 >; +#endif + int main(void) { test01(); return 0; } -// vi:set sw=2 ts=2: + diff --git a/libstdc++-v3/testsuite/23_containers/list/operators/2.cc b/libstdc++-v3/testsuite/23_containers/list/operators/2.cc index 726c4bf..4cdc27e 100644 --- a/libstdc++-v3/testsuite/23_containers/list/operators/2.cc +++ b/libstdc++-v3/testsuite/23_containers/list/operators/2.cc @@ -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 >; +#endif + int main() { test02(); return 0; } -// vi:set sw=2 ts=2: diff --git a/libstdc++-v3/testsuite/23_containers/list/operators/3.cc b/libstdc++-v3/testsuite/23_containers/list/operators/3.cc index 8b9c537..4919cd1 100644 --- a/libstdc++-v3/testsuite/23_containers/list/operators/3.cc +++ b/libstdc++-v3/testsuite/23_containers/list/operators/3.cc @@ -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 >; +#endif + int main(void) { test03(); return 0; } -// vi:set sw=2 ts=2: diff --git a/libstdc++-v3/testsuite/23_containers/list/operators/4.cc b/libstdc++-v3/testsuite/23_containers/list/operators/4.cc index bbebfb5..2bfe127 100644 --- a/libstdc++-v3/testsuite/23_containers/list/operators/4.cc +++ b/libstdc++-v3/testsuite/23_containers/list/operators/4.cc @@ -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 >; +#endif + int main() { test04(); return 0; } -// vi:set sw=2 ts=2: + diff --git a/libstdc++-v3/testsuite/23_containers/map/insert/1.cc b/libstdc++-v3/testsuite/23_containers/map/insert/1.cc index 404f3c3..8c15aec 100644 --- a/libstdc++-v3/testsuite/23_containers/map/insert/1.cc +++ b/libstdc++-v3/testsuite/23_containers/map/insert/1.cc @@ -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 >; +template class __gnu_cxx::__mt_alloc > >; +#endif int main() { test01(); - return 0; } diff --git a/libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc index a62a98d..667c663 100644 --- a/libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc @@ -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 > >; +#endif + int main() { test01(); - return !test; + return 0; } diff --git a/libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc index 0086deb..41fa0d3 100644 --- a/libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc @@ -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 > >; +#endif + int main() { test02(); diff --git a/libstdc++-v3/testsuite/23_containers/map/operators/1.cc b/libstdc++-v3/testsuite/23_containers/map/operators/1.cc index 03a7860..4a54f38 100644 --- a/libstdc++-v3/testsuite/23_containers/map/operators/1.cc +++ b/libstdc++-v3/testsuite/23_containers/map/operators/1.cc @@ -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 > >; +#endif + int main() { test02(); diff --git a/libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc index 71b5385..d98566c 100644 --- a/libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc @@ -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 > >; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc index c6f659e..1025576 100644 --- a/libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc @@ -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 > >; +#endif + int main() { test02(); diff --git a/libstdc++-v3/testsuite/23_containers/multiset/insert/1.cc b/libstdc++-v3/testsuite/23_containers/multiset/insert/1.cc index b82612f..21c6f45 100644 --- a/libstdc++-v3/testsuite/23_containers/multiset/insert/1.cc +++ b/libstdc++-v3/testsuite/23_containers/multiset/insert/1.cc @@ -36,6 +36,11 @@ bool operator<(std::pair const& lhs, std::pair 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 > >; +#endif + int main () { typedef std::multiset >::iterator iterator; diff --git a/libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc index 0d9b76f..18c937d 100644 --- a/libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc @@ -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 >; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc index fbca3c4..1185319 100644 --- a/libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc @@ -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 >; +#endif + int main() { test02(); diff --git a/libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc b/libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc index 9cea073..613a924 100644 --- a/libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc +++ b/libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc @@ -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; +#endif + int main() { test03(); diff --git a/libstdc++-v3/testsuite/23_containers/queue/members/7157.cc b/libstdc++-v3/testsuite/23_containers/queue/members/7157.cc index f1da795..b0875d0 100644 --- a/libstdc++-v3/testsuite/23_containers/queue/members/7157.cc +++ b/libstdc++-v3/testsuite/23_containers/queue/members/7157.cc @@ -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; +template class __gnu_cxx::__mt_alloc; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc index 5a58f6f..5919063 100644 --- a/libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc @@ -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 >; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/23_containers/set/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/set/invalidation/2.cc index 25277d8..64b5fc3 100644 --- a/libstdc++-v3/testsuite/23_containers/set/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/set/invalidation/2.cc @@ -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 >; +#endif + int main() { test02(); diff --git a/libstdc++-v3/testsuite/23_containers/stack/members/7158.cc b/libstdc++-v3/testsuite/23_containers/stack/members/7158.cc index 4bfc101..bbb5bbd 100644 --- a/libstdc++-v3/testsuite/23_containers/stack/members/7158.cc +++ b/libstdc++-v3/testsuite/23_containers/stack/members/7158.cc @@ -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; +template class __gnu_cxx::__mt_alloc; +#endif + int main() { test02(); diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/6886.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/6886.cc index f56c21d..88cac68 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/bool/6886.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/bool/6886.cc @@ -1,6 +1,6 @@ // 2002-03-05 Stephen M. Webb -// 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; +#endif + int main() { test02(); diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/1.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/1.cc index 797a2fc..8ac1f0f 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/capacity/1.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/1.cc @@ -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 >; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/8230.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/8230.cc index fe706a4..759fc75 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/capacity/8230.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/8230.cc @@ -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; +#endif + int main() { test02(); diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/1.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/1.cc index e2f6587..5c212db 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/cons/1.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/cons/1.cc @@ -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 >; +#endif + int main() { test01(); - return 0; } diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/2.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/2.cc index 03f84d8..ecee79d 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/cons/2.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/cons/2.cc @@ -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 v2(v1); } +#if !__GXX_WEAK__ && _MT_ALLOCATOR_H +// Explicitly instantiate for systems with no COMDAT or weak support. +template class __gnu_cxx::__mt_alloc; +template class __gnu_cxx::__mt_alloc; +template class __gnu_cxx::__mt_alloc >; +#endif + int main() { test02(); - return 0; } diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/3.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/3.cc index 5c41e65..e228e7b 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/cons/3.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/cons/3.cc @@ -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; +#endif + int main() { test03(); - return 0; } diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/6513.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/6513.cc index 7680183..593b377 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/cons/6513.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/cons/6513.cc @@ -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 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; +#endif + int main() { test04(); - return 0; } diff --git a/libstdc++-v3/testsuite/23_containers/vector/element_access/1.cc b/libstdc++-v3/testsuite/23_containers/vector/element_access/1.cc index 8902622..fce524d 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/element_access/1.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/element_access/1.cc @@ -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 >; +#endif + int main() { test01(); - return 0; } diff --git a/libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc index 833ec54..b93146f 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc @@ -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; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc index 6526504..75f67b0 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc @@ -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; +#endif + int main() { test02(); diff --git a/libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc b/libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc index b34af64..5447cf8 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc @@ -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; +#endif + int main() { test03(); diff --git a/libstdc++-v3/testsuite/23_containers/vector/invalidation/4.cc b/libstdc++-v3/testsuite/23_containers/vector/invalidation/4.cc index 0a9628f..347d231 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/invalidation/4.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/invalidation/4.cc @@ -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; +#endif + int main() { test04(); diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/1.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/1.cc index 20fb52d..52374e7 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/1.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/1.cc @@ -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; +template class __gnu_cxx::__mt_alloc >; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/2.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/2.cc index b6d3739..0e68bfa 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/2.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/2.cc @@ -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; +#endif + int main() { test03(); diff --git a/libstdc++-v3/testsuite/23_containers/vector/resize/1.cc b/libstdc++-v3/testsuite/23_containers/vector/resize/1.cc index c8e07cd..7bc5798 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/resize/1.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/resize/1.cc @@ -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; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator.cc b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator.cc index 678feb8..2ca14a7 100644 --- a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator.cc +++ b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator.cc @@ -1,6 +1,6 @@ // 2001-06-21 Benjamin Kosnik -// 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 >(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 >; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator.cc b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator.cc index 32a694e..9ee2e9f 100644 --- a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator.cc +++ b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator.cc @@ -1,6 +1,6 @@ // 2001-06-21 Benjamin Kosnik -// 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 >(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 >; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/24_iterators/insert_iterator.cc b/libstdc++-v3/testsuite/24_iterators/insert_iterator.cc index 7fca060..322bccf 100644 --- a/libstdc++-v3/testsuite/24_iterators/insert_iterator.cc +++ b/libstdc++-v3/testsuite/24_iterators/insert_iterator.cc @@ -1,6 +1,6 @@ // 2001-06-21 Benjamin Kosnik -// 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 >(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 >; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/24_iterators/iterator.cc b/libstdc++-v3/testsuite/24_iterators/iterator.cc index 51360b0..b3f4c67 100644 --- a/libstdc++-v3/testsuite/24_iterators/iterator.cc +++ b/libstdc++-v3/testsuite/24_iterators/iterator.cc @@ -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; +template class __gnu_cxx::__mt_alloc; +#endif + int main() { diff --git a/libstdc++-v3/testsuite/24_iterators/rel_ops.cc b/libstdc++-v3/testsuite/24_iterators/rel_ops.cc index 65034b2..b11af2a 100644 --- a/libstdc++-v3/testsuite/24_iterators/rel_ops.cc +++ b/libstdc++-v3/testsuite/24_iterators/rel_ops.cc @@ -1,6 +1,6 @@ // 2002-04-13 Paolo Carlini -// 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; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/25_algorithms/equal.cc b/libstdc++-v3/testsuite/25_algorithms/equal.cc index b4a322f..d9743be 100644 --- a/libstdc++-v3/testsuite/25_algorithms/equal.cc +++ b/libstdc++-v3/testsuite/25_algorithms/equal.cc @@ -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; +#endif + int main() { std::vector v, w; - return !std::equal(v.begin(), v.end(), w.begin()); } diff --git a/libstdc++-v3/testsuite/25_algorithms/min_max.cc b/libstdc++-v3/testsuite/25_algorithms/min_max.cc index bd07009..8e5afb1 100644 --- a/libstdc++-v3/testsuite/25_algorithms/min_max.cc +++ b/libstdc++-v3/testsuite/25_algorithms/min_max.cc @@ -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 diff --git a/libstdc++-v3/testsuite/25_algorithms/rotate.cc b/libstdc++-v3/testsuite/25_algorithms/rotate.cc index 2c04877..d37209d 100644 --- a/libstdc++-v3/testsuite/25_algorithms/rotate.cc +++ b/libstdc++-v3/testsuite/25_algorithms/rotate.cc @@ -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 >; +#endif + int main() { diff --git a/libstdc++-v3/testsuite/25_algorithms/unique/1.cc b/libstdc++-v3/testsuite/25_algorithms/unique/1.cc index 6c383bb..658e26b 100644 --- a/libstdc++-v3/testsuite/25_algorithms/unique/1.cc +++ b/libstdc++-v3/testsuite/25_algorithms/unique/1.cc @@ -1,6 +1,6 @@ // 2001-07-19 Peter Schmid -// 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 @@ -23,6 +23,11 @@ #include #include +#if !__GXX_WEAK__ && _MT_ALLOCATOR_H +// Explicitly instantiate for systems with no COMDAT or weak support. +template class __gnu_cxx::__mt_alloc >; +#endif + int main() { using namespace std; diff --git a/libstdc++-v3/testsuite/25_algorithms/unique/2.cc b/libstdc++-v3/testsuite/25_algorithms/unique/2.cc index 55920fb..65b09b5 100644 --- a/libstdc++-v3/testsuite/25_algorithms/unique/2.cc +++ b/libstdc++-v3/testsuite/25_algorithms/unique/2.cc @@ -1,6 +1,6 @@ // 2003-10-14 Paolo Carlini -// 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 >; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc index 605e356..13adfb2 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc @@ -1,6 +1,6 @@ // 2003-10-07 Petur Runolfsson // -// 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::size_t> >; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/ext/concept_checks.cc b/libstdc++-v3/testsuite/ext/concept_checks.cc index 3ef7e6e..67a771a 100644 --- a/libstdc++-v3/testsuite/ext/concept_checks.cc +++ b/libstdc++-v3/testsuite/ext/concept_checks.cc @@ -1,6 +1,6 @@ // 2001-12-28 Phil Edwards // -// 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; +template class __gnu_cxx::__mt_alloc; +#endif + int main() { test2054(); - return 0; } diff --git a/libstdc++-v3/testsuite/ext/hash_map.cc b/libstdc++-v3/testsuite/ext/hash_map.cc index 9911968..2a0bc0b 100644 --- a/libstdc++-v3/testsuite/ext/hash_map.cc +++ b/libstdc++-v3/testsuite/ext/hash_map.cc @@ -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 > >; +template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Hashtable_node >* >; +template class __gnu_cxx::__mt_alloc >; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/ext/hash_set.cc b/libstdc++-v3/testsuite/ext/hash_set.cc index de0020d..9db82b7 100644 --- a/libstdc++-v3/testsuite/ext/hash_set.cc +++ b/libstdc++-v3/testsuite/ext/hash_set.cc @@ -1,7 +1,7 @@ // 2002-04-28 Paolo Carlini // Peter Schmid -// 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 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 >; +template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Hashtable_node* >; +#endif int main() { diff --git a/libstdc++-v3/testsuite/ext/rope.cc b/libstdc++-v3/testsuite/ext/rope.cc index 969554c..b79e5e9 100644 --- a/libstdc++-v3/testsuite/ext/rope.cc +++ b/libstdc++-v3/testsuite/ext/rope.cc @@ -1,6 +1,6 @@ // 2001-10-03 From: Dimitris Vyzovitis -// 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 > >; +template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeFunction > >; +template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeSubstring > >; +template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeConcatenation > >; +#endif + int main() { test01(); diff --git a/libstdc++-v3/testsuite/thread/pthread1.cc b/libstdc++-v3/testsuite/thread/pthread1.cc index 92a5f31..1b225f2 100644 --- a/libstdc++-v3/testsuite/thread/pthread1.cc +++ b/libstdc++-v3/testsuite/thread/pthread1.cc @@ -1,6 +1,6 @@ // 2002-01-23 Loren J. Rittle // -// 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 >; +#endif + int main () { diff --git a/libstdc++-v3/testsuite/thread/pthread4.cc b/libstdc++-v3/testsuite/thread/pthread4.cc index f95671dc..be1ae68 100644 --- a/libstdc++-v3/testsuite/thread/pthread4.cc +++ b/libstdc++-v3/testsuite/thread/pthread4.cc @@ -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 // -// 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; +template class __gnu_cxx::__mt_alloc >; +#endif + int main (void) { diff --git a/libstdc++-v3/testsuite/thread/pthread5.cc b/libstdc++-v3/testsuite/thread/pthread5.cc index 262796e..b950542 100644 --- a/libstdc++-v3/testsuite/thread/pthread5.cc +++ b/libstdc++-v3/testsuite/thread/pthread5.cc @@ -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; +template class __gnu_cxx::__mt_alloc >; +#endif + int main () { diff --git a/libstdc++-v3/testsuite/thread/pthread6.cc b/libstdc++-v3/testsuite/thread/pthread6.cc index c72acb5..e0fee71 100644 --- a/libstdc++-v3/testsuite/thread/pthread6.cc +++ b/libstdc++-v3/testsuite/thread/pthread6.cc @@ -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 > >; +#endif + int main (void) { diff --git a/libstdc++-v3/testsuite/thread/pthread7-rope.cc b/libstdc++-v3/testsuite/thread/pthread7-rope.cc index 36acd46..5b4d099 100644 --- a/libstdc++-v3/testsuite/thread/pthread7-rope.cc +++ b/libstdc++-v3/testsuite/thread/pthread7-rope.cc @@ -1,6 +1,6 @@ // 2003-05-03 Loren J. Rittle // -// 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 > >; +template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeFunction > >; +template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeSubstring > >; +template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeConcatenation > >; +#endif + int main() { -- 2.7.4