gcc/libstdc++-v3/testsuite/thread/18185.cc

54 lines
1.6 KiB
C++
Raw Normal View History

//
// Copyright (C) 2004, 2005, 2007 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
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
// { dg-options "-pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
// { dg-options "-pthreads" { target *-*-solaris* } }
#include <ext/new_allocator.h>
#include <string>
#include <pthread.h>
[multiple changes] 2005-12-28 Paolo Carlini <pcarlini@suse.de> * include/std/std_bitset.h (bitset<>::_M_copy_from_string, bitset<>::_M_copy_to_string, bitset<>::operator>>): Reverse loop. * testsuite/25_algorithms/heap/heap.cc (test01): Always enable complexity checks. * testsuite/18_support/numeric_limits/specialization.cc: Avoid unused parameter warning. * testsuite/18_support/numeric_limits/traps.cc: Acoid unused variable warning. * testsuite/ext/malloc_allocator/deallocate_global.cc: Fix format string. * testsuite/ext/malloc_allocator/deallocate_local.cc: Likewise. * testsuite/ext/array_allocator/2.cc: Remove unused variable. * testsuite/tr1/3_function_objects/mem_fn.cc: Avoid unused variable warnings. * testsuite/tr1/6_containers/unordered/instantiate/set.cc: Just instantiate. * testsuite/tr1/6_containers/unordered/instantiate/map.cc: Likewise. * testsuite/tr1/6_containers/unordered/instantiate/hash.cc: Likewise. * testsuite/tr1/6_containers/unordered/instantiate/multiset.cc: Likewise. * testsuite/tr1/6_containers/unordered/instantiate/multimap.cc: Likewise. * testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc: Avoid unused variable warnings. * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc: Likewise. * testsuite/thread/18185.cc: Likewise. * testsuite/27_io/ios_base/storage/11584.cc: Likewise; avoid comparison between signed and unsigned warning. * testsuite/27_io/types/1.cc: Avoid unused variable warnings. * testsuite/testsuite_allocator.h (check_new): Likewise. (check_deallocate_null): Adjust return type. * testsuite/testsuite_hooks.h (bitmask_operators): Avoid unused variable warnings. * testsuite/21_strings/c_strings/wchar_t/24559.cc: Avoid unused variable warning. 2005-12-28 Chris Jefferson <chris@bubblescope.net> * include/std/std_bitset.h (bitset<0>::set, bitset<0>::reset, bitset<0>::flip, bitset<0>::test): Add inline specializations for bitset<0>. * testsuite/tr1/6_containers/unordered/insert/multiset_range.cc (test01): Add static cast. * testsuite/tr1/6_containers/unordered/insert/set_range.cc (test01): Likewise. * testsuite/testsuite_hooks.h (operator==(NonDefaultConstructible, NonDefaultConstructible), operator<(NonDefaultConstructible, NonDefaultConstrictible)): Avoid unused parameter warning. From-SVN: r109103
2005-12-28 10:57:57 +01:00
static void*
foo (void*)
{
typedef std::char_traits<char> traits_type;
typedef __gnu_cxx::new_allocator<char> allocator_type;
typedef std::basic_string<char, traits_type, allocator_type> string_type;
try
{
throw string_type("leak");
}
catch (const string_type&)
{
pthread_exit (0);
}
}
// c++/18185
// This used to leak memory.
int
main ()
{
pthread_t t;
[multiple changes] 2005-12-28 Paolo Carlini <pcarlini@suse.de> * include/std/std_bitset.h (bitset<>::_M_copy_from_string, bitset<>::_M_copy_to_string, bitset<>::operator>>): Reverse loop. * testsuite/25_algorithms/heap/heap.cc (test01): Always enable complexity checks. * testsuite/18_support/numeric_limits/specialization.cc: Avoid unused parameter warning. * testsuite/18_support/numeric_limits/traps.cc: Acoid unused variable warning. * testsuite/ext/malloc_allocator/deallocate_global.cc: Fix format string. * testsuite/ext/malloc_allocator/deallocate_local.cc: Likewise. * testsuite/ext/array_allocator/2.cc: Remove unused variable. * testsuite/tr1/3_function_objects/mem_fn.cc: Avoid unused variable warnings. * testsuite/tr1/6_containers/unordered/instantiate/set.cc: Just instantiate. * testsuite/tr1/6_containers/unordered/instantiate/map.cc: Likewise. * testsuite/tr1/6_containers/unordered/instantiate/hash.cc: Likewise. * testsuite/tr1/6_containers/unordered/instantiate/multiset.cc: Likewise. * testsuite/tr1/6_containers/unordered/instantiate/multimap.cc: Likewise. * testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc: Avoid unused variable warnings. * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc: Likewise. * testsuite/thread/18185.cc: Likewise. * testsuite/27_io/ios_base/storage/11584.cc: Likewise; avoid comparison between signed and unsigned warning. * testsuite/27_io/types/1.cc: Avoid unused variable warnings. * testsuite/testsuite_allocator.h (check_new): Likewise. (check_deallocate_null): Adjust return type. * testsuite/testsuite_hooks.h (bitmask_operators): Avoid unused variable warnings. * testsuite/21_strings/c_strings/wchar_t/24559.cc: Avoid unused variable warning. 2005-12-28 Chris Jefferson <chris@bubblescope.net> * include/std/std_bitset.h (bitset<0>::set, bitset<0>::reset, bitset<0>::flip, bitset<0>::test): Add inline specializations for bitset<0>. * testsuite/tr1/6_containers/unordered/insert/multiset_range.cc (test01): Add static cast. * testsuite/tr1/6_containers/unordered/insert/set_range.cc (test01): Likewise. * testsuite/testsuite_hooks.h (operator==(NonDefaultConstructible, NonDefaultConstructible), operator<(NonDefaultConstructible, NonDefaultConstrictible)): Avoid unused parameter warning. From-SVN: r109103
2005-12-28 10:57:57 +01:00
pthread_create (&t, 0, foo, 0);
pthread_join (t, 0);
return 0;
}