diff options
author | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-03-10 06:31:50 +0000 |
---|---|---|
committer | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-03-10 06:31:50 +0000 |
commit | f8244ba2e6f01275ccc5614e33bae56deb807a0a (patch) | |
tree | 95dcdfee20b75354e3819680ef53173f587da63b | |
parent | f5943b7c42d12e9c3faa4c409bf4ddff2cab15f5 (diff) | |
download | gcc-f8244ba2e6f01275ccc5614e33bae56deb807a0a.tar.gz |
2004-03-09 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
non-weak systems.
* testsuite/23_containers/vector/modifiers/swap.cc: Same.
* testsuite/23_containers/set/modifiers/swap.cc: Same.
* testsuite/23_containers/multiset/modifiers/swap.cc: Same.
* testsuite/23_containers/multimap/modifiers/swap.cc: Same.
* testsuite/23_containers/map/modifiers/swap.cc: Same.
* testsuite/23_containers/list/modifiers/swap.cc: Same.
* testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79224 138bc75d-0d04-0410-961f-82ee72b054a4
9 files changed, 57 insertions, 12 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 1538ef3e30e..4be32a5de2d 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,16 @@ +2004-03-09 Benjamin Kosnik <bkoz@redhat.com> + + * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for + non-weak systems. + * testsuite/23_containers/vector/modifiers/swap.cc: Same. + * testsuite/23_containers/set/modifiers/swap.cc: Same. + * testsuite/23_containers/multiset/modifiers/swap.cc: Same. + * testsuite/23_containers/multimap/modifiers/swap.cc: Same. + * testsuite/23_containers/map/modifiers/swap.cc: Same. + * testsuite/23_containers/list/modifiers/swap.cc: Same. + + * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions. + 2004-03-08 Benjamin Kosnik <bkoz@redhat.com> PR c++/13658 diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread.cc index 1a0534fa240..3a89d371f62 100644 --- a/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread.cc +++ b/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread.cc @@ -32,20 +32,23 @@ const int max_locales = 10; void* thread_main(void*) { - std::locale loc_c = std::locale::classic(); - std::locale loc[max_locales]; - for (int j = 0; j < max_locales; ++j) - loc[j] = std::locale(j % 2 ? "en_US" : "fr_FR"); - - for (int i = 0; i < max_loop_count; ++i) + try { - int k = i % max_locales; - loc[k] = std::locale::global(loc[k]); + std::locale loc_c = std::locale::classic(); + std::locale loc[max_locales]; + for (int j = 0; j < max_locales; ++j) + loc[j] = std::locale(j % 2 ? "en_US" : "fr_FR"); - if (i % 37 == 0) - loc[k] = loc[k].combine<std::ctype<char> >(loc_c); + for (int i = 0; i < max_loop_count; ++i) + { + int k = i % max_locales; + loc[k] = std::locale::global(loc[k]); + + if (i % 37 == 0) + loc[k] = loc[k].combine<std::ctype<char> >(loc_c); + } } - + catch (...) { } return 0; } @@ -53,7 +56,7 @@ int main() { pthread_t tid[max_thread_count]; - + for (int i = 0; i < max_thread_count; i++) pthread_create (&tid[i], NULL, thread_main, 0); diff --git a/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap.cc b/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap.cc index 12cfa748b49..43dc6867d3d 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap.cc @@ -54,6 +54,11 @@ void test02() VERIFY(1 == swap_calls); } +#if !__GXX_WEAK__ && _MT_ALLOCATOR_H +template class __gnu_cxx::__mt_alloc<T>; +template class __gnu_cxx::__mt_alloc<T*>; +#endif + // See c++/13658 for background info. int main() { diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/swap.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/swap.cc index d20dec03679..a51d1263fb4 100644 --- a/libstdc++-v3/testsuite/23_containers/list/modifiers/swap.cc +++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/swap.cc @@ -54,6 +54,10 @@ void test02() VERIFY(1 == swap_calls); } +#if !__GXX_WEAK__ && _MT_ALLOCATOR_H +template class __gnu_cxx::__mt_alloc<std::_List_node<T> >; +#endif + // See c++/13658 for background info. int main() { diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/swap.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/swap.cc index 8fb48cb6843..1afde71dd8a 100644 --- a/libstdc++-v3/testsuite/23_containers/map/modifiers/swap.cc +++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/swap.cc @@ -54,6 +54,10 @@ void test02() VERIFY(1 == swap_calls); } +#if !__GXX_WEAK__ && _MT_ALLOCATOR_H +template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<T const, int> > >; +#endif + // See c++/13658 for background info. int main() { diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap.cc index 34425bd4cf3..2e87dff1632 100644 --- a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap.cc +++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap.cc @@ -54,6 +54,10 @@ void test02() VERIFY(1 == swap_calls); } +#if !__GXX_WEAK__ && _MT_ALLOCATOR_H +template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<T const, int> > >; +#endif + // See c++/13658 for background info. int main() { diff --git a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap.cc index 809e1538d1c..b9632cb88ae 100644 --- a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap.cc +++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap.cc @@ -54,6 +54,10 @@ void test02() VERIFY(1 == swap_calls); } +#if !__GXX_WEAK__ && _MT_ALLOCATOR_H +template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<T> >; +#endif + // See c++/13658 for background info. int main() { diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/swap.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/swap.cc index dbf3b832666..dcc69c99b3a 100644 --- a/libstdc++-v3/testsuite/23_containers/set/modifiers/swap.cc +++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/swap.cc @@ -54,6 +54,10 @@ void test02() VERIFY(1 == swap_calls); } +#if !__GXX_WEAK__ && _MT_ALLOCATOR_H +template class __gnu_cxx::__mt_alloc<std::_Rb_tree_node<T> >; +#endif + // See c++/13658 for background info. int main() { diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap.cc index 3122aa1955b..4e49635bc22 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap.cc @@ -54,6 +54,10 @@ void test02() VERIFY(1 == swap_calls); } +#if !__GXX_WEAK__ && _MT_ALLOCATOR_H +template class __gnu_cxx::__mt_alloc<T>; +#endif + // See c++/13658 for background info. int main() { |