From: Benjamin Kosnik Date: Thu, 4 Mar 2004 18:11:08 +0000 (+0000) Subject: 1.cc: Provide explicit instantiations for non-weak systems. X-Git-Tag: releases/gcc-4.0.0~9629 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f90e600a4edb2c28f62ec4ee73039f9e1491a7da;p=thirdparty%2Fgcc.git 1.cc: Provide explicit instantiations for non-weak systems. 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. From-SVN: r78922 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index ad452c78667e..2aa51bf946b7 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 5e37d8759e21..9f8d2abfa549 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 8d35be39bb7c..d34c8daf9c95 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 88193b5a33fd..2ac77eaaf16e 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 7747dd7bce99..95b6cbee55fb 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 a12d3b681463..28de474a41db 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 0211607de8f4..4192b806f4a3 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 df028783f85b..f5a7d6d59c13 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 e4ac43ab6cfa..4c051c48c488 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 566461b7d101..5a32c78eae8b 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 e0e7108d20b5..64365b0502cf 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 4529b288ef4f..506f0e9fad3b 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 106c118accc0..9aa1e573e99f 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 60103c1fd7e0..fe374984cfb3 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 c8a8b88a9edd..21ba372bf8da 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 4b7aac9ab601..20cdfaceae89 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 187f380b4d5a..45aa95ead100 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 609b92c82522..b19a7b139786 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 1d2f5662f02d..92a5992ca2be 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 090c7f3d66d5..b837d85a386b 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 5115dc0abedd..61e6aefc00a8 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 68b8d439cf8a..4b84342fd981 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 7bc925a64afc..89e5308cc885 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 9cdec8b40f73..a302c59a9a52 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 650c82b133fd..16a8f9026119 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 66b59a00d03c..1d70d3c89784 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 1f26213d8aed..21a1e5847148 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 86d9031a9c3c..21e04328a963 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 117aa61abea5..4bfa5ce7145c 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 59af360ed84c..31da208aeb70 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 90f99709f16c..c4529838fa01 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 2e75dcabb31e..5d95467b9957 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 66c5c12ccc6e..21c8b73e6876 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 dfbc46cb4063..dda9d9afee24 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 663ff1c81c90..1b837751a210 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 726c4bfcab4c..4cdc27e664d6 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 8b9c537a0643..4919cd1e80eb 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 bbebfb59a23b..2bfe127653dd 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 404f3c35cabf..8c15aec5352c 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 a62a98d863f3..667c66338afa 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 0086deb81fa5..41fa0d3da67c 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 03a7860c8bae..4a54f3889628 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 71b5385aed3f..d98566cf6ec8 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 c6f659e7f5c0..1025576d5646 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 b82612f5c7ff..21c6f450a2a7 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 0d9b76f2f4c8..18c937ddea4b 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 fbca3c476fe5..1185319b10ce 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 9cea073706db..613a924c84a2 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 f1da79580452..b0875d062056 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 5a58f6fad71a..59190630e286 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 25277d843b95..64b5fc37895c 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 4bfc10154867..bbb5bbd142af 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 f56c21dd5447..88cac68d665f 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 797a2fc0f8a4..8ac1f0f7c7f8 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 fe706a4b56aa..759fc7507d34 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 e2f6587ab008..5c212db9b657 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 03f84d8b2317..ecee79d85d50 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 5c41e654833c..e228e7b63058 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 76801831cf35..593b37715541 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 89026225f9ab..fce524d9c475 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 833ec544d4b3..b93146fb6c03 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 6526504c30d8..75f67b02d176 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 b34af6448ff4..5447cf8ac43f 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 0a9628ff4ed2..347d2312a1fc 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 20fb52d317ae..52374e70d806 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 b6d37396e020..0e68bfa69890 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 c8e07cd54c7c..7bc579809f75 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 678feb8b2453..2ca14a786135 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 32a694e3acf9..9ee2e9fd3fab 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 7fca06092d8a..322bccf4ea3a 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 51360b09cdb2..b3f4c67ed899 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 65034b2519fb..b11af2a0302a 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 b4a322f4dffd..d9743bedc10b 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 bd07009c015b..8e5afb188291 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 2c0487706ea8..d37209d19d1f 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 6c383bb4af4f..658e26b0fefd 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 55920fbe3886..65b09b5a53e3 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 605e356a8ffa..13adfb2a5a66 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 3ef7e6ecc596..67a771ac07ed 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 9911968c0272..2a0bc0bce6d8 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 de0020dd626f..9db82b7ef9d7 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 969554cbe1c5..b79e5e91496c 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 92a5f312842b..1b225f202c60 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 f95671dcb5b3..be1ae680fa7e 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 262796e0ba79..b950542fd619 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 c72acb539851..e0fee71deac6 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 36acd461e873..5b4d099fee58 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() {