summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/testsuite')
-rw-r--r--libstdc++-v3/testsuite/18_support/bad_exception/23591_thread-1.c16
-rw-r--r--libstdc++-v3/testsuite/18_support/exception/38732.cc9
-rw-r--r--libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc38
-rw-r--r--libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc60
-rw-r--r--libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc30
-rw-r--r--libstdc++-v3/testsuite/18_support/new_delete_placement.cc4
-rw-r--r--libstdc++-v3/testsuite/18_support/pthread_guard.cc8
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc8
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/logic_error/what-3.cc5
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-3.cc5
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc8
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/system_error/what-1.cc9
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/system_error/what-2.cc5
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/system_error/what-3.cc10
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/system_error/what-4.cc3
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/system_error/what-big.cc5
-rw-r--r--libstdc++-v3/testsuite/20_util/addressof/1.cc51
-rw-r--r--libstdc++-v3/testsuite/20_util/addressof/requirements/explicit_instantiation.cc (renamed from libstdc++-v3/testsuite/20_util/identity/requirements/explicit_instantiation.cc)9
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/clocks/1.cc3
-rw-r--r--libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc8
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc7
-rw-r--r--libstdc++-v3/testsuite/20_util/has_nothrow_copy_assign/requirements/explicit_instantiation.cc30
-rw-r--r--libstdc++-v3/testsuite/20_util/has_nothrow_copy_assign/requirements/typedefs.cc36
-rw-r--r--libstdc++-v3/testsuite/20_util/has_nothrow_copy_assign/value.cc57
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/explicit_instantiation.cc30
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc36
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/value.cc57
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/identity/value.cc47
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_constructible/requirements/explicit_instantiation.cc31
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_constructible/requirements/typedefs.cc36
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_constructible/value.cc78
-rw-r--r--libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc9
-rw-r--r--libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc9
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/44487.cc51
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/piecewise.cc98
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/comparisons/comp1.cc9
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/comparisons/comp2.cc9
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc13
-rw-r--r--libstdc++-v3/testsuite/20_util/reference_wrapper/41792.cc34
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/comparison/42925.cc37
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820.cc40
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc14
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/nullptr.cc93
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/hash/1.cc48
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/44487.cc51
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/45228.cc43
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/big_tuples.cc3
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/constructor.cc3
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/converting.cc37
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc72
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/assign/assign_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/assign/nullptr.cc54
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/comparison/42925.cc37
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr.cc46
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc36
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/nullptr.cc52
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array_convertible.cc3
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/hash/1.cc48
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/reset_neg.cc5
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/requirements/pointer_type.cc50
-rw-r--r--libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc9
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/char/5.cc4
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/5.cc4
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/21674.cc3
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/front_back.cc43
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc3
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/front_back.cc43
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/char/1.cc4
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/wchar_t/1.cc4
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/pthread4.cc10
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/range_access.cc37
-rw-r--r--libstdc++-v3/testsuite/21_strings/c_strings/char/1.cc5
-rw-r--r--libstdc++-v3/testsuite/21_strings/c_strings/char/2.cc6
-rw-r--r--libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/1.cc5
-rw-r--r--libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/2.cc5
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/7.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/8.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/9.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/7.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/7.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc6
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/char/1.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/char/2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_env.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_locale.cc5
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/1.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc5
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/hash/char/2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc5
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/char/2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_env.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_locale.cc5
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc5
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate_byname/named_equivalence.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/char/1.cc7
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_locale.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/1.cc7
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype_base/mask.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/facet/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc9
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc9
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/2.cc11
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/29217.cc6
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/38365.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/38368.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/40184.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/5.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/7.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/14071.cc7
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc9
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages/members/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages/members/char/3.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_env.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_locale.cc5
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages_byname/named_equivalence.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/10.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/11.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/11528.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/12.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/13.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/15.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/16.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/17.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/18.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_env.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/10.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11528.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/12.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/13.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/15.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/16.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/17.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/18.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/char/1.cc17
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/char/12971.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/char/2.cc15
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/char/3.cc13
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/char/9780-3.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_env.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/1.cc17
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/12971.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/2.cc15
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/3.cc13
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/40712.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/members/char/1.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/members/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/1.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct_byname/named_equivalence.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/1.cc6
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/9.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_env.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/1.cc6
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/9.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/1.cc7
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/14220.cc10
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/20909.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/20914.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_env.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc5
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc6
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/14220.cc8
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20909.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20914.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/char/2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_env.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_locale.cc5
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc5
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct_byname/named_equivalence.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/5.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_env.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/5.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/5.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/char/5.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_env.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/5.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/5.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/char/5.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/5.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc12
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_1.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_3.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc6
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc14
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc14
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc15
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc11
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc13
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc13
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc13
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc3
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_env.cc5
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc5
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc15
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc6
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc17
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc18
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc19
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc14
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc15
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc15
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc16
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc5
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc6
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/range_access.cc31
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/3.cc30
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/debug/invalidation/1.cc (renamed from libstdc++-v3/testsuite/23_containers/bitset/invalidation/1.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/capacity/moveable.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/capacity/resize_size.cc43
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/cons/cons_size.cc40
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/assign1_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/assign2_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/assign3_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/assign4_neg.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/construct1_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/construct2_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/construct3_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/construct4_neg.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/insert1_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/insert2_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/insert3_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/insert4_neg.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/1.cc (renamed from libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/2.cc (renamed from libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/3.cc (renamed from libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/4.cc (renamed from libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/range_access.cc31
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/4.cc30
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/capacity/resize_size.cc (renamed from libstdc++-v3/testsuite/23_containers/forward_list/cons/10.cc)19
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/cons_size.cc (renamed from libstdc++-v3/testsuite/23_containers/forward_list/modifiers/6.cc)19
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/operations/remove_freed.cc94
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc31
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/4.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/23781.cc3
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/capacity/resize_size.cc43
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/cons_size.cc40
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/assign1_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/assign2_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/assign3_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/assign4_neg.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/construct1_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/construct2_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/construct3_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/construct4_neg.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/insert1_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/insert2_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/insert3_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/insert4_neg.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/invalidation/1.cc (renamed from libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/invalidation/2.cc (renamed from libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/invalidation/3.cc (renamed from libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/invalidation/4.cc (renamed from libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/pthread1.cc16
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/pthread5.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/range_access.cc31
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/4.cc29
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/23781.cc3
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/construct1_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/construct2_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/construct3_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/construct4_neg.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/insert1_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/insert2_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/insert3_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/insert4_neg.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/invalidation/1.cc (renamed from libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/invalidation/2.cc (renamed from libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/dr130.cc6
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/pthread6.cc6
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/range_access.cc31
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/4.cc30
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/23781.cc3
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/construct1_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/construct2_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/construct3_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/construct4_neg.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/insert1_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/insert2_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/insert3_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/insert4_neg.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/1.cc (renamed from libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/2.cc (renamed from libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/range_access.cc31
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/4.cc30
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/23781.cc3
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/construct1_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/construct2_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/construct3_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/construct4_neg.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/insert1_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/insert2_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/insert3_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/insert4_neg.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/1.cc (renamed from libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/2.cc (renamed from libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/range_access.cc31
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/4.cc29
-rw-r--r--libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/23781.cc3
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/construct1_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/construct2_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/construct3_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/construct4_neg.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/insert1_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/insert2_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/insert3_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/insert4_neg.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/invalidation/1.cc (renamed from libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/invalidation/2.cc (renamed from libstdc++-v3/testsuite/23_containers/set/invalidation/2.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/dr130.cc6
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/range_access.cc31
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/4.cc29
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct1_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct2_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct3_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct4_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert1_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert2_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert3_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert4_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/hash_policy/dr1189.cc (renamed from libstdc++-v3/testsuite/23_containers/unordered_map/dr1189.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc31
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/4.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct4_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert4_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/hash_policy/dr1189.cc (renamed from libstdc++-v3/testsuite/23_containers/unordered_multimap/dr1189.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc31
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/4.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct4_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert4_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/hash_policy/dr1189.cc (renamed from libstdc++-v3/testsuite/23_containers/unordered_multiset/dr1189.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc31
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/4.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct1_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct2_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct3_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct4_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert1_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert2_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert3_neg.cc34
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert4_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/26132.cc57
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/dr1189.cc (renamed from libstdc++-v3/testsuite/23_containers/unordered_set/dr1189.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc31
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/4.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc10
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc10
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/44190.cc38
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/resize/1.cc (renamed from libstdc++-v3/testsuite/23_containers/vector/resize/1.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/resize/moveable.cc56
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/resize/resize_size.cc43
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/cons/cons_size.cc40
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/assign1_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/assign2_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/assign3_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/assign4_neg.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/construct1_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/construct2_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/construct3_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/construct4_neg.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/insert1_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/insert2_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/insert3_neg.cc33
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/insert4_neg.cc32
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/1.cc (renamed from libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/2.cc (renamed from libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/3.cc (renamed from libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/4.cc (renamed from libstdc++-v3/testsuite/23_containers/vector/invalidation/4.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/range_access.cc35
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/4.cc29
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/resize/moveable.cc75
-rw-r--r--libstdc++-v3/testsuite/24_iterators/back_insert_iterator/2.cc4
-rw-r--r--libstdc++-v3/testsuite/24_iterators/front_insert_iterator/2.cc3
-rw-r--r--libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access.cc33
-rw-r--r--libstdc++-v3/testsuite/24_iterators/insert_iterator/2.cc4
-rw-r--r--libstdc++-v3/testsuite/24_iterators/operations/40497.cc41
-rw-r--r--libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/2.cc4
-rw-r--r--libstdc++-v3/testsuite/24_iterators/range_access.cc31
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/fill_n/25306.cc30
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/generate_n/25306.cc30
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/minmax/3.cc5
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/2.cc3
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/complex_value.cc16
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++0x.cc92
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc4
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/overloads.cc3
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/copy.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/copy.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/copy.cc3
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constants.cc3
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/copy.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constants.cc3
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/copy.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constants.cc3
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/copy.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constants.cc3
-rw-r--r--libstdc++-v3/testsuite/26_numerics/slice_array/array_assignment.cc6
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc31
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/1.cc10
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-3.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/9964.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13007.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc3
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc3
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc3
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/9322.cc3
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc3
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc3
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc7
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc3
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/1.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/2.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/9507.cc5
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-4.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/4.cc85
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc85
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/1.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1057.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1057.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc8
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc8
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/clear/char/1.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/1.cc10
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/2.cc8
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/1.cc8
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/locales/char/1.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_iostream/cons/2020.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/cons/3.cc5
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc13
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc7
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc12
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc7
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/2.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/3.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9826.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/1.cc5
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_null.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_null.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/get/char/1.cc5
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/1.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/getline/char/1.cc7
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/1.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/1.cc9
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/1.cc8
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/peek/char/1.cc9
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/1.cc8
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/read/char/1.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/1.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-2.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/8348.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/ws/char/1.cc7
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/1.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/pthread2.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/cons/2020.cc5
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/4.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/8.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc5
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/1.cc5
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_null.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_null.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/sentry/pod/1.cc5
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/pthread3.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/1.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/9322.cc3
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc3
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/1.cc15
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc14
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/char/1.cc15
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc14
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/char/1.cc15
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc14
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/char/1057.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1.cc15
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1057.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc15
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1057.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/9322.cc3
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc3
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc9
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc9
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/1.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/1.cc7
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc7
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/char/1.cc9
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc9
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/char/1.cc15
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc15
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/char/1.cc9
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc9
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc27
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc27
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1057.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1057.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1057.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1057.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/char/1.cc35
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc35
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/mbstate_t/2.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/mbstate_t/3.cc3
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/mbstate_t/4_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/mbstate_t/5.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/failure/what-3.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/10.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/5268.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/9.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/10.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/11.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/12.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/5268.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/types/2.cc3
-rw-r--r--libstdc++-v3/testsuite/28_regex/03_requirements/typedefs.cc38
-rw-r--r--libstdc++-v3/testsuite/28_regex/04_header/regex/std_c++0x_neg.cc23
-rw-r--r--libstdc++-v3/testsuite/28_regex/05_constants/error_type.cc54
-rw-r--r--libstdc++-v3/testsuite/28_regex/05_constants/match_flag_type.cc53
-rw-r--r--libstdc++-v3/testsuite/28_regex/05_constants/syntax_option_type.cc51
-rw-r--r--libstdc++-v3/testsuite/28_regex/06_exception_type/regex_error.cc49
-rw-r--r--libstdc++-v3/testsuite/28_regex/07_traits/char/ctor.cc50
-rw-r--r--libstdc++-v3/testsuite/28_regex/07_traits/char/isctype.cc48
-rw-r--r--libstdc++-v3/testsuite/28_regex/07_traits/char/length.cc49
-rw-r--r--libstdc++-v3/testsuite/28_regex/07_traits/char/lookup_classname.cc54
-rw-r--r--libstdc++-v3/testsuite/28_regex/07_traits/char/lookup_collatename.cc50
-rw-r--r--libstdc++-v3/testsuite/28_regex/07_traits/char/transform.cc51
-rw-r--r--libstdc++-v3/testsuite/28_regex/07_traits/char/transform_primary.cc55
-rw-r--r--libstdc++-v3/testsuite/28_regex/07_traits/char/translate.cc49
-rw-r--r--libstdc++-v3/testsuite/28_regex/07_traits/char/translate_nocase.cc46
-rw-r--r--libstdc++-v3/testsuite/28_regex/07_traits/char/value.cc49
-rw-r--r--libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/ctor.cc49
-rw-r--r--libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/length.cc49
-rw-r--r--libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/transform.cc51
-rw-r--r--libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/translate.cc49
-rw-r--r--libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/translate_nocase.cc46
-rw-r--r--libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/value.cc49
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring.cc44
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring_op.cc43
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/moveable.cc50
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/pstring.cc43
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/range.cc43
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string.cc44
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string_op.cc44
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring.cc44
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring_op.cc44
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/pstring.cc43
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/range.cc44
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string.cc45
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string_op.cc45
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/cstring.cc (renamed from libstdc++-v3/testsuite/20_util/identity/requirements/typedefs.cc)24
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_char.cc42
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_wchar_t.cc44
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/string_range_01_02_03.cc52
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring.cc42
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_awk.cc37
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_ecma.cc37
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_egrep.cc37
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_grep.cc39
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/default.cc47
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/range.cc42
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/copy_char.cc45
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/cstring.cc43
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/string_range_01_02_03.cc52
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/move_char.cc49
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_char.cc54
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_wchar_t.cc56
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/cstring.cc43
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/default.cc48
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/range.cc43
-rw-r--r--libstdc++-v3/testsuite/28_regex/08_basic_regex/regex.cc37
-rw-r--r--libstdc++-v3/testsuite/28_regex/09_sub_match/cast_char.cc49
-rw-r--r--libstdc++-v3/testsuite/28_regex/09_sub_match/cast_wchar_t.cc49
-rw-r--r--libstdc++-v3/testsuite/28_regex/09_sub_match/length.cc49
-rw-r--r--libstdc++-v3/testsuite/28_regex/09_sub_match/typedefs.cc38
-rw-r--r--libstdc++-v3/testsuite/28_regex/10_match_results/ctors/char/default.cc52
-rw-r--r--libstdc++-v3/testsuite/28_regex/10_match_results/ctors/wchar_t/default.cc52
-rw-r--r--libstdc++-v3/testsuite/28_regex/10_match_results/typedefs.cc44
-rw-r--r--libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_01.cc63
-rw-r--r--libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_00_03.cc60
-rw-r--r--libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_01_03.cc60
-rw-r--r--libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_02_03.cc61
-rw-r--r--libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_plus.cc65
-rw-r--r--libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_questionmark.cc65
-rw-r--r--libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_any.cc60
-rw-r--r--libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_00_03.cc60
-rw-r--r--libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_01_03.cc60
-rw-r--r--libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_02_03.cc61
-rw-r--r--libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/char/default.cc35
-rw-r--r--libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/default.cc35
-rw-r--r--libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc40
-rw-r--r--libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/default.cc35
-rw-r--r--libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/default.cc35
-rw-r--r--libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/typedefs.cc40
-rw-r--r--libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/range_access.cc31
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc19
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc19
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_address/cons/aggregate.cc5
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_address/cons/assign_neg.cc5
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_address/cons/copy_neg.cc6
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_address/cons/single_value.cc4
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/1.cc4
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/assign_neg.cc6
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/copy_neg.cc6
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/assign_neg.cc13
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_neg.cc13
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc5
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/increment_neg.cc5
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable/cons/assign_neg.cc5
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable/cons/copy_neg.cc5
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/assign_neg.cc5
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/copy_neg.cc5
-rw-r--r--libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc5
-rw-r--r--libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc5
-rw-r--r--libstdc++-v3/testsuite/30_threads/future/members/wait.cc4
-rw-r--r--libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/mutex/cons/assign_neg.cc7
-rw-r--r--libstdc++-v3/testsuite/30_threads/mutex/cons/copy_neg.cc7
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc5
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc5
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc5
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc5
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/assign_neg.cc7
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/copy_neg.cc7
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc7
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc7
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc8
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/cons/assign_neg.cc5
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/cons/copy_neg.cc6
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/cons/assign_neg.cc7
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/cons/copy_neg.cc7
-rw-r--r--libstdc++-v3/testsuite/Makefile.am8
-rw-r--r--libstdc++-v3/testsuite/Makefile.in65
-rw-r--r--libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc6
-rw-r--r--libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc11
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/22309_thread.cc6
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc1
-rw-r--r--libstdc++-v3/testsuite/ext/profile/mutex_extensions.cc5
-rw-r--r--libstdc++-v3/testsuite/ext/profile/profiler_algos.cc147
-rw-r--r--libstdc++-v3/testsuite/ext/rope/44708.cc31
-rw-r--r--libstdc++-v3/testsuite/ext/rope/44963.cc31
-rw-r--r--libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc6
-rw-r--r--libstdc++-v3/testsuite/ext/slist/23781.cc3
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-2.cc4
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc7
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc7
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc4
-rw-r--r--libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc1
-rw-r--r--libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc1
-rw-r--r--libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/range_access.cc37
-rw-r--r--libstdc++-v3/testsuite/lib/dg-options.exp2
-rw-r--r--libstdc++-v3/testsuite/lib/libstdc++.exp144
-rw-r--r--libstdc++-v3/testsuite/lib/prune.exp31
-rw-r--r--libstdc++-v3/testsuite/libstdc++-abi/abi.exp2
-rw-r--r--libstdc++-v3/testsuite/performance/21_strings/append-1.cc (renamed from libstdc++-v3/testsuite/performance/21_strings/string_append.cc)0
-rw-r--r--libstdc++-v3/testsuite/performance/21_strings/append-2.cc (renamed from libstdc++-v3/testsuite/performance/21_strings/string_append_2.cc)0
-rw-r--r--libstdc++-v3/testsuite/performance/21_strings/cons_input_iterator.cc (renamed from libstdc++-v3/testsuite/performance/21_strings/string_cons_input_iterator.cc)0
-rw-r--r--libstdc++-v3/testsuite/performance/21_strings/copy_cons_and_dest.cc (renamed from libstdc++-v3/testsuite/performance/21_strings/string_copy_cons_and_dest.cc)0
-rw-r--r--libstdc++-v3/testsuite/performance/21_strings/find.cc (renamed from libstdc++-v3/testsuite/performance/21_strings/string_find.cc)0
-rw-r--r--libstdc++-v3/testsuite/performance/21_strings/hash.cc58
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/range_construct/deque_construct.cc43
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/range_construct/list_construct1.cc44
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/range_construct/list_construct2.cc43
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/range_construct/vector_construct.cc43
-rw-r--r--libstdc++-v3/testsuite/performance/30_threads/future/polling.cc11
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820.cc38
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc4
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/requirements/constants.cc3
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/constants.cc3
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/requirements/constants.cc3
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/requirements/constants.cc3
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/requirements/constants.cc3
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/requirements/constants.cc3
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_null_neg.cc3
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_null_neg.cc3
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc8
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cctype/functions.cc3
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cfenv/functions.cc3
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cinttypes/functions.cc6
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/functions.cc9
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/templates.cc4
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc3
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/functions.cc10
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc14
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cwctype/functions.cc3
-rw-r--r--libstdc++-v3/testsuite/util/debug/checks.h379
-rw-r--r--libstdc++-v3/testsuite/util/exception/safety.h8
-rw-r--r--libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.tcc52
-rw-r--r--libstdc++-v3/testsuite/util/regression/rand/assoc/rand_regression_test.hpp4
-rw-r--r--libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.tcc18
-rw-r--r--libstdc++-v3/testsuite/util/regression/rand/priority_queue/rand_regression_test.hpp4
-rw-r--r--libstdc++-v3/testsuite/util/replacement_memory_operators.h8
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_abi.cc5
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_abi.h4
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_allocator.h11
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_api.h48
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_common_types.h5
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_error.h6
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_hooks.cc7
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_hooks.h5
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_io.h38
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_iterators.h26
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_performance.h20
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_tr1.h34
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;