diff options
Diffstat (limited to 'libstdc++-v3/testsuite')
1002 files changed, 13306 insertions, 1916 deletions
diff --git a/libstdc++-v3/testsuite/18_support/bad_exception/23591_thread-1.c b/libstdc++-v3/testsuite/18_support/bad_exception/23591_thread-1.c index 9e621c3f786..f6c623043cd 100644 --- a/libstdc++-v3/testsuite/18_support/bad_exception/23591_thread-1.c +++ b/libstdc++-v3/testsuite/18_support/bad_exception/23591_thread-1.c @@ -1,7 +1,7 @@ // { dg-require-sharedlib "" } // { dg-options "-g -O2 -pthread -ldl -x c" { target *-*-linux* } } -// Copyright (C) 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2005, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -32,20 +32,20 @@ static void* run(void* arg) void (*cb)(); lib = dlopen("./testsuite_shared.so", RTLD_NOW); - if (lib == NULL) + if (!lib) { printf("dlopen failed: %s\n", strerror(errno)); - return NULL; + return 0; } cb = (function_type) dlsym(lib, "try_throw_exception"); - if (cb == NULL) + if (!cb) { printf("dlsym failed: %s\n", strerror(errno)); - return NULL; + return 0; } cb(); dlclose(lib); - return NULL; + return 0; } // libstdc++/23591 @@ -53,9 +53,9 @@ int main(void) { pthread_t pt; - if (pthread_create(&pt, NULL, &run, NULL) != 0) + if (pthread_create(&pt, 0, &run, 0) != 0) return 1; - if (pthread_join(pt, NULL) != 0) + if (pthread_join(pt, 0) != 0) return 1; return 0; diff --git a/libstdc++-v3/testsuite/18_support/exception/38732.cc b/libstdc++-v3/testsuite/18_support/exception/38732.cc index 43cf5b891ba..7c70f3a17b3 100644 --- a/libstdc++-v3/testsuite/18_support/exception/38732.cc +++ b/libstdc++-v3/testsuite/18_support/exception/38732.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 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 @@ -17,7 +17,6 @@ #include <typeinfo> #include <exception> -#include <cstddef> #include "unwind.h" #include <testsuite_hooks.h> @@ -67,21 +66,21 @@ void test01 () throw 0; } catch(...) { __cxa_exception *exc = __cxa_get_globals()->caughtExceptions; - VERIFY ( exc != NULL ); + VERIFY ( exc != 0 ); VERIFY ( typeid(int) == *exc->exceptionType ); } try { throw 0LL; } catch(...) { __cxa_exception *exc = __cxa_get_globals()->caughtExceptions; - VERIFY ( exc != NULL ); + VERIFY ( exc != 0 ); VERIFY ( typeid(long long int) == *exc->exceptionType ); } try { throw 0.0; } catch(...) { __cxa_exception *exc = __cxa_get_globals()->caughtExceptions; - VERIFY ( exc != NULL ); + VERIFY ( exc != 0 ); VERIFY ( typeid(double) == *exc->exceptionType ); } } diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc new file mode 100644 index 00000000000..4a7283f67de --- /dev/null +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc @@ -0,0 +1,38 @@ +// { dg-options "-std=gnu++0x" } +// { dg-require-atomic-builtins "" } + +// Copyright (C) 2010 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 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/>. + +#include <exception> +#include <testsuite_hooks.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + + std::exception_ptr p = std::make_exception_ptr(0); + + VERIFY( !(p == 0) ); +} + +int main() +{ + test01(); + + return 0; +} diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc new file mode 100644 index 00000000000..36e6375d9a9 --- /dev/null +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc @@ -0,0 +1,60 @@ +// { dg-options "-std=gnu++0x" } +// { dg-require-atomic-builtins "" } + +// Copyright (C) 2010 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 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/>. + +#include <exception> +#include <testsuite_hooks.h> + +// test NullablePointer requirements +void test01() +{ + std::exception_ptr p1; // DefaultConstructible + std::exception_ptr p2(p1); // CopyConstructible + p1 = p2; // CopyAssignable + VERIFY( p1 == p2 ); // EqualityComparable + VERIFY( !bool(p1) ); // contextually convertible to bool + swap(p1, p2); // Swappable + + // Table 39 expressions + std::exception_ptr p3 = nullptr; + std::exception_ptr p4(nullptr); + VERIFY( std::exception_ptr() == nullptr ); + p4 = nullptr; + VERIFY( p4 == nullptr ); + VERIFY( nullptr == p4 ); + VERIFY( (p4 != nullptr) == !(p4 == nullptr) ); + VERIFY( (nullptr != p4) == !(p4 == nullptr) ); + + std::exception_ptr p5{}; // value initialized ... + VERIFY( p5 == nullptr ); // ... is equivalent to null +} + +// additional exception_ptr requirements +void test02() +{ + std::exception_ptr p1; + VERIFY( p1 == nullptr ); +} + +int main() +{ + test01(); + test02(); + return 0; +} diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc new file mode 100644 index 00000000000..b897b506dfe --- /dev/null +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc @@ -0,0 +1,33 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } +// { dg-require-atomic-builtins "" } + +// Copyright (C) 2010 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 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/>. + +#include <exception> + +// test implicit conversions +void test01() +{ + std::exception_ptr p; + + int __attribute__((unused)) i = p; // { dg-error "cannot convert" } + bool __attribute__((unused)) b = p; // { dg-error "cannot convert" } + void* __attribute__((unused)) v = p; // { dg-error "cannot convert" } +} + diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc b/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc index e764fbb4a99..264e1a3692b 100644 --- a/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc @@ -18,7 +18,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <cstdbool> // { dg-excess-errors "In file included from" } +#include <cstdbool> // { dg-error "upcoming ISO" "" { target *-*-* } 31 } diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc b/libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc index 569dc678223..fdbb1dae515 100644 --- a/libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc @@ -18,7 +18,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <cstdint> // { dg-excess-errors "In file included from" } +#include <cstdint> // { dg-error "upcoming ISO" "" { target *-*-* } 31 } diff --git a/libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc b/libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc new file mode 100644 index 00000000000..f4bf96bb3ef --- /dev/null +++ b/libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc @@ -0,0 +1,30 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 18.9.3 Initializer list range access [support.initlist.range] + +#include <initializer_list> + +void +test01() +{ + std::begin({1, 2, 3}); + std::end({1, 2, 3}); +} diff --git a/libstdc++-v3/testsuite/18_support/new_delete_placement.cc b/libstdc++-v3/testsuite/18_support/new_delete_placement.cc index ef845d3a391..866a89b79cb 100644 --- a/libstdc++-v3/testsuite/18_support/new_delete_placement.cc +++ b/libstdc++-v3/testsuite/18_support/new_delete_placement.cc @@ -1,6 +1,6 @@ // 2002-07-24 Benjamin Kosnik -// Copyright (C) 2002, 2004, 2009 Free Software Foundation +// Copyright (C) 2002, 2004, 2009, 2010 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 @@ -27,7 +27,7 @@ void test01() { void* pc = new char; void* pa = new char[10]; - void* tmp = NULL; + void* tmp = 0; operator delete(pc, tmp); operator delete[](pa, tmp); } diff --git a/libstdc++-v3/testsuite/18_support/pthread_guard.cc b/libstdc++-v3/testsuite/18_support/pthread_guard.cc index 965328ebcba..5389316bab0 100644 --- a/libstdc++-v3/testsuite/18_support/pthread_guard.cc +++ b/libstdc++-v3/testsuite/18_support/pthread_guard.cc @@ -1,5 +1,5 @@ // -// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -40,7 +40,7 @@ void* do_something (void *arg) { static int bar __attribute__((unused)) = get_bar (); - return NULL; + return 0; } int @@ -48,10 +48,10 @@ get_foo (void) { pthread_t new_thread; - if (pthread_create (&new_thread, NULL, do_something, NULL) != 0) + if (pthread_create (&new_thread, 0, do_something, 0) != 0) std::abort (); - if (pthread_join (new_thread, NULL) != 0) + if (pthread_join (new_thread, 0) != 0) std::abort (); return 1; diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc b/libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc index a874814f42d..12258cac0e4 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc @@ -27,12 +27,10 @@ int main() bool test __attribute__((unused)) = true; __gnu_test::test_category c1; - __gnu_test::test_category c2(c1); + __gnu_test::test_category c2(c1); // { dg-error "deleted" } return 0; } -// { dg-error "deleted function" "" { target *-*-* } 72 } -// { dg-error "used here" "" { target *-*-* } 31 } -// { dg-error "first required here" "" { target *-*-* } 30 } -// { dg-excess-errors "copy constructor" } +// { dg-prune-output "testsuite_error" } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc b/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc index e9294bfd2b5..46f046d6570 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc @@ -17,7 +17,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <system_error> // { dg-excess-errors "In file included from" } +#include <system_error> // { dg-error "upcoming ISO" "" { target *-*-* } 31 } diff --git a/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-3.cc b/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-3.cc index 13438f0fbe6..0656d42f068 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-3.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-3.cc @@ -1,6 +1,6 @@ // { dg-options "-std=gnu++0x" } -// Copyright (C) 2007, 2009 +// Copyright (C) 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -32,6 +32,9 @@ void allocate_on_stack(void) __extension__ char array[num]; for (size_t i = 0; i < num; i++) array[i]=0; + // Suppress unused warnings. + for (size_t i = 0; i < num; i++) + array[i]=array[i]; } void test04() diff --git a/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-3.cc b/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-3.cc index d28fc8ea95e..b252cea3647 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-3.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-3.cc @@ -1,6 +1,6 @@ // 2001-02-26 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -34,6 +34,9 @@ void allocate_on_stack(void) __extension__ char array[num]; for (size_t i = 0; i < num; i++) array[i]=0; + // Suppress unused warnings. + for (size_t i = 0; i < num; i++) + array[i]=array[i]; } void test04() diff --git a/libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc b/libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc index 42f29798570..4a145a99349 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc @@ -1,7 +1,7 @@ // { dg-options "-std=gnu++0x" } // 2007-06-05 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008, 2009, 2010 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 @@ -18,7 +18,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <cstring> +#include <string> #include <system_error> #include <testsuite_hooks.h> @@ -33,14 +33,14 @@ int main() { std::system_error err1(e, s); VERIFY( err1.code() == e ); - VERIFY( std::strcmp(err1.runtime_error::what(), s.c_str()) == 0 ); + VERIFY( std::string(err1.what()).find(s) != std::string::npos ); } // 2 { std::system_error err2(95, std::system_category(), s); VERIFY( err2.code() == std::error_code(95, std::system_category()) ); - VERIFY( std::strcmp(err2.runtime_error::what(), s.c_str()) == 0 ); + VERIFY( std::string((err2.what(), s)).find(s) != std::string::npos ); } return 0; diff --git a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-1.cc b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-1.cc index 213b196b5d0..9899dfb7ada 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-1.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-1.cc @@ -1,6 +1,6 @@ // { dg-options "-std=gnu++0x" } -// Copyright (C) 2007, 2008, 2009 +// Copyright (C) 2007, 2008, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -22,7 +22,6 @@ #include <string> #include <system_error> -#include <cstring> #include <testsuite_hooks.h> using namespace std; @@ -39,8 +38,8 @@ void test01() // 2 system_error obj2(error_code(), s); - VERIFY( strcmp(obj1.what(), s.data()) == 0 ); - VERIFY( strcmp(obj2.what(), s.data()) == 0 ); + VERIFY( string(obj1.what()).find(s.data()) != string::npos ); + VERIFY( string(obj2.what()).find(s.data()) != string::npos ); } void test02() @@ -49,7 +48,7 @@ void test02() string s("lack of sunlight error"); system_error x(error_code(), s); - VERIFY( strcmp(x.what(), s.data()) == 0 ); + VERIFY( string(x.what()).find(s.data()) != string::npos ); } int main(void) diff --git a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-2.cc b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-2.cc index ff6641bd2b9..b5fe39cb234 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-2.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-2.cc @@ -1,6 +1,6 @@ // { dg-options "-std=gnu++0x" } -// Copyright (C) 2007, 2008, 2009 +// Copyright (C) 2007, 2008, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -22,7 +22,6 @@ #include <string> #include <system_error> -#include <cstring> #include <testsuite_hooks.h> // libstdc++/2089 @@ -38,7 +37,7 @@ void test03() try { throw fuzzy_logic(); } catch(const fuzzy_logic& obj) - { VERIFY( std::strcmp("whoa", obj.what()) == 0 ); } + { VERIFY( std::string(obj.what()).find("whoa") != std::string::npos ); } catch(...) { VERIFY( false ); } } diff --git a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-3.cc b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-3.cc index 9dc7010988a..d1d2ffee484 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-3.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-3.cc @@ -1,6 +1,6 @@ // { dg-options "-std=gnu++0x" } -// Copyright (C) 2007, 2009 +// Copyright (C) 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -20,7 +20,6 @@ #include <string> #include <system_error> -#include <cstring> #include <testsuite_hooks.h> // test copy ctors, assignment operators, and persistence of member string data @@ -32,6 +31,9 @@ void allocate_on_stack(void) __extension__ char array[num]; for (size_t i = 0; i < num; i++) array[i]=0; + // Suppress unused warnings. + for (size_t i = 0; i < num; i++) + array[i]=array[i]; } void test04() @@ -49,7 +51,7 @@ void test04() obj1 = obj2; } allocate_on_stack(); - VERIFY( std::strcmp(strlit1, obj1.what()) == 0 ); + VERIFY( std::string(obj1.what()).find(strlit1) != std::string::npos ); // block 02 { @@ -58,7 +60,7 @@ void test04() obj1 = obj3; } allocate_on_stack(); - VERIFY( std::strcmp(strlit2, obj1.what()) == 0 ); + VERIFY( std::string(obj1.what()).find(strlit2) != std::string::npos ); } int main(void) diff --git a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-4.cc b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-4.cc index 2b5d51c4571..7c729c7f117 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-4.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-4.cc @@ -1,6 +1,6 @@ // { dg-options "-std=gnu++0x" } -// Copyright (C) 2007, 2008, 2009 +// Copyright (C) 2007, 2008, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -20,7 +20,6 @@ // 19.1 Exception classes -#include <cstring> #include <string> #include <system_error> #include <testsuite_hooks.h> diff --git a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-big.cc b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-big.cc index f3c1309f583..351fc2914d1 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-big.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-big.cc @@ -1,6 +1,6 @@ // { dg-options "-std=gnu++0x" } -// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008, 2009, 2010 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 @@ -17,7 +17,6 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <cstring> #include <string> #include <system_error> #include <testsuite_hooks.h> @@ -30,7 +29,7 @@ void test01() bool test __attribute__((unused)) = true; const std::string xxx(10000, 'x'); test_type t(std::error_code(), xxx); - VERIFY( std::strcmp(t.what(), xxx.c_str()) == 0 ); + VERIFY( std::string(t.what()).find(xxx) != std::string::npos ); } int main(void) diff --git a/libstdc++-v3/testsuite/20_util/addressof/1.cc b/libstdc++-v3/testsuite/20_util/addressof/1.cc new file mode 100644 index 00000000000..43009f3c833 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/addressof/1.cc @@ -0,0 +1,51 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com> + +// Copyright (C) 2010 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 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/>. + +#include <memory> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +void f1(int) { } + +void test01() +{ + bool test __attribute__((unused)) = true; + using namespace __gnu_test; + + OverloadedAddress* ao1 = new OverloadedAddress(); + OverloadedAddress& o1 = *ao1; + + VERIFY( std::addressof(o1) == ao1 ); + + const OverloadedAddress* ao2 = new OverloadedAddress(); + const OverloadedAddress& o2 = *ao2; + + VERIFY( std::addressof(o2) == ao2 ); + + VERIFY( std::addressof(f1) == &f1 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/identity/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/addressof/requirements/explicit_instantiation.cc index 691f81b9387..559cd20e2fe 100644 --- a/libstdc++-v3/testsuite/20_util/identity/requirements/explicit_instantiation.cc +++ b/libstdc++-v3/testsuite/20_util/addressof/requirements/explicit_instantiation.cc @@ -1,9 +1,9 @@ // { dg-options "-std=gnu++0x" } // { dg-do compile } -// 2007-07-10 Paolo Carlini <pcarlini@suse.de> +// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com> -// Copyright (C) 2007, 2009 Free Software Foundation, Inc. +// Copyright (C) 2010 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 @@ -20,13 +20,12 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. - // NB: This file is for testing utility with NO OTHER INCLUDES. -#include <utility> +#include <memory> namespace std { typedef short test_type; - template struct decay<test_type>; + template short* addressof(short&); } diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc index b4b9eb910a6..1f6e67394e9 100644 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc +++ b/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc @@ -47,4 +47,5 @@ main() return 0; } // { dg-error "candidates" "" { target *-*-* } 134 } +// { dg-error "note" "" { target *-*-* } 152 } // { dg-error "::auto_ptr" "" { target *-*-* } 262 } diff --git a/libstdc++-v3/testsuite/20_util/clocks/1.cc b/libstdc++-v3/testsuite/20_util/clocks/1.cc index bcbe210d22f..aac12be6b2f 100644 --- a/libstdc++-v3/testsuite/20_util/clocks/1.cc +++ b/libstdc++-v3/testsuite/20_util/clocks/1.cc @@ -1,7 +1,7 @@ // { dg-options "-std=gnu++0x" } // { dg-require-cstdint "" } -// Copyright (C) 2008 Free Software Foundation +// Copyright (C) 2008, 2009, 2010 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 @@ -34,6 +34,7 @@ main() is_monotonic = is_monotonic; // suppress unused warning std::time_t t2 = system_clock::to_time_t(t1); system_clock::time_point t3 = system_clock::from_time_t(t2); + t3 = t3; // suppress unused warning return 0; } diff --git a/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc b/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc index d22a58ba038..f0c65468909 100644 --- a/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc +++ b/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc @@ -2,7 +2,7 @@ // { dg-do compile } // 2009-11-12 Paolo Carlini <paolo.carlini@oracle.com> // -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 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 @@ -19,13 +19,11 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// { dg-error "static assertion failed" "" { target *-*-* } 587 } -// { dg-error "instantiated from here" "" { target *-*-* } 30 } -// { dg-excess-errors "In function" } +// { dg-error "static assertion failed" "" { target *-*-* } 682 } #include <utility> void test01() { - std::declval<int>(); + std::declval<int>(); // { dg-error "instantiated from here" } } diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc index 297b5cb690d..98a35f10539 100644 --- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc +++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc @@ -33,4 +33,3 @@ void test01() // { dg-error "rep cannot be a duration" "" { target *-*-* } 203 } // { dg-error "instantiated from here" "" { target *-*-* } 31 } -// { dg-excess-errors "In instantiation of" } diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc index b4224401d47..86f349319f0 100644 --- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc +++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc @@ -35,4 +35,3 @@ void test01() // { dg-error "period must be positive" "" { target *-*-* } 206 } // { dg-error "instantiated from here" "" { target *-*-* } 33 } -// { dg-excess-errors "In instantiation of" } diff --git a/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc b/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc index a196ef64e2e..bb3c25d1cd9 100644 --- a/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc +++ b/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc @@ -18,15 +18,16 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. +// { dg-prune-output "include" } + #include <functional> void test01() { std::function<void()> f1; std::function<void()> f2; - f1 == f2; // { dg-error "here" } - f1 != f2; // { dg-error "here" } - // { dg-excess-errors "" } + f1 == f2; // { dg-error "deleted" } + f1 != f2; // { dg-error "deleted" } } int main() diff --git a/libstdc++-v3/testsuite/20_util/has_nothrow_copy_assign/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/has_nothrow_copy_assign/requirements/explicit_instantiation.cc new file mode 100644 index 00000000000..0a4a6224b8a --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/has_nothrow_copy_assign/requirements/explicit_instantiation.cc @@ -0,0 +1,30 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } +// 2010-06-08 Paolo Carlini <paolo.carlini@oracle.com> + +// Copyright (C) 2010 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 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/>. + +// NB: This file is for testing type_traits with NO OTHER INCLUDES. + +#include <type_traits> + +namespace std +{ + typedef short test_type; + template struct has_nothrow_copy_assign<test_type>; +} diff --git a/libstdc++-v3/testsuite/20_util/has_nothrow_copy_assign/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/has_nothrow_copy_assign/requirements/typedefs.cc new file mode 100644 index 00000000000..3781d1f9bec --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/has_nothrow_copy_assign/requirements/typedefs.cc @@ -0,0 +1,36 @@ +// { dg-options "-std=gnu++0x" } +// 2010-06-08 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 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/>. + +// +// NB: This file is for testing type_traits with NO OTHER INCLUDES. + +#include <type_traits> + +// { dg-do compile } + +void test01() +{ + // Check for required typedefs + typedef std::has_nothrow_copy_assign<int> test_type; + typedef test_type::value_type value_type; + typedef test_type::type type; + typedef test_type::type::value_type type_value_type; + typedef test_type::type::type type_type; +} diff --git a/libstdc++-v3/testsuite/20_util/has_nothrow_copy_assign/value.cc b/libstdc++-v3/testsuite/20_util/has_nothrow_copy_assign/value.cc new file mode 100644 index 00000000000..0201c9cb91d --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/has_nothrow_copy_assign/value.cc @@ -0,0 +1,57 @@ +// { dg-options "-std=gnu++0x" } +// 2010-06-08 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 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/>. + +#include <type_traits> +#include <testsuite_hooks.h> +#include <testsuite_tr1.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + using std::has_nothrow_copy_assign; + using namespace __gnu_test; + + VERIFY( (test_property<has_nothrow_copy_assign, int>(true)) ); + VERIFY( (test_property<has_nothrow_copy_assign, float>(true)) ); + VERIFY( (test_property<has_nothrow_copy_assign, EnumType>(true)) ); + VERIFY( (test_property<has_nothrow_copy_assign, int*>(true)) ); + VERIFY( (test_property<has_nothrow_copy_assign, int(*)(int)>(true)) ); + VERIFY( (test_property<has_nothrow_copy_assign, int (ClassType::*)>(true)) ); + VERIFY( (test_property<has_nothrow_copy_assign, + int (ClassType::*) (int)>(true)) ); + VERIFY( (test_property<has_nothrow_copy_assign, int[2]>(true)) ); + VERIFY( (test_property<has_nothrow_copy_assign, float[][3]>(true)) ); + VERIFY( (test_property<has_nothrow_copy_assign, EnumType[2][3][4]>(true)) ); + VERIFY( (test_property<has_nothrow_copy_assign, int*[3]>(true)) ); + VERIFY( (test_property<has_nothrow_copy_assign, int(*[][2])(int)>(true)) ); + VERIFY( (test_property<has_nothrow_copy_assign, + int (ClassType::*[2][3])>(true)) ); + VERIFY( (test_property<has_nothrow_copy_assign, + int (ClassType::*[][2][3]) (int)>(true)) ); + + // Negative tests. + VERIFY( (test_property<has_nothrow_copy_assign, void>(false)) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/explicit_instantiation.cc new file mode 100644 index 00000000000..6ec5c5a427e --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/explicit_instantiation.cc @@ -0,0 +1,30 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } +// 2010-06-08 Paolo Carlini <paolo.carlini@oracle.com> + +// Copyright (C) 2010 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 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/>. + +// NB: This file is for testing type_traits with NO OTHER INCLUDES. + +#include <type_traits> + +namespace std +{ + typedef short test_type; + template struct has_trivial_copy_assign<test_type>; +} diff --git a/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc new file mode 100644 index 00000000000..1c5f0fe7ab0 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc @@ -0,0 +1,36 @@ +// { dg-options "-std=gnu++0x" } +// 2010-06-08 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 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/>. + +// +// NB: This file is for testing type_traits with NO OTHER INCLUDES. + +#include <type_traits> + +// { dg-do compile } + +void test01() +{ + // Check for required typedefs + typedef std::has_trivial_copy_assign<int> test_type; + typedef test_type::value_type value_type; + typedef test_type::type type; + typedef test_type::type::value_type type_value_type; + typedef test_type::type::type type_type; +} diff --git a/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/value.cc b/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/value.cc new file mode 100644 index 00000000000..7663a688a68 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/value.cc @@ -0,0 +1,57 @@ +// { dg-options "-std=gnu++0x" } +// 2010-06-08 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 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/>. + +#include <type_traits> +#include <testsuite_hooks.h> +#include <testsuite_tr1.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + using std::has_trivial_copy_assign; + using namespace __gnu_test; + + VERIFY( (test_property<has_trivial_copy_assign, int>(true)) ); + VERIFY( (test_property<has_trivial_copy_assign, float>(true)) ); + VERIFY( (test_property<has_trivial_copy_assign, EnumType>(true)) ); + VERIFY( (test_property<has_trivial_copy_assign, int*>(true)) ); + VERIFY( (test_property<has_trivial_copy_assign, int(*)(int)>(true)) ); + VERIFY( (test_property<has_trivial_copy_assign, int (ClassType::*)>(true)) ); + VERIFY( (test_property<has_trivial_copy_assign, + int (ClassType::*) (int)>(true)) ); + VERIFY( (test_property<has_trivial_copy_assign, int[2]>(true)) ); + VERIFY( (test_property<has_trivial_copy_assign, float[][3]>(true)) ); + VERIFY( (test_property<has_trivial_copy_assign, EnumType[2][3][4]>(true)) ); + VERIFY( (test_property<has_trivial_copy_assign, int*[3]>(true)) ); + VERIFY( (test_property<has_trivial_copy_assign, int(*[][2])(int)>(true)) ); + VERIFY( (test_property<has_trivial_copy_assign, + int (ClassType::*[2][3])>(true)) ); + VERIFY( (test_property<has_trivial_copy_assign, + int (ClassType::*[][2][3]) (int)>(true)) ); + + // Negative tests. + VERIFY( (test_property<has_trivial_copy_assign, void>(false)) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc b/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc index 7d83fd9f994..e596b6ac6ee 100644 --- a/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc @@ -18,7 +18,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <type_traits> // { dg-excess-errors "In file included from" } +#include <type_traits> // { dg-error "upcoming ISO" "" { target *-*-* } 31 } diff --git a/libstdc++-v3/testsuite/20_util/identity/value.cc b/libstdc++-v3/testsuite/20_util/identity/value.cc deleted file mode 100644 index 80b444bf435..00000000000 --- a/libstdc++-v3/testsuite/20_util/identity/value.cc +++ /dev/null @@ -1,47 +0,0 @@ -// { dg-options "-std=gnu++0x" } -// 2007-07-10 Paolo Carlini <pcarlini@suse.de> -// -// Copyright (C) 2007, 2009 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 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/>. - -#include <utility> -#include <testsuite_hooks.h> -#include <testsuite_tr1.h> - -void test01() -{ - bool test __attribute__((unused)) = true; - using std::identity; - using std::is_same; - using namespace __gnu_test; - - VERIFY( (is_same<identity<int>::type, int>::value) ); - VERIFY( (is_same<identity<int&>::type, int&>::value) ); - VERIFY( (is_same<identity<int&&>::type, int&&>::value) ); - VERIFY( (is_same<identity<int*>::type, int*>::value) ); - VERIFY( (is_same<identity<ClassType&&>::type, ClassType&&>::value) ); - VERIFY( (is_same<identity<ClassType>::type, ClassType>::value) ); - VERIFY( (is_same<identity<int(int)>::type, int(int)>::value) ); - VERIFY( (is_same<identity<void>::type, void>::value) ); - VERIFY( (is_same<identity<const void>::type, const void>::value) ); -} - -int main() -{ - test01(); - return 0; -} diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/requirements/explicit_instantiation.cc new file mode 100644 index 00000000000..37ba9eb8bc1 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/requirements/explicit_instantiation.cc @@ -0,0 +1,31 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// 2010-06-09 Paolo Carlini <paolo.carlini@oracle.com> + +// Copyright (C) 2010 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 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/>. + +// NB: This file is for testing type_traits with NO OTHER INCLUDES. + +#include <type_traits> + +namespace std +{ + typedef short test_type; + template struct is_nothrow_constructible<test_type, test_type>; +} diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/requirements/typedefs.cc new file mode 100644 index 00000000000..53a64a78f3f --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/requirements/typedefs.cc @@ -0,0 +1,36 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// 2010-06-09 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 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/>. + +// +// NB: This file is for testing type_traits with NO OTHER INCLUDES. + +#include <type_traits> + +void test01() +{ + // Check for required typedefs + typedef std::is_nothrow_constructible<int, int> test_type; + typedef test_type::value_type value_type; + typedef test_type::type type; + typedef test_type::type::value_type type_value_type; + typedef test_type::type::type type_type; +} diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/value.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/value.cc new file mode 100644 index 00000000000..b3246fad119 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/value.cc @@ -0,0 +1,78 @@ +// { dg-options "-std=gnu++0x" } + +// 2010-06-09 Paolo Carlini <paolo.carlini@oracle.com> + +// Copyright (C) 2010 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 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/>. + +#include <type_traits> +#include <testsuite_hooks.h> +#include <testsuite_tr1.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + using std::is_nothrow_constructible; + using namespace __gnu_test; + + // Positive tests. + VERIFY( (test_property<is_nothrow_constructible, NoexceptExplicitClass, + double&>(true)) ); + VERIFY( (test_property<is_nothrow_constructible, NoexceptExplicitClass, + int&>(true)) ); + VERIFY( (test_property<is_nothrow_constructible, NoexceptExplicitClass, + double&, int&, double&>(true)) ); + VERIFY( (test_property<is_nothrow_constructible, NothrowExplicitClass, + double&>(true)) ); + VERIFY( (test_property<is_nothrow_constructible, NothrowExplicitClass, + int&>(true)) ); + VERIFY( (test_property<is_nothrow_constructible, NothrowExplicitClass, + double&, int&, double&>(true)) ); + + // Negative tests. + VERIFY( (test_property<is_nothrow_constructible, NoexceptExplicitClass, + void*>(false)) ); + VERIFY( (test_property<is_nothrow_constructible, NoexceptExplicitClass> + (false)) ); + VERIFY( (test_property<is_nothrow_constructible, NoexceptExplicitClass, + int, double>(false)) ); + VERIFY( (test_property<is_nothrow_constructible, NothrowExplicitClass, + void*>(false)) ); + VERIFY( (test_property<is_nothrow_constructible, NothrowExplicitClass> + (false)) ); + VERIFY( (test_property<is_nothrow_constructible, NothrowExplicitClass, + int, double>(false)) ); + + VERIFY( (test_property<is_nothrow_constructible, ExceptExplicitClass, + double&>(false)) ); + VERIFY( (test_property<is_nothrow_constructible, ExceptExplicitClass, + int&>(false)) ); + VERIFY( (test_property<is_nothrow_constructible, ExceptExplicitClass, + double&, int&, double&>(false)) ); + VERIFY( (test_property<is_nothrow_constructible, ThrowExplicitClass, + double&>(false)) ); + VERIFY( (test_property<is_nothrow_constructible, ThrowExplicitClass, + int&>(false)) ); + VERIFY( (test_property<is_nothrow_constructible, ThrowExplicitClass, + double&, int&, double&>(false)) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc index eec74c71593..8a09c65d84b 100644 --- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc +++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc @@ -3,7 +3,7 @@ // 2007-05-03 Benjamin Kosnik <bkoz@redhat.com> // -// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -48,8 +48,5 @@ void test01() // { dg-error "instantiated from here" "" { target *-*-* } 40 } // { dg-error "instantiated from here" "" { target *-*-* } 42 } -// { dg-error "invalid use of incomplete type" "" { target *-*-* } 588 } -// { dg-error "declaration of" "" { target *-*-* } 552 } - -// { dg-excess-errors "At global scope" } -// { dg-excess-errors "In instantiation of" } +// { dg-error "invalid use of incomplete type" "" { target *-*-* } 645 } +// { dg-error "declaration of" "" { target *-*-* } 609 } diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc index 708482ef8a3..ba684144fc7 100644 --- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc +++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc @@ -3,7 +3,7 @@ // 2007-05-03 Benjamin Kosnik <bkoz@redhat.com> // -// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -48,8 +48,5 @@ void test01() // { dg-error "instantiated from here" "" { target *-*-* } 40 } // { dg-error "instantiated from here" "" { target *-*-* } 42 } -// { dg-error "invalid use of incomplete type" "" { target *-*-* } 511 } -// { dg-error "declaration of" "" { target *-*-* } 475 } - -// { dg-excess-errors "At global scope" } -// { dg-excess-errors "In instantiation of" } +// { dg-error "invalid use of incomplete type" "" { target *-*-* } 568 } +// { dg-error "declaration of" "" { target *-*-* } 532 } diff --git a/libstdc++-v3/testsuite/20_util/pair/44487.cc b/libstdc++-v3/testsuite/20_util/pair/44487.cc new file mode 100644 index 00000000000..833d9864534 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/pair/44487.cc @@ -0,0 +1,51 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// Copyright (C) 2010 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 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/>. + +#include <utility> + +int x, y; + +std::pair<int&, int&> +foo1() +{ + std::pair<int&, int&> blah(x, y); + return blah; +} + +std::pair<int&, int&> +foo2() +{ + const std::pair<int&, int&> blah(x, y); + return blah; +} + +std::pair<int&, int&> +foo3() +{ + std::pair<int&, int&> blah(x, y); + return std::pair<int&, int&>(std::move(blah)); +} + +std::pair<int&, int&> +foo4() +{ + const std::pair<int&, int&> blah(x, y); + return std::pair<int&, int&>(std::move(blah)); +} diff --git a/libstdc++-v3/testsuite/20_util/pair/piecewise.cc b/libstdc++-v3/testsuite/20_util/pair/piecewise.cc new file mode 100644 index 00000000000..ef71473202d --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/pair/piecewise.cc @@ -0,0 +1,98 @@ +// { dg-options "-std=gnu++0x" } + +// 2010-04-30 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 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/>. + +// Tuple + +#include <utility> +#include <tuple> +#include <testsuite_hooks.h> + +struct type_zero +{ + type_zero() : n_(757) { } + + type_zero(const type_zero&) = delete; + type_zero(type_zero&& other) : n_(other.n_) { } + + int get() const { return n_; } + +private: + int n_; +}; + +struct type_one +{ + type_one(int n) : n_(n) { } + + type_one(const type_one&) = delete; + type_one(type_one&& other) : n_(other.n_) { } + + int get() const { return n_; } + +private: + int n_; +}; + +struct type_two +{ + type_two(int n1, int n2) : n1_(n1), n2_(n2) { } + + type_two(const type_two&) = delete; + type_two(type_two&& other) : n1_(other.n1_), n2_(other.n2_) { } + + int get1() const { return n1_; } + int get2() const { return n2_; } + +private: + int n1_, n2_; +}; + +void test01() +{ + bool test __attribute__((unused)) = true; + + std::pair<type_one, type_zero> pp0(std::piecewise_construct_t(), + std::forward_as_tuple(-3), + std::forward_as_tuple()); + VERIFY( pp0.first.get() == -3 ); + VERIFY( pp0.second.get() == 757 ); + + std::pair<type_one, type_two> pp1(std::piecewise_construct_t(), + std::forward_as_tuple(6), + std::forward_as_tuple(5, 4)); + VERIFY( pp1.first.get() == 6 ); + VERIFY( pp1.second.get1() == 5 ); + VERIFY( pp1.second.get2() == 4 ); + + std::pair<type_two, type_two> pp2(std::piecewise_construct_t(), + std::forward_as_tuple(2, 1), + std::forward_as_tuple(-1, -3)); + VERIFY( pp2.first.get1() == 2 ); + VERIFY( pp2.first.get2() == 1 ); + VERIFY( pp2.second.get1() == -1 ); + VERIFY( pp2.second.get2() == -3 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp1.cc b/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp1.cc index f4354fe96bf..eb1bd212f5a 100644 --- a/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp1.cc +++ b/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp1.cc @@ -1,7 +1,7 @@ // { dg-options "-std=gnu++0x" } // { dg-require-cstdint "" } -// Copyright (C) 2008, 2009 Free Software Foundation +// Copyright (C) 2008, 2009, 2010 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 @@ -45,7 +45,12 @@ test02() VERIFY( (std::ratio_less<std::ratio<1,3>, std::ratio<1,4>>::value == 0) ); VERIFY( (std::ratio_less<std::ratio<1,3>, std::ratio<-1,3>>::value == 0) ); - + + VERIFY( (std::ratio_less<std::ratio<-1,3>, std::ratio<-1,4>>::value == 1) ); + VERIFY( (std::ratio_less<std::ratio<0,4>, std::ratio<0,3>>::value == 0) ); + VERIFY( (std::ratio_less<std::ratio<1,3>, std::ratio<0,3>>::value == 0) ); + VERIFY( (std::ratio_less<std::ratio<0,3>, std::ratio<-1,4>>::value == 0) ); + VERIFY( (std::ratio_less_equal<std::ratio<-1,3>, std::ratio<-1,3>>::value == 1) ); VERIFY( ( std::ratio_less_equal<std::ratio<1,4>, diff --git a/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp2.cc b/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp2.cc index e741c143510..151dc64450e 100644 --- a/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp2.cc +++ b/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp2.cc @@ -1,7 +1,7 @@ // { dg-options "-std=gnu++0x" } // { dg-require-cstdint "" } -// Copyright (C) 2008, 2009 Free Software Foundation +// Copyright (C) 2008, 2009, 2010 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 @@ -41,6 +41,13 @@ test01() VERIFY( (std::ratio_less<std::ratio<M - 1, M - 2>, std::ratio<-M, M - 1>>::value == 0) ); + + // No overflow + VERIFY( (std::ratio_less<std::ratio<M, M - 1>, + std::ratio<M, M - 2>>::value == 1) ); + + VERIFY( (std::ratio_less<std::ratio<-M, M - 1>, + std::ratio<-M, M - 2>>::value == 0) ); } int main() diff --git a/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc b/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc index 03c2c1f582d..252265c8d41 100644 --- a/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc +++ b/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc @@ -2,7 +2,7 @@ // { dg-options "-std=gnu++0x" } // { dg-require-cstdint "" } -// Copyright (C) 2008, 2009 Free Software Foundation +// Copyright (C) 2008, 2009, 2010 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 @@ -24,26 +24,26 @@ void test01() { - std::ratio<INTMAX_MAX, INTMAX_MAX> r1; - std::ratio<-INTMAX_MAX, INTMAX_MAX> r2; + std::ratio<INTMAX_MAX, INTMAX_MAX> r1 __attribute__((unused)); + std::ratio<-INTMAX_MAX, INTMAX_MAX> r2 __attribute__((unused)); } void test02() { - std::ratio<INTMAX_MIN, 1> r1; + std::ratio<INTMAX_MIN, 1> r1 __attribute__((unused)); } void test03() { - std::ratio<1, INTMAX_MIN> r1; + std::ratio<1, INTMAX_MIN> r1 __attribute__((unused)); } void test04() { - std::ratio<1,0> r1; + std::ratio<1,0> r1 __attribute__((unused)); } // { dg-error "instantiated from here" "" { target *-*-* } 34 } @@ -51,4 +51,3 @@ test04() // { dg-error "instantiated from here" "" { target *-*-* } 46 } // { dg-error "denominator cannot be zero" "" { target *-*-* } 153 } // { dg-error "out of range" "" { target *-*-* } 154 } -// { dg-excess-errors "In instantiation of" } diff --git a/libstdc++-v3/testsuite/20_util/reference_wrapper/41792.cc b/libstdc++-v3/testsuite/20_util/reference_wrapper/41792.cc new file mode 100644 index 00000000000..b167d71224b --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/reference_wrapper/41792.cc @@ -0,0 +1,34 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com> + +// Copyright (C) 2010 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 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/>. + +#include <functional> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +// libstdc++/41792 +void test01() +{ + using namespace __gnu_test; + + OverloadedAddress* ao1 = new OverloadedAddress(); + std::reference_wrapper<OverloadedAddress> rw1(*ao1); +} diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc index 4d9d1a66657..e0d09dee900 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc @@ -20,7 +20,7 @@ // 20.6.6.2 Template class shared_ptr [util.smartptr.shared] -#include <memory> // { dg-excess-errors "In file included from" } +#include <memory> #include <testsuite_hooks.h> struct A { }; diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/42925.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/42925.cc new file mode 100644 index 00000000000..41e09d666ae --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/42925.cc @@ -0,0 +1,37 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// Copyright (C) 2010 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/>. + +// 20.9.11.2 Class template shared_ptr [util.smartptr.shared] + +#include <memory> + +// libstdc++/42925 (also see GB 99) +void test01() +{ + std::shared_ptr<int> ptr; + if (ptr == 0) + { } + if (0 == ptr) + { } + if (ptr != 0) + { } + if (0 != ptr) + { } +} diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820.cc new file mode 100644 index 00000000000..adc005d0c50 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820.cc @@ -0,0 +1,40 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// Copyright (C) 2010 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/>. + +// 20.9.11.2 Template class shared_ptr [util.smartptr.shared] + +#include <memory> + +// incomplete type +struct X; + +// get an auto_ptr rvalue +std::auto_ptr<X>&& ap(); + +void test01() +{ + X* px = 0; + std::shared_ptr<X> p1(px); // { dg-error "here" } + // { dg-error "incomplete" "" { target *-*-* } 566 } + + std::shared_ptr<X> p9(ap()); // { dg-error "here" } + // { dg-error "incomplete" "" { target *-*-* } 658 } + +} diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc index e2ef60e3fbb..b078a7df798 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc @@ -21,28 +21,16 @@ // 20.6.6.2 Template class shared_ptr [util.smartptr.shared] #include <memory> -#include <testsuite_hooks.h> struct A { }; // 20.6.6.2.3 shared_ptr assignment [util.smartptr.shared.const] // Construction from const auto_ptr -int +void test01() { - bool test __attribute__((unused)) = true; - const std::auto_ptr<A> a; std::shared_ptr<A> p(std::move(a)); // { dg-error "no match" } - - return 0; -} - -int -main() -{ - test01(); - return 0; } // { dg-excess-errors "candidates are" } diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/nullptr.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/nullptr.cc new file mode 100644 index 00000000000..82acaed3615 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/nullptr.cc @@ -0,0 +1,93 @@ +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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/>. + +// 20.9.11.2 Class template shared_ptr [util.smartptr.shared] + +#include <memory> +#include <cstddef> +#include <testsuite_hooks.h> +#include <testsuite_allocator.h> + +// 20.9.11.2.1 shared_ptr constructors [util.smartptr.shared.const] + +// Construction from nullptr + +struct deleter +{ + int count; + deleter() : count(0) { } + void operator()(std::nullptr_t) { ++count; } + void operator()(int*) const { throw "wrong type passed to deleter"; } +}; + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::shared_ptr<int> p = nullptr; + VERIFY( p.get() == nullptr ); + VERIFY( p.use_count() == 0 ); + +} + +void +test02() +{ + bool test __attribute__((unused)) = true; + + deleter d; + std::shared_ptr<int> p(nullptr, std::ref(d)); + VERIFY( p.get() == nullptr ); + VERIFY( p.use_count() == 1 ); + + p = nullptr; + VERIFY( p.use_count() == 0 ); + VERIFY( d.count == 1 ); +} + + +void +test03() +{ + bool test __attribute__((unused)) = true; + + deleter d; + __gnu_test::tracker_allocator<int> a; + std::shared_ptr<int> p(nullptr, std::ref(d), a); + VERIFY( p.get() == nullptr ); + VERIFY( p.use_count() == 1 ); + + p = nullptr; + VERIFY( p.use_count() == 0 ); + VERIFY( d.count == 1 ); + + typedef __gnu_test::tracker_allocator_counter c; + VERIFY( c::get_destruct_count() == c::get_construct_count() ); + VERIFY( c::get_deallocation_count() == c::get_allocation_count() ); +} + +int +main() +{ + test01(); + test02(); + test03(); + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc index 4bb528011a6..701f1243922 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc @@ -1,6 +1,6 @@ // { dg-options "-std=gnu++0x" } -// Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation +// Copyright (C) 2005, 2006, 2007, 2009, 2010 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 @@ -75,6 +75,6 @@ main() { test01(); test02(); - test02(); + test03(); return 0; } diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/hash/1.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/hash/1.cc new file mode 100644 index 00000000000..93f4739d782 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/hash/1.cc @@ -0,0 +1,48 @@ +// { dg-options "-std=gnu++0x" } + +// 2010-06-11 Paolo Carlini <paolo.carlini@oracle.com> + +// Copyright (C) 2010 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 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/>. + +#include <memory> +#include <testsuite_hooks.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + + struct T { }; + + std::shared_ptr<T> s0(new T); + std::hash<std::shared_ptr<T>> hs0; + std::hash<T*> hp0; + + VERIFY( hs0(s0) == hp0(s0.get()) ); + + std::__shared_ptr<T> s1(new T); + std::hash<std::__shared_ptr<T>> hs1; + std::hash<T*> hp1; + + VERIFY( hs1(s1) == hp1(s1.get()) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/44487.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/44487.cc new file mode 100644 index 00000000000..dade58de8bc --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/tuple/cons/44487.cc @@ -0,0 +1,51 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// Copyright (C) 2010 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 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/>. + +#include <tuple> + +int x, y; + +std::tuple<int&, int&> +foo1() +{ + std::pair<int&, int&> blah(x, y); + return blah; +} + +std::tuple<int&, int&> +foo2() +{ + const std::pair<int&, int&> blah(x, y); + return blah; +} + +std::tuple<int&, int&> +foo3() +{ + std::pair<int&, int&> blah(x, y); + return std::tuple<int&, int&>(std::move(blah)); +} + +std::tuple<int&, int&> +foo4() +{ + const std::pair<int&, int&> blah(x, y); + return std::tuple<int&, int&>(std::move(blah)); +} diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/45228.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/45228.cc new file mode 100644 index 00000000000..863d7884779 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/tuple/cons/45228.cc @@ -0,0 +1,43 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// Copyright (C) 2010 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 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/>. + +#include <tuple> + +typedef std::tuple<int> Tuple_1; +typedef std::tuple<int, int> Tuple_2; +typedef std::tuple<int, int, int> Tuple_3; + + Tuple_1 A_1() { return Tuple_1(); } +const Tuple_1 B_1() { return Tuple_1(); } + + Tuple_2 A_2() { return Tuple_2(); } +const Tuple_2 B_2() { return Tuple_2(); } + + Tuple_3 A_3() { return Tuple_3(); } +const Tuple_3 B_3() { return Tuple_3(); } + +Tuple_1 test_A_1(A_1()); +Tuple_1 test_B_1(B_1()); + +Tuple_2 test_A_2(A_2()); +Tuple_2 test_B_2(B_2()); + +Tuple_3 test_A_3(A_3()); +Tuple_3 test_B_3(B_3()); diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/big_tuples.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/big_tuples.cc index f979623e932..7bcb5177169 100644 --- a/libstdc++-v3/testsuite/20_util/tuple/cons/big_tuples.cc +++ b/libstdc++-v3/testsuite/20_util/tuple/cons/big_tuples.cc @@ -1,6 +1,6 @@ // { dg-options "-std=gnu++0x" } -// Copyright (C) 2007, 2009 Free Software Foundation, Inc. +// Copyright (C) 2007, 2009, 2010 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 @@ -20,6 +20,7 @@ // Tuple #include <tuple> +#include <utility> // for pair #include <testsuite_hooks.h> using namespace std; diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/constructor.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/constructor.cc index 3afb059ce76..9871f4959a6 100644 --- a/libstdc++-v3/testsuite/20_util/tuple/cons/constructor.cc +++ b/libstdc++-v3/testsuite/20_util/tuple/cons/constructor.cc @@ -1,6 +1,6 @@ // { dg-options "-std=gnu++0x" } -// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008, 2009, 2010 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 @@ -20,6 +20,7 @@ // Tuple #include <tuple> +#include <utility> // for pair #include <testsuite_hooks.h> using namespace std; diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/converting.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/converting.cc new file mode 100644 index 00000000000..def1b521dfd --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/tuple/cons/converting.cc @@ -0,0 +1,37 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// Copyright (C) 2010 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 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/>. + +#include <tuple> + +// http://gcc.gnu.org/ml/libstdc++/2008-02/msg00047.html +std::tuple<int> ts1; +std::tuple<unsigned> tu1(ts1); + +std::tuple<int, int> ts2; +std::tuple<unsigned, unsigned> tu2(ts2); + +std::tuple<int, int, int> ts3; +std::tuple<unsigned, unsigned, unsigned> tu3(ts3); + +std::tuple<int, unsigned> tm2; +std::tuple<unsigned, int> tm2_(tm2); + +std::tuple<int, unsigned, int> tm3; +std::tuple<unsigned, int, unsigned> tm3_(tm3); diff --git a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc new file mode 100644 index 00000000000..bad4ad49c75 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc @@ -0,0 +1,72 @@ +// { dg-options "-std=gnu++0x" } + +// 2010-04-30 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 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/>. + +// Tuple + +#include <tuple> +#include <type_traits> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::forward_as_tuple(); + + VERIFY( std::get<0>(std::forward_as_tuple(-1)) == -1 ); + VERIFY( (std::is_same<decltype(std::forward_as_tuple(-1)), + std::tuple<int&&>>::value) ); + + const int i1 = 1; + const int i2 = 2; + const double d1 = 4.0; + auto t1 = std::forward_as_tuple(i1, i2, d1); + VERIFY( (std::is_same<decltype(t1), std::tuple<const int&, + const int&, const double&>>::value) ); + VERIFY( std::get<0>(t1) == i1 ); + VERIFY( std::get<1>(t1) == i2 ); + VERIFY( std::get<2>(t1) == d1 ); + + typedef const int a_type1[3]; + a_type1 a1 = { -1, 1, 2 }; + auto t2 = std::forward_as_tuple(a1); + VERIFY( (std::is_same<decltype(t2), std::tuple<a_type1&>>::value) ); + VERIFY( std::get<0>(t2)[0] == a1[0] ); + VERIFY( std::get<0>(t2)[1] == a1[1] ); + VERIFY( std::get<0>(t2)[2] == a1[2] ); + + typedef int a_type2[2]; + a_type2 a2 = { 2, -2 }; + volatile int i4 = 1; + auto t3 = std::forward_as_tuple(a2, i4); + VERIFY( (std::is_same<decltype(t3), std::tuple<a_type2&, + volatile int&>>::value) ); + VERIFY( std::get<0>(t3)[0] == a2[0] ); + VERIFY( std::get<0>(t3)[1] == a2[1] ); + VERIFY( std::get<1>(t3) == i4 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/assign_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/assign_neg.cc index 4bf8e4b4349..95c1d5dc5ba 100644 --- a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/assign_neg.cc +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/assign_neg.cc @@ -39,23 +39,14 @@ void test02() { std::unique_ptr<int[]> p1(new int(420)); - std::unique_ptr<int[]> p2 = p1; + std::unique_ptr<int[]> p2 = p1; // { dg-error "deleted" } } void test03() { - std::unique_ptr<int[2]> p1(new int[3]); - std::unique_ptr<int[2]> p2 = p1; + std::unique_ptr<int[2]> p1(new int[3]); // { dg-error "no match" } + std::unique_ptr<int[2]> p2 = p1; // { dg-error "deleted" } } -// { dg-error "deleted function" "" { target *-*-* } 342 } -// { dg-error "used here" "" { target *-*-* } 42 } -// { dg-error "no matching" "" { target *-*-* } 48 } -// { dg-warning "candidates are" "" { target *-*-* } 115 } -// { dg-warning "note" "" { target *-*-* } 108 } -// { dg-warning "note" "" { target *-*-* } 103 } -// { dg-warning "note" "" { target *-*-* } 98 } -// { dg-warning "note" "" { target *-*-* } 92 } -// { dg-error "deleted function" "" { target *-*-* } 207 } -// { dg-error "used here" "" { target *-*-* } 49 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/nullptr.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/nullptr.cc new file mode 100644 index 00000000000..6f067ee4d6b --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/nullptr.cc @@ -0,0 +1,54 @@ +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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/>. + +// 20.9.10 Class template unique_ptr [unique.ptr] + +#include <memory> +#include <testsuite_hooks.h> + +struct A { }; + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::unique_ptr<A> p(new A); + p = nullptr; + + VERIFY( p.get() == nullptr ); +} + +void +test02() +{ + bool test __attribute__((unused)) = true; + + std::unique_ptr<A[]> p(new A[2]); + p = nullptr; + + VERIFY( p.get() == nullptr ); +} + +int main() +{ + test01(); + test02(); + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/comparison/42925.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/comparison/42925.cc new file mode 100644 index 00000000000..e3dfad46f88 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/comparison/42925.cc @@ -0,0 +1,37 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// Copyright (C) 2010 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/>. + +// 20.9.10 Class template unique_ptr [unique.ptr] + +#include <memory> + +// libstdc++/42925 (also see GB 99) +void test01() +{ + std::unique_ptr<int> ptr; + if (ptr == 0) + { } + if (0 == ptr) + { } + if (ptr != 0) + { } + if (0 != ptr) + { } +} diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr.cc new file mode 100644 index 00000000000..f4b9838d040 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr.cc @@ -0,0 +1,46 @@ +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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/>. + +// 20.9.10 Class template unique_ptr [unique.ptr] + +#include <memory> +#include <testsuite_hooks.h> + +struct A { }; + +// 20.9.10.2.1 unique_ptr constructors [unique.ptr.single.ctor] + +// Construction from auto_ptr +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::auto_ptr<A> a(new A); + std::unique_ptr<A> a2(std::move(a)); + VERIFY( a.get() == nullptr ); + VERIFY( a2.get() != 0 ); +} + +int +main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc new file mode 100644 index 00000000000..76910c3c64a --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc @@ -0,0 +1,36 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// Copyright (C) 2010 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/>. + +// 20.9.10 Class template unique_ptr [unique.ptr] + +#include <memory> + +struct A { }; + +// 20.9.10.2.1 unique_ptr constructors [unique.ptr.single.ctor] + +// Construction from const auto_ptr +void +test01() +{ + const std::auto_ptr<A> a(new A); + std::unique_ptr<A> a2(std::move(a)); // { dg-error "no match" } +} +// { dg-excess-errors "candidates are" } diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/nullptr.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/nullptr.cc new file mode 100644 index 00000000000..1f515ea53cc --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/nullptr.cc @@ -0,0 +1,52 @@ +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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/>. + +// 20.9.10 Class template unique_ptr [unique.ptr] + +#include <memory> +#include <testsuite_hooks.h> + +struct A { }; + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::unique_ptr<A> p = nullptr; + + VERIFY( p.get() == nullptr ); +} + +void +test02() +{ + bool test __attribute__((unused)) = true; + + std::unique_ptr<A[]> p = nullptr; + + VERIFY( p.get() == nullptr ); +} + +int main() +{ + test01(); + test02(); + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array_convertible.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array_convertible.cc index 7e0f30741f9..2a4a89b4037 100644 --- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array_convertible.cc +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array_convertible.cc @@ -37,4 +37,5 @@ test01() { std::unique_ptr<B[]> B_from_A(new A[3]); //{ dg-error "invalid conversion from" } } -//{ dg-excess-errors "initialization" } + +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/hash/1.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/hash/1.cc new file mode 100644 index 00000000000..53ece26ecff --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/hash/1.cc @@ -0,0 +1,48 @@ +// { dg-options "-std=gnu++0x" } + +// 2010-06-11 Paolo Carlini <paolo.carlini@oracle.com> + +// Copyright (C) 2010 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 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/>. + +#include <memory> +#include <testsuite_hooks.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + + struct T { }; + + std::unique_ptr<T> u0(new T); + std::hash<std::unique_ptr<T>> hu0; + std::hash<typename std::unique_ptr<T>::pointer> hp0; + + VERIFY( hu0(u0) == hp0(u0.get()) ); + + std::unique_ptr<T[]> u1(new T[10]); + std::hash<std::unique_ptr<T[]>> hu1; + std::hash<typename std::unique_ptr<T[]>::pointer> hp1; + + VERIFY( hu1(u1) == hp1(u1.get()) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/reset_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/reset_neg.cc index 3308fcbf81b..29bb57d22b2 100644 --- a/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/reset_neg.cc +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/reset_neg.cc @@ -32,8 +32,7 @@ struct B : A void test01() { std::unique_ptr<B[]> up; - up.reset(new A[3]); + up.reset(new A[3]); // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 35 } -// { dg-error "deleted function" "" { target *-*-* } 332 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/requirements/pointer_type.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/requirements/pointer_type.cc new file mode 100644 index 00000000000..5074844f42f --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/requirements/pointer_type.cc @@ -0,0 +1,50 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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/>. + +// 20.6.11 Template class unique_ptr [unique.ptr.single] + +#include <memory> +#include <testsuite_hooks.h> + +struct A +{ + void operator()(void* p) const { } +}; + +struct B +{ + typedef char* pointer; + void operator()(pointer p) const { } +}; + +int main() +{ + typedef std::unique_ptr<int> up; + typedef std::unique_ptr<int, A> upA; + typedef std::unique_ptr<int, B> upB; + typedef std::unique_ptr<int, A&> upAr; + typedef std::unique_ptr<int, B&> upBr; + + static_assert( std::is_same< up::pointer, int*>::value, "" ); + static_assert( std::is_same< upA::pointer, int*>::value, "" ); + static_assert( std::is_same< upB::pointer, char*>::value, "" ); + static_assert( std::is_same< upAr::pointer, int*>::value, "" ); + static_assert( std::is_same< upBr::pointer, char*>::value, "" ); +} diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc index 93aceb305eb..f124718016e 100644 --- a/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc +++ b/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc @@ -40,3 +40,12 @@ main() test01(); return 0; } + +// { dg-warning "note" "" { target *-*-* } 347 } +// { dg-warning "note" "" { target *-*-* } 466 } +// { dg-warning "note" "" { target *-*-* } 883 } +// { dg-warning "note" "" { target *-*-* } 580 } +// { dg-warning "note" "" { target *-*-* } 1027 } +// { dg-warning "note" "" { target *-*-* } 340 } +// { dg-warning "note" "" { target *-*-* } 290 } +// { dg-warning "note" "" { target *-*-* } 197 } diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/5.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/5.cc index 73839d26c22..5652478f42b 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/5.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/5.cc @@ -1,6 +1,6 @@ // 1999-06-04 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -33,7 +33,7 @@ void test05() std::string empty2(empty.begin(), empty.end()); // libstdc++/8716 (same underlying situation, same fix) - char const * s = NULL; + char const * s = 0; std::string zero_length_built_with_NULL(s,0); } diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/5.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/5.cc index 4fe58b6aced..e72377de66a 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/5.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/5.cc @@ -1,6 +1,6 @@ // 1999-06-04 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -33,7 +33,7 @@ void test05() std::wstring empty2(empty.begin(), empty.end()); // libstdc++/8716 (same underlying situation, same fix) - wchar_t const * s = NULL; + wchar_t const * s = 0; std::wstring zero_length_built_with_NULL(s,0); } diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/21674.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/21674.cc index 03d54339fdd..c8a8b93472a 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/21674.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/21674.cc @@ -1,6 +1,6 @@ // { dg-do run { xfail *-*-* } } +// { dg-options "-O0" } // { dg-require-debug-mode "" } -// { dg-options "-O0 -D_GLIBCXX_DEBUG" } // Copyright (C) 2005, 2009, 2010 Free Software Foundation, Inc. // @@ -19,7 +19,6 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. - #include <string> // libstdc++/21674 diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/front_back.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/front_back.cc new file mode 100644 index 00000000000..a7c1386ae9d --- /dev/null +++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/front_back.cc @@ -0,0 +1,43 @@ +// { dg-options "-std=gnu++0x" } +// { dg-require-string-conversions "" } + +// 2010-05-31 Paolo Carlini <paolo.carlini@oracle.com> + +// Copyright (C) 2010 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/>. + +#include <string> +#include <testsuite_hooks.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + + std::string str("ramifications"); + const std::string cstr("melodien"); + + VERIFY( str.front() == 'r' ); + VERIFY( str.back() == 's' ); + VERIFY( cstr.front() == 'm' ); + VERIFY( cstr.back() == 'n' ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc index fe4a2495118..95046463dae 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc @@ -1,6 +1,6 @@ // { dg-do run { xfail *-*-* } } +// { dg-options "-O0" } // { dg-require-debug-mode "" } -// { dg-options "-O0 -D_GLIBCXX_DEBUG" } // Copyright (C) 2005, 2009, 2010 Free Software Foundation, Inc. // @@ -19,7 +19,6 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. - #include <string> // libstdc++/21674 diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/front_back.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/front_back.cc new file mode 100644 index 00000000000..60b09606fe1 --- /dev/null +++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/front_back.cc @@ -0,0 +1,43 @@ +// { dg-options "-std=gnu++0x" } +// { dg-require-string-conversions "" } + +// 2010-05-31 Paolo Carlini <paolo.carlini@oracle.com> + +// Copyright (C) 2010 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/>. + +#include <string> +#include <testsuite_hooks.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + + std::wstring str(L"ramifications"); + const std::wstring cstr(L"melodien"); + + VERIFY( str.front() == L'r' ); + VERIFY( str.back() == L's' ); + VERIFY( cstr.front() == L'm' ); + VERIFY( cstr.back() == L'n' ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/char/1.cc index c39f6b416f7..de0fe168e98 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/char/1.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/char/1.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004, 2009 Free Software Foundation, Inc. +// Copyright (C) 2004, 2009, 2010 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 @@ -29,7 +29,7 @@ int test01(void) // data() for size == 0 is non-NULL. VERIFY( empty.size() == 0 ); const std::string::value_type* p = empty.data(); - VERIFY( p != NULL ); + VERIFY( p ); return 0; } diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/wchar_t/1.cc index 1ddde927227..a57464aa5b5 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/wchar_t/1.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004, 2009 Free Software Foundation, Inc. +// Copyright (C) 2004, 2009, 2010 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 @@ -29,7 +29,7 @@ int test01(void) // data() for size == 0 is non-NULL. VERIFY( empty.size() == 0 ); const std::wstring::value_type* p = empty.data(); - VERIFY( p != NULL ); + VERIFY( p ); return 0; } diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/pthread4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/pthread4.cc index fb48898d696..b3dc9b20e7c 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/pthread4.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/pthread4.cc @@ -2,7 +2,7 @@ // Adapted from http://gcc.gnu.org/ml/gcc-bugs/2002-01/msg00679.html // which was adapted from pthread1.cc by Mike Lu <MLu@dynamicsoft.com> // -// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -95,12 +95,12 @@ main (void) #endif pthread_t prod; - pthread_create (&prod, NULL, produce, NULL); + pthread_create (&prod, 0, produce, 0); pthread_t cons; - pthread_create (&cons, NULL, consume, NULL); + pthread_create (&cons, 0, consume, 0); - pthread_join (prod, NULL); - pthread_join (cons, NULL); + pthread_join (prod, 0); + pthread_join (cons, 0); return 0; } diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/range_access.cc b/libstdc++-v3/testsuite/21_strings/basic_string/range_access.cc new file mode 100644 index 00000000000..1ce386cbe96 --- /dev/null +++ b/libstdc++-v3/testsuite/21_strings/basic_string/range_access.cc @@ -0,0 +1,37 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 24.6.5, range access [iterator.range] + +#include <string> + +void +test01() +{ + std::string s("Hello, World!"); + std::begin(s); + std::end(s); + +#ifdef _GLIBCXX_USE_WCHAR_T + std::wstring ws(L"Hello, World!"); + std::begin(ws); + std::end(ws); +#endif +} diff --git a/libstdc++-v3/testsuite/21_strings/c_strings/char/1.cc b/libstdc++-v3/testsuite/21_strings/c_strings/char/1.cc index 67bcac39645..9142018d0de 100644 --- a/libstdc++-v3/testsuite/21_strings/c_strings/char/1.cc +++ b/libstdc++-v3/testsuite/21_strings/c_strings/char/1.cc @@ -1,6 +1,6 @@ // 2001-04-02 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -60,6 +60,9 @@ void test01() // void* memchr( void* s, int c, size_t n); cv = std::memchr(cv, 'a', 3); v = std::memchr(v, 'a', 3); + + cc1 = cc1; // Suppress unused warnings. + c1 = c1; } int main() diff --git a/libstdc++-v3/testsuite/21_strings/c_strings/char/2.cc b/libstdc++-v3/testsuite/21_strings/c_strings/char/2.cc index 464713bed32..5d751900473 100644 --- a/libstdc++-v3/testsuite/21_strings/c_strings/char/2.cc +++ b/libstdc++-v3/testsuite/21_strings/c_strings/char/2.cc @@ -1,6 +1,6 @@ // 2001-04-02 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -40,6 +40,10 @@ void test02() cc = strrchr(ccarray1, 'c'); cc = strpbrk(ccarray1, ccarray2); c = strstr(carray, carray); + + cv1 = cv1; // Suppress unused warnings. + cc = cc; + c = c; } int main() diff --git a/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/1.cc index 2e7a6c35d7c..4702581d90f 100644 --- a/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/1.cc @@ -1,6 +1,6 @@ // 2001-04-02 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -59,6 +59,9 @@ void test01() // wchar_t* wmemchr( wchar_t* s, wchar_t c, size_t n); cc1 = std::wmemchr(ccarray1, L'a', 3); c1 = std::wmemchr(carray, L'a', 3); + + cc1 = cc1; // Suppress unused warnings. + c1 = c1; } int main() diff --git a/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/2.cc index aea01b0f16b..7637ecddf26 100644 --- a/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/2.cc @@ -1,6 +1,6 @@ // 2001-04-02 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -39,6 +39,9 @@ void test02() cw = wcspbrk(ccarray1, ccarray2); cw = wcsrchr(ccarray1, L'c'); w = wcsstr(carray, carray); + + cw = cw; // Suppress unused warnings. + w = w; } int main() diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc index 4ec8c873825..2c8d77ff19d 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.ISO-8859-1" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc index 5123514090f..dcb961ddd0e 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.ISO-8859-15" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc index 2fa2c6885cd..c99b3ee26ec 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/2.cc index 80375ad410e..c5c0344b39e 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.ISO-8859-1" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/3.cc index 98bfcea41f1..6b003d0bc20 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.ISO-8859-15" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/4.cc index f40ec7091f8..d79ccfe1ce4 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/4.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/4.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/2.cc index 360ef14b1da..64a2c21c297 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.ISO-8859-1" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/3.cc index 95d2151388d..ead5c4e747e 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.ISO-8859-15" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/4.cc index 70690ab7f4e..46f6fed9618 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/4.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/4.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/7.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/7.cc index b3eaf91e925..9a172d9a726 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/7.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/7.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/8.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/8.cc index d9cb8c2466e..2fc9b2800b4 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/8.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/8.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/9.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/9.cc index 94f4f16ec84..3e81ccf0a34 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/9.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/9.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc index 1a097406927..3002a9e6659 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.ISO-8859-1" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc index 64e54139f12..9f2b925cdba 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.ISO-8859-15" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/4.cc index bed2deec85c..8c201076f70 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/4.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/4.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/7.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/7.cc index 5cd6ee21bb5..10aca4b0413 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/7.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/7.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/2.cc index 09af13ac133..872a3855335 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.ISO-8859-1" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/3.cc index 2d520880ab4..85514e7e7e5 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.ISO-8859-15" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/4.cc index d871f7e9698..69feb151aad 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/4.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/4.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/2.cc index a0f1a1e9d87..05aa145db65 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.ISO-8859-1" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/3.cc index d6159fd4aec..e12e0f624f5 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.ISO-8859-15" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/4.cc index 395b6c9a4ae..75ff3aabce8 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/4.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/4.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/7.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/7.cc index cdfea2cc87d..2c8a529754f 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/7.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/7.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.ISO-8859-1" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc index ba417af0e6d..363b72e27ff 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc @@ -35,7 +35,7 @@ void test01() bool test __attribute__((unused)) = true; const char* c_lit = "black pearl jasmine tea"; const char* from_next; - int size = 23; + int size = std::strlen(c_lit); char* c_arr = new char[size]; char* c_ref = new char[size]; char* to_next; @@ -68,10 +68,10 @@ void test01() VERIFY( to_next == c_arr ); // unshift - strcpy(c_arr, c_lit); + memcpy(c_arr, c_lit, size); result r3 = cvt->unshift(state, c_arr, c_arr + size, to_next); VERIFY( r3 == codecvt_base::noconv ); - VERIFY( !strcmp(c_arr, c_lit) ); + VERIFY( !memcmp(c_arr, c_lit, size) ); VERIFY( to_next == c_arr ); delete [] c_arr; diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/2.cc index 860dbc886c2..15aaf1d994f 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.ISO-8859-1" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/3.cc index 9ae14cb8353..915b8240e6b 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.ISO-8859-15" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/4.cc index 9cbd2245b34..72c252f8abf 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/4.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/4.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } // 2003-02-06 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/char/1.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/char/1.cc index 43de2250b81..ce8ffb3a1d4 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/compare/char/1.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/compare/char/1.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/char/2.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/char/2.cc index bf8592c0d9e..4537e486bf2 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/compare/char/2.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/compare/char/2.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/char/3.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/char/3.cc index 7bb49d88130..a513f868561 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/compare/char/3.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/compare/char/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2003-02-24 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_env.cc index 779ee61a8d6..6aa8d2e0978 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_env.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_locale.cc index e59d7eb7120..fc630a86dd9 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_locale.cc @@ -1,4 +1,7 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/1.cc index f26a6769d25..9451f2c59a5 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/1.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/2.cc index 210ed470638..9fa3d12e012 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/2.cc @@ -2,7 +2,9 @@ // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */ // { dg-options "-finput-charset=ISO8859-1" } // { dg-require-iconv "ISO8859-1" } -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/3.cc index 13e80b66b43..27ae7d7febb 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2003-02-24 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc index 0e84a2d2771..d357db0edaf 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc @@ -2,7 +2,9 @@ // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */ // { dg-options "-finput-charset=ISO8859-1" } // { dg-require-iconv "ISO8859-1" } -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc index 6c3248577cf..263c6b43684 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc @@ -2,7 +2,10 @@ // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */ // { dg-options "-finput-charset=ISO8859-1" } // { dg-require-iconv "ISO8859-1" } -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/hash/char/2.cc b/libstdc++-v3/testsuite/22_locale/collate/hash/char/2.cc index d8f1622343e..e0bc0f4715c 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/hash/char/2.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/hash/char/2.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_env.cc index 779ee61a8d6..b9961e49346 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_locale.cc index e59d7eb7120..3ae613f84dc 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/2.cc index 493256cf7e6..1cf478dc342 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/2.cc @@ -2,7 +2,9 @@ // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */ // { dg-options "-finput-charset=ISO8859-1" } // { dg-require-iconv "ISO8859-1" } -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc index 0e84a2d2771..d357db0edaf 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc @@ -2,7 +2,9 @@ // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */ // { dg-options "-finput-charset=ISO8859-1" } // { dg-require-iconv "ISO8859-1" } -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc index 6c3248577cf..263c6b43684 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc @@ -2,7 +2,10 @@ // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */ // { dg-options "-finput-charset=ISO8859-1" } // { dg-require-iconv "ISO8859-1" } -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/char/2.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/char/2.cc index e6ff596c396..e040413b86e 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/transform/char/2.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/transform/char/2.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/char/3.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/char/3.cc index 437d83f2122..56ad0ffdc24 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/transform/char/3.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/transform/char/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2003-02-24 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_env.cc index 28538b4b402..d3eaeed08dd 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_env.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_locale.cc index 4b92b11ff37..267b0299c94 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_locale.cc @@ -1,4 +1,7 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/2.cc index 459c0709de9..fb632627653 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/2.cc @@ -2,7 +2,9 @@ // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */ // { dg-options "-finput-charset=ISO8859-1" } // { dg-require-iconv "ISO8859-1" } -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/3.cc index 1cba0f759b4..499061dc2cb 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2003-02-24 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc index 6f4d1830aff..d4af0c6a762 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc @@ -2,7 +2,9 @@ // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */ // { dg-options "-finput-charset=ISO8859-1" } // { dg-require-iconv "ISO8859-1" } -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc index 534cd40cab0..e8b09e454ec 100644 --- a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc @@ -2,7 +2,10 @@ // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */ // { dg-options "-finput-charset=ISO8859-1" } // { dg-require-iconv "ISO8859-1" } -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/collate_byname/named_equivalence.cc b/libstdc++-v3/testsuite/22_locale/collate_byname/named_equivalence.cc index 6c32f9bcdb3..ef41c219ac8 100644 --- a/libstdc++-v3/testsuite/22_locale/collate_byname/named_equivalence.cc +++ b/libstdc++-v3/testsuite/22_locale/collate_byname/named_equivalence.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/char/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/char/1.cc index 4a96797bf52..2df9553a35d 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/is/char/1.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/is/char/1.cc @@ -1,4 +1,5 @@ -// Copyright (C) 2000, 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2000, 2001, 2002, 2003, 2009, 2010 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -84,8 +85,8 @@ void test01() std::ctype_base::mask m01[3]; std::ctype_base::mask m02[13]; const char_type* cc0 = strlit00; - const char_type* cc1 = NULL; - const char_type* cc2 = NULL; + const char_type* cc1 = 0; + const char_type* cc2 = 0; cc0 = strlit00; for (std::size_t i = 0; i < 3; ++i) diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc index da269cc9ddd..f466fd01cb6 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc @@ -1,5 +1,5 @@ // { dg-do run { xfail { ! { *-*-linux* } } } } -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2009 // Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_env.cc index cff6064c43d..9a1aaad2e5b 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_locale.cc index f4f92d37919..4ca4984926a 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_locale.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/1.cc index cf2f845ca3b..0b989cbe729 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/1.cc @@ -1,4 +1,5 @@ -// Copyright (C) 2000, 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2000, 2001, 2002, 2003, 2009, 2010 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -84,8 +85,8 @@ void test01() std::ctype_base::mask m01[3]; std::ctype_base::mask m02[13]; const char_type* cc0 = strlit00; - const char_type* cc1 = NULL; - const char_type* cc2 = NULL; + const char_type* cc1 = 0; + const char_type* cc2 = 0; cc0 = strlit00; for (std::size_t i = 0; i < 3; ++i) diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc index 6cbbafb6656..c4a82ae2c67 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc @@ -1,5 +1,5 @@ // { dg-do run { xfail *-*-![linux]* } } -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2009 // Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc index 779ee61a8d6..b9961e49346 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc index e59d7eb7120..d4ff1a41eb5 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_env.cc index 779ee61a8d6..b9961e49346 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc index 20cd7c2e915..303275c9bee 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/3.cc index 28d18226ad4..5bd6e07d6ff 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "se_NO.UTF-8" } // 2003-03-12 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc index 779ee61a8d6..b9961e49346 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc index e59d7eb7120..3ae613f84dc 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/2.cc index 7be5d5d94d8..d6c5c6def7c 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.ISO-8859-1" } // 2003-03-12 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/3.cc index 4a4213aa78d..1d1fd696084 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "se_NO.UTF-8" } // 2003-03-12 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/ctype_base/mask.cc b/libstdc++-v3/testsuite/22_locale/ctype_base/mask.cc index aec9f31607b..f503ce7f41e 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype_base/mask.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype_base/mask.cc @@ -1,7 +1,7 @@ // { dg-do compile } // 1999-08-24 bkoz -// Copyright (C) 1999, 2000, 2003, 2009 Free Software Foundation +// Copyright (C) 1999, 2000, 2003, 2009, 2010 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 @@ -43,6 +43,8 @@ test01() res = m01 | m02; res = m01 ^ m02; res = ~m01; + res = res; // Suppress unused warning. + m01 &= m02; m01 |= m02; m01 ^= m02; diff --git a/libstdc++-v3/testsuite/22_locale/facet/2.cc b/libstdc++-v3/testsuite/22_locale/facet/2.cc index 1b9b1dfdc9e..b211f5a9255 100644 --- a/libstdc++-v3/testsuite/22_locale/facet/2.cc +++ b/libstdc++-v3/testsuite/22_locale/facet/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "es_MX" } // 2000-08-31 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc index d7ad84137da..86b4216d1c3 100644 --- a/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc +++ b/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc @@ -1,9 +1,10 @@ // { 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 "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } -// Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation +// Copyright (C) 2004, 2005, 2007, 2009, 2010 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 @@ -59,10 +60,10 @@ main() pthread_t tid[max_thread_count]; for (int i = 0; i < max_thread_count; i++) - pthread_create (&tid[i], NULL, thread_main, 0); + pthread_create (&tid[i], 0, thread_main, 0); for (int i = 0; i < max_thread_count; i++) - pthread_join (tid[i], NULL); + pthread_join (tid[i], 0); return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc index 2d92afcad39..40c8c66742b 100644 --- a/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc +++ b/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc @@ -1,9 +1,10 @@ // { 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 "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } -// Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation +// Copyright (C) 2004, 2005, 2007, 2009, 2010 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 @@ -55,10 +56,10 @@ main() 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); + pthread_create(&tid[i], 0, thread_main, 0); for (int i = 0; i < max_thread_count; i++) - pthread_join(tid[i], NULL); + pthread_join(tid[i], 0); return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/2.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/2.cc index c5c70dcc9d7..e859b57460a 100644 --- a/libstdc++-v3/testsuite/22_locale/locale/cons/2.cc +++ b/libstdc++-v3/testsuite/22_locale/locale/cons/2.cc @@ -1,8 +1,9 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "fr_FR" } // 2000-09-13 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, +// 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -96,7 +97,7 @@ void test01() VERIFY( loc07 != loc02 ); VERIFY( loc07.name() != "" ); try - { locale loc08(static_cast<const char*>(NULL)); } + { locale loc08(static_cast<const char*>(0)); } catch(runtime_error& obj) { VERIFY( true ); } catch(...) @@ -130,7 +131,7 @@ void test01() VERIFY( loc11 == loc01 ); try - { locale loc12(loc01, static_cast<const char*>(NULL), locale::ctype); } + { locale loc12(loc01, static_cast<const char*>(0), locale::ctype); } catch(runtime_error& obj) { VERIFY( true ); } catch(...) @@ -178,7 +179,7 @@ void test01() VERIFY( loc11 == loc01 ); try - { locale loc12(loc01, static_cast<const char*>(NULL), locale::ctype); } + { locale loc12(loc01, static_cast<const char*>(0), locale::ctype); } catch(runtime_error& obj) { VERIFY( true ); } catch(...) diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/29217.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/29217.cc index 428efc952b6..dca6948742b 100644 --- a/libstdc++-v3/testsuite/22_locale/locale/cons/29217.cc +++ b/libstdc++-v3/testsuite/22_locale/locale/cons/29217.cc @@ -1,6 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } -// Copyright (C) 2006, 2009 Free Software Foundation +// Copyright (C) 2006, 2009, 2010 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 @@ -36,7 +36,7 @@ void test01() "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) ); + VERIFY( locale().name() == setlocale(LC_ALL, 0) ); locale loc1 = locale(locale::classic(), "en_US.UTF-8", locale::time); diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/38365.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/38365.cc index 44bda78f04e..fa33254ed38 100644 --- a/libstdc++-v3/testsuite/22_locale/locale/cons/38365.cc +++ b/libstdc++-v3/testsuite/22_locale/locale/cons/38365.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } // Copyright (C) 2008, 2009 Free Software Foundation // diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/38368.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/38368.cc index be731a4c9c9..a02d7e25790 100644 --- a/libstdc++-v3/testsuite/22_locale/locale/cons/38368.cc +++ b/libstdc++-v3/testsuite/22_locale/locale/cons/38368.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } // Copyright (C) 2008, 2009 Free Software Foundation // diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/4.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/4.cc index 6f9ede81418..07f02f15214 100644 --- a/libstdc++-v3/testsuite/22_locale/locale/cons/4.cc +++ b/libstdc++-v3/testsuite/22_locale/locale/cons/4.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "it_IT" } // 2000-09-13 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/40184.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/40184.cc index d7e30eba1c3..2445e43ebb3 100644 --- a/libstdc++-v3/testsuite/22_locale/locale/cons/40184.cc +++ b/libstdc++-v3/testsuite/22_locale/locale/cons/40184.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // Copyright (C) 2009 Free Software Foundation // diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/5.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/5.cc index a1d103ec73e..812f469b324 100644 --- a/libstdc++-v3/testsuite/22_locale/locale/cons/5.cc +++ b/libstdc++-v3/testsuite/22_locale/locale/cons/5.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_PH" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "it_IT" } // 2000-09-13 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/7.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/7.cc index b78f42a1720..02e4aee84aa 100644 --- a/libstdc++-v3/testsuite/22_locale/locale/cons/7.cc +++ b/libstdc++-v3/testsuite/22_locale/locale/cons/7.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "is_IS" } // 2001-01-19 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/14071.cc b/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/14071.cc index 4927e5647a1..f0035cbfbcb 100644 --- a/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/14071.cc +++ b/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/14071.cc @@ -1,8 +1,9 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "is_IS" } +// { dg-require-namedlocale "en_US" } // 2004-02-09 Petur Runolfsson <peturr02@ru.is> -// Copyright (C) 2004, 2005, 2009 Free Software Foundation +// Copyright (C) 2004, 2005, 2009, 2010 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 @@ -39,7 +40,7 @@ void test01() if (loc.name() != "*") { locale::global(loc); - VERIFY( loc.name() == setlocale(LC_ALL, NULL) ); + VERIFY( loc.name() == setlocale(LC_ALL, 0) ); } } diff --git a/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc b/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc index 21d52fd4b2e..98b7312588f 100644 --- a/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc +++ b/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc @@ -1,8 +1,9 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_PH" } +// { dg-require-namedlocale "es_MX" } // 2000-09-13 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2000, 2002, 2003, 2005, 2009 Free Software Foundation +// Copyright (C) 2000, 2002, 2003, 2005, 2009, 2010 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 @@ -33,7 +34,7 @@ void test02() const string ph("en_PH"); const string mx("es_MX"); - const char* orig = setlocale(LC_ALL, NULL); + const char* orig = setlocale(LC_ALL, 0); const char* testph = setlocale(LC_ALL, ph.c_str()); const char* testmx = setlocale(LC_ALL, mx.c_str()); setlocale(LC_ALL, orig); @@ -54,7 +55,7 @@ void test02() // Change global locale. locale global_orig = locale::global(loc_mx); - const char* lc_all_mx = setlocale(LC_ALL, NULL); + const char* lc_all_mx = setlocale(LC_ALL, 0); if (lc_all_mx) { VERIFY( mx == lc_all_mx ); diff --git a/libstdc++-v3/testsuite/22_locale/messages/members/char/1.cc b/libstdc++-v3/testsuite/22_locale/messages/members/char/1.cc index 2dc7c3749cf..c19d0eb64ae 100644 --- a/libstdc++-v3/testsuite/22_locale/messages/members/char/1.cc +++ b/libstdc++-v3/testsuite/22_locale/messages/members/char/1.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-07-17 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc b/libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc index 9c76fef28d6..627d1a4897b 100644 --- a/libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc +++ b/libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "fr_FR" } // 2001-07-17 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/messages/members/char/3.cc b/libstdc++-v3/testsuite/22_locale/messages/members/char/3.cc index 491edf272eb..9fd9fb93682 100644 --- a/libstdc++-v3/testsuite/22_locale/messages/members/char/3.cc +++ b/libstdc++-v3/testsuite/22_locale/messages/members/char/3.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } // 2001-07-17 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_env.cc index cff6064c43d..a5f639bd56a 100644 --- a/libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_env.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "en_US" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_locale.cc index f4f92d37919..8e60edf7db3 100644 --- a/libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_locale.cc @@ -1,4 +1,7 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "en_US" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/messages_byname/named_equivalence.cc b/libstdc++-v3/testsuite/22_locale/messages_byname/named_equivalence.cc index ab662a70ceb..c1f9b3e9bf3 100644 --- a/libstdc++-v3/testsuite/22_locale/messages_byname/named_equivalence.cc +++ b/libstdc++-v3/testsuite/22_locale/messages_byname/named_equivalence.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-07-17 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/1.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/1.cc index 01d523338f5..e76e0769426 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/1.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/1.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2001-09-12 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/10.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/10.cc index 2be8f58f44e..5b4309d09e0 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/10.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/10.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } // 2003-10-23 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/11.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/11.cc index bb4d97b2afc..e447e778077 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/11.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/11.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2003-10-24 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/11528.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/11528.cc index 06e57e38ad3..5354cda9f1e 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/11528.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/11528.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } // Copyright (C) 2003, 2005, 2009 Free Software Foundation // diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/12.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/12.cc index 239d7d27ae4..a50393e2a7b 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/12.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/12.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2004-02-05 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/13.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/13.cc index 48281037274..361e357ceb2 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/13.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/13.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2004-02-05 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/15.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/15.cc index fa0742b358d..1d10cfd84e1 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/15.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/15.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2004-03-01 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/16.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/16.cc index 6d6d3ece78f..54c0934b09e 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/16.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/16.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } +// { dg-require-namedlocale "en_HK" } // 2004-03-02 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/17.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/17.cc index 1837bb714cb..530999e067d 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/17.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/17.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2004-03-08 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/18.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/18.cc index c7c15cc84d1..f903a75964f 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/18.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/18.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } // 2004-03-15 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/2.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/2.cc index bcae58bffa2..c1b8e593b90 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/2.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } // 2001-09-12 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/3.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/3.cc index fd67a3c72fa..507214dc9e8 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/3.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2001-09-12 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/4.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/4.cc index 18d94bdc977..f48cc0efba3 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/4.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/4.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } // 2001-09-12 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_env.cc index 3e12e22ef9b..c0a769d7860 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_env.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "de_DE@euro" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc index 77b61e16309..795271f3f3f 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE@euro" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/1.cc index 50455764da1..43957a5936a 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/1.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2001-09-12 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/10.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/10.cc index 3396ff0b1de..51682b9c0a3 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/10.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/10.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } // 2003-10-23 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11.cc index d4f83926cf2..bab3e53fd06 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2003-10-24 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11528.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11528.cc index 55c3ef7e61a..3f552f59131 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11528.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11528.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } // Copyright (C) 2003, 2005, 2009 Free Software Foundation // diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/12.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/12.cc index 77aa3596f70..c9e7c1857d9 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/12.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/12.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2004-02-05 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/13.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/13.cc index 2b480aca0b6..99b895ee9e8 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/13.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/13.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2004-02-05 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/15.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/15.cc index cc8f4239ab2..08fb6225e43 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/15.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/15.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2004-03-01 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/16.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/16.cc index ce5ddc39dbc..4736617fcd0 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/16.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/16.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } +// { dg-require-namedlocale "en_HK" } // 2004-03-02 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/17.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/17.cc index 4611789736a..857032e47de 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/17.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/17.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2004-03-08 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/18.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/18.cc index 6ffadeee675..c1226ad7a16 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/18.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/18.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } // 2004-03-15 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/2.cc index 52f3976ef14..15bccc6ece7 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } // 2001-09-12 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/3.cc index 336e7dabe06..136369ed75d 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2001-09-12 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/4.cc index a4ef791171f..bfb803d7863 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/4.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/4.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } // 2001-09-12 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc index 3e12e22ef9b..c0a769d7860 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "de_DE@euro" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc index 77b61e16309..795271f3f3f 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE@euro" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/char/1.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/char/1.cc index 0a76d4334d0..848dd141e5f 100644 --- a/libstdc++-v3/testsuite/22_locale/money_put/put/char/1.cc +++ b/libstdc++-v3/testsuite/22_locale/money_put/put/char/1.cc @@ -1,8 +1,9 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2001-08-27 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009 Free Software Foundation +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010 +// 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 @@ -52,12 +53,12 @@ void test01() oss.imbue(loc_de); const money_put<char>& mon_put = use_facet<money_put<char> >(oss.getloc()); - iterator_type os_it01 = mon_put.put(oss.rdbuf(), true, oss, ' ', digits1); + mon_put.put(oss.rdbuf(), true, oss, ' ', digits1); string result1 = oss.str(); VERIFY( result1 == "7.200.000.000,00 "); oss.str(empty); - iterator_type os_it02 = mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); + mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); string result2 = oss.str(); VERIFY( result2 == "7.200.000.000,00 "); @@ -68,12 +69,12 @@ void test01() oss.setf(ios_base::showbase); oss.str(empty); - iterator_type os_it03 = mon_put.put(oss.rdbuf(), true, oss, ' ', digits1); + mon_put.put(oss.rdbuf(), true, oss, ' ', digits1); string result3 = oss.str(); VERIFY( result3 == "7.200.000.000,00 EUR "); oss.str(empty); - iterator_type os_it04 = mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); + mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); string result4 = oss.str(); VERIFY( result4 == "7.200.000.000,00 \244"); @@ -88,14 +89,14 @@ void test01() // test various fill strategies oss.str(empty); oss.width(20); - iterator_type os_it10 = mon_put.put(oss.rdbuf(), true, oss, '*', digits2); + mon_put.put(oss.rdbuf(), true, oss, '*', digits2); string result10 = oss.str(); VERIFY( result10 == "***************-,01*"); oss.str(empty); oss.width(20); oss.setf(ios_base::internal); - iterator_type os_it11 = mon_put.put(oss.rdbuf(), true, oss, '*', digits2); + mon_put.put(oss.rdbuf(), true, oss, '*', digits2); string result11 = oss.str(); VERIFY( result11 == "-,01****************"); } diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/char/12971.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/char/12971.cc index 15efd377e00..5ccb9ba4afc 100644 --- a/libstdc++-v3/testsuite/22_locale/money_put/put/char/12971.cc +++ b/libstdc++-v3/testsuite/22_locale/money_put/put/char/12971.cc @@ -1,6 +1,6 @@ // 2003-11-09 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2003, 2009 Free Software Foundation +// Copyright (C) 2003, 2009, 2010 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 @@ -37,7 +37,7 @@ void test01() ostringstream oss; const money_put<char>& mon_put = use_facet<money_put<char> >(oss.getloc()); - iterator_type os_it01 = mon_put.put(oss.rdbuf(), true, oss, ' ', amount); + mon_put.put(oss.rdbuf(), true, oss, ' ', amount); string result = oss.str(); VERIFY( result == "11" ); } diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/char/2.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/char/2.cc index b3defe8b279..6d3136c5467 100644 --- a/libstdc++-v3/testsuite/22_locale/money_put/put/char/2.cc +++ b/libstdc++-v3/testsuite/22_locale/money_put/put/char/2.cc @@ -1,8 +1,9 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } // 2001-08-27 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009 Free Software Foundation +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010 +// 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 @@ -63,12 +64,12 @@ void test02() // test sign of more than one digit, say hong kong. oss.str(empty); - iterator_type os_it05 = mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); + mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); string result5 = oss.str(); VERIFY( result5 == "HK$7,200,000,000.00"); oss.str(empty); - iterator_type os_it06 = mon_put.put(oss.rdbuf(), true, oss, ' ', digits2); + mon_put.put(oss.rdbuf(), true, oss, ' ', digits2); string result6 = oss.str(); VERIFY( result6 == "(HKD 100,000,000,000.00)"); @@ -76,7 +77,7 @@ void test02() oss.imbue(loc_c); oss.str(empty); const money_put<char>& mon_put2 = use_facet<money_put<char> >(oss.getloc()); - iterator_type os_it07 = mon_put2.put(oss.rdbuf(), true, oss, ' ', digits4); + mon_put2.put(oss.rdbuf(), true, oss, ' ', digits4); string result7 = oss.str(); VERIFY( result7 == "1"); @@ -84,7 +85,7 @@ void test02() oss.imbue(loc_hk); oss.str(empty); const money_put<char>& mon_put3 = use_facet<money_put<char> >(oss.getloc()); - iterator_type os_it08 = mon_put3.put(oss.rdbuf(), true, oss, ' ', digits4); + mon_put3.put(oss.rdbuf(), true, oss, ' ', digits4); string result8 = oss.str(); VERIFY( result8 == "(HKD .01)"); @@ -92,7 +93,7 @@ void test02() // test bunk input oss.str(empty); - iterator_type os_it09 = mon_put.put(oss.rdbuf(), true, oss, ' ', digits3); + mon_put.put(oss.rdbuf(), true, oss, ' ', digits3); string result9 = oss.str(); VERIFY( result9 == ""); } diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/char/3.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/char/3.cc index 6f571fda828..462666f8bf5 100644 --- a/libstdc++-v3/testsuite/22_locale/money_put/put/char/3.cc +++ b/libstdc++-v3/testsuite/22_locale/money_put/put/char/3.cc @@ -1,8 +1,9 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2001-08-27 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009 Free Software Foundation +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010 +// 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 @@ -49,12 +50,12 @@ void test03() oss.imbue(loc_de); const money_put<char>& mon_put = use_facet<money_put<char> >(oss.getloc()); - iterator_type os_it01 = mon_put.put(oss.rdbuf(), true, oss, ' ', digits1); + mon_put.put(oss.rdbuf(), true, oss, ' ', digits1); string result1 = oss.str(); VERIFY( result1 == "7.200.000.000,00 "); oss.str(empty); - iterator_type os_it02 = mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); + mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); string result2 = oss.str(); VERIFY( result2 == "7.200.000.000,00 "); @@ -65,12 +66,12 @@ void test03() oss.setf(ios_base::showbase); oss.str(empty); - iterator_type os_it03 = mon_put.put(oss.rdbuf(), true, oss, ' ', digits1); + mon_put.put(oss.rdbuf(), true, oss, ' ', digits1); string result3 = oss.str(); VERIFY( result3 == "7.200.000.000,00 EUR "); oss.str(empty); - iterator_type os_it04 = mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); + mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); string result4 = oss.str(); VERIFY( result4 == "7.200.000.000,00 \244"); diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/char/9780-3.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/char/9780-3.cc index 1fac6ea40a5..e54035891c5 100644 --- a/libstdc++-v3/testsuite/22_locale/money_put/put/char/9780-3.cc +++ b/libstdc++-v3/testsuite/22_locale/money_put/put/char/9780-3.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "es_ES" } // Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 // Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_env.cc index 870359c0af3..3b13bdc28d3 100644 --- a/libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_env.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "de_DE@euro" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc index 9970f416802..b160fb72a92 100644 --- a/libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE@euro" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/1.cc index 1fceb279971..71f35abd181 100644 --- a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/1.cc @@ -1,8 +1,9 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2001-08-27 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009 Free Software Foundation +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010 +// 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 @@ -53,12 +54,12 @@ void test01() const money_put<wchar_t>& mon_put = use_facet<money_put<wchar_t> >(oss.getloc()); - iterator_type os_it01 = mon_put.put(oss.rdbuf(), true, oss, L' ', digits1); + mon_put.put(oss.rdbuf(), true, oss, L' ', digits1); wstring result1 = oss.str(); VERIFY( result1 == L"7.200.000.000,00 " ); oss.str(empty); - iterator_type os_it02 = mon_put.put(oss.rdbuf(), false, oss, L' ', digits1); + mon_put.put(oss.rdbuf(), false, oss, L' ', digits1); wstring result2 = oss.str(); VERIFY( result2 == L"7.200.000.000,00 " ); @@ -69,12 +70,12 @@ void test01() oss.setf(ios_base::showbase); oss.str(empty); - iterator_type os_it03 = mon_put.put(oss.rdbuf(), true, oss, L' ', digits1); + mon_put.put(oss.rdbuf(), true, oss, L' ', digits1); wstring result3 = oss.str(); VERIFY( result3 == L"7.200.000.000,00 EUR " ); oss.str(empty); - iterator_type os_it04 = mon_put.put(oss.rdbuf(), false, oss, L' ', digits1); + mon_put.put(oss.rdbuf(), false, oss, L' ', digits1); wstring result4 = oss.str(); VERIFY( result4 == L"7.200.000.000,00 \x20ac" ); @@ -89,14 +90,14 @@ void test01() // test various fill strategies oss.str(empty); oss.width(20); - iterator_type os_it10 = mon_put.put(oss.rdbuf(), true, oss, L'*', digits2); + mon_put.put(oss.rdbuf(), true, oss, L'*', digits2); wstring result10 = oss.str(); VERIFY( result10 == L"***************-,01*" ); oss.str(empty); oss.width(20); oss.setf(ios_base::internal); - iterator_type os_it11 = mon_put.put(oss.rdbuf(), true, oss, L'*', digits2); + mon_put.put(oss.rdbuf(), true, oss, L'*', digits2); wstring result11 = oss.str(); VERIFY( result11 == L"-,01****************" ); } diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/12971.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/12971.cc index fd8bcf517e1..cd430a9e1bd 100644 --- a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/12971.cc +++ b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/12971.cc @@ -1,6 +1,6 @@ // 2003-11-09 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2003, 2004, 2009 Free Software Foundation +// Copyright (C) 2003, 2004, 2009, 2010 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 @@ -38,7 +38,7 @@ void test01() const money_put<wchar_t>& mon_put = use_facet<money_put<wchar_t> >(oss.getloc()); - iterator_type os_it01 = mon_put.put(oss.rdbuf(), true, oss, L' ', amount); + mon_put.put(oss.rdbuf(), true, oss, L' ', amount); wstring result = oss.str(); VERIFY( result == L"11" ); } diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/2.cc index 33f7727458b..84331bd9254 100644 --- a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/2.cc @@ -1,8 +1,9 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } // 2001-08-27 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009 Free Software Foundation +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010 +// 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 @@ -64,12 +65,12 @@ void test02() // test sign of more than one digit, say hong kong. oss.str(empty); - iterator_type os_it05 = mon_put.put(oss.rdbuf(), false, oss, L' ', digits1); + mon_put.put(oss.rdbuf(), false, oss, L' ', digits1); wstring result5 = oss.str(); VERIFY( result5 == L"HK$7,200,000,000.00" ); oss.str(empty); - iterator_type os_it06 = mon_put.put(oss.rdbuf(), true, oss, L' ', digits2); + mon_put.put(oss.rdbuf(), true, oss, L' ', digits2); wstring result6 = oss.str(); VERIFY( result6 == L"(HKD 100,000,000,000.00)" ); @@ -78,7 +79,7 @@ void test02() oss.str(empty); const money_put<wchar_t>& mon_put2 = use_facet<money_put<wchar_t> >(oss.getloc()); - iterator_type os_it07 = mon_put2.put(oss.rdbuf(), true, oss, L' ', digits4); + mon_put2.put(oss.rdbuf(), true, oss, L' ', digits4); wstring result7 = oss.str(); VERIFY( result7 == L"1" ); @@ -87,7 +88,7 @@ void test02() oss.str(empty); const money_put<wchar_t>& mon_put3 = use_facet<money_put<wchar_t> >(oss.getloc()); - iterator_type os_it08 = mon_put3.put(oss.rdbuf(), true, oss, L' ', digits4); + mon_put3.put(oss.rdbuf(), true, oss, L' ', digits4); wstring result8 = oss.str(); VERIFY( result8 == L"(HKD .01)" ); @@ -95,7 +96,7 @@ void test02() // test bunk input oss.str(empty); - iterator_type os_it09 = mon_put.put(oss.rdbuf(), true, oss, L' ', digits3); + mon_put.put(oss.rdbuf(), true, oss, L' ', digits3); wstring result9 = oss.str(); VERIFY( result9 == L"" ); } diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/3.cc index a0fbcda9e09..19921bf5d7e 100644 --- a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/3.cc @@ -1,8 +1,9 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2001-08-27 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009 Free Software Foundation +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010 +// 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 @@ -50,12 +51,12 @@ void test03() const money_put<wchar_t>& mon_put = use_facet<money_put<wchar_t> >(oss.getloc()); - iterator_type os_it01 = mon_put.put(oss.rdbuf(), true, oss, L' ', digits1); + mon_put.put(oss.rdbuf(), true, oss, L' ', digits1); wstring result1 = oss.str(); VERIFY( result1 == L"7.200.000.000,00 " ); oss.str(empty); - iterator_type os_it02 = mon_put.put(oss.rdbuf(), false, oss, L' ', digits1); + mon_put.put(oss.rdbuf(), false, oss, L' ', digits1); wstring result2 = oss.str(); VERIFY( result2 == L"7.200.000.000,00 " ); @@ -66,12 +67,12 @@ void test03() oss.setf(ios_base::showbase); oss.str(empty); - iterator_type os_it03 = mon_put.put(oss.rdbuf(), true, oss, L' ', digits1); + mon_put.put(oss.rdbuf(), true, oss, L' ', digits1); wstring result3 = oss.str(); VERIFY( result3 == L"7.200.000.000,00 EUR " ); oss.str(empty); - iterator_type os_it04 = mon_put.put(oss.rdbuf(), false, oss, L' ', digits1); + mon_put.put(oss.rdbuf(), false, oss, L' ', digits1); wstring result4 = oss.str(); VERIFY( result4 == L"7.200.000.000,00 \x20ac" ); diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc index 870359c0af3..3b13bdc28d3 100644 --- a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "de_DE@euro" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc index 9970f416802..b160fb72a92 100644 --- a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE@euro" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/40712.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/40712.cc index 49eb21c0f92..7f567f5aa21 100644 --- a/libstdc++-v3/testsuite/22_locale/moneypunct/40712.cc +++ b/libstdc++-v3/testsuite/22_locale/moneypunct/40712.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } // 2009-07-18 Paolo Carlini <paolo.carlini@oracle.com> diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/1.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/1.cc index fac61ec3d58..fd28b63fbeb 100644 --- a/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/1.cc +++ b/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/1.cc @@ -1,6 +1,6 @@ // 2001-08-23 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation +// Copyright (C) 2001, 2002, 2003, 2009, 2010 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 @@ -59,6 +59,8 @@ void test01() pattern neg1 = monp_c_t.neg_format(); pattern pos2 = monp_c_f.pos_format(); pattern neg2 = monp_c_f.neg_format(); + neg1 = neg1; + neg2 = neg2; VERIFY( q1 == '.' ); VERIFY( q3 == '.' ); diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/2.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/2.cc index 04ca53ffeb4..ed2aeda1ca5 100644 --- a/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/2.cc +++ b/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-23 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_env.cc index 779ee61a8d6..b9961e49346 100644 --- a/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc index e59d7eb7120..2c456609f4e 100644 --- a/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/1.cc index bb862deda25..eb5e50684be 100644 --- a/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/1.cc @@ -1,6 +1,6 @@ // 2001-08-23 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation +// Copyright (C) 2001, 2002, 2003, 2009, 2010 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 @@ -59,6 +59,8 @@ void test01() pattern neg1 = monp_c_t.neg_format(); pattern pos2 = monp_c_f.pos_format(); pattern neg2 = monp_c_f.neg_format(); + neg1 = neg1; + neg2 = neg2; VERIFY( q1 == L'.' ); VERIFY( q3 == L'.' ); diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/2.cc index e1a18fc45eb..52fd2d90732 100644 --- a/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-23 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc index 779ee61a8d6..b9961e49346 100644 --- a/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc index e59d7eb7120..d4ff1a41eb5 100644 --- a/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct_byname/named_equivalence.cc b/libstdc++-v3/testsuite/22_locale/moneypunct_byname/named_equivalence.cc index 70af8330382..e212889199d 100644 --- a/libstdc++-v3/testsuite/22_locale/moneypunct_byname/named_equivalence.cc +++ b/libstdc++-v3/testsuite/22_locale/moneypunct_byname/named_equivalence.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-24 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/1.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/1.cc index dd849c6fca8..7c89c5887ab 100644 --- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/1.cc +++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/1.cc @@ -1,8 +1,8 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-11-21 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -63,7 +63,7 @@ void test01() // bool, simple iss.str("1"); iterator_type os_it00 = iss.rdbuf(); - iterator_type os_it01 = ng.get(os_it00, 0, iss, err, b1); + ng.get(os_it00, 0, iss, err, b1); VERIFY( b1 == true ); VERIFY( err & ios_base::eofbit ); diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/3.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/3.cc index 20c9d1547a9..f3e9fc3231f 100644 --- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/3.cc +++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } // 2001-11-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/5.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/5.cc index c2e5a21fc83..d8c3fe55743 100644 --- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/5.cc +++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/5.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-11-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/6.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/6.cc index ad9691dad77..1ebc0dd8470 100644 --- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/6.cc +++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/6.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-11-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/9.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/9.cc index e9d9d852490..b0673ab03ab 100644 --- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/9.cc +++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/9.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2003-12-19 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_env.cc index 870359c0af3..b8776a3285c 100644 --- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_env.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc index 9970f416802..6f937a97216 100644 --- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/1.cc index d36f5caf019..0c6f450cbd0 100644 --- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/1.cc @@ -1,8 +1,8 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-11-21 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -63,7 +63,7 @@ void test01() // bool, simple iss.str(L"1"); iterator_type os_it00 = iss.rdbuf(); - iterator_type os_it01 = ng.get(os_it00, 0, iss, err, b1); + ng.get(os_it00, 0, iss, err, b1); VERIFY( b1 == true ); VERIFY( err & ios_base::eofbit ); diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/3.cc index 16ab99e50da..387e31e8604 100644 --- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } // 2001-11-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/5.cc index 7873703077f..dd3a876e157 100644 --- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/5.cc +++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/5.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-11-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/6.cc index 113b53039cc..e134f7ec47f 100644 --- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/6.cc +++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/6.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-11-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/9.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/9.cc index a3eb30f1fce..134349f0182 100644 --- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/9.cc +++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/9.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2003-12-19 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc index 870359c0af3..b8776a3285c 100644 --- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc index 9970f416802..6f937a97216 100644 --- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/1.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/1.cc index 1398aeeaa72..602baf5d7ed 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/1.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/1.cc @@ -1,8 +1,9 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-11-19 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009 Free Software Foundation +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010 +// 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 @@ -61,7 +62,7 @@ void test01() // bool, simple iterator_type os_it00 = oss.rdbuf(); - iterator_type os_it01 = np.put(os_it00, oss, '+', b1); + np.put(os_it00, oss, '+', b1); result1 = oss.str(); VERIFY( result1 == "1" ); diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/14220.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/14220.cc index 714a8e8d60c..fe649a7b03f 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/14220.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/14220.cc @@ -1,6 +1,6 @@ // 2004-04-30 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2004, 2009 Free Software Foundation +// Copyright (C) 2004, 2009, 2010 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 @@ -19,11 +19,13 @@ // 22.2.2.2.1 num_put members -// On Solaris 10 x86, this test crashes in libc. Inside libstdc++, -// we call sprintf like so: +// On Solaris 9/x86, 32-bit Solaris 10/x86 and 64-bit Solaris 10/SPARC, this +// test crashes in libc. Inside libstdc++, we call sprintf like so: // sprintf (buffer, "%.*f", 1000, 1.0) // which crashes. -// { dg-do run { xfail { i?86*-*-solaris2.10 } } } +// { dg-xfail-run-if "" i?86-*-solaris2.9 } +// { dg-xfail-run-if "" { i?86-*-solaris2.10 && ilp32 } } +// { dg-xfail-run-if "" { sparc*-sun-solaris2.10 && lp64 } } #include <locale> #include <sstream> diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/20909.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/20909.cc index 1bbfa48e1c8..e00655bfc77 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/20909.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/20909.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2005-04-08 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/20914.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/20914.cc index c4f5399a306..667ff1a48be 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/20914.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/20914.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2005-04-17 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/3.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/3.cc index c12999f8cca..d8973fe8512 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/3.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } // 2001-11-19 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/5.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/5.cc index bb31bc86ea3..d75a5edfbe7 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/5.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/5.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-11-19 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc index 50d75d018c8..7993691e916 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "es_ES" } // Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_env.cc index 919810441c2..8ed81754e0d 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_env.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } +// { dg-require-namedlocale "es_ES" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc index 2ddb54e9a1c..867992f7910 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc @@ -1,4 +1,7 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } +// { dg-require-namedlocale "es_ES" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc index 83da0d2802e..4b596d5b9e3 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc @@ -1,8 +1,8 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-11-19 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -62,7 +62,7 @@ void test01() // bool, simple iterator_type os_it00 = oss.rdbuf(); - iterator_type os_it01 = np.put(os_it00, oss, L'+', b1); + np.put(os_it00, oss, L'+', b1); result1 = oss.str(); VERIFY( result1 == L"1" ); diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/14220.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/14220.cc index 552f049e61c..5b830154018 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/14220.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/14220.cc @@ -1,6 +1,6 @@ // 2004-04-30 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2004, 2009 Free Software Foundation +// Copyright (C) 2004, 2009, 2010 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 @@ -23,11 +23,11 @@ #include <sstream> #include <testsuite_hooks.h> -// On Solaris 10 x86, this test crashes in libc. Inside libstdc++, -// we call sprintf like so: +// On Solaris 9 and 32-bit Solaris 10/x86, this test crashes in libc. Inside +// libstdc++, we call sprintf like so: // sprintf (buffer, "%.*f", 1000, 1.0) // which crashes. -// { dg-do run { xfail { i?86*-*-solaris2.10 } } } +// { dg-do run { xfail { i?86-*-solaris2.9 || { i?86-*-solaris2.10 && ilp32 } } } } // libstdc++/14220 void test01() diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20909.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20909.cc index c95b77715d8..61ac1a164d4 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20909.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20909.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2005-04-08 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20914.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20914.cc index a04f581a6ca..2013986c80b 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20914.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20914.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2005-04-17 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/3.cc index 817088049d7..47ed26cd264 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } // 2001-11-19 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/5.cc index eae420ae8c8..42fee14ba2a 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/5.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/5.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-11-19 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc index 919810441c2..bb6bec858be 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc index 2ddb54e9a1c..d85c72a974d 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/2.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/2.cc index 191ff3e6cf3..1b8e3ce2142 100644 --- a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/2.cc +++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/2.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "is_IS" } +// { dg-require-namedlocale "de_DE" } // 2001-01-17 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc index 1c85cc0ca2c..b65134f5e85 100644 --- a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc +++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "it_IT" } // 2001-01-24 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_env.cc index 779ee61a8d6..cf1e4f850c6 100644 --- a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_env.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "is_IS" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_locale.cc index e59d7eb7120..4fb07877771 100644 --- a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_locale.cc @@ -1,4 +1,7 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "is_IS" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/2.cc index 9901bba58bd..8b8d22ad60c 100644 --- a/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/2.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "is_IS" } +// { dg-require-namedlocale "de_DE" } // 2001-01-17 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc index 779ee61a8d6..cf1e4f850c6 100644 --- a/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "is_IS" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc index e59d7eb7120..4fb07877771 100644 --- a/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc @@ -1,4 +1,7 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "is_IS" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/numpunct_byname/named_equivalence.cc b/libstdc++-v3/testsuite/22_locale/numpunct_byname/named_equivalence.cc index 924d0820db6..168d0696263 100644 --- a/libstdc++-v3/testsuite/22_locale/numpunct_byname/named_equivalence.cc +++ b/libstdc++-v3/testsuite/22_locale/numpunct_byname/named_equivalence.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-01-24 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc index 8e6b02858c9..f8f6daa9e73 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc index be7fc089d18..ac0fccc321f 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc index 6d1c94e1fd6..191c11b165d 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "is_IS" } // 2003-10-27 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc index 1446f6a156c..d0e5ca490d0 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } +// { dg-require-namedlocale "de_DE" } // 2001-09-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc index b02fefef596..5fbf074a4df 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_GB" } // 2010-01-06 Paolo Carlini <paolo.carlini@oracle.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/5.cc index 5a31f33565a..f08cd6f0761 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/5.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/5.cc @@ -1,6 +1,6 @@ // 2006-06-16 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2006, 2009 Free Software Foundation +// Copyright (C) 2006, 2009, 2010 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 @@ -48,7 +48,7 @@ void test01() const time_get_type& tg = use_facet<time_get_type>(iss.getloc()); const string str0 = "1"; - iter_type end0 = tg.get_date(str0.begin(), str0.end(), iss, err, &tm0); + tg.get_date(str0.begin(), str0.end(), iss, err, &tm0); VERIFY( err == (failbit | eofbit) ); VERIFY( tm0.tm_year == 0 ); VERIFY( tm0.tm_mon == 0 ); diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_env.cc index cff6064c43d..8f116717b17 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_env.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc index f4f92d37919..a4edc45a82e 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc index 012b51ba842..74d637f5855 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "is_IS" } // 2003-10-27 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc index 97ef5cac8fb..bb6d72b081b 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } +// { dg-require-namedlocale "de_DE" } // 2001-09-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc index 2f4980a234c..35c21d4b14c 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_GB" } // 2010-01-06 Paolo Carlini <paolo.carlini@oracle.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc index f2a23e753f5..7346380cdfb 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "zh_TW" } // 2003-12-17 Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/5.cc index 194e1505901..9110884fae9 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/5.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/5.cc @@ -1,6 +1,6 @@ // 2006-06-16 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2006, 2009 Free Software Foundation +// Copyright (C) 2006, 2009, 2010 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 @@ -48,7 +48,7 @@ void test01() const time_get_type& tg = use_facet<time_get_type>(iss.getloc()); const wstring str0 = L"1"; - iter_type end0 = tg.get_date(str0.begin(), str0.end(), iss, err, &tm0); + tg.get_date(str0.begin(), str0.end(), iss, err, &tm0); VERIFY( err == (failbit | eofbit) ); VERIFY( tm0.tm_year == 0 ); VERIFY( tm0.tm_mon == 0 ); diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc index cff6064c43d..8f116717b17 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc index f4f92d37919..a4edc45a82e 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc index c10bcbc9c50..dc117a37abb 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } +// { dg-require-namedlocale "de_DE" } // 2001-09-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/5.cc index 64b0a2e6b21..c1966fe4b95 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/5.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/5.cc @@ -1,6 +1,6 @@ // 2006-06-16 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2006, 2009 Free Software Foundation +// Copyright (C) 2006, 2009, 2010 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 @@ -48,7 +48,7 @@ void test01() const time_get_type& tg = use_facet<time_get_type>(iss.getloc()); const string str0 = "S"; - iter_type end0 = tg.get_monthname(str0.begin(), str0.end(), iss, err, &tm0); + tg.get_monthname(str0.begin(), str0.end(), iss, err, &tm0); VERIFY( err == (failbit | eofbit) ); VERIFY( tm0.tm_mon == 0 ); diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc index cff6064c43d..8f116717b17 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc index f4f92d37919..a4edc45a82e 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc index e52b2d0fb53..89ed391dd50 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } +// { dg-require-namedlocale "de_DE" } // 2001-09-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc index 5b48a30f88a..192d19c945b 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc @@ -1,6 +1,6 @@ // 2006-06-16 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2006, 2009 Free Software Foundation +// Copyright (C) 2006, 2009, 2010 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 @@ -48,7 +48,7 @@ void test01() const time_get_type& tg = use_facet<time_get_type>(iss.getloc()); const wstring str0 = L"S"; - iter_type end0 = tg.get_monthname(str0.begin(), str0.end(), iss, err, &tm0); + tg.get_monthname(str0.begin(), str0.end(), iss, err, &tm0); VERIFY( err == (failbit | eofbit) ); VERIFY( tm0.tm_mon == 0 ); diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc index cff6064c43d..8f116717b17 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc index f4f92d37919..a4edc45a82e 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc index 9605e9990dd..69cf0d5dcaa 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-09-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc index 63b53a000a4..0df532247af 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } // 2001-09-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/5.cc index f0808bf8a88..b099b6e7ba4 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/5.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/5.cc @@ -1,6 +1,6 @@ // 2006-06-16 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2006, 2009 Free Software Foundation +// Copyright (C) 2006, 2009, 2010 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 @@ -49,7 +49,7 @@ void test01() const time_get_type& tg = use_facet<time_get_type>(iss.getloc()); const string str0 = "1"; - iter_type end0 = tg.get_time(str0.begin(), str0.end(), iss, err, &tm0); + tg.get_time(str0.begin(), str0.end(), iss, err, &tm0); VERIFY( err == (failbit | eofbit) ); VERIFY( tm0.tm_sec == 0 ); VERIFY( tm0.tm_min == 0 ); diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_env.cc index cff6064c43d..8f116717b17 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_env.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc index f4f92d37919..a4edc45a82e 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc index 089dff76271..ad8a468c545 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-09-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc index 2dc9b18bd7f..72946612bc3 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } // 2001-09-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/5.cc index b06ccf6ffb8..ffce43218cd 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/5.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/5.cc @@ -1,6 +1,6 @@ // 2006-06-16 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2006, 2009 Free Software Foundation +// Copyright (C) 2006, 2009, 2010 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 @@ -49,7 +49,7 @@ void test01() const time_get_type& tg = use_facet<time_get_type>(iss.getloc()); const wstring str0 = L"1"; - iter_type end0 = tg.get_time(str0.begin(), str0.end(), iss, err, &tm0); + tg.get_time(str0.begin(), str0.end(), iss, err, &tm0); VERIFY( err == (failbit | eofbit) ); VERIFY( tm0.tm_sec == 0 ); VERIFY( tm0.tm_min == 0 ); diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc index cff6064c43d..8f116717b17 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc index f4f92d37919..a4edc45a82e 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc index de99ac3eb35..1b1136987b6 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } +// { dg-require-namedlocale "de_DE" } // 2001-09-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc index e237dcccbe9..7316cc454d0 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ru_RU.ISO-8859-5" } // Copyright (C) 2010 Free Software Foundation // diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc index cda8df142f3..1c079a40017 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ru_RU.UTF8" } // 2010-01-05 Paolo Carlini <paolo.carlini@oracle.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/5.cc index 1583f107d6d..4157a08b560 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/5.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/5.cc @@ -1,6 +1,6 @@ // 2006-06-16 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2006, 2009 Free Software Foundation +// Copyright (C) 2006, 2009, 2010 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 @@ -49,7 +49,7 @@ void test01() const time_get_type& tg = use_facet<time_get_type>(iss.getloc()); const string str0 = "T"; - iter_type end0 = tg.get_weekday(str0.begin(), str0.end(), iss, err, &tm0); + tg.get_weekday(str0.begin(), str0.end(), iss, err, &tm0); VERIFY( err == (failbit | eofbit) ); VERIFY( tm1.tm_wday == 0 ); diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc index cff6064c43d..8f116717b17 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc index f4f92d37919..a4edc45a82e 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc index 4fa295f9a80..dbab614d165 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } +// { dg-require-namedlocale "de_DE" } // 2001-09-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc index 29de6a26d59..02664bf0b3d 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc @@ -1,6 +1,6 @@ // 2006-06-16 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2006, 2009 Free Software Foundation +// Copyright (C) 2006, 2009, 2010 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 @@ -49,7 +49,7 @@ void test01() const time_get_type& tg = use_facet<time_get_type>(iss.getloc()); const wstring str0 = L"T"; - iter_type end0 = tg.get_weekday(str0.begin(), str0.end(), iss, err, &tm0); + tg.get_weekday(str0.begin(), str0.end(), iss, err, &tm0); VERIFY( err == (failbit | eofbit) ); VERIFY( tm1.tm_wday == 0 ); diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc index cff6064c43d..bcd8f51d608 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc index f4f92d37919..610c7dbf283 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/5.cc index 0f6e5a92a04..f3a47bf87b5 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/5.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/5.cc @@ -1,6 +1,6 @@ // 2006-06-16 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2006, 2009 Free Software Foundation +// Copyright (C) 2006, 2009, 2010 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 @@ -49,7 +49,7 @@ void test01() const time_get_type& tg = use_facet<time_get_type>(iss.getloc()); const string str0 = "1"; - iter_type end0 = tg.get_year(str0.begin(), str0.end(), iss, err, &tm0); + tg.get_year(str0.begin(), str0.end(), iss, err, &tm0); VERIFY( err == (failbit | eofbit) ); VERIFY( tm0.tm_year == 0 ); diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_env.cc index 3e3f94c8066..872603ace32 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc index dc35946ebea..45dda12bd89 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/5.cc index 6c5cbf194ce..c932bebdb64 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/5.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/5.cc @@ -1,6 +1,6 @@ // 2006-06-16 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2006, 2009 Free Software Foundation +// Copyright (C) 2006, 2009, 2010 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 @@ -49,7 +49,7 @@ void test01() const time_get_type& tg = use_facet<time_get_type>(iss.getloc()); const wstring str0 = L"1"; - iter_type end0 = tg.get_year(str0.begin(), str0.end(), iss, err, &tm0); + tg.get_year(str0.begin(), str0.end(), iss, err, &tm0); VERIFY( err == (failbit | eofbit) ); VERIFY( tm0.tm_year == 0 ); diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc index 3e3f94c8066..872603ace32 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc index dc35946ebea..45dda12bd89 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc index 8fed3437a57..32388cc6f0b 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc @@ -1,6 +1,6 @@ // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -48,27 +48,27 @@ void test01() // put(iter_type s, ios_base& str, char_type fill, const tm* t, // char format, char modifier = 0) const; oss.str(empty); - iterator_type os_it01 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'a'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'a'); string result1 = oss.str(); VERIFY( result1 == "Sun" ); oss.str(empty); - iterator_type os_it21 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'x'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'x'); string result21 = oss.str(); // "04/04/71" VERIFY( result21 == "04/04/71" ); oss.str(empty); - iterator_type os_it22 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'X'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'X'); string result22 = oss.str(); // "12:00:00" VERIFY( result22 == "12:00:00" ); oss.str(empty); - iterator_type os_it31 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'x', 'E'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'x', 'E'); string result31 = oss.str(); // "04/04/71" VERIFY( result31 == "04/04/71" ); oss.str(empty); - iterator_type os_it32 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'X', 'E'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'X', 'E'); string result32 = oss.str(); // "12:00:00" VERIFY( result32 == "12:00:00" ); } diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_1.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_1.cc index 7de5471495f..3c6ad92e483 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_1.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_1.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2003, 2009 Free Software Foundation +// Copyright (C) 2003, 2009, 2010 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 @@ -47,7 +47,7 @@ void test01() bool test __attribute__((unused)) = true; ostringstream stream; - time_t tt = time(NULL); + time_t tt = time(0); const char* fmt = "%c"; diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_3.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_3.cc index 54d4cde7cef..3d19d36c20b 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_3.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_3.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2003, 2009 Free Software Foundation +// Copyright (C) 2003, 2009, 2010 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 @@ -46,7 +46,7 @@ void test03() bool test __attribute__((unused)) = true; ostringstream stream; - time_t tt = time(NULL); + time_t tt = time(0); const char* fmt = "%c"; diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc index 318c05dc2d3..a2043f10bb0 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc @@ -1,8 +1,8 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ta_IN" } // 2004-08-25 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2004, 2005, 2006, 2009 Free Software Foundation +// Copyright (C) 2004, 2005, 2006, 2009, 2010 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 @@ -47,7 +47,7 @@ void test01() const time_put<char>& tim_put = use_facet<time_put<char> >(oss.getloc()); - iterator_type os_it01 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'c'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'c'); string result1 = oss.str(); char time_buffer[128]; diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc index 7c65ad9985b..fa5053fc159 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc @@ -1,8 +1,8 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -47,27 +47,27 @@ void test02() oss.imbue(loc_de); const time_put<char>& tim_put = use_facet<time_put<char> >(oss.getloc()); - iterator_type os_it02 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'a'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'a'); string result2 = oss.str(); VERIFY( result2 == "Son" || result2 == "So" ); oss.str(empty); // "%d.%m.%Y" - iterator_type os_it23 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'x'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'x'); string result23 = oss.str(); // "04.04.1971" VERIFY( result23 == "04.04.1971" ); oss.str(empty); // "%T" - iterator_type os_it24 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'X'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'X'); string result24 = oss.str(); // "12:00:00" VERIFY( result24 == "12:00:00" ); oss.str(empty); - iterator_type os_it33 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'x', 'E'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'x', 'E'); string result33 = oss.str(); // "04.04.1971" VERIFY( result33 == "04.04.1971" ); oss.str(empty); - iterator_type os_it34 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'X', 'E'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'X', 'E'); string result34 = oss.str(); // "12:00:00" VERIFY( result34 == "12:00:00" ); } diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc index c71b5e46d26..d4f04c29af9 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc @@ -1,8 +1,8 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -47,27 +47,27 @@ void test03() oss.imbue(loc_hk); const time_put<char>& tim_put = use_facet<time_put<char> >(oss.getloc()); - iterator_type os_it03 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'a'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'a'); string result3 = oss.str(); VERIFY( result3 == "Sun" ); oss.str(empty); // "%A, %B %d, %Y" - iterator_type os_it25 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'x'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'x'); string result25 = oss.str(); // "Sunday, April 04, 1971" VERIFY( result25 == "Sunday, April 04, 1971" ); oss.str(empty); // "%I:%M:%S %Z" - iterator_type os_it26 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'X'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'X'); string result26 = oss.str(); // "12:00:00 CET" or whatever timezone VERIFY( result26.find("12:00:00") != string::npos ); oss.str(empty); - iterator_type os_it35 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'x', 'E'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'x', 'E'); string result35 = oss.str(); // "Sunday, April 04, 1971" VERIFY( result35 == "Sunday, April 04, 1971" ); oss.str(empty); - iterator_type os_it36 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'X', 'E'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'X', 'E'); string result36 = oss.str(); // "12:00:00 CET" VERIFY( result36.find("12:00:00") != string::npos ); } diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc index 196c1aa9088..a433cda866d 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc @@ -1,8 +1,9 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "es_ES" } // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, +// 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -46,27 +47,27 @@ void test04() ostringstream oss; oss.imbue(loc_es); const time_put<char>& tim_put = use_facet<time_put<char> >(oss.getloc()); - iterator_type os_it04 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'a'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'a'); string result4 = oss.str(); VERIFY( result4 == "dom" ); oss.str(empty); // "%d/%m/%y" - iterator_type os_it27 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'x'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'x'); string result27 = oss.str(); // "04/04/71" VERIFY( result27 == "04/04/71" ); oss.str(empty); // "%T" - iterator_type os_it28 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'X'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'X'); string result28 = oss.str(); // "12:00:00" VERIFY( result28 == "12:00:00" ); oss.str(empty); - iterator_type os_it37 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'x', 'E'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'x', 'E'); string result37 = oss.str(); // "04/04/71" VERIFY( result37 == "04/04/71" ); oss.str(empty); - iterator_type os_it38 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'X', 'E'); + tim_put.put(oss.rdbuf(), oss, '*', &time1, 'X', 'E'); string result38 = oss.str(); // "12:00:00" VERIFY( result38 == "12:00:00" ); } diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc index 2f9c6a6bc64..96ce947c2af 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc @@ -1,6 +1,6 @@ // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -48,13 +48,12 @@ void test05() // 2 oss.str(empty); - iterator_type os_it05 = tim_put.put(oss.rdbuf(), oss, '*', &time1, - date, date + traits::length(date)); + tim_put.put(oss.rdbuf(), oss, '*', &time1, + date, date + traits::length(date)); string result5 = oss.str(); VERIFY( result5 == "Sunday, the second of April"); - iterator_type os_it06 = tim_put.put(oss.rdbuf(), oss, '*', &time1, - date_ex, - date_ex + traits::length(date_ex)); + tim_put.put(oss.rdbuf(), oss, '*', &time1, + date_ex, date_ex + traits::length(date_ex)); string result6 = oss.str(); VERIFY( result6 != result5 ); } diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc index ff3938cc9e4..1dc53e32725 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc @@ -1,8 +1,8 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -50,13 +50,12 @@ void test06() oss.imbue(loc_de); const time_put<char>& tim_put = use_facet<time_put<char> >(oss.getloc()); - iterator_type os_it07 = tim_put.put(oss.rdbuf(), oss, '*', &time1, - date, date + traits::length(date)); + tim_put.put(oss.rdbuf(), oss, '*', &time1, + date, date + traits::length(date)); string result7 = oss.str(); VERIFY( result7 == "Sonntag, the second of April"); - iterator_type os_it08 = tim_put.put(oss.rdbuf(), oss, '*', &time1, - date_ex, - date_ex + traits::length(date_ex)); + tim_put.put(oss.rdbuf(), oss, '*', &time1, + date_ex, date_ex + traits::length(date_ex)); string result8 = oss.str(); VERIFY( result8 != result7 ); } diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc index 93b139d95d1..595fadf785d 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc @@ -1,8 +1,8 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -50,13 +50,12 @@ void test07() oss.imbue(loc_hk); const time_put<char>& tim_put = use_facet<time_put<char> >(oss.getloc()); - iterator_type os_it09 = tim_put.put(oss.rdbuf(), oss, '*', &time1, - date, date + traits::length(date)); + tim_put.put(oss.rdbuf(), oss, '*', &time1, + date, date + traits::length(date)); string result9 = oss.str(); VERIFY( result9 == "Sunday, the second of April"); - iterator_type os_it10 = tim_put.put(oss.rdbuf(), oss, '*', &time1, - date_ex, - date_ex + traits::length(date_ex)); + tim_put.put(oss.rdbuf(), oss, '*', &time1, + date_ex, date_ex + traits::length(date_ex)); string result10 = oss.str(); VERIFY( result10 != result9 ); } diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc index 2834954616a..3274e3532fd 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc @@ -1,8 +1,8 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "fr_FR@euro" } // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -49,13 +49,12 @@ void test08() ostringstream oss; oss.imbue(loc_fr); const time_put<char>& tim_put = use_facet<time_put<char> >(oss.getloc()); - iterator_type os_it11 = tim_put.put(oss.rdbuf(), oss, '*', &time1, - date, date + traits::length(date)); + tim_put.put(oss.rdbuf(), oss, '*', &time1, + date, date + traits::length(date)); string result11 = oss.str(); VERIFY( result11 == "dimanche, the second of avril"); - iterator_type os_it12 = tim_put.put(oss.rdbuf(), oss, '*', &time1, - date_ex, - date_ex + traits::length(date_ex)); + tim_put.put(oss.rdbuf(), oss, '*', &time1, + date_ex, date_ex + traits::length(date_ex)); string result12 = oss.str(); VERIFY( result12 != result11 ); } diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc index ea40ae998e9..95c4b684490 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "es_ES" } // Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_env.cc index 5c6a8f2a18c..495dcda9f47 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_env.cc @@ -1,4 +1,7 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } +// { dg-require-namedlocale "es_ES" } +// { dg-require-namedlocale "fr_FR@euro" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc index 44776e518d8..4128ef40597 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc @@ -1,4 +1,7 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } +// { dg-require-namedlocale "es_ES" } +// { dg-require-namedlocale "fr_FR@euro" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc index 2ed02a5daa9..23259753199 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc @@ -1,6 +1,6 @@ // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -43,34 +43,35 @@ void test01() const wstring empty; wostringstream oss; oss.imbue(loc_c); - const time_put<wchar_t>& tim_put = use_facet<time_put<wchar_t> >(oss.getloc()); + const time_put<wchar_t>& tim_put + = use_facet<time_put<wchar_t> >(oss.getloc()); // 1 // iter_type // put(iter_type s, ios_base& str, char_type fill, const tm* t, // char format, char modifier = 0) const; oss.str(empty); - iterator_type os_it01 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'a'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'a'); wstring result1 = oss.str(); VERIFY( result1 == L"Sun" ); oss.str(empty); - iterator_type os_it21 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'x'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'x'); wstring result21 = oss.str(); // "04/04/71" VERIFY( result21 == L"04/04/71" ); oss.str(empty); - iterator_type os_it22 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'X'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'X'); wstring result22 = oss.str(); // "12:00:00" VERIFY( result22 == L"12:00:00" ); oss.str(empty); - iterator_type os_it31 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'x', 'E'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'x', 'E'); wstring result31 = oss.str(); // "04/04/71" VERIFY( result31 == L"04/04/71" ); oss.str(empty); - iterator_type os_it32 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'X', 'E'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'X', 'E'); wstring result32 = oss.str(); // "12:00:00" VERIFY( result32 == L"12:00:00" ); } diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc index 159b8f193bd..1298fa9e5e9 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2003, 2009 Free Software Foundation +// Copyright (C) 2003, 2009, 2010 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 @@ -45,7 +45,7 @@ void test01() bool test __attribute__((unused)) = true; wostringstream stream; - time_t tt = time(NULL); + time_t tt = time(0); const wchar_t* fmt = L"%c"; diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_2.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_2.cc index 515c998c2b1..c231354743e 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_2.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_2.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2003, 2009 Free Software Foundation +// Copyright (C) 2003, 2009, 2010 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 @@ -42,7 +42,7 @@ void test02() locale loc; const tp_type& tp = use_facet<tp_type>(loc); - time_t tt = time(NULL); + time_t tt = time(0); wostringstream stream; tp.put(tp_type::iter_type(stream), stream, stream.fill(), diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc index 8127c75ea47..2ec4225ba9c 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2003, 2009 Free Software Foundation +// Copyright (C) 2003, 2009, 2010 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 @@ -44,7 +44,7 @@ void test03() bool test __attribute__((unused)) = true; wostringstream stream; - time_t tt = time(NULL); + time_t tt = time(0); const wchar_t* fmt = L"%c"; diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc index d4f90468869..2690a0b3c88 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc @@ -1,8 +1,8 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "ta_IN" } // 2004-08-25 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2004, 2005, 2006, 2009 Free Software Foundation +// Copyright (C) 2004, 2005, 2006, 2009, 2010 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 @@ -47,7 +47,7 @@ void test01() const time_put<wchar_t>& tim_put = use_facet<time_put<wchar_t> >(oss.getloc()); - iterator_type os_it01 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'c'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'c'); wstring result1 = oss.str(); wchar_t time_buffer[128]; diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc index c8cc42c2cf7..d185fc47517 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc @@ -1,8 +1,8 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -45,29 +45,30 @@ void test02() const wstring empty; wostringstream oss; oss.imbue(loc_de); - const time_put<wchar_t>& tim_put = use_facet<time_put<wchar_t> >(oss.getloc()); + const time_put<wchar_t>& tim_put + = use_facet<time_put<wchar_t> >(oss.getloc()); - iterator_type os_it02 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'a'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'a'); wstring result2 = oss.str(); VERIFY( result2 == L"Son" || result2 == L"So" ); oss.str(empty); // "%d.%m.%Y" - iterator_type os_it23 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'x'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'x'); wstring result23 = oss.str(); // "04.04.1971" VERIFY( result23 == L"04.04.1971" ); oss.str(empty); // "%T" - iterator_type os_it24 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'X'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'X'); wstring result24 = oss.str(); // "12:00:00" VERIFY( result24 == L"12:00:00" ); oss.str(empty); - iterator_type os_it33 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'x', 'E'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'x', 'E'); wstring result33 = oss.str(); // "04.04.1971" VERIFY( result33 == L"04.04.1971" ); oss.str(empty); - iterator_type os_it34 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'X', 'E'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'X', 'E'); wstring result34 = oss.str(); // "12:00:00" VERIFY( result34 == L"12:00:00" ); } diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc index eec2fa7a358..732b42a3dd6 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc @@ -1,8 +1,8 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -45,32 +45,32 @@ void test03() const wstring empty; wostringstream oss; oss.imbue(loc_hk); - const time_put<wchar_t>& tim_put = use_facet<time_put<wchar_t> >(oss.getloc()); + const time_put<wchar_t>& tim_put + = use_facet<time_put<wchar_t> >(oss.getloc()); - iterator_type os_it03 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'a'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'a'); wstring result3 = oss.str(); VERIFY( result3 == L"Sun" ); oss.str(empty); // "%A, %B %d, %Y" - iterator_type os_it25 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'x'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'x'); wstring result25 = oss.str(); // "Sunday, April 04, 1971" VERIFY( result25 == L"Sunday, April 04, 1971" ); oss.str(empty); // "%I:%M:%S %Z" - iterator_type os_it26 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'X'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'X'); wstring result26 = oss.str(); // "12:00:00 CET" or whatever timezone VERIFY( result26.find(L"12:00:00") != wstring::npos ); oss.str(empty); - iterator_type os_it35 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'x', 'E'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'x', 'E'); wstring result35 = oss.str(); // "Sunday, April 04, 1971" VERIFY( result35 == L"Sunday, April 04, 1971" ); oss.str(empty); - iterator_type os_it36 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'X', 'E'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'X', 'E'); wstring result36 = oss.str(); // "12:00:00 CET" VERIFY( result36.find(L"12:00:00") != wstring::npos ); - } int main() diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc index e56f14ebbd5..51a0ccbb4cd 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc @@ -1,8 +1,9 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "es_ES" } // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, +// 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -45,28 +46,30 @@ void test04() const wstring empty; wostringstream oss; oss.imbue(loc_es); - const time_put<wchar_t>& tim_put = use_facet<time_put<wchar_t> >(oss.getloc()); - iterator_type os_it04 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'a'); + const time_put<wchar_t>& tim_put + = use_facet<time_put<wchar_t> >(oss.getloc()); + + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'a'); wstring result4 = oss.str(); VERIFY( result4 == L"dom" ); oss.str(empty); // "%d/%m/%y" - iterator_type os_it27 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'x'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'x'); wstring result27 = oss.str(); // "04/04/71" VERIFY( result27 == L"04/04/71" ); oss.str(empty); // "%T" - iterator_type os_it28 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'X'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'X'); wstring result28 = oss.str(); // "12:00:00" VERIFY( result28 == L"12:00:00" ); oss.str(empty); - iterator_type os_it37 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'x', 'E'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'x', 'E'); wstring result37 = oss.str(); // "04/04/71" VERIFY( result37 == L"04/04/71" ); oss.str(empty); - iterator_type os_it38 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'X', 'E'); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, 'X', 'E'); wstring result38 = oss.str(); // "12:00:00" VERIFY( result38 == L"12:00:00" ); } diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc index 77f7798abe4..1a355e0a514 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc @@ -1,6 +1,6 @@ // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -46,17 +46,17 @@ void test05() const wstring empty; wostringstream oss; oss.imbue(loc_c); - const time_put<wchar_t>& tim_put = use_facet<time_put<wchar_t> >(oss.getloc()); + const time_put<wchar_t>& tim_put + = use_facet<time_put<wchar_t> >(oss.getloc()); // 2 oss.str(empty); - iterator_type os_it05 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, - date, date + traits::length(date)); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, + date, date + traits::length(date)); wstring result5 = oss.str(); VERIFY( result5 == L"Sunday, the second of April"); - iterator_type os_it06 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, - date_ex, - date_ex + traits::length(date_ex)); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, + date_ex, date_ex + traits::length(date_ex)); wstring result6 = oss.str(); VERIFY( result6 != result5 ); } diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc index 91a68a05c03..3b18f2d7254 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc @@ -1,8 +1,8 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -48,14 +48,15 @@ void test06() const wstring empty; wostringstream oss; oss.imbue(loc_de); - const time_put<wchar_t>& tim_put = use_facet<time_put<wchar_t> >(oss.getloc()); + const time_put<wchar_t>& tim_put + = use_facet<time_put<wchar_t> >(oss.getloc()); - iterator_type os_it07 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, - date, date + traits::length(date)); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, + date, date + traits::length(date)); wstring result7 = oss.str(); VERIFY( result7 == L"Sonntag, the second of April"); - iterator_type os_it08 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, - date_ex, date_ex + traits::length(date)); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, + date_ex, date_ex + traits::length(date)); wstring result8 = oss.str(); VERIFY( result8 != result7 ); } diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc index 439d6086ca0..7f08c1ff3be 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc @@ -1,8 +1,8 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_HK" } // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -48,14 +48,15 @@ void test07() const wstring empty; wostringstream oss; oss.imbue(loc_hk); - const time_put<wchar_t>& tim_put = use_facet<time_put<wchar_t> >(oss.getloc()); + const time_put<wchar_t>& tim_put + = use_facet<time_put<wchar_t> >(oss.getloc()); - iterator_type os_it09 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, - date, date + traits::length(date)); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, + date, date + traits::length(date)); wstring result9 = oss.str(); VERIFY( result9 == L"Sunday, the second of April"); - iterator_type os_it10 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, - date_ex, date_ex + traits::length(date)); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, + date_ex, date_ex + traits::length(date)); wstring result10 = oss.str(); VERIFY( result10 != result9 ); } diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc index b073e8b9287..1042afb7cd7 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc @@ -1,8 +1,8 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "fr_FR@euro" } // 2001-09-17 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -48,13 +48,15 @@ void test08() const wstring empty; wostringstream oss; oss.imbue(loc_fr); - const time_put<wchar_t>& tim_put = use_facet<time_put<wchar_t> >(oss.getloc()); - iterator_type os_it11 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, - date, date + traits::length(date)); + const time_put<wchar_t>& tim_put + = use_facet<time_put<wchar_t> >(oss.getloc()); + + tim_put.put(oss.rdbuf(), oss, L'*', &time1, + date, date + traits::length(date)); wstring result11 = oss.str(); VERIFY( result11 == L"dimanche, the second of avril"); - iterator_type os_it12 = tim_put.put(oss.rdbuf(), oss, L'*', &time1, - date_ex, date_ex + traits::length(date)); + tim_put.put(oss.rdbuf(), oss, L'*', &time1, + date_ex, date_ex + traits::length(date)); wstring result12 = oss.str(); VERIFY( result12 != result11 ); } diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc index 5c6a8f2a18c..495dcda9f47 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc @@ -1,4 +1,7 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } +// { dg-require-namedlocale "es_ES" } +// { dg-require-namedlocale "fr_FR@euro" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc index 44776e518d8..a99899938b6 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc @@ -1,4 +1,8 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } +// { dg-require-namedlocale "en_HK" } +// { dg-require-namedlocale "es_ES" } +// { dg-require-namedlocale "fr_FR@euro" } +// { dg-require-namedlocale "ja_JP.eucjp" } // 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/23_containers/array/range_access.cc b/libstdc++-v3/testsuite/23_containers/array/range_access.cc new file mode 100644 index 00000000000..77d036276fb --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/array/range_access.cc @@ -0,0 +1,31 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 24.6.5, range access [iterator.range] + +#include <array> + +void +test01() +{ + std::array<int, 3> a{{1, 2, 3}}; + std::begin(a); + std::end(a); +} diff --git a/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/3.cc new file mode 100644 index 00000000000..9bd5bc9c065 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/3.cc @@ -0,0 +1,30 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 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/>. + +// This file tests explicit instantiation of library containers + +#include <array> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +// libstdc++/41792 +template class std::array<__gnu_test::OverloadedAddress, 3>; diff --git a/libstdc++-v3/testsuite/23_containers/bitset/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/debug/invalidation/1.cc index c9ba4d41f0a..c9ba4d41f0a 100644 --- a/libstdc++-v3/testsuite/23_containers/bitset/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/bitset/debug/invalidation/1.cc diff --git a/libstdc++-v3/testsuite/23_containers/deque/capacity/moveable.cc b/libstdc++-v3/testsuite/23_containers/deque/capacity/moveable.cc index 089b10b83a6..475880888cc 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/capacity/moveable.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/capacity/moveable.cc @@ -1,6 +1,6 @@ // { dg-options "-std=gnu++0x" } -// Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation, Inc. +// Copyright (C) 2005, 2006, 2007, 2009, 2010 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 @@ -17,16 +17,12 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. - #include <deque> #include <testsuite_hooks.h> #include <testsuite_rvalref.h> using namespace __gnu_test; -// According to n1771, there should be two resizes, with and without -// parameter. We only have one at present, whose second parameter defaults -// to a default-constructed object. void test01() { @@ -38,30 +34,17 @@ test01() a.resize(98); a.resize(99); a.resize(100); -#if ! defined _GLIBCXX_DEBUG && ! defined _GLIBCXX_PROFILE - VERIFY( copycounter::copycount == 100 ); -#else - VERIFY( copycounter::copycount == 100 + 4 ); -#endif + VERIFY( copycounter::copycount == 0 ); + a.resize(99); a.resize(0); -#if ! defined _GLIBCXX_DEBUG && ! defined _GLIBCXX_PROFILE - VERIFY( copycounter::copycount == 100 ); -#else - VERIFY( copycounter::copycount == 100 + 6 ); -#endif + VERIFY( copycounter::copycount == 0 ); + a.resize(100); -#if ! defined _GLIBCXX_DEBUG && ! defined _GLIBCXX_PROFILE - VERIFY( copycounter::copycount == 200 ); -#else - VERIFY( copycounter::copycount == 200 + 7 ); -#endif + VERIFY( copycounter::copycount == 0 ); + a.clear(); -#if ! defined _GLIBCXX_DEBUG && ! defined _GLIBCXX_PROFILE - VERIFY( copycounter::copycount == 200 ); -#else - VERIFY( copycounter::copycount == 200 + 7 ); -#endif + VERIFY( copycounter::copycount == 0 ); } diff --git a/libstdc++-v3/testsuite/23_containers/deque/capacity/resize_size.cc b/libstdc++-v3/testsuite/23_containers/deque/capacity/resize_size.cc new file mode 100644 index 00000000000..229a0eb60bc --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/deque/capacity/resize_size.cc @@ -0,0 +1,43 @@ +// { dg-options "-std=gnu++0x" } + +// 2010-06-18 Paolo Carlini <paolo.carlini@oracle.com> + +// Copyright (C) 2010 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 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/>. + +#include <deque> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + + std::deque<__gnu_test::NonCopyConstructible> d; + VERIFY( std::distance(d.begin(), d.end()) == 0 ); + + d.resize(1000); + VERIFY( std::distance(d.begin(), d.end()) == 1000 ); + for(auto it = d.begin(); it != d.end(); ++it) + VERIFY( *it == -1 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/deque/cons/cons_size.cc b/libstdc++-v3/testsuite/23_containers/deque/cons/cons_size.cc new file mode 100644 index 00000000000..0207fd7174c --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/deque/cons/cons_size.cc @@ -0,0 +1,40 @@ +// { dg-options "-std=gnu++0x" } + +// 2010-06-18 Paolo Carlini <paolo.carlini@oracle.com> + +// Copyright (C) 2010 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 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/>. + +#include <deque> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + + std::deque<__gnu_test::NonCopyConstructible> d(1000); + VERIFY( std::distance(d.begin(), d.end()) == 1000 ); + for(auto it = d.begin(); it != d.end(); ++it) + VERIFY( *it == -1 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/assign1_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/assign1_neg.cc new file mode 100644 index 00000000000..9a4d7d4394e --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/deque/debug/assign1_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <deque> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_assign1<std::deque<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/assign2_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/assign2_neg.cc new file mode 100644 index 00000000000..32eda8794dc --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/deque/debug/assign2_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <deque> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_assign2<std::deque<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/assign3_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/assign3_neg.cc new file mode 100644 index 00000000000..3d2b15e9431 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/deque/debug/assign3_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <deque> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_assign3<std::deque<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/assign4_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/assign4_neg.cc new file mode 100644 index 00000000000..7b6204158ad --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/deque/debug/assign4_neg.cc @@ -0,0 +1,32 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-do run { xfail *-*-* } } + +#include <debug/deque> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_assign1<__gnu_debug::deque<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/construct1_neg.cc new file mode 100644 index 00000000000..6268951d732 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/deque/debug/construct1_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <deque> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<std::deque<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/construct2_neg.cc new file mode 100644 index 00000000000..3b8d77547fa --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/deque/debug/construct2_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <deque> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct2<std::deque<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/construct3_neg.cc new file mode 100644 index 00000000000..1187cf8b1e1 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/deque/debug/construct3_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <deque> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct3<std::deque<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/construct4_neg.cc new file mode 100644 index 00000000000..7d7906d0511 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/deque/debug/construct4_neg.cc @@ -0,0 +1,32 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-do run { xfail *-*-* } } + +#include <debug/deque> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<__gnu_debug::deque<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/insert1_neg.cc new file mode 100644 index 00000000000..38b4f554a40 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/deque/debug/insert1_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <deque> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<std::deque<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/insert2_neg.cc new file mode 100644 index 00000000000..5aa7efae6dd --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/deque/debug/insert2_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <deque> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert2<std::deque<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/insert3_neg.cc new file mode 100644 index 00000000000..bd854ad87dd --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/deque/debug/insert3_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <deque> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert3<std::deque<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/insert4_neg.cc new file mode 100644 index 00000000000..ff88760ad44 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/deque/debug/insert4_neg.cc @@ -0,0 +1,32 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-do run { xfail *-*-* } } + +#include <debug/deque> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<__gnu_debug::deque<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/1.cc index 6af6697ea1b..6af6697ea1b 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/1.cc diff --git a/libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/2.cc index abbf47e93f4..abbf47e93f4 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/2.cc diff --git a/libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/3.cc index c5a936a5b29..c5a936a5b29 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/3.cc diff --git a/libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/4.cc index 342f5ead7c3..342f5ead7c3 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/4.cc diff --git a/libstdc++-v3/testsuite/23_containers/deque/range_access.cc b/libstdc++-v3/testsuite/23_containers/deque/range_access.cc new file mode 100644 index 00000000000..d996ed6d1b0 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/deque/range_access.cc @@ -0,0 +1,31 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 24.6.5, range access [iterator.range] + +#include <deque> + +void +test01() +{ + std::deque<int> d{1, 2, 3}; + std::begin(d); + std::end(d); +} diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc index 96be31cb62a..bd6ee636305 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc @@ -18,7 +18,7 @@ // <http://www.gnu.org/licenses/>. // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1577 } +// { dg-error "no matching" "" { target *-*-* } 1659 } // { dg-excess-errors "" } #include <deque> diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc index 59d4e2f4158..21c9d4e4f3c 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc @@ -18,7 +18,7 @@ // <http://www.gnu.org/licenses/>. // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1516 } +// { dg-error "no matching" "" { target *-*-* } 1592 } // { dg-excess-errors "" } #include <deque> diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc index 6208581b877..08f54d68018 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc @@ -1,6 +1,6 @@ // 2007-04-27 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2007, 2008, 2009 Free Software Foundation +// Copyright (C) 2007, 2008, 2009, 2010 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 @@ -18,7 +18,7 @@ // <http://www.gnu.org/licenses/>. // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1516 } +// { dg-error "no matching" "" { target *-*-* } 1592 } // { dg-excess-errors "" } #include <deque> diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc index 7fb2479d02c..a5bd6065c1c 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc @@ -18,7 +18,7 @@ // <http://www.gnu.org/licenses/>. // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1661 } +// { dg-error "no matching" "" { target *-*-* } 1743 } // { dg-excess-errors "" } #include <deque> diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/4.cc new file mode 100644 index 00000000000..4685ae14299 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/4.cc @@ -0,0 +1,30 @@ +// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 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/>. + + +// This file tests explicit instantiation of library containers + +#include <deque> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +// { dg-do compile } + +// libstdc++/41792 +template class std::deque<__gnu_test::OverloadedAddress>; diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/10.cc b/libstdc++-v3/testsuite/23_containers/forward_list/capacity/resize_size.cc index 4e599dab6bc..e22af3cbc19 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/10.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/capacity/resize_size.cc @@ -21,24 +21,17 @@ #include <forward_list> #include <testsuite_hooks.h> - -struct NoCopyConstructor -{ - NoCopyConstructor() : num(-1) { } - NoCopyConstructor(const NoCopyConstructor&) = delete; - - operator int() { return num; } - -private: - int num; -}; +#include <testsuite_api.h> void test01() { bool test __attribute__((unused)) = true; - std::forward_list<NoCopyConstructor> fl(5); - VERIFY( std::distance(fl.begin(), fl.end()) == 5 ); + std::forward_list<__gnu_test::NonCopyConstructible> fl; + VERIFY( std::distance(fl.begin(), fl.end()) == 0 ); + + fl.resize(1000); + VERIFY( std::distance(fl.begin(), fl.end()) == 1000 ); for(auto it = fl.begin(); it != fl.end(); ++it) VERIFY( *it == -1 ); } diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/6.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/cons_size.cc index 985f592e602..3d07f672089 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/6.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/cons_size.cc @@ -21,27 +21,14 @@ #include <forward_list> #include <testsuite_hooks.h> - -struct NoCopyConstructor -{ - NoCopyConstructor() : num(-1) { } - NoCopyConstructor(const NoCopyConstructor&) = delete; - - operator int() { return num; } - -private: - int num; -}; +#include <testsuite_api.h> void test01() { bool test __attribute__((unused)) = true; - std::forward_list<NoCopyConstructor> fl; - VERIFY( std::distance(fl.begin(), fl.end()) == 0 ); - - fl.resize(10); - VERIFY( std::distance(fl.begin(), fl.end()) == 10 ); + std::forward_list<__gnu_test::NonCopyConstructible> fl(1000); + VERIFY( std::distance(fl.begin(), fl.end()) == 1000 ); for(auto it = fl.begin(); it != fl.end(); ++it) VERIFY( *it == -1 ); } diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/operations/remove_freed.cc b/libstdc++-v3/testsuite/23_containers/forward_list/operations/remove_freed.cc new file mode 100644 index 00000000000..5b959209263 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/forward_list/operations/remove_freed.cc @@ -0,0 +1,94 @@ +// { dg-options "-std=gnu++0x" } + +// 2010-08-11 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 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/>. + +#include <forward_list> +#include <testsuite_hooks.h> + +// 23.3.3.5 forward_list operations [forwardlist.ops] + +// Used to cause many Valgrind errors: LWG 526-type situation. +void test01() +{ + bool test __attribute__((unused)) = true; + + std::forward_list<int> fl1; + + fl1.push_front(1); + fl1.push_front(2); + fl1.push_front(3); + fl1.push_front(4); + fl1.push_front(1); + + fl1.remove(*fl1.begin()); + + VERIFY( std::distance(fl1.begin(), fl1.end()) == 3 ); + + auto it1 = fl1.begin(); + + VERIFY( *it1 == 4 ); + ++it1; + VERIFY( *it1 == 3 ); + ++it1; + VERIFY( *it1 == 2 ); + + std::forward_list<int> fl2; + + fl2.push_front(3); + fl2.push_front(3); + fl2.push_front(3); + fl2.push_front(3); + fl2.push_front(3); + + auto it2 = fl2.begin(); + ++it2; + ++it2; + + fl2.remove(*it2); + + VERIFY( std::distance(fl2.begin(), fl2.end()) == 0 ); + + std::forward_list<int> fl3; + + fl3.push_front(1); + fl3.push_front(2); + fl3.push_front(3); + fl3.push_front(3); + fl3.push_front(3); + + auto it3 = fl3.begin(); + ++it3; + ++it3; + + fl3.remove(*it3); + + VERIFY( std::distance(fl3.begin(), fl3.end()) == 2 ); + + it3 = fl3.begin(); + VERIFY( *it3 == 2 ); + ++it3; + VERIFY( *it3 == 1 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc b/libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc new file mode 100644 index 00000000000..378cd9f0b1e --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc @@ -0,0 +1,31 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 24.6.5, range access [iterator.range] + +#include <forward_list> + +void +test01() +{ + std::forward_list<int> fl{1, 2, 3}; + std::begin(fl); + std::end(fl); +} diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc index 8d72db59c8b..aa0f3e07def 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc @@ -1,6 +1,6 @@ // { dg-do compile } // { dg-options "-std=gnu++0x" } -// { dg-error "no matching" "" { target *-*-* } 1194 } +// { dg-error "no matching" "" { target *-*-* } 1198 } // { dg-excess-errors "" } // Copyright (C) 2009, 2010 Free Software Foundation diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc index 5f5ac2c7713..3975b051611 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc @@ -1,6 +1,6 @@ // { dg-do compile } // { dg-options "-std=gnu++0x" } -// { dg-error "no matching" "" { target *-*-* } 1194 } +// { dg-error "no matching" "" { target *-*-* } 1198 } // { dg-excess-errors "" } // Copyright (C) 2009, 2010 Free Software Foundation diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc index 340a6be65e3..0b0471c8cc9 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc @@ -1,6 +1,6 @@ // { dg-do compile } // { dg-options "-std=gnu++0x" } -// { dg-error "no matching" "" { target *-*-* } 1194 } +// { dg-error "no matching" "" { target *-*-* } 1198 } // { dg-excess-errors "" } // Copyright (C) 2009, 2010 Free Software Foundation diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc index 1173dc1b697..849eb643e87 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc @@ -1,6 +1,6 @@ // { dg-do compile } // { dg-options "-std=gnu++0x" } -// { dg-error "no matching" "" { target *-*-* } 1194 } +// { dg-error "no matching" "" { target *-*-* } 1198 } // { dg-excess-errors "" } // Copyright (C) 2009, 2010 Free Software Foundation diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/4.cc new file mode 100644 index 00000000000..11f15248f1a --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/4.cc @@ -0,0 +1,32 @@ +// { dg-options "-std=gnu++0x" } + +// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 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/>. + + +// This file tests explicit instantiation of library containers + +#include <forward_list> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +// { dg-do compile } + +// libstdc++/41792 +template class std::forward_list<__gnu_test::OverloadedAddress>; diff --git a/libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc b/libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc index 3c47ae204c1..5d9bf7e0a3f 100644 --- a/libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc @@ -18,7 +18,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <array> // { dg-excess-errors "In file included from" } +#include <array> // { dg-error "upcoming ISO" "" { target *-*-* } 31 } diff --git a/libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc b/libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc index 89f850cc090..266874da23b 100644 --- a/libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc @@ -18,7 +18,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <tuple> // { dg-excess-errors "In file included from" } +#include <tuple> // { dg-error "upcoming ISO" "" { target *-*-* } 31 } diff --git a/libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc b/libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc index 65f05e1e693..dc85bc50e92 100644 --- a/libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc @@ -18,7 +18,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <unordered_map> // { dg-excess-errors "In file included from" } +#include <unordered_map> // { dg-error "upcoming ISO" "" { target *-*-* } 31 } diff --git a/libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc b/libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc index 3dabc3207be..ab22c39a6ba 100644 --- a/libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc @@ -18,7 +18,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <unordered_set> // { dg-excess-errors "In file included from" } +#include <unordered_set> // { dg-error "upcoming ISO" "" { target *-*-* } 31 } diff --git a/libstdc++-v3/testsuite/23_containers/list/23781.cc b/libstdc++-v3/testsuite/23_containers/list/23781.cc index ca275bda5ad..7b291df798a 100644 --- a/libstdc++-v3/testsuite/23_containers/list/23781.cc +++ b/libstdc++-v3/testsuite/23_containers/list/23781.cc @@ -1,6 +1,6 @@ // 2005-09-10 Paolo Carlini <pcarlini@suse.de> // -// Copyright (C) 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2005, 2009, 2010 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 @@ -22,6 +22,7 @@ // libstdc++/23781 #include <list> +#include <cstddef> typedef std::list<int> list_type; list_type::iterator it = NULL; // { dg-error "conversion" } diff --git a/libstdc++-v3/testsuite/23_containers/list/capacity/resize_size.cc b/libstdc++-v3/testsuite/23_containers/list/capacity/resize_size.cc new file mode 100644 index 00000000000..06424c0a8c1 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/list/capacity/resize_size.cc @@ -0,0 +1,43 @@ +// { dg-options "-std=gnu++0x" } + +// 2010-06-18 Paolo Carlini <paolo.carlini@oracle.com> + +// Copyright (C) 2010 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 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/>. + +#include <list> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + + std::list<__gnu_test::NonCopyConstructible> l; + VERIFY( std::distance(l.begin(), l.end()) == 0 ); + + l.resize(1000); + VERIFY( std::distance(l.begin(), l.end()) == 1000 ); + for(auto it = l.begin(); it != l.end(); ++it) + VERIFY( *it == -1 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/cons_size.cc b/libstdc++-v3/testsuite/23_containers/list/cons/cons_size.cc new file mode 100644 index 00000000000..f59f520f928 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/list/cons/cons_size.cc @@ -0,0 +1,40 @@ +// { dg-options "-std=gnu++0x" } + +// 2010-06-18 Paolo Carlini <paolo.carlini@oracle.com> + +// Copyright (C) 2010 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 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/>. + +#include <list> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + + std::list<__gnu_test::NonCopyConstructible> l(1000); + VERIFY( std::distance(l.begin(), l.end()) == 1000 ); + for(auto it = l.begin(); it != l.end(); ++it) + VERIFY( *it == -1 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/assign1_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/assign1_neg.cc new file mode 100644 index 00000000000..e7b0e5cfe14 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/list/debug/assign1_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <list> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_assign1<std::list<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/assign2_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/assign2_neg.cc new file mode 100644 index 00000000000..1bd6c2f9076 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/list/debug/assign2_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <list> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_assign2<std::list<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/assign3_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/assign3_neg.cc new file mode 100644 index 00000000000..7a40d318911 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/list/debug/assign3_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <list> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_assign3<std::list<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/assign4_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/assign4_neg.cc new file mode 100644 index 00000000000..bde7b923ee7 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/list/debug/assign4_neg.cc @@ -0,0 +1,32 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-do run { xfail *-*-* } } + +#include <debug/list> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_assign1<__gnu_debug::list<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/construct1_neg.cc new file mode 100644 index 00000000000..cbd045571a1 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/list/debug/construct1_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <list> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<std::list<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/construct2_neg.cc new file mode 100644 index 00000000000..40fdf43b8b2 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/list/debug/construct2_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <list> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct2<std::list<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/construct3_neg.cc new file mode 100644 index 00000000000..5000f5a0793 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/list/debug/construct3_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <list> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct3<std::list<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/construct4_neg.cc new file mode 100644 index 00000000000..29843ea43b5 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/list/debug/construct4_neg.cc @@ -0,0 +1,32 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-do run { xfail *-*-* } } + +#include <debug/list> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<__gnu_debug::list<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/insert1_neg.cc new file mode 100644 index 00000000000..aa35b46cf85 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/list/debug/insert1_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <list> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<std::list<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/insert2_neg.cc new file mode 100644 index 00000000000..dc84fdd584f --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/list/debug/insert2_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <list> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert2<std::list<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/insert3_neg.cc new file mode 100644 index 00000000000..aa49108386e --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/list/debug/insert3_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <list> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert3<std::list<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/insert4_neg.cc new file mode 100644 index 00000000000..ade2806881f --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/list/debug/insert4_neg.cc @@ -0,0 +1,32 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-do run { xfail *-*-* } } + +#include <debug/list> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<__gnu_debug::list<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/1.cc index 7198e2402f0..7198e2402f0 100644 --- a/libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/1.cc diff --git a/libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/2.cc index 5872936bba9..5872936bba9 100644 --- a/libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/2.cc diff --git a/libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc b/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/3.cc index 0d4844793b8..0d4844793b8 100644 --- a/libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc +++ b/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/3.cc diff --git a/libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc b/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/4.cc index a5c9219a2be..a5c9219a2be 100644 --- a/libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc +++ b/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/4.cc diff --git a/libstdc++-v3/testsuite/23_containers/list/pthread1.cc b/libstdc++-v3/testsuite/23_containers/list/pthread1.cc index fcbb039dce3..00dc817b152 100644 --- a/libstdc++-v3/testsuite/23_containers/list/pthread1.cc +++ b/libstdc++-v3/testsuite/23_containers/list/pthread1.cc @@ -1,6 +1,6 @@ // 2002-01-23 Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org> // -// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -45,9 +45,9 @@ class task_queue public: task_queue () { - pthread_mutex_init (&fooLock, NULL); - pthread_cond_init (&fooCond1, NULL); - pthread_cond_init (&fooCond2, NULL); + pthread_mutex_init (&fooLock, 0); + pthread_cond_init (&fooCond1, 0); + pthread_cond_init (&fooCond2, 0); } ~task_queue () { @@ -115,14 +115,14 @@ main() for (int i = 0; i < thread_pairs; i++) { tq[i] = new task_queue; - pthread_create (&prod[i], NULL, produce, static_cast<void*> (tq[i])); - pthread_create (&cons[i], NULL, consume, static_cast<void*> (tq[i])); + pthread_create (&prod[i], 0, produce, static_cast<void*> (tq[i])); + pthread_create (&cons[i], 0, consume, static_cast<void*> (tq[i])); } for (int i = 0; i < thread_pairs; i++) { - pthread_join (prod[i], NULL); - pthread_join (cons[i], NULL); + pthread_join (prod[i], 0); + pthread_join (cons[i], 0); delete tq[i]; } } diff --git a/libstdc++-v3/testsuite/23_containers/list/pthread5.cc b/libstdc++-v3/testsuite/23_containers/list/pthread5.cc index 57411eef3f0..4f464372124 100644 --- a/libstdc++-v3/testsuite/23_containers/list/pthread5.cc +++ b/libstdc++-v3/testsuite/23_containers/list/pthread5.cc @@ -2,7 +2,7 @@ // Adpated from libstdc++/5464 submitted by jjessel@amadeus.net // Jean-Francois JESSEL (Amadeus SAS Development) // -// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -99,7 +99,7 @@ main () #endif pthread_attr_t tattr; - int ret = pthread_attr_init (&tattr); + int ret __attribute__((unused)) = pthread_attr_init (&tattr); #ifdef _POSIX_THREAD_PRIORITY_SCHEDULING ret = pthread_attr_setscope(&tattr, PTHREAD_SCOPE_SYSTEM); #endif diff --git a/libstdc++-v3/testsuite/23_containers/list/range_access.cc b/libstdc++-v3/testsuite/23_containers/list/range_access.cc new file mode 100644 index 00000000000..afe148d9e66 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/list/range_access.cc @@ -0,0 +1,31 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 24.6.5, range access [iterator.range] + +#include <list> + +void +test01() +{ + std::list<int> l{1, 2, 3}; + std::begin(l); + std::end(l); +} diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc index d41e1498069..2446157597f 100644 --- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc @@ -18,7 +18,7 @@ // <http://www.gnu.org/licenses/>. // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1410 } +// { dg-error "no matching" "" { target *-*-* } 1478 } // { dg-excess-errors "" } #include <list> diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc index 01d9135c860..cbac8e80cbf 100644 --- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc @@ -1,6 +1,6 @@ // 2007-04-27 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2007, 2008, 2009 Free Software Foundation +// Copyright (C) 2007, 2008, 2009, 2010 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 @@ -18,7 +18,7 @@ // <http://www.gnu.org/licenses/>. // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1379 } +// { dg-error "no matching" "" { target *-*-* } 1434 } // { dg-excess-errors "" } #include <list> diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc index c13f6565df4..232bd042ddb 100644 --- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc @@ -18,7 +18,7 @@ // <http://www.gnu.org/licenses/>. // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1379 } +// { dg-error "no matching" "" { target *-*-* } 1434 } // { dg-excess-errors "" } #include <list> diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc index 262a7a15f94..aefb1f583fd 100644 --- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc @@ -18,7 +18,7 @@ // <http://www.gnu.org/licenses/>. // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1379 } +// { dg-error "no matching" "" { target *-*-* } 1434 } // { dg-excess-errors "" } #include <list> diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/4.cc new file mode 100644 index 00000000000..7ad82a365c0 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/4.cc @@ -0,0 +1,29 @@ +// Copyright (C) 2010 Free Software Foundation, Inc. + +// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com> +// +// 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/>. + +// This file tests explicit instantiation of library containers + +#include <list> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +// { dg-do compile } + +// libstdc++/41792 +template class std::list<__gnu_test::OverloadedAddress>; diff --git a/libstdc++-v3/testsuite/23_containers/map/23781.cc b/libstdc++-v3/testsuite/23_containers/map/23781.cc index f7967693f79..e282c754667 100644 --- a/libstdc++-v3/testsuite/23_containers/map/23781.cc +++ b/libstdc++-v3/testsuite/23_containers/map/23781.cc @@ -1,6 +1,6 @@ // 2005-09-10 Paolo Carlini <pcarlini@suse.de> // -// Copyright (C) 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2005, 2009, 2010 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 @@ -22,6 +22,7 @@ // libstdc++/23781 #include <map> +#include <cstddef> std::map<int, int>::iterator it = NULL; // { dg-error "conversion" } std::map<int, int>::const_iterator cit = NULL; // { dg-error "conversion" } diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/construct1_neg.cc new file mode 100644 index 00000000000..72adcf42e38 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/map/debug/construct1_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<std::map<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/construct2_neg.cc new file mode 100644 index 00000000000..a9cb0e300c3 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/map/debug/construct2_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct2<std::map<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/construct3_neg.cc new file mode 100644 index 00000000000..7f88827db77 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/map/debug/construct3_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct3<std::map<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/construct4_neg.cc new file mode 100644 index 00000000000..ce2eccc3839 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/map/debug/construct4_neg.cc @@ -0,0 +1,32 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-do run { xfail *-*-* } } + +#include <debug/map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<__gnu_debug::map<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/insert1_neg.cc new file mode 100644 index 00000000000..7b868a7aff6 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/map/debug/insert1_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<std::map<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/insert2_neg.cc new file mode 100644 index 00000000000..93c6c7ef51a --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/map/debug/insert2_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert2<std::map<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/insert3_neg.cc new file mode 100644 index 00000000000..2802a0de5bc --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/map/debug/insert3_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert3<std::map<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/insert4_neg.cc new file mode 100644 index 00000000000..a68d601089b --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/map/debug/insert4_neg.cc @@ -0,0 +1,32 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-do run { xfail *-*-* } } + +#include <debug/map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<__gnu_debug::map<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/map/debug/invalidation/1.cc index a421125278e..a421125278e 100644 --- a/libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/map/debug/invalidation/1.cc diff --git a/libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/map/debug/invalidation/2.cc index 85351da9ffb..85351da9ffb 100644 --- a/libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/map/debug/invalidation/2.cc diff --git a/libstdc++-v3/testsuite/23_containers/map/dr130.cc b/libstdc++-v3/testsuite/23_containers/map/dr130.cc index d7f3c2b0856..9186a621ea7 100644 --- a/libstdc++-v3/testsuite/23_containers/map/dr130.cc +++ b/libstdc++-v3/testsuite/23_containers/map/dr130.cc @@ -1,7 +1,7 @@ // { dg-options "-std=gnu++0x" } // 2008-07-22 Edward Smith-Rowland <3dw4rd@verizon.net> // -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -34,7 +34,7 @@ test01() typedef map<int, int>::value_type value_type; typedef pair<iterator, bool> insert_return_type; - insert_return_type irt0 = m0.insert(value_type(1, 1)); + m0.insert(value_type(1, 1)); insert_return_type irt1 = m0.insert(value_type(2, 2)); insert_return_type irt2 = m0.insert(value_type(3, 3)); @@ -58,7 +58,7 @@ test02() typedef pair<iterator, bool> insert_return_type; insert_return_type irt0 = m0.insert(value_type(1, 1)); - insert_return_type irt1 = m0.insert(value_type(2, 2)); + m0.insert(value_type(2, 2)); insert_return_type irt2 = m0.insert(value_type(3, 3)); insert_return_type irt3 = m0.insert(value_type(4, 4)); diff --git a/libstdc++-v3/testsuite/23_containers/map/pthread6.cc b/libstdc++-v3/testsuite/23_containers/map/pthread6.cc index 608527e8f08..38c20ed647f 100644 --- a/libstdc++-v3/testsuite/23_containers/map/pthread6.cc +++ b/libstdc++-v3/testsuite/23_containers/map/pthread6.cc @@ -1,7 +1,7 @@ // 2002-01-23 Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org> // Adpated from libstdc++/5444 submitted by markus.breuer@materna.de // -// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -78,10 +78,10 @@ main (void) #endif for (int i = 0; i < max_thread_count; i++) - pthread_create (&tid[i], NULL, thread_main, 0); + pthread_create (&tid[i], 0, thread_main, 0); for (int i = 0; i < max_thread_count; i++) - pthread_join (tid[i], NULL); + pthread_join (tid[i], 0); return 0; } diff --git a/libstdc++-v3/testsuite/23_containers/map/range_access.cc b/libstdc++-v3/testsuite/23_containers/map/range_access.cc new file mode 100644 index 00000000000..2fb7f4ac943 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/map/range_access.cc @@ -0,0 +1,31 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 24.6.5, range access [iterator.range] + +#include <map> + +void +test01() +{ + std::map<int, double> m{{1, 1.0}, {2, 2.0}, {3, 3.0}}; + std::begin(m); + std::end(m); +} diff --git a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/4.cc new file mode 100644 index 00000000000..2a3700adde8 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/4.cc @@ -0,0 +1,30 @@ +// Copyright (C) 2010 Free Software Foundation, Inc. + +// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com> +// +// 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/>. + +// This file tests explicit instantiation of library containers + +#include <map> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +// { dg-do compile } + +// libstdc++/41792 +template class std::map<__gnu_test::OverloadedAddress, + __gnu_test::OverloadedAddress>; diff --git a/libstdc++-v3/testsuite/23_containers/multimap/23781.cc b/libstdc++-v3/testsuite/23_containers/multimap/23781.cc index 912bb926b98..50ec929064e 100644 --- a/libstdc++-v3/testsuite/23_containers/multimap/23781.cc +++ b/libstdc++-v3/testsuite/23_containers/multimap/23781.cc @@ -1,6 +1,6 @@ // 2005-09-10 Paolo Carlini <pcarlini@suse.de> // -// Copyright (C) 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2005, 2009, 2010 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 @@ -22,6 +22,7 @@ // libstdc++/23781 #include <map> +#include <cstddef> std::multimap<int, int>::iterator it = NULL; // { dg-error "conversion" } std::multimap<int, int>::const_iterator cit = NULL; // { dg-error "conversion" } diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct1_neg.cc new file mode 100644 index 00000000000..13f5763fb84 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct1_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<std::multimap<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct2_neg.cc new file mode 100644 index 00000000000..9c389e199fb --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct2_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct2<std::multimap<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct3_neg.cc new file mode 100644 index 00000000000..b5a5288f530 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct3_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct3<std::multimap<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct4_neg.cc new file mode 100644 index 00000000000..7c267f41831 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct4_neg.cc @@ -0,0 +1,32 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-do run { xfail *-*-* } } + +#include <debug/map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<__gnu_debug::multimap<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert1_neg.cc new file mode 100644 index 00000000000..879af771c82 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert1_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<std::multimap<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert2_neg.cc new file mode 100644 index 00000000000..883ff148a46 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert2_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert2<std::multimap<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert3_neg.cc new file mode 100644 index 00000000000..f75efb58b56 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert3_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert3<std::multimap<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert4_neg.cc new file mode 100644 index 00000000000..0e5102b74b7 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert4_neg.cc @@ -0,0 +1,32 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-do run { xfail *-*-* } } + +#include <debug/map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<__gnu_debug::multimap<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/1.cc index 2ea2aabc979..2ea2aabc979 100644 --- a/libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/1.cc diff --git a/libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/2.cc index 756c951a00c..756c951a00c 100644 --- a/libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/2.cc diff --git a/libstdc++-v3/testsuite/23_containers/multimap/range_access.cc b/libstdc++-v3/testsuite/23_containers/multimap/range_access.cc new file mode 100644 index 00000000000..da4c77b4aca --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multimap/range_access.cc @@ -0,0 +1,31 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 24.6.5, range access [iterator.range] + +#include <map> + +void +test01() +{ + std::multimap<int, double> mm{{1, 1.0}, {2, 2.0}, {3, 3.0}}; + std::begin(mm); + std::end(mm); +} diff --git a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/4.cc new file mode 100644 index 00000000000..82bd4cda87b --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/4.cc @@ -0,0 +1,30 @@ +// Copyright (C) 2010 Free Software Foundation, Inc. + +// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com> +// +// 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/>. + +// This file tests explicit instantiation of library containers + +#include <map> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +// { dg-do compile } + +// libstdc++/41792 +template class std::multimap<__gnu_test::OverloadedAddress, + __gnu_test::OverloadedAddress>; diff --git a/libstdc++-v3/testsuite/23_containers/multiset/23781.cc b/libstdc++-v3/testsuite/23_containers/multiset/23781.cc index 80d13370345..6b0bacf955b 100644 --- a/libstdc++-v3/testsuite/23_containers/multiset/23781.cc +++ b/libstdc++-v3/testsuite/23_containers/multiset/23781.cc @@ -1,6 +1,6 @@ // 2005-09-10 Paolo Carlini <pcarlini@suse.de> // -// Copyright (C) 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2005, 2009, 2010 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 @@ -22,6 +22,7 @@ // libstdc++/23781 #include <set> +#include <cstddef> std::multiset<int>::iterator it = NULL; // { dg-error "conversion" } std::multiset<int>::const_iterator cit = NULL; // { dg-error "conversion" } diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct1_neg.cc new file mode 100644 index 00000000000..04b0e33f9de --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct1_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<std::multiset<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct2_neg.cc new file mode 100644 index 00000000000..d7dd965d30d --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct2_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct2<std::multiset<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct3_neg.cc new file mode 100644 index 00000000000..cc3e1471d11 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct3_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct3<std::multiset<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct4_neg.cc new file mode 100644 index 00000000000..181f4f902fc --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct4_neg.cc @@ -0,0 +1,32 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-do run { xfail *-*-* } } + +#include <debug/set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<__gnu_debug::multiset<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert1_neg.cc new file mode 100644 index 00000000000..32f20a90b76 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert1_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<std::multiset<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert2_neg.cc new file mode 100644 index 00000000000..699f0dd4710 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert2_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert2<std::multiset<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert3_neg.cc new file mode 100644 index 00000000000..92f864d6071 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert3_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert3<std::multiset<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert4_neg.cc new file mode 100644 index 00000000000..a0881075fdb --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert4_neg.cc @@ -0,0 +1,32 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-do run { xfail *-*-* } } + +#include <debug/set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<__gnu_debug::multiset<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/1.cc index 5b81b1eead2..5b81b1eead2 100644 --- a/libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/1.cc diff --git a/libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/2.cc index be4eeb42df2..be4eeb42df2 100644 --- a/libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/2.cc diff --git a/libstdc++-v3/testsuite/23_containers/multiset/range_access.cc b/libstdc++-v3/testsuite/23_containers/multiset/range_access.cc new file mode 100644 index 00000000000..b8e3accce6c --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multiset/range_access.cc @@ -0,0 +1,31 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 24.6.5, range access [iterator.range] + +#include <set> + +void +test01() +{ + std::multiset<int> ms{1, 2, 3}; + std::begin(ms); + std::end(ms); +} diff --git a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/4.cc new file mode 100644 index 00000000000..d55064cd1d3 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/4.cc @@ -0,0 +1,29 @@ +// Copyright (C) 2010 Free Software Foundation, Inc. + +// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com> +// +// 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/>. + +// This file tests explicit instantiation of library containers + +#include <set> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +// { dg-do compile } + +// libstdc++/41792 +template class std::multiset<__gnu_test::OverloadedAddress>; diff --git a/libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc b/libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc index 416468617f1..0c21b25f900 100644 --- a/libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc +++ b/libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc @@ -1,6 +1,6 @@ // 2002-06-28 pme -// Copyright (C) 2002, 2004, 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2002, 2004, 2005, 2009, 2010 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 @@ -28,12 +28,10 @@ test03() { int data[] = {1, 2, 3}; std::priority_queue<int> pq; - std::size_t size = pq.size(); for (int i = 0; i < 3; ++i) pq.push(data[i]); - size = pq.size(); pq.top(); for (int i = 0; i < 2; ++i) pq.pop(); diff --git a/libstdc++-v3/testsuite/23_containers/set/23781.cc b/libstdc++-v3/testsuite/23_containers/set/23781.cc index 7a2a2bc7240..b47b748ec8d 100644 --- a/libstdc++-v3/testsuite/23_containers/set/23781.cc +++ b/libstdc++-v3/testsuite/23_containers/set/23781.cc @@ -1,6 +1,6 @@ // 2005-09-10 Paolo Carlini <pcarlini@suse.de> // -// Copyright (C) 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2005, 2009, 2010 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 @@ -22,6 +22,7 @@ // libstdc++/23781 #include <set> +#include <cstddef> std::set<int>::iterator it = NULL; // { dg-error "conversion" } std::set<int>::const_iterator cit = NULL; // { dg-error "conversion" } diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/construct1_neg.cc new file mode 100644 index 00000000000..424eb8be20e --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/set/debug/construct1_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<std::set<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/construct2_neg.cc new file mode 100644 index 00000000000..d5819925b50 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/set/debug/construct2_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct2<std::set<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/construct3_neg.cc new file mode 100644 index 00000000000..1cc7dd2345d --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/set/debug/construct3_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct3<std::set<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/construct4_neg.cc new file mode 100644 index 00000000000..d464aabfbab --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/set/debug/construct4_neg.cc @@ -0,0 +1,32 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-do run { xfail *-*-* } } + +#include <debug/set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<__gnu_debug::set<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/insert1_neg.cc new file mode 100644 index 00000000000..3192ff9594f --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/set/debug/insert1_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<std::set<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/insert2_neg.cc new file mode 100644 index 00000000000..d0d16cfb9dd --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/set/debug/insert2_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert2<std::set<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/insert3_neg.cc new file mode 100644 index 00000000000..9eaf6f82bed --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/set/debug/insert3_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert3<std::set<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/insert4_neg.cc new file mode 100644 index 00000000000..c2424d2a370 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/set/debug/insert4_neg.cc @@ -0,0 +1,32 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-do run { xfail *-*-* } } + +#include <debug/set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<__gnu_debug::set<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/set/debug/invalidation/1.cc index 6d5a0f50bfb..6d5a0f50bfb 100644 --- a/libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/set/debug/invalidation/1.cc diff --git a/libstdc++-v3/testsuite/23_containers/set/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/set/debug/invalidation/2.cc index 2539b03dd18..2539b03dd18 100644 --- a/libstdc++-v3/testsuite/23_containers/set/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/set/debug/invalidation/2.cc diff --git a/libstdc++-v3/testsuite/23_containers/set/dr130.cc b/libstdc++-v3/testsuite/23_containers/set/dr130.cc index 1904dcdc0bd..1dac5628d37 100644 --- a/libstdc++-v3/testsuite/23_containers/set/dr130.cc +++ b/libstdc++-v3/testsuite/23_containers/set/dr130.cc @@ -1,7 +1,7 @@ // { dg-options "-std=gnu++0x" } // 2008-07-22 Edward Smith-Rowland <3dw4rd@verizon.net> // -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 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 @@ -33,7 +33,7 @@ test01() typedef set<int>::const_iterator const_iterator; typedef pair<iterator, bool> insert_return_type; - insert_return_type irt0 = s0.insert(1); + s0.insert(1); insert_return_type irt1 = s0.insert(2); insert_return_type irt2 = s0.insert(3); @@ -56,7 +56,7 @@ test02() typedef pair<iterator, bool> insert_return_type; insert_return_type irt0 = s0.insert(1); - insert_return_type irt1 = s0.insert(2); + s0.insert(2); insert_return_type irt2 = s0.insert(3); insert_return_type irt3 = s0.insert(4); diff --git a/libstdc++-v3/testsuite/23_containers/set/range_access.cc b/libstdc++-v3/testsuite/23_containers/set/range_access.cc new file mode 100644 index 00000000000..ffbda4e93fe --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/set/range_access.cc @@ -0,0 +1,31 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 24.6.5, range access [iterator.range] + +#include <set> + +void +test01() +{ + std::set<int> s{1, 2, 3}; + std::begin(s); + std::end(s); +} diff --git a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/4.cc new file mode 100644 index 00000000000..2bbe9766722 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/4.cc @@ -0,0 +1,29 @@ +// Copyright (C) 2010 Free Software Foundation, Inc. + +// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com> +// +// 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/>. + +// This file tests explicit instantiation of library containers + +#include <set> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +// { dg-do compile } + +// libstdc++/41792 +template class std::set<__gnu_test::OverloadedAddress>; diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct1_neg.cc new file mode 100644 index 00000000000..31961f7ce94 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct1_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<std::unordered_map<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct2_neg.cc new file mode 100644 index 00000000000..560651a46cc --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct2_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct2<std::unordered_map<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct3_neg.cc new file mode 100644 index 00000000000..7d57272f1f0 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct3_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct3<std::unordered_map<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct4_neg.cc new file mode 100644 index 00000000000..e37cab21aa9 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct4_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <debug/unordered_map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<__gnu_debug::unordered_map<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert1_neg.cc new file mode 100644 index 00000000000..f3d06bf744b --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert1_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<std::unordered_map<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert2_neg.cc new file mode 100644 index 00000000000..09d55e19056 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert2_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert2<std::unordered_map<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert3_neg.cc new file mode 100644 index 00000000000..41af7591772 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert3_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert3<std::unordered_map<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert4_neg.cc new file mode 100644 index 00000000000..6239431bbaf --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert4_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <debug/unordered_map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<__gnu_debug::unordered_map<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/dr1189.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/hash_policy/dr1189.cc index f89d5f19956..f89d5f19956 100644 --- a/libstdc++-v3/testsuite/23_containers/unordered_map/dr1189.cc +++ b/libstdc++-v3/testsuite/23_containers/unordered_map/hash_policy/dr1189.cc diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc new file mode 100644 index 00000000000..b41b6a5b3ee --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc @@ -0,0 +1,31 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 24.6.5, range access [iterator.range] + +#include <unordered_map> + +void +test01() +{ + std::unordered_map<int, double> um{{1, 1.0}, {2, 2.0}, {3, 3.0}}; + std::begin(um); + std::end(um); +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/4.cc new file mode 100644 index 00000000000..37b57b3717a --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/4.cc @@ -0,0 +1,33 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 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/>. + +// This file tests explicit instantiation of library containers + +#include <unordered_map> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +typedef __gnu_test::OverloadedAddress inst_type; +typedef __gnu_test::OverloadedAddress_hash hash_type; + +// libstdc++/41792 +template class std::unordered_map<inst_type, inst_type, hash_type>; diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc new file mode 100644 index 00000000000..7a17e4c0e92 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<std::unordered_multimap<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc new file mode 100644 index 00000000000..8f2c1a6d95e --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct2<std::unordered_multimap<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc new file mode 100644 index 00000000000..3fb4be737b3 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct3<std::unordered_multimap<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct4_neg.cc new file mode 100644 index 00000000000..000745e75d5 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct4_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <debug/unordered_map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<__gnu_debug::unordered_multimap<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc new file mode 100644 index 00000000000..e36a0a17033 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<std::unordered_multimap<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc new file mode 100644 index 00000000000..04a488be112 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert2<std::unordered_multimap<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc new file mode 100644 index 00000000000..1c7f60f93cc --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert3<std::unordered_multimap<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert4_neg.cc new file mode 100644 index 00000000000..988c3129354 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert4_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <debug/unordered_map> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<__gnu_debug::unordered_multimap<int, int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/dr1189.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/hash_policy/dr1189.cc index 57e5f7da725..57e5f7da725 100644 --- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/dr1189.cc +++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/hash_policy/dr1189.cc diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc new file mode 100644 index 00000000000..f95a6681b1b --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc @@ -0,0 +1,31 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 24.6.5, range access [iterator.range] + +#include <unordered_map> + +void +test01() +{ + std::unordered_multimap<int, double> umm{{1, 1.0}, {2, 2.0}, {3, 3.0}}; + std::begin(umm); + std::end(umm); +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/4.cc new file mode 100644 index 00000000000..d92fdc5b3bc --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/4.cc @@ -0,0 +1,33 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 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/>. + +// This file tests explicit instantiation of library containers + +#include <unordered_map> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +typedef __gnu_test::OverloadedAddress inst_type; +typedef __gnu_test::OverloadedAddress_hash hash_type; + +// libstdc++/41792 +template class std::unordered_multimap<inst_type, inst_type, hash_type>; diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc new file mode 100644 index 00000000000..7d8989074f3 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<std::unordered_multiset<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc new file mode 100644 index 00000000000..ea6857aa212 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct2<std::unordered_multiset<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc new file mode 100644 index 00000000000..20a4659629d --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct3<std::unordered_multiset<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct4_neg.cc new file mode 100644 index 00000000000..4fbb4fad6c4 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct4_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <debug/unordered_set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<__gnu_debug::unordered_multiset<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc new file mode 100644 index 00000000000..c65c6083d75 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<std::unordered_multiset<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc new file mode 100644 index 00000000000..6496624ee66 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert2<std::unordered_multiset<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc new file mode 100644 index 00000000000..b12fe5764cc --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert3<std::unordered_multiset<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert4_neg.cc new file mode 100644 index 00000000000..0f2acea40e2 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert4_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <debug/unordered_set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<__gnu_debug::unordered_multiset<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/dr1189.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/hash_policy/dr1189.cc index 59232a35a53..59232a35a53 100644 --- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/dr1189.cc +++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/hash_policy/dr1189.cc diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc new file mode 100644 index 00000000000..137b0d6d2e9 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc @@ -0,0 +1,31 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 24.6.5, range access [iterator.range] + +#include <unordered_set> + +void +test01() +{ + std::unordered_multiset<int> ums{1, 2, 3}; + std::begin(ums); + std::end(ums); +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/4.cc new file mode 100644 index 00000000000..618402643fa --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/4.cc @@ -0,0 +1,33 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 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/>. + +// This file tests explicit instantiation of library containers + +#include <unordered_set> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +typedef __gnu_test::OverloadedAddress inst_type; +typedef __gnu_test::OverloadedAddress_hash hash_type; + +// libstdc++/41792 +template class std::unordered_multiset<inst_type, hash_type>; diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct1_neg.cc new file mode 100644 index 00000000000..e37e5209d7f --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct1_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<std::unordered_set<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct2_neg.cc new file mode 100644 index 00000000000..90e5d55a4fb --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct2_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct2<std::unordered_set<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct3_neg.cc new file mode 100644 index 00000000000..e7222a9c275 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct3_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct3<std::unordered_set<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct4_neg.cc new file mode 100644 index 00000000000..8eb0304292c --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct4_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <debug/unordered_set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<__gnu_debug::unordered_set<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert1_neg.cc new file mode 100644 index 00000000000..ab6942ccaf3 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert1_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<std::unordered_set<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert2_neg.cc new file mode 100644 index 00000000000..81be39da9d9 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert2_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert2<std::unordered_set<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert3_neg.cc new file mode 100644 index 00000000000..2d3b7e472c6 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert3_neg.cc @@ -0,0 +1,34 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <unordered_set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert3<std::unordered_set<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert4_neg.cc new file mode 100644 index 00000000000..96d6a2a05a4 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert4_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-options "-std=gnu++0x" } +// { dg-do run { xfail *-*-* } } + +#include <debug/unordered_set> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<__gnu_debug::unordered_set<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/26132.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/26132.cc new file mode 100644 index 00000000000..afa1ddd5d80 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/26132.cc @@ -0,0 +1,57 @@ +// { dg-options "-std=gnu++0x" } + +// 2010-08-13 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 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/>. + +#include <unordered_set> +#include <testsuite_hooks.h> + +// libstdc++/26132 +void test01() +{ + bool test __attribute__((unused)) = true; + + for (float lf = 1.0; lf < 101.0; lf *= 10.0) + for (int size = 1; size <= 6561; size *= 3) + { + std::unordered_set<int> us1; + typedef std::unordered_set<int>::size_type size_type; + + us1.max_load_factor(10.0); + + for (int i = 0; i < size; ++i) + us1.insert(i); + + us1.max_load_factor(lf); + + for (int i = 1; i <= 6561; i *= 81) + { + const size_type n = size * 81 / i; + us1.rehash(n); + VERIFY( us1.bucket_count() > us1.size() / us1.max_load_factor() ); + VERIFY( us1.bucket_count() >= n ); + } + } +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/dr1189.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/dr1189.cc index e7047dbddc0..e7047dbddc0 100644 --- a/libstdc++-v3/testsuite/23_containers/unordered_set/dr1189.cc +++ b/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/dr1189.cc diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc new file mode 100644 index 00000000000..ea116c364af --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc @@ -0,0 +1,31 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 24.6.5, range access [iterator.range] + +#include <unordered_set> + +void +test01() +{ + std::unordered_set<int> us{1, 2, 3}; + std::begin(us); + std::end(us); +} diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/4.cc new file mode 100644 index 00000000000..3f619b71cd6 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/4.cc @@ -0,0 +1,33 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 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/>. + +// This file tests explicit instantiation of library containers + +#include <unordered_set> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +typedef __gnu_test::OverloadedAddress inst_type; +typedef __gnu_test::OverloadedAddress_hash hash_type; + +// libstdc++/41792 +template class std::unordered_set<inst_type, hash_type>; diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc index 22b1c76d7f3..4b45d79fc1c 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc. +// Copyright (C) 2006, 2007, 2009, 2010 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 @@ -29,10 +29,12 @@ void test01() using std::vector; using std::numeric_limits; -#ifndef _GLIBCXX_DEBUG - using std::_S_word_bit; -#else +#ifdef _GLIBCXX_DEBUG using std::_GLIBCXX_STD_D::_S_word_bit; +#elif defined(_GLIBCXX_PROFILE) + using std::_GLIBCXX_STD_PR::_S_word_bit; +#else + using std::_S_word_bit; #endif // Actually, vector<bool> is special, see libstdc++/31370. diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc index 571c6ecc1a6..40d09dbf752 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2007, 2009 Free Software Foundation, Inc. +// Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -23,10 +23,12 @@ #include <stdexcept> #include <testsuite_hooks.h> -#ifndef _GLIBCXX_DEBUG - using std::_S_word_bit; -#else +#ifdef _GLIBCXX_DEBUG using std::_GLIBCXX_STD_D::_S_word_bit; +#elif defined(_GLIBCXX_PROFILE) + using std::_GLIBCXX_STD_PR::_S_word_bit; +#else + using std::_S_word_bit; #endif inline void diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/44190.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/44190.cc new file mode 100644 index 00000000000..737108b49d6 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/44190.cc @@ -0,0 +1,38 @@ +// Copyright (C) 2010 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 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/>. + +// { dg-options "-D_GLIBCXX_DEBUG_PEDANTIC" } + +#include <vector> +#include <testsuite_hooks.h> + +// libstdc++/44190 +void test01() +{ + bool test __attribute__((unused)) = true; + + std::vector<int> v; + v.resize(10); + VERIFY( v.size() <= v.capacity() ); +} + +int main() +{ + + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/vector/resize/1.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/1.cc index 168df7a4a97..168df7a4a97 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/resize/1.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/1.cc diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/moveable.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/moveable.cc new file mode 100644 index 00000000000..5ba026dbeb5 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/moveable.cc @@ -0,0 +1,56 @@ +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 +// 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 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/>. + +#include <vector> +#include <testsuite_hooks.h> +#include <testsuite_rvalref.h> + +using namespace __gnu_test; + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::vector<copycounter> a; + copycounter::copycount = 0; + a.resize(10); + a.resize(98); + a.resize(99); + a.resize(100); + VERIFY( copycounter::copycount == 0 ); + + a.resize(99); + a.resize(0); + VERIFY( copycounter::copycount == 0 ); + + a.resize(100); + VERIFY( copycounter::copycount == 0 ); + + a.clear(); + VERIFY( copycounter::copycount == 0 ); +} + + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/resize_size.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/resize_size.cc new file mode 100644 index 00000000000..d181168acf7 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/resize_size.cc @@ -0,0 +1,43 @@ +// { dg-options "-std=gnu++0x" } + +// 2010-06-18 Paolo Carlini <paolo.carlini@oracle.com> + +// Copyright (C) 2010 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 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/>. + +#include <vector> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + + std::vector<__gnu_test::NonCopyConstructible> v; + VERIFY( std::distance(v.begin(), v.end()) == 0 ); + + v.resize(1000); + VERIFY( std::distance(v.begin(), v.end()) == 1000 ); + for(auto it = v.begin(); it != v.end(); ++it) + VERIFY( *it == -1 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/cons_size.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/cons_size.cc new file mode 100644 index 00000000000..a33ba1ad69e --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/vector/cons/cons_size.cc @@ -0,0 +1,40 @@ +// { dg-options "-std=gnu++0x" } + +// 2010-06-18 Paolo Carlini <paolo.carlini@oracle.com> + +// Copyright (C) 2010 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 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/>. + +#include <vector> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + + std::vector<__gnu_test::NonCopyConstructible> v(1000); + VERIFY( std::distance(v.begin(), v.end()) == 1000 ); + for(auto it = v.begin(); it != v.end(); ++it) + VERIFY( *it == -1 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/assign1_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/assign1_neg.cc new file mode 100644 index 00000000000..ff9c5a24b18 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/vector/debug/assign1_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <vector> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_assign1<std::vector<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/assign2_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/assign2_neg.cc new file mode 100644 index 00000000000..4384a97bd26 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/vector/debug/assign2_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <vector> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_assign2<std::vector<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/assign3_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/assign3_neg.cc new file mode 100644 index 00000000000..9cb7ea6f9bc --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/vector/debug/assign3_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <vector> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_assign3<std::vector<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/assign4_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/assign4_neg.cc new file mode 100644 index 00000000000..8e3d3be9c01 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/vector/debug/assign4_neg.cc @@ -0,0 +1,32 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-do run { xfail *-*-* } } + +#include <debug/vector> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_assign1<__gnu_debug::vector<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/construct1_neg.cc new file mode 100644 index 00000000000..dc0b4a22eb7 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/vector/debug/construct1_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <vector> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<std::vector<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/construct2_neg.cc new file mode 100644 index 00000000000..13757a1fa5e --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/vector/debug/construct2_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <vector> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct2<std::vector<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/construct3_neg.cc new file mode 100644 index 00000000000..661af4382d8 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/vector/debug/construct3_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <vector> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct3<std::vector<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/construct4_neg.cc new file mode 100644 index 00000000000..ec33a581340 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/vector/debug/construct4_neg.cc @@ -0,0 +1,32 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-do run { xfail *-*-* } } + +#include <debug/vector> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_construct1<__gnu_debug::vector<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/insert1_neg.cc new file mode 100644 index 00000000000..2ec0d9e02a9 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/vector/debug/insert1_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <vector> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<std::vector<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/insert2_neg.cc new file mode 100644 index 00000000000..011ad4c0c31 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/vector/debug/insert2_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <vector> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert2<std::vector<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/insert3_neg.cc new file mode 100644 index 00000000000..4dab133b571 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/vector/debug/insert3_neg.cc @@ -0,0 +1,33 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-require-debug-mode "" } +// { dg-do run { xfail *-*-* } } + +#include <vector> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert3<std::vector<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/insert4_neg.cc new file mode 100644 index 00000000000..684ebb598c1 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/vector/debug/insert4_neg.cc @@ -0,0 +1,32 @@ +// Copyright (C) 2010 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 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/>. +// +// { dg-do run { xfail *-*-* } } + +#include <debug/vector> +#include <debug/checks.h> + +void test01() +{ + __gnu_test::check_insert1<__gnu_debug::vector<int> >(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/1.cc index 0111efe4875..0111efe4875 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/1.cc diff --git a/libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/2.cc index 9652ffb537a..9652ffb537a 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/2.cc diff --git a/libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/3.cc index df8759c52e4..df8759c52e4 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/3.cc diff --git a/libstdc++-v3/testsuite/23_containers/vector/invalidation/4.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/4.cc index 569530693c8..569530693c8 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/invalidation/4.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/4.cc diff --git a/libstdc++-v3/testsuite/23_containers/vector/range_access.cc b/libstdc++-v3/testsuite/23_containers/vector/range_access.cc new file mode 100644 index 00000000000..0a10959b240 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/vector/range_access.cc @@ -0,0 +1,35 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 24.6.5, range access [iterator.range] + +#include <vector> + +void +test01() +{ + std::vector<double> v{1.0, 2.0, 3.0}; + std::begin(v); + std::end(v); + + std::vector<bool> vb{true, false, true}; + std::begin(vb); + std::end(vb); +} diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc index f0fae0083ba..6925c1776a4 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc @@ -18,7 +18,7 @@ // <http://www.gnu.org/licenses/>. // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1055 } +// { dg-error "no matching" "" { target *-*-* } 1148 } // { dg-excess-errors "" } #include <vector> diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc index ea0acfb5a91..662bf169b23 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc @@ -18,7 +18,7 @@ // <http://www.gnu.org/licenses/>. // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 995 } +// { dg-error "no matching" "" { target *-*-* } 1078 } // { dg-excess-errors "" } #include <vector> diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc index 67dd1f33e11..fe2a2b25475 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc @@ -18,7 +18,7 @@ // <http://www.gnu.org/licenses/>. // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 995 } +// { dg-error "no matching" "" { target *-*-* } 1078 } // { dg-excess-errors "" } #include <vector> diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc index 9eb0ab15acf..9869af131df 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc @@ -18,7 +18,7 @@ // <http://www.gnu.org/licenses/>. // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1096 } +// { dg-error "no matching" "" { target *-*-* } 1189 } // { dg-excess-errors "" } #include <vector> diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/4.cc new file mode 100644 index 00000000000..9305e3c87c5 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/4.cc @@ -0,0 +1,29 @@ +// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 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/>. + +// This file tests explicit instantiation of library containers + +#include <vector> +#include <testsuite_hooks.h> +#include <testsuite_api.h> + +// { dg-do compile } + +// libstdc++/41792 +template class std::vector<__gnu_test::OverloadedAddress>; diff --git a/libstdc++-v3/testsuite/23_containers/vector/resize/moveable.cc b/libstdc++-v3/testsuite/23_containers/vector/resize/moveable.cc deleted file mode 100644 index 47fdf8fcafa..00000000000 --- a/libstdc++-v3/testsuite/23_containers/vector/resize/moveable.cc +++ /dev/null @@ -1,75 +0,0 @@ -// { dg-options "-std=gnu++0x" } - -// Copyright (C) 2005, 2006, 2007, 2008, 2009 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 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/>. - - -#include <vector> -#include <testsuite_hooks.h> -#include <testsuite_rvalref.h> - -using namespace __gnu_test; - -// According to n1771, there should be two resizes, with and without -// parameter. We only have one at present, whose second parameter defaults -// to a default-constructed object. -// Also, the values are one higher than might be expected because internally -// resize calls fill, which copies its input value in case it is already in -// the vector when the vector isn't moved. -void -test01() -{ - bool test __attribute__((unused)) = true; - - std::vector<copycounter> a; - copycounter::copycount = 0; - a.resize(10); - a.resize(98); - a.resize(99); - a.resize(100); -#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PROFILE) - VERIFY( copycounter::copycount == 100 + 1 ); -#else - VERIFY( copycounter::copycount == 100 + 1 + 4 ); -#endif - a.resize(99); - a.resize(0); -#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PROFILE) - VERIFY( copycounter::copycount == 100 + 1 ); -#else - VERIFY( copycounter::copycount == 100 + 1 + 6 ); -#endif - a.resize(100); -#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PROFILE) - VERIFY( copycounter::copycount == 200 + 2 ); -#else - VERIFY( copycounter::copycount == 200 + 2 + 7 ); -#endif - a.clear(); -#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PROFILE) - VERIFY( copycounter::copycount == 200 + 2 ); -#else - VERIFY( copycounter::copycount == 200 + 2 + 7 ); -#endif -} - - -int main() -{ - test01(); - return 0; -} diff --git a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/2.cc b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/2.cc index d69155893ac..2c967ac2778 100644 --- a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/2.cc +++ b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/2.cc @@ -1,6 +1,7 @@ // 2001-06-21 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2004, 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2004, 2005, 2009, 2010 +// 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 @@ -27,6 +28,7 @@ void test02() typedef std::back_insert_iterator<std::list<int> > iterator_type; std::list<int> li; iterator_type it = std::back_inserter(li); + it = it; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/2.cc b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/2.cc index 69aefe869e3..e72723764cb 100644 --- a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/2.cc +++ b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/2.cc @@ -1,6 +1,6 @@ // 2001-06-21 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2004, 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2004, 2005, 2009, 2010 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 @@ -27,6 +27,7 @@ void test02() typedef std::front_insert_iterator<std::list<int> > iterator_type; std::list<int> li; iterator_type it = std::front_inserter(li); + it = it; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access.cc b/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access.cc new file mode 100644 index 00000000000..8082e0d0631 --- /dev/null +++ b/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access.cc @@ -0,0 +1,33 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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/>. + +#include <iterator> + +namespace std +{ + template<class C> auto begin(C& c) -> decltype(c.begin()); + template<class C> auto begin(const C& c) -> decltype(c.begin()); + + template<class C> auto end(C& c) -> decltype(c.end()); + template<class C> auto end(const C& c) -> decltype(c.end()); + + template<class T, size_t N> T* begin(T (&array)[N]); + template<class T, size_t N> T* end(T (&array)[N]); +} diff --git a/libstdc++-v3/testsuite/24_iterators/insert_iterator/2.cc b/libstdc++-v3/testsuite/24_iterators/insert_iterator/2.cc index a5961211a37..ac949307e09 100644 --- a/libstdc++-v3/testsuite/24_iterators/insert_iterator/2.cc +++ b/libstdc++-v3/testsuite/24_iterators/insert_iterator/2.cc @@ -1,6 +1,6 @@ // 2001-06-21 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2004, 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2004, 2005, 2009, 2010 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 @@ -30,6 +30,8 @@ void test02() std::list<int>::iterator liit = li.begin(); iterator_type it01(li, liit); iterator_type it02 = std::inserter(li, liit); + it01 = it01; // Suppress unused warnings. + it02 = it02; } int main() diff --git a/libstdc++-v3/testsuite/24_iterators/operations/40497.cc b/libstdc++-v3/testsuite/24_iterators/operations/40497.cc new file mode 100644 index 00000000000..59a64fbb099 --- /dev/null +++ b/libstdc++-v3/testsuite/24_iterators/operations/40497.cc @@ -0,0 +1,41 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// Copyright (C) 2010 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 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/>. + +namespace X +{ + class C { }; + + template<class T> void next(T) { } + template<class T> void prev(T) { } +} + +using namespace X; + +#include <iterator> + +using namespace std; + +// libstdc++/40497 +void test01() +{ + C c; + next(c); + prev(c); +} diff --git a/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/2.cc b/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/2.cc index 36d8adde348..0b86efacb92 100644 --- a/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/2.cc +++ b/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/2.cc @@ -1,6 +1,6 @@ // 2001-04-30 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -49,7 +49,7 @@ bool test02(void) *ostrb_it01; VERIFY( !ostrb_it01.failed() ); - costreambuf_iter ostrb_it02(NULL); + costreambuf_iter ostrb_it02(0); VERIFY( ostrb_it02.failed() ); ostrb_it02++; ++ostrb_it02; diff --git a/libstdc++-v3/testsuite/24_iterators/range_access.cc b/libstdc++-v3/testsuite/24_iterators/range_access.cc new file mode 100644 index 00000000000..3bd1d2e5da3 --- /dev/null +++ b/libstdc++-v3/testsuite/24_iterators/range_access.cc @@ -0,0 +1,31 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 24.6.5, range access [iterator.range] + +#include <iterator> + +void +test01() +{ + int arr[3] = {1, 2, 3}; + std::begin(arr); + std::end(arr); +} diff --git a/libstdc++-v3/testsuite/25_algorithms/fill_n/25306.cc b/libstdc++-v3/testsuite/25_algorithms/fill_n/25306.cc new file mode 100644 index 00000000000..37ccd7c36e8 --- /dev/null +++ b/libstdc++-v3/testsuite/25_algorithms/fill_n/25306.cc @@ -0,0 +1,30 @@ +// { dg-do compile } + +// Copyright (C) 2010 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 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/>. + +#include <algorithm> + +struct Size +{ + operator int() { return 0; } +private: + void operator=(Size&); +}; + +// libstdc++/25306 +template int* std::fill_n(int*, Size, const int&); diff --git a/libstdc++-v3/testsuite/25_algorithms/generate_n/25306.cc b/libstdc++-v3/testsuite/25_algorithms/generate_n/25306.cc new file mode 100644 index 00000000000..f73ff3d778e --- /dev/null +++ b/libstdc++-v3/testsuite/25_algorithms/generate_n/25306.cc @@ -0,0 +1,30 @@ +// { dg-do compile } + +// Copyright (C) 2010 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 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/>. + +#include <algorithm> + +struct Size +{ + operator int() { return 0; } +private: + void operator=(Size&); +}; + +// libstdc++/25306 +template int* std::generate_n(int*, Size, int (*)()); diff --git a/libstdc++-v3/testsuite/25_algorithms/minmax/3.cc b/libstdc++-v3/testsuite/25_algorithms/minmax/3.cc index f0944b0bfde..0e99d51d210 100644 --- a/libstdc++-v3/testsuite/25_algorithms/minmax/3.cc +++ b/libstdc++-v3/testsuite/25_algorithms/minmax/3.cc @@ -2,7 +2,7 @@ // 2008-09-16 Chris Fairles <chris.fairles@gmail.com> -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -41,8 +41,7 @@ void test01() { bool test __attribute__((unused)) = true; - std::pair<int, int> z = std::minmax({1, 2, 3, 4, 5, 6, 7, 8}, - compare_counter()); + std::minmax({1, 2, 3, 4, 5, 6, 7, 8}, compare_counter()); // If N is the number of arguments in the minmax function call, // 25.3.7 specifies that at most 3N/2 comparisons are allowed. diff --git a/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/2.cc index 6941bd08779..84031024823 100644 --- a/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/2.cc +++ b/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/2.cc @@ -21,7 +21,6 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. - #include <algorithm> #include <random> #include <testsuite_api.h> @@ -34,5 +33,5 @@ namespace std typedef value_type* iterator_type; typedef std::mt19937_64 ugenerator_type; - template void shuffle(iterator_type, iterator_type, ugenerator_type&); + template void shuffle(iterator_type, iterator_type, ugenerator_type&&); } diff --git a/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/pod.cc index a33ddd46bf9..0f0a1e19ea4 100644 --- a/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/pod.cc +++ b/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/pod.cc @@ -33,5 +33,5 @@ namespace std typedef value_type* iterator_type; typedef std::mt19937_64 ugenerator_type; - template void shuffle(iterator_type, iterator_type, ugenerator_type&); + template void shuffle(iterator_type, iterator_type, ugenerator_type&&); } diff --git a/libstdc++-v3/testsuite/26_numerics/complex/complex_value.cc b/libstdc++-v3/testsuite/26_numerics/complex/complex_value.cc index 9dd25077c38..dc05a2b19b4 100644 --- a/libstdc++-v3/testsuite/26_numerics/complex/complex_value.cc +++ b/libstdc++-v3/testsuite/26_numerics/complex/complex_value.cc @@ -3,7 +3,7 @@ // 2000-11-20 // Benjamin Kosnik bkoz@redhat.com -// Copyright (C) 2000, 2003, 2004, 2009 Free Software Foundation, Inc. +// Copyright (C) 2000, 2003, 2004, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -34,27 +34,27 @@ void test01() complex_type a(cd1, cd2); double d; d = a.real(); - VERIFY( d == cd1); + VERIFY( d == cd1 ); d = a.imag(); - VERIFY(d == cd2); + VERIFY( d == cd2 ); complex_type c(cd1, cd2); double d6 = abs(c); - VERIFY( d6 >= 0); + VERIFY( d6 >= 0 ); double d7 = arg(c); double d8 = atan2(c.imag(), c.real()); - VERIFY( d7 == d8); + VERIFY( d7 == d8 ); double d9 = norm(c); double d10 = d6 * d6; - VERIFY(d9 - d10 == 0); + VERIFY( d9 - d10 == 0 ); - complex_type e = conj(c); + complex_type e __attribute__((unused)) = conj(c); complex_type f = polar(c.imag(), 0.0); - VERIFY(f.real() != 0); + VERIFY( f.real() != 0 ); } diff --git a/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc index f44757851e0..d81271ab07a 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc @@ -18,7 +18,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <ccomplex> // { dg-excess-errors "In file included from" } +#include <ccomplex> // { dg-error "upcoming ISO" "" { target *-*-* } 31 } diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc index c4573758adc..a353da9e820 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc @@ -18,7 +18,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <cfenv> // { dg-excess-errors "In file included from" } +#include <cfenv> // { dg-error "upcoming ISO" "" { target *-*-* } 31 } diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++.cc index e85ecab818a..3f4b8ba26e1 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++.cc @@ -70,6 +70,7 @@ template <typename _Tp> res = std::islessequal(f1,f2); res = std::islessgreater(f1, f2); res = std::isunordered(f1, f2); + res = res; // Suppress unused warning. } #endif diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++0x.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++0x.cc new file mode 100644 index 00000000000..413fe69259a --- /dev/null +++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++0x.cc @@ -0,0 +1,92 @@ +// Copyright (C) 2010 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 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/>. + +// { dg-options "-std=gnu++0x" } +// { dg-do compile { xfail uclibc } } +// { dg-excess-errors "" { target uclibc } } + +#include <cmath> + +void fpclassify() { } + +void isfinite() { } + +void isinf() { } + +void isnan() { } + +void isnormal() { } + +void signbit() { } + +void isgreater() { } + +void isgreaterequal() { } + +void isless() { } + +void islessequal() { } + +void islessgreater() { } + +void isunordered() { } + +#if _GLIBCXX_USE_C99_MATH +template <typename _Tp, typename _Up = _Tp> + void test_c99_classify() + { + bool test __attribute__((unused)) = true; + + typedef _Tp fp_type_one; + typedef _Up fp_type_two; + fp_type_one f1 = 1.0; + fp_type_two f2 = 3.0; + int resi; + bool res; + + resi = std::fpclassify(f1); + res = std::isfinite(f2); + res = std::isinf(f1); + res = std::isnan(f2); + res = std::isnormal(f1); + res = std::signbit(f2); + res = std::isgreater(f1, f2); + res = std::isgreaterequal(f1, f2); + res = std::isless(f1, f2); + res = std::islessequal(f1,f2); + res = std::islessgreater(f1, f2); + res = std::isunordered(f1, f2); + resi = resi; // Suppress unused warning. + res = res; + } +#endif + +int main() +{ +#if _GLIBCXX_USE_C99_MATH + test_c99_classify<float>(); + test_c99_classify<double>(); + test_c99_classify<long double>(); + test_c99_classify<float, double>(); + test_c99_classify<float, long double>(); + test_c99_classify<double, float>(); + test_c99_classify<double, long double>(); + test_c99_classify<long double, float>(); + test_c99_classify<long double, double>(); +#endif + return 0; +} diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc index 142e1da38bd..716dda51b1e 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc @@ -20,8 +20,8 @@ // { dg-do compile } // { dg-add-options no_pch } -// { dg-xfail-if "" { { *-*-linux* *-*-darwin* hppa*-*-hpux* } || { uclibc || newlib } } { "*" } { "" } } -// { dg-excess-errors "" { target { { *-*-linux* *-*-darwin* hppa*-*-hpux* } || { uclibc || newlib } } } } +// { dg-xfail-if "" { { *-*-linux* *-*-darwin* *-*-solaris2.1[0-9]* hppa*-*-hpux* } || { uclibc || newlib } } { "*" } { "" } } +// { dg-excess-errors "" { target { { *-*-linux* *-*-darwin* *-*-solaris2.1[0-9]* hppa*-*-hpux* } || { uclibc || newlib } } } } #include <math.h> diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/overloads.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/overloads.cc index 4418bc31b20..5819e1a18a7 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/overloads.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/overloads.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 +// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -43,4 +43,5 @@ int main() ans = std::sinh(j); ans = std::tan(i); ans = std::tanh(i); + ans = ans; // Suppress unused warnings. } diff --git a/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc index f1f2a77224a..15175885cb4 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc @@ -18,7 +18,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <ctgmath> // { dg-excess-errors "In file included from" } +#include <ctgmath> // { dg-error "upcoming ISO" "" { target *-*-* } 31 } diff --git a/libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc index 6463f520db5..41311965aff 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc @@ -18,7 +18,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <random> // { dg-excess-errors "In file included from" } +#include <random> // { dg-error "upcoming ISO" "" { target *-*-* } 31 } diff --git a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/copy.cc b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/copy.cc index d244c769162..6010c536cef 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/copy.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/copy.cc @@ -33,6 +33,7 @@ test01() const auto f(e); auto g(f); + g = g; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/copy.cc b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/copy.cc index 1e88b89efe8..111af1964e4 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/copy.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/copy.cc @@ -34,6 +34,7 @@ test01() const auto f(e); auto g(f); + g = g; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/copy.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/copy.cc index 06360aa0678..6f5b8d29754 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/copy.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/copy.cc @@ -28,7 +28,8 @@ test01() std::linear_congruential_engine<unsigned long, 48271, 0, 2147483647> e(1); const auto f(e); - auto g(f); + auto g(f); + g = g; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constants.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constants.cc index af0c4b1e356..2b48164fb83 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constants.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constants.cc @@ -4,7 +4,7 @@ // // 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com> // -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -31,6 +31,7 @@ void test01() p = &lc.increment; p = &lc.modulus; p = &lc.default_seed; + p = p; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/copy.cc b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/copy.cc index 3da72cbf5fd..98ea4fe0387 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/copy.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/copy.cc @@ -36,6 +36,7 @@ test01() const auto f(e); auto g(f); + g = g; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constants.cc b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constants.cc index 2abc5ab9b64..ad38bec01c0 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constants.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constants.cc @@ -4,7 +4,7 @@ // // 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com> // -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -41,6 +41,7 @@ void test01() p = &mt.tempering_l; p = &mt.initialization_multiplier; p = &mt.default_seed; + p = p; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/copy.cc b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/copy.cc index c589a4edc8a..55e38e22f80 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/copy.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/copy.cc @@ -33,6 +33,7 @@ test01() const auto f(e); auto g(f); + g = g; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constants.cc b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constants.cc index c1d5b3a2e45..2a96488cd3d 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constants.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constants.cc @@ -4,7 +4,7 @@ // // 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com> // -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 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 @@ -29,6 +29,7 @@ void test01() const void* p = &so.table_size; p = &so.table_size; + p = p; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/copy.cc b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/copy.cc index 21df0a07e3c..2639e87dd4c 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/copy.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/copy.cc @@ -29,6 +29,7 @@ test01() const auto f(e); auto g(f); + g = g; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constants.cc b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constants.cc index 2ab13a30309..8c033cd26e3 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constants.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constants.cc @@ -4,7 +4,7 @@ // // 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com> // -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -31,6 +31,7 @@ void test01() p = &swc.short_lag; p = &swc.long_lag; p = &swc.default_seed; + p = p; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/26_numerics/slice_array/array_assignment.cc b/libstdc++-v3/testsuite/26_numerics/slice_array/array_assignment.cc index 59bf014a475..0357e5de71e 100644 --- a/libstdc++-v3/testsuite/26_numerics/slice_array/array_assignment.cc +++ b/libstdc++-v3/testsuite/26_numerics/slice_array/array_assignment.cc @@ -1,6 +1,6 @@ // 20010613 gdr -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2009, 2010 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 @@ -17,8 +17,6 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. - - // This is DR-253. Test for accessible assignment-operators. #include <valarray> #include <testsuite_hooks.h> @@ -36,7 +34,7 @@ int main() VERIFY(v[3] == 1 && w[3] == 1); VERIFY(v[6] == 1 && w[6] == 1); - std::slice_array<int> t = v[slice(0, 10, 1)]; + std::slice_array<int> t __attribute__((unused)) = v[slice(0, 10, 1)]; return 0; } diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc b/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc new file mode 100644 index 00000000000..be08d0298d3 --- /dev/null +++ b/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc @@ -0,0 +1,31 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 26.6.10 valarray range access: [valarray.range] + +#include <valarray> + +void +test01() +{ + std::valarray<double> va{1.0, 2.0, 3.0}; + std::begin(va); + std::end(va); +} diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/1.cc index 6dc56f9b154..0a12e722450 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/1.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2009, 2010 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 @@ -61,19 +61,19 @@ void test_01() // filebuf_type* close() std::filebuf* f; f = fb_01.close(); - VERIFY( f != NULL ); + VERIFY( f ); VERIFY( !fb_01.is_open() ); f = fb_02.close(); - VERIFY( f != NULL ); + VERIFY( f ); VERIFY( !fb_02.is_open() ); f = fb_03.close(); - VERIFY( f != NULL ); + VERIFY( f ); VERIFY( !fb_03.is_open() ); f = fb_03.close(); - VERIFY( f == NULL ); + VERIFY( !f ); VERIFY( !fb_03.is_open() ); } diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-3.cc index 2074ee78a0b..fe0624d109e 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-3.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-3.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -71,7 +71,7 @@ void test01() VERIFY( !cvt->unshift_called ); filebuf* ret = fb.close(); VERIFY( cvt->unshift_called ); - VERIFY( ret == NULL ); + VERIFY( !ret ); } int main() diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc index 9d0cb0f7499..c1a0f79c8e2 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -48,7 +48,7 @@ void test_02() // read (ext) FILE* f2 = fopen(name_01, "r"); - VERIFY( f2 != NULL ); + VERIFY( f2 ); if (f2) { __gnu_cxx::stdio_filebuf<char> fb(f2, std::ios_base::in, 512); @@ -58,7 +58,7 @@ void test_02() // read (standard) FILE* f = fopen(name_01, "r"); - VERIFY( f != NULL ); + VERIFY( f ); if (f) { std::ifstream ifstream1(name_01); diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/9964.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/9964.cc index e520682b112..f2c5abc3eb3 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/9964.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/9964.cc @@ -1,7 +1,7 @@ // { dg-require-fork "" } // { dg-require-mkfifo "" } -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -69,14 +69,14 @@ bool test_07() filebuf fb; filebuf* ret = fb.open(name, ios_base::in | ios_base::out); - VERIFY( ret != NULL ); + VERIFY( ret != 0 ); VERIFY( fb.is_open() ); s1.signal(); s2.wait(); fb.sputc('a'); ret = fb.close(); - VERIFY( ret != NULL ); + VERIFY( ret != 0 ); VERIFY( !fb.is_open() ); return test; diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc index baa4ed31eb8..417fbc2ce39 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2003, 2009, 2010 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 @@ -69,7 +69,7 @@ void test01() VERIFY( !cvt->unshift_called ); wfilebuf* ret = fb.close(); VERIFY( cvt->unshift_called ); - VERIFY( ret == NULL ); + VERIFY( !ret ); } int main() diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13007.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13007.cc index 9f805a020ad..326aa1fd818 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13007.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13007.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "fr_FR" } // Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc index e25e8e50b1e..9fbf67aef7f 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } // Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc index 8f14ab07729..fa0bf15c058 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "en_US" } // { dg-require-fork "" } // { dg-require-mkfifo "" } diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc index ba49bd23108..1ac9557cee7 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } // Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc index abcab50c9af..fdcc0302211 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } // { dg-require-fork "" } // { dg-require-mkfifo "" } diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc index 30b013c3033..5007b085e71 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } // 2004-04-16 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/2.cc index 5f188c20367..f4d574c2170 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2003-05-13 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/9322.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/9322.cc index 044563d7903..8a611e0dc5e 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/9322.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/9322.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "de_DE" } // 2001-05-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc index b308cd0f5d6..bc7c3c1bdcd 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "is_IS.UTF-8" } // Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc index 63e162fa9db..9bb1f40358d 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "fr_FR" } // Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc index 60f9095e659..ec11237d032 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc @@ -1,4 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "fr_FR" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "de_DE" } // Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc index 26ed4f1aa93..7a997739f98 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } // { dg-require-fork "" } // { dg-require-mkfifo "" } diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc index 07d4d6c7b3f..246ae8c6eb5 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "fr_FR" } // 2004-01-11 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc index a3a78120e78..dc1314556d1 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc @@ -1,10 +1,11 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } // { dg-require-fork "" } // { dg-require-mkfifo "" } // 2004-04-16 Petur Runolfsson <peturr02@ru.is> -// Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc. +// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010 +// 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 @@ -68,7 +69,7 @@ bool test01() wfilebuf fb; fb.pubimbue(loc_us); wfilebuf* ret = fb.open(name, ios_base::out); - VERIFY( ret != NULL ); + VERIFY( ret != 0 ); VERIFY( fb.is_open() ); s1.wait(); diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc index d8445c0c8e7..52941a5fc22 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 2003-05-13 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc index a240a0f75e4..f69d9f0d687 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "de_DE" } // 2001-05-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/1.cc index e10bd9153f2..1a40da155cf 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/1.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -53,11 +53,11 @@ void test_01() // Should keep the old file attached, and disregard attempt to overthrow. std::filebuf* f = fb_02.open(name_02, std::ios_base::in | std::ios_base::out | std::ios_base::trunc); - VERIFY( f != NULL ); + VERIFY( f ); VERIFY( fb_02.is_open() ); f = fb_02.open(name_03, std::ios_base::in | std::ios_base::out); - VERIFY( f == NULL ); + VERIFY( !f ); VERIFY( fb_02.is_open() ); fb_03.open(name_03, std::ios_base::out | std::ios_base::trunc); diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/2.cc index 1bd81ee14d9..755784fb9ae 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/2.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -41,7 +41,7 @@ void test_03() int first_fd = ::open(name_01, O_RDONLY); VERIFY( first_fd != -1 ); FILE* first_file = ::fdopen(first_fd, "r"); - VERIFY( first_file != NULL ); + VERIFY( first_file ); __gnu_cxx::stdio_filebuf<char> fb(first_file, std::ios_base::in); int second_fd = fb.fd(); diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/9507.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/9507.cc index cfec76b310b..5b404375e63 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/9507.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/9507.cc @@ -1,6 +1,7 @@ // { dg-require-mkfifo "" } -// Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2005, 2009, 2010 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -55,7 +56,7 @@ void test_06() std::ios_base::in | std::ios_base::out | std::ios_base::ate); - if (r == NULL) + if (!r) VERIFY( !fbuf.is_open() ); else VERIFY( fbuf.is_open() ); diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc index db02187dece..7faa0501a12 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc @@ -1,6 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } -// Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2003, 2005, 2009, 2010 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 @@ -37,7 +37,7 @@ void test01() wfilebuf* f = fb.close(); VERIFY( n1 != wfilebuf::traits_type::eof() ); - VERIFY( f != NULL ); + VERIFY( f ); } int main() diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc index 9ea64cc3e93..e4a726a0d13 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc @@ -1,6 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } -// Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2003, 2005, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -39,7 +39,7 @@ void test02() VERIFY( n1 != wfilebuf::traits_type::eof() ); VERIFY( n2 != wfilebuf::traits_type::eof() ); - VERIFY( f != NULL ); + VERIFY( f ); } int main() diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc index 2f10e0dec42..5d49ed0df9f 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc @@ -1,6 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } -// Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2003, 2005, 2009, 2010 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 @@ -36,7 +36,7 @@ void test03() wfilebuf* f = fb.close(); VERIFY( n1 != wfilebuf::traits_type::eof() ); - VERIFY( f != NULL ); + VERIFY( f ); } int main() diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc index a03d9e8d1ab..3076a177745 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc @@ -1,6 +1,6 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } -// Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2003, 2005, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -38,7 +38,7 @@ void test04() VERIFY( n1 != wfilebuf::traits_type::eof() ); VERIFY( n2 != wfilebuf::traits_type::eof() ); - VERIFY( f != NULL ); + VERIFY( f ); } int main() diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-4.cc index 53ee751ed44..3bf4353d7e6 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-4.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-4.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2003, 2005, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -47,7 +47,7 @@ void test01() fb.sputc(pod_uchar::from<char>(0xff)); // Check that seekoff sets the current state during output - traits_type::pos_type pos = fb.pubseekoff(0, ios_base::cur); + fb.pubseekoff(0, ios_base::cur); fb.sputc(pod_uchar::from<char>('a')); fb.sputc(pod_uchar::from<char>(0xff)); fb.sputc(pod_uchar::from<char>(0)); diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc index 3d26c1cfc57..24887461719 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc @@ -1,6 +1,6 @@ // 2001-05-21 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -41,7 +41,7 @@ void test05() typedef filebuf::traits_type traits_type; bool test __attribute__((unused)) = true; - streamsize strmsz_1, strmsz_2; + streamsize strmsz_1; int_type c1; int_type c2; @@ -65,7 +65,7 @@ void test05() //beg strmsz_1 = fb.in_avail(); pt_1 = fb.pubseekoff(2, ios_base::beg); - strmsz_2 = fb.in_avail(); + fb.in_avail(); off_1 = off_type(pt_1); VERIFY( off_1 > 0 ); c1 = fb.snextc(); //current in pointer +1 diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc index bb175150556..4dc6d8648be 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc @@ -1,6 +1,6 @@ // 2001-05-21 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -41,7 +41,7 @@ void test05() typedef filebuf::off_type off_type; bool test __attribute__((unused)) = true; - streamsize strmsz_1, strmsz_2; + streamsize strmsz_1; int_type c1; int_type c2; @@ -66,7 +66,7 @@ void test05() //beg strmsz_1 = fb.in_avail(); pt_1 = fb.pubseekoff(2, ios_base::beg); - strmsz_2 = fb.in_avail(); + fb.in_avail(); off_1 = off_type(pt_1); VERIFY( off_1 > 0 ); c1 = fb.snextc(); //current in pointer +1 diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc index f786504984d..8d7ab1dfc11 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc @@ -1,6 +1,6 @@ // 2001-05-21 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -41,7 +41,7 @@ void test05() typedef filebuf::traits_type traits_type; bool test __attribute__((unused)) = true; - streamsize strmsz_1, strmsz_2; + streamsize strmsz_1; int_type c1; int_type c2; @@ -66,7 +66,7 @@ void test05() //beg strmsz_1 = fb.in_avail(); pt_1 = fb.pubseekoff(2, ios_base::beg); - strmsz_2 = fb.in_avail(); + fb.in_avail(); off_1 = off_type(pt_1); VERIFY( off_1 > 0 ); c1 = fb.snextc(); //current in pointer +1 diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc index f8385b25a8a..3a8809da2f6 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc @@ -1,6 +1,6 @@ // 2001-05-21 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -41,7 +41,7 @@ void test05() typedef filebuf::traits_type traits_type; bool test __attribute__((unused)) = true; - streamsize strmsz_1, strmsz_2; + streamsize strmsz_1; int_type c1; int_type c2; @@ -66,7 +66,7 @@ void test05() //beg strmsz_1 = fb.in_avail(); pt_1 = fb.pubseekoff(2, ios_base::beg); - strmsz_2 = fb.in_avail(); + fb.in_avail(); off_1 = off_type(pt_1); VERIFY( off_1 > 0 ); c1 = fb.snextc(); //current in pointer +1 diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc index 67a376e67c4..89fab2aed90 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc @@ -1,6 +1,6 @@ // 2001-05-21 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -41,7 +41,7 @@ void test05() typedef filebuf::off_type off_type; bool test __attribute__((unused)) = true; - streamsize strmsz_1, strmsz_2; + streamsize strmsz_1; int_type c1; int_type c2; @@ -66,7 +66,7 @@ void test05() //beg strmsz_1 = fb.in_avail(); pt_1 = fb.pubseekoff(2, ios_base::beg); - strmsz_2 = fb.in_avail(); + fb.in_avail(); off_1 = off_type(pt_1); VERIFY( off_1 > 0 ); c1 = fb.snextc(); //current in pointer +1 diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc index e1e98261f22..b1ad66e8933 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc @@ -1,6 +1,6 @@ // 2001-05-21 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -41,7 +41,7 @@ void test05() typedef filebuf::traits_type traits_type; bool test __attribute__((unused)) = true; - streamsize strmsz_1, strmsz_2; + streamsize strmsz_1; int_type c1; int_type c2; @@ -66,7 +66,7 @@ void test05() //beg strmsz_1 = fb.in_avail(); pt_1 = fb.pubseekoff(2, ios_base::beg); - strmsz_2 = fb.in_avail(); + fb.in_avail(); off_1 = off_type(pt_1); VERIFY( off_1 > 0 ); c1 = fb.snextc(); //current in pointer +1 diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/4.cc new file mode 100644 index 00000000000..9422f29f0d9 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/4.cc @@ -0,0 +1,85 @@ +// { dg-require-fileio "" } + +// Copyright (C) 2010 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 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/>. + +// 27.8.1.4 Overridden virtual functions + +#include <fstream> +#include <cstring> +#include <testsuite_hooks.h> + +void test01() +{ + using namespace std; + bool test __attribute__((unused)) = true; + + typedef filebuf::pos_type pos_type; + const char name[] = "tmp_seekoff-4.tst"; + + const size_t size = 10; + char buf[size]; + streamsize n; + + filebuf fb; + fb.open(name, ios_base::in | ios_base::out | ios_base::trunc); + + n = fb.sputn("abcd", 4); + VERIFY( n == 4 ); + + fb.pubseekoff(0, ios_base::beg); + n = fb.sgetn(buf, 3); + VERIFY( n == 3 ); + VERIFY( !memcmp(buf, "abc", 3) ); + + fb.pubseekoff(0, ios_base::cur); + + n = fb.sputn("ef", 2); + VERIFY( n == 2 ); + + fb.pubseekoff(0, ios_base::beg); + + n = fb.sgetn(buf, size); + VERIFY( n == 5 ); + VERIFY( !memcmp(buf, "abcef", 5) ); + + fb.pubseekoff(0, ios_base::beg); + n = fb.sputn("ghijkl", 6); + VERIFY( n == 6 ); + + fb.pubseekoff(0, ios_base::beg); + n = fb.sgetn(buf, 2); + VERIFY( n == 2 ); + VERIFY( !memcmp(buf, "gh", 2) ); + + fb.pubseekoff(0, ios_base::end); + n = fb.sputn("mno", 3); + VERIFY( n == 3 ); + + fb.pubseekoff(0, ios_base::beg); + n = fb.sgetn(buf, size); + VERIFY( n == 9 ); + VERIFY( !memcmp(buf, "ghijklmno", 9) ); + + fb.close(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc index 7148e2f1832..c6f13dcd08b 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "se_NO.UTF-8" } // 2003-09-08 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc index 16d4dcec28f..cc9c4e22a65 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "se_NO.UTF-8" } // 2003-09-08 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc new file mode 100644 index 00000000000..95338cfde89 --- /dev/null +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc @@ -0,0 +1,85 @@ +// { dg-require-fileio "" } + +// Copyright (C) 2010 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 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/>. + +// 27.8.1.4 Overridden virtual functions + +#include <fstream> +#include <cwchar> +#include <testsuite_hooks.h> + +void test01() +{ + using namespace std; + bool test __attribute__((unused)) = true; + + typedef wfilebuf::pos_type pos_type; + const char name[] = "tmp_seekoff-4.tst"; + + const size_t size = 10; + wchar_t buf[size]; + streamsize n; + + wfilebuf fb; + fb.open(name, ios_base::in | ios_base::out | ios_base::trunc); + + n = fb.sputn(L"abcd", 4); + VERIFY( n == 4 ); + + fb.pubseekoff(0, ios_base::beg); + n = fb.sgetn(buf, 3); + VERIFY( n == 3 ); + VERIFY( !wmemcmp(buf, L"abc", 3) ); + + fb.pubseekoff(0, ios_base::cur); + + n = fb.sputn(L"ef", 2); + VERIFY( n == 2 ); + + fb.pubseekoff(0, ios_base::beg); + + n = fb.sgetn(buf, size); + VERIFY( n == 5 ); + VERIFY( !wmemcmp(buf, L"abcef", 5) ); + + fb.pubseekoff(0, ios_base::beg); + n = fb.sputn(L"ghijkl", 6); + VERIFY( n == 6 ); + + fb.pubseekoff(0, ios_base::beg); + n = fb.sgetn(buf, 2); + VERIFY( n == 2 ); + VERIFY( !wmemcmp(buf, L"gh", 2) ); + + fb.pubseekoff(0, ios_base::end); + n = fb.sputn(L"mno", 3); + VERIFY( n == 3 ); + + fb.pubseekoff(0, ios_base::beg); + n = fb.sgetn(buf, size); + VERIFY( n == 9 ); + VERIFY( !wmemcmp(buf, L"ghijklmno", 9) ); + + fb.close(); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc index 4513df095a5..e011f875d6b 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "se_NO.UTF-8" } // 2003-10-07 Petur Runolfsson <peturr02@ru.is> // diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/1.cc index 3b434ba7a52..42688e825e0 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/1.cc @@ -1,6 +1,6 @@ // 2001-05-21 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -40,8 +40,8 @@ public: check_pointers() { bool test __attribute__((unused)) = true; - test = (this->pbase() == NULL); - test &= (this->pptr() == NULL); + test = (!this->pbase()); + test &= (!this->pptr()); return test; } }; diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc index ff22967600e..b736b146070 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc @@ -44,7 +44,7 @@ void test02() FILE* in = fopen(name, "r"); char str[256]; - fgets(str, 256, in); + VERIFY( fgets(str, 256, in) ); VERIFY( !strcmp(str, "Hello, world") ); fclose(in); } diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc index e24941e06af..fd332b68365 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc @@ -1,6 +1,6 @@ // 2001-05-21 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -40,7 +40,7 @@ void test05() streamsize strmsz_1, strmsz_2; char carray2[8192] = ""; - int_type c2, c4; + int_type c2; // streamsize sgetn(char_type *s, streamsize n) // streamsize xsgetn(char_type *s, streamsize n) @@ -63,7 +63,7 @@ void test05() strmsz_2 = fb_02.sgetn(carray2, strmsz_1 + 5); VERIFY( strmsz_1 == -1 ); VERIFY( strmsz_2 == 0 ); - c4 = fb_02.sgetc(); + fb_02.sgetc(); VERIFY( fb_02.unbuffered() ); VERIFY( !fb_02.read_position() ); } diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1057.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1057.cc index 4fd2d47130e..a2368f93203 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1057.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1057.cc @@ -1,6 +1,6 @@ // 1999-10-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -32,7 +32,7 @@ public: nullsetpbuf() { setp(foo, foo + 64); - setp(NULL, NULL); + setp(0, 0); } }; diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1057.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1057.cc index 89ec0e53d1f..c84a079d298 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1057.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1057.cc @@ -1,6 +1,6 @@ // 1999-10-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -32,7 +32,7 @@ public: nullsetpbuf() { setp(foo, foo + 64); - setp(NULL, NULL); + setp(0, 0); } }; diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc index 07b971ec5c4..54a1372b467 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc @@ -1,6 +1,6 @@ // 2001-05-21 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -41,7 +41,7 @@ void test01() bool test __attribute__((unused)) = true; streamsize strmsz_1, strmsz_2; - int_type c1, c2, c3; + int_type c1, c2; // int_type sungetc() // if in_cur not avail, return pbackfail(), else decrement and @@ -56,7 +56,7 @@ void test01() fb_01.sputc('u'); fb_01.sputc('v'); fb_01.pubseekoff(-1, std::ios_base::end); - c3 = fb_01.sbumpc(); + fb_01.sbumpc(); strmsz_1 = fb_01.in_avail(); c2 = fb_01.sungetc(); strmsz_2 = fb_01.in_avail(); @@ -68,7 +68,7 @@ void test01() c1 = fb_01.sgetc(); c2 = fb_01.sungetc(); strmsz_2 = fb_01.in_avail(); // 1 - c3 = fb_01.sgetc(); + fb_01.sgetc(); VERIFY( c1 != c2 ); VERIFY( strmsz_2 != strmsz_1 ); VERIFY( strmsz_2 == 1 ); diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc index 753154ea0ae..782a83db91d 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc @@ -1,6 +1,6 @@ // 2001-05-21 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -41,7 +41,7 @@ void test01() bool test __attribute__((unused)) = true; streamsize strmsz_1, strmsz_2; - int_type c1, c2, c3; + int_type c1, c2; // int_type sungetc() // if in_cur not avail, return pbackfail(), else decrement and @@ -56,7 +56,7 @@ void test01() fb_01.sputc('u'); fb_01.sputc('v'); fb_01.pubseekoff(-1, std::ios_base::end); - c3 = fb_01.sbumpc(); + fb_01.sbumpc(); strmsz_1 = fb_01.in_avail(); c2 = fb_01.sungetc(); strmsz_2 = fb_01.in_avail(); @@ -68,7 +68,7 @@ void test01() c1 = fb_01.sgetc(); c2 = fb_01.sungetc(); strmsz_2 = fb_01.in_avail(); // 1 - c3 = fb_01.sgetc(); + fb_01.sgetc(); VERIFY( c1 != c2 ); VERIFY( strmsz_2 != strmsz_1 ); VERIFY( strmsz_2 == 1 ); diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc index 6f8e4ed8872..72c3ecb0ad2 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "se_NO.UTF-8" } // 2003-09-04 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc index 21251312fe9..55e22670557 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } // Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc index 4b9aeb318f9..e4527ee697b 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } // Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc index c61f0eed99f..45bb4bdf5ef 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } // Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc index 2696fa2e0e9..637f89806b8 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US.UTF-8" } // Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc index ff1cc405bd3..f6a2eaca94b 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc @@ -161,7 +161,7 @@ void test02() const char* name = "tmp_11544-2"; FILE* f = fopen(name, "w"); - fwrite("aaaab", 1, 5, f); + VERIFY( fwrite("aaaab", 1, 5, f) == 5 ); fclose(f); wifstream in; diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc index 457d5bf0086..c6f30442c77 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "se_NO.UTF-8" } // 2003-09-04 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc index 71532e80ca4..42892e4ac82 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "se_NO.UTF-8" } // 2003-09-04 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc index 6ec72d2945b..6e63db09dfb 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "se_NO.UTF-8" } // 2003-09-04 Petur Runolfsson <peturr02@ru.is> // Adapted from 27_io/basic_filebuf/underflow/char/2.cc diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc index 8814f8da369..4c4b8d3b42f 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "se_NO.UTF-8" } // 2003-09-04 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc index 55a48fd715c..f791b86aa10 100644 --- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc +++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE.ISO-8859-15@euro" } // 2003-05-03 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/clear/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ios/clear/char/1.cc index 5ac2cc08ccb..b65d0890064 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ios/clear/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ios/clear/char/1.cc @@ -1,6 +1,6 @@ // 1999-09-20 bkoz -// Copyright (C) 1999, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 1999, 2003, 2009, 2010 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 @@ -35,7 +35,7 @@ void test01() iostate iostate02, iostate03; const iostate iostate01 = std::ios_base::badbit | std::ios_base::eofbit; - std::ios ios_01(NULL); + std::ios ios_01(0); // bool fail() const VERIFY( ios_01.fail() ); diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/1.cc index 9150d1126bd..0cf07f212b8 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/1.cc @@ -1,6 +1,6 @@ // 1999-09-20 bkoz -// Copyright (C) 1999, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 1999, 2003, 2009, 2010 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 @@ -35,8 +35,8 @@ void test02() // basic_ios& copyfmt(const basic_ios& rhs) { - std::ios ios_01(NULL); - std::ios ios_02(NULL); + std::ios ios_01(0); + std::ios ios_02(0); ios_01.exceptions(std::ios_base::eofbit); ios_02.exceptions(std::ios_base::eofbit); @@ -49,8 +49,8 @@ void test02() } { - std::ios ios_01(NULL); - std::ios ios_02(NULL); + std::ios ios_01(0); + std::ios ios_02(0); ios_01.clear(std::ios_base::eofbit); ios_02.exceptions(std::ios_base::eofbit); diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/2.cc index 0a171a6fc54..2f3fa49da23 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/2.cc @@ -1,8 +1,8 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 1999-09-20 bkoz -// Copyright (C) 1999, 2003, 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 1999, 2003, 2005, 2009, 2010 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 @@ -37,8 +37,8 @@ void test03() typedef std::ios_base::iostate iostate; locale loc_c = locale::classic(); locale loc_de = locale("de_DE"); - std::ios ios_01(NULL); - std::ios ios_02(NULL); + std::ios ios_01(0); + std::ios ios_02(0); ios_01.imbue(loc_c); ios_02.imbue(loc_de); ios_02.setstate(ios_base::badbit); diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/1.cc index 03f70c89458..f0494bd458d 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/1.cc @@ -1,6 +1,6 @@ // 1999-09-20 bkoz -// Copyright (C) 1999, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 1999, 2003, 2009, 2010 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 @@ -35,13 +35,13 @@ void test01() // iostate exceptions() const iostate iostate02; { - std::ios ios_01(NULL); + std::ios ios_01(0); VERIFY( ios_01.exceptions() == std::ios_base::goodbit ); } // void exceptions(iostate except) { - std::ios ios_01(NULL); + std::ios ios_01(0); try { ios_01.exceptions(std::ios_base::eofbit); } @@ -53,7 +53,7 @@ void test01() } { - std::ios ios_01(NULL); + std::ios ios_01(0); ios_01.clear(std::ios_base::eofbit); try { ios_01.exceptions(std::ios_base::eofbit); diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/locales/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ios/locales/char/1.cc index 3d5bf772434..20de8a95708 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ios/locales/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ios/locales/char/1.cc @@ -1,6 +1,6 @@ // 1999-09-20 bkoz -// Copyright (C) 1999, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 1999, 2003, 2009, 2010 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 @@ -29,7 +29,7 @@ void test01() bool test __attribute__((unused)) = true; const std::locale c_loc = std::locale::classic(); - std::ios ios_01(NULL); + std::ios ios_01(0); std::ios::char_type ct01; std::ios::char_type ct02('x');; diff --git a/libstdc++-v3/testsuite/27_io/basic_iostream/cons/2020.cc b/libstdc++-v3/testsuite/27_io/basic_iostream/cons/2020.cc index 4aec0e3cad3..44fe41323c7 100644 --- a/libstdc++-v3/testsuite/27_io/basic_iostream/cons/2020.cc +++ b/libstdc++-v3/testsuite/27_io/basic_iostream/cons/2020.cc @@ -1,7 +1,7 @@ // 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007, 2008, 2009 +// 2006, 2007, 2008, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -34,7 +34,7 @@ void test07() try { - gnu_iostr obj(NULL); + gnu_iostr obj(0); } catch(std::exception& obj) { diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/cons/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/cons/3.cc index 4162f9e68aa..3b2cb845e08 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/cons/3.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/cons/3.cc @@ -1,6 +1,7 @@ // 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2009 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +// 2005, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -33,7 +34,7 @@ void test07() typedef std::basic_istream<__gnu_test::pod_ushort> gnu_istr; try - { gnu_istr obj(NULL); } + { gnu_istr obj(0); } catch(std::exception& obj) { test = false; diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc index 619751506ab..a8d91695b07 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc @@ -1,6 +1,7 @@ // 1999-04-12 bkoz -// Copyright (C) 1999, 2000, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 1999, 2000, 2002, 2003, 2009, 2010 +// 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 @@ -35,7 +36,7 @@ std::stringbuf isbuf_02(str_02, std::ios_base::in); std::stringbuf isbuf_03(str_03, std::ios_base::in); std::stringbuf isbuf_04(str_04, std::ios_base::in); -std::istream is_01(NULL); +std::istream is_01(0); std::istream is_02(&isbuf_02); std::istream is_03(&isbuf_03); std::istream is_04(&isbuf_04); @@ -61,11 +62,8 @@ bool test01() { long double ld1 = 0; // process alphanumeric versions of bool values - std::ios_base::fmtflags fmt = is_02.flags(); - bool testfmt = fmt & std::ios_base::boolalpha; is_02.setf(std::ios_base::boolalpha); - fmt = is_02.flags(); - testfmt = fmt & std::ios_base::boolalpha; + is_02.flags(); is_02 >> b1; VERIFY( b1 == 1 ); is_02 >> b1; @@ -73,8 +71,7 @@ bool test01() { // process numeric versions of of bool values is_02.unsetf(std::ios_base::boolalpha); - fmt = is_02.flags(); - testfmt = fmt & std::ios_base::boolalpha; + is_02.flags(); is_02 >> b1; VERIFY( b1 == 0 ); is_02 >> b1; diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc index 8bf9bd35396..70f74fd7a91 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc @@ -1,6 +1,7 @@ // 1999-04-12 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, +// 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -20,10 +21,10 @@ // 27.6.1.2.2 arithmetic extractors -// XXX This test fails on sparc-solaris2 because of a bug in libc +// XXX This test fails on Solaris 8 and 9 because of a bug in libc // XXX sscanf for very long input. See: // XXX http://gcc.gnu.org/ml/gcc/2002-12/msg01422.html -// { dg-do run { xfail { { sparc*-*-solaris2* } || lax_strtofp } } } +// { dg-do run { xfail { { *-*-solaris2.[89] } || lax_strtofp } } } #include <istream> #include <sstream> diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc index f0d1635da1b..5d7ec97a59b 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004, 2009 Free Software Foundation, Inc. +// Copyright (C) 2004, 2009, 2010 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 @@ -33,7 +33,7 @@ std::wstringbuf isbuf_02(str_02, std::ios_base::in); std::wstringbuf isbuf_03(str_03, std::ios_base::in); std::wstringbuf isbuf_04(str_04, std::ios_base::in); -std::wistream is_01(NULL); +std::wistream is_01(0); std::wistream is_02(&isbuf_02); std::wistream is_03(&isbuf_03); std::wistream is_04(&isbuf_04); @@ -59,11 +59,8 @@ bool test01() { long double ld1 = 0; // process alphanumeric versions of bool values - std::ios_base::fmtflags fmt = is_02.flags(); - bool testfmt = fmt & std::ios_base::boolalpha; is_02.setf(std::ios_base::boolalpha); - fmt = is_02.flags(); - testfmt = fmt & std::ios_base::boolalpha; + is_02.flags(); is_02 >> b1; VERIFY( b1 == 1 ); is_02 >> b1; @@ -71,8 +68,7 @@ bool test01() { // process numeric versions of of bool values is_02.unsetf(std::ios_base::boolalpha); - fmt = is_02.flags(); - testfmt = fmt & std::ios_base::boolalpha; + is_02.flags(); is_02 >> b1; VERIFY( b1 == 0 ); is_02 >> b1; diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc index 6e3b0888e73..dcadf8669a2 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc @@ -1,4 +1,5 @@ -// Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc. +// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010 +// 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 @@ -17,10 +18,10 @@ // 27.6.1.2.2 arithmetic extractors -// XXX This test fails on sparc-solaris2 because of a bug in libc +// XXX This test fails on Solaris 8 and 9 because of a bug in libc // XXX sscanf for very long input. See: // XXX http://gcc.gnu.org/ml/gcc/2002-12/msg01422.html -// { dg-do run { xfail { { sparc*-*-solaris2* } || lax_strtofp } } } +// { dg-do run { xfail { { *-*-solaris2.[89] } || lax_strtofp } } } #include <istream> #include <sstream> diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc index c6fba2f2001..7e4387d315d 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc @@ -1,6 +1,6 @@ // 1999-07-26 bkoz -// Copyright (C) 1999, 2003, 2005, 2009 Free Software Foundation +// Copyright (C) 1999, 2003, 2005, 2009, 2010 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 @@ -32,7 +32,7 @@ void test01() std::stringbuf isbuf_01(std::ios_base::in); std::stringbuf isbuf_02(str_02, std::ios_base::in); - std::istream is_01(NULL); + std::istream is_01(0); std::istream is_02(&isbuf_02); std::ios_base::iostate state1, state2, statefail; diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/2.cc index edff0307194..812d5413412 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/2.cc @@ -1,6 +1,6 @@ // 1999-07-26 bkoz -// Copyright (C) 1999, 2003, 2009 Free Software Foundation +// Copyright (C) 1999, 2003, 2009, 2010 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 @@ -34,7 +34,7 @@ void test02() std::stringbuf isbuf_01(std::ios_base::in); std::stringbuf isbuf_02(str_02, std::ios_base::in); - std::istream is_01(NULL); + std::istream is_01(0); std::istream is_02(&isbuf_02); std::ios_base::iostate state1, state2, statefail; statefail = std::ios_base::failbit; diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/3.cc index cfaf5b11b61..551cb111a49 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/3.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/3.cc @@ -1,6 +1,6 @@ // 1999-07-26 bkoz -// Copyright (C) 1999, 2003, 2009 Free Software Foundation +// Copyright (C) 1999, 2003, 2009, 2010 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 @@ -32,7 +32,7 @@ void test01() std::stringbuf isbuf_01(std::ios_base::in); std::stringbuf isbuf_02(str_02, std::ios_base::in); - std::istream is_01(NULL); + std::istream is_01(0); std::istream is_02(&isbuf_02); std::ios_base::iostate state1, state2, statefail; diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9826.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9826.cc index 224d0565f3a..a2e480ebce6 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9826.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9826.cc @@ -1,6 +1,6 @@ // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2002, 2003, 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2002, 2003, 2005, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -39,7 +39,7 @@ void test02() sstr >> str; // 2 - pod_char* chr = NULL; + pod_char* chr = 0; sstr >> chr; // 3 diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc index 2b428037f6b..f7b749a5df0 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004, 2005, 2009 Free Software Foundation +// Copyright (C) 2004, 2005, 2009, 2010 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 @@ -30,7 +30,7 @@ void test01() std::wstringbuf isbuf_01(std::ios_base::in); std::wstringbuf isbuf_02(str_02, std::ios_base::in); - std::wistream is_01(NULL); + std::wistream is_01(0); std::wistream is_02(&isbuf_02); std::ios_base::iostate state1, state2, statefail; diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc index a6841198d83..a697ef2b256 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004, 2009 Free Software Foundation +// Copyright (C) 2004, 2009, 2010 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 @@ -30,7 +30,7 @@ void test02() std::wstringbuf isbuf_01(std::ios_base::in); std::wstringbuf isbuf_02(str_02, std::ios_base::in); - std::wistream is_01(NULL); + std::wistream is_01(0); std::wistream is_02(&isbuf_02); std::ios_base::iostate state1, state2, statefail; statefail = std::ios_base::failbit; diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc index 3ba355d6452..6ea22e395de 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004, 2009 Free Software Foundation +// Copyright (C) 2004, 2009, 2010 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 @@ -30,7 +30,7 @@ void test01() std::wstringbuf isbuf_01(std::ios_base::in); std::wstringbuf isbuf_02(str_02, std::ios_base::in); - std::wistream is_01(NULL); + std::wistream is_01(0); std::wistream is_02(&isbuf_02); std::ios_base::iostate state1, state2, statefail; diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/1.cc index ecc50826f9e..854dc7c8565 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/1.cc @@ -1,6 +1,7 @@ // 1999-07-28 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +// 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -41,7 +42,7 @@ void test01() std::stringbuf isbuf_04(str_02, std::ios_base::in); std::stringbuf isbuf_05(str_02, std::ios_base::in | std::ios_base::out); - std::istream is_00(NULL); + std::istream is_00(0); std::istream is_01(&isbuf_01); std::istream is_02(&isbuf_02); std::istream is_03(&isbuf_03); diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_null.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_null.cc index beab22c0a21..96ba7193021 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_null.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_null.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2003, 2009, 2010 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 @@ -28,7 +28,7 @@ void test2() { bool test __attribute__((unused)) = true; istringstream stream; - stream >> static_cast<streambuf*>(NULL); + stream >> static_cast<streambuf*>(0); VERIFY(stream.rdstate() & ios_base::failbit); } @@ -40,7 +40,7 @@ void test4() try { - stream >> static_cast<streambuf*>(NULL); + stream >> static_cast<streambuf*>(0); VERIFY(false); } catch (ios_base::failure&) diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc index 809c0083502..eab6650b1ac 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004, 2005, 2006, 2009 Free Software Foundation +// Copyright (C) 2004, 2005, 2006, 2009, 2010 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 @@ -38,7 +38,7 @@ void test01() std::wstringbuf isbuf_04(str_02, std::ios_base::in); std::wstringbuf isbuf_05(str_02, std::ios_base::in | std::ios_base::out); - std::wistream is_00(NULL); + std::wistream is_00(0); std::wistream is_01(&isbuf_01); std::wistream is_02(&isbuf_02); std::wistream is_03(&isbuf_03); diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_null.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_null.cc index eddef0ae43e..bc04b7d9b22 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_null.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_null.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004, 2009 Free Software Foundation, Inc. +// Copyright (C) 2004, 2009, 2010 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 @@ -28,7 +28,7 @@ void test2() { bool test __attribute__((unused)) = true; wistringstream stream; - stream >> static_cast<wstreambuf*>(NULL); + stream >> static_cast<wstreambuf*>(0); VERIFY( stream.rdstate() & ios_base::failbit ); } @@ -40,7 +40,7 @@ void test4() try { - stream >> static_cast<wstreambuf*>(NULL); + stream >> static_cast<wstreambuf*>(0); VERIFY( false ); } catch (ios_base::failure&) diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/get/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/get/char/1.cc index 19169d97934..f7957d8a51c 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/get/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/get/char/1.cc @@ -1,6 +1,7 @@ // 1999-08-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009 Free Software Foundation +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009, 2010 +// 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 @@ -41,7 +42,7 @@ test03() std::stringbuf sbuf_04(str01, std::ios_base::in); std::stringbuf sbuf_05(str01, std::ios_base::in); - std::istream is_00(NULL); + std::istream is_00(0); std::istream is_04(&sbuf_04); std::istream is_05(&sbuf_05); std::ios_base::iostate statefail, stateeof; diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/1.cc index 7168aefcdbb..b3027c3af95 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/1.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004, 2009 Free Software Foundation +// Copyright (C) 2004, 2009, 2010 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 @@ -39,7 +39,7 @@ test03() std::wstringbuf sbuf_04(str01, std::ios_base::in); std::wstringbuf sbuf_05(str01, std::ios_base::in); - std::wistream is_00(NULL); + std::wistream is_00(0); std::wistream is_04(&sbuf_04); std::wistream is_05(&sbuf_05); std::ios_base::iostate statefail, stateeof; diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/1.cc index 67b1955fcd6..48b245f9b96 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/1.cc @@ -1,6 +1,7 @@ // 1999-08-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009 Free Software Foundation +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009, 2010 +// 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 @@ -41,7 +42,7 @@ test02() std::stringbuf sbuf_04(str01, std::ios_base::in); - std::istream is_00(NULL); + std::istream is_00(0); std::istream is_04(&sbuf_04); std::ios_base::iostate state1, state2, statefail, stateeof; statefail = std::ios_base::failbit; @@ -54,7 +55,7 @@ test02() is_00.getline(carray1, 20, '*'); state2 = is_00.rdstate(); // make sure failbit was set, since we couldn't extract - // from the NULL streambuf... + // from the null streambuf... VERIFY( state1 != state2 ); VERIFY( static_cast<bool>(state2 & statefail) ); diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/1.cc index 49305a33171..2445dd4f749 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/1.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004, 2009 Free Software Foundation +// Copyright (C) 2004, 2009, 2010 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 @@ -39,7 +39,7 @@ test02() std::wstringbuf sbuf_04(str01, std::ios_base::in); - std::wistream is_00(NULL); + std::wistream is_00(0); std::wistream is_04(&sbuf_04); std::ios_base::iostate state1, state2, statefail, stateeof; statefail = std::ios_base::failbit; @@ -52,7 +52,7 @@ test02() is_00.getline(carray1, 20, L'*'); state2 = is_00.rdstate(); // make sure failbit was set, since we couldn't extract - // from the NULL streambuf... + // from the null streambuf... VERIFY( state1 != state2 ); VERIFY( static_cast<bool>(state2 & statefail) ); diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/1.cc index e70c1ab5fb2..4e0ce25aa32 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/1.cc @@ -1,6 +1,7 @@ // 1999-08-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009 Free Software Foundation +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009, 2010 +// 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 @@ -36,12 +37,10 @@ test01() std::stringbuf isbuf_03(str_02, std::ios_base::in); std::stringbuf isbuf_04(str_02, std::ios_base::in); - std::istream is_00(NULL); + std::istream is_00(0); std::istream is_03(&isbuf_03); std::istream is_04(&isbuf_04); - std::ios_base::iostate state1, state2, statefail, stateeof; - statefail = std::ios_base::failbit; - stateeof = std::ios_base::eofbit; + std::ios_base::iostate state1, state2; // istream& read(char_type* s, streamsize n) char carray[60] = ""; diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/1.cc index 6254428d368..c4a7a33d002 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/1.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004, 2009 Free Software Foundation +// Copyright (C) 2004, 2009, 2010 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 @@ -34,12 +34,10 @@ test01() std::wstringbuf isbuf_03(str_02, std::ios_base::in); std::wstringbuf isbuf_04(str_02, std::ios_base::in); - std::wistream is_00(NULL); + std::wistream is_00(0); std::wistream is_03(&isbuf_03); std::wistream is_04(&isbuf_04); - std::ios_base::iostate state1, state2, statefail, stateeof; - statefail = std::ios_base::failbit; - stateeof = std::ios_base::eofbit; + std::ios_base::iostate state1, state2; // istream& read(char_type* s, streamsize n) wchar_t carray[60] = L""; diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/1.cc index 6d501646ad6..39a3fdff396 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/1.cc @@ -1,6 +1,7 @@ // 1999-08-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009 Free Software Foundation +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009, 2010 +// 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 @@ -36,12 +37,10 @@ test01() std::stringbuf isbuf_03(str_02, std::ios_base::in); std::stringbuf isbuf_04(str_02, std::ios_base::in); - std::istream is_00(NULL); + std::istream is_00(0); std::istream is_03(&isbuf_03); std::istream is_04(&isbuf_04); - std::ios_base::iostate state1, state2, statefail, stateeof; - statefail = std::ios_base::failbit; - stateeof = std::ios_base::eofbit; + std::ios_base::iostate state1, state2; char carray[60] = ""; diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/1.cc index b4c0e32c46f..612e60600ff 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/1.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004, 2009 Free Software Foundation +// Copyright (C) 2004, 2009, 2010 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 @@ -34,12 +34,10 @@ test01() std::wstringbuf isbuf_03(str_02, std::ios_base::in); std::wstringbuf isbuf_04(str_02, std::ios_base::in); - std::wistream is_00(NULL); + std::wistream is_00(0); std::wistream is_03(&isbuf_03); std::wistream is_04(&isbuf_04); - std::ios_base::iostate state1, state2, statefail, stateeof; - statefail = std::ios_base::failbit; - stateeof = std::ios_base::eofbit; + std::ios_base::iostate state1, state2; wchar_t carray[60] = L""; diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/read/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/read/char/1.cc index b9ebe7dfe9a..3879f7b422d 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/read/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/read/char/1.cc @@ -1,6 +1,6 @@ // 1999-08-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -34,7 +34,7 @@ test01() std::stringbuf isbuf_03(str_02, std::ios_base::in); std::stringbuf isbuf_04(str_02, std::ios_base::in); - std::istream is_00(NULL); + std::istream is_00(0); std::istream is_03(&isbuf_03); std::istream is_04(&isbuf_04); std::ios_base::iostate state1, state2, statefail, stateeof; diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/1.cc index 1485aa1abf0..508e0c8cb4d 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/1.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004, 2009 Free Software Foundation +// Copyright (C) 2004, 2009, 2010 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 @@ -31,7 +31,7 @@ test01() std::wstringbuf isbuf_03(str_02, std::ios_base::in); std::wstringbuf isbuf_04(str_02, std::ios_base::in); - std::wistream is_00(NULL); + std::wistream is_00(0); std::wistream is_03(&isbuf_03); std::wistream is_04(&isbuf_04); std::ios_base::iostate state1, state2, statefail, stateeof; diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-2.cc index 0fea44568d0..899a48d7842 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-2.cc @@ -1,6 +1,6 @@ // 2000-06-29 bkoz -// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 +// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -35,7 +35,7 @@ void test06(void) // seekg { istringstream iss(num1); - istream::pos_type pos1 = iss.tellg(); + iss.tellg(); int asNum = 0; iss >> asNum; VERIFY( test = iss.eof() ); diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc index ec09e45c96d..d428a88ba41 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004, 2005, 2006, 2009 Free Software Foundation +// Copyright (C) 2004, 2005, 2006, 2009, 2010 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 @@ -32,7 +32,7 @@ void test06(void) // seekg { wistringstream iss(num1); - wistream::pos_type pos1 = iss.tellg(); + iss.tellg(); int asNum = 0; iss >> asNum; VERIFY( test = iss.eof() ); diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/8348.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/8348.cc index 1b8f18d72b1..e4b4914ef48 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/8348.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/8348.cc @@ -1,6 +1,6 @@ // 2000-06-29 bkoz -// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 +// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010 // Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free @@ -35,7 +35,7 @@ void test06(void) // tellg { istringstream iss(num1); - istream::pos_type pos1 = iss.tellg(); + iss.tellg(); int asNum = 0; iss >> asNum; VERIFY( test = iss.eof() ); @@ -47,7 +47,7 @@ void test06(void) // seekg { istringstream iss(num1); - istream::pos_type pos1 = iss.tellg(); + iss.tellg(); int asNum = 0; iss >> asNum; VERIFY( test = iss.eof() ); diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc index cdbbd0cc6d1..61613817b4d 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc @@ -32,7 +32,7 @@ void test06(void) // tellg { wistringstream iss(num1); - wistream::pos_type pos1 = iss.tellg(); + iss.tellg(); int asNum = 0; iss >> asNum; VERIFY( test = iss.eof() ); @@ -44,7 +44,7 @@ void test06(void) // seekg { wistringstream iss(num1); - wistream::pos_type pos1 = iss.tellg(); + iss.tellg(); int asNum = 0; iss >> asNum; VERIFY( test = iss.eof() ); diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ws/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ws/char/1.cc index 703ccedac6d..b59d08839db 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/ws/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/ws/char/1.cc @@ -1,6 +1,7 @@ // 1999-07-22 bkoz -// Copyright (C) 1994, 1999, 2001, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 1994, 1999, 2001, 2003, 2009, 2010 +// 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 @@ -33,7 +34,6 @@ void test01(void) std::string str02(str_lit01); std::string str04; std::string str05; - std::ios_base::iostate flag3, flag4, flag5; // template<_CharT, _Traits> // basic_istream<_CharT, _Traits>& ws(basic_istream<_Char, _Traits>& is) @@ -60,9 +60,6 @@ void test01(void) VERIFY( str05 == "barbara" ); VERIFY( str05 == str04 ); - flag3 = std::ios_base::eofbit; - flag4 = std::ios_base::badbit; - flag5 = std::ios_base::failbit; VERIFY( !iss01.fail() ); VERIFY( !iss02.fail() ); VERIFY( !iss01.eof() ); diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/1.cc index d00dce70e3e..8e60163c148 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/1.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004, 2009 Free Software Foundation, Inc. +// Copyright (C) 2004, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -31,7 +31,6 @@ void test01(void) std::wstring str02(str_lit01); std::wstring str04; std::wstring str05; - std::ios_base::iostate flag3, flag4, flag5; // template<_CharT, _Traits> // basic_istream<_CharT, _Traits>& ws(basic_istream<_Char, _Traits>& is) @@ -58,9 +57,6 @@ void test01(void) VERIFY( str05 == L"barbara" ); VERIFY( str05 == str04 ); - flag3 = std::ios_base::eofbit; - flag4 = std::ios_base::badbit; - flag5 = std::ios_base::failbit; VERIFY( !iss01.fail() ); VERIFY( !iss02.fail() ); VERIFY( !iss01.eof() ); diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/pthread2.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/pthread2.cc index 04df562ffda..cb683666ccc 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ofstream/pthread2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/pthread2.cc @@ -1,7 +1,7 @@ // 2002-01-23 Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org> // Adpated from libstdc++/5347 submitted by markus.breuer@materna.de // -// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -51,10 +51,10 @@ main() #endif for (int i = 0; i < max_thread_count; i++) - pthread_create (&tid[i], NULL, thread_main, 0); + pthread_create (&tid[i], 0, thread_main, 0); for (int i = 0; i < max_thread_count; i++) - pthread_join (tid[i], NULL); + pthread_join (tid[i], 0); return 0; } diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/cons/2020.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/cons/2020.cc index 125440b0b20..07fb7b82eb2 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostream/cons/2020.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/cons/2020.cc @@ -1,6 +1,7 @@ // 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2009 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -34,7 +35,7 @@ void test07() try { - gnu_ostr obj(NULL); + gnu_ostr obj(0); } catch(std::exception& obj) { diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc index d3c968cf61d..d0ffa2c2a4a 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // 1999-11-15 Kevin Ediger <kediger@licor.com> // test the floating point inserters (facet num_put) diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc index 66d5873ca86..e786f7589f3 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE" } // Copyright (C) 2005, 2009 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/4.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/4.cc index 8b85ca21cea..5ec21367b08 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/4.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/4.cc @@ -1,6 +1,7 @@ // 1999-08-16 bkoz -// Copyright (C) 1999, 2000, 2002, 2003, 2005, 2009 Free Software Foundation +// Copyright (C) 1999, 2000, 2002, 2003, 2005, 2009, 2010 +// 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 @@ -35,9 +36,6 @@ test04() std::ostringstream oss_02(str_01, std::ios_base::out); - std::ios_base::iostate statefail; - statefail = std::ios_base::failbit; - // template<_CharT, _Traits> // basic_ostream& operator<<(ostream&, const char*) for (int i = 0; i < i_max; ++i) diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/8.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/8.cc index 85af3666a3b..f38e2e703db 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/8.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/8.cc @@ -1,6 +1,6 @@ // 1999-08-16 bkoz -// Copyright (C) 1999, 2000, 2002, 2003, 2009 Free Software Foundation +// Copyright (C) 1999, 2000, 2002, 2003, 2009, 2010 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 @@ -27,7 +27,7 @@ void test08() { bool test __attribute__((unused)) = true; - char* pt = NULL; + char* pt = 0; // 1 std::ostringstream oss; diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc index cdcb3545c43..902539e8c20 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc @@ -1,6 +1,6 @@ // 1999-08-16 bkoz -// Copyright (C) 1999, 2000, 2002, 2003, 2009 Free Software Foundation +// Copyright (C) 1999, 2000, 2002, 2003, 2009, 2010 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 @@ -35,9 +35,6 @@ test04() std::wostringstream oss_02(str_01, std::ios_base::out); - std::ios_base::iostate statefail; - statefail = std::ios_base::failbit; - // template<_CharT, _Traits> // basic_ostream& operator<<(ostream&, const wchar_t*) for (int i = 0; i < i_max; ++i) diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc index a414076b20a..76490b3c590 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc @@ -1,6 +1,6 @@ // 1999-08-16 bkoz -// Copyright (C) 1999, 2000, 2002, 2003, 2009 Free Software Foundation +// Copyright (C) 1999, 2000, 2002, 2003, 2009, 2010 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 @@ -27,7 +27,7 @@ void test08() { bool test __attribute__((unused)) = true; - char* pt = NULL; + char* pt = 0; // 2 std::wostringstream woss; @@ -40,7 +40,7 @@ void test08() VERIFY( woss.good() ); // 3 - wchar_t* wt = NULL; + wchar_t* wt = 0; woss.clear(); woss << wt; VERIFY( woss.bad() ); diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/1.cc index c53c160f736..0c94c68156f 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/1.cc @@ -1,7 +1,8 @@ // 1999-08-16 bkoz // 1999-11-01 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009 Free Software Foundation +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009, 2010 +// 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 @@ -46,7 +47,7 @@ test02() // filebuf-> NULL std::ifstream f_in1(name_01); std::ofstream f_out1(name_02); - std::stringbuf* strbuf01 = NULL; + std::stringbuf* strbuf01 = 0; iostate state01 = f_in1.rdstate(); f_in1 >> strbuf01; iostate state02 = f_in1.rdstate(); diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_null.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_null.cc index 3e5dddc16e4..6d28c5f0459 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_null.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_null.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2003, 2005, 2009, 2010 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 @@ -28,7 +28,7 @@ void test1() bool test __attribute__((unused)) = true; ostringstream stream; - stream << static_cast<streambuf*>(NULL); + stream << static_cast<streambuf*>(0); VERIFY( stream.rdstate() & ios_base::badbit ); } @@ -42,7 +42,7 @@ void test3() try { - stream << static_cast<streambuf*>(NULL); + stream << static_cast<streambuf*>(0); VERIFY( false ); } catch (ios_base::failure&) diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc index bde6ba5985c..6e12a65bfbe 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2005, 2009 Free Software Foundation +// Copyright (C) 2005, 2009, 2010 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 @@ -41,7 +41,7 @@ test02() // filebuf-> NULL std::wifstream f_in1(name_01); std::wofstream f_out1(name_02); - std::wstringbuf* strbuf01 = NULL; + std::wstringbuf* strbuf01 = 0; iostate state01 = f_in1.rdstate(); f_in1 >> strbuf01; iostate state02 = f_in1.rdstate(); diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc index 5df2990fc5a..16f9108a332 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc @@ -1,7 +1,7 @@ // { dg-options "-std=gnu++0x" } // { dg-require-swprintf "" } -// Copyright (C) 2007, 2008, 2009 Free Software Foundation +// Copyright (C) 2007, 2008, 2009, 2010 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 @@ -22,7 +22,7 @@ #include <sstream> #include <system_error> #include <algorithm> -#include <wchar.h> +#include <cwchar> #include <testsuite_hooks.h> // Effects: os << ec.category().name() << ':' << ec.value(); diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_null.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_null.cc index 7e5cd6ddb65..076aece6475 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_null.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_null.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2005, 2009, 2010 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 @@ -28,7 +28,7 @@ void test1() bool test __attribute__((unused)) = true; wostringstream stream; - stream << static_cast<wstreambuf*>(NULL); + stream << static_cast<wstreambuf*>(0); VERIFY( stream.rdstate() & ios_base::badbit ); } @@ -42,7 +42,7 @@ void test3() try { - stream << static_cast<wstreambuf*>(NULL); + stream << static_cast<wstreambuf*>(0); VERIFY( false ); } catch (ios_base::failure&) diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/pod/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/pod/1.cc index 8a4088c95ba..00becef2587 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/pod/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/pod/1.cc @@ -1,6 +1,7 @@ // 1999-10-14 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, +// 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -40,7 +41,7 @@ void test01() const string_type str01; - stringbuf_type* strbuf01 = NULL; + stringbuf_type* strbuf01 = 0; stringbuf_type strbuf02(str01); ostream_type ostr01(strbuf01); ostream_type ostr02(&strbuf02); diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/pthread3.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/pthread3.cc index 81a8c96652d..5b87d84c022 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/pthread3.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/pthread3.cc @@ -1,7 +1,7 @@ // 2002-01-23 Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org> // Adpated from libstdc++/5347 submitted by markus.breuer@materna.de // -// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -48,10 +48,10 @@ main() #endif for (int i = 0; i < max_thread_count; i++) - pthread_create (&tid[i], NULL, thread_main, 0); + pthread_create (&tid[i], 0, thread_main, 0); for (int i = 0; i < max_thread_count; i++) - pthread_join (tid[i], NULL); + pthread_join (tid[i], 0); return 0; } diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/1.cc index 08ff1d2b9a1..5fe71886897 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/1.cc @@ -1,6 +1,6 @@ // 2001-05-23 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2009, 2010 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 @@ -30,10 +30,6 @@ void test01() const std::string str01 = "123"; std::string str02; - std::ios_base::iostate statefail, stateeof; - statefail = std::ios_base::failbit; - stateeof = std::ios_base::eofbit; - // string str() const str02 = os01.str(); VERIFY( str00 == str02 ); diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc index ca8a69a5e3d..b66d8fa2524 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004, 2009 Free Software Foundation, Inc. +// Copyright (C) 2004, 2009, 2010 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 @@ -28,10 +28,6 @@ void test01() const std::wstring str01 = L"123"; std::wstring str02; - std::ios_base::iostate statefail, stateeof; - statefail = std::ios_base::failbit; - stateeof = std::ios_base::eofbit; - // string str() const str02 = os01.str(); VERIFY( str00 == str02 ); diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc index a53be93fb70..5b54ebc3637 100644 --- a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "is_IS.UTF-8" } // Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc index b30ae62ab5e..4b3c903c1a7 100644 --- a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } // Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/9322.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/9322.cc index 9d31e2e6373..dcc42ee7a5d 100644 --- a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/9322.cc +++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/9322.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "de_DE" } // 1999-10-11 bkoz diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc index 6aa85a6a4ad..b0e7a61b6be 100644 --- a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "is_IS.UTF-8" } // Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc index c088694bdd3..15007de2aea 100644 --- a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc +++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } // Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc index 26b09e3e7e3..1d4d494c415 100644 --- a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc +++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "de_DE" } // 1999-10-11 bkoz diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/1.cc index 918726c8778..65aff09ec27 100644 --- a/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/1.cc @@ -1,6 +1,7 @@ // 1999-10-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +// 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -40,12 +41,12 @@ public: check_pointers() { bool test __attribute__((unused)) = true; - VERIFY( this->eback() == NULL ); - VERIFY( this->gptr() == NULL ); - VERIFY( this->egptr() == NULL ); - VERIFY( this->pbase() == NULL ); - VERIFY( this->pptr() == NULL ); - VERIFY( this->epptr() == NULL ); + VERIFY( !this->eback() ); + VERIFY( !this->gptr() ); + VERIFY( !this->egptr() ); + VERIFY( !this->pbase() ); + VERIFY( !this->pptr() ); + VERIFY( !this->epptr() ); return test; } diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc index 384ea29afb0..30b67e4e6d1 100644 --- a/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc @@ -1,6 +1,6 @@ // 1999-10-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -40,12 +40,12 @@ public: check_pointers() { bool test __attribute__((unused)) = true; - VERIFY( this->eback() == NULL ); - VERIFY( this->gptr() == NULL ); - VERIFY( this->egptr() == NULL ); - VERIFY( this->pbase() == NULL ); - VERIFY( this->pptr() == NULL ); - VERIFY( this->epptr() == NULL ); + VERIFY( !this->eback() ); + VERIFY( !this->gptr() ); + VERIFY( !this->egptr() ); + VERIFY( !this->pbase() ); + VERIFY( !this->pptr() ); + VERIFY( !this->epptr() ); return test; } diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/char/1.cc index 37d729c92ad..cbf17820f38 100644 --- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/char/1.cc @@ -1,6 +1,7 @@ // 1999-10-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +// 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -40,12 +41,12 @@ public: check_pointers() { bool test __attribute__((unused)) = true; - VERIFY( this->eback() == NULL ); - VERIFY( this->gptr() == NULL ); - VERIFY( this->egptr() == NULL ); - VERIFY( this->pbase() == NULL ); - VERIFY( this->pptr() == NULL ); - VERIFY( this->epptr() == NULL ); + VERIFY( !this->eback() ); + VERIFY( !this->gptr() ); + VERIFY( !this->egptr() ); + VERIFY( !this->pbase() ); + VERIFY( !this->pptr() ); + VERIFY( !this->epptr() ); return test; } diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc index 16df0994dde..0c5c63f337d 100644 --- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc @@ -1,6 +1,6 @@ // 1999-10-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -40,12 +40,12 @@ public: check_pointers() { bool test __attribute__((unused)) = true; - VERIFY( this->eback() == NULL ); - VERIFY( this->gptr() == NULL ); - VERIFY( this->egptr() == NULL ); - VERIFY( this->pbase() == NULL ); - VERIFY( this->pptr() == NULL ); - VERIFY( this->epptr() == NULL ); + VERIFY( !this->eback() ); + VERIFY( !this->gptr() ); + VERIFY( !this->egptr() ); + VERIFY( !this->pbase() ); + VERIFY( !this->pptr() ); + VERIFY( !this->epptr() ); return test; } diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/char/1.cc index be6145c6e6a..d1530b18f3f 100644 --- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/char/1.cc @@ -1,6 +1,7 @@ // 1999-10-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +// 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -40,12 +41,12 @@ public: check_pointers() { bool test __attribute__((unused)) = true; - VERIFY( this->eback() == NULL ); - VERIFY( this->gptr() == NULL ); - VERIFY( this->egptr() == NULL ); - VERIFY( this->pbase() == NULL ); - VERIFY( this->pptr() == NULL ); - VERIFY( this->epptr() == NULL ); + VERIFY( !this->eback() ); + VERIFY( !this->gptr() ); + VERIFY( !this->egptr() ); + VERIFY( !this->pbase() ); + VERIFY( !this->pptr() ); + VERIFY( !this->epptr() ); return test; } diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc index 948865c5a64..66b4af5d3e6 100644 --- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc @@ -1,6 +1,6 @@ // 1999-10-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -40,12 +40,12 @@ public: check_pointers() { bool test __attribute__((unused)) = true; - VERIFY( this->eback() == NULL ); - VERIFY( this->gptr() == NULL ); - VERIFY( this->egptr() == NULL ); - VERIFY( this->pbase() == NULL ); - VERIFY( this->pptr() == NULL ); - VERIFY( this->epptr() == NULL ); + VERIFY( !this->eback() ); + VERIFY( !this->gptr() ); + VERIFY( !this->egptr() ); + VERIFY( !this->pbase() ); + VERIFY( !this->pptr() ); + VERIFY( !this->epptr() ); return test; } diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/char/1057.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/char/1057.cc index 11cda23da15..440d82b5abe 100644 --- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/char/1057.cc +++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/char/1057.cc @@ -1,6 +1,6 @@ // 1999-10-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -32,7 +32,7 @@ public: nullsetpbuf() { setp(foo, foo + 64); - setp(NULL, NULL); + setp(0, 0); } }; diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc index d04be240824..5e7166fdd3d 100644 --- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc +++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc @@ -1,6 +1,6 @@ // 1999-10-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -32,7 +32,7 @@ public: nullsetpbuf() { setp(foo, foo + 64); - setp(NULL, NULL); + setp(0, 0); } }; diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1.cc index 0fe945eec61..2874b0eea4e 100644 --- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1.cc @@ -1,6 +1,7 @@ // 1999-10-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +// 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -40,12 +41,12 @@ public: check_pointers() { bool test __attribute__((unused)) = true; - VERIFY( this->eback() == NULL ); - VERIFY( this->gptr() == NULL ); - VERIFY( this->egptr() == NULL ); - VERIFY( this->pbase() == NULL ); - VERIFY( this->pptr() == NULL ); - VERIFY( this->epptr() == NULL ); + VERIFY( !this->eback() ); + VERIFY( !this->gptr() ); + VERIFY( !this->egptr() ); + VERIFY( !this->pbase() ); + VERIFY( !this->pptr() ); + VERIFY( !this->epptr() ); return test; } diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1057.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1057.cc index 227a1c7a54a..dda78bde457 100644 --- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1057.cc +++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1057.cc @@ -1,6 +1,6 @@ // 1999-10-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -32,7 +32,7 @@ public: nullsetpbuf() { setp(foo, foo + 64); - setp(NULL, NULL); + setp(0, 0); } }; diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc index b03ab172927..09b263b6c7b 100644 --- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc @@ -1,6 +1,7 @@ // 1999-10-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +// 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -41,12 +42,12 @@ public: check_pointers() { bool test __attribute__((unused)) = true; - VERIFY( this->eback() == NULL ); - VERIFY( this->gptr() == NULL ); - VERIFY( this->egptr() == NULL ); - VERIFY( this->pbase() == NULL ); - VERIFY( this->pptr() == NULL ); - VERIFY( this->epptr() == NULL ); + VERIFY( !this->eback() ); + VERIFY( !this->gptr() ); + VERIFY( !this->egptr() ); + VERIFY( !this->pbase() ); + VERIFY( !this->pptr() ); + VERIFY( !this->epptr() ); return test; } diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1057.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1057.cc index b40e24ce8a3..9b148bab93f 100644 --- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1057.cc +++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1057.cc @@ -1,6 +1,6 @@ // 1999-10-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -32,7 +32,7 @@ public: nullsetpbuf() { setp(foo, foo + 64); - setp(NULL, NULL); + setp(0, 0); } }; diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/9322.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/9322.cc index c7677349592..bfc8643510f 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/9322.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/9322.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "de_DE" } // 2001-05-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc index dedd93dbd48..7182fd912ba 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc @@ -1,4 +1,5 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "en_US" } +// { dg-require-namedlocale "de_DE" } // 2001-05-21 Benjamin Kosnik <bkoz@redhat.com> diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc index 2763a01c3fc..f60911bdc43 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc @@ -1,7 +1,7 @@ // 981208 bkoz test functionality of basic_stringbuf for char_type == char // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007, 2009 +// 2006, 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -33,14 +33,13 @@ std::stringbuf strb_03(str_03, std::ios_base::out); void test04() { bool test __attribute__((unused)) = true; - std::streamoff strmof_1(-1), strmof_2; typedef std::stringbuf::int_type int_type; typedef std::stringbuf::traits_type traits_type; // GET - strmof_1 = strb_01.in_avail(); - strmof_2 = strb_02.in_avail(); - strmof_1 = strb_03.in_avail(); + strb_01.in_avail(); + strb_02.in_avail(); + strb_03.in_avail(); // int_type sbumpc() // if read_cur not avail, return uflow(), else return *read_cur & increment diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc index 5b0f9862bfd..3ec279a19ef 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc @@ -1,6 +1,6 @@ // 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -32,14 +32,13 @@ std::wstringbuf strb_03(str_03, std::ios_base::out); void test04() { bool test __attribute__((unused)) = true; - std::streamoff strmof_1(-1), strmof_2; typedef std::wstringbuf::int_type int_type; typedef std::wstringbuf::traits_type traits_type; // GET - strmof_1 = strb_01.in_avail(); - strmof_2 = strb_02.in_avail(); - strmof_1 = strb_03.in_avail(); + strb_01.in_avail(); + strb_02.in_avail(); + strb_03.in_avail(); // int_type sbumpc() // if read_cur not avail, return uflow(), else return *read_cur & increment diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/1.cc index ee983c256cc..142cde9c7f2 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/1.cc @@ -1,6 +1,6 @@ // 981208 bkoz test functionality of basic_stringbuf for char_type == char -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -36,7 +36,7 @@ void test04() typedef std::stringbuf::off_type off_type; int_type c1 = strb_01.sbumpc(); - int_type c2, c3; + int_type c2; // BUFFER MANAGEMENT & POSITIONING @@ -84,7 +84,7 @@ void test04() c1 = strb_01.sgetc(); c2 = strb_01.sungetc(); strmsz_2 = strb_01.in_avail(); // 1 - c3 = strb_01.sgetc(); + strb_01.sgetc(); VERIFY( c1 != c2 ); VERIFY( strmsz_2 != strmsz_1 ); VERIFY( strmsz_2 == 1 ); diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc index 288e76cae8a..1b0ee5fe58f 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc @@ -1,6 +1,6 @@ // 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -36,7 +36,7 @@ void test04() typedef std::wstringbuf::off_type off_type; int_type c1 = strb_01.sbumpc(); - int_type c2, c3; + int_type c2; // BUFFER MANAGEMENT & POSITIONING @@ -84,7 +84,7 @@ void test04() c1 = strb_01.sgetc(); c2 = strb_01.sungetc(); strmsz_2 = strb_01.in_avail(); // 1 - c3 = strb_01.sgetc(); + strb_01.sgetc(); VERIFY( c1 != c2 ); VERIFY( strmsz_2 != strmsz_1 ); VERIFY( strmsz_2 == 1 ); diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/1.cc index 4cdca1afc6e..53f98bf98c3 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/1.cc @@ -1,6 +1,6 @@ // 981208 bkoz test functionality of basic_stringbuf for char_type == char -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2009 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -34,7 +34,6 @@ void test04() typedef std::stringbuf::off_type off_type; int_type c1 = strb_01.sbumpc(); - int_type c2; int_type c3 = strb_01.sbumpc(); pos_type pt_1(off_type(-1)); @@ -58,7 +57,7 @@ void test04() off_1 = off_type(pt_1); c1 = strb_01.snextc(); //current in pointer +1 VERIFY( c1 == 'o' ); - c2 = strb_01.sputc('x'); //test current out pointer + strb_01.sputc('x'); //test current out pointer str_tmp = std::string("myxonos. . . or what?"); VERIFY( strb_01.str() == str_tmp ); strb_01.pubsync(); //resets pointers @@ -67,7 +66,7 @@ void test04() VERIFY( off_1 == off_2 ); c3 = strb_01.snextc(); //current in pointer +1 VERIFY( c1 == c3 ); - c2 = strb_01.sputc('x'); //test current out pointer + strb_01.sputc('x'); //test current out pointer str_tmp = std::string("myxonos. . . or what?"); VERIFY( strb_01.str() == str_tmp ); } diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc index 47414b9d0fd..bc01ea64064 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc @@ -1,6 +1,6 @@ // 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -34,7 +34,6 @@ void test04() typedef std::wstringbuf::off_type off_type; int_type c1 = strb_01.sbumpc(); - int_type c2; int_type c3 = strb_01.sbumpc(); pos_type pt_1(off_type(-1)); @@ -58,7 +57,7 @@ void test04() off_1 = off_type(pt_1); c1 = strb_01.snextc(); //current in pointer +1 VERIFY( c1 == L'o' ); - c2 = strb_01.sputc(L'x'); //test current out pointer + strb_01.sputc(L'x'); //test current out pointer str_tmp = std::wstring(L"myxonos. . . or what?"); VERIFY( strb_01.str() == str_tmp ); strb_01.pubsync(); //resets pointers @@ -67,7 +66,7 @@ void test04() VERIFY( off_1 == off_2 ); c3 = strb_01.snextc(); //current in pointer +1 VERIFY( c1 == c3 ); - c2 = strb_01.sputc(L'x'); //test current out pointer + strb_01.sputc(L'x'); //test current out pointer str_tmp = std::wstring(L"myxonos. . . or what?"); VERIFY( strb_01.str() == str_tmp ); } diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/char/1.cc index e686ba24960..f26ec85c565 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/char/1.cc @@ -1,6 +1,6 @@ // 981208 bkoz test functionality of basic_stringbuf for char_type == char -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -32,14 +32,13 @@ std::stringbuf strb_03(str_03, std::ios_base::out); void test04() { bool test __attribute__((unused)) = true; - std::streamoff strmof_1(-1), strmof_2; typedef std::stringbuf::int_type int_type; typedef std::stringbuf::traits_type traits_type; // GET - strmof_1 = strb_01.in_avail(); - strmof_2 = strb_02.in_avail(); - strmof_1 = strb_03.in_avail(); + strb_01.in_avail(); + strb_02.in_avail(); + strb_03.in_avail(); int_type c3 = strb_01.sbumpc(); int_type c4 = strb_02.sbumpc(); diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc index 181dba9fe56..98ca73d75fa 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc @@ -1,6 +1,6 @@ // 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -32,14 +32,13 @@ std::wstringbuf strb_03(str_03, std::ios_base::out); void test04() { bool test __attribute__((unused)) = true; - std::streamoff strmof_1(-1), strmof_2; typedef std::wstringbuf::int_type int_type; typedef std::wstringbuf::traits_type traits_type; // GET - strmof_1 = strb_01.in_avail(); - strmof_2 = strb_02.in_avail(); - strmof_1 = strb_03.in_avail(); + strb_01.in_avail(); + strb_02.in_avail(); + strb_03.in_avail(); int_type c3 = strb_01.sbumpc(); int_type c4 = strb_02.sbumpc(); diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/char/1.cc index 4348f74692f..2f077a508a9 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/char/1.cc @@ -1,7 +1,7 @@ // 981208 bkoz test functionality of basic_stringbuf for char_type == char // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -// 2006, 2007, 2009 +// 2006, 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -34,20 +34,19 @@ void test04() { bool test __attribute__((unused)) = true; std::streamsize strmsz_1, strmsz_2; - std::streamoff strmof_1(-1), strmof_2; typedef std::stringbuf::int_type int_type; typedef std::stringbuf::traits_type traits_type; // GET - strmof_1 = strb_01.in_avail(); - strmof_2 = strb_02.in_avail(); - strmof_1 = strb_03.in_avail(); + strb_01.in_avail(); + strb_02.in_avail(); + strb_03.in_avail(); int_type c1 = strb_01.sbumpc(); int_type c2 = strb_02.sbumpc(); strb_01.sbumpc(); int_type c4 = strb_02.sbumpc(); - int_type c5 = strb_03.sbumpc(); + strb_03.sbumpc(); // int_type sgetc() // if read_cur not avail, return uflow(), else return *read_cur @@ -55,13 +54,13 @@ void test04() int_type c7 = strb_02.sgetc(); strb_01.sgetc(); strb_02.sgetc(); - c5 = strb_03.sgetc(); + strb_03.sgetc(); // int_type snextc() // calls sbumpc and if sbumpc != eof, return sgetc c6 = strb_01.snextc(); c7 = strb_02.snextc(); - c5 = strb_03.snextc(); + strb_03.snextc(); // streamsize sgetn(char_type *s, streamsize n) // streamsize xsgetn(char_type *s, streamsize n) diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc index 01a149eda45..5c917e10950 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc @@ -1,7 +1,7 @@ // 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007, 2009 +// 2006, 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -34,20 +34,19 @@ void test04() { bool test __attribute__((unused)) = true; std::streamsize strmsz_1, strmsz_2; - std::streamoff strmof_1(-1), strmof_2; typedef std::wstringbuf::int_type int_type; typedef std::wstringbuf::traits_type traits_type; // GET - strmof_1 = strb_01.in_avail(); - strmof_2 = strb_02.in_avail(); - strmof_1 = strb_03.in_avail(); + strb_01.in_avail(); + strb_02.in_avail(); + strb_03.in_avail(); int_type c1 = strb_01.sbumpc(); int_type c2 = strb_02.sbumpc(); strb_01.sbumpc(); int_type c4 = strb_02.sbumpc(); - int_type c5 = strb_03.sbumpc(); + strb_03.sbumpc(); // int_type sgetc() // if read_cur not avail, return uflow(), else return *read_cur @@ -55,13 +54,13 @@ void test04() int_type c7 = strb_02.sgetc(); strb_01.sgetc(); strb_02.sgetc(); - c5 = strb_03.sgetc(); + strb_03.sgetc(); // int_type snextc() // calls sbumpc and if sbumpc != eof, return sgetc c6 = strb_01.snextc(); c7 = strb_02.snextc(); - c5 = strb_03.snextc(); + strb_03.snextc(); // streamsize sgetn(char_type *s, streamsize n) // streamsize xsgetn(char_type *s, streamsize n) diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/char/1.cc index 960e6e9b17f..afe1dfa5750 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/char/1.cc @@ -1,7 +1,7 @@ // 981208 bkoz test functionality of basic_stringbuf for char_type == char // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007, 2009 +// 2006, 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -33,14 +33,13 @@ std::stringbuf strb_03(str_03, std::ios_base::out); void test04() { bool test __attribute__((unused)) = true; - std::streamoff strmof_1(-1), strmof_2; typedef std::stringbuf::int_type int_type; typedef std::stringbuf::traits_type traits_type; // GET - strmof_1 = strb_01.in_avail(); - strmof_2 = strb_02.in_avail(); - strmof_1 = strb_03.in_avail(); + strb_01.in_avail(); + strb_02.in_avail(); + strb_03.in_avail(); strb_01.sbumpc(); strb_02.sbumpc(); diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc index 62d21a7dc81..0154594b689 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc @@ -1,7 +1,7 @@ // 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -// 2006, 2007, 2009 +// 2006, 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -33,14 +33,13 @@ std::wstringbuf strb_03(str_03, std::ios_base::out); void test04() { bool test __attribute__((unused)) = true; - std::streamoff strmof_1(-1), strmof_2; typedef std::wstringbuf::int_type int_type; typedef std::wstringbuf::traits_type traits_type; // GET - strmof_1 = strb_01.in_avail(); - strmof_2 = strb_02.in_avail(); - strmof_1 = strb_03.in_avail(); + strb_01.in_avail(); + strb_02.in_avail(); + strb_03.in_avail(); strb_01.sbumpc(); strb_02.sbumpc(); diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc index c99c2aa1283..67358a3b911 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc @@ -1,6 +1,6 @@ // 981208 bkoz test functionality of basic_stringbuf for char_type == char -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -33,7 +33,6 @@ void test04() { bool test __attribute__((unused)) = true; std::string str_tmp, str_tmp2; - std::streamsize strmsz_1, strmsz_2; typedef std::stringbuf::int_type int_type; typedef std::stringbuf::traits_type traits_type; @@ -44,27 +43,27 @@ void test04() // PUT strb_03.str(str_01); //reset - std::string::size_type sz1 = strb_03.str().length(); - std::string::size_type sz2 = strb_03.str().length(); + strb_03.str().length(); + strb_03.str().length(); // streamsize sputn(const char_typs* s, streamsize n) // write up to n chars to out_cur from s, returning number assigned // NB *sputn will happily put '\0' into your stream if you give it a chance* str_tmp = strb_03.str(); - sz1 = str_tmp.length(); - strmsz_1 = strb_03.sputn("racadabras", 10);//"abracadabras or what?" - sz2 = strb_03.str().length(); - strmsz_2 = strb_03.sputn(", i wanna reach out and", 10); - sz2 = strb_03.str().length(); + str_tmp.length(); + strb_03.sputn("racadabras", 10);//"abracadabras or what?" + strb_03.str().length(); + strb_03.sputn(", i wanna reach out and", 10); + strb_03.str().length(); str_tmp = strb_02.str(); - strmsz_1 = strb_02.sputn("racadabra", 10); + strb_02.sputn("racadabra", 10); // PUTBACK // int_type sputbackc(char_type c) // if in_cur not avail || ! traits::eq(c, gptr() [-1]), return pbfail // otherwise decrements in_cur and returns *gptr() - strmsz_1 = strb_01.in_avail(); + strb_01.in_avail(); str_tmp = strb_01.str(); c1 = strb_01.sgetc(); //"mykonos. . . 'o'r what?" c2 = strb_01.sputbackc('z');//"mykonos. . .zor what?" @@ -76,7 +75,7 @@ void test04() VERIFY( str_tmp.size() == str_tmp2.size() ); //test for _in_cur == _in_beg strb_01.str(str_tmp); - strmsz_1 = strb_01.in_avail(); + strb_01.in_avail(); c1 = strb_01.sgetc(); //"'m'ykonos. . . or what?" c2 = strb_01.sputbackc('z');//"mykonos. . . or what?" c3 = strb_01.sgetc(); @@ -88,7 +87,7 @@ void test04() VERIFY( str_tmp.size() == strb_01.str().size() ); // test for replacing char with identical one strb_01.str(str_01); //reset - strmsz_1 = strb_01.in_avail(); + strb_01.in_avail(); strb_01.sbumpc(); strb_01.sbumpc(); c1 = strb_01.sgetc(); //"my'k'onos. . . or what?" @@ -100,7 +99,7 @@ void test04() VERIFY( strb_01.str() == str_01 ); VERIFY( str_01.size() == strb_01.str().size() ); //test for ios_base::out - strmsz_2 = strb_03.in_avail(); + strb_03.in_avail(); c4 = strb_03.sputbackc('x'); VERIFY( c4 == traits_type::eof() ); } diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc index f95a695dd00..e0c91a3b2c0 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc @@ -1,6 +1,6 @@ // 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -33,7 +33,6 @@ void test04() { bool test __attribute__((unused)) = true; std::wstring str_tmp, str_tmp2; - std::streamsize strmsz_1, strmsz_2; typedef std::wstringbuf::int_type int_type; typedef std::wstringbuf::traits_type traits_type; @@ -44,27 +43,27 @@ void test04() // PUT strb_03.str(str_01); //reset - std::wstring::size_type sz1 = strb_03.str().length(); - std::wstring::size_type sz2 = strb_03.str().length(); + strb_03.str().length(); + strb_03.str().length(); // streamsize sputn(const char_typs* s, streamsize n) // write up to n chars to out_cur from s, returning number assigned // NB *sputn will happily put '\0' into your stream if you give it a chance* str_tmp = strb_03.str(); - sz1 = str_tmp.length(); - strmsz_1 = strb_03.sputn(L"racadabras", 10);//"abracadabras or what?" - sz2 = strb_03.str().length(); - strmsz_2 = strb_03.sputn(L", i wanna reach out and", 10); - sz2 = strb_03.str().length(); + str_tmp.length(); + strb_03.sputn(L"racadabras", 10);//"abracadabras or what?" + strb_03.str().length(); + strb_03.sputn(L", i wanna reach out and", 10); + strb_03.str().length(); str_tmp = strb_02.str(); - strmsz_1 = strb_02.sputn(L"racadabra", 10); + strb_02.sputn(L"racadabra", 10); // PUTBACK // int_type sputbackc(char_type c) // if in_cur not avail || ! traits::eq(c, gptr() [-1]), return pbfail // otherwise decrements in_cur and returns *gptr() - strmsz_1 = strb_01.in_avail(); + strb_01.in_avail(); str_tmp = strb_01.str(); c1 = strb_01.sgetc(); //"mykonos. . . 'o'r what?" c2 = strb_01.sputbackc(L'z');//"mykonos. . .zor what?" @@ -76,7 +75,7 @@ void test04() VERIFY( str_tmp.size() == str_tmp2.size() ); //test for _in_cur == _in_beg strb_01.str(str_tmp); - strmsz_1 = strb_01.in_avail(); + strb_01.in_avail(); c1 = strb_01.sgetc(); //"'m'ykonos. . . or what?" c2 = strb_01.sputbackc(L'z');//"mykonos. . . or what?" c3 = strb_01.sgetc(); @@ -88,7 +87,7 @@ void test04() VERIFY( str_tmp.size() == strb_01.str().size() ); // test for replacing char with identical one strb_01.str(str_01); //reset - strmsz_1 = strb_01.in_avail(); + strb_01.in_avail(); strb_01.sbumpc(); strb_01.sbumpc(); c1 = strb_01.sgetc(); //"my'k'onos. . . or what?" @@ -100,7 +99,7 @@ void test04() VERIFY( strb_01.str() == str_01 ); VERIFY( str_01.size() == strb_01.str().size() ); //test for ios_base::out - strmsz_2 = strb_03.in_avail(); + strb_03.in_avail(); c4 = strb_03.sputbackc(L'x'); VERIFY( c4 == traits_type::eof() ); } diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1057.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1057.cc index 06957dd1926..f88f28e39a1 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1057.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1057.cc @@ -1,6 +1,6 @@ // 1999-10-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -32,7 +32,7 @@ public: nullsetpbuf() { setp(foo, foo + 64); - setp(NULL, NULL); + setp(0, 0); } }; diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1057.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1057.cc index 4b4216b883d..ae07ebf30ed 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1057.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1057.cc @@ -1,6 +1,6 @@ // 1999-10-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -32,7 +32,7 @@ public: nullsetpbuf() { setp(foo, foo + 64); - setp(NULL, NULL); + setp(0, 0); } }; diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1057.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1057.cc index c05d289846d..c51f47a8d34 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1057.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1057.cc @@ -1,6 +1,6 @@ // 1999-10-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -32,7 +32,7 @@ public: nullsetpbuf() { setp(foo, foo + 64); - setp(NULL, NULL); + setp(0, 0); } }; diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1057.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1057.cc index 33d1ad79afe..99f7a550993 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1057.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1057.cc @@ -1,6 +1,6 @@ // 1999-10-11 bkoz -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2009 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -32,7 +32,7 @@ public: nullsetpbuf() { setp(foo, foo + 64); - setp(NULL, NULL); + setp(0, 0); } }; diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/char/1.cc index 5b1fcfca1d1..ae038e518c3 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/char/1.cc @@ -1,6 +1,6 @@ // 981208 bkoz test functionality of basic_stringbuf for char_type == char -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -33,7 +33,6 @@ void test04() { bool test __attribute__((unused)) = true; std::string str_tmp; - std::streamsize strmsz_1, strmsz_2; typedef std::stringbuf::int_type int_type; typedef std::stringbuf::traits_type traits_type; @@ -44,47 +43,47 @@ void test04() // PUT strb_03.str(str_01); //reset - std::string::size_type sz1 = strb_03.str().length(); - std::string::size_type sz2 = strb_03.str().length(); + strb_03.str().length(); + strb_03.str().length(); // streamsize sputn(const char_typs* s, streamsize n) // write up to n chars to out_cur from s, returning number assigned // NB *sputn will happily put '\0' into your stream if you give it a chance* str_tmp = strb_03.str(); - sz1 = str_tmp.length(); - strmsz_1 = strb_03.sputn("racadabras", 10);//"abracadabras or what?" - sz2 = strb_03.str().length(); - strmsz_2 = strb_03.sputn(", i wanna reach out and", 10); - sz2 = strb_03.str().length(); + str_tmp.length(); + strb_03.sputn("racadabras", 10);//"abracadabras or what?" + strb_03.str().length(); + strb_03.sputn(", i wanna reach out and", 10); + strb_03.str().length(); str_tmp = strb_02.str(); - strmsz_1 = strb_02.sputn("racadabra", 10); + strb_02.sputn("racadabra", 10); // PUTBACK // int_type sputbackc(char_type c) // if in_cur not avail || ! traits::eq(c, gptr() [-1]), return pbfail // otherwise decrements in_cur and returns *gptr() - strmsz_1 = strb_01.in_avail(); + strb_01.in_avail(); str_tmp = strb_01.str(); c1 = strb_01.sgetc(); //"mykonos. . . 'o'r what?" c2 = strb_01.sputbackc('z');//"mykonos. . .zor what?" c3 = strb_01.sgetc(); //test for _in_cur == _in_beg strb_01.str(str_tmp); - strmsz_1 = strb_01.in_avail(); + strb_01.in_avail(); c1 = strb_01.sgetc(); //"'m'ykonos. . . or what?" c2 = strb_01.sputbackc('z');//"mykonos. . . or what?" c3 = strb_01.sgetc(); // test for replacing char with identical one strb_01.str(str_01); //reset - strmsz_1 = strb_01.in_avail(); + strb_01.in_avail(); strb_01.sbumpc(); strb_01.sbumpc(); c1 = strb_01.sgetc(); //"my'k'onos. . . or what?" c2 = strb_01.sputbackc('y');//"mykonos. . . or what?" c3 = strb_01.sgetc(); //test for ios_base::out - strmsz_2 = strb_03.in_avail(); + strb_03.in_avail(); c4 = strb_03.sputbackc('x'); // int_type sungetc() @@ -92,7 +91,7 @@ void test04() // return to_int_type(*gptr()) for (int i = 0; i<12; ++i) strb_01.sbumpc(); - strmsz_1 = strb_01.in_avail(); + strb_01.in_avail(); str_tmp = strb_01.str(); c1 = strb_01.sgetc(); //"mykonos. . . 'o'r what?" c2 = strb_01.sungetc();//"mykonos. . . or what?" @@ -105,7 +104,7 @@ void test04() VERIFY( str_01.size() == strb_01.str().size() ); //test for _in_cur == _in_beg strb_01.str(str_tmp); - strmsz_1 = strb_01.in_avail(); + strb_01.in_avail(); c1 = strb_01.sgetc(); //"'m'ykonos. . . or what?" c2 = strb_01.sungetc();//"mykonos. . . or what?" c3 = strb_01.sgetc(); @@ -117,7 +116,7 @@ void test04() VERIFY( str_01.size() == strb_01.str().size() ); // test for replacing char with identical one strb_01.str(str_01); //reset - strmsz_1 = strb_01.in_avail(); + strb_01.in_avail(); strb_01.sbumpc(); strb_01.sbumpc(); c1 = strb_01.sgetc(); //"my'k'onos. . . or what?" @@ -129,7 +128,7 @@ void test04() VERIFY( strb_01.str() == str_01 ); VERIFY( str_01.size() == strb_01.str().size() ); //test for ios_base::out - strmsz_2 = strb_03.in_avail(); + strb_03.in_avail(); c4 = strb_03.sungetc(); VERIFY( c4 == traits_type::eof() ); } diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc index 360a1abb2d0..767b7eac50d 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc @@ -1,6 +1,6 @@ // 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -33,7 +33,6 @@ void test04() { bool test __attribute__((unused)) = true; std::wstring str_tmp; - std::streamsize strmsz_1, strmsz_2; typedef std::wstringbuf::int_type int_type; typedef std::wstringbuf::traits_type traits_type; @@ -44,47 +43,47 @@ void test04() // PUT strb_03.str(str_01); //reset - std::wstring::size_type sz1 = strb_03.str().length(); - std::wstring::size_type sz2 = strb_03.str().length(); + strb_03.str().length(); + strb_03.str().length(); // streamsize sputn(const char_typs* s, streamsize n) // write up to n chars to out_cur from s, returning number assigned // NB *sputn will happily put '\0' into your stream if you give it a chance* str_tmp = strb_03.str(); - sz1 = str_tmp.length(); - strmsz_1 = strb_03.sputn(L"racadabras", 10);//"abracadabras or what?" - sz2 = strb_03.str().length(); - strmsz_2 = strb_03.sputn(L", i wanna reach out and", 10); - sz2 = strb_03.str().length(); + str_tmp.length(); + strb_03.sputn(L"racadabras", 10);//"abracadabras or what?" + strb_03.str().length(); + strb_03.sputn(L", i wanna reach out and", 10); + strb_03.str().length(); str_tmp = strb_02.str(); - strmsz_1 = strb_02.sputn(L"racadabra", 10); + strb_02.sputn(L"racadabra", 10); // PUTBACK // int_type sputbackc(char_type c) // if in_cur not avail || ! traits::eq(c, gptr() [-1]), return pbfail // otherwise decrements in_cur and returns *gptr() - strmsz_1 = strb_01.in_avail(); + strb_01.in_avail(); str_tmp = strb_01.str(); c1 = strb_01.sgetc(); //"mykonos. . . 'o'r what?" c2 = strb_01.sputbackc('z');//"mykonos. . .zor what?" c3 = strb_01.sgetc(); //test for _in_cur == _in_beg strb_01.str(str_tmp); - strmsz_1 = strb_01.in_avail(); + strb_01.in_avail(); c1 = strb_01.sgetc(); //"'m'ykonos. . . or what?" c2 = strb_01.sputbackc(L'z');//"mykonos. . . or what?" c3 = strb_01.sgetc(); // test for replacing char with identical one strb_01.str(str_01); //reset - strmsz_1 = strb_01.in_avail(); + strb_01.in_avail(); strb_01.sbumpc(); strb_01.sbumpc(); c1 = strb_01.sgetc(); //"my'k'onos. . . or what?" c2 = strb_01.sputbackc(L'y');//"mykonos. . . or what?" c3 = strb_01.sgetc(); //test for ios_base::out - strmsz_2 = strb_03.in_avail(); + strb_03.in_avail(); c4 = strb_03.sputbackc(L'x'); // int_type sungetc() @@ -92,7 +91,7 @@ void test04() // return to_int_type(*gptr()) for (int i = 0; i<12; ++i) strb_01.sbumpc(); - strmsz_1 = strb_01.in_avail(); + strb_01.in_avail(); str_tmp = strb_01.str(); c1 = strb_01.sgetc(); //"mykonos. . . 'o'r what?" c2 = strb_01.sungetc();//"mykonos. . . or what?" @@ -105,7 +104,7 @@ void test04() VERIFY( str_01.size() == strb_01.str().size() ); //test for _in_cur == _in_beg strb_01.str(str_tmp); - strmsz_1 = strb_01.in_avail(); + strb_01.in_avail(); c1 = strb_01.sgetc(); //"'m'ykonos. . . or what?" c2 = strb_01.sungetc();//"mykonos. . . or what?" c3 = strb_01.sgetc(); @@ -117,7 +116,7 @@ void test04() VERIFY( str_01.size() == strb_01.str().size() ); // test for replacing char with identical one strb_01.str(str_01); //reset - strmsz_1 = strb_01.in_avail(); + strb_01.in_avail(); strb_01.sbumpc(); strb_01.sbumpc(); c1 = strb_01.sgetc(); //"my'k'onos. . . or what?" @@ -129,7 +128,7 @@ void test04() VERIFY( strb_01.str() == str_01 ); VERIFY( str_01.size() == strb_01.str().size() ); //test for ios_base::out - strmsz_2 = strb_03.in_avail(); + strb_03.in_avail(); c4 = strb_03.sungetc(); VERIFY( c4 == traits_type::eof() ); } diff --git a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/2.cc b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/2.cc index 46f0d1276fe..accb5653503 100644 --- a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/2.cc +++ b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/2.cc @@ -1,6 +1,6 @@ // 1999-09-20 bkoz -// Copyright (C) 1999, 2001, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 1999, 2001, 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -60,7 +60,6 @@ void test02() pos04 += off02; VERIFY( pos03 == pos04 ); std::streampos pos05 = pos03; - std::streampos pos06 = pos03 + off02; VERIFY ( pos05 == pos03 ); // q = p - o @@ -69,7 +68,6 @@ void test02() pos04 -= off02; VERIFY( pos03 == pos04 ); std::streampos pos07 = pos03; - std::streampos pos08 = pos03 - off02; VERIFY ( pos07 == pos03 ); // o = p - q diff --git a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/3.cc b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/3.cc index abef0074ac6..34c557bfb16 100644 --- a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/3.cc +++ b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/3.cc @@ -1,6 +1,6 @@ // 1999-09-20 bkoz -// Copyright (C) 1999, 2001, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 1999, 2001, 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -34,6 +34,7 @@ void test03() // casts to const streamoff const std::streampos pos01 = 0; off01 = std::streamoff(pos01); + off01 = off01; // Suppress unused warning. // equality/inequality with const args const std::streampos pos02(54); diff --git a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/4_neg.cc b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/4_neg.cc index 5c89aa5a361..9e3cad5d59e 100644 --- a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/4_neg.cc +++ b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/4_neg.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2003, 2009 +// Copyright (C) 2003, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -32,6 +32,8 @@ void test04() // Explicit conversion n = static_cast<long>(pos); // { dg-error "invalid static_cast" "" { xfail *-*-* } } + + n = n; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/5.cc b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/5.cc index 831bfd453fc..a32e34adfac 100644 --- a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/5.cc +++ b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/5.cc @@ -2,7 +2,7 @@ // 2006-03-13 Paolo Carlini <pcarlini@suse.de> -// Copyright (C) 2006, 2009 Free Software Foundation, Inc. +// Copyright (C) 2006, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -32,7 +32,9 @@ void test01() test01 = pos01 == -1; test01 = -1 == pos01; + test01 = test01; // Suppress unused warning. test02 = pos02 != -1; test02 = -1 != pos02; + test02 = test02; // Suppress unused warning. } diff --git a/libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc b/libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc index 8ba12fb7ea6..b59638fc341 100644 --- a/libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc @@ -18,7 +18,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <cinttypes> // { dg-excess-errors "In file included from" } +#include <cinttypes> // { dg-error "upcoming ISO" "" { target *-*-* } 31 } diff --git a/libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc b/libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc index f569a7bce82..a7adff4d3f4 100644 --- a/libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc @@ -34,5 +34,5 @@ void test01() } // { dg-error "synthesized" "" { target *-*-* } 33 } // { dg-error "within this context" "" { target *-*-* } 26 } -// { dg-error "is private" "" { target *-*-* } 788 } +// { dg-error "is private" "" { target *-*-* } 788 } // { dg-error "operator=" "" { target *-*-* } 0 } diff --git a/libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc b/libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc index 012482299e8..44f7af87da8 100644 --- a/libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc @@ -1,6 +1,6 @@ // { dg-do compile } -// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software +// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software // Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -32,7 +32,7 @@ void test02() test_base io1; test_base io2 = io1; } -// { dg-error "within this context" "" { target *-*-* } 27 } +// { dg-error "within this context" "" { target *-*-* } 26 } // { dg-error "synthesized" "" { target *-*-* } 33 } // { dg-error "is private" "" { target *-*-* } 785 } // { dg-error "copy constructor" "" { target *-*-* } 0 } diff --git a/libstdc++-v3/testsuite/27_io/ios_base/failure/what-3.cc b/libstdc++-v3/testsuite/27_io/ios_base/failure/what-3.cc index 7b3ee83df91..ddb29c5efc7 100644 --- a/libstdc++-v3/testsuite/27_io/ios_base/failure/what-3.cc +++ b/libstdc++-v3/testsuite/27_io/ios_base/failure/what-3.cc @@ -1,6 +1,6 @@ // 2001-02-26 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -34,6 +34,8 @@ void allocate_on_stack(void) __extension__ char array[num]; for (size_t i = 0; i < num; i++) array[i]=0; + for (size_t i = 0; i < num; i++) + array[i]=array[i]; // Suppress unused warning. } void test04() diff --git a/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/1.cc b/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/1.cc index 7ed97c2b81b..29ec9754870 100644 --- a/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/1.cc +++ b/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/1.cc @@ -41,7 +41,7 @@ void test01() { std::ios_base::sync_with_stdio(); - std::freopen("ios_base_members_static-1.txt", "w", stderr); + VERIFY( std::freopen("ios_base_members_static-1.txt", "w", stderr) ); for (int i = 0; i < 2; i++) { diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/char/1.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/char/1.cc index 4e52f9a69e3..681bac56f48 100644 --- a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/char/1.cc @@ -1,5 +1,5 @@ // { dg-options "-std=gnu++0x" } -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2010-03-01 Paolo Carlini <paolo.carlini@oracle.com> diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc index e4f6074c08d..a288f2e2b77 100644 --- a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc @@ -1,5 +1,5 @@ // { dg-options "-std=gnu++0x" } -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2010-03-01 Paolo Carlini <paolo.carlini@oracle.com> diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/1.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/1.cc index 4a49ca1ce31..2e67753643d 100644 --- a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/1.cc @@ -1,5 +1,5 @@ // { dg-options "-std=gnu++0x" } -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2010-03-01 Paolo Carlini <paolo.carlini@oracle.com> diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc index bfb03efcf8b..38348687ae2 100644 --- a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc @@ -1,5 +1,5 @@ // { dg-options "-std=gnu++0x" } -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE@euro" } // 2010-03-01 Paolo Carlini <paolo.carlini@oracle.com> diff --git a/libstdc++-v3/testsuite/27_io/objects/char/10.cc b/libstdc++-v3/testsuite/27_io/objects/char/10.cc index a744e787ac6..eebebc20e30 100644 --- a/libstdc++-v3/testsuite/27_io/objects/char/10.cc +++ b/libstdc++-v3/testsuite/27_io/objects/char/10.cc @@ -1,6 +1,6 @@ // 2003-05-01 Petur Runolfsson <peturr02@ru.is> -// Copyright (C) 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2003, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -32,7 +32,7 @@ void test10() const char* name = "filebuf_virtuals-1.txt"; FILE* ret = freopen(name, "r", stdin); - VERIFY( ret != NULL ); + VERIFY( ret ); streampos p1 = cin.tellg(); VERIFY( p1 != streampos(-1) ); diff --git a/libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc b/libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc index 2c6bbd60403..e4982c5e768 100644 --- a/libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc +++ b/libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc @@ -28,7 +28,7 @@ void test01() { - std::freopen("cin_unget-1.txt", "r", stdin); + VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) ); char c1; char c2; diff --git a/libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc b/libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc index 23ab8eea888..f18e5d393c7 100644 --- a/libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc +++ b/libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc @@ -24,7 +24,7 @@ void test01() { - std::freopen("cin_unget-1.txt", "r", stdin); + VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) ); char c1; int c2; diff --git a/libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc b/libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc index 5158003410e..3b83ef176cd 100644 --- a/libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc +++ b/libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc @@ -25,7 +25,7 @@ void test01() { - std::freopen("cin_unget-1.txt", "r", stdin); + VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) ); char buf[2]; VERIFY( std::cin.rdbuf()->sgetn(buf, 2) == 2 ); diff --git a/libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc b/libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc index 02f73b6211c..0f8600dbb40 100644 --- a/libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc +++ b/libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc @@ -24,7 +24,7 @@ void test01() { - std::freopen("cin_unget-1.txt", "r", stdin); + VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) ); char buf[2]; VERIFY( std::cin.rdbuf()->sgetn(buf, 2) == 2 ); diff --git a/libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc b/libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc index 0a0159f82c2..dd544b7370e 100644 --- a/libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc +++ b/libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc @@ -33,7 +33,7 @@ void test01() { - std::freopen("cin_unget-1.txt", "r", stdin); + VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) ); char c1; int c2; diff --git a/libstdc++-v3/testsuite/27_io/objects/char/5268.cc b/libstdc++-v3/testsuite/27_io/objects/char/5268.cc index 44f569c85e6..b7c0ac1df3d 100644 --- a/libstdc++-v3/testsuite/27_io/objects/char/5268.cc +++ b/libstdc++-v3/testsuite/27_io/objects/char/5268.cc @@ -1,6 +1,6 @@ // 2001-06-05 Benjamin Kosnik <bkoz@redhat.com> -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2009, 2010 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 @@ -27,7 +27,7 @@ void test04() std::stringbuf b1; std::cout.rdbuf( &b1 ); std::cout << "hello\n"; - std::cout.rdbuf(NULL); + std::cout.rdbuf(0); } int main() diff --git a/libstdc++-v3/testsuite/27_io/objects/char/9.cc b/libstdc++-v3/testsuite/27_io/objects/char/9.cc index 1ba5bd12d53..e4905bb46f2 100644 --- a/libstdc++-v3/testsuite/27_io/objects/char/9.cc +++ b/libstdc++-v3/testsuite/27_io/objects/char/9.cc @@ -34,7 +34,7 @@ void test09() fputs("abc\n", fout); fclose(fout); - freopen(name, "r", stdin); + VERIFY( freopen(name, "r", stdin) ); // basic_streambuf::showmanyc returns 0. VERIFY( 0 == std::cin.rdbuf()->in_avail() ); diff --git a/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc b/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc index 59b8f4d09c5..8ca77c76e75 100644 --- a/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc +++ b/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc @@ -3,7 +3,7 @@ // 2003-04-30 Petur Runolfsson <peturr02@ru.is> -// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -58,7 +58,7 @@ bool test01() if (child == 0) { FILE* file = fopen(name, "r+"); - VERIFY( file != NULL ); + VERIFY( file != 0 ); fputs("Whatever\n", file); fflush(file); s1.signal(); @@ -68,7 +68,7 @@ bool test01() exit(0); } - freopen(name, "r", stdin); + VERIFY( freopen(name, "r", stdin) ); s1.wait(); int c1 = fgetc(stdin); diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/10.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/10.cc index 672f0c15439..1030e75be0a 100644 --- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/10.cc +++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/10.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "se_NO.UTF-8" } // 2003-05-01 Petur Runolfsson <peturr02@ru.is> @@ -95,7 +95,7 @@ void test10() VERIFY( n == e_size ); fclose(file); - freopen(name, "r", stdin); + VERIFY( freopen(name, "r", stdin) ); wchar_t* wbuf = new wchar_t[i_size + 10]; wcin.read(wbuf, i_size + 10); diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/11.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/11.cc index c9c386f4707..7799591f4c1 100644 --- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/11.cc +++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/11.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "se_NO.UTF-8" } // 2003-05-01 Petur Runolfsson <peturr02@ru.is> @@ -90,7 +90,7 @@ void test11() }; size_t i_size = wcslen(i_lit); - freopen(name, "w", stdout); + VERIFY( freopen(name, "w", stdout) ); wcout.write(i_lit, i_size); wcout.flush(); diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12.cc index b910fa1cd2d..e94abdd624d 100644 --- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12.cc +++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "se_NO.UTF-8" } // 2003-09-04 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-1.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-1.cc index 8489dbb47df..58a40ce91c0 100644 --- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-1.cc +++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-1.cc @@ -26,7 +26,7 @@ void test01() { - std::freopen("cin_unget-1.txt", "r", stdin); + VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) ); wchar_t c1; wchar_t c2; diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-2.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-2.cc index 82c1ba2b3a3..7eaef212f07 100644 --- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-2.cc +++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-2.cc @@ -23,7 +23,7 @@ void test01() { - std::freopen("cin_unget-1.txt", "r", stdin); + VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) ); wchar_t c1; std::wint_t c2; diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-3.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-3.cc index 67f3a5b8b5b..8e236ab30cf 100644 --- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-3.cc +++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-3.cc @@ -27,7 +27,7 @@ void test01() { - std::freopen("cin_unget-1.txt", "r", stdin); + VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) ); wchar_t buf[2]; VERIFY( std::wcin.rdbuf()->sgetn(buf, 2) == 2 ); diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-4.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-4.cc index fc1191f9f2e..3649e7e2259 100644 --- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-4.cc +++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-4.cc @@ -23,7 +23,7 @@ void test01() { - std::freopen("cin_unget-1.txt", "r", stdin); + VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) ); wchar_t buf[2]; VERIFY( std::wcin.rdbuf()->sgetn(buf, 2) == 2 ); diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-5.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-5.cc index 1672a0ee925..49486e3c450 100644 --- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-5.cc +++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-5.cc @@ -29,7 +29,7 @@ void test01() { - std::freopen("cin_unget-1.txt", "r", stdin); + VERIFY( std::freopen("cin_unget-1.txt", "r", stdin) ); wchar_t c1; std::wint_t c2; diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc index 4f8d038979b..43b660246c2 100644 --- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc +++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "se_NO.UTF-8" } // 2003-09-04 Petur Runolfsson <peturr02@ru.is> diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/5268.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/5268.cc index 918d4c5d7d6..04571cc63ed 100644 --- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/5268.cc +++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/5268.cc @@ -1,6 +1,6 @@ // 2003-05-01 Petur Runolfsson <peturr02@ru.is> -// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2009, 2010 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 @@ -27,7 +27,7 @@ void test04() std::wstringbuf b1; std::wcout.rdbuf( &b1 ); std::wcout << L"hello\n"; - std::wcout.rdbuf(NULL); + std::wcout.rdbuf(0); } int main() diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc index dcaf9bc2540..717bbc12a0e 100644 --- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc +++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "de_DE.ISO-8859-15@euro" } // 2003-04-30 Petur Runolfsson <peturr02@ru.is> @@ -38,7 +38,7 @@ void test01() locale loc (locale("de_DE.ISO-8859-15@euro")); locale::global(loc); // Set locale for stdin - freopen(name, "r", stdin); + VERIFY( freopen(name, "r", stdin) ); wcin.imbue(loc); diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc index 08d544ef6b3..ca470dac9eb 100644 --- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc +++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc @@ -67,7 +67,7 @@ bool test01() exit(0); } - freopen(name, "r", stdin); + VERIFY( freopen(name, "r", stdin) ); s1.wait(); wint_t c1 = fgetwc(stdin); diff --git a/libstdc++-v3/testsuite/27_io/types/2.cc b/libstdc++-v3/testsuite/27_io/types/2.cc index 009e6f6af8d..33db5fed156 100644 --- a/libstdc++-v3/testsuite/27_io/types/2.cc +++ b/libstdc++-v3/testsuite/27_io/types/2.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2003, 2004, 2009 Free Software Foundation +// Copyright (C) 2003, 2004, 2009, 2010 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 @@ -30,6 +30,7 @@ void test01() // Wrapped in pos_type is EOF. soff = -1; + soff = soff; // Suppress unused warning. } int main(void) diff --git a/libstdc++-v3/testsuite/28_regex/03_requirements/typedefs.cc b/libstdc++-v3/testsuite/28_regex/03_requirements/typedefs.cc new file mode 100644 index 00000000000..072d5d07f40 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/03_requirements/typedefs.cc @@ -0,0 +1,38 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// +// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.3 Requirements [re.req] +// 28.2 (4) Table 127 - Regular expression traits class requirements + +#include <regex> + +void +test01() +{ + typedef std::regex_traits<char> traits; + + typedef traits::char_type char_type; + typedef traits::string_type string_type; + typedef traits::locale_type locale_type; + typedef traits::char_class_type char_class_type; +} diff --git a/libstdc++-v3/testsuite/28_regex/04_header/regex/std_c++0x_neg.cc b/libstdc++-v3/testsuite/28_regex/04_header/regex/std_c++0x_neg.cc new file mode 100644 index 00000000000..e8ddb77bbb3 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/04_header/regex/std_c++0x_neg.cc @@ -0,0 +1,23 @@ +// { dg-do compile } +// { dg-options "-std=gnu++98" } + +// Copyright (C) 2007, 2009, 2010 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 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/>. + +#include <regex> // { dg-excess-errors "In file included from" } + + diff --git a/libstdc++-v3/testsuite/28_regex/05_constants/error_type.cc b/libstdc++-v3/testsuite/28_regex/05_constants/error_type.cc new file mode 100644 index 00000000000..1841a462688 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/05_constants/error_type.cc @@ -0,0 +1,54 @@ +// { dg-options "-std=c++0x" } +// { dg-do compile } +// +// 2009-06-17 Stephen M. Webb <stephen.webb@xandros.com> +// +// Copyright (C) 2009 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 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/>. + +// 28.5.3 + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::regex_constants::error_type err __attribute__((unused)); + + err = std::regex_constants::error_collate; + err = std::regex_constants::error_ctype; + err = std::regex_constants::error_escape; + err = std::regex_constants::error_backref; + err = std::regex_constants::error_brack; + err = std::regex_constants::error_paren; + err = std::regex_constants::error_brace; + err = std::regex_constants::error_badbrace; + err = std::regex_constants::error_range; + err = std::regex_constants::error_space; + err = std::regex_constants::error_badrepeat; + err = std::regex_constants::error_complexity; + err = std::regex_constants::error_stack; +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/05_constants/match_flag_type.cc b/libstdc++-v3/testsuite/28_regex/05_constants/match_flag_type.cc new file mode 100644 index 00000000000..10635ff5f7f --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/05_constants/match_flag_type.cc @@ -0,0 +1,53 @@ +// { dg-options "-std=c++0x" } +// { dg-do compile } +// +// 2009-06-17 Stephen M. Webb <stephen.webb@xandros.com> +// +// Copyright (C) 2009 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 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/>. + +// 28.5.1 + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::regex_constants::match_flag_type flag = std::regex_constants::match_default; + + flag |= std::regex_constants::match_not_bol; + flag |= std::regex_constants::match_not_eol; + flag |= std::regex_constants::match_not_bow; + flag |= std::regex_constants::match_not_eow; + flag |= std::regex_constants::match_any; + flag |= std::regex_constants::match_not_null; + flag |= std::regex_constants::match_continuous; + flag |= std::regex_constants::match_prev_avail; + flag |= std::regex_constants::format_default; + flag |= std::regex_constants::format_sed; + flag |= std::regex_constants::format_no_copy; + flag |= std::regex_constants::format_first_only; +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/05_constants/syntax_option_type.cc b/libstdc++-v3/testsuite/28_regex/05_constants/syntax_option_type.cc new file mode 100644 index 00000000000..2aebf46d19e --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/05_constants/syntax_option_type.cc @@ -0,0 +1,51 @@ +// { dg-options "-std=c++0x" } +// { dg-do compile } +// +// 2009-06-17 Stephen M. Webb <stephen.webb@xandros.com> +// +// Copyright (C) 2009 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 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/>. + +// 28.5.1 + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::regex_constants::syntax_option_type option = 0; + + option |= std::regex_constants::icase; + option |= std::regex_constants::nosubs; + option |= std::regex_constants::optimize; + option |= std::regex_constants::collate; + option |= std::regex_constants::ECMAScript; + option |= std::regex_constants::basic; + option |= std::regex_constants::extended; + option |= std::regex_constants::awk; + option |= std::regex_constants::grep; + option |= std::regex_constants::egrep; +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/06_exception_type/regex_error.cc b/libstdc++-v3/testsuite/28_regex/06_exception_type/regex_error.cc new file mode 100644 index 00000000000..04fd7124277 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/06_exception_type/regex_error.cc @@ -0,0 +1,49 @@ +// { dg-options "-std=c++0x" } +// { dg-do compile } +// +// 2009-06-17 Stephen M. Webb <stephen.webb@xandros.com> +// +// Copyright (C) 2009 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 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/>. + +// 28.6 [re.badexp] + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::regex_error error(std::regex_constants::error_collate); + VERIFY(error.code() == std::regex_constants::error_collate); + + try + { + throw error; + } + catch (std::runtime_error& ex) + { + } +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/07_traits/char/ctor.cc b/libstdc++-v3/testsuite/28_regex/07_traits/char/ctor.cc new file mode 100644 index 00000000000..6f5a2f3ab8d --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/07_traits/char/ctor.cc @@ -0,0 +1,50 @@ +// { dg-do link } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.7] class template regex_traits + +#include <regex> +#include <testsuite_hooks.h> + +// Tests default constructor of the regex_traits class. There is only the +// default constructor. +void test01() +{ + bool test __attribute__((unused)) = true; + typedef std::regex_traits<char> test_type; + + // required default constructor + test_type t; + + // Check for required typedefs + typedef test_type::char_type char_type; + typedef test_type::string_type string_type; + typedef test_type::locale_type locale_type; + typedef test_type::char_class_type char_class_type; +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/07_traits/char/isctype.cc b/libstdc++-v3/testsuite/28_regex/07_traits/char/isctype.cc new file mode 100644 index 00000000000..cb8664ca8bf --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/07_traits/char/isctype.cc @@ -0,0 +1,48 @@ +// { dg-do run { xfail *-*-* } } +// { dg-options "-std=c++0x" } + +// +// 2010-06-23 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.3 Requirements [re.req] +// 28.2(4) Table 127 - Regular expression traits class requirements +// 28.7(11) Class template regex_traits [re.traits] + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + typedef char CharT; + typedef std::regex_traits<CharT> traits; + + char name[] = "lower"; + traits t; + + VERIFY( t.isctype('e', t.lookup_classname(name, name+sizeof(name)-1)) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/07_traits/char/length.cc b/libstdc++-v3/testsuite/28_regex/07_traits/char/length.cc new file mode 100644 index 00000000000..55406dd0ded --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/07_traits/char/length.cc @@ -0,0 +1,49 @@ +// { dg-do run } +// { dg-options "-std=c++0x" } + +// +// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.3 Requirements [re.req] +// 28.2 (4) Table 127 - Regular expression traits class requirements +// 28.7 Class template regex_traits [re.traits] +// 28.7 (3) static std::size_t length(const char_type* p); + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + typedef char CharT; + typedef std::regex_traits<CharT> traits; + bool test __attribute__((unused)) = true; + const CharT* p = ""; + + std::size_t i = traits::length(p); + + VERIFY( i == 0 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/07_traits/char/lookup_classname.cc b/libstdc++-v3/testsuite/28_regex/07_traits/char/lookup_classname.cc new file mode 100644 index 00000000000..49ffb511add --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/07_traits/char/lookup_classname.cc @@ -0,0 +1,54 @@ +// { dg-do run { xfail *-*-* } } +// { dg-options "-std=c++0x" } + +// +// 2010-06-23 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.3 Requirements [re.req] +// 28.2(4) Table 127 - Regular expression traits class requirements +// 28.7(9) Class template regex_traits [re.traits] + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + typedef char CharT; + typedef std::regex_traits<CharT> traits; + + char n1[] = "lower"; + char n2[] = "alpha"; + traits t; + + traits::char_class_type c1 = t.lookup_classname(n1, n1+sizeof(n1)-1); + VERIFY( c1 != 0 ); + + traits::char_class_type c2 = t.lookup_classname(n1, n1+sizeof(n1)-1, true); + traits::char_class_type c3 = t.lookup_classname(n2, n2+sizeof(n2)-1, true); + VERIFY( c2 == c3 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/07_traits/char/lookup_collatename.cc b/libstdc++-v3/testsuite/28_regex/07_traits/char/lookup_collatename.cc new file mode 100644 index 00000000000..58eb5878de5 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/07_traits/char/lookup_collatename.cc @@ -0,0 +1,50 @@ +// { dg-do run { xfail *-*-* } } +// { dg-options "-std=c++0x" } + +// +// 2010-06-23 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.3 Requirements [re.req] +// 28.2 (4) Table 127 - Regular expression traits class requirements +// 28.7 (8) Class template regex_traits [re.traits] + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + typedef char CharT; + typedef std::regex_traits<CharT> traits; + + char name[] = "ll"; + traits t; + + traits::string_type sname = t.lookup_collatename(name, name+sizeof(name)-1); + + VERIFY( !sname.empty() ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/07_traits/char/transform.cc b/libstdc++-v3/testsuite/28_regex/07_traits/char/transform.cc new file mode 100644 index 00000000000..1481dcfbb8c --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/07_traits/char/transform.cc @@ -0,0 +1,51 @@ +// { dg-do run } +// { dg-options "-std=c++0x" } + +// +// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.3 Requirements [re.req] +// 28.2 (4) Table 127 - Regular expression traits class requirements +// 28.7 Class template regex_traits [re.traits] + +#include <regex> +#include <string> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + typedef char CharT; + typedef std::regex_traits<CharT> traits; + + traits t; + traits::string_type G = "abc"; + traits::string_type H = "def"; + + VERIFY( G < H ); + VERIFY( t.transform(G.begin(), G.end()) < t.transform(H.begin(), H.end()) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/07_traits/char/transform_primary.cc b/libstdc++-v3/testsuite/28_regex/07_traits/char/transform_primary.cc new file mode 100644 index 00000000000..7de8904b49a --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/07_traits/char/transform_primary.cc @@ -0,0 +1,55 @@ +// { dg-options "-std=c++0x" } +// { dg-do run { xfail *-*-* } } + +// +// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.3 Requirements [re.req] +// 28.2 (4) Table 127 - Regular expression traits class requirements +// 28.7 Class template regex_traits [re.traits] + +#include <regex> +#include <string> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + typedef char CharT; + typedef std::regex_traits<CharT> traits; + + traits t; + traits::string_type G = "abc"; + traits::string_type H = "def"; + traits::string_type J = "ABC"; + + VERIFY( G < H ); + VERIFY( t.transform_primary(G.begin(), G.end()) < t.transform_primary(H.begin(), H.end()) ); + + VERIFY( G == H ); + VERIFY( t.transform_primary(G.begin(), G.end()) == t.transform_primary(J.begin(), J.end()) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/07_traits/char/translate.cc b/libstdc++-v3/testsuite/28_regex/07_traits/char/translate.cc new file mode 100644 index 00000000000..2dbbba39637 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/07_traits/char/translate.cc @@ -0,0 +1,49 @@ +// { dg_do run } +// { dg-options "-std=c++0x" } + +// +// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.3 Requirements [re.req] +// 28.2 (4) Table 127 - Regular expression traits class requirements +// 28.7 Class template regex_traits [re.traits] +// 28.7 (3) static std::size_t length(const char_type* p); + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + typedef char CharT; + + std::regex_traits<CharT> t; + CharT c = 'a'; + CharT d = 'a'; + + VERIFY( t.translate(c) == t.translate(d) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/07_traits/char/translate_nocase.cc b/libstdc++-v3/testsuite/28_regex/07_traits/char/translate_nocase.cc new file mode 100644 index 00000000000..4c963ddd3a5 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/07_traits/char/translate_nocase.cc @@ -0,0 +1,46 @@ +// { dg-do run } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.7] class template regex_traits (5) translate_nocase + +#include <regex> +#include <testsuite_hooks.h> + +// Verifies the workings of the regex_traits translate_nocase function. +void test01() +{ + bool test __attribute__((unused)) = true; + typedef char CharT; + + std::regex_traits<CharT> t; + CharT c = 'a'; + CharT C = 'A'; + + VERIFY( t.translate_nocase(c) == t.translate_nocase(C) ); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/07_traits/char/value.cc b/libstdc++-v3/testsuite/28_regex/07_traits/char/value.cc new file mode 100644 index 00000000000..f0535acb2cc --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/07_traits/char/value.cc @@ -0,0 +1,49 @@ +// { dg-do run } +// { dg-options "-std=gnu++0x" } + +// 2008-08-11 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.7] class template regex_traits value() function + +#include <regex> +#include <testsuite_hooks.h> + +// Tests the value() function of the regex_traits<char> class. +void test01() +{ + bool test __attribute__((unused)) = true; + std::regex_traits<char> t; + VERIFY( t.value('7', 8) == 7 ); + VERIFY( t.value('7', 10) == 7 ); + VERIFY( t.value('7', 16) == 7 ); + VERIFY( t.value('9', 8) == -1 ); + VERIFY( t.value('9', 10) == 9 ); + VERIFY( t.value('9', 16) == 9 ); + VERIFY( t.value('d', 8) == -1 ); + VERIFY( t.value('d', 10) == -1 ); + VERIFY( t.value('d', 16) == 13 ); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/ctor.cc b/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/ctor.cc new file mode 100644 index 00000000000..39caf432d32 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/ctor.cc @@ -0,0 +1,49 @@ +// { dg-do link } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.7] class template regex_traits + +#include <regex> +#include <testsuite_hooks.h> + +// Tests default constructor of the regex_traits class. There is only the +// default constructor. +void test01() +{ + typedef std::regex_traits<wchar_t> test_type; + + // required default constructor + test_type t; + + // Check for required typedefs + typedef test_type::char_type char_type; + typedef test_type::string_type string_type; + typedef test_type::locale_type locale_type; + typedef test_type::char_class_type char_class_type; +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/length.cc b/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/length.cc new file mode 100644 index 00000000000..c3cd7b60d0c --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/length.cc @@ -0,0 +1,49 @@ +// { dg-do run } +// { dg-options "-std=c++0x" } + +// +// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.3 Requirements [re.req] +// 28.2 (4) Table 127 - Regular expression traits class requirements +// 28.7 Class template regex_traits [re.traits] +// 28.7 (3) static std::size_t length(const char_type* p); + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + typedef wchar_t CharT; + typedef std::regex_traits<CharT> traits; + bool test __attribute__((unused)) = true; + const CharT* p = L""; + + std::size_t i = traits::length(p); + + VERIFY( i == 0 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/transform.cc b/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/transform.cc new file mode 100644 index 00000000000..c1f7af44d71 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/transform.cc @@ -0,0 +1,51 @@ +// { dg-do run } +// { dg-options "-std=c++0x" } + +// +// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.3 Requirements [re.req] +// 28.2 (4) Table 127 - Regular expression traits class requirements +// 28.7 Class template regex_traits [re.traits] + +#include <regex> +#include <string> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + typedef wchar_t CharT; + typedef std::regex_traits<CharT> traits; + + traits t; + traits::string_type G = L"abc"; + traits::string_type H = L"def"; + + VERIFY( G < H ); + VERIFY( t.transform(G.begin(), G.end()) < t.transform(H.begin(), H.end()) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/translate.cc b/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/translate.cc new file mode 100644 index 00000000000..962c381520c --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/translate.cc @@ -0,0 +1,49 @@ +// { dg-do run } +// { dg-options "-std=c++0x" } + +// +// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.3 Requirements [re.req] +// 28.2 (4) Table 127 - Regular expression traits class requirements +// 28.7 Class template regex_traits [re.traits] +// 28.7 (3) static std::size_t length(const char_type* p); + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + typedef wchar_t CharT; + + std::regex_traits<CharT> t; + CharT c = L'a'; + CharT d = L'a'; + + VERIFY( t.translate(c) == t.translate(d) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/translate_nocase.cc b/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/translate_nocase.cc new file mode 100644 index 00000000000..5602cf00117 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/translate_nocase.cc @@ -0,0 +1,46 @@ +// { dg-do run } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.7] class template regex_traits (5) translate_nocase + +#include <regex> +#include <testsuite_hooks.h> + +// Verifies the workings of the regex_traits translate_nocase function. +void test01() +{ + bool test __attribute__((unused)) = true; + typedef wchar_t CharT; + + std::regex_traits<CharT> t; + CharT c = L'a'; + CharT C = L'A'; + + VERIFY( t.translate_nocase(c) == t.translate_nocase(C) ); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/value.cc b/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/value.cc new file mode 100644 index 00000000000..f0535acb2cc --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/value.cc @@ -0,0 +1,49 @@ +// { dg-do run } +// { dg-options "-std=gnu++0x" } + +// 2008-08-11 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.7] class template regex_traits value() function + +#include <regex> +#include <testsuite_hooks.h> + +// Tests the value() function of the regex_traits<char> class. +void test01() +{ + bool test __attribute__((unused)) = true; + std::regex_traits<char> t; + VERIFY( t.value('7', 8) == 7 ); + VERIFY( t.value('7', 10) == 7 ); + VERIFY( t.value('7', 16) == 7 ); + VERIFY( t.value('9', 8) == -1 ); + VERIFY( t.value('9', 10) == 9 ); + VERIFY( t.value('9', 16) == 9 ); + VERIFY( t.value('d', 8) == -1 ); + VERIFY( t.value('d', 10) == -1 ); + VERIFY( t.value('d', 16) == 13 ); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring.cc new file mode 100644 index 00000000000..1552818e987 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring.cc @@ -0,0 +1,44 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// 2009-06-05 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2009 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 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/>. + +// C++0X [28.8.3] class template basic_regex assign() + +#include <regex> +#include <testsuite_hooks.h> + +// Tests assign operation from a C-style null-terminated-string. +void test01() +{ + bool test __attribute__((unused)) = true; + + std::basic_regex<char> re; + + const char* cs = "aab"; + re.assign(cs); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring_op.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring_op.cc new file mode 100644 index 00000000000..12353023b38 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring_op.cc @@ -0,0 +1,43 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.3] class template basic_regex assign() + +#include <regex> +#include <testsuite_hooks.h> + +// Tests basic_regex assign operator from a C-style null-terminated-string. +void test01() +{ + typedef std::basic_regex<char> test_type; + + const char* cs = "aab"; + test_type re; + re = cs; +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/moveable.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/moveable.cc new file mode 100644 index 00000000000..64f5bcac570 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/moveable.cc @@ -0,0 +1,50 @@ +// { dg-options "-std=gnu++0x" } + +// 2010-07-07 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.3](9-11) class template basic_regex assign + +#include <regex> +#include <testsuite_hooks.h> +#include <utility> + +// Tests assign operator of the basic_regex class for moveable rvalues. +void test01() +{ + bool test __attribute__((unused)) = true; + + std::regex src_re("aaba"); + const unsigned mark_count = src_re.mark_count(); + const std::regex::flag_type flags = src_re.flags(); + + std::regex target_re; + + target_re.assign(std::move(src_re)); + + VERIFY( target_re.flags() == flags ); + VERIFY( target_re.mark_count() == mark_count ); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/pstring.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/pstring.cc new file mode 100644 index 00000000000..398b66c6063 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/pstring.cc @@ -0,0 +1,43 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.3] class template basic_regex assign() + +#include <regex> +#include <testsuite_hooks.h> + +// Tests assign operation from a Pascal-style counted-string. +void test01() +{ + typedef std::basic_regex<char> test_type; + + const char cs[] = "aab"; + test_type re; + re.assign(cs, sizeof(cs)-1, std::regex_constants::basic); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/range.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/range.cc new file mode 100644 index 00000000000..cd741d5fff2 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/range.cc @@ -0,0 +1,43 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.3] class template basic_regex assign() + +#include <regex> +#include <testsuite_hooks.h> + +// Tests range assign of the basic_regex class. +void test01() +{ + typedef std::basic_regex<char> test_type; + + char s[] = "a+b|c"; + test_type re; + re.assign(s, s + 5); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string.cc new file mode 100644 index 00000000000..afa071eb312 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string.cc @@ -0,0 +1,44 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.3] class template basic_regex assign() + +#include <string> +#include <regex> +#include <testsuite_hooks.h> + +// Tests C++ string assignment of the basic_regex class. +void test01() +{ + typedef std::basic_regex<char> test_type; + + std::string s("a*b"); + test_type re; + re.assign(s); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string_op.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string_op.cc new file mode 100644 index 00000000000..724872decd5 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string_op.cc @@ -0,0 +1,44 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.3] class template basic_regex assign() + +#include <string> +#include <regex> +#include <testsuite_hooks.h> + +// Tests basic_regex assignment operator from a C++ string; +void test01() +{ + typedef std::basic_regex<char> test_type; + + std::string s("a*b"); + test_type re; + re = s; +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring.cc new file mode 100644 index 00000000000..20ccab01244 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring.cc @@ -0,0 +1,44 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.3] class template basic_regex assign() + +#include <regex> +#include <testsuite_hooks.h> + +// Tests assign operation from a C-style null-terminated-string. +void test01() +{ + bool test __attribute__((unused)) = true; + typedef std::basic_regex<wchar_t> test_type; + + const wchar_t* cs = L"aab"; + test_type re; + re.assign(cs); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring_op.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring_op.cc new file mode 100644 index 00000000000..8d8e9656d9e --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring_op.cc @@ -0,0 +1,44 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.3] class template basic_regex assign() + +#include <regex> +#include <testsuite_hooks.h> + +// Tests basic_regex assign operator from a C-style null-terminated-string. +void test01() +{ + bool test __attribute__((unused)) = true; + typedef std::basic_regex<wchar_t> test_type; + + const wchar_t* cs = L"aab"; + test_type re; + re = cs; +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/pstring.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/pstring.cc new file mode 100644 index 00000000000..9034a542c01 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/pstring.cc @@ -0,0 +1,43 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.3] class template basic_regex assign() + +#include <regex> +#include <testsuite_hooks.h> + +// Tests assign operation from a Pascal-style counted-string. +void test01() +{ + typedef std::basic_regex<wchar_t> test_type; + + const wchar_t cs[] = L"aab"; + test_type re; + re.assign(cs, sizeof(cs)-1, std::regex_constants::basic); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/range.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/range.cc new file mode 100644 index 00000000000..2e31a708417 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/range.cc @@ -0,0 +1,44 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.3] class template basic_regex assign() + +#include <regex> +#include <testsuite_hooks.h> + +// Tests range assign of the basic_regex class. +void test01() +{ + typedef std::basic_regex<wchar_t> test_type; + bool test __attribute__((unused)) = true; + + wchar_t s[] = L"a+b|c"; + test_type re; + re.assign(s, s + 5); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string.cc new file mode 100644 index 00000000000..156374ac1a7 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string.cc @@ -0,0 +1,45 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.3] class template basic_regex assign() + +#include <string> +#include <regex> +#include <testsuite_hooks.h> + +// Tests C++ string assignment of the basic_regex class. +void test01() +{ + bool test __attribute__((unused)) = true; + typedef std::basic_regex<wchar_t> test_type; + + std::wstring s(L"a*b"); + test_type re; + re.assign(s); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string_op.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string_op.cc new file mode 100644 index 00000000000..43704af2bd1 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string_op.cc @@ -0,0 +1,45 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.3] class template basic_regex assign() + +#include <string> +#include <regex> +#include <testsuite_hooks.h> + +// Tests basic_regex assignment operator from a C++ string; +void test01() +{ + bool test __attribute__((unused)) = true; + typedef std::basic_regex<wchar_t> test_type; + + std::wstring s(L"a*b"); + test_type re; + re = s; +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/20_util/identity/requirements/typedefs.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/cstring.cc index c170818d9e2..b91453c0e77 100644 --- a/libstdc++-v3/testsuite/20_util/identity/requirements/typedefs.cc +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/cstring.cc @@ -1,5 +1,7 @@ -// { dg-options "-std=gnu++0x" } -// 2007-07-10 Paolo Carlini <pcarlini@suse.de> +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> // // Copyright (C) 2007, 2009 Free Software Foundation, Inc. // @@ -18,16 +20,18 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// -// NB: This file is for testing utility with NO OTHER INCLUDES. +// 7.8.2 basic_regex constructors -#include <utility> +#include <regex> -// { dg-do compile } +void +test01() +{ + std::regex re("(a|b)*abb", std::regex::basic); +} -void test01() +int main() { - // Check for required typedefs - typedef std::identity<int> test_type; - typedef test_type::type type; + test01(); + return 0; } diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_char.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_char.cc new file mode 100644 index 00000000000..2f011fe52c4 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_char.cc @@ -0,0 +1,42 @@ +// { dg-do run } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.2] class template basic_regex constructor + +#include <regex> +#include <testsuite_hooks.h> + +// Tests Pascal-style counted-string constructor of the basic_regex class. +void test01() +{ + const char* cs = "aab"; + std::regex re(cs, 3, std::regex::basic); + + VERIFY( re.flags() & std::regex_constants::basic ); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_wchar_t.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_wchar_t.cc new file mode 100644 index 00000000000..89deef6f19f --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_wchar_t.cc @@ -0,0 +1,44 @@ +// { dg-do run } +// { dg-options "-std=c++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.2] class template basic_regex constructor + +#include <regex> +#include <testsuite_hooks.h> + +// Tests Pascal-style counted-string constructor of the basic_regex class. +void test01() +{ + bool test __attribute__((unused)) = true; + + const wchar_t* cs = L"aab"; + std::wregex re(cs, 3, std::wregex::basic); + + VERIFY( re.flags() & std::regex_constants::basic ); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/string_range_01_02_03.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/string_range_01_02_03.cc new file mode 100644 index 00000000000..471c89c9024 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/string_range_01_02_03.cc @@ -0,0 +1,52 @@ +// { dg-options "-std=c++0x" } +// { dg-do run { xfail *-*-* } } + +// +// 2010-06-16 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.8.2 basic_regex ctor +// Tests for invalid range expression + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + try + { + std::regex re("a\\{1,2,3\\}", std::regex::basic); + } + catch (std::regex_error& ex) + { + VERIFY( ex.code() == std::regex_constants::error_badbrace ); + } +} + + +int +main() +{ + test01(); + return 0; +} + diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring.cc new file mode 100644 index 00000000000..ac87e4d69a0 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring.cc @@ -0,0 +1,42 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.2] class template basic_regex constructor + +#include <regex> +#include <testsuite_hooks.h> + +// Tests C-style null-terminated-string constructor of the basic_regex class. +void test01() +{ + typedef std::basic_regex<char> test_type; + + const char* cs = "aab"; + test_type re(cs); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_awk.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_awk.cc new file mode 100644 index 00000000000..8b93fe7a721 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_awk.cc @@ -0,0 +1,37 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2007, 2009 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 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/>. + +// 7.8.2 basic_regex constructors + +#include <regex> + +void +test01() +{ + std::regex re("(a|b)*abb", std::regex::awk); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_ecma.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_ecma.cc new file mode 100644 index 00000000000..6c72736c5cd --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_ecma.cc @@ -0,0 +1,37 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2007, 2009 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 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/>. + +// 7.8.2 basic_regex constructors + +#include <regex> + +void +test01() +{ + std::regex re("(a|b)*abb"); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_egrep.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_egrep.cc new file mode 100644 index 00000000000..f38a9b8704e --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_egrep.cc @@ -0,0 +1,37 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2007, 2009 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 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/>. + +// 7.8.2 basic_regex constructors + +#include <regex> + +void +test01() +{ + std::regex re("(a|b)*abb", std::regex::egrep); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_grep.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_grep.cc new file mode 100644 index 00000000000..458f6d21cc5 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_grep.cc @@ -0,0 +1,39 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2007, 2009 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 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/>. + +// 7.8.2 basic_regex constructors + +#include <regex> + +void +test01() +{ + using std::regex; + + regex re("(a|b)*abb", regex::grep); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/default.cc new file mode 100644 index 00000000000..b7c6f410cde --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/default.cc @@ -0,0 +1,47 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.2] class template basic_regex constructor + +#include <regex> +#include <testsuite_hooks.h> + +// Tests default constructor of the basic_regex class. +void test01() +{ + typedef std::basic_regex<char> test_type; + + // default constructor + test_type re; + + // Check for required typedefs + typedef test_type::value_type value_type; + typedef test_type::flag_type flag_type; + typedef test_type::locale_type locale_type; +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/range.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/range.cc new file mode 100644 index 00000000000..027a927849e --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/range.cc @@ -0,0 +1,42 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.2] class template basic_regex constructor + +#include <regex> +#include <testsuite_hooks.h> + +// Tests range constructor of the basic_regex class. +void test01() +{ + typedef std::basic_regex<char> test_type; + + char s[] = "a+b|c"; + test_type re(s, s + 5); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/copy_char.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/copy_char.cc new file mode 100644 index 00000000000..4ed5f92c8b0 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/copy_char.cc @@ -0,0 +1,45 @@ +// { dg-options "-std=c++0x" } + +// 2010-07-07 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.2](11) class template basic_regex constructors + +#include <regex> +#include <testsuite_hooks.h> + +// Tests copy constructor of the basic_regex class. +void test01() +{ + typedef std::basic_regex<char> test_type; + + test_type src_re("aaba"); + + test_type target_re(src_re); + + VERIFY( target_re.flags() == src_re.flags() ); + VERIFY( target_re.mark_count() == src_re.mark_count() ); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/cstring.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/cstring.cc new file mode 100644 index 00000000000..691b8c7f5f1 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/cstring.cc @@ -0,0 +1,43 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2007, 2009 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 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/>. + +// 7.8.2 basic_regex constructors + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::regex re("(wee|week)(knights|night)", std::regex::extended); + + VERIFY( re.flags() == std::regex::extended ); + VERIFY( re.mark_count() == 0 ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/string_range_01_02_03.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/string_range_01_02_03.cc new file mode 100644 index 00000000000..036321face5 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/string_range_01_02_03.cc @@ -0,0 +1,52 @@ +// { dg-options "-std=c++0x" } +// { dg-do run { xfail *-*-* } } + +// +// 2010-06-16 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.8.2 basic_regex ctor +// Tests for invalid range expression + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + try + { + std::regex re("a{1,2,3}", std::regex::extended); + } + catch (std::regex_error& ex) + { + VERIFY( ex.code() == std::regex_constants::error_badbrace ); + } +} + + +int +main() +{ + test01(); + return 0; +} + diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/move_char.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/move_char.cc new file mode 100644 index 00000000000..ba056969c5c --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/move_char.cc @@ -0,0 +1,49 @@ +// { dg-options "-std=gnu++0x" } + +// 2010-07-07 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.2](12-14) class template basic_regex constructors + +#include <regex> +#include <testsuite_hooks.h> +#include <utility> + +// Tests move constructor of the basic_regex class. +void test01() +{ + bool test __attribute__((unused)) = true; + typedef std::basic_regex<char> test_type; + + test_type src_re("aaba"); + const unsigned mark_count = src_re.mark_count(); + const test_type::flag_type flags = src_re.flags(); + + test_type target_re = std::move(src_re); + + VERIFY( target_re.flags() == flags ); + VERIFY( target_re.mark_count() == mark_count ); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_char.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_char.cc new file mode 100644 index 00000000000..f65d783a735 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_char.cc @@ -0,0 +1,54 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.2] class template basic_regex constructor + +#include <string> +#include <regex> +#include <testsuite_hooks.h> +#include <testsuite_allocator.h> + +// Tests C++ string constructor of the basic_regex class. +void test01() +{ + typedef std::basic_regex<char> test_type; + + std::string s("a*b"); + test_type re(s); +} + +void test02() +{ + typedef std::basic_regex<char> test_type; + typedef __gnu_test::tracker_allocator<char> alloc_type; + + std::basic_string<char, std::char_traits<char>, alloc_type> s("a*b"); + test_type re(s); +} + +int +main() +{ + test01(); + test02(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_wchar_t.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_wchar_t.cc new file mode 100644 index 00000000000..b715195c383 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_wchar_t.cc @@ -0,0 +1,56 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.2] class template basic_regex constructor + +#include <string> +#include <regex> +#include <testsuite_hooks.h> +#include <testsuite_allocator.h> + +// Tests C++ string constructor of the basic_regex class. +void test01() +{ + bool test __attribute__((unused)) = true; + typedef std::basic_regex<wchar_t> test_type; + + std::wstring s(L"a*b"); + test_type re(s); +} + +void test02() +{ + bool test __attribute__((unused)) = true; + typedef std::basic_regex<wchar_t> test_type; + typedef __gnu_test::tracker_allocator<wchar_t> alloc_type; + + std::basic_string<wchar_t, std::char_traits<wchar_t>, alloc_type> s(L"a*b"); + test_type re(s); +} + +int +main() +{ + test01(); + test02(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/cstring.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/cstring.cc new file mode 100644 index 00000000000..4dabf399677 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/cstring.cc @@ -0,0 +1,43 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.2] class template basic_regex constructor + +#include <regex> +#include <testsuite_hooks.h> + +// Tests C-style null-terminated-string constructor of the basic_regex class. +void test01() +{ + bool test __attribute__((unused)) = true; + typedef std::basic_regex<wchar_t> test_type; + + const wchar_t* cs = L"aab"; + test_type re(cs); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/default.cc new file mode 100644 index 00000000000..a0f41740229 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/default.cc @@ -0,0 +1,48 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.2] class template basic_regex constructor + +#include <regex> +#include <testsuite_hooks.h> + +// Tests default constructor of the basic_regex class. +void test01() +{ + bool test __attribute__((unused)) = true; + typedef std::basic_regex<wchar_t> test_type; + + // default constructor + test_type re; + + // Check for required typedefs + typedef test_type::value_type value_type; + typedef test_type::flag_type flag_type; + typedef test_type::locale_type locale_type; +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/range.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/range.cc new file mode 100644 index 00000000000..efc0597cc1d --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/range.cc @@ -0,0 +1,43 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2010 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 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/>. + +// [28.8.2] class template basic_regex constructor + +#include <regex> +#include <testsuite_hooks.h> + +// Tests range constructor of the basic_regex class. +void test01() +{ + bool test __attribute__((unused)) = true; + typedef std::basic_regex<wchar_t> test_type; + + wchar_t s[] = L"a+b|c"; + test_type re(s, s + 5); +} + +int +main() +{ + test01(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/regex.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/regex.cc new file mode 100644 index 00000000000..8a803ede81f --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/08_basic_regex/regex.cc @@ -0,0 +1,37 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2007, 2009, 2010 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 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/>. + +// 7.4 typedef std::regex + +#include <regex> + +void +test01() +{ + std::regex re; +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/28_regex/09_sub_match/cast_char.cc b/libstdc++-v3/testsuite/28_regex/09_sub_match/cast_char.cc new file mode 100644 index 00000000000..6beb9c5cdb2 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/09_sub_match/cast_char.cc @@ -0,0 +1,49 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// +// 2010-06-09 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.9.1 [re.submatch.members] sub_match members + +#include <regex> +#include <string> +#include <testsuite_hooks.h> + + +void +test01() +{ + bool test __attribute__((unused)) = true; + + typedef char value_type; + typedef std::basic_string<value_type> string_type; + typedef std::sub_match<value_type*> sub_match_type; + value_type test_data[] = "cabbage"; + + sub_match_type sm; + sm.first = test_data + 0; + sm.second = test_data + sizeof(test_data)/sizeof(value_type); + sm.matched = true; + + string_type sm_string = sm; + + VERIFY( sm_string == string_type(test_data) ); +} diff --git a/libstdc++-v3/testsuite/28_regex/09_sub_match/cast_wchar_t.cc b/libstdc++-v3/testsuite/28_regex/09_sub_match/cast_wchar_t.cc new file mode 100644 index 00000000000..6e29ac88c09 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/09_sub_match/cast_wchar_t.cc @@ -0,0 +1,49 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// +// 2010-06-09 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.9.1 [re.submatch.members] sub_match members + +#include <regex> +#include <string> +#include <testsuite_hooks.h> + + +void +test01() +{ + bool test __attribute__((unused)) = true; + + typedef wchar_t value_type; + typedef std::basic_string<value_type> string_type; + typedef std::sub_match<value_type*> sub_match_type; + value_type test_data[] = L"cabbage"; + + sub_match_type sm; + sm.first = test_data + 0; + sm.second = test_data + sizeof(test_data)/sizeof(value_type); + sm.matched = true; + + string_type sm_string = sm; + + VERIFY( sm_string == string_type(test_data) ); +} diff --git a/libstdc++-v3/testsuite/28_regex/09_sub_match/length.cc b/libstdc++-v3/testsuite/28_regex/09_sub_match/length.cc new file mode 100644 index 00000000000..fc12b920ad9 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/09_sub_match/length.cc @@ -0,0 +1,49 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// +// 2010-06-09 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.9.1 [re.submatch.members] sub_match members + +#include <regex> +#include <testsuite_hooks.h> + + +void +test01() +{ + bool test __attribute__((unused)) = true; + + typedef std::sub_match<const char*> sm_t; + const char* test_data = "cabbage"; + sm_t::difference_type test_len = 3; + + sm_t sm1; + sm1.first = test_data + 0; + sm1.second = test_data + test_len; + sm1.matched = true; + + sm_t sm2; + sm2.matched = false; + + VERIFY( sm1.length() == test_len ); + VERIFY( sm2.length() == 0 ); +} diff --git a/libstdc++-v3/testsuite/28_regex/09_sub_match/typedefs.cc b/libstdc++-v3/testsuite/28_regex/09_sub_match/typedefs.cc new file mode 100644 index 00000000000..c150da02dac --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/09_sub_match/typedefs.cc @@ -0,0 +1,38 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// +// 2010-06-07 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.9 Class template sub_match + +#include <regex> + + +void +test01() +{ + typedef std::sub_match<char*> sm; + + typedef sm::value_type value_type; + typedef sm::difference_type difference_type; + typedef sm::iterator iterator; + typedef sm::string_type string_type; +} diff --git a/libstdc++-v3/testsuite/28_regex/10_match_results/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/10_match_results/ctors/char/default.cc new file mode 100644 index 00000000000..4c897d7a4a0 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/10_match_results/ctors/char/default.cc @@ -0,0 +1,52 @@ +// { dg-options "-std=c++0x" } + +// 2009-06-10 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2009 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 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/>. + +// C++0X [28.10.1] class template match_results constructor + +#include <regex> +#include <testsuite_hooks.h> + +// Tests default constructor of the match_result class. +void test01() +{ + bool test __attribute__((unused)) = true; + + std::cmatch cm; + VERIFY( cm.size() == 0 ); + VERIFY( cm.str() == std::cmatch::string_type() ); +} + +void test02() +{ + bool test __attribute__((unused)) = true; + + std::smatch sm; + VERIFY( sm.size() == 0 ); + VERIFY( sm.str() == std::smatch::string_type() ); +} + +int +main() +{ + test01(); + test02(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/10_match_results/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/10_match_results/ctors/wchar_t/default.cc new file mode 100644 index 00000000000..f8b3d45e867 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/10_match_results/ctors/wchar_t/default.cc @@ -0,0 +1,52 @@ +// { dg-options "-std=c++0x" } + +// 2009-06-05 Stephen M. Webb <stephen.webb@bregmasoft.com> +// +// Copyright (C) 2009 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 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/>. + +// C++0X [28.10.1] class template match_results constructor + +#include <regex> +#include <testsuite_hooks.h> + +// Tests default constructor of the match_result class. +void test01() +{ + bool test __attribute__((unused)) = true; + + std::wcmatch cm; + VERIFY( cm.size() == 0 ); + VERIFY( cm.str() == std::wcmatch::string_type() ); +} + +void test02() +{ + bool test __attribute__((unused)) = true; + + std::wsmatch sm; + VERIFY( sm.size() == 0 ); + VERIFY( sm.str() == std::wsmatch::string_type() ); +} + +int +main() +{ + test01(); + test02(); + return 0; +}; diff --git a/libstdc++-v3/testsuite/28_regex/10_match_results/typedefs.cc b/libstdc++-v3/testsuite/28_regex/10_match_results/typedefs.cc new file mode 100644 index 00000000000..02bdcdadb71 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/10_match_results/typedefs.cc @@ -0,0 +1,44 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// +// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.10 Class template sub_match + +#include <regex> + +void +test01() +{ + bool test __attribute__((unused)) = true; + typedef std::match_results<char*> mr; + + typedef mr::value_type value_type; + typedef mr::const_reference const_reference; + typedef mr::reference reference; + typedef mr::const_iterator const_iterator; + typedef mr::iterator iterator; + typedef mr::difference_type difference_type; + typedef mr::size_type size_type; + typedef mr::allocator_type allocator_type; + typedef mr::char_type char_type; + typedef mr::string_type string_type; +} diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_01.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_01.cc new file mode 100644 index 00000000000..4a7161a7967 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_01.cc @@ -0,0 +1,63 @@ +// { dg-options "-std=c++0x" } + +// +// 2010-06-11 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.11.2 regex_match +// Tests BRE against a std::string target. + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::regex re("\\(a\\).*", std::regex::basic); + std::string target("aaba"); + std::smatch m; + + VERIFY( std::regex_match(target, m, re) ); + + VERIFY( m.size() == re.mark_count()+1 ); + VERIFY( m.empty() == false ); + VERIFY( m.prefix().first == target.begin() ); + VERIFY( m.prefix().second == target.begin() ); + VERIFY( m.prefix().matched == false ); + VERIFY( m.suffix().first == target.end() ); + VERIFY( m.suffix().second == target.end() ); + VERIFY( m.suffix().matched == false ); + VERIFY( m[0].first == target.begin() ); + VERIFY( m[0].second == target.end() ); + VERIFY( m[0].matched == true ); + VERIFY( m[1].first == target.begin() ); + VERIFY( m[1].second == target.begin()+1 ); + VERIFY( m[1].matched == true ); +} + + +int +main() +{ + test01(); + return 0; +} + diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_00_03.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_00_03.cc new file mode 100644 index 00000000000..6c0fdd76f2c --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_00_03.cc @@ -0,0 +1,60 @@ +// { dg-options "-std=c++0x" } + +// +// 2010-06-16 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.11.2 regex_match +// Tests BRE against a std::string target, exercising range {0,3} + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::regex re("a\\{0,3\\}", std::regex::basic); + std::string target("aa"); + std::smatch m; + + VERIFY( std::regex_match(target, m, re) ); + + VERIFY( m.size() == re.mark_count()+1 ); + VERIFY( m.empty() == false ); + VERIFY( m.prefix().first == target.begin() ); + VERIFY( m.prefix().second == target.begin() ); + VERIFY( m.prefix().matched == false ); + VERIFY( m.suffix().first == target.end() ); + VERIFY( m.suffix().second == target.end() ); + VERIFY( m.suffix().matched == false ); + VERIFY( m[0].first == target.begin() ); + VERIFY( m[0].second == target.end() ); + VERIFY( m[0].matched == true ); +} + + +int +main() +{ + test01(); + return 0; +} + diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_01_03.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_01_03.cc new file mode 100644 index 00000000000..3439b544b63 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_01_03.cc @@ -0,0 +1,60 @@ +// { dg-options "-std=c++0x" } + +// +// 2010-06-16 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.11.2 regex_match +// Tests BRE against a std::string target, exercising range {1,3} + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::regex re("a\\{1,3\\}", std::regex::basic); + std::string target("aa"); + std::smatch m; + + VERIFY( std::regex_match(target, m, re) ); + + VERIFY( m.size() == re.mark_count()+1 ); + VERIFY( m.empty() == false ); + VERIFY( m.prefix().first == target.begin() ); + VERIFY( m.prefix().second == target.begin() ); + VERIFY( m.prefix().matched == false ); + VERIFY( m.suffix().first == target.end() ); + VERIFY( m.suffix().second == target.end() ); + VERIFY( m.suffix().matched == false ); + VERIFY( m[0].first == target.begin() ); + VERIFY( m[0].second == target.end() ); + VERIFY( m[0].matched == true ); +} + + +int +main() +{ + test01(); + return 0; +} + diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_02_03.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_02_03.cc new file mode 100644 index 00000000000..dfd00a0f3d7 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_02_03.cc @@ -0,0 +1,61 @@ +// { dg-options "-std=c++0x" } +// { dg-do run { xfail *-*-* } } + +// +// 2010-06-16 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.11.2 regex_match +// Tests BRE against a std::string target, exercising range {2,3} + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::regex re("a\\{2,3\\}", std::regex::basic); + std::string target("aa"); + std::smatch m; + + VERIFY( std::regex_match(target, m, re) ); + + VERIFY( m.size() == re.mark_count()+1 ); + VERIFY( m.empty() == false ); + VERIFY( m.prefix().first == target.begin() ); + VERIFY( m.prefix().second == target.begin() ); + VERIFY( m.prefix().matched == false ); + VERIFY( m.suffix().first == target.end() ); + VERIFY( m.suffix().second == target.end() ); + VERIFY( m.suffix().matched == false ); + VERIFY( m[0].first == target.begin() ); + VERIFY( m[0].second == target.end() ); + VERIFY( m[0].matched == true ); +} + + +int +main() +{ + test01(); + return 0; +} + diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_plus.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_plus.cc new file mode 100644 index 00000000000..ad0f57e221d --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_plus.cc @@ -0,0 +1,65 @@ +// { dg-options "-std=c++0x" } +// { dg-do run { xfail *-*-* } } + +// +// 2010-06-21 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.11.2 regex_match +// Tests ERE against a C-string target, plus-sign match. + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::regex re("(a+)", std::regex::extended); + const char target[] = "aa"; + std::cmatch m; + + VERIFY( std::regex_match(target, m, re) ); + + VERIFY( re.mark_count() == 1 ); + VERIFY( m.size() == re.mark_count()+1 ); + VERIFY( m.empty() == false ); + VERIFY( m.prefix().first == target ); + VERIFY( m.prefix().second == target ); + VERIFY( m.prefix().matched == false ); + VERIFY( m.suffix().first == target+sizeof(target) ); + VERIFY( m.suffix().second == target+sizeof(target) ); + VERIFY( m.suffix().matched == false ); + VERIFY( m[0].first == target ); + VERIFY( m[0].second == target+sizeof(target) ); + VERIFY( m[0].matched == true ); + VERIFY( m[1].first == target ); + VERIFY( m[1].second == target+sizeof(target) ); + VERIFY( m[1].matched == true ); +} + + +int +main() +{ + test01(); + return 0; +} + diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_questionmark.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_questionmark.cc new file mode 100644 index 00000000000..21abea456a9 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_questionmark.cc @@ -0,0 +1,65 @@ +// { dg-options "-std=c++0x" } +// { dg-do run { xfail *-*-* } } + +// +// 2010-06-21 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.11.2 regex_match +// Tests ERE against a C-string target, question-mark match. + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::regex re("(aa?)", std::regex::extended); + char target[] = "a"; + std::cmatch m; + + VERIFY( std::regex_match(target, m, re) ); + + VERIFY( re.mark_count() == 1 ); + VERIFY( m.size() == re.mark_count()+1 ); + VERIFY( m.empty() == false ); + VERIFY( m.prefix().first == target ); + VERIFY( m.prefix().second == target ); + VERIFY( m.prefix().matched == false ); + VERIFY( m.suffix().first == target+sizeof(target) ); + VERIFY( m.suffix().second == target+sizeof(target) ); + VERIFY( m.suffix().matched == false ); + VERIFY( m[0].first == target ); + VERIFY( m[0].second == target+sizeof(target) ); + VERIFY( m[0].matched == true ); + VERIFY( m[1].first == target ); + VERIFY( m[1].second == target+sizeof(target) ); + VERIFY( m[1].matched == true ); +} + + +int +main() +{ + test01(); + return 0; +} + diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_any.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_any.cc new file mode 100644 index 00000000000..8d3716b1edf --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_any.cc @@ -0,0 +1,60 @@ +// { dg-options "-std=c++0x" } + +// +// 2010-06-11 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.11.2 regex_match +// Tests ERE against a std::string target. + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::regex re(".*", std::regex::extended); + std::string target("aaba"); + std::smatch m; + + VERIFY( std::regex_match(target, m, re) ); + + VERIFY( m.size() == re.mark_count()+1 ); + VERIFY( m.empty() == false ); + VERIFY( m.prefix().first == target.begin() ); + VERIFY( m.prefix().second == target.begin() ); + VERIFY( m.prefix().matched == false ); + VERIFY( m.suffix().first == target.end() ); + VERIFY( m.suffix().second == target.end() ); + VERIFY( m.suffix().matched == false ); + VERIFY( m[0].first == target.begin() ); + VERIFY( m[0].second == target.end() ); + VERIFY( m[0].matched == true ); +} + + +int +main() +{ + test01(); + return 0; +} + diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_00_03.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_00_03.cc new file mode 100644 index 00000000000..a0a2e1fa9d8 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_00_03.cc @@ -0,0 +1,60 @@ +// { dg-options "-std=c++0x" } + +// +// 2010-06-16 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.11.2 regex_match +// Tests ERE against a std::string target, exercising range {0,3} + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::regex re("a{0,3}", std::regex::extended); + std::string target("aa"); + std::smatch m; + + VERIFY( std::regex_match(target, m, re) ); + + VERIFY( m.size() == re.mark_count()+1 ); + VERIFY( m.empty() == false ); + VERIFY( m.prefix().first == target.begin() ); + VERIFY( m.prefix().second == target.begin() ); + VERIFY( m.prefix().matched == false ); + VERIFY( m.suffix().first == target.end() ); + VERIFY( m.suffix().second == target.end() ); + VERIFY( m.suffix().matched == false ); + VERIFY( m[0].first == target.begin() ); + VERIFY( m[0].second == target.end() ); + VERIFY( m[0].matched == true ); +} + + +int +main() +{ + test01(); + return 0; +} + diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_01_03.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_01_03.cc new file mode 100644 index 00000000000..b50e07645ab --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_01_03.cc @@ -0,0 +1,60 @@ +// { dg-options "-std=c++0x" } + +// +// 2010-06-16 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.11.2 regex_match +// Tests ERE against a std::string target, exercising range {1,3} + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::regex re("a{1,3}", std::regex::extended); + std::string target("aa"); + std::smatch m; + + VERIFY( std::regex_match(target, m, re) ); + + VERIFY( m.size() == re.mark_count()+1 ); + VERIFY( m.empty() == false ); + VERIFY( m.prefix().first == target.begin() ); + VERIFY( m.prefix().second == target.begin() ); + VERIFY( m.prefix().matched == false ); + VERIFY( m.suffix().first == target.end() ); + VERIFY( m.suffix().second == target.end() ); + VERIFY( m.suffix().matched == false ); + VERIFY( m[0].first == target.begin() ); + VERIFY( m[0].second == target.end() ); + VERIFY( m[0].matched == true ); +} + + +int +main() +{ + test01(); + return 0; +} + diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_02_03.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_02_03.cc new file mode 100644 index 00000000000..ca322a8d4cd --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_02_03.cc @@ -0,0 +1,61 @@ +// { dg-options "-std=c++0x" } +// { dg-do run { xfail *-*-* } } + +// +// 2010-06-16 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.11.2 regex_match +// Tests ERE against a std::string target, exercising range {2,3} + +#include <regex> +#include <testsuite_hooks.h> + +void +test01() +{ + bool test __attribute__((unused)) = true; + + std::regex re("a{2,3}", std::regex::extended); + std::string target("aa"); + std::smatch m; + + VERIFY( std::regex_match(target, m, re) ); + + VERIFY( m.size() == re.mark_count()+1 ); + VERIFY( m.empty() == false ); + VERIFY( m.prefix().first == target.begin() ); + VERIFY( m.prefix().second == target.begin() ); + VERIFY( m.prefix().matched == false ); + VERIFY( m.suffix().first == target.end() ); + VERIFY( m.suffix().second == target.end() ); + VERIFY( m.suffix().matched == false ); + VERIFY( m[0].first == target.begin() ); + VERIFY( m[0].second == target.end() ); + VERIFY( m[0].matched == true ); +} + + +int +main() +{ + test01(); + return 0; +} + diff --git a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/char/default.cc new file mode 100644 index 00000000000..2de4a0d09b8 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/char/default.cc @@ -0,0 +1,35 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// +// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.12.1 Class template regex_iterator + +#include <regex> + +void +test01() +{ + bool test __attribute__((unused)) = true; + std::regex_iterator<char*> it; + std::cregex_iterator cit; + std::sregex_iterator sit; +} diff --git a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/default.cc new file mode 100644 index 00000000000..33fb5baa808 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/default.cc @@ -0,0 +1,35 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// +// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.12.1 Class template regex_iterator + +#include <regex> + +void +test01() +{ + bool test __attribute__((unused)) = true; + std::regex_iterator<wchar_t*> it; + std::wcregex_iterator cit; + std::wsregex_iterator sit; +} diff --git a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc b/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc new file mode 100644 index 00000000000..8ad88995078 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc @@ -0,0 +1,40 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// +// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.12.1 Class template regex_iterator + +#include <regex> + +void +test01() +{ + bool test __attribute__((unused)) = true; + typedef std::regex_iterator<char*> it; + + typedef it::regex_type regex_type; + typedef it::value_type value_type; + typedef it::difference_type difference_type; + typedef it::pointer pointer; + typedef it::reference reference; + typedef it::iterator_category iterator_category; +} diff --git a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/default.cc new file mode 100644 index 00000000000..5105c7d8732 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/default.cc @@ -0,0 +1,35 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// +// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.12.2 Class template regex_token_iterator + +#include <regex> + +void +test01() +{ + bool test __attribute__((unused)) = true; + std::regex_token_iterator<char*> it; + std::cregex_token_iterator cit; + std::sregex_token_iterator sit; +} diff --git a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/default.cc new file mode 100644 index 00000000000..fe918c80d71 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/default.cc @@ -0,0 +1,35 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// +// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.12.2 Class template regex_token_iterator + +#include <regex> + +void +test01() +{ + bool test __attribute__((unused)) = true; + std::regex_token_iterator<wchar_t*> it; + std::wcregex_token_iterator cit; + std::wsregex_token_iterator sit; +} diff --git a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/typedefs.cc b/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/typedefs.cc new file mode 100644 index 00000000000..d765ab2f403 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/typedefs.cc @@ -0,0 +1,40 @@ +// { dg-do compile } +// { dg-options "-std=c++0x" } + +// +// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca> +// +// Copyright (C) 2010 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 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/>. + +// 28.12.2 Class template regex_token_iterator + +#include <regex> + +void +test01() +{ + bool test __attribute__((unused)) = true; + typedef std::regex_token_iterator<char*> it; + + typedef it::regex_type regex_type; + typedef it::value_type value_type; + typedef it::difference_type difference_type; + typedef it::pointer pointer; + typedef it::reference reference; + typedef it::iterator_category iterator_category; +} diff --git a/libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc b/libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc index cf4e4d82db2..3afec89b710 100644 --- a/libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc @@ -18,7 +18,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <regex> // { dg-excess-errors "In file included from" } +#include <regex> // { dg-error "upcoming ISO" "" { target *-*-* } 31 } diff --git a/libstdc++-v3/testsuite/28_regex/range_access.cc b/libstdc++-v3/testsuite/28_regex/range_access.cc new file mode 100644 index 00000000000..0bd620f0bd5 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/range_access.cc @@ -0,0 +1,31 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 24.6.5, range access [iterator.range] + +#include <regex> + +void +test01() +{ + std::smatch sm; + std::begin(sm); + std::end(sm); +} diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc index 380540a20a7..66f5a81a5e5 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc @@ -28,20 +28,5 @@ int main() return 0; } -// { dg-error "used here" "" { target *-*-* } 521 } -// { dg-error "deleted function" "" { target *-*-* } 230 } -// { dg-error "deleted function" "" { target *-*-* } 248 } -// { dg-error "deleted function" "" { target *-*-* } 266 } -// { dg-error "deleted function" "" { target *-*-* } 284 } -// { dg-error "deleted function" "" { target *-*-* } 302 } -// { dg-error "deleted function" "" { target *-*-* } 320 } -// { dg-error "deleted function" "" { target *-*-* } 338 } -// { dg-error "deleted function" "" { target *-*-* } 356 } -// { dg-error "deleted function" "" { target *-*-* } 374 } -// { dg-error "deleted function" "" { target *-*-* } 392 } -// { dg-error "deleted function" "" { target *-*-* } 410 } -// { dg-error "deleted function" "" { target *-*-* } 428 } -// { dg-error "deleted function" "" { target *-*-* } 446 } -// { dg-error "deleted function" "" { target *-*-* } 464 } -// { dg-error "deleted function" "" { target *-*-* } 482 } -// { dg-excess-errors "In member function" } +// { dg-error "ambiguous" "" { target *-*-* } 522 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc index 21f77f4c21b..69b1eff1297 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc @@ -28,20 +28,5 @@ int main() return 0; } -// { dg-error "used here" "" { target *-*-* } 560 } -// { dg-error "deleted function" "" { target *-*-* } 229 } -// { dg-error "deleted function" "" { target *-*-* } 247 } -// { dg-error "deleted function" "" { target *-*-* } 265 } -// { dg-error "deleted function" "" { target *-*-* } 283 } -// { dg-error "deleted function" "" { target *-*-* } 301 } -// { dg-error "deleted function" "" { target *-*-* } 319 } -// { dg-error "deleted function" "" { target *-*-* } 337 } -// { dg-error "deleted function" "" { target *-*-* } 355 } -// { dg-error "deleted function" "" { target *-*-* } 373 } -// { dg-error "deleted function" "" { target *-*-* } 391 } -// { dg-error "deleted function" "" { target *-*-* } 409 } -// { dg-error "deleted function" "" { target *-*-* } 427 } -// { dg-error "deleted function" "" { target *-*-* } 445 } -// { dg-error "deleted function" "" { target *-*-* } 463 } -// { dg-error "deleted function" "" { target *-*-* } 481 } -// { dg-excess-errors "In member function" } +// { dg-error "deleted" "" { target *-*-* } 561 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_address/cons/aggregate.cc b/libstdc++-v3/testsuite/29_atomics/atomic_address/cons/aggregate.cc index fa35b9cb208..5cd2ef9fc4e 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic_address/cons/aggregate.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic_address/cons/aggregate.cc @@ -1,7 +1,7 @@ // { dg-options "-std=gnu++0x" } // { dg-do compile } -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009, 2010 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 @@ -19,9 +19,10 @@ // <http://www.gnu.org/licenses/>. #include <atomic> +#include <cstddef> int main() { - std::atomic_address a = { { NULL } }; + std::atomic_address a __attribute__((unused)) = { { NULL } }; return 0; } diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_address/cons/assign_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_address/cons/assign_neg.cc index 0ec1321e116..9405e459bf8 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic_address/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic_address/cons/assign_neg.cc @@ -26,7 +26,6 @@ void test01() typedef std::atomic_address test_type; test_type t1; test_type t2; - t1 = t2; + t1 = t2; // { dg-error "ambiguous" } } -// { dg-error "used here" "" { target *-*-* } 29 } -// { dg-excess-errors "deleted function" } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_address/cons/copy_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_address/cons/copy_neg.cc index 4ede58ff8bd..69f78eed101 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic_address/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic_address/cons/copy_neg.cc @@ -25,7 +25,7 @@ void test01() // Copy. typedef std::atomic_address test_type; test_type t1; - test_type t2(t1); + test_type t2(t1); // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 28 } -// { dg-excess-errors "deleted function" } + +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_address/cons/single_value.cc b/libstdc++-v3/testsuite/29_atomics/atomic_address/cons/single_value.cc index 7a2e94977a7..b7e524a38f5 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic_address/cons/single_value.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic_address/cons/single_value.cc @@ -1,6 +1,6 @@ // { dg-options "-std=gnu++0x" } -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009, 2010 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 @@ -22,7 +22,7 @@ int main() { // Single value constructor. - void* v = NULL; + void* v = 0; std::atomic_address a(v); return 0; } diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/1.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/1.cc index cfb0c1bbb7a..b7724403412 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/1.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/1.cc @@ -1,7 +1,7 @@ // { dg-options "-std=gnu++0x" } // { dg-do compile } -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -23,5 +23,5 @@ void test01() { using namespace std; - atomic_flag af = ATOMIC_FLAG_INIT; + atomic_flag af __attribute__((unused)) = ATOMIC_FLAG_INIT; } diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/assign_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/assign_neg.cc index 924add880cf..27c60ca2dc1 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/assign_neg.cc @@ -26,7 +26,7 @@ void test01() typedef std::atomic_flag test_type; test_type t1; test_type t2; - t1 = t2; + t1 = t2; // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 29 } -// { dg-excess-errors "deleted function" } + +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/copy_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/copy_neg.cc index 22cea6a3916..9244f683d1f 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/copy_neg.cc @@ -25,7 +25,7 @@ void test01() // Copy. typedef std::atomic_flag test_type; test_type t1; - test_type t2(t1); + test_type t2(t1); // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 28 } -// { dg-excess-errors "deleted function" } + +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/assign_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/assign_neg.cc index d21e30c3310..751c6cdc696 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/assign_neg.cc @@ -1,7 +1,7 @@ // { dg-options "-std=gnu++0x" } // { dg-do compile } -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009, 2010 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 @@ -29,12 +29,5 @@ int main() return 0; } -// { dg-error "used here" "" { target *-*-* } 521 } -// { dg-excess-errors "deleted function" } -// { dg-excess-errors "deleted function" } -// { dg-error "instantiated from" "" { target *-*-* } 28 } -// { dg-error "instantiated from" "" { target *-*-* } 528 } -// { dg-error "instantiated from" "" { target *-*-* } 170 } -// { dg-error "instantiated from" "" { target *-*-* } 399 } -// { dg-error "instantiated from" "" { target *-*-* } 168 } -// { dg-excess-errors "In member function" } +// { dg-error "ambiguous" "" { target *-*-* } 522 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_neg.cc index be0580a46b2..976a6991d43 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_neg.cc @@ -1,7 +1,7 @@ // { dg-options "-std=gnu++0x" } // { dg-do compile } -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009, 2010 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 @@ -29,12 +29,5 @@ int main() return 0; } -// { dg-error "used here" "" { target *-*-* } 560 } -// { dg-excess-errors "deleted function" } -// { dg-excess-errors "deleted function" } -// { dg-error "instantiated from" "" { target *-*-* } 28 } -// { dg-error "instantiated from" "" { target *-*-* } 566 } -// { dg-error "instantiated from" "" { target *-*-* } 170 } -// { dg-error "instantiated from" "" { target *-*-* } 399 } -// { dg-error "instantiated from" "" { target *-*-* } 168 } -// { dg-excess-errors "In member function" } +// { dg-error "deleted" "" { target *-*-* } 561 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc index c7a5dc3098e..2a112c95838 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc @@ -2,7 +2,7 @@ // { dg-do compile } // -*- C++ -*- -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License as @@ -27,7 +27,7 @@ int main() return 0; } -// { dg-error "operator" "" { target *-*-* } 404 } // { dg-error "operator" "" { target *-*-* } 405 } // { dg-error "operator" "" { target *-*-* } 406 } +// { dg-error "operator" "" { target *-*-* } 407 } // { dg-excess-errors "In file included from" } diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc index 59598283df1..974c947e664 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc @@ -2,7 +2,7 @@ // { dg-do compile } // -*- C++ -*- -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License as @@ -28,7 +28,6 @@ int main() return 0; } -// { dg-error "operator" "" { target *-*-* } 375 } // { dg-error "operator" "" { target *-*-* } 376 } // { dg-error "operator" "" { target *-*-* } 377 } -// { dg-excess-errors "In file included from" } +// { dg-error "operator" "" { target *-*-* } 378 } diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/increment_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/increment_neg.cc index 9cff37774ec..4927fcf1854 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/increment_neg.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/increment_neg.cc @@ -2,7 +2,7 @@ // { dg-do compile } // -*- C++ -*- -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License as @@ -28,7 +28,6 @@ int main() return 0; } -// { dg-error "operator" "" { target *-*-* } 353 } // { dg-error "operator" "" { target *-*-* } 354 } // { dg-error "operator" "" { target *-*-* } 355 } -// { dg-excess-errors "In file included from" } +// { dg-error "operator" "" { target *-*-* } 356 } diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/condition_variable/cons/assign_neg.cc index 9e9ad8a7b03..90648207e73 100644 --- a/libstdc++-v3/testsuite/30_threads/condition_variable/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/condition_variable/cons/assign_neg.cc @@ -28,8 +28,7 @@ void test01() // assign std::condition_variable c1; std::condition_variable c2; - c1 = c2; + c1 = c2; // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 31 } -// { dg-error "deleted function" "" { target *-*-* } 70 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/condition_variable/cons/copy_neg.cc index 5765351554e..588e4f3c954 100644 --- a/libstdc++-v3/testsuite/30_threads/condition_variable/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/condition_variable/cons/copy_neg.cc @@ -27,8 +27,7 @@ void test01() { // copy std::condition_variable c1; - std::condition_variable c2(c1); + std::condition_variable c2(c1); // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 30 } -// { dg-error "deleted function" "" { target *-*-* } 69 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/assign_neg.cc index 8fa79a2cf1a..dac106c2ec4 100644 --- a/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/assign_neg.cc @@ -28,8 +28,7 @@ void test01() // assign std::condition_variable_any c1; std::condition_variable_any c2; - c1 = c2; + c1 = c2; // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 31 } -// { dg-error "deleted function" "" { target *-*-* } 179 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/copy_neg.cc index 344f90c961c..157f60f0335 100644 --- a/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/copy_neg.cc @@ -27,8 +27,7 @@ void test01() { // copy std::condition_variable_any c1; - std::condition_variable_any c2(c1); + std::condition_variable_any c2(c1); // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 30 } -// { dg-error "deleted function" "" { target *-*-* } 178 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc index eef41497055..2aad5e9aa0f 100644 --- a/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc @@ -31,8 +31,7 @@ void test01() // assign std::future<int>& p1 = get(); std::future<int>& p2 = get(); - p1 = p2; + p1 = p2; // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 34 } -// { dg-error "deleted function" "" { target *-*-* } 581 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc index 14d7046bed5..5e6bccad82b 100644 --- a/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc @@ -30,8 +30,7 @@ void test01() { // copy std::future<int>& p1 = get(); - std::future<int> p2(p1); + std::future<int> p2(p1); // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 33 } -// { dg-error "deleted function" "" { target *-*-* } 580 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/future/members/wait.cc b/libstdc++-v3/testsuite/30_threads/future/members/wait.cc index 94a431f8183..d1b44dbffc6 100644 --- a/libstdc++-v3/testsuite/30_threads/future/members/wait.cc +++ b/libstdc++-v3/testsuite/30_threads/future/members/wait.cc @@ -31,7 +31,7 @@ #include <testsuite_hooks.h> -void wait(std::future<void>& f) +void fut_wait(std::future<void>& f) { f.wait(); } @@ -41,7 +41,7 @@ void test01() std::promise<void> p1; std::future<void> f1(p1.get_future()); - std::thread t1(wait, std::ref(f1)); + std::thread t1(fut_wait, std::ref(f1)); p1.set_value(); t1.join(); diff --git a/libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc b/libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc index d1e72310901..e31e91fa214 100644 --- a/libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc @@ -18,7 +18,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <condition_variable> // { dg-excess-errors "In file included from" } +#include <condition_variable> // { dg-error "upcoming ISO" "" { target *-*-* } 31 } diff --git a/libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc b/libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc index 5f021b8e5ac..b9fb18d9dad 100644 --- a/libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc @@ -18,7 +18,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <future> // { dg-excess-errors "In file included from" } +#include <future> // { dg-error "upcoming ISO" "" { target *-*-* } 31 } diff --git a/libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc b/libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc index 5d2a70b3add..ed993d5f83b 100644 --- a/libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc @@ -18,7 +18,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <mutex> // { dg-excess-errors "In file included from" } +#include <mutex> // { dg-error "upcoming ISO" "" { target *-*-* } 31 } diff --git a/libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc b/libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc index 9d86cce2fcc..d056c023f0f 100644 --- a/libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc @@ -20,6 +20,6 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -#include <thread> // { dg-excess-errors "In file included from" } +#include <thread> // { dg-error "upcoming ISO" "" { target *-*-* } 31 } diff --git a/libstdc++-v3/testsuite/30_threads/mutex/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/mutex/cons/assign_neg.cc index 078cffceab8..20122348e6d 100644 --- a/libstdc++-v3/testsuite/30_threads/mutex/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/mutex/cons/assign_neg.cc @@ -3,7 +3,7 @@ // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009, 2010 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 @@ -29,8 +29,7 @@ void test01() typedef std::mutex mutex_type; mutex_type m1; mutex_type m2; - m1 = m2; + m1 = m2; // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 32 } -// { dg-error "deleted function" "" { target *-*-* } 83 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/mutex/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/mutex/cons/copy_neg.cc index e13a0f6cfba..3fd1cd97784 100644 --- a/libstdc++-v3/testsuite/30_threads/mutex/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/mutex/cons/copy_neg.cc @@ -3,7 +3,7 @@ // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009, 2010 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 @@ -28,8 +28,7 @@ void test01() // assign typedef std::mutex mutex_type; mutex_type m1; - mutex_type m2(m1); + mutex_type m2(m1); // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 31 } -// { dg-error "deleted function" "" { target *-*-* } 82 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc index 2b57a1c5b2f..414c861cc44 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc @@ -29,8 +29,7 @@ void test01() // assign std::packaged_task<int()> p1; std::packaged_task<int()> p2; - p1 = p2; + p1 = p2; // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 32 } -// { dg-error "deleted function" "" { target *-*-* } 1228 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc index baf718354e5..93b0821943c 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc @@ -28,8 +28,7 @@ void test01() { // copy std::packaged_task<int()> p1; - std::packaged_task<int()> p2(p1); + std::packaged_task<int()> p2(p1); // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 31 } -// { dg-error "deleted function" "" { target *-*-* } 1227 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc index 80b5e06e1d0..50b1c6e17bf 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc @@ -29,8 +29,7 @@ void test01() // assign std::promise<int> p1; std::promise<int> p2; - p1 = p2; + p1 = p2; // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 32 } -// { dg-error "deleted function" "" { target *-*-* } 871 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc index 27884b0bd1a..5e43d0b1fda 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc @@ -28,8 +28,7 @@ void test01() { // copy std::promise<int> p1; - std::promise<int> p2(p1); + std::promise<int> p2(p1); // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 31 } -// { dg-error "deleted function" "" { target *-*-* } 855 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/assign_neg.cc index 6c6cefa177a..2eeefd32c32 100644 --- a/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/assign_neg.cc @@ -3,7 +3,7 @@ // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009, 2010 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 @@ -29,8 +29,7 @@ void test01() typedef std::recursive_mutex mutex_type; mutex_type m1; mutex_type m2; - m1 = m2; + m1 = m2; // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 32 } -// { dg-error "deleted function" "" { target *-*-* } 135 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/copy_neg.cc index b62011b8b56..232a70103a4 100644 --- a/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/copy_neg.cc @@ -3,7 +3,7 @@ // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009, 2010 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 @@ -28,8 +28,7 @@ void test01() // assign typedef std::recursive_mutex mutex_type; mutex_type m1; - mutex_type m2(m1); + mutex_type m2(m1); // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 31 } -// { dg-error "deleted function" "" { target *-*-* } 134 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc index 2e092bedd11..1694423cb1f 100644 --- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc @@ -3,7 +3,7 @@ // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009, 2010 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 @@ -29,8 +29,7 @@ void test01() typedef std::recursive_timed_mutex mutex_type; mutex_type m1; mutex_type m2; - m1 = m2; + m1 = m2; // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 32 } -// { dg-error "deleted function" "" { target *-*-* } 298 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc index 9d10a7dac55..c729d5b76a2 100644 --- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc @@ -3,7 +3,7 @@ // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009, 2010 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 @@ -28,8 +28,7 @@ void test01() // assign typedef std::recursive_timed_mutex mutex_type; mutex_type m1; - mutex_type m2(m1); + mutex_type m2(m1); // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 31 } -// { dg-error "deleted function" "" { target *-*-* } 297 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc index a4e325b0d96..e690878b48d 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc @@ -29,7 +29,7 @@ #include <mutex> #include <testsuite_hooks.h> -void wait(std::shared_future<void> f) +void fut_wait(std::shared_future<void> f) { f.wait(); } @@ -39,9 +39,9 @@ void test01() std::promise<void> p1; std::shared_future<void> f1(p1.get_future()); - std::thread t1(wait, f1); - std::thread t2(wait, f1); - std::thread t3(wait, f1); + std::thread t1(fut_wait, f1); + std::thread t2(fut_wait, f1); + std::thread t3(fut_wait, f1); p1.set_value(); t1.join(); diff --git a/libstdc++-v3/testsuite/30_threads/thread/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/thread/cons/assign_neg.cc index f45b9f203ae..406d16085a3 100644 --- a/libstdc++-v3/testsuite/30_threads/thread/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/thread/cons/assign_neg.cc @@ -28,8 +28,7 @@ void test01() typedef std::thread test_type; test_type t1; test_type t2; - t1 = t2; + t1 = t2; // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 31 } -// { dg-error "deleted function" "" { target *-*-* } 149 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/thread/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/thread/cons/copy_neg.cc index ce5034bf502..9d8681d471f 100644 --- a/libstdc++-v3/testsuite/30_threads/thread/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/thread/cons/copy_neg.cc @@ -27,9 +27,7 @@ void test01() // copy typedef std::thread test_type; test_type t1; - test_type t2(t1); // XXX this is failing for the wrong reason + test_type t2(t1); // { dg-error "deleted" } } -// { dg-error "here" "" { target *-*-* } 30 } -// { dg-error "deleted function" "" { target *-*-* } 127 } -// { dg-excess-errors "In file included from" } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/assign_neg.cc index 4648196966d..7c9199f321b 100644 --- a/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/assign_neg.cc @@ -3,7 +3,7 @@ // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009, 2010 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 @@ -29,8 +29,7 @@ void test01() typedef std::timed_mutex mutex_type; mutex_type m1; mutex_type m2; - m1 = m2; + m1 = m2; // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 32 } -// { dg-error "deleted function" "" { target *-*-* } 193 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/copy_neg.cc index 716b0562a42..2c388962e45 100644 --- a/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/copy_neg.cc @@ -3,7 +3,7 @@ // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009, 2010 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 @@ -28,8 +28,7 @@ void test01() // assign typedef std::timed_mutex mutex_type; mutex_type m1; - mutex_type m2(m1); + mutex_type m2(m1); // { dg-error "deleted" } } -// { dg-error "used here" "" { target *-*-* } 31 } -// { dg-error "deleted function" "" { target *-*-* } 192 } +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/Makefile.am b/libstdc++-v3/testsuite/Makefile.am index f13f51d2e1b..43d0ed39557 100644 --- a/libstdc++-v3/testsuite/Makefile.am +++ b/libstdc++-v3/testsuite/Makefile.am @@ -69,8 +69,10 @@ site.exp: Makefile extract_symvers = $(glibcxx_srcdir)/scripts/extract_symvers +baseline_subdir := $(shell $(CXX) --print-multi-dir) + baseline_symbols: - -@(output=${baseline_dir}/baseline_symbols.txt; \ + -@(output=${baseline_dir}/${baseline_subdir}/baseline_symbols.txt; \ if test ! -f $${output}; then \ echo "Baseline file doesn't exist."; \ echo "Try 'make new-abi-baseline' to create it."; \ @@ -78,8 +80,8 @@ baseline_symbols: fi; true) new-abi-baseline: - -@$(mkinstalldirs) ${baseline_dir} - -@(output=${baseline_dir}/baseline_symbols.txt; \ + -@$(mkinstalldirs) ${baseline_dir}${baseline_subdir} + -@(output=${baseline_dir}/${baseline_subdir}/baseline_symbols.txt; \ if test -f $${output}; then \ output=$${output}.new; \ t=`echo $${output} | sed 's=.*config/abi/=='`; \ diff --git a/libstdc++-v3/testsuite/Makefile.in b/libstdc++-v3/testsuite/Makefile.in index 72a40c8ff05..ef177f6ebdb 100644 --- a/libstdc++-v3/testsuite/Makefile.in +++ b/libstdc++-v3/testsuite/Makefile.in @@ -34,8 +34,8 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/fragment.am +DIST_COMMON = $(top_srcdir)/fragment.am $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.am subdir = testsuite ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \ @@ -54,6 +54,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \ $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/../config/gc++filt.m4 \ $(top_srcdir)/../config/tls.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -63,8 +64,6 @@ CONFIG_CLEAN_VPATH_FILES = depcomp = am__depfiles_maybe = SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ ACLOCAL = @ACLOCAL@ ALLOCATOR_H = @ALLOCATOR_H@ @@ -101,6 +100,7 @@ CTIME_CC = @CTIME_CC@ CTIME_H = @CTIME_H@ CXX = @CXX@ CXXCPP = @CXXCPP@ +CXXFILT = @CXXFILT@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ C_INCLUDE_DIR = @C_INCLUDE_DIR@ @@ -274,6 +274,7 @@ lists_of_files = \ testsuite_files_performance extract_symvers = $(glibcxx_srcdir)/scripts/extract_symvers +baseline_subdir := $(shell $(CXX) --print-multi-dir) check_DEJAGNU_normal_targets = $(patsubst %,check-DEJAGNUnormal%,0 1 2 3) # Runs the testsuite, but in compile only mode. @@ -354,37 +355,6 @@ TAGS: ctags: CTAGS CTAGS: - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done check-am: all-am check: check-am all-am: Makefile @@ -484,16 +454,15 @@ uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local distclean distclean-generic distclean-libtool \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am + clean-local distclean distclean-generic distclean-libtool dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am # This rule generates all of the testsuite_files* lists at once. @@ -529,7 +498,7 @@ site.exp: Makefile @mv site.tmp site.exp baseline_symbols: - -@(output=${baseline_dir}/baseline_symbols.txt; \ + -@(output=${baseline_dir}/${baseline_subdir}/baseline_symbols.txt; \ if test ! -f $${output}; then \ echo "Baseline file doesn't exist."; \ echo "Try 'make new-abi-baseline' to create it."; \ @@ -537,8 +506,8 @@ baseline_symbols: fi; true) new-abi-baseline: - -@$(mkinstalldirs) ${baseline_dir} - -@(output=${baseline_dir}/baseline_symbols.txt; \ + -@$(mkinstalldirs) ${baseline_dir}${baseline_subdir} + -@(output=${baseline_dir}/${baseline_subdir}/baseline_symbols.txt; \ if test -f $${output}; then \ output=$${output}.new; \ t=`echo $${output} | sed 's=.*config/abi/=='`; \ diff --git a/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc b/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc index 3e503df4710..0030000f7b6 100644 --- a/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc +++ b/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc @@ -1,6 +1,10 @@ +// Before Solaris 11, iconv -f ISO-8859-1 -t ISO-8859-1 fails with +// Not supported ISO-8859-1 to ISO-8859-1 +// +// { dg-do run { xfail *-*-solaris2.[89] *-*-solaris2.10 } } // { dg-require-iconv "ISO-8859-1" } -// Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation +// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010 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 diff --git a/libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc b/libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc index bab32fa0049..0ceb9a6597a 100644 --- a/libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc +++ b/libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc @@ -91,13 +91,4 @@ void test01(void) { aptr5 = __const_pointer_cast<B_pointer>(cbptr); // ok } -// { dg-error "invalid conversion " "" { target *-*-* } 314 } -// { dg-error "initializing argument 1 of" "" { target *-*-* } 314 } -// { dg-error "invalid conversion " "" { target *-*-* } 308 } -// { dg-error "initializing argument 1 of" "" { target *-*-* } 308 } -// { dg-error "invalid conversion " "" { target *-*-* } 331 } -// { dg-error "initializing argument 1 of" "" { target *-*-* } 331 } -// { dg-error "invalid conversion " "" { target *-*-* } 339 } -// { dg-error "initializing argument 1 of" "" { target *-*-* } 339 } -// { dg-excess-errors "In constructor" } - +// { dg-prune-output "include" } diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/22309_thread.cc b/libstdc++-v3/testsuite/ext/mt_allocator/22309_thread.cc index bd52fd34545..609f188aade 100644 --- a/libstdc++-v3/testsuite/ext/mt_allocator/22309_thread.cc +++ b/libstdc++-v3/testsuite/ext/mt_allocator/22309_thread.cc @@ -1,7 +1,7 @@ // { dg-require-sharedlib "" } // { dg-options "-g -O2 -pthread -ldl" { target *-*-linux* } } -// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2004, 2005, 2009, 2010 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 @@ -93,7 +93,7 @@ int main (void) { pthread_t th; - pthread_create(&th, NULL, tf, NULL); - pthread_join(th, NULL); + pthread_create(&th, 0, tf, 0); + pthread_join(th, 0); return 0; } diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc index 8d93029c87d..9577dfbc033 100644 --- a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc +++ b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc @@ -61,4 +61,3 @@ int main() } // { dg-error "invalid" "" { target *-*-* } 187 } -// { dg-excess-errors "member function" } diff --git a/libstdc++-v3/testsuite/ext/profile/mutex_extensions.cc b/libstdc++-v3/testsuite/ext/profile/mutex_extensions.cc index 01c6714bb42..471c4482b2d 100644 --- a/libstdc++-v3/testsuite/ext/profile/mutex_extensions.cc +++ b/libstdc++-v3/testsuite/ext/profile/mutex_extensions.cc @@ -3,7 +3,7 @@ // -*- C++ -*- -// Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc. +// Copyright (C) 2006, 2007, 2009, 2010 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 @@ -22,5 +22,4 @@ #include <vector> -// { dg-error "Cannot use -D_GLIBCXX_PROFILE with " "" { target *-*-* } 167 } -// { dg-excess-errors "In file included from" } +// { dg-error "Cannot use -D_GLIBCXX_PROFILE with " "" { target *-*-* } 196 } diff --git a/libstdc++-v3/testsuite/ext/profile/profiler_algos.cc b/libstdc++-v3/testsuite/ext/profile/profiler_algos.cc new file mode 100644 index 00000000000..5963ceeefd8 --- /dev/null +++ b/libstdc++-v3/testsuite/ext/profile/profiler_algos.cc @@ -0,0 +1,147 @@ +// { dg-options "-D_GLIBCXX_PROFILE" } + +// -*- C++ -*- + +// Unit tests for profile/impl/profile_algos.h. + +// Copyright (C) 2010 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 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/>. + +#include <vector> +#include <profile/impl/profiler.h> + +using std::__norm::vector; + +enum Failure +{ + NO_FAILURES = 0x0, + INSERT_AFTER_N = 0x1, + INSERT_AT_HEAD = 0x2, + INSERT_AT_TAIL = 0x4, + INSERT_IN_THE_MIDDLE = 0x8, + TOP_N = 0x10, + FOR_EACH = 0x20, + REMOVE = 0x40 +}; + + +static int +test_insert_top_n() +{ + vector<int> v; + + for (int i = 0; i < 10; i++) + v.push_back(10 - i); + + // Inserting -5 should have no effect if size is limited to 10. + __gnu_profile::__insert_top_n(v, -5, 10); + for (int i = 0; i < 10; i++) + if (v[i] != 10 - i) + return INSERT_AFTER_N; + + // Insert at head. + __gnu_profile::__insert_top_n(v, 11, 10); + for (int i = 0; i < 11; i++) + if (v[i] != 11 - i) + return INSERT_AT_HEAD; + + // Insert at end. + __gnu_profile::__insert_top_n(v, 0, 100); + for (int i = 0; i < 12; i++) + if (v[i] != 11 - i) + return INSERT_AT_TAIL; + + // Insert in the middle. + __gnu_profile::__insert_top_n(v, 6, 11); + for (int i = 0; i < 6; i++) + if (v[i] != 11 - i) + return INSERT_IN_THE_MIDDLE; + for (int i = 6; i < 13; i++) + if (v[i] != 12 - i) + return INSERT_IN_THE_MIDDLE; + + return NO_FAILURES; +} + +static int +test_top_n() +{ + vector<int> v, out; + + for (int i = 0; i < 100; i++) + { + v.push_back(100 + i); + v.push_back(100 - i); + } + + __gnu_profile::__top_n(v, out, 10); + + for (int i = 0; i < 10; i++) + if (out[i] != 199 - i) + return TOP_N; + + return NO_FAILURES; +} + +struct test_for_each_helper +{ + static int sum; + void operator ()(int i) { + sum += i; + } +}; + +int test_for_each_helper::sum = 0; + +static int +test_for_each() +{ + vector<int> v; + test_for_each_helper helper; + int checksum = 0; + + for (int i = 0; i < 10; i++) + { + v.push_back(i); + checksum += i; + } + + __gnu_profile::__for_each(v.begin(), v.end(), helper); + + return helper.sum == checksum ? NO_FAILURES : FOR_EACH; +} + +static int +test_remove() +{ + vector<char> v; + + for (int i = 0; i < 10; i++) + v.push_back(' '); + v.push_back('x'); + for (int i = 0; i < 10; i++) + v.push_back(' '); + v.push_back('x'); + + return __gnu_profile::__remove(v.begin(), v.end(), ' ') == v.begin() + 2 + ? NO_FAILURES : REMOVE; +} + +int main() +{ + return test_insert_top_n() | test_top_n() | test_for_each() | test_remove(); +} diff --git a/libstdc++-v3/testsuite/ext/rope/44708.cc b/libstdc++-v3/testsuite/ext/rope/44708.cc new file mode 100644 index 00000000000..ac2fa95c742 --- /dev/null +++ b/libstdc++-v3/testsuite/ext/rope/44708.cc @@ -0,0 +1,31 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// Copyright (C) 2010 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 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/>. + +#include <iostream> +#include <ext/rope> + +using namespace std; + +// libstdc++/44708 +void test01() +{ + __gnu_cxx::crope line("test-test-test"); + cout << line.c_str() << endl; +} diff --git a/libstdc++-v3/testsuite/ext/rope/44963.cc b/libstdc++-v3/testsuite/ext/rope/44963.cc new file mode 100644 index 00000000000..32bd9ded612 --- /dev/null +++ b/libstdc++-v3/testsuite/ext/rope/44963.cc @@ -0,0 +1,31 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// Copyright (C) 2010 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 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/>. + +#include <ext/rope> + +// libstdc++/44963 +void test01() +{ + __gnu_cxx::crope line("test"); + auto ii(std::back_inserter(line)); + + *ii++ = 'm'; + *ii++ = 'e'; +} diff --git a/libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc b/libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc index b1520be4a57..fd1ed09c6c3 100644 --- a/libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc +++ b/libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc @@ -1,6 +1,6 @@ // 2003-05-03 Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org> // -// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -90,10 +90,10 @@ main() foo4 += foo3; for (int i = 0; i < max_thread_count; i++) - pthread_create (&tid[i], NULL, thread_main, 0); + pthread_create (&tid[i], 0, thread_main, 0); for (int i = 0; i < max_thread_count; i++) - pthread_join (tid[i], NULL); + pthread_join (tid[i], 0); } VERIFY( !std::strcmp (data, "barbazbongle") ); diff --git a/libstdc++-v3/testsuite/ext/slist/23781.cc b/libstdc++-v3/testsuite/ext/slist/23781.cc index 9b0e0a53e82..e1493c67558 100644 --- a/libstdc++-v3/testsuite/ext/slist/23781.cc +++ b/libstdc++-v3/testsuite/ext/slist/23781.cc @@ -1,6 +1,6 @@ // 2005-09-10 Paolo Carlini <pcarlini@suse.de> // -// Copyright (C) 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2005, 2009, 2010 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 @@ -22,6 +22,7 @@ // libstdc++/23781 #include <ext/slist> +#include <cstddef> __gnu_cxx::slist<int>::iterator it = NULL; // { dg-error "conversion" } __gnu_cxx::slist<int>::const_iterator cit = NULL; // { dg-error "conversion" } diff --git a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-2.cc b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-2.cc index ce719e576f2..d0a1fcfc406 100644 --- a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-2.cc +++ b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-2.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2000, 2001, 2002, 2003, 2009 Free Software Foundation +// Copyright (C) 2000, 2001, 2002, 2003, 2009, 2010 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 @@ -37,7 +37,7 @@ void test2() fbuf.close(); FILE* file = fopen("tmp_10063-2", "r"); - setbuf(file, NULL); + setbuf(file, 0); int c = getc(file); VERIFY(c == '0'); c = getc(file); diff --git a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc index 7eb4719a7c7..47b33721349 100644 --- a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc +++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc @@ -1,6 +1,7 @@ // 2003-05-01 Petur Runolfsson <peturr02@ru.is> -// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009 Free Software Foundation +// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 +// 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 @@ -29,11 +30,11 @@ void test01() bool test __attribute__((unused)) = true; const char* c_lit = "black pearl jasmine tea"; - int size = strlen(c_lit); + unsigned size = strlen(c_lit); const char* name = "stdiobuf-1.txt"; FILE* fout = fopen(name, "w"); - fwrite(c_lit, 1, size, fout); + VERIFY( fwrite(c_lit, 1, size, fout) == size ); fclose(fout); FILE* fin = fopen(name, "r"); diff --git a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc index 6b0cee4db92..2629ecb43b6 100644 --- a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc @@ -1,6 +1,7 @@ // 2003-05-01 Petur Runolfsson <peturr02@ru.is> -// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009 Free Software Foundation +// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 +// 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 @@ -29,11 +30,11 @@ void test01() bool test __attribute__((unused)) = true; const char* c_lit = "black pearl jasmine tea"; const wchar_t* w_lit = L"black pearl jasmine tea"; - int size = strlen(c_lit); + unsigned size = strlen(c_lit); const char* name = "stdiobuf-1.txt"; FILE* fout = fopen(name, "w"); - fwrite(c_lit, 1, size, fout); + VERIFY( fwrite(c_lit, 1, size, fout) == size ); fclose(fout); FILE* fin = fopen(name, "r"); diff --git a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc index aeb957618ae..7e4795f6892 100644 --- a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc +++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc @@ -1,4 +1,4 @@ -// { dg-require-namedlocale "" } +// { dg-require-namedlocale "is_IS.UTF-8" } // Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation // @@ -64,7 +64,7 @@ void test01() fputs(str, file); fclose(file); - freopen(name, "r", stdin); + VERIFY( freopen(name, "r", stdin) ); streamsize n = wcin.rdbuf()->in_avail(); while (n--) diff --git a/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc b/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc index 36fb9729f00..de72e141c0c 100644 --- a/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc +++ b/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc @@ -36,4 +36,3 @@ int main() // { dg-error "instantiated from" "" { target *-*-* } 28 } // { dg-error "no type" "" { target *-*-* } 67 } -// { dg-excess-errors "In instantiation of" } diff --git a/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc b/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc index cafaf39e515..ba3dd763bd5 100644 --- a/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc +++ b/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc @@ -36,4 +36,4 @@ int main() } // { dg-error "invalid use of incomplete" "" { target *-*-* } 28 } -// { dg-error "declaration of" "" { target *-*-* } 62 } +// { dg-error "declaration of" "" { target *-*-* } 61 } diff --git a/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc b/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc index 7c88b43c0df..847beda5bc7 100644 --- a/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc +++ b/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc @@ -36,4 +36,3 @@ int main() // { dg-error "instantiated from" "" { target *-*-* } 28 } // { dg-error "no type" "" { target *-*-* } 110 } -// { dg-excess-errors "In instantiation of" } diff --git a/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc b/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc index 0b73904e4a7..2347a14c0e7 100644 --- a/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc +++ b/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc @@ -36,4 +36,4 @@ int main() } // { dg-error "invalid use of incomplete" "" { target *-*-* } 28 } -// { dg-error "declaration of" "" { target *-*-* } 105 } +// { dg-error "declaration of" "" { target *-*-* } 104 } diff --git a/libstdc++-v3/testsuite/ext/vstring/range_access.cc b/libstdc++-v3/testsuite/ext/vstring/range_access.cc new file mode 100644 index 00000000000..32322924709 --- /dev/null +++ b/libstdc++-v3/testsuite/ext/vstring/range_access.cc @@ -0,0 +1,37 @@ +// { dg-do compile } +// { dg-options "-std=gnu++0x" } + +// Copyright (C) 2010 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 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 Pred 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/>. + +// 24.6.5, range access [iterator.range] + +#include <ext/vstring.h> + +void +test01() +{ + __gnu_cxx::__vstring s("Hello, World!"); + std::begin(s); + std::end(s); + +#ifdef _GLIBCXX_USE_WCHAR_T + __gnu_cxx::__wvstring ws(L"Hello, World!"); + std::begin(ws); + std::end(ws); +#endif +} diff --git a/libstdc++-v3/testsuite/lib/dg-options.exp b/libstdc++-v3/testsuite/lib/dg-options.exp index 10848bcccf1..2fefb772bbe 100644 --- a/libstdc++-v3/testsuite/lib/dg-options.exp +++ b/libstdc++-v3/testsuite/lib/dg-options.exp @@ -54,7 +54,7 @@ proc dg-require-fileio { args } { } proc dg-require-namedlocale { args } { - if { ![ check_v3_target_namedlocale ] } { + if { ![ check_v3_target_namedlocale [lindex $args 1] ] } { upvar dg-do-what dg-do-what set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] return diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp index 45a43dea5fd..41f593b6e25 100644 --- a/libstdc++-v3/testsuite/lib/libstdc++.exp +++ b/libstdc++-v3/testsuite/lib/libstdc++.exp @@ -374,7 +374,6 @@ proc libstdc++-dg-test { prog do_what extra_tool_flags } { # There is a libstdc++_compile made for us by default (via the tool- # and-target file), but the defaults are lacking in goodness. set comp_output [$select_compile "$prog" "$output_file" "$compile_type" $options]; - set comp_output [ prune_g++_output $comp_output ]; return [list $comp_output $output_file] } @@ -386,13 +385,16 @@ if { [info procs saved-dg-test] == [list] } { rename dg-test saved-dg-test proc dg-test { args } { + global additional_prunes global errorInfo if { [ catch { eval saved-dg-test $args } errmsg ] } { set saved_info $errorInfo + set additional_prunes "" unset_timeout_vars error $errmsg $saved_info } + set additional_prunes "" unset_timeout_vars } } @@ -828,99 +830,60 @@ proc check_v3_target_time { } { return $et_time_saved } -proc check_v3_target_namedlocale { } { - global et_namedlocale_saved - global et_namedlocale_target_name +proc check_v3_target_namedlocale { args } { + global et_namedlocale global tool - if { ![info exists et_namedlocale_target_name] } { - set et_namedlocale_target_name "" + set et_namedlocale 0 + + # Set up, compile, and execute a C++ test program that tries to use + # the required named locale. + set exe nlocale[pid].x + + if ![file exists ./$exe] { + set src nlocale[pid].cc + + set f [open $src "w"] + puts $f "#include <locale>" + puts $f "#include <cstdio>" + puts $f "using namespace std;" + puts $f "int main (int argc, char** argv)" + puts $f "{" + puts $f " try" + puts $f " {" + puts $f " locale(*(argv + 1));" + puts $f " return 0;" + puts $f " }" + puts $f " catch(...)" + puts $f " {" + puts $f " printf(\"locale '%s' not supported\\n\", *(argv + 1));" + puts $f " return 1;" + puts $f " }" + puts $f "}" + close $f + + set lines [v3_target_compile $src $exe executable ""] + file delete $src + + if ![string match "" $lines] { + verbose "check_v3_target_namedlocale: compilation failed" 2 + return $et_namedlocale + } + # else No error message, compilation succeeded. } + + set result [${tool}_load "./$exe" "$args" ""] + set status [lindex $result 0] - # If the target has changed since we set the cached value, clear it. - set current_target [current_target_name] - if { $current_target != $et_namedlocale_target_name } { - verbose "check_v3_target_namedlocale: `$et_namedlocale_target_name'" 2 - set et_namedlocale_target_name $current_target - if [info exists et_namedlocale_saved] { - verbose "check_v3_target_namedlocale: removing cached result" 2 - unset et_namedlocale_saved - } - } - - if [info exists et_namedlocale_saved] { - verbose "check_v3_target_namedlocale: using cached result" 2 - } else { - set et_namedlocale_saved 0 - - # Set up, compile, and execute a C++ test program that tries to use - # all the required named locales. - set src nlocale[pid].cc - set exe nlocale[pid].x - - set f [open $src "w"] - puts $f "#include <locale>" - puts $f "using namespace std;" - puts $f "int main ()" - puts $f "{" - puts $f " try" - puts $f " {" - puts $f " locale(\"\");" - puts $f " locale(\"de_DE\");" - puts $f " locale(\"de_DE.ISO-8859-15@euro\");" - puts $f " locale(\"de_DE@euro\");" - puts $f " locale(\"en_GB\");" - puts $f " locale(\"en_HK\");" - puts $f " locale(\"en_PH\");" - puts $f " locale(\"en_US\");" - puts $f " locale(\"en_US.ISO-8859-1\");" - puts $f " locale(\"en_US.ISO-8859-15\");" - puts $f " locale(\"en_US.UTF-8\");" - puts $f " locale(\"es_ES\");" - puts $f " locale(\"es_MX\");" - puts $f " locale(\"fr_FR\");" - puts $f " locale(\"fr_FR@euro\");" - puts $f " locale(\"is_IS\");" - puts $f " locale(\"is_IS.UTF-8\");" - puts $f " locale(\"it_IT\");" - puts $f " locale(\"ja_JP.eucjp\");" - puts $f " locale(\"ru_RU.ISO-8859-5\");" - puts $f " locale(\"ru_RU.UTF-8\");" - puts $f " locale(\"se_NO.UTF-8\");" - puts $f " locale(\"ta_IN\");" - puts $f " locale(\"zh_TW\");" - puts $f " return 0;" - puts $f " }" - puts $f " catch(...)" - puts $f " {" - puts $f " return 1;" - puts $f " }" - puts $f "}" - close $f - - set lines [v3_target_compile $src $exe executable ""] - file delete $src - - if [string match "" $lines] { - # No error message, compilation succeeded. - set result [${tool}_load "./$exe" "" ""] - set status [lindex $result 0] - remote_file build delete $exe - - verbose "check_v3_target_namedlocale: status is <$status>" 2 + verbose "check_v3_target_namedlocale <$args>: status is <$status>" 2 - if { $status == "pass" } { - set et_namedlocale_saved 1 - } - } else { - verbose "check_v3_target_namedlocale: compilation failed" 2 - } + if { $status == "pass" } { + set et_namedlocale 1 } - return $et_namedlocale_saved + return $et_namedlocale } proc check_v3_target_debug_mode { } { - global cxxflags global et_debug_mode global tool @@ -945,21 +908,20 @@ proc check_v3_target_debug_mode { } { set et_debug_mode 0 # Set up and compile a C++ test program that depends - # on debug mode working. + # on debug mode activated. set src debug_mode[pid].cc set exe debug_mode[pid].exe set f [open $src "w"] puts $f "#include <string>" - puts $f "using namespace std;" + puts $f "#ifndef _GLIBCXX_DEBUG" + puts $f "# error No debug mode" + puts $f "#endif" puts $f "int main()" puts $f "{ return 0; }" close $f - set cxxflags_saved $cxxflags - set cxxflags "$cxxflags -Werror -O0 -D_GLIBCXX_DEBUG" set lines [v3_target_compile $src $exe executable ""] - set cxxflags $cxxflags_saved file delete $src if [string match "" $lines] { @@ -1470,3 +1432,5 @@ proc check_v3_target_binary_io { } { verbose "check_v3_target_binary_io: $et_binary_io" 2 return $et_binary_io } + +set additional_prunes "" diff --git a/libstdc++-v3/testsuite/lib/prune.exp b/libstdc++-v3/testsuite/lib/prune.exp index 6c7368d10f9..a390878d76f 100644 --- a/libstdc++-v3/testsuite/lib/prune.exp +++ b/libstdc++-v3/testsuite/lib/prune.exp @@ -17,18 +17,45 @@ # Prune messages from g++ that aren't useful. -proc prune_g++_output { text } { +# Prune any messages matching ARGS[1] (a regexp) from test output. +proc dg-prune-output { args } { + global additional_prunes + + if { [llength $args] != 2 } { + error "[lindex $args 1]: need one argument" + return + } + + lappend additional_prunes [lindex $args 1] +} + +proc libstdc++-dg-prune { system text } { + global additional_prunes # Cygwin warns about -ffunction-sections regsub -all "(^|\n)\[^\n\]*: -ffunction-sections may affect debugging on some targets\[^\n\]*" $text "" text # Remove parts of warnings that refer to location of previous # definitions, etc as these confuse dejagnu - regsub -all "(^|\n)\[^\n\]*: In function \[^\n\]*" $text "" text + regsub -all "(^|\n)(\[^\n\]*: )?In ((static member |lambda )?function|member|method|(copy )?constructor|destructor|instantiation|program|subroutine|block-data)\[^\n\]*" $text "" text + regsub -all "(^|\n)\[^\n\]*(: )?At (top level|global scope):\[^\n\]*" $text "" text + regsub -all "(^|\n)\[^\n\]*: (recursively )?instantiated from \[^\n\]*" $text "" text + regsub -all "(^|\n)\[^\n\]*: . skipping \[0-9\]* instantiation contexts \[^\n\]*" $text "" text + regsub -all "(^|\n) inlined from \[^\n\]*" $text "" text + # Why doesn't GCC need these to strip header context? + regsub -all "(^|\n)In file included from \[^\n\]*" $text "" text + regsub -all "(^|\n)\[ \t\]*from \[^\n\]*" $text "" text # Ignore errata warning from IA64 assembler. regsub -all "(^|\n)\[^\n\]*: Additional NOP may be necessary to workaround Itanium processor A/B step errata" $text "" text regsub -all "(^|\n)\[^\n*\]*: Assembler messages:\[^\n\]*" $text "" text + foreach p $additional_prunes { + if { [string length $p] > 0 } { + # Following regexp matches a complete line containing $p. + regsub -all "(^|\n)\[^\n\]*$p\[^\n\]*" $text "" text + } + } + return $text } diff --git a/libstdc++-v3/testsuite/libstdc++-abi/abi.exp b/libstdc++-v3/testsuite/libstdc++-abi/abi.exp index fd892a0ebd9..a0e8f28f07e 100644 --- a/libstdc++-v3/testsuite/libstdc++-abi/abi.exp +++ b/libstdc++-v3/testsuite/libstdc++-abi/abi.exp @@ -61,4 +61,4 @@ remote_download "target" "current_symbols.txt" "current_symbols.txt" set result [${tool}_load "./abi_check" \ [list "--check-verbose" "current_symbols.txt" \ "baseline_symbols.txt"]] -[lindex $result 0] "abi_check" +[lindex $result 0] "libstdc++-abi/abi_check" diff --git a/libstdc++-v3/testsuite/performance/21_strings/string_append.cc b/libstdc++-v3/testsuite/performance/21_strings/append-1.cc index 60a9a8654ba..60a9a8654ba 100644 --- a/libstdc++-v3/testsuite/performance/21_strings/string_append.cc +++ b/libstdc++-v3/testsuite/performance/21_strings/append-1.cc diff --git a/libstdc++-v3/testsuite/performance/21_strings/string_append_2.cc b/libstdc++-v3/testsuite/performance/21_strings/append-2.cc index 8c44cb0f0eb..8c44cb0f0eb 100644 --- a/libstdc++-v3/testsuite/performance/21_strings/string_append_2.cc +++ b/libstdc++-v3/testsuite/performance/21_strings/append-2.cc diff --git a/libstdc++-v3/testsuite/performance/21_strings/string_cons_input_iterator.cc b/libstdc++-v3/testsuite/performance/21_strings/cons_input_iterator.cc index fcf3eb8939c..fcf3eb8939c 100644 --- a/libstdc++-v3/testsuite/performance/21_strings/string_cons_input_iterator.cc +++ b/libstdc++-v3/testsuite/performance/21_strings/cons_input_iterator.cc diff --git a/libstdc++-v3/testsuite/performance/21_strings/string_copy_cons_and_dest.cc b/libstdc++-v3/testsuite/performance/21_strings/copy_cons_and_dest.cc index 1ec18d3e4ad..1ec18d3e4ad 100644 --- a/libstdc++-v3/testsuite/performance/21_strings/string_copy_cons_and_dest.cc +++ b/libstdc++-v3/testsuite/performance/21_strings/copy_cons_and_dest.cc diff --git a/libstdc++-v3/testsuite/performance/21_strings/string_find.cc b/libstdc++-v3/testsuite/performance/21_strings/find.cc index eeda0802b3f..eeda0802b3f 100644 --- a/libstdc++-v3/testsuite/performance/21_strings/string_find.cc +++ b/libstdc++-v3/testsuite/performance/21_strings/find.cc diff --git a/libstdc++-v3/testsuite/performance/21_strings/hash.cc b/libstdc++-v3/testsuite/performance/21_strings/hash.cc new file mode 100644 index 00000000000..0c409c5da26 --- /dev/null +++ b/libstdc++-v3/testsuite/performance/21_strings/hash.cc @@ -0,0 +1,58 @@ +#include <string> +#include <vector> +#include <unordered_set> +#include <cstdlib> +#include <random> +#include <testsuite_performance.h> + +using namespace std; + +vector<string> +random_strings(int n, int len) +{ + string s(len, '\0'); + unordered_set<string> result_set; + random_device rd; + while (result_set.size() < n) + { + result_set.insert(s); + unsigned int tmp = rd(); + tmp %= len * 256; + s[tmp / 256] = tmp % 256; + } + return vector<string>(result_set.begin(), result_set.end()); +} + +int +main(int argc, char **argv) +{ + using namespace __gnu_test; + time_counter time; + resource_counter resource; + + int string_size = 71; + int num_strings = 6000000; + if (argc > 1) + { + string_size = atoi(argv[1]); + if (argc > 2) + num_strings = atoi(argv[2]); + } + + // Construct random strings. + vector<string> v = random_strings(num_strings, string_size); + + // Time hashing. + size_t tmp = 0; // prevent compiler from optimizing away all the work + start_counters(time, resource); + for (int i = 0; i < num_strings; i++) + tmp += hash<string>()(v[i]); + stop_counters(time, resource); + + if (tmp != 0 || argc < 9) // use tmp to prevent compiler optimization + report_performance(__FILE__, "", time, resource); + + clear_counters(time, resource); + + return 0; +} diff --git a/libstdc++-v3/testsuite/performance/23_containers/range_construct/deque_construct.cc b/libstdc++-v3/testsuite/performance/23_containers/range_construct/deque_construct.cc new file mode 100644 index 00000000000..c8a804ed2b4 --- /dev/null +++ b/libstdc++-v3/testsuite/performance/23_containers/range_construct/deque_construct.cc @@ -0,0 +1,43 @@ +// Copyright (C) 2010 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 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/>. +// + +// Performance test of debug mode deque range constructor +#define _GLIBCXX_DEBUG + +#include <deque> +#include <testsuite_performance.h> + +int main() +{ + using namespace __gnu_test; + + time_counter time; + resource_counter resource; + + const std::deque<int> ref(50000, 3); + + start_counters(time, resource); + + for (unsigned i = 0; i < 1000; ++i) + std::deque<int> v(ref.begin(), ref.end()); + + stop_counters(time, resource); + report_performance(__FILE__, "", time, resource); + + return 0; +} diff --git a/libstdc++-v3/testsuite/performance/23_containers/range_construct/list_construct1.cc b/libstdc++-v3/testsuite/performance/23_containers/range_construct/list_construct1.cc new file mode 100644 index 00000000000..19224ad2f5e --- /dev/null +++ b/libstdc++-v3/testsuite/performance/23_containers/range_construct/list_construct1.cc @@ -0,0 +1,44 @@ +// Copyright (C) 2010 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 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/>. +// + +// Performance test of debug mode list range constructor +#define _GLIBCXX_DEBUG + +#include <vector> +#include <list> +#include <testsuite_performance.h> + +int main() +{ + using namespace __gnu_test; + + time_counter time; + resource_counter resource; + + const std::vector<int> ref(50000, 3); + + start_counters(time, resource); + + for (unsigned i = 0; i < 1000; ++i) + std::list<int> l(ref.begin(), ref.end()); + + stop_counters(time, resource); + report_performance(__FILE__, "", time, resource); + + return 0; +} diff --git a/libstdc++-v3/testsuite/performance/23_containers/range_construct/list_construct2.cc b/libstdc++-v3/testsuite/performance/23_containers/range_construct/list_construct2.cc new file mode 100644 index 00000000000..51bc7a17bd1 --- /dev/null +++ b/libstdc++-v3/testsuite/performance/23_containers/range_construct/list_construct2.cc @@ -0,0 +1,43 @@ +// Copyright (C) 2010 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 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/>. +// + +// Performance test of debug mode list range constructor +#define _GLIBCXX_DEBUG + +#include <list> +#include <testsuite_performance.h> + +int main() +{ + using namespace __gnu_test; + + time_counter time; + resource_counter resource; + + const std::list<int> ref(50000, 3); + + start_counters(time, resource); + + for (unsigned i = 0; i < 1000; ++i) + std::list<int> l(ref.begin(), ref.end()); + + stop_counters(time, resource); + report_performance(__FILE__, "", time, resource); + + return 0; +} diff --git a/libstdc++-v3/testsuite/performance/23_containers/range_construct/vector_construct.cc b/libstdc++-v3/testsuite/performance/23_containers/range_construct/vector_construct.cc new file mode 100644 index 00000000000..08716a543ac --- /dev/null +++ b/libstdc++-v3/testsuite/performance/23_containers/range_construct/vector_construct.cc @@ -0,0 +1,43 @@ +// Copyright (C) 2010 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 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/>. +// + +// Performance test of debug mode vector range constructor +#define _GLIBCXX_DEBUG + +#include <vector> +#include <testsuite_performance.h> + +int main() +{ + using namespace __gnu_test; + + time_counter time; + resource_counter resource; + + const std::vector<int> ref(50000, 3); + + start_counters(time, resource); + + for (unsigned i = 0; i < 1000; ++i) + std::vector<int> v(ref.begin(), ref.end()); + + stop_counters(time, resource); + report_performance(__FILE__, "", time, resource); + + return 0; +} diff --git a/libstdc++-v3/testsuite/performance/30_threads/future/polling.cc b/libstdc++-v3/testsuite/performance/30_threads/future/polling.cc index 50d622c41a6..83fde27100f 100644 --- a/libstdc++-v3/testsuite/performance/30_threads/future/polling.cc +++ b/libstdc++-v3/testsuite/performance/30_threads/future/polling.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 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 @@ -20,9 +20,14 @@ #include <thread> #include <testsuite_performance.h> +inline bool is_ready(std::shared_future<void>& f) +{ + return f.wait_for(std::chrono::microseconds(1)); +} + void poll(std::shared_future<void> f) { - while (!f.is_ready()) + while (!is_ready(f)) { } } @@ -46,7 +51,7 @@ int main() start_counters(time, resource); for (int i = 0; i < 1000000; ++i) - (void)f.is_ready(); + (void)is_ready(f); p.set_value(); for (int i=0; i < n; ++i) diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc index ec05d71e2ee..490cfc4cce6 100644 --- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc +++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc @@ -19,7 +19,7 @@ // TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared] -#include <tr1/memory> // { dg-excess-errors "In file included from" } +#include <tr1/memory> #include <testsuite_hooks.h> struct A { }; diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820.cc new file mode 100644 index 00000000000..a80a2eec85f --- /dev/null +++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820.cc @@ -0,0 +1,38 @@ +// { dg-do compile } + +// Copyright (C) 2010 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/>. + +// 2.2.3 Class template shared_ptr [tr.util.smartptr.shared] + +#include <tr1/memory> + +// incomplete type +struct X; + +std::auto_ptr<X>& ap(); + +void test01() +{ + X* px = 0; + std::tr1::shared_ptr<X> p1(px); // { dg-error "here" } + // { dg-error "incomplete" "" { target *-*-* } 370 } + + std::tr1::shared_ptr<X> p9(ap()); // { dg-error "here" } + // { dg-error "incomplete" "" { target *-*-* } 409 } + +} diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc index 54e19ab7382..72f89b5b683 100644 --- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc +++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2005, 2009 Free Software Foundation +// Copyright (C) 2005, 2009, 2010 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 @@ -73,6 +73,6 @@ main() { test01(); test02(); - test02(); + test03(); return 0; } diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/requirements/constants.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/requirements/constants.cc index 2c43732041c..be04a2c9060 100644 --- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/requirements/constants.cc +++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/requirements/constants.cc @@ -2,7 +2,7 @@ // // 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com> // -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 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 @@ -27,6 +27,7 @@ void test01() const void* p = &db.block_size; p = &db.used_block; + p = p; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/constants.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/constants.cc index c38254f13d4..bdc366ea725 100644 --- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/constants.cc +++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/constants.cc @@ -2,7 +2,7 @@ // // 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com> // -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 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 @@ -28,6 +28,7 @@ void test01() const void* p = &lc.multiplier; p = &lc.increment; p = &lc.modulus; + p = p; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/requirements/constants.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/requirements/constants.cc index 9ebddd8c6d0..52fd3a50ba2 100644 --- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/requirements/constants.cc +++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/requirements/constants.cc @@ -2,7 +2,7 @@ // // 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com> // -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 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 @@ -36,6 +36,7 @@ void test01() p = &mt.output_t; p = &mt.output_c; p = &mt.output_l; + p = p; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/requirements/constants.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/requirements/constants.cc index c68002d2766..a34938ee0e0 100644 --- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/requirements/constants.cc +++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/requirements/constants.cc @@ -2,7 +2,7 @@ // // 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com> // -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 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 @@ -28,6 +28,7 @@ void test01() const void* p = &swc.modulus; p = &swc.long_lag; p = &swc.short_lag; + p = p; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/requirements/constants.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/requirements/constants.cc index c1715264d3a..a0a360d730b 100644 --- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/requirements/constants.cc +++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/requirements/constants.cc @@ -2,7 +2,7 @@ // // 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com> // -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 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 @@ -28,6 +28,7 @@ void test01() const void* p = &swc_01.word_size; p = &swc_01.long_lag; p = &swc_01.short_lag; + p = p; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/requirements/constants.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/requirements/constants.cc index 0318b0d5e18..3fbd55247ac 100644 --- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/requirements/constants.cc +++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/requirements/constants.cc @@ -2,7 +2,7 @@ // // 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com> // -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 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 @@ -28,6 +28,7 @@ void test01() const void* p = &xor_c.shift1; p = &xor_c.shift2; + p = p; // Suppress unused warning. } int main() diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_null_neg.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_null_neg.cc index a8a06fdbcdc..1709816c306 100644 --- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_null_neg.cc +++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_null_neg.cc @@ -1,6 +1,6 @@ // 2005-09-10 Paolo Carlini <pcarlini@suse.de> // -// Copyright (C) 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2005, 2009, 2010 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 @@ -22,6 +22,7 @@ // libstdc++/23781 #include <tr1/unordered_map> +#include <cstddef> std::tr1::unordered_multimap<int, int>::iterator it2 = NULL; // { dg-error "conversion" } std::tr1::unordered_multimap<int, int>::const_iterator cit2 = NULL; // { dg-error "conversion" } diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_null_neg.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_null_neg.cc index d77676eb1a1..2201b2d29d1 100644 --- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_null_neg.cc +++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_null_neg.cc @@ -1,6 +1,6 @@ // 2005-09-10 Paolo Carlini <pcarlini@suse.de> // -// Copyright (C) 2005, 2009 Free Software Foundation, Inc. +// Copyright (C) 2005, 2009, 2010 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 @@ -22,6 +22,7 @@ // libstdc++/23781 #include <tr1/unordered_set> +#include <cstddef> std::tr1::unordered_multiset<int>::iterator it3 = NULL; // { dg-error "conversion" } std::tr1::unordered_multiset<int>::const_iterator cit3 = NULL; // { dg-error "conversion" } diff --git a/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc b/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc index 20e6bc06ea7..3189e7f81aa 100644 --- a/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc +++ b/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc @@ -1,6 +1,6 @@ // 2004-09-23 Chris Jefferson <chris@bubblescope.net> -// Copyright (C) 2004, 2009 Free Software Foundation, Inc. +// Copyright (C) 2004, 2009, 2010 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 @@ -36,8 +36,10 @@ main() VERIFY(tuple_size<test_pair_type>::value == 2); // Test if tuple_element::type returns the correct type blank_class blank; - tuple_element<0, pair<blank_class, int> >::type blank2 = blank; - tuple_element<1, pair<int ,blank_class> >::type blank3 = blank; + tuple_element<0, pair<blank_class, int> >::type + blank2 __attribute__((unused)) = blank; + tuple_element<1, pair<int ,blank_class> >::type + blank3 __attribute__((unused)) = blank; pair<int,int> test_pair(1, 2); VERIFY(get<0>(test_pair) == 1); VERIFY(get<1>(test_pair) == 2); diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cctype/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cctype/functions.cc index 4b6a7dfd332..862b0419f50 100644 --- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cctype/functions.cc +++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cctype/functions.cc @@ -2,7 +2,7 @@ // 2006-01-25 Paolo Carlini <pcarlini@suse.de> // -// Copyright (C) 2006, 2009 Free Software Foundation, Inc. +// Copyright (C) 2006, 2009, 2010 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 @@ -29,6 +29,7 @@ void test01() int ch = 0, ret; ret = std::tr1::isblank(ch); + ret = ret; // Suppress unused warning. #endif } diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cfenv/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cfenv/functions.cc index 765df19388e..5bffa0ef332 100644 --- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cfenv/functions.cc +++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cfenv/functions.cc @@ -2,7 +2,7 @@ // 2006-01-26 Paolo Carlini <pcarlini@suse.de> // -// Copyright (C) 2006, 2009 Free Software Foundation, Inc. +// Copyright (C) 2006, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -46,6 +46,7 @@ void test01() ret = std::tr1::feholdexcept(penv); ret = std::tr1::fesetenv(penv); ret = std::tr1::feupdateenv(penv); + ret = ret; // Suppress unused warning. #endif } diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cinttypes/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cinttypes/functions.cc index 7afe3b82b3a..30c7b789f4a 100644 --- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cinttypes/functions.cc +++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cinttypes/functions.cc @@ -2,7 +2,7 @@ // 2006-01-30 Paolo Carlini <pcarlini@suse.de> // -// Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -53,5 +53,9 @@ void test01() uret = std::tr1::wcstoumax(ws, wendptr, base); #endif + ret = ret; // Suppress unused warnings. + dret = dret; + uret = uret; + #endif } diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/functions.cc index 020c273d55b..ae31a48ecf6 100644 --- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/functions.cc +++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/functions.cc @@ -2,7 +2,7 @@ // 2006-02-07 Paolo Carlini <pcarlini@suse.de> // -// Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2006, 2007, 2008, 2009, 2010 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 @@ -181,6 +181,13 @@ void test01() ret = std::tr1::trunc(d0); fret = std::tr1::truncf(f0); ldret = std::tr1::truncl(ld0); + + ret = ret; // Suppress unused warnings. + iret = iret; + lret = lret; + llret = llret; + fret = fret; + ldret = ldret; #endif } diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/templates.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/templates.cc index 35f8869c912..cbf8c9592eb 100644 --- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/templates.cc +++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/templates.cc @@ -2,7 +2,7 @@ // 2006-02-26 Paolo Carlini <pcarlini@suse.de> // -// Copyright (C) 2006, 2009 Free Software Foundation, Inc. +// Copyright (C) 2006, 2009, 2010 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 @@ -37,6 +37,7 @@ template<typename T> ret = std::tr1::signbit(x); iret = std::tr1::fpclassify(x); + iret = iret; // Suppress unused warning. ret = std::tr1::isfinite(x); ret = std::tr1::isinf(x); @@ -49,6 +50,7 @@ template<typename T> ret = std::tr1::islessequal(x, x); ret = std::tr1::islessgreater(x, x); ret = std::tr1::isunordered(x, x); + ret = ret; // Suppress unused warning. } void test01() diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc index 426083ecb74..33890252201 100644 --- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc +++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc @@ -2,7 +2,7 @@ // 2006-02-05 Paolo Carlini <pcarlini@suse.de> // -// Copyright (C) 2006, 2009 Free Software Foundation, Inc. +// Copyright (C) 2006, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -46,6 +46,7 @@ void test01(int dummy, ...) ret = std::tr1::vfscanf(stream, format, ap); ret = std::tr1::vscanf(format, ap); ret = std::tr1::vsscanf(cs, format, ap); + ret = ret; // Suppress unused warning. #endif } diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/functions.cc index 542f42990e3..f9b88dca9c7 100644 --- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/functions.cc +++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/functions.cc @@ -2,7 +2,7 @@ // 2006-02-07 Paolo Carlini <pcarlini@suse.de> // -// Copyright (C) 2006, 2009 Free Software Foundation, Inc. +// Copyright (C) 2006, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -55,8 +55,16 @@ void test01() ldret = std::tr1::strtold(s, endptr); ret = std::tr1::abs(i); + + ret = ret; // Suppress unused warning. + uret = uret; + fret = fret; + ldret = ldret; + #if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC dret = std::tr1::div(numer, denom); + + dret = dret; #endif #endif diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc index 2a572204529..0320c9a5a66 100644 --- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc +++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc @@ -2,7 +2,7 @@ // 2006-02-03 Paolo Carlini <pcarlini@suse.de> // -// Copyright (C) 2006, 2009 Free Software Foundation, Inc. +// Copyright (C) 2006, 2009, 2010 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 @@ -37,6 +37,8 @@ void test01(int dummy, ...) wchar_t** endptr1 = 0; float fret; fret = std::tr1::wcstof(nptr1, endptr1); + + fret = fret; // Suppress unused warning. #endif #if _GLIBCXX_HAVE_VFWSCANF @@ -44,6 +46,8 @@ void test01(int dummy, ...) const wchar_t* format1 = 0; int ret1; ret1 = std::tr1::vfwscanf(stream, format1, arg); + + ret1 = ret1; // Suppress unused warning. #endif #if _GLIBCXX_HAVE_VSWSCANF @@ -51,12 +55,16 @@ void test01(int dummy, ...) const wchar_t* format2 = 0; int ret2; ret2 = std::tr1::vswscanf(s, format2, arg); + + ret2 = ret2; // Suppress unused warning. #endif #if _GLIBCXX_HAVE_VWSCANF const wchar_t* format3 = 0; int ret3; ret3 = std::tr1::vwscanf(format3, arg); + + ret3 = ret3; // Suppress unused warning. #endif #if _GLIBCXX_USE_C99 @@ -72,6 +80,10 @@ void test01(int dummy, ...) llret = std::tr1::wcstoll(nptr2, endptr2, base); ullret = std::tr1::wcstoull(nptr2, endptr2, base); + ldret = ldret; // Suppress unused warnings. + llret = llret; + ullret = ullret; + #endif } diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwctype/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwctype/functions.cc index 9eff2088018..031b3ac160a 100644 --- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwctype/functions.cc +++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwctype/functions.cc @@ -2,7 +2,7 @@ // 2006-02-03 Paolo Carlini <pcarlini@suse.de> // -// Copyright (C) 2006, 2009 Free Software Foundation, Inc. +// Copyright (C) 2006, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -32,6 +32,7 @@ void test01() std::wint_t ch = 0; int ret; ret = std::tr1::iswblank(ch); + ret = ret; // Suppress unused warning. #endif } diff --git a/libstdc++-v3/testsuite/util/debug/checks.h b/libstdc++-v3/testsuite/util/debug/checks.h new file mode 100644 index 00000000000..b42ef1a44c4 --- /dev/null +++ b/libstdc++-v3/testsuite/util/debug/checks.h @@ -0,0 +1,379 @@ +// Copyright (C) 2010 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 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/>. +// + +#include <vector> +#include <deque> +#include <list> +#ifndef _GLIBCXX_DEBUG +# include <debug/vector> +# include <debug/deque> +# include <debug/list> +#endif +#include <testsuite_hooks.h> + +namespace __gnu_test +{ + template<typename _Tp> + struct CopyableValueType + { + typedef _Tp value_type; + }; + + template<typename _Tp1, typename _Tp2> + struct CopyableValueType<std::pair<const _Tp1, _Tp2> > + { + typedef std::pair<_Tp1, _Tp2> value_type; + }; + + template<typename _Tp> + struct generate_unique + { + typedef _Tp value_type; + + operator value_type() + { + static value_type _S_; + ++_S_; + return _S_; + } + }; + + template<typename _Tp1, typename _Tp2> + struct generate_unique<std::pair<_Tp1, _Tp2> > + { + typedef _Tp1 first_type; + typedef _Tp2 second_type; + typedef std::pair<_Tp1, _Tp2> pair_type; + + operator pair_type() + { + static first_type _S_1; + static second_type _S_2; + ++_S_1; + ++_S_2; + return pair_type(_S_1, _S_2); + } + }; + + // Check that invalid range of pointers is detected + template<typename _Tp> + void + check_assign1() + { + bool test __attribute__((unused)) = true; + + typedef _Tp cont_type; + typedef typename cont_type::value_type cont_val_type; + typedef typename CopyableValueType<cont_val_type>::value_type val_type; + typedef std::vector<val_type> vector_type; + + generate_unique<val_type> gu; + + vector_type v; + for (int i = 0; i != 5; ++i) + v.push_back(gu); + VERIFY(v.size() == 5); + + const val_type* first = &v.front() + 1; + const val_type* last = first + 2; + + cont_type c1; + c1.assign(first, last); + VERIFY(c1.size() == 2); + + cont_type c2; + c2.assign(last, first); // Expected failure + } + + // Check that invalid range of debug random iterators is detected + template<typename _Tp> + void + check_assign2() + { + bool test __attribute__((unused)) = true; + + typedef _Tp cont_type; + typedef typename cont_type::value_type cont_val_type; + typedef typename CopyableValueType<cont_val_type>::value_type val_type; + typedef std::vector<val_type> vector_type; + + generate_unique<val_type> gu; + + vector_type v; + for (int i = 0; i != 5; ++i) + v.push_back(gu); + VERIFY(v.size() == 5); + + typename vector_type::iterator first = v.begin() + 1; + typename vector_type::iterator last = first + 2; + cont_type c1; + c1.assign(first, last); + VERIFY(c1.size() == 2); + + cont_type c2; + c2.assign(last, first); // Expected failure + } + + // Check that invalid range of debug !random debug iterators is detected + template<typename _Tp> + void + check_assign3() + { + bool test __attribute__((unused)) = true; + + typedef _Tp cont_type; + typedef typename cont_type::value_type cont_val_type; + typedef typename CopyableValueType<cont_val_type>::value_type val_type; + typedef std::list<val_type> list_type; + + generate_unique<val_type> gu; + + list_type l; + for (int i = 0; i != 5; ++i) + l.push_back(gu); + VERIFY(l.size() == 5); + + typename list_type::iterator first = l.begin(); ++first; + typename list_type::iterator last = first; ++last; ++last; + cont_type c1; + c1.assign(first, last); + VERIFY(c1.size() == 2); + + cont_type c2; + c2.assign(last, first); // Expected failure + } + + // Check that invalid range of pointers is detected + template<typename _Tp> + void + check_construct1() + { + bool test __attribute__((unused)) = true; + + typedef _Tp cont_type; + typedef typename cont_type::value_type cont_val_type; + typedef typename CopyableValueType<cont_val_type>::value_type val_type; + typedef std::vector<val_type> vector_type; + + generate_unique<val_type> gu; + + vector_type v; + for (int i = 0; i != 5; ++i) + v.push_back(gu); + VERIFY(v.size() == 5); + + val_type *first = &v.front() + 1; + val_type *last = first + 2; + cont_type c1(first, last); + VERIFY(c1.size() == 2); + + cont_type c2(last, first); // Expected failure + } + + // Check that invalid range of debug random iterators is detected + template<typename _Tp> + void + check_construct2() + { + bool test __attribute__((unused)) = true; + + typedef _Tp cont_type; + typedef typename cont_type::value_type cont_val_type; + typedef typename CopyableValueType<cont_val_type>::value_type val_type; + typedef std::vector<val_type> vector_type; + + generate_unique<val_type> gu; + + vector_type v; + for (int i = 0; i != 5; ++i) + v.push_back(gu); + VERIFY(v.size() == 5); + + typename vector_type::iterator first = v.begin() + 1; + typename vector_type::iterator last = first + 2; + cont_type c1(first, last); + VERIFY(c1.size() == 2); + + cont_type c2(last, first); // Expected failure + } + + // Check that invalid range of debug not random iterators is detected + template<typename _Tp> + void + check_construct3() + { + bool test __attribute__((unused)) = true; + + typedef _Tp cont_type; + typedef typename cont_type::value_type cont_val_type; + typedef typename CopyableValueType<cont_val_type>::value_type val_type; + typedef std::list<val_type> list_type; + + generate_unique<val_type> gu; + + list_type l; + for (int i = 0; i != 5; ++i) + l.push_back(gu); + VERIFY(l.size() == 5); + + typename list_type::iterator first = l.begin(); ++first; + typename list_type::iterator last = first; ++last; ++last; + cont_type c1(first, last); + VERIFY(c1.size() == 2); + + cont_type c2(last, first); // Expected failure + } + + template <typename _Cont> + struct InsertRangeHelper + { + template <typename _It> + static void + Insert(_Cont& cont, _It first, _It last) + { cont.insert(first, last); } + }; + + template <typename _Cont> + struct InsertRangeHelperAux + { + template <typename _It> + static void + Insert(_Cont& cont, _It first, _It last) + { cont.insert(cont.begin(), first, last); } + }; + + template <typename _Tp1, typename _Tp2> + struct InsertRangeHelper<std::vector<_Tp1, _Tp2> > + : InsertRangeHelperAux<std::vector<_Tp1, _Tp2> > + { }; + + template <typename _Tp1, typename _Tp2> + struct InsertRangeHelper<std::deque<_Tp1, _Tp2> > + : InsertRangeHelperAux<std::deque<_Tp1, _Tp2> > + { }; + + template <typename _Tp1, typename _Tp2> + struct InsertRangeHelper<std::list<_Tp1, _Tp2> > + : InsertRangeHelperAux<std::list<_Tp1, _Tp2> > + { }; + +#ifndef _GLIBCXX_DEBUG + template <typename _Tp1, typename _Tp2> + struct InsertRangeHelper<__gnu_debug::vector<_Tp1, _Tp2> > + : InsertRangeHelperAux<__gnu_debug::vector<_Tp1, _Tp2> > + { }; + + template <typename _Tp1, typename _Tp2> + struct InsertRangeHelper<__gnu_debug::deque<_Tp1, _Tp2> > + : InsertRangeHelperAux<__gnu_debug::deque<_Tp1, _Tp2> > + { }; + + template <typename _Tp1, typename _Tp2> + struct InsertRangeHelper<__gnu_debug::list<_Tp1, _Tp2> > + : InsertRangeHelperAux<__gnu_debug::list<_Tp1, _Tp2> > + { }; +#endif + + template<typename _Tp> + void + check_insert1() + { + bool test __attribute__((unused)) = true; + + typedef _Tp cont_type; + typedef typename cont_type::value_type cont_val_type; + typedef typename CopyableValueType<cont_val_type>::value_type val_type; + typedef std::vector<val_type> vector_type; + + generate_unique<val_type> gu; + + vector_type v; + for (int i = 0; i != 5; ++i) + v.push_back(gu); + VERIFY(v.size() == 5); + + const val_type* first = &v.front() + 1; + const val_type* last = first + 2; + + cont_type c1; + InsertRangeHelper<cont_type>::Insert(c1, first, last); + VERIFY(c1.size() == 2); + + cont_type c2; + InsertRangeHelper<cont_type>::Insert(c2, last, first); // Expected failure + } + + template<typename _Tp> + void + check_insert2() + { + bool test __attribute__((unused)) = true; + + typedef _Tp cont_type; + typedef typename cont_type::value_type cont_val_type; + typedef typename CopyableValueType<cont_val_type>::value_type val_type; + typedef std::vector<val_type> vector_type; + + generate_unique<val_type> gu; + + vector_type v; + for (int i = 0; i != 5; ++i) + v.push_back(gu); + VERIFY(v.size() == 5); + + typename vector_type::iterator first = v.begin() + 1; + typename vector_type::iterator last = first + 2; + + cont_type c1; + InsertRangeHelper<cont_type>::Insert(c1, first, last); + VERIFY(c1.size() == 2); + + cont_type c2; + InsertRangeHelper<cont_type>::Insert(c2, last, first); // Expected failure + } + + template<typename _Tp> + void + check_insert3() + { + bool test __attribute__((unused)) = true; + + typedef _Tp cont_type; + typedef typename cont_type::value_type cont_val_type; + typedef typename CopyableValueType<cont_val_type>::value_type val_type; + typedef std::list<val_type> list_type; + + generate_unique<val_type> gu; + + list_type l; + for (int i = 0; i != 5; ++i) + l.push_back(gu); + VERIFY(l.size() == 5); + + typename list_type::iterator first = l.begin(); ++first; + typename list_type::iterator last = first; ++last; ++last; + + cont_type c1; + InsertRangeHelper<cont_type>::Insert(c1, first, last); + VERIFY(c1.size() == 2); + + cont_type c2; + InsertRangeHelper<cont_type>::Insert(c2, last, first); // Expected failure + } +} + diff --git a/libstdc++-v3/testsuite/util/exception/safety.h b/libstdc++-v3/testsuite/util/exception/safety.h index aef58b621c7..bc965059034 100644 --- a/libstdc++-v3/testsuite/util/exception/safety.h +++ b/libstdc++-v3/testsuite/util/exception/safety.h @@ -52,13 +52,13 @@ namespace __gnu_test __s += "\n"; __s += "random number generated is: "; char buf[40]; - __builtin_sprintf(buf, "%lu", random); + __builtin_sprintf(buf, "%lu", (unsigned long)random); __s += buf; __s += " on range ["; - __builtin_sprintf(buf, "%lu", distribution.min()); + __builtin_sprintf(buf, "%lu", (unsigned long)distribution.min()); __s += buf; __s += ", "; - __builtin_sprintf(buf, "%lu", distribution.max()); + __builtin_sprintf(buf, "%lu", (unsigned long)distribution.max()); __s += buf; __s += "]\n"; std::__throw_out_of_range(__s.c_str()); @@ -1012,7 +1012,6 @@ namespace __gnu_test _M_functions.push_back(function_type(base_type::_M_clear)); // Run tests. - auto i = _M_functions.begin(); for (auto i = _M_functions.begin(); i != _M_functions.end(); ++i) { function_type& f = *i; @@ -1163,7 +1162,6 @@ namespace __gnu_test _M_functions.push_back(function_type(base_type::_M_rehash)); // Run tests. - auto i = _M_functions.begin(); for (auto i = _M_functions.begin(); i != _M_functions.end(); ++i) { function_type& f = *i; diff --git a/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.tcc b/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.tcc index 43cdb9f2b62..0f158664853 100644 --- a/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.tcc +++ b/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.tcc @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2005, 2006, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2005, 2006, 2008, 2009, 2010 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 @@ -45,7 +45,7 @@ container_rand_regression_test(unsigned long seed, size_t n, size_t m, double mp, bool disp) : m_seed((seed == 0) ? twister_rand_gen::get_time_determined_seed() : seed), m_n(n), m_m(m), m_tp(tp), m_ip(ip), m_ep(ep), m_cp(cp), m_mp(mp), - m_disp(disp), m_p_c(NULL) + m_disp(disp), m_p_c(0) { } PB_DS_CLASS_T_DEC @@ -71,7 +71,7 @@ default_constructor() done = false; } - if (m_p_c != NULL) + if (m_p_c) PB_DS_COND_COMPARE(*m_p_c, m_native_c); return done; } @@ -98,7 +98,7 @@ copy_constructor() { PB_DS_TRACE("copy_constructor"); bool done = true; - Cntnr* p_c = NULL; + Cntnr* p_c = 0; m_alloc.set_probability(m_tp); typename alloc_t::group_adjustor adjust(m_p_c->size()); @@ -124,7 +124,7 @@ assignment_operator() { PB_DS_TRACE("assignment operator"); bool done = true; - Cntnr* p_c = NULL; + Cntnr* p_c = 0; m_alloc.set_probability(m_tp); typename alloc_t::group_adjustor adjust(m_p_c->size()); @@ -159,7 +159,7 @@ PB_DS_CLASS_C_DEC:: it_constructor_imp(__gnu_pbds::cc_hash_tag) { bool done = true; - Cntnr* p_c = NULL; + Cntnr* p_c = 0; m_alloc.set_probability(m_tp); typename alloc_t::group_adjustor adjust(m_p_c->size()); @@ -226,7 +226,7 @@ PB_DS_CLASS_C_DEC:: it_constructor_imp(__gnu_pbds::gp_hash_tag) { bool done = true; - Cntnr* p_c = NULL; + Cntnr* p_c = 0; m_alloc.set_probability(m_tp); typename alloc_t::group_adjustor adjust(m_p_c->size()); @@ -309,7 +309,7 @@ PB_DS_CLASS_C_DEC:: it_constructor_imp(__gnu_pbds::tree_tag) { bool done = true; - Cntnr* p_c = NULL; + Cntnr* p_c = 0; m_alloc.set_probability(m_tp); typename alloc_t::group_adjustor adjust(m_p_c->size()); @@ -345,7 +345,7 @@ PB_DS_CLASS_C_DEC:: it_constructor_imp(__gnu_pbds::list_update_tag) { bool done = true; - Cntnr* p_c = NULL; + Cntnr* p_c = 0; m_alloc.set_probability(m_tp); typename alloc_t::group_adjustor adjust(m_p_c->size()); @@ -370,7 +370,7 @@ PB_DS_CLASS_C_DEC:: it_constructor_imp(__gnu_pbds::pat_trie_tag) { bool done = true; - Cntnr* p_c = NULL; + Cntnr* p_c = 0; m_alloc.set_probability(m_tp); typename alloc_t::group_adjustor adjust(m_p_c->size()); @@ -869,7 +869,7 @@ PB_DS_CLASS_C_DEC:: operator()() { typedef xml_result_set_regression_formatter formatter_type; - formatter_type* p_fmt = NULL; + formatter_type* p_fmt = 0; if (m_disp) p_fmt = new formatter_type(string_form<Cntnr>::name(), @@ -1591,30 +1591,30 @@ policy_access(__gnu_pbds::basic_hash_tag) { { typename Cntnr::hash_fn& r_t = m_p_c->get_hash_fn(); - assert(&r_t != NULL); + assert(&r_t); } { const typename Cntnr::hash_fn& r_t =((const Cntnr& )*m_p_c).get_hash_fn(); - assert(&r_t != NULL); + assert(&r_t); } { typename Cntnr::eq_fn& r_t = m_p_c->get_eq_fn(); - assert(&r_t != NULL); + assert(&r_t); } { const typename Cntnr::eq_fn& r_t =((const Cntnr& )*m_p_c).get_eq_fn(); - assert(&r_t != NULL); + assert(&r_t); } { typename Cntnr::resize_policy& r_t = m_p_c->get_resize_policy(); - assert(&r_t != NULL); + assert(&r_t); } { const typename Cntnr::resize_policy& r_t =((const Cntnr& )*m_p_c).get_resize_policy(); - assert(&r_t != NULL); + assert(&r_t); } } @@ -1627,12 +1627,12 @@ policy_access(__gnu_pbds::cc_hash_tag) { typename Cntnr::comb_hash_fn& r_t = m_p_c->get_comb_hash_fn(); - assert(&r_t != NULL); + assert(&r_t); } { const typename Cntnr::comb_hash_fn& r_t =((const Cntnr& )*m_p_c).get_comb_hash_fn(); - assert(&r_t != NULL); + assert(&r_t); } } @@ -1645,21 +1645,21 @@ policy_access(__gnu_pbds::gp_hash_tag) { typename Cntnr::comb_probe_fn& r_t = m_p_c->get_comb_probe_fn(); - assert(&r_t != NULL); + assert(&r_t); } { const typename Cntnr::comb_probe_fn& r_t =((const Cntnr& )*m_p_c).get_comb_probe_fn(); - assert(&r_t != NULL); + assert(&r_t); } { typename Cntnr::probe_fn& r_t = m_p_c->get_probe_fn(); - assert(&r_t != NULL); + assert(&r_t); } { const typename Cntnr::probe_fn& r_t =((const Cntnr& )*m_p_c).get_probe_fn(); - assert(&r_t != NULL); + assert(&r_t); } } @@ -1670,12 +1670,12 @@ policy_access(__gnu_pbds::tree_tag) { { typename Cntnr::cmp_fn& r_t = m_p_c->get_cmp_fn(); - assert(&r_t != NULL); + assert(&r_t); } { const typename Cntnr::cmp_fn& r_t =((const Cntnr& )*m_p_c).get_cmp_fn(); - assert(&r_t != NULL); + assert(&r_t); } } @@ -1691,7 +1691,7 @@ PB_DS_CLASS_C_DEC:: policy_access(__gnu_pbds::pat_trie_tag) { typename Cntnr::e_access_traits& r_t = m_p_c->get_e_access_traits(); - assert(&r_t != NULL); + assert(&r_t); } diff --git a/libstdc++-v3/testsuite/util/regression/rand/assoc/rand_regression_test.hpp b/libstdc++-v3/testsuite/util/regression/rand/assoc/rand_regression_test.hpp index d4b395b126a..5f230495236 100644 --- a/libstdc++-v3/testsuite/util/regression/rand/assoc/rand_regression_test.hpp +++ b/libstdc++-v3/testsuite/util/regression/rand/assoc/rand_regression_test.hpp @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. +// Copyright (C) 2005, 2006, 2009, 2010 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 @@ -124,7 +124,7 @@ namespace detail }; // XXX RAII, constructor takes bool for display - xml_test_rand_regression_formatter* p_fmt = NULL; + xml_test_rand_regression_formatter* p_fmt = 0; if (disp) p_fmt = new xml_test_rand_regression_formatter(sd, n, m, tp, ip, ep, cp, mp); diff --git a/libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.tcc b/libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.tcc index f964911facb..e929f3533fe 100644 --- a/libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.tcc +++ b/libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.tcc @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2005, 2006, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2005, 2006, 2008, 2009, 2010 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 @@ -45,7 +45,7 @@ container_rand_regression_test(unsigned long seed, size_t n, size_t m, double cp, double mp, bool disp) : m_seed(seed == 0 ? twister_rand_gen::get_time_determined_seed(): seed), m_n(n), m_m(m), m_tp(tp), m_ip(ip), m_dp(dp), m_ep(ep), m_cp(cp), - m_mp(mp), m_disp(disp), m_p_c(NULL) + m_mp(mp), m_disp(disp), m_p_c(0) { } PB_DS_CLASS_T_DEC @@ -71,7 +71,7 @@ default_constructor() done = false; } - if (m_p_c != NULL) + if (m_p_c) PB_DS_COND_COMPARE(*m_p_c, m_native_c); return done; @@ -99,7 +99,7 @@ copy_constructor() { PB_DS_TRACE("copy_constructor"); bool done = true; - Cntnr* p_c = NULL; + Cntnr* p_c = 0; m_alloc.set_probability(m_tp); typedef typename allocator_type::group_adjustor adjustor; @@ -127,7 +127,7 @@ assignment_operator() { PB_DS_TRACE("assignment operator"); bool done = true; - Cntnr* p_c = NULL; + Cntnr* p_c = 0; m_alloc.set_probability(m_tp); typedef typename allocator_type::group_adjustor adjustor; @@ -155,7 +155,7 @@ PB_DS_CLASS_C_DEC:: it_constructor() { bool done = true; - Cntnr* p_c = NULL; + Cntnr* p_c = 0; m_alloc.set_probability(m_tp); typedef typename allocator_type::group_adjustor adjustor; adjustor adjust(m_p_c->size()); @@ -242,7 +242,7 @@ PB_DS_CLASS_C_DEC:: operator()() { typedef xml_result_set_regression_formatter formatter_type; - formatter_type* p_fmt = NULL; + formatter_type* p_fmt = 0; if (m_disp) p_fmt = new formatter_type(string_form<Cntnr>::name(), string_form<Cntnr>::desc()); @@ -668,12 +668,12 @@ policy_access() { typename Cntnr::cmp_fn& r_t = m_p_c->get_cmp_fn(); - assert(&r_t != NULL); + assert(&r_t); } { const typename Cntnr::cmp_fn& r_t =((const Cntnr& )*m_p_c).get_cmp_fn(); - assert(&r_t != NULL); + assert(&r_t); } } diff --git a/libstdc++-v3/testsuite/util/regression/rand/priority_queue/rand_regression_test.hpp b/libstdc++-v3/testsuite/util/regression/rand/priority_queue/rand_regression_test.hpp index 1cf86020d45..37f8d51af74 100644 --- a/libstdc++-v3/testsuite/util/regression/rand/priority_queue/rand_regression_test.hpp +++ b/libstdc++-v3/testsuite/util/regression/rand/priority_queue/rand_regression_test.hpp @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2005, 2006, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2005, 2006, 2008, 2009, 2010 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 @@ -123,7 +123,7 @@ namespace detail return -2; }; - xml_test_rand_regression_formatter* p_fmt = NULL; + xml_test_rand_regression_formatter* p_fmt = 0; if (sd == 0) sd = twister_rand_gen::get_time_determined_seed(); if (disp) diff --git a/libstdc++-v3/testsuite/util/replacement_memory_operators.h b/libstdc++-v3/testsuite/util/replacement_memory_operators.h index c7b19edc457..b7d3a3b10e9 100644 --- a/libstdc++-v3/testsuite/util/replacement_memory_operators.h +++ b/libstdc++-v3/testsuite/util/replacement_memory_operators.h @@ -1,5 +1,5 @@ // -// Copyright (C) 2007, 2009 Free Software Foundation, Inc. +// Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -90,7 +90,7 @@ void* operator new(std::size_t size) throw(std::bad_alloc) { std::printf("operator new is called \n"); void* p = std::malloc(size); - if (p == NULL) + if (!p) throw std::bad_alloc(); __gnu_test::counter::increment(); return p; @@ -99,7 +99,7 @@ void* operator new(std::size_t size) throw(std::bad_alloc) void operator delete(void* p) throw() { std::printf("operator delete is called \n"); - if (p != NULL) + if (p) { std::free(p); __gnu_test::counter::decrement(); @@ -108,6 +108,6 @@ void operator delete(void* p) throw() if (count == 0) std::printf("All memory released \n"); else - std::printf("%lu allocations to be released \n", count); + std::printf("%lu allocations to be released \n", (unsigned long)count); } } diff --git a/libstdc++-v3/testsuite/util/testsuite_abi.cc b/libstdc++-v3/testsuite/util/testsuite_abi.cc index 2c9f93055fa..d3c73f662b0 100644 --- a/libstdc++-v3/testsuite/util/testsuite_abi.cc +++ b/libstdc++-v3/testsuite/util/testsuite_abi.cc @@ -1,6 +1,7 @@ // -*- C++ -*- -// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 +// Free Software Foundation, Inc. // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License as @@ -186,6 +187,7 @@ check_version(symbol& test, bool added) known_versions.push_back("GLIBCXX_3.4.12"); known_versions.push_back("GLIBCXX_3.4.13"); known_versions.push_back("GLIBCXX_3.4.14"); + known_versions.push_back("GLIBCXX_3.4.15"); known_versions.push_back("GLIBCXX_LDBL_3.4"); known_versions.push_back("GLIBCXX_LDBL_3.4.7"); known_versions.push_back("GLIBCXX_LDBL_3.4.10"); @@ -194,6 +196,7 @@ check_version(symbol& test, bool added) known_versions.push_back("CXXABI_1.3.2"); known_versions.push_back("CXXABI_1.3.3"); known_versions.push_back("CXXABI_1.3.4"); + known_versions.push_back("CXXABI_1.3.5"); known_versions.push_back("CXXABI_LDBL_1.3"); } compat_list::iterator begin = known_versions.begin(); diff --git a/libstdc++-v3/testsuite/util/testsuite_abi.h b/libstdc++-v3/testsuite/util/testsuite_abi.h index ff413fdccf3..c9fe0a4d11c 100644 --- a/libstdc++-v3/testsuite/util/testsuite_abi.h +++ b/libstdc++-v3/testsuite/util/testsuite_abi.h @@ -1,6 +1,7 @@ // -*- C++ -*- -// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 +// Free Software Foundation, Inc. // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License as @@ -16,7 +17,6 @@ // along with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. - // Benjamin Kosnik <bkoz@redhat.com> #include <string> diff --git a/libstdc++-v3/testsuite/util/testsuite_allocator.h b/libstdc++-v3/testsuite/util/testsuite_allocator.h index 96fe546b482..cb481b2a7f9 100644 --- a/libstdc++-v3/testsuite/util/testsuite_allocator.h +++ b/libstdc++-v3/testsuite/util/testsuite_allocator.h @@ -1,7 +1,7 @@ // -*- C++ -*- // Testing allocator for the C++ library testsuite. // -// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -27,7 +27,6 @@ #ifndef _GLIBCXX_TESTSUITE_ALLOCATOR_H #define _GLIBCXX_TESTSUITE_ALLOCATOR_H -#include <cstddef> #include <tr1/unordered_map> #include <cassert> #include <bits/move.h> @@ -186,8 +185,8 @@ namespace __gnu_test { // Let's not core here... Alloc a; - a.deallocate(NULL, 1); - a.deallocate(NULL, 10); + a.deallocate(0, 1); + a.deallocate(0, 10); return true; } @@ -241,8 +240,8 @@ namespace __gnu_test : private uneq_allocator_base { public: - typedef size_t size_type; - typedef ptrdiff_t difference_type; + typedef std::size_t size_type; + typedef std::ptrdiff_t difference_type; typedef Tp* pointer; typedef const Tp* const_pointer; typedef Tp& reference; diff --git a/libstdc++-v3/testsuite/util/testsuite_api.h b/libstdc++-v3/testsuite/util/testsuite_api.h index 4dc4a6fb7bb..11007904093 100644 --- a/libstdc++-v3/testsuite/util/testsuite_api.h +++ b/libstdc++-v3/testsuite/util/testsuite_api.h @@ -1,7 +1,7 @@ // -*- C++ -*- // Exception testing utils for the C++ library testsuite. // -// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008, 2009, 2010 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 @@ -19,7 +19,6 @@ // <http://www.gnu.org/licenses/>. // -#include <cstddef> #include <exception> #include <testsuite_hooks.h> @@ -107,7 +106,7 @@ namespace __gnu_test // For 23 unordered_* requirements. struct NonDefaultConstructible_hash { - size_t + std::size_t operator()(NonDefaultConstructible) const { return 1; } }; @@ -150,6 +149,49 @@ namespace __gnu_test operator()() const { return result_type(2); } }; + + // For std::addressof, etc. + struct OverloadedAddressAux { }; + + struct OverloadedAddress + { + OverloadedAddressAux + operator&() const { return OverloadedAddressAux(); } + }; + + inline bool + operator<(const OverloadedAddress&, const OverloadedAddress&) + { return false; } + + inline bool + operator==(const OverloadedAddress&, const OverloadedAddress&) + { return false; } + + struct OverloadedAddress_hash + { + std::size_t + operator()(const OverloadedAddress&) const + { return 1; } + }; + +#ifdef __GXX_EXPERIMENTAL_CXX0X__ + struct NonCopyConstructible + { + NonCopyConstructible() : num(-1) { } + + NonCopyConstructible(NonCopyConstructible&& other) + : num(other.num) + { other.num = 0; } + + NonCopyConstructible(const NonCopyConstructible&) = delete; + + operator int() { return num; } + + private: + int num; + }; +#endif + } #endif diff --git a/libstdc++-v3/testsuite/util/testsuite_common_types.h b/libstdc++-v3/testsuite/util/testsuite_common_types.h index fd60b79c897..1db0ca08c79 100644 --- a/libstdc++-v3/testsuite/util/testsuite_common_types.h +++ b/libstdc++-v3/testsuite/util/testsuite_common_types.h @@ -1,7 +1,8 @@ // -*- C++ -*- // typelist for the C++ library testsuite. // -// Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 +// 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 @@ -622,7 +623,7 @@ namespace __gnu_test struct _Concept { void __constraint() - { _Ttype __v = {__a}; } + { _Ttype __v __attribute__((unused)) = {__a}; } _Tvalue __a; }; diff --git a/libstdc++-v3/testsuite/util/testsuite_error.h b/libstdc++-v3/testsuite/util/testsuite_error.h index c9f5e47f24d..c2bfed737da 100644 --- a/libstdc++-v3/testsuite/util/testsuite_error.h +++ b/libstdc++-v3/testsuite/util/testsuite_error.h @@ -1,7 +1,7 @@ // -*- C++ -*- // Error handling utils for the C++ library testsuite. // -// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008, 2009, 2010 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 @@ -29,6 +29,8 @@ namespace __gnu_test { struct test_category : public std::error_category { + test_category() {} + virtual const char* name() const { @@ -43,6 +45,8 @@ namespace __gnu_test struct test_derived_category : public test_category { + test_derived_category() {} + virtual const char* name() const { diff --git a/libstdc++-v3/testsuite/util/testsuite_hooks.cc b/libstdc++-v3/testsuite/util/testsuite_hooks.cc index 6d77d57672f..1ead3485175 100644 --- a/libstdc++-v3/testsuite/util/testsuite_hooks.cc +++ b/libstdc++-v3/testsuite/util/testsuite_hooks.cc @@ -2,7 +2,7 @@ // Utility subroutines for the C++ library testsuite. // -// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -32,7 +32,6 @@ #include <list> #include <string> #include <stdexcept> -#include <cstddef> #include <clocale> #include <cstdlib> #include <locale> @@ -170,13 +169,13 @@ namespace __gnu_test locale orig = locale::global(loc_name); const char* res = setlocale(LC_ALL, name); - if (res != NULL) + if (res) { string preLC_ALL = res; const func_callback::test_type* tests = l.tests(); for (int i = 0; i < l.size(); ++i) (*tests[i])(); - string postLC_ALL= setlocale(LC_ALL, NULL); + string postLC_ALL= setlocale(LC_ALL, 0); VERIFY( preLC_ALL == postLC_ALL ); } else diff --git a/libstdc++-v3/testsuite/util/testsuite_hooks.h b/libstdc++-v3/testsuite/util/testsuite_hooks.h index da51d37ae62..fe41b1cb3e6 100644 --- a/libstdc++-v3/testsuite/util/testsuite_hooks.h +++ b/libstdc++-v3/testsuite/util/testsuite_hooks.h @@ -1,7 +1,8 @@ // -*- C++ -*- // Utility subroutines for the C++ library testsuite. // -// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, +// 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -59,7 +60,7 @@ # include <cassert> # define VERIFY(fn) assert(fn) #else -# define VERIFY(fn) test &= (fn) +# define VERIFY(fn) test &= bool(fn) #endif #ifdef _GLIBCXX_HAVE_UNISTD_H diff --git a/libstdc++-v3/testsuite/util/testsuite_io.h b/libstdc++-v3/testsuite/util/testsuite_io.h index 50b1955ca11..681448aa51f 100644 --- a/libstdc++-v3/testsuite/util/testsuite_io.h +++ b/libstdc++-v3/testsuite/util/testsuite_io.h @@ -1,7 +1,7 @@ // -*- C++ -*- // Testing streambuf/filebuf/stringbuf for the C++ library testsuite. // -// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -47,7 +47,7 @@ namespace __gnu_test bool write_position() { - bool one = this->pptr() != NULL; + bool one = this->pptr() != 0; bool two = this->pptr() < this->epptr(); return one && two; } @@ -55,7 +55,7 @@ namespace __gnu_test bool read_position() { - bool one = this->gptr() != NULL; + bool one = this->gptr() != 0; bool two = this->gptr() < this->egptr(); return one && two; } @@ -63,21 +63,21 @@ namespace __gnu_test bool unbuffered() { - bool one = this->pbase() == NULL; - bool two = this->pptr() == NULL; + bool one = this->pbase() == 0; + bool two = this->pptr() == 0; return one && two; } bool check_pointers() { - bool one = this->eback() == NULL; - bool two = this->gptr() == NULL; - bool three = this->egptr() == NULL; + bool one = this->eback() == 0; + bool two = this->gptr() == 0; + bool three = this->egptr() == 0; - bool four = this->pbase() == NULL; - bool five = this->pptr() == NULL; - bool six = this->epptr() == NULL; + bool four = this->pbase() == 0; + bool five = this->pptr() == 0; + bool six = this->epptr() == 0; return one && two && three && four && five && six; } }; @@ -276,37 +276,37 @@ namespace __gnu_test protected: iter_type do_put(iter_type, ios_base&, char_type, bool) const - { throw facet_error(); return iter_type(NULL); } + { throw facet_error(); return iter_type(0); } virtual iter_type do_put(iter_type, ios_base&, char_type, long) const - { throw facet_error(); return iter_type(NULL); } + { throw facet_error(); return iter_type(0); } virtual iter_type do_put(iter_type, ios_base&, char_type, unsigned long) const - { throw facet_error(); return iter_type(NULL); } + { throw facet_error(); return iter_type(0); } #ifdef _GLIBCXX_USE_LONG_LONG virtual iter_type do_put(iter_type, ios_base&, char_type, long long) const - { throw facet_error(); return iter_type(NULL); } + { throw facet_error(); return iter_type(0); } virtual iter_type do_put(iter_type, ios_base&, char_type, unsigned long long) const - { throw facet_error(); return iter_type(NULL); } + { throw facet_error(); return iter_type(0); } #endif virtual iter_type do_put(iter_type, ios_base&, char_type, double) const - { throw facet_error(); return iter_type(NULL); } + { throw facet_error(); return iter_type(0); } virtual iter_type do_put(iter_type, ios_base&, char_type, long double) const - { throw facet_error(); return iter_type(NULL); } + { throw facet_error(); return iter_type(0); } virtual iter_type do_put(iter_type, ios_base&, char_type, const void*) const - { throw facet_error(); return iter_type(NULL); } + { throw facet_error(); return iter_type(0); } }; typedef fail_num_put<char> fail_num_put_char; diff --git a/libstdc++-v3/testsuite/util/testsuite_iterators.h b/libstdc++-v3/testsuite/util/testsuite_iterators.h index 14a725fcbec..e7a068d208d 100644 --- a/libstdc++-v3/testsuite/util/testsuite_iterators.h +++ b/libstdc++-v3/testsuite/util/testsuite_iterators.h @@ -1,7 +1,7 @@ // -*- C++ -*- // Iterator Wrappers for the C++ library testsuite. // -// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 +// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -118,7 +118,7 @@ namespace __gnu_test */ template<class T> struct output_iterator_wrapper - : public std::iterator<std::output_iterator_tag, T, ptrdiff_t, T*, T&> + : public std::iterator<std::output_iterator_tag, T, std::ptrdiff_t, T*, T&> { typedef OutputContainer<T> ContainerType; T* ptr; @@ -179,7 +179,7 @@ namespace __gnu_test */ template<class T> class input_iterator_wrapper - : public std::iterator<std::input_iterator_tag, T, ptrdiff_t, T*, T&> + : public std::iterator<std::input_iterator_tag, T, std::ptrdiff_t, T*, T&> { protected: input_iterator_wrapper() @@ -201,7 +201,7 @@ namespace __gnu_test bool operator==(const input_iterator_wrapper& in) const { - ITERATOR_VERIFY(SharedInfo != NULL && SharedInfo == in.SharedInfo); + ITERATOR_VERIFY(SharedInfo && SharedInfo == in.SharedInfo); ITERATOR_VERIFY(ptr>=SharedInfo->first && in.ptr>=SharedInfo->first); return ptr == in.ptr; } @@ -274,8 +274,8 @@ namespace __gnu_test forward_iterator_wrapper() { - this->ptr = NULL; - this->SharedInfo = NULL; + this->ptr = 0; + this->SharedInfo = 0; } T& @@ -435,7 +435,7 @@ namespace __gnu_test } random_access_iterator_wrapper& - operator+=(ptrdiff_t n) + operator+=(std::ptrdiff_t n) { if(n > 0) { @@ -451,17 +451,17 @@ namespace __gnu_test } random_access_iterator_wrapper& - operator-=(ptrdiff_t n) + operator-=(std::ptrdiff_t n) { return *this += -n; } random_access_iterator_wrapper - operator-(ptrdiff_t n) const + operator-(std::ptrdiff_t n) const { random_access_iterator_wrapper<T> tmp = *this; return tmp -= n; } - ptrdiff_t + std::ptrdiff_t operator-(const random_access_iterator_wrapper<T>& in) const { ITERATOR_VERIFY(this->SharedInfo == in.SharedInfo); @@ -469,7 +469,7 @@ namespace __gnu_test } T& - operator[](ptrdiff_t n) const + operator[](std::ptrdiff_t n) const { return *(*this + n); } bool @@ -500,12 +500,12 @@ namespace __gnu_test template<typename T> random_access_iterator_wrapper<T> - operator+(random_access_iterator_wrapper<T> it, ptrdiff_t n) + operator+(random_access_iterator_wrapper<T> it, std::ptrdiff_t n) { return it += n; } template<typename T> random_access_iterator_wrapper<T> - operator+(ptrdiff_t n, random_access_iterator_wrapper<T> it) + operator+(std::ptrdiff_t n, random_access_iterator_wrapper<T> it) { return it += n; } diff --git a/libstdc++-v3/testsuite/util/testsuite_performance.h b/libstdc++-v3/testsuite/util/testsuite_performance.h index 54cf8856701..61efd042db2 100644 --- a/libstdc++-v3/testsuite/util/testsuite_performance.h +++ b/libstdc++-v3/testsuite/util/testsuite_performance.h @@ -1,7 +1,7 @@ // -*- C++ -*- // Testing performance utilities for the C++ library testsuite. // -// Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009 +// Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -50,7 +50,7 @@ extern "C" struct mallinfo mallinfo(void) { - struct mallinfo m = { (((size_t) sbrk (0) + 1023) / 1024), 0 }; + struct mallinfo m = { (((std::size_t) sbrk (0) + 1023) / 1024), 0 }; return m; } } @@ -114,15 +114,15 @@ namespace __gnu_test std::__throw_runtime_error("time_counter::stop"); } - size_t + std::size_t real_time() const { return elapsed_end - elapsed_begin; } - size_t + std::size_t user_time() const { return tms_end.tms_utime - tms_begin.tms_utime; } - size_t + std::size_t system_time() const { return tms_end.tms_stime - tms_begin.tms_stime; } }; @@ -383,7 +383,7 @@ template<typename Container, int Iter> template<typename Container, int Iter> void* - do_thread(void* p = NULL) + do_thread(void* p = 0) { do_loop<Container, Iter>(); return p; @@ -412,10 +412,10 @@ template<typename Container, int Iter, bool Thread> pthread_create(&t3, 0, &do_thread<Container, Iter>, 0); pthread_create(&t4, 0, &do_thread<Container, Iter>, 0); - pthread_join(t1, NULL); - pthread_join(t2, NULL); - pthread_join(t3, NULL); - pthread_join(t4, NULL); + pthread_join(t1, 0); + pthread_join(t2, 0); + pthread_join(t3, 0); + pthread_join(t4, 0); #endif } stop_counters(time, resource); diff --git a/libstdc++-v3/testsuite/util/testsuite_tr1.h b/libstdc++-v3/testsuite/util/testsuite_tr1.h index 4f3e574ccc2..5aac18292bb 100644 --- a/libstdc++-v3/testsuite/util/testsuite_tr1.h +++ b/libstdc++-v3/testsuite/util/testsuite_tr1.h @@ -1,7 +1,8 @@ // -*- C++ -*- // Testing utilities for the tr1 testsuite. // -// Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc. +// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010 +// 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 @@ -127,8 +128,39 @@ namespace __gnu_test { ExplicitClass(double&); explicit ExplicitClass(int&); + ExplicitClass(double&, int&, double&); }; + struct NothrowExplicitClass + { + NothrowExplicitClass(double&) throw(); + explicit NothrowExplicitClass(int&) throw(); + NothrowExplicitClass(double&, int&, double&) throw(); + }; + + struct ThrowExplicitClass + { + ThrowExplicitClass(double&) throw(int); + explicit ThrowExplicitClass(int&) throw(int); + ThrowExplicitClass(double&, int&, double&) throw(int); + }; + +#ifdef __GXX_EXPERIMENTAL_CXX0X__ + struct NoexceptExplicitClass + { + NoexceptExplicitClass(double&) noexcept(true); + explicit NoexceptExplicitClass(int&) noexcept(true); + NoexceptExplicitClass(double&, int&, double&) noexcept(true); + }; + + struct ExceptExplicitClass + { + ExceptExplicitClass(double&) noexcept(false); + explicit ExceptExplicitClass(int&) noexcept(false); + ExceptExplicitClass(double&, int&, double&) noexcept(false); + }; +#endif + struct NType // neither trivial nor standard-layout { int i; |