diff options
Diffstat (limited to 'gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale')
24 files changed, 0 insertions, 1817 deletions
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/13630.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/13630.cc deleted file mode 100644 index cb9da1519..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/13630.cc +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (C) 2004, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1 class locale [lib.locale] - -#include <locale> -#include <typeinfo> -#include <testsuite_hooks.h> - -void test01() -{ - using namespace std; - bool test __attribute__((unused)) = true; - - VERIFY( typeid(locale::category) == typeid(int) ); -} - -int main() -{ - test01(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/1.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/1.cc deleted file mode 100644 index 87c90a602..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/1.cc +++ /dev/null @@ -1,38 +0,0 @@ -// 2000-09-13 Benjamin Kosnik <bkoz@redhat.com> - -// Copyright (C) 2000, 2001, 2002, 2003, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.2 locale constructors and destructors [lib.locale.cons] - -#include <cwchar> // for mbstate_t -#include <locale> -#include <stdexcept> -#include <testsuite_hooks.h> - -void test00() -{ - // Should be able to do this as the first thing that happens in a - // file and have it not crash. - std::locale loc("C"); -} - -int main() -{ - test00(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc deleted file mode 100644 index f56bf6786..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc +++ /dev/null @@ -1,126 +0,0 @@ -// { dg-require-namedlocale "" } - -// Copyright (C) 2003, 2005, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.2 locale constructors and destructors [lib.locale.cons] - -#include <new> -#include <locale> -#include <cstdlib> -#include <cstring> -#include <testsuite_hooks.h> - -int times_to_fail = 0; - -void* allocate(std::size_t n) -{ - if (!times_to_fail--) - return 0; - - void* ret = std::malloc(n ? n : 1); - if (ret) - std::memset(ret, 0xbc, n); - return ret; -} - -void deallocate(void* p) -{ - if (p) - std::free(p); -} - -void* operator new(std::size_t n) throw (std::bad_alloc) -{ - void* ret = allocate(n); - if (!ret) - throw std::bad_alloc(); - return ret; -} - -void* operator new[](std::size_t n) throw (std::bad_alloc) -{ - void* ret = allocate(n); - if (!ret) - throw std::bad_alloc(); - return ret; -} - -void operator delete(void* p) throw() -{ - deallocate(p); -} - -void operator delete[](void* p) throw() -{ - deallocate(p); -} - -void* operator new(std::size_t n, const std::nothrow_t&) throw() -{ - return allocate(n); -} - -void* operator new[](std::size_t n, const std::nothrow_t&) throw() -{ - return allocate(n); -} - -void operator delete(void* p, const std::nothrow_t&) throw() -{ - deallocate(p); -} - -void operator delete[](void* p, const std::nothrow_t&) throw() -{ - deallocate(p); -} - -// libstdc++/12352 -void test01(int iters) -{ - bool test __attribute__((unused)) = true; - - for (int j = 0; j < iters; ++j) - { - for (int i = 0; i < 100; ++i) - { - times_to_fail = i; - try - { - std::locale loc1 = std::locale(""); - std::locale loc2(loc1, std::locale::classic(), - std::locale::numeric); - } - catch (std::exception&) - { - } - } - } -} - -int main(int argc, char* argv[]) -{ - int iters = 1; - if (argc > 1) - iters = std::atoi(argv[1]); - if (iters < 1) - iters = 1; - test01(iters); - - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc deleted file mode 100644 index 090e65331..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc +++ /dev/null @@ -1,71 +0,0 @@ -// { dg-require-namedlocale "" } - -// Copyright (C) 2003, 2005, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.2 locale constructors and destructors [lib.locale.cons] - -#include <locale> -#include <stdexcept> -#include <cstdlib> -#include <testsuite_hooks.h> - -class MyFacet : public std::locale::facet -{ -public: - static std::locale::id id; -}; - -std::locale::id MyFacet::id; - -// libstdc++/12438 -void test01(int iters) -{ - using namespace std; - bool test __attribute__((unused)) = true; - - for (int i = 0; i < iters; ++i) - { - try - { - locale loc1 = locale::classic(); - locale loc2 = locale(""); - VERIFY( !has_facet<MyFacet>(loc2) ); - - loc1.combine<MyFacet>(loc2); - VERIFY( false ); - } - catch (std::runtime_error&) - { - } - } -} - -int main(int argc, char* argv[]) -{ - // We leaked ~400-500 bytes/iter. - __gnu_test::set_memory_limits(10.0); - int iters = 30000; - - if (argc > 1) - iters = atoi(argv[1]); - if (iters < 1) - iters = 1; - test01(iters); - - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc deleted file mode 100644 index d7ad84137..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc +++ /dev/null @@ -1,68 +0,0 @@ -// { 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* } } -// { dg-require-namedlocale "" } - -// Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.2 locale constructors and destructors [lib.locale.cons] - -#include <locale> -#include <pthread.h> -#include <testsuite_hooks.h> - -const int max_thread_count = 20; -//const int max_loop_count = 1000000; // orig value -const int max_loop_count = 100000; -const int max_locales = 10; - -void* thread_main(void*) -{ - try - { - 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) - { - 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; -} - -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); - - for (int i = 0; i < max_thread_count; i++) - pthread_join (tid[i], NULL); - - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc deleted file mode 100644 index 2d92afcad..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc +++ /dev/null @@ -1,64 +0,0 @@ -// { 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* } } -// { dg-require-namedlocale "" } - -// Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.2 locale constructors and destructors [lib.locale.cons] - -#include <locale> -#include <pthread.h> -#include <testsuite_hooks.h> - -const int max_thread_count = 20; -//const int max_loop_count = 1000000; // orig value -const int max_loop_count = 100000; -const int max_locales = 10; -std::locale loc[max_locales]; - -void* thread_main(void*) -{ - try - { - for (int i = 0; i < max_loop_count; ++i) - { - int k = i % max_locales; - std::locale::global(loc[k]); - } - } - catch (...) { } - return 0; -} - -int -main() -{ - pthread_t tid[max_thread_count]; - - for (int j = 0; j < max_locales; ++j) - loc[j] = std::locale(j % 2 ? "en_US" : "fr_FR"); - - for (int i = 0; i < max_thread_count; i++) - pthread_create(&tid[i], NULL, thread_main, 0); - - for (int i = 0; i < max_thread_count; i++) - pthread_join(tid[i], NULL); - - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/2.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/2.cc deleted file mode 100644 index c5c70dcc9..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/2.cc +++ /dev/null @@ -1,213 +0,0 @@ -// { dg-require-namedlocale "" } - -// 2000-09-13 Benjamin Kosnik <bkoz@redhat.com> - -// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 -// Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.2 locale constructors and destructors [lib.locale.cons] - -#include <cwchar> // for mbstate_t -#include <locale> -#include <stdexcept> -#include <typeinfo> -#include <testsuite_hooks.h> - -typedef std::codecvt<char, char, std::mbstate_t> c_codecvt; - -#ifdef _GLIBCXX_USE_WCHAR_T -typedef std::codecvt<wchar_t, char, std::mbstate_t> w_codecvt; -#endif - -class gnu_codecvt: public c_codecvt { }; - -class gnu_facet: public std::locale::facet -{ -public: - static std::locale::id id; -}; - -std::locale::id gnu_facet::id; - -void test01() -{ - using namespace std; - bool test __attribute__((unused)) = true; - - // construct a locale object with the C facet - const locale loc01 = locale::classic(); - - // 1 - // template <class Facet> locale(const locale& other, Facet* f) - // construct a locale object with the specialized facet. - locale loc02(locale::classic(), new gnu_codecvt); - VERIFY( loc01 != loc02 ); - VERIFY( loc02.name() == "*" ); - try - { - VERIFY( has_facet<gnu_codecvt>(loc02) ); - VERIFY( has_facet<c_codecvt>(loc02) ); -#ifdef _GLIBCXX_USE_WCHAR_T - VERIFY( has_facet<w_codecvt>(loc02) ); -#endif - } - catch(...) - { VERIFY( false ); } - - try - { use_facet<gnu_facet>(loc02); } - catch(bad_cast& obj) - { VERIFY( true ); } - catch(...) - { VERIFY( false ); } - - // 2 - // locale() throw() - locale loc03; - VERIFY( loc03 == loc01 ); - VERIFY( loc03.name() == "C" ); - locale loc04 = locale::global(loc02); - locale loc05; - VERIFY( loc05 != loc03 ); - VERIFY( loc05 == loc02 ); - - // 3 - // explicit locale(const char* std_name) - locale loc06 = locale("fr_FR"); - VERIFY( loc06 != loc01 ); - VERIFY( loc06 != loc02 ); - VERIFY( loc06.name() == "fr_FR"); - locale loc07(""); - VERIFY( loc07 != loc02 ); - VERIFY( loc07.name() != "" ); - try - { locale loc08(static_cast<const char*>(NULL)); } - catch(runtime_error& obj) - { VERIFY( true ); } - catch(...) - { VERIFY( false ); } - - try - { locale loc08("saturn_SUN*RA"); } - catch(runtime_error& obj) - { VERIFY( true ); } - catch(...) - { VERIFY( false ); } - - // 4 - // locale(const locale& other, const char* std_name, category) - { - // This is the same as 5 only use "C" for loc("C") - locale loc09(loc06, "C", locale::ctype); - VERIFY( loc09.name() != "fr_FR" ); - VERIFY( loc09.name() != "C" ); - VERIFY( loc09.name() != "*" ); - VERIFY( loc09 != loc01 ); - VERIFY( loc09 != loc06 ); - - locale loc10(loc02, "C", locale::ctype); - VERIFY( loc10.name() == "*" ); - VERIFY( loc10 != loc01 ); // As not named, even tho facets same... - VERIFY( loc10 != loc02 ); - - locale loc11(loc01, "C", locale::ctype); - VERIFY( loc11.name() == "C" ); - VERIFY( loc11 == loc01 ); - - try - { locale loc12(loc01, static_cast<const char*>(NULL), locale::ctype); } - catch(runtime_error& obj) - { VERIFY( true ); } - catch(...) - { VERIFY( false ); } - - try - { locale loc13(loc01, "localized by the wu-tang clan", locale::ctype); } - catch(runtime_error& obj) - { VERIFY( true ); } - catch(...) - { VERIFY( false ); } - - locale loc14(loc06, "C", locale::none); - VERIFY( loc14.name() == "fr_FR" ); - VERIFY( loc14 == loc06 ); - - locale loc15(loc06, "C", locale::collate ); - VERIFY( loc15.name() != "fr_FR" ); - VERIFY( loc15.name() != "C" ); - VERIFY( loc15.name() != "*" ); - VERIFY( loc15.name() != loc09.name() ); - VERIFY( loc15 != loc01 ); - VERIFY( loc15 != loc06 ); - VERIFY( loc15 != loc09 ); - } - - // 5 - // locale(const locale& other, const locale& one, category) - { - // This is the exact same as 4, with locale("C") for "C" - locale loc09(loc06, loc01, locale::ctype); - VERIFY( loc09.name() != "fr_FR" ); - VERIFY( loc09.name() != "C" ); - VERIFY( loc09.name() != "*" ); - VERIFY( loc09 != loc01 ); - VERIFY( loc09 != loc06 ); - - locale loc10(loc02, loc01, locale::ctype); - VERIFY( loc10.name() == "*" ); - VERIFY( loc10 != loc01 ); // As not named, even tho facets same... - VERIFY( loc10 != loc02 ); - - locale loc11(loc01, loc01, locale::ctype); - VERIFY( loc11.name() == "C" ); - VERIFY( loc11 == loc01 ); - - try - { locale loc12(loc01, static_cast<const char*>(NULL), locale::ctype); } - catch(runtime_error& obj) - { VERIFY( true ); } - catch(...) - { VERIFY( false ); } - - try - { locale loc13(loc01, locale("wu-tang clan"), locale::ctype); } - catch(runtime_error& obj) - { VERIFY( true ); } - catch(...) - { VERIFY( false ); } - - locale loc14(loc06, loc01, locale::none); - VERIFY( loc14.name() == "fr_FR" ); - VERIFY( loc14 == loc06 ); - - locale loc15(loc06, loc01, locale::collate); - VERIFY( loc15.name() != "fr_FR" ); - VERIFY( loc15.name() != "C" ); - VERIFY( loc15.name() != "*" ); - VERIFY( loc15.name() != loc09.name() ); - VERIFY( loc15 != loc01 ); - VERIFY( loc15 != loc06 ); - VERIFY( loc15 != loc09 ); - } -} - -int main() -{ - test01(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/29217.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/29217.cc deleted file mode 100644 index 428efc952..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/29217.cc +++ /dev/null @@ -1,53 +0,0 @@ -// { dg-require-namedlocale "" } - -// Copyright (C) 2006, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.2 locale constructors and destructors [lib.locale.cons] - -#include <locale> -#include <testsuite_hooks.h> - -// libstdc++/29217 -void test01() -{ - bool test __attribute__((unused)) = true; - using namespace std; - - locale::global(locale(locale(), "en_US.UTF-8", - locale::collate | locale::ctype)); - - VERIFY( locale().name() == "LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;" - "LC_TIME=C;LC_COLLATE=en_US.UTF-8;LC_MONETARY=C;LC_MESSAGES=C;" - "LC_PAPER=C;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;" - "LC_MEASUREMENT=C;LC_IDENTIFICATION=C" ); - - VERIFY( locale().name() == setlocale(LC_ALL, NULL) ); - - locale loc1 = locale(locale::classic(), "en_US.UTF-8", locale::time); - - VERIFY( loc1.name() == "LC_CTYPE=C;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;" - "LC_COLLATE=C;LC_MONETARY=C;LC_MESSAGES=C;LC_PAPER=C;LC_NAME=C;" - "LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=C;" - "LC_IDENTIFICATION=C" ); -} - -int main() -{ - test01(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/38365.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/38365.cc deleted file mode 100644 index 44bda78f0..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/38365.cc +++ /dev/null @@ -1,44 +0,0 @@ -// { dg-require-namedlocale "" } - -// Copyright (C) 2008, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.2 locale constructors and destructors [lib.locale.cons] - -#include <locale> -#include <testsuite_hooks.h> - -// libstdc++/38365 -void test01() -{ - using namespace std; - bool test __attribute__((unused)) = true; - - locale other(locale("C")); - locale one(locale("en_US"), new ctype<char>()); - locale loc(other, one, locale::collate); - - VERIFY( one.name() == "*" ); - VERIFY( other.name() == "C" ); - VERIFY( loc.name() == "*" ); -} - -int main() -{ - test01(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/38368.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/38368.cc deleted file mode 100644 index be731a4c9..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/38368.cc +++ /dev/null @@ -1,53 +0,0 @@ -// { dg-require-namedlocale "" } - -// Copyright (C) 2008, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.2 locale constructors and destructors [lib.locale.cons] - -#include <locale> -#include <testsuite_hooks.h> - -// libstdc++/38368 -void test01() -{ - using namespace std; - bool test __attribute__((unused)) = true; - - locale loc(locale("C"), "en_US", locale::collate); - locale loc_copy(loc.name().c_str()); - - const moneypunct<char, true>& mpunt = - use_facet<moneypunct<char, true> >(loc_copy); - VERIFY( mpunt.decimal_point() == '.' ); - VERIFY( mpunt.thousands_sep() == ',' ); - - const moneypunct<char, false>& mpunf = - use_facet<moneypunct<char, false> >(loc_copy); - VERIFY( mpunf.decimal_point() == '.' ); - VERIFY( mpunf.thousands_sep() == ',' ); - - const numpunct<char>& npun = use_facet<numpunct<char> >(loc_copy); - VERIFY( npun.decimal_point() == '.' ); - VERIFY( npun.thousands_sep() == ',' ); -} - -int main() -{ - test01(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/4.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/4.cc deleted file mode 100644 index 6f9ede814..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/4.cc +++ /dev/null @@ -1,49 +0,0 @@ -// { dg-require-namedlocale "" } - -// 2000-09-13 Benjamin Kosnik <bkoz@redhat.com> - -// Copyright (C) 2000, 2001, 2002, 2003, 2005, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.2 locale constructors and destructors [lib.locale.cons] - -#include <cwchar> // for mbstate_t -#include <cstdlib> -#include <locale> -#include <stdexcept> -#include <testsuite_hooks.h> - -// libstdc++/7811 -void test03() -{ - bool test __attribute__((unused)) = true; -#ifdef _GLIBCXX_HAVE_SETENV - const char* LC_ALL_orig = getenv("LC_ALL"); - if (!setenv("LC_ALL", "it_IT", 1)) - { - std::locale loc = std::locale(""); - VERIFY( loc.name() == "it_IT" ); - setenv("LC_ALL", LC_ALL_orig ? LC_ALL_orig : "", 1); - } -#endif -} - -int main() -{ - test03(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/5.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/5.cc deleted file mode 100644 index a1d103ec7..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/5.cc +++ /dev/null @@ -1,202 +0,0 @@ -// { dg-require-namedlocale "" } - -// 2000-09-13 Benjamin Kosnik <bkoz@redhat.com> - -// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 -// Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.2 locale constructors and destructors [lib.locale.cons] - -#include <cwchar> // for mbstate_t -#include <cstring> -#include <cstdlib> -#include <locale> -#include <stdexcept> -#include <testsuite_hooks.h> - -// More tests for locale("") == POSIX locale::name. -void test04() -{ - bool test __attribute__((unused)) = true; - using namespace std; - -#ifdef _GLIBCXX_HAVE_SETENV - - const char* LANG_orig = getenv("LANG") ? strdup(getenv("LANG")) : ""; - const char* LC_ALL_orig = getenv("LC_ALL") ? strdup(getenv("LC_ALL")) : ""; - const char* LC_CTYPE_orig = - getenv("LC_CTYPE") ? strdup(getenv("LC_CTYPE")) : ""; - const char* LC_NUMERIC_orig = - getenv("LC_NUMERIC") ? strdup(getenv("LC_NUMERIC")) : ""; - const char* LC_TIME_orig = - getenv("LC_TIME") ? strdup(getenv("LC_TIME")) : ""; - const char* LC_COLLATE_orig = - getenv("LC_COLLATE") ? strdup(getenv("LC_COLLATE")) : ""; - const char* LC_MONETARY_orig = - getenv("LC_MONETARY") ? strdup(getenv("LC_MONETARY")) : ""; - const char* LC_MESSAGES_orig = - getenv("LC_MESSAGES") ? strdup(getenv("LC_MESSAGES")) : ""; -#if _GLIBCXX_NUM_CATEGORIES - const char* LC_PAPER_orig = - getenv("LC_PAPER") ? strdup(getenv("LC_PAPER")) : ""; - const char* LC_NAME_orig = - getenv("LC_NAME") ? strdup(getenv("LC_NAME")) : ""; - const char* LC_ADDRESS_orig = - getenv("LC_ADDRESS") ? strdup(getenv("LC_ADDRESS")) : ""; - const char* LC_TELEPHONE_orig = - getenv("LC_TELEPHONE") ? strdup(getenv("LC_TELEPHONE")) : ""; - const char* LC_MEASUREMENT_orig = - getenv("LC_MEASUREMENT") ? strdup(getenv("LC_MEASUREMENT")) : ""; - const char* LC_IDENTIFICATION_orig = - getenv("LC_IDENTIFICATION") ? strdup(getenv("LC_IDENTIFICATION")) : ""; -#endif - - // Check that a "POSIX" LC_ALL is equivalent to "C". - if (!setenv("LC_ALL", "POSIX", 1)) - { - locale loc = locale(""); - VERIFY( loc.name() == "C" ); - } - setenv("LC_ALL", "", 1); - - // Check that a "en_PH" LC_ALL is equivalent to "en_PH". - if (!setenv("LC_ALL", "en_PH", 1)) - { - locale loc = locale(""); - VERIFY( loc.name() == "en_PH" ); - } - setenv("LC_ALL", "", 1); - - // Explicit check that LC_ALL sets regardless of LC_* and LANG. - if (!setenv("LANG", "es_MX", 1) && !setenv("LC_COLLATE", "de_DE", 1)) - { - if (!setenv("LC_ALL", "en_PH", 1)) - { - locale loc = locale(""); - VERIFY( loc.name() == "en_PH" ); - } - setenv("LC_ALL", "", 1); - setenv("LANG", LANG_orig ? LANG_orig : "", 1); - setenv("LC_COLLATE", LC_COLLATE_orig ? LC_COLLATE_orig : "", 1); - } - - // NB: LANG checks all LC_* macro settings. As such, all LC_* macros - // must be cleared for these tests, and then restored. - setenv("LC_ALL", "", 1); - setenv("LC_CTYPE", "", 1); - setenv("LC_NUMERIC", "", 1); - setenv("LC_TIME", "", 1); - setenv("LC_COLLATE", "", 1); - setenv("LC_MONETARY", "", 1); - setenv("LC_MESSAGES", "", 1); -#if _GLIBCXX_NUM_CATEGORIES - setenv("LC_PAPER", "", 1); - setenv("LC_NAME", "", 1); - setenv("LC_ADDRESS", "", 1); - setenv("LC_TELEPHONE", "", 1); - setenv("LC_MEASUREMENT", "", 1); - setenv("LC_IDENTIFICATION", "", 1); -#endif - - // Check the default set by LANG. - if (!setenv("LANG", "fr_FR", 1)) - { - locale loc = locale(""); - VERIFY( loc.name() == "fr_FR" ); - } - - // Check that a "POSIX" LANG is equivalent to "C". - if (!setenv("LANG", "POSIX", 1)) - { - locale loc(""); - VERIFY( loc.name() == "C" ); - } - - // Setting a category in the "C" default. - if (!setenv("LC_COLLATE", "de_DE", 1)) - { - locale loc = locale(""); - -#if _GLIBCXX_NUM_CATEGORIES - VERIFY( loc.name() == "LC_CTYPE=C;LC_NUMERIC=C;LC_TIME=C;" - "LC_COLLATE=de_DE;LC_MONETARY=C;LC_MESSAGES=C;LC_PAPER=C;" - "LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=C;" - "LC_IDENTIFICATION=C" ); -#else - VERIFY( loc.name() == "LC_CTYPE=C;LC_NUMERIC=C;LC_TIME=C;" - "LC_COLLATE=de_DE;LC_MONETARY=C;LC_MESSAGES=C" ); -#endif - } - - // Changing the LANG default while LC_COLLATE is set. - if (!setenv("LANG", "fr_FR", 1)) - { - locale loc = locale(""); -#if _GLIBCXX_NUM_CATEGORIES - VERIFY( loc.name() == "LC_CTYPE=fr_FR;LC_NUMERIC=fr_FR;" - "LC_TIME=fr_FR;LC_COLLATE=de_DE;LC_MONETARY=fr_FR;" - "LC_MESSAGES=fr_FR;LC_PAPER=fr_FR;LC_NAME=fr_FR;" - "LC_ADDRESS=fr_FR;LC_TELEPHONE=fr_FR;LC_MEASUREMENT=fr_FR;" - "LC_IDENTIFICATION=fr_FR" ); -#else - VERIFY( loc.name() == "LC_CTYPE=fr_FR;LC_NUMERIC=fr_FR;" - "LC_TIME=fr_FR;LC_COLLATE=de_DE;LC_MONETARY=fr_FR;" - "LC_MESSAGES=fr_FR" ); -#endif - } - - // Changing another (C only) category. -#if _GLIBCXX_NUM_CATEGORIES - if (!setenv("LC_IDENTIFICATION", "it_IT", 1)) - { - locale loc = locale(""); - VERIFY( loc.name() == "LC_CTYPE=fr_FR;LC_NUMERIC=fr_FR;" - "LC_TIME=fr_FR;LC_COLLATE=de_DE;LC_MONETARY=fr_FR;" - "LC_MESSAGES=fr_FR;LC_PAPER=fr_FR;LC_NAME=fr_FR;" - "LC_ADDRESS=fr_FR;LC_TELEPHONE=fr_FR;LC_MEASUREMENT=fr_FR;" - "LC_IDENTIFICATION=it_IT" ); - } -#endif - - // Restore the environment. - setenv("LANG", LANG_orig ? LANG_orig : "", 1); - setenv("LC_ALL", LC_ALL_orig ? LC_ALL_orig : "", 1); - setenv("LC_CTYPE", LC_CTYPE_orig ? LC_CTYPE_orig : "", 1); - setenv("LC_NUMERIC", LC_NUMERIC_orig ? LC_NUMERIC_orig : "", 1); - setenv("LC_TIME", LC_TIME_orig ? LC_TIME_orig : "", 1); - setenv("LC_COLLATE", LC_COLLATE_orig ? LC_COLLATE_orig : "", 1); - setenv("LC_MONETARY", LC_MONETARY_orig ? LC_MONETARY_orig : "", 1); - setenv("LC_MESSAGES", LC_MESSAGES_orig ? LC_MESSAGES_orig : "", 1); -#if _GLIBCXX_NUM_CATEGORIES - setenv("LC_PAPER", LC_PAPER_orig ? LC_PAPER_orig : "", 1); - setenv("LC_NAME", LC_NAME_orig ? LC_NAME_orig : "", 1); - setenv("LC_ADDRESS", LC_ADDRESS_orig ? LC_ADDRESS_orig : "", 1); - setenv("LC_TELEPHONE", LC_TELEPHONE_orig ? LC_TELEPHONE_orig : "", 1); - setenv("LC_MEASUREMENT", LC_MEASUREMENT_orig ? LC_MEASUREMENT_orig : "", 1); - setenv("LC_IDENTIFICATION", - LC_IDENTIFICATION_orig ? LC_IDENTIFICATION_orig : "", 1); -#endif - -#endif -} - -int main() -{ - test04(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/6.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/6.cc deleted file mode 100644 index c25184203..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/6.cc +++ /dev/null @@ -1,58 +0,0 @@ -// 2001-01-19 Benjamin Kosnik <bkoz@redhat.com> - -// Copyright (C) 2001, 2003, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1 - Class locale [lib.locale] - -#include <locale> -#include <string> -#include <testsuite_hooks.h> - -// creating unnamed locales 1 using new + combine -void -test01() -{ - using namespace std; - bool test __attribute__((unused)) = true; - const string name_c("C"); - const string str_unnamed("*"); - string str; - - // construct a locale object with the specialized facet. - locale loc_c = locale::classic(); - locale loc_1(locale::classic(), new numpunct<char>); - - // check names - VERIFY( loc_c.name() == name_c ); - VERIFY( loc_1.name() == str_unnamed ); - - // sanity check the constructed locale has the specialized facet. - VERIFY( has_facet<numpunct<char> >(loc_1) ); - VERIFY( has_facet<numpunct<char> >(loc_c) ); - - // attempt to re-synthesize classic locale - locale loc_2 = loc_1.combine<numpunct<char> >(loc_c); - VERIFY( loc_2.name() == str_unnamed ); - VERIFY( loc_2 != loc_c ); -} - -int main() -{ - test01(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/7.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/7.cc deleted file mode 100644 index b78f42a17..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/7.cc +++ /dev/null @@ -1,106 +0,0 @@ -// { dg-require-namedlocale "" } - -// 2001-01-19 Benjamin Kosnik <bkoz@redhat.com> - -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 -// Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1 - Class locale [lib.locale] - -#include <locale> -#include <string> -#include <testsuite_hooks.h> - -void -test02() -{ - using namespace std; - bool test __attribute__((unused)) = true; - const string name_c("C"); - const string name_no("*"); - string str; - - // construct a locale object with the specialized facet. - locale loc_c = locale::classic(); - locale loc_is = locale("is_IS"); - locale loc_1(locale::classic(), - new numpunct_byname<char>("is_IS")); - - // check names - VERIFY( loc_c.name() == name_c ); - VERIFY( loc_1.name() == name_no ); - - // sanity check the constructed locale has the specialized facet. - VERIFY( has_facet<numpunct<char> >(loc_1) ); - VERIFY( has_facet<numpunct<char> >(loc_c) ); - - // attempt to re-synthesize classic locale - locale loc_2 = loc_1.combine<numpunct<char> >(loc_c); - VERIFY( loc_2.name() == name_no ); - VERIFY( loc_2 != loc_c ); - - // extract facet - const numpunct<char>& nump_1 = use_facet<numpunct<char> >(loc_1); - const numpunct<char>& nump_2 = use_facet<numpunct<char> >(loc_2); - const numpunct<char>& nump_c = use_facet<numpunct<char> >(loc_c); - const numpunct<char>& nump_is = use_facet<numpunct<char> >(loc_is); - - // sanity check the data is correct. - char dp1 = nump_c.decimal_point(); - char th1 = nump_c.thousands_sep(); - string g1 = nump_c.grouping(); - string t1 = nump_c.truename(); - string f1 = nump_c.falsename(); - - char dp2 = nump_1.decimal_point(); - char th2 = nump_1.thousands_sep(); - string g2 = nump_1.grouping(); - string t2 = nump_1.truename(); - string f2 = nump_1.falsename(); - - char dp3 = nump_2.decimal_point(); - char th3 = nump_2.thousands_sep(); - string g3 = nump_2.grouping(); - string t3 = nump_2.truename(); - string f3 = nump_2.falsename(); - - char dp4 = nump_is.decimal_point(); - char th4 = nump_is.thousands_sep(); - string g4 = nump_is.grouping(); - string t4 = nump_is.truename(); - string f4 = nump_is.falsename(); - VERIFY( dp1 != dp2 ); - VERIFY( th1 != th2 ); - - VERIFY( dp1 == dp3 ); - VERIFY( th1 == th3 ); - VERIFY( t1 == t3 ); - VERIFY( f1 == f3 ); - - VERIFY( dp2 == dp4 ); - VERIFY( th2 == th4 ); - VERIFY( t2 == t4 ); - VERIFY( f2 == f4 ); -} - - -int main() -{ - test02(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/7222-c.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/7222-c.cc deleted file mode 100644 index 8f717f2f0..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/7222-c.cc +++ /dev/null @@ -1,41 +0,0 @@ -// 2000-09-13 Benjamin Kosnik <bkoz@redhat.com> - -// Copyright (C) 2000, 2001, 2002, 2003, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.2 locale constructors and destructors [lib.locale.cons] - -#include <cwchar> // for mbstate_t -#include <locale> -#include <stdexcept> -#include <testsuite_hooks.h> - -// libstdc++/7222 -void test02() -{ - bool test __attribute__((unused)) = true; - - std::locale loc_c1("C"); - std::locale loc_c2("C"); - VERIFY( loc_c1 == loc_c2 ); -} - -int main() -{ - test02(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/7222-env.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/7222-env.cc deleted file mode 100644 index 96f80f39a..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/7222-env.cc +++ /dev/null @@ -1,43 +0,0 @@ -// { dg-require-namedlocale "" } - -// 2000-09-13 Benjamin Kosnik <bkoz@redhat.com> - -// Copyright (C) 2000, 2001, 2002, 2003, 2005, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.2 locale constructors and destructors [lib.locale.cons] - -#include <cwchar> // for mbstate_t -#include <locale> -#include <stdexcept> -#include <testsuite_hooks.h> - -// libstdc++/7222 -void test02() -{ - bool test __attribute__((unused)) = true; - - std::locale loc_1 = std::locale(""); - std::locale loc_2 = std::locale(""); - VERIFY( loc_1 == loc_2 ); -} - -int main() -{ - test02(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/8.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/8.cc deleted file mode 100644 index 5114130d4..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/8.cc +++ /dev/null @@ -1,42 +0,0 @@ -// 2003-02-01 Paolo Carlini <pcarlini@unitus.it> - -// Copyright (C) 2003, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.2 locale constructors and destructors [lib.locale.cons] - -#include <locale> - -// Const correctness issue: -// http://gcc.gnu.org/ml/libstdc++/2003-01/msg00370.html -void -test01() -{ - using namespace std; - bool test __attribute__((unused)) = true; - - const locale l1("C"); - const locale l2 = - locale(locale::classic(), &use_facet<time_get<char> >(l1)); -} - - -int main() -{ - test01(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc deleted file mode 100644 index 546fb4e79..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc +++ /dev/null @@ -1,81 +0,0 @@ -// { dg-require-iconv "ISO-8859-1" } - -// Copyright (C) 2006, 2007, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.2 locale constructors and destructors [lib.locale.cons] - -#include <cwchar> // for mbstate_t -#include <locale> -#include <stdexcept> -#include <typeinfo> -#include <testsuite_hooks.h> -#include <ext/codecvt_specializations.h> - -typedef std::codecvt<char, char, std::mbstate_t> c_codecvt; - -#ifdef _GLIBCXX_USE_WCHAR_T -typedef std::codecvt<wchar_t, char, std::mbstate_t> w_codecvt; -#endif - -class gnu_facet: public std::locale::facet -{ -public: - static std::locale::id id; -}; - -std::locale::id gnu_facet::id; - -void test01() -{ - using namespace std; - typedef unsigned short int_type; - typedef char ext_type; - typedef __gnu_cxx::encoding_state state_type; - typedef codecvt<int_type, ext_type, state_type> unicode_codecvt; - - bool test __attribute__((unused)) = true; - - // unicode_codecvt - locale loc01(locale::classic()); - locale loc13(locale::classic(), new unicode_codecvt); - VERIFY( loc01 != loc13 ); - VERIFY( loc13.name() == "*" ); - try - { - VERIFY( has_facet<c_codecvt>(loc13) ); -#ifdef _GLIBCXX_USE_WCHAR_T - VERIFY( has_facet<w_codecvt>(loc13) ); -#endif - VERIFY( has_facet<unicode_codecvt>(loc13) ); - } - catch(...) - { VERIFY( false ); } - - try - { use_facet<gnu_facet>(loc13); } - catch(bad_cast& obj) - { VERIFY( true ); } - catch(...) - { VERIFY( false ); } -} - -int main() -{ - test01(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/1.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/1.cc deleted file mode 100644 index 5c83afa42..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/1.cc +++ /dev/null @@ -1,66 +0,0 @@ -// 2000-09-13 Benjamin Kosnik <bkoz@redhat.com> - -// Copyright (C) 2000, 2002, 2003, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.5 locale static members [lib.locale.statics] - -#include <cwchar> // for mbstate_t -#include <locale> -#include <testsuite_hooks.h> - -typedef std::codecvt<char, char, std::mbstate_t> ccodecvt; -class gnu_codecvt: public ccodecvt { }; - -void test01() -{ - using namespace std; - bool test __attribute__((unused)) = true; - - string str1, str2; - - // Construct a locale object with the C facet. - const locale loc01 = locale::classic(); - - // Construct a locale object with the specialized facet. - locale loc02(locale::classic(), new gnu_codecvt); - VERIFY ( loc01 != loc02 ); - VERIFY ( !(loc01 == loc02) ); - - // classic - locale loc06("C"); - VERIFY (loc06 == loc01); - str1 = loc06.name(); - VERIFY( str1 == "C" ); - - // global - locale loc03; - VERIFY ( loc03 == loc01); - locale global_orig = locale::global(loc02); - locale loc05; - VERIFY (loc05 != loc03); - VERIFY (loc05 == loc02); - - // Reset global settings. - locale::global(global_orig); -} - -int main () -{ - test01(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/14071.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/14071.cc deleted file mode 100644 index 4927e5647..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/14071.cc +++ /dev/null @@ -1,50 +0,0 @@ -// { dg-require-namedlocale "" } - -// 2004-02-09 Petur Runolfsson <peturr02@ru.is> - -// Copyright (C) 2004, 2005, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.5 locale static members [lib.locale.statics] - -#include <locale> -#include <clocale> -#include <testsuite_hooks.h> - -// libstdc++/14071 -void test01() -{ - using namespace std; - bool test __attribute__((unused)) = true; - - const locale loc_is = locale("is_IS"); - const locale loc_en = locale("en_US"); - - const locale loc(loc_is, loc_en, locale::monetary); - - if (loc.name() != "*") - { - locale::global(loc); - VERIFY( loc.name() == setlocale(LC_ALL, NULL) ); - } -} - -int main() -{ - test01(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc deleted file mode 100644 index 21d52fd4b..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc +++ /dev/null @@ -1,72 +0,0 @@ -// { dg-require-namedlocale "" } - -// 2000-09-13 Benjamin Kosnik <bkoz@redhat.com> - -// Copyright (C) 2000, 2002, 2003, 2005, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.5 locale static members [lib.locale.statics] - -#include <cwchar> // for mbstate_t -#include <locale> -#include <testsuite_hooks.h> - -// Sanity check locale::global(loc) and setlocale. -void test02() -{ - using namespace std; - bool test __attribute__((unused)) = true; - - const string ph("en_PH"); - const string mx("es_MX"); - const char* orig = setlocale(LC_ALL, NULL); - const char* testph = setlocale(LC_ALL, ph.c_str()); - const char* testmx = setlocale(LC_ALL, mx.c_str()); - setlocale(LC_ALL, orig); - - // If the underlying locale doesn't support these names, setlocale - // won't be reset. Therefore, disable unless we know these specific - // named locales work. - if (testph && testmx) - { - const locale loc_ph = locale(ph.c_str()); - const locale loc_mx = locale(mx.c_str()); - - // Use setlocale between two calls to locale("") - const locale loc_env_1 = locale(""); - setlocale(LC_ALL, ph.c_str()); - const locale loc_env_2 = locale(""); - VERIFY( loc_env_1 == loc_env_2 ); - - // Change global locale. - locale global_orig = locale::global(loc_mx); - const char* lc_all_mx = setlocale(LC_ALL, NULL); - if (lc_all_mx) - { - VERIFY( mx == lc_all_mx ); - } - - // Restore global settings. - locale::global(global_orig); - } -} - -int main () -{ - test02(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/3.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/3.cc deleted file mode 100644 index 07f8f1d4a..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/3.cc +++ /dev/null @@ -1,112 +0,0 @@ -// 2000-09-13 Benjamin Kosnik <bkoz@redhat.com> - -// Copyright (C) 2000, 2002, 2003, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.5 locale static members [lib.locale.statics] - -#include <cwchar> // for mbstate_t -#include <locale> -#include <testsuite_hooks.h> - -// Static counter for use in checking ctors/dtors. -static std::size_t counter; - -class surf : public std::locale::facet -{ -public: - static std::locale::id id; - surf(size_t refs = 0): std::locale::facet(refs) { ++counter; } - ~surf() { --counter; } -}; - -std::locale::id surf::id; - -typedef surf facet_type; - -// Verify lifetimes of global objects. -void test03() -{ - using namespace std; - bool test __attribute__((unused)) = true; - - string name; - locale global_orig; - // 1: Destroyed when out of scope. - { - { - { - VERIFY( counter == 0 ); - { - locale loc01(locale::classic(), new facet_type); - VERIFY( counter == 1 ); - global_orig = locale::global(loc01); - name = loc01.name(); - } - VERIFY( counter == 1 ); - locale loc02 = locale(); - // Weak, but it's something... - VERIFY( loc02.name() == name ); - } - VERIFY( counter == 1 ); - // NB: loc03 should be a copy of the previous global locale. - locale loc03 = locale::global(global_orig); - VERIFY( counter == 1 ); - VERIFY( loc03.name() == name ); - } - VERIFY( counter == 0 ); - locale loc04 = locale(); - VERIFY( loc04 == global_orig ); - } - - // 2: Not destroyed when out of scope, deliberately leaked. - { - { - { - VERIFY( counter == 0 ); - { - locale loc01(locale::classic(), new facet_type(1)); - VERIFY( counter == 1 ); - global_orig = locale::global(loc01); - name = loc01.name(); - } - VERIFY( counter == 1 ); - locale loc02 = locale(); - // Weak, but it's something... - VERIFY( loc02.name() == name ); - } - VERIFY( counter == 1 ); - // NB: loc03 should be a copy of the previous global locale. - locale loc03 = locale::global(global_orig); - VERIFY( counter == 1 ); - VERIFY( loc03.name() == name ); - } - VERIFY( counter == 1 ); - locale loc04 = locale(); - VERIFY( loc04 == global_orig ); - } - VERIFY( counter == 1 ); - - // Restore global settings. - locale::global(global_orig); -} - -int main () -{ - test03(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/operations/1.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/operations/1.cc deleted file mode 100644 index b4b3850e8..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/operations/1.cc +++ /dev/null @@ -1,66 +0,0 @@ -// 2000-09-11 Benjamin Kosnik <bkoz@redhat.com> - -// Copyright (C) 2000, 2001, 2002, 2003, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.4 locale operators [lib.locale.operators] - -#include <cwchar> // for mbstate_t -#include <locale> -#include <testsuite_hooks.h> - -typedef std::codecvt<char, char, std::mbstate_t> ccodecvt; -class gnu_codecvt: public ccodecvt { }; - -void test01() -{ - using namespace std; - - bool test __attribute__((unused)) = true; - string str1, str2; - - // construct a locale object with the C facet - const locale& cloc = locale::classic(); - // construct a locale object with the specialized facet. - locale loc(locale::classic(), new gnu_codecvt); - VERIFY ( cloc != loc ); - VERIFY ( !(cloc == loc) ); - - str1 = cloc.name(); - str2 = loc.name(); - VERIFY( loc(str1, str2) == false ); -} - -// bool operator()(const string_type&, const string_type&) const -long gnu_count; - -class gnu_collate: public std::collate<char> -{ -protected: - virtual int - do_compare(const char*, const char*, const char*, const char*) const - { ++gnu_count; return 0; } -}; - -int main () -{ - test01(); - return 0; -} - - - diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/operations/2.cc b/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/operations/2.cc deleted file mode 100644 index 346a7713e..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/22_locale/locale/operations/2.cc +++ /dev/null @@ -1,63 +0,0 @@ -// 2000-09-11 Benjamin Kosnik <bkoz@redhat.com> - -// Copyright (C) 2000, 2001, 2002, 2003, 2009 Free Software Foundation -// -// 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 3, 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 COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -// 22.1.1.4 locale operators [lib.locale.operators] - -#include <cwchar> // for mbstate_t -#include <locale> -#include <testsuite_hooks.h> - -// bool operator()(const string_type&, const string_type&) const -long gnu_count; - -class gnu_collate: public std::collate<char> -{ -protected: - virtual int - do_compare(const char*, const char*, const char*, const char*) const - { ++gnu_count; return 0; } -}; - -void test02() -{ - using namespace std; - bool test __attribute__((unused)) = true; - - // Sanity check. - locale loc_c = locale::classic(); - string s01("land of "); - string s02("land of look behind"); - VERIFY( !loc_c(s01, s01) ); - VERIFY( loc_c(s01, s02) ); - - // Derivation, MF check. - locale loc_gnu(loc_c, new gnu_collate); - gnu_count = 0; - loc_gnu(s01, s02); - VERIFY( gnu_count == 1 ); -} - -int main () -{ - test02(); - return 0; -} - - - |