Commit f90e600a by Benjamin Kosnik Committed by Benjamin Kosnik

1.cc: Provide explicit instantiations for non-weak systems.


2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>

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

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

From-SVN: r78922
parent d3c40837
2004-03-04 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/20_util/allocator/1.cc: Provide explicit
instantiations for non-weak systems.
* testsuite/20_util/binders.cc: Same.
* testsuite/20_util/allocator/8230.cc: Same.
* testsuite/20_util/allocator/10378.cc: Same.
* testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
* testsuite/22_locale/ctype/is/char/2.cc: Same.
* testsuite/thread/pthread7-rope.cc: Same.
* testsuite/thread/pthread6.cc: Same.
* testsuite/thread/pthread5.cc: Same.
* testsuite/thread/pthread4.cc: Same.
* testsuite/thread/pthread1.cc: Same.
* testsuite/ext/rope.cc: Same.
* testsuite/ext/hash_set.cc: Same.
* testsuite/ext/hash_map.cc: Same.
* testsuite/ext/concept_checks.cc: Same.
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
* testsuite/25_algorithms/unique/2.cc: Same.
* testsuite/25_algorithms/unique/1.cc: Same.
* testsuite/25_algorithms/rotate.cc: Same.
* testsuite/25_algorithms/min_max.cc: Same.
* testsuite/25_algorithms/equal.cc: Same.
* testsuite/24_iterators/rel_ops.cc: Same.
* testsuite/24_iterators/iterator.cc: Same.
* testsuite/24_iterators/insert_iterator.cc: Same.
* testsuite/24_iterators/front_insert_iterator.cc: Same.
* testsuite/24_iterators/back_insert_iterator.cc: Same.
* testsuite/23_containers/vector/resize/1.cc: Same.
* testsuite/23_containers/vector/modifiers/2.cc: Same.
* testsuite/23_containers/vector/modifiers/1.cc: Same.
* testsuite/23_containers/vector/invalidation/4.cc: Same.
* testsuite/23_containers/vector/invalidation/3.cc: Same.
* testsuite/23_containers/vector/invalidation/2.cc: Same.
* testsuite/23_containers/vector/invalidation/1.cc: Same.
* testsuite/23_containers/vector/element_access/1.cc: Same.
* testsuite/23_containers/vector/cons/6513.cc: Same.
* testsuite/23_containers/vector/cons/3.cc: Same.
* testsuite/23_containers/vector/cons/2.cc: Same.
* testsuite/23_containers/vector/cons/1.cc: Same.
* testsuite/23_containers/vector/capacity/8230.cc: Same.
* testsuite/23_containers/vector/capacity/1.cc: Same.
* testsuite/23_containers/vector/bool/6886.cc: Same.
* testsuite/23_containers/stack/members/7158.cc: Same.
* testsuite/23_containers/set/invalidation/2.cc: Same.
* testsuite/23_containers/set/invalidation/1.cc: Same.
* testsuite/23_containers/queue/members/7157.cc: Same.
* testsuite/23_containers/priority_queue/members/7161.cc: Same.
* testsuite/23_containers/multiset/invalidation/2.cc: Same.
* testsuite/23_containers/multiset/invalidation/2.cc: Same.
* testsuite/23_containers/multiset/insert/1.cc: Same.
* testsuite/23_containers/multimap/invalidation/2.cc: Same.
* testsuite/23_containers/multimap/invalidation/2.cc: Same.
* testsuite/23_containers/map/operators/1.cc: Same.
* testsuite/23_containers/map/invalidation/2.cc: Same.
* testsuite/23_containers/map/invalidation/1.cc: Same.
* testsuite/23_containers/map/insert/1.cc: Same.
* testsuite/23_containers/list/operators/4.cc: Same.
* testsuite/23_containers/list/operators/3.cc: Same.
* testsuite/23_containers/list/operators/2.cc: Same.
* testsuite/23_containers/list/operators/1.cc: Same.
* testsuite/23_containers/list/modifiers/3.cc: Same.
* testsuite/23_containers/list/modifiers/2.cc: Same.
* testsuite/23_containers/list/modifiers/1.cc: Same.
* testsuite/23_containers/list/invalidation/4.cc: Same.
* testsuite/23_containers/list/invalidation/3.cc: Same.
* testsuite/23_containers/list/invalidation/2.cc: Same.
* testsuite/23_containers/list/invalidation/1.cc: Same.
* testsuite/23_containers/list/cons/9.cc: Same.
* testsuite/23_containers/list/cons/8.cc: Same.
* testsuite/23_containers/list/cons/7.cc: Same.
* testsuite/23_containers/list/cons/6.cc: Same.
* testsuite/23_containers/list/cons/5.cc: Same.
* testsuite/23_containers/list/cons/4.cc: Same.
* testsuite/23_containers/list/cons/3.cc: Same.
* testsuite/23_containers/list/cons/2.cc: Same.
* testsuite/23_containers/list/cons/1.cc: Same.
* testsuite/23_containers/list/capacity/1.cc: Same.
* testsuite/23_containers/deque/operators/1.cc: Same.
* testsuite/23_containers/deque/invalidation/4.cc: Same.
* testsuite/23_containers/deque/invalidation/3.cc: Same.
* testsuite/23_containers/deque/invalidation/2.cc: Same.
* testsuite/23_containers/deque/invalidation/1.cc: Same.
* testsuite/23_containers/deque/cons/2.cc: Same.
* testsuite/23_containers/deque/cons/1.cc: Same.
* src/allocator.cc: Add char, wchar_t instantiations
to match extern template declarations in memory.h.
2004-03-03 Paolo Carlini <pcarlini@suse.de> 2004-03-03 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_put<>::_M_insert): * include/bits/locale_facets.tcc (money_put<>::_M_insert):
......
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
namespace __gnu_cxx namespace __gnu_cxx
{ {
template class __mt_alloc<char>; template class __mt_alloc<char>;
template class __mt_alloc<wchar_t>;
// Static members of __pool_alloc. // Static members of __pool_alloc.
template class __pool_alloc<true, 0>; template class __pool_alloc<true, 0>;
......
...@@ -43,12 +43,17 @@ void operator delete(void *v) throw() ...@@ -43,12 +43,17 @@ void operator delete(void *v) throw()
return std::free(v); return std::free(v);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<gnu>;
#endif
void test01() void test01()
{ {
bool test __attribute__((unused)) = true; bool test __attribute__((unused)) = true;
std::allocator<gnu> obj; std::allocator<gnu> obj;
// XXX These should work for various size allocation and // NB: These should work for various size allocation and
// deallocations. Currently, they only work as expected for sizes > // deallocations. Currently, they only work as expected for sizes >
// _MAX_BYTES as defined in stl_alloc.h, which happes to be 128. // _MAX_BYTES as defined in stl_alloc.h, which happes to be 128.
gnu* pobj = obj.allocate(256); gnu* pobj = obj.allocate(256);
...@@ -63,3 +68,4 @@ int main() ...@@ -63,3 +68,4 @@ int main()
test01(); test01();
return 0; return 0;
} }
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -39,6 +39,11 @@ void test01() ...@@ -39,6 +39,11 @@ void test01()
uniset.push_back(Bob()); uniset.push_back(Bob());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<Bob> >;
#endif
int main() int main()
{ {
test01(); test01();
......
...@@ -47,6 +47,11 @@ void test02() ...@@ -47,6 +47,11 @@ void test02()
VERIFY( test ); VERIFY( test );
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int>;
#endif
int main() int main()
{ {
test02(); test02();
......
// 2001-06-11 Benjamin Kosnik <bkoz@redhat.com> // 2001-06-11 Benjamin Kosnik <bkoz@redhat.com>
// Copyright (C) 2001, 2003 Free Software Foundation, Inc. // Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -43,6 +43,10 @@ void test01() ...@@ -43,6 +43,10 @@ void test01()
std::bind2nd(std::mem_fun_ref(&Elem::modify), 42)); std::bind2nd(std::mem_fun_ref(&Elem::modify), 42));
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<Elem>;
#endif
int main() int main()
{ {
......
// { dg-do run { xfail *-*-![linux]* } } // { 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -38,7 +38,7 @@ typedef char char_type; ...@@ -38,7 +38,7 @@ typedef char char_type;
void test02() void test02()
{ {
using namespace std; using namespace std;
typedef ctype_base::mask mask; typedef ctype_base::mask mask;
typedef vector<mask> vector_type; typedef vector<mask> vector_type;
bool test __attribute__((unused)) = true; bool test __attribute__((unused)) = true;
...@@ -97,6 +97,10 @@ void test02() ...@@ -97,6 +97,10 @@ void test02()
VERIFY( v_c != v_de ); VERIFY( v_c != v_de );
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::ctype_base::mask>;
#endif
int main() int main()
{ {
test02(); test02();
......
// { dg-do run { xfail *-*-![linux]* } } // { 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -97,6 +97,11 @@ void test02() ...@@ -97,6 +97,11 @@ void test02()
VERIFY( v_c != v_de ); VERIFY( v_c != v_de );
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::ctype_base::mask>;
#endif
int main() int main()
{ {
test02(); test02();
......
// 2002-05-24 bkoz // 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 // 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 // software; you can redistribute it and/or modify it under the
......
// 2001-12-27 pme // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -42,6 +42,11 @@ test01() ...@@ -42,6 +42,11 @@ test01()
assert_count (0); 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() int main()
{ {
......
// 2001-12-27 pme // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -499,6 +499,13 @@ test_copy_ctor_exception_safety() ...@@ -499,6 +499,13 @@ test_copy_ctor_exception_safety()
// teardown // teardown
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int>;
template class __gnu_cxx::__mt_alloc<int*>;
template class __gnu_cxx::__mt_alloc<__gnu_test::copy_tracker>;
template class __gnu_cxx::__mt_alloc<__gnu_test::copy_tracker*>;
#endif
int main() int main()
{ {
......
// Deque iterator invalidation tests // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -46,8 +46,14 @@ void test01() ...@@ -46,8 +46,14 @@ void test01()
VERIFY(i._M_singular()); VERIFY(i._M_singular());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int*>;
template class __gnu_cxx::__mt_alloc<int>;
#endif
int main() int main()
{ {
test01(); test01();
return !test; return 0;
} }
// Deque iterator invalidation tests // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -46,8 +46,14 @@ void test02() ...@@ -46,8 +46,14 @@ void test02()
VERIFY(before._M_singular()); VERIFY(before._M_singular());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int*>;
template class __gnu_cxx::__mt_alloc<int>;
#endif
int main() int main()
{ {
test02(); test02();
return !test; return 0;
} }
// Deque iterator invalidation tests // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -42,6 +42,7 @@ void test03() ...@@ -42,6 +42,7 @@ void test03()
// Insert multiple copies // Insert multiple copies
before = v.begin() + 6; before = v.begin() + 6;
at = before + 1; at = before + 1;
v.insert(at, 3, 42); v.insert(at, 3, 42);
VERIFY(before._M_singular()); VERIFY(before._M_singular());
VERIFY(at._M_singular()); VERIFY(at._M_singular());
...@@ -55,8 +56,14 @@ void test03() ...@@ -55,8 +56,14 @@ void test03()
VERIFY(at._M_singular()); VERIFY(at._M_singular());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int*>;
template class __gnu_cxx::__mt_alloc<int>;
#endif
int main() int main()
{ {
test03(); test03();
return !test; return 0;
} }
...@@ -68,6 +68,12 @@ void test04() ...@@ -68,6 +68,12 @@ void test04()
VERIFY(before._M_singular()); VERIFY(before._M_singular());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int*>;
template class __gnu_cxx::__mt_alloc<int>;
#endif
int main() int main()
{ {
test04(); test04();
......
// 2002-05-18 Paolo Carlini <pcarlini@unitus.it> // 2002-05-18 Paolo Carlini <pcarlini@unitus.it>
// Copyright (C) 2002 Free Software Foundation, Inc. // Copyright (C) 2002, 2004 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -77,6 +77,12 @@ void test02() ...@@ -77,6 +77,12 @@ void test02()
VERIFY( constend - beg > 0 ); VERIFY( constend - beg > 0 );
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int*>;
template class __gnu_cxx::__mt_alloc<int>;
#endif
int main() int main()
{ {
test01(); test01();
......
// 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 // 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 // software; you can redistribute it and/or modify it under the
......
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -59,6 +59,11 @@ test01() ...@@ -59,6 +59,11 @@ test01()
VERIFY(list0101.size() == 0); VERIFY(list0101.size() == 0);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int int
main() main()
{ {
......
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -71,9 +71,13 @@ test01() ...@@ -71,9 +71,13 @@ test01()
// allocator checks? // allocator checks?
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<A<B> > >;
#endif
int main() int main()
{ {
test01(); test01();
return 0; return 0;
} }
// vi:set sw=2 ts=2:
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -75,9 +75,15 @@ test02() ...@@ -75,9 +75,15 @@ test02()
VERIFY(list0203.size() == LIST_SIZE); VERIFY(list0203.size() == LIST_SIZE);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<A<B> > >;
template class __gnu_cxx::__mt_alloc<int>;
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main() int main()
{ {
test02(); test02();
return 0; return 0;
} }
// vi:set sw=2 ts=2:
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -52,6 +52,11 @@ test02D() ...@@ -52,6 +52,11 @@ test02D()
VERIFY(list0204.size() == LIST_SIZE); VERIFY(list0204.size() == LIST_SIZE);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<C> >;
#endif
int main() int main()
{ {
test02D(); test02D();
......
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -58,9 +58,14 @@ test03() ...@@ -58,9 +58,14 @@ test03()
VERIFY(list0302.size() == N); VERIFY(list0302.size() == N);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main() int main()
{ {
test03(); test03();
return 0; return 0;
} }
// vi:set sw=2 ts=2:
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -49,9 +49,14 @@ test04() ...@@ -49,9 +49,14 @@ test04()
VERIFY(list0401.size() == N); VERIFY(list0401.size() == N);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main() int main()
{ {
test04(); test04();
return 0; return 0;
} }
// vi:set sw=2 ts=2:
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -62,9 +62,14 @@ test05() ...@@ -62,9 +62,14 @@ test05()
VERIFY(list0501.size() == M); VERIFY(list0501.size() == M);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main() int main()
{ {
test05(); test05();
return 0; return 0;
} }
// vi:set sw=2 ts=2:
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -63,9 +63,14 @@ test06() ...@@ -63,9 +63,14 @@ test06()
VERIFY(list0601.size() == SMALL_LIST_SIZE); VERIFY(list0601.size() == SMALL_LIST_SIZE);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main() int main()
{ {
test06(); test06();
return 0; return 0;
} }
// vi:set sw=2 ts=2:
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -56,9 +56,14 @@ test06D() ...@@ -56,9 +56,14 @@ test06D()
VERIFY(list0604.size() == LIST_SIZE); VERIFY(list0604.size() == LIST_SIZE);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<C> >;
#endif
int main() int main()
{ {
test06D(); test06D();
return 0; return 0;
} }
// vi:set sw=2 ts=2:
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -56,6 +56,11 @@ test07() ...@@ -56,6 +56,11 @@ test07()
VERIFY(list0702 == list0701); VERIFY(list0702 == list0701);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main() int main()
{ {
test07(); test07();
......
// List iterator invalidation tests // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -53,6 +53,11 @@ void test01() ...@@ -53,6 +53,11 @@ void test01()
VERIFY(!finish._M_dereferenceable() && !finish._M_singular()); VERIFY(!finish._M_dereferenceable() && !finish._M_singular());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main() int main()
{ {
test01(); test01();
......
// List iterator invalidation tests // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -48,6 +48,11 @@ void test02() ...@@ -48,6 +48,11 @@ void test02()
VERIFY(!finish._M_singular() && !finish._M_dereferenceable()); VERIFY(!finish._M_singular() && !finish._M_dereferenceable());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main() int main()
{ {
test02(); test02();
......
// List iterator invalidation tests // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -71,6 +71,11 @@ void test03() ...@@ -71,6 +71,11 @@ void test03()
VERIFY(!finish._M_singular() && !finish._M_dereferenceable()); VERIFY(!finish._M_singular() && !finish._M_dereferenceable());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main() int main()
{ {
test03(); test03();
......
// List iterator invalidation tests // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -48,6 +48,11 @@ void test04() ...@@ -48,6 +48,11 @@ void test04()
VERIFY(after2._M_attached_to(&l2)); VERIFY(after2._M_attached_to(&l2));
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main() int main()
{ {
test04(); test04();
......
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -112,9 +112,14 @@ test03() ...@@ -112,9 +112,14 @@ test03()
VERIFY(e == list0301.end()); VERIFY(e == list0301.end());
} }
#if !__GXX_WEAK__ && defined(_MT_ALLOCATOR_H)
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<__gnu_test::copy_tracker>;
template class __gnu_cxx::__mt_alloc<std::_List_node<__gnu_test::copy_tracker> >;
#endif
int main() int main()
{ {
test03(); test03();
return 0; return 0;
} }
// vi:set sw=2 ts=2:
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -84,9 +84,14 @@ test02() ...@@ -84,9 +84,14 @@ test02()
VERIFY(T::dtorCount() == 0); VERIFY(T::dtorCount() == 0);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<__gnu_test::copy_tracker>;
template class __gnu_cxx::__mt_alloc<std::_List_node<__gnu_test::copy_tracker> >;
#endif
int main() int main()
{ {
test02(); test02();
return 0; return 0;
} }
// vi:set sw=2 ts=2:
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -116,9 +116,14 @@ test01() ...@@ -116,9 +116,14 @@ test01()
VERIFY(k->id() == 1); VERIFY(k->id() == 1);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<__gnu_test::copy_tracker>;
template class __gnu_cxx::__mt_alloc<std::_List_node<__gnu_test::copy_tracker> >;
#endif
int main() int main()
{ {
test01(); test01();
return 0; return 0;
} }
// vi:set sw=2 ts=2:
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -66,9 +66,14 @@ test01() ...@@ -66,9 +66,14 @@ test01()
VERIFY(p == list0101.end()); VERIFY(p == list0101.end());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main(void) int main(void)
{ {
test01(); test01();
return 0; return 0;
} }
// vi:set sw=2 ts=2:
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -52,9 +52,13 @@ test02() ...@@ -52,9 +52,13 @@ test02()
VERIFY(list0201 == list0204); VERIFY(list0201 == list0204);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main() int main()
{ {
test02(); test02();
return 0; return 0;
} }
// vi:set sw=2 ts=2:
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -66,9 +66,13 @@ test03() ...@@ -66,9 +66,13 @@ test03()
VERIFY(list0301 == list0304); VERIFY(list0301 == list0304);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main(void) int main(void)
{ {
test03(); test03();
return 0; return 0;
} }
// vi:set sw=2 ts=2:
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -90,9 +90,14 @@ test04() ...@@ -90,9 +90,14 @@ test04()
#endif #endif
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main() int main()
{ {
test04(); test04();
return 0; return 0;
} }
// vi:set sw=2 ts=2:
// 2001-08-23 pme & Sylvain.Pion@sophia.inria.fr // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -60,11 +60,15 @@ void test01() ...@@ -60,11 +60,15 @@ void test01()
VERIFY ( M.find(9) != M.end() ); VERIFY ( M.find(9) != M.end() );
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::pair<int const, int> >;
template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<int const, int> > >;
#endif
int main() int main()
{ {
test01(); test01();
return 0; return 0;
} }
// Map iterator invalidation tests // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -45,8 +45,13 @@ void test01() ...@@ -45,8 +45,13 @@ void test01()
VERIFY(!finish._M_dereferenceable() && !finish._M_singular()); VERIFY(!finish._M_dereferenceable() && !finish._M_singular());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<int const, int> > >;
#endif
int main() int main()
{ {
test01(); test01();
return !test; return 0;
} }
// Map iterator invalidation tests // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -64,6 +64,11 @@ void test02() ...@@ -64,6 +64,11 @@ void test02()
VERIFY(!finish._M_singular() && !finish._M_dereferenceable()); VERIFY(!finish._M_singular() && !finish._M_dereferenceable());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<int const, int> > >;
#endif
int main() int main()
{ {
test02(); test02();
......
// 2000-09-07 bgarcia@laurelnetworks.com // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -42,6 +42,11 @@ void test02() ...@@ -42,6 +42,11 @@ void test02()
std::cerr << i->second << ' '; std::cerr << i->second << ' ';
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<int const, int> > >;
#endif
int main() int main()
{ {
test02(); test02();
......
...@@ -46,6 +46,11 @@ void test01() ...@@ -46,6 +46,11 @@ void test01()
VERIFY(!finish._M_dereferenceable() && !finish._M_singular()); VERIFY(!finish._M_dereferenceable() && !finish._M_singular());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<int const, int> > >;
#endif
int main() int main()
{ {
test01(); test01();
......
...@@ -65,6 +65,11 @@ void test02() ...@@ -65,6 +65,11 @@ void test02()
VERIFY(!finish._M_singular() && !finish._M_dereferenceable()); VERIFY(!finish._M_singular() && !finish._M_dereferenceable());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<int const, int> > >;
#endif
int main() int main()
{ {
test02(); test02();
......
...@@ -36,6 +36,11 @@ bool ...@@ -36,6 +36,11 @@ bool
operator<(std::pair<int, int> const& lhs, std::pair<int, int> const& rhs) operator<(std::pair<int, int> const& lhs, std::pair<int, int> const& rhs)
{ return lhs.first < rhs.first; } { return lhs.first < rhs.first; }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<int, int> > >;
#endif
int main () int main ()
{ {
typedef std::multiset<std::pair<int, int> >::iterator iterator; typedef std::multiset<std::pair<int, int> >::iterator iterator;
......
// Multiset iterator invalidation tests // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -45,6 +45,11 @@ void test01() ...@@ -45,6 +45,11 @@ void test01()
VERIFY(!finish._M_dereferenceable() && !finish._M_singular()); VERIFY(!finish._M_dereferenceable() && !finish._M_singular());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<int> >;
#endif
int main() int main()
{ {
test01(); test01();
......
// Multiset iterator invalidation tests // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -64,6 +64,11 @@ void test02() ...@@ -64,6 +64,11 @@ void test02()
VERIFY(!finish._M_singular() && !finish._M_dereferenceable()); VERIFY(!finish._M_singular() && !finish._M_dereferenceable());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<int> >;
#endif
int main() int main()
{ {
test02(); test02();
......
// 2002-06-28 pme // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -43,6 +43,11 @@ test03() ...@@ -43,6 +43,11 @@ test03()
pq.pop(); pq.pop();
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int>;
#endif
int main() int main()
{ {
test03(); test03();
......
// 2002-06-28 pme // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -34,6 +34,12 @@ test01() ...@@ -34,6 +34,12 @@ test01()
q.pop(); q.pop();
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int>;
template class __gnu_cxx::__mt_alloc<int*>;
#endif
int main() int main()
{ {
test01(); test01();
......
// Set iterator invalidation tests // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -45,6 +45,11 @@ void test01() ...@@ -45,6 +45,11 @@ void test01()
VERIFY(!finish._M_dereferenceable() && !finish._M_singular()); VERIFY(!finish._M_dereferenceable() && !finish._M_singular());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<int> >;
#endif
int main() int main()
{ {
test01(); test01();
......
// Set iterator invalidation tests // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -64,6 +64,11 @@ void test02() ...@@ -64,6 +64,11 @@ void test02()
VERIFY(!finish._M_singular() && !finish._M_dereferenceable()); VERIFY(!finish._M_singular() && !finish._M_dereferenceable());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<int> >;
#endif
int main() int main()
{ {
test02(); test02();
......
// 2002-06-28 pme // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -34,6 +34,12 @@ test02() ...@@ -34,6 +34,12 @@ test02()
st.pop(); st.pop();
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int*>;
template class __gnu_cxx::__mt_alloc<int>;
#endif
int main() int main()
{ {
test02(); test02();
......
// 2002-03-05 Stephen M. Webb <stephen.webb@bregmasoft.com> // 2002-03-05 Stephen M. Webb <stephen.webb@bregmasoft.com>
// Copyright (C) 2002, 2003 Free Software Foundation, Inc. // Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -47,6 +47,11 @@ void test02() ...@@ -47,6 +47,11 @@ void test02()
VERIFY( num == 4 ); VERIFY( num == 4 );
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<unsigned long>;
#endif
int main() int main()
{ {
test02(); test02();
......
// 1999-05-07 // 1999-05-07
// bkoz // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -54,6 +54,11 @@ void test01() ...@@ -54,6 +54,11 @@ void test01()
VERIFY( sz01 == sz02 ); VERIFY( sz01 == sz02 );
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<A<B> >;
#endif
int main() int main()
{ {
test01(); test01();
......
// 1999-05-07 // 1999-05-07
// bkoz // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -71,6 +71,11 @@ void test02() ...@@ -71,6 +71,11 @@ void test02()
} }
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int>;
#endif
int main() int main()
{ {
test02(); test02();
......
// 1999-06-29 bkoz // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -40,9 +40,13 @@ void test01() ...@@ -40,9 +40,13 @@ void test01()
vec01 = vec02; vec01 = vec02;
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<A<B> >;
#endif
int main() int main()
{ {
test01(); test01();
return 0; return 0;
} }
// 1999-06-29 bkoz // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -41,9 +41,15 @@ void test02() ...@@ -41,9 +41,15 @@ void test02()
std::vector<int> v2(v1); std::vector<int> v2(v1);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int>;
template class __gnu_cxx::__mt_alloc<double>;
template class __gnu_cxx::__mt_alloc<A<B> >;
#endif
int main() int main()
{ {
test02(); test02();
return 0; return 0;
} }
// 1999-06-29 bkoz // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -46,9 +46,13 @@ test03() ...@@ -46,9 +46,13 @@ test03()
VERIFY(std::equal(B, B + M, v5.begin())); VERIFY(std::equal(B, B + M, v5.begin()));
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int>;
#endif
int main() int main()
{ {
test03(); test03();
return 0; return 0;
} }
// 1999-06-29 bkoz // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -32,9 +32,13 @@ void test04() ...@@ -32,9 +32,13 @@ void test04()
std::vector<std::string> strings(c_strings, c_strings + 5); std::vector<std::string> strings(c_strings, c_strings + 5);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::string>;
#endif
int main() int main()
{ {
test04(); test04();
return 0; return 0;
} }
// 2000-09-06 // 2000-09-06
// bkoz // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -55,9 +55,13 @@ bool test01() ...@@ -55,9 +55,13 @@ bool test01()
return test; return test;
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<A<B> >;
#endif
int main() int main()
{ {
test01(); test01();
return 0; return 0;
} }
...@@ -53,6 +53,11 @@ void test01() ...@@ -53,6 +53,11 @@ void test01()
VERIFY(i._M_singular()); VERIFY(i._M_singular());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int>;
#endif
int main() int main()
{ {
test01(); test01();
......
...@@ -58,6 +58,11 @@ void test02() ...@@ -58,6 +58,11 @@ void test02()
VERIFY(before._M_singular()); VERIFY(before._M_singular());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int>;
#endif
int main() int main()
{ {
test02(); test02();
......
...@@ -83,6 +83,11 @@ void test03() ...@@ -83,6 +83,11 @@ void test03()
VERIFY(before._M_singular()); VERIFY(before._M_singular());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int>;
#endif
int main() int main()
{ {
test03(); test03();
......
...@@ -60,6 +60,11 @@ void test04() ...@@ -60,6 +60,11 @@ void test04()
VERIFY(before._M_singular()); VERIFY(before._M_singular());
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int>;
#endif
int main() int main()
{ {
test04(); test04();
......
// 1999-11-09 bkoz // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -49,6 +49,12 @@ test01() ...@@ -49,6 +49,12 @@ test01()
vec02.insert(vec02.begin(), pnp01, pnp01 + 1); vec02.insert(vec02.begin(), pnp01, pnp01 + 1);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int>;
template class __gnu_cxx::__mt_alloc<A<B> >;
#endif
int main() int main()
{ {
test01(); test01();
......
// 1999-11-09 bkoz // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -55,6 +55,11 @@ test03() ...@@ -55,6 +55,11 @@ test03()
VERIFY((v4.size() == M) && (M != N)); VERIFY((v4.size() == M) && (M != N));
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int>;
#endif
int main() int main()
{ {
test03(); test03();
......
// 1999-05-07 // 1999-05-07
// bkoz // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -50,6 +50,11 @@ void test01() ...@@ -50,6 +50,11 @@ void test01()
VERIFY( test ); VERIFY( test );
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int>;
#endif
int main() int main()
{ {
test01(); test01();
......
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com> // 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
// Copyright (C) 2001, 2002 Free Software Foundation, Inc. // Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -63,6 +63,11 @@ public: ...@@ -63,6 +63,11 @@ public:
test_dm(): std::back_insert_iterator<std::list<int> >(l), p(container) { } test_dm(): std::back_insert_iterator<std::list<int> >(l), p(container) { }
}; };
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main() int main()
{ {
test01(); test01();
......
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com> // 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
// Copyright (C) 2001 Free Software Foundation, Inc. // Copyright (C) 2001, 2004 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -62,6 +62,11 @@ public: ...@@ -62,6 +62,11 @@ public:
test_dm(): std::front_insert_iterator<std::list<int> >(l), p(container) { } test_dm(): std::front_insert_iterator<std::list<int> >(l), p(container) { }
}; };
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main() int main()
{ {
test01(); test01();
......
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com> // 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
// Copyright (C) 2001 Free Software Foundation, Inc. // Copyright (C) 2001, 2004 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -70,6 +70,11 @@ public: ...@@ -70,6 +70,11 @@ public:
test_dm(): std::insert_iterator<std::list<int> >(l, i), p(container) { } test_dm(): std::insert_iterator<std::list<int> >(l, i), p(container) { }
}; };
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main() int main()
{ {
test01(); test01();
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// 24.3.1 Iterator traits // 24.3.1 Iterator traits
// (basic_string and vector implementations) // (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 // 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 // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or
...@@ -588,6 +588,12 @@ test6642() ...@@ -588,6 +588,12 @@ test6642()
return it - cit; return it - cit;
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int>;
template class __gnu_cxx::__mt_alloc<std::string>;
#endif
int int
main() main()
{ {
......
// 2002-04-13 Paolo Carlini <pcarlini@unitus.it> // 2002-04-13 Paolo Carlini <pcarlini@unitus.it>
// Copyright (C) 2002 Free Software Foundation, Inc. // Copyright (C) 2002, 2004 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -38,6 +38,11 @@ void test01() ...@@ -38,6 +38,11 @@ void test01()
vi >= v.begin(); vi >= v.begin();
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int>;
#endif
int main() int main()
{ {
test01(); test01();
......
...@@ -33,9 +33,13 @@ bool operator==(X, X) { return true; } ...@@ -33,9 +33,13 @@ bool operator==(X, X) { return true; }
// Not implemented on purpose. { dg-do link } // Not implemented on purpose. { dg-do link }
bool operator!=(X, X); bool operator!=(X, X);
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<X>;
#endif
int main() int main()
{ {
std::vector<X> v, w; std::vector<X> v, w;
return !std::equal(v.begin(), v.end(), w.begin()); return !std::equal(v.begin(), v.end(), w.begin());
} }
// 2000-03-29 sss/bkoz // 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 // 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 // software; you can redistribute it and/or modify it under the
......
// 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -71,6 +71,11 @@ test03() ...@@ -71,6 +71,11 @@ test03()
VERIFY(std::equal(A, A + N, D)); VERIFY(std::equal(A, A + N, D));
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int int
main() main()
{ {
......
// 2001-07-19 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de> // 2001-07-19 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. // Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -23,6 +23,11 @@ ...@@ -23,6 +23,11 @@
#include <list> #include <list>
#include <algorithm> #include <algorithm>
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main() int main()
{ {
using namespace std; using namespace std;
......
// 2003-10-14 Paolo Carlini <pcarlini@unitus.it> // 2003-10-14 Paolo Carlini <pcarlini@unitus.it>
// Copyright (C) 2003 Free Software Foundation, Inc. // Copyright (C) 2003, 2004 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -86,6 +86,11 @@ void test03() ...@@ -86,6 +86,11 @@ void test03()
VERIFY( equal(coll2.begin(), pos, B3) ); VERIFY( equal(coll2.begin(), pos, B3) );
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int main() int main()
{ {
test01(); test01();
......
// 2003-10-07 Petur Runolfsson <peturr02@ru.is> // 2003-10-07 Petur Runolfsson <peturr02@ru.is>
// //
// Copyright (C) 2003 Free Software Foundation, Inc. // Copyright (C) 2003, 2004 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -131,6 +131,11 @@ void test01() ...@@ -131,6 +131,11 @@ void test01()
fb.close(); fb.close();
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::pair<std::fpos<__mbstate_t>, std::size_t> >;
#endif
int main() int main()
{ {
test01(); test01();
......
// 2001-12-28 Phil Edwards <pme@gcc.gnu.org> // 2001-12-28 Phil Edwards <pme@gcc.gnu.org>
// //
// Copyright (C) 2001, 2002 Free Software Foundation, Inc. // Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -76,9 +76,14 @@ test2054( ) ...@@ -76,9 +76,14 @@ test2054( )
binary_search(Index.begin(), Index.end(), SearchTerm, aComparison); binary_search(Index.begin(), Index.end(), SearchTerm, aComparison);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<int>;
template class __gnu_cxx::__mt_alloc<std::string>;
#endif
int main() int main()
{ {
test2054(); test2054();
return 0; return 0;
} }
...@@ -95,6 +95,13 @@ void test01() ...@@ -95,6 +95,13 @@ void test01()
} }
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Hashtable_node<std::pair<const std::string, int> > >;
template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Hashtable_node<std::pair<const std::string, int> >* >;
template class __gnu_cxx::__mt_alloc<std::pair<std::string, int> >;
#endif
int main() int main()
{ {
test01(); test01();
......
// 2002-04-28 Paolo Carlini <pcarlini@unitus.it> // 2002-04-28 Paolo Carlini <pcarlini@unitus.it>
// Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de> // Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
// Copyright (C) 2002 Free Software Foundation, Inc. // Copyright (C) 2002, 2004 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -31,6 +31,12 @@ test01() ...@@ -31,6 +31,12 @@ test01()
const int anzahl = sizeof(werte) / sizeof(int); const int anzahl = sizeof(werte) / sizeof(int);
__gnu_cxx::hash_set<int> intTable(werte, werte + anzahl); __gnu_cxx::hash_set<int> intTable(werte, werte + anzahl);
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Hashtable_node<int> >;
template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Hashtable_node<int>* >;
#endif
int main() int main()
{ {
......
// 2001-10-03 From: Dimitris Vyzovitis <vyzo@media.mit.edu> // 2001-10-03 From: Dimitris Vyzovitis <vyzo@media.mit.edu>
// Copyright (C) 2001 Free Software Foundation, Inc. // Copyright (C) 2001, 2004 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -31,6 +31,14 @@ void test01() ...@@ -31,6 +31,14 @@ void test01()
std::cout << data << std::endl; std::cout << data << std::endl;
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeLeaf<char, std::allocator<char> > >;
template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeFunction<char, std::allocator<char> > >;
template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeSubstring<char, std::allocator<char> > >;
template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeConcatenation<char, std::allocator<char> > >;
#endif
int main() int main()
{ {
test01(); test01();
......
// 2002-01-23 Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org> // 2002-01-23 Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org>
// //
// Copyright (C) 2002, 2003 Free Software Foundation, Inc. // Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -99,6 +99,11 @@ consume (void* t) ...@@ -99,6 +99,11 @@ consume (void* t)
return 0; return 0;
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_List_node<int> >;
#endif
int int
main () main ()
{ {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Adapted from http://gcc.gnu.org/ml/gcc-bugs/2002-01/msg00679.html // Adapted from http://gcc.gnu.org/ml/gcc-bugs/2002-01/msg00679.html
// which was adapted from pthread1.cc by Mike Lu <MLu@dynamicsoft.com> // which was adapted from pthread1.cc by Mike Lu <MLu@dynamicsoft.com>
// //
// Copyright (C) 2002, 2003 Free Software Foundation, Inc. // Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -90,6 +90,12 @@ consume (void*) ...@@ -90,6 +90,12 @@ consume (void*)
return 0; return 0;
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::string>;
template class __gnu_cxx::__mt_alloc<std::_List_node<std::string> >;
#endif
int int
main (void) main (void)
{ {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Adpated from libstdc++/5464 submitted by jjessel@amadeus.net // Adpated from libstdc++/5464 submitted by jjessel@amadeus.net
// Jean-Francois JESSEL (Amadeus SAS Development) // 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 // 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 // software; you can redistribute it and/or modify it under the
...@@ -87,6 +87,12 @@ thread_function (void* arg) ...@@ -87,6 +87,12 @@ thread_function (void* arg)
return arg; return arg;
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<tt_t>;
template class __gnu_cxx::__mt_alloc<std::_List_node<std::string*> >;
#endif
int int
main () main ()
{ {
......
...@@ -72,6 +72,11 @@ thread_main (void*) ...@@ -72,6 +72,11 @@ thread_main (void*)
return 0; return 0;
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<unsigned int const, std::string> > >;
#endif
int int
main (void) main (void)
{ {
......
// 2003-05-03 Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org> // 2003-05-03 Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org>
// //
// Copyright (C) 2003 Free Software Foundation, Inc. // Copyright (C) 2003, 2004 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -53,6 +53,14 @@ void* thread_main(void *) ...@@ -53,6 +53,14 @@ void* thread_main(void *)
return 0; return 0;
} }
#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
// Explicitly instantiate for systems with no COMDAT or weak support.
template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeLeaf<char, std::allocator<char> > >;
template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeFunction<char, std::allocator<char> > >;
template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeSubstring<char, std::allocator<char> > >;
template class __gnu_cxx::__mt_alloc<__gnu_cxx::_Rope_RopeConcatenation<char, std::allocator<char> > >;
#endif
int int
main() main()
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment