Paolo Carlini
76d0be83b2
re PR libstdc++/46303 ('mutex' is not a member of 'std' failures in 30_threads/call_once/constexpr.cc, 30_threads/mutex/cons/constexpr.cc, 30_threads/once_flag/cons/constexpr.cc)
...
2010-11-04 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/46303
* testsuite/30_threads/call_once/constexpr.cc: Add missing dg-require
directives.
* testsuite/30_threads/mutex/cons/constexpr.cc: Likewise.
* testsuite/30_threads/once_flag/cons/constexpr.cc: Likewise.
2010-11-04 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/ratio (ratio_add, ratio_subtract, ratio_multiply,
ratio_divide): Declare the data members constexpr.
* testsuite/20_util/ratio/requirements/constexpr_data.cc: Extend.
From-SVN: r166319
2010-11-04 17:02:25 +00:00
Benjamin Kosnik
0e6ac87eba
tuple (tuple): Make default constructors constexpr.
...
2010-11-03 Benjamin Kosnik <bkoz@redhat.com>
* include/std/tuple (tuple): Make default constructors constexpr.
* testsuite/20_util/tuple/cons/constexpr.cc: Add.
* testsuite/18_support/initializer_list/requirements/
constexpr_functions.cc: Add.
* testsuite/18_support/initializer_list/constexpr.cc: Add.
From-SVN: r166301
2010-11-04 05:53:05 +00:00
Paolo Carlini
dd60dacdc5
limits (__glibcxx_digits10, [...]): Use 643L instead of 643 to avoid overflows on 16-bit machines.
...
2010-11-03 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/limits (__glibcxx_digits10, __glibcxx_max_digits10):
Use 643L instead of 643 to avoid overflows on 16-bit machines.
* include/ext/numeric_traits.h (__glibcxx_max_digits10): Likewise.
From-SVN: r166261
2010-11-03 17:33:54 +00:00
Benjamin Kosnik
16684e9c0d
chrono: Use typedefs.
...
2010-11-02 Benjamin Kosnik <bkoz@redhat.com>
* include/std/chrono: Use typedefs.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
line numbers.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Same.
From-SVN: r166229
2010-11-03 01:59:07 +00:00
Paolo Carlini
298cee0100
cmath (fpclassify, [...]): Remove spurious duplicate definition added in the last commit.
...
2010-11-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/c_global/cmath (fpclassify, isfinite, isinf, isnan,
isnormal, signbit, isgreater, isgreaterequal, isless, islessequal,
islessgreater, isunordered): Remove spurious duplicate definition
added in the last commit.
* include/tr1/cmath: Remove tr1_impl leftover macro.
From-SVN: r166228
2010-11-03 01:56:28 +00:00
Paolo Carlini
53dc5044ed
cinttypes: Remove, move contents to C++0x and TR1 headers.
...
2010-11-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/tr1_impl/cinttypes: Remove, move contents to C++0x
and TR1 headers.
* include/tr1_impl/cstdlib: Likewise.
* include/tr1_impl/cstdio: Likewise.
* include/tr1_impl/cctype: Likewise.
* include/tr1_impl/boost_sp_counted_base.h: Likewise.
* include/tr1_impl/cmath: Likewise.
* include/tr1_impl/cfenv: Likewise.
* include/tr1_impl/utility: Likewise.
* include/tr1_impl/complex: Likewise.
* include/tr1_impl/cwchar: Likewise.
* include/tr1_impl/type_traits: Likewise.
* include/tr1_impl/cstdint: Likewise.
* include/tr1_impl/regex: Likewise.
* include/tr1_impl/array: Likewise.
* include/tr1_impl/cwctype: Likewise.
* include/Makefile.am: Adjust.
* include/Makefile.in: Regenerate.
* src/condition_variable.cc: Adjust; consistently use
_GLIBCXX_BEGIN_NAMESPACE and _GLIBCXX_END_NAMESPACE.
* src/mutex.cc: Likewise.
* src/future.cc: Likewise.
* src/atomic.cc: Likewise.
* src/chrono.cc: Likewise.
* src/thread.cc: Likewise.
* include/std/tuple: Likewise.
* include/std/utility: Likewise.
* include/std/thread: Likewise.: Likewise.
* include/std/type_traits: Likewise.
* include/std/memory: Likewise.
* include/std/future: Likewise.
* include/std/ratio: Likewise.
* include/std/chrono: Likewise.
* include/std/condition_variable: Likewise.
* include/std/mutex: Likewise.
* include/std/functional: Likewise.
* include/std/complex: Likewise.
* include/std/typeindex: Likewise.
* include/std/array: Likewise.
* include/bits/regex_compiler.h: Likewise.
* include/bits/regex_grep_matcher.tcc: Likewise.
* include/bits/regex_grep_matcher.h: Likewise.
* include/bits/regex_constants.h: Likewise.
* include/bits/regex_cursor.h: Likewise.
* include/bits/regex_nfa.tcc: Likewise.
* include/bits/shared_ptr_base.h: Likewise.
* include/bits/regex_nfa.h: Likewise.
* include/bits/random.tcc: Likewise.
* include/bits/regex.h: Likewise.
* include/bits/random.h: Likewise.
* include/bits/regex_error.h: Likewise.
* include/c_global/cinttypes: Likewise.
* include/c_global/cstdlib: Likewise.
* include/c_global/cstdio: Likewise.
* include/c_global/cctype: Likewise.
* include/c_global/cmath: Likewise.
* include/c_global/cfenv: Likewise.
* include/c_global/cwchar: Likewise.
* include/c_global/cstdint: Likewise.
* include/c_global/cwctype: Likewise.
* include/tr1/shared_ptr.h: Likewise.
* include/tr1/cinttypes: Likewise.
* include/tr1/cstdio: Likewise.
* include/tr1/cfenv: Likewise.
* include/tr1/utility: Likewise.
* include/tr1/cwchar: Likewise.
* include/tr1/type_traits: Likewise.
* include/tr1/memory: Likewise.
* include/tr1/cstdint: Likewise.
* include/tr1/regex: Likewise.
* include/tr1/cwctype: Likewise.
* include/tr1/cstdlib: Likewise.
* include/tr1/cctype: Likewise.
* include/tr1/cmath: Likewise.
* include/tr1/complex: Likewise.
* include/tr1/array: Likewise.
* include/c_compatibility/fenv.h: Likewise.
* include/c_compatibility/stdint.h: Likewise.
* include/c_compatibility/inttypes.h: Likewise.
* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820.cc: Adjust
dg-error line numbers.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/
typedefs_neg.cc: Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/43820.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
From-SVN: r166211
2010-11-02 18:51:23 +00:00
Paolo Carlini
a9992f7f6b
syntax_option_type.cc: Avoid -Wall warnings.
...
2010-11-02 Paolo Carlini <paolo.carlini@oracle.com
* testsuite/28_regex/05_constants/syntax_option_type.cc: Avoid
-Wall warnings.
* testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc:
Likewise.
* testsuite/18_support/numeric_limits/requirements/
constexpr_functions.cc: Likewise.
* testsuite/18_support/numeric_limits/requirements/
constexpr_data.cc: Likewise.
* testsuite/21_strings/char_traits/requirements/
constexpr_functions.cc: Likewise.
* testsuite/26_numerics/random/independent_bits_engine/requirements/
constexpr_functions.cc: Likewise.
* testsuite/26_numerics/random/subtract_with_carry_engine/
requirements/constexpr_functions.cc: Likewise.
* testsuite/26_numerics/random/subtract_with_carry_engine/
requirements/constexpr_data.cc: Likewise.
* testsuite/26_numerics/random/discard_block_engine/requirements/
constexpr_functions.cc: Likewise.
* testsuite/26_numerics/random/discard_block_engine/requirements/
constexpr_data.cc: Likewise.
* testsuite/26_numerics/random/mersenne_twister_engine/
requirements/constexpr_functions.cc: Likewise.
* testsuite/26_numerics/random/mersenne_twister_engine/
requirements/constexpr_data.cc: Likewise.
* testsuite/26_numerics/random/linear_congruential_engine/
requirements/constexpr_functions.cc: Likewise.
* testsuite/26_numerics/random/linear_congruential_engine/
requirements/constexpr_data.cc: Likewise.
* testsuite/26_numerics/random/shuffle_order_engine/
requirements/constexpr_functions.cc: Likewise.
* testsuite/26_numerics/random/shuffle_order_engine/
requirements/constexpr_data.cc: Likewise.
* testsuite/26_numerics/complex/requirements/
constexpr_functions.cc: Likewise.
* testsuite/23_containers/bitset/requirements/
constexpr_functions.cc: Likewise.
* testsuite/23_containers/array/requirements/
constexpr_functions.cc: Likewise.
* testsuite/util/testsuite_common_types.h: Likewise.
* testsuite/20_util/duration/requirements/
constexpr_functions.cc: Likewise.
* testsuite/20_util/duration_cast/constexpr.cc: Likewise.
* testsuite/20_util/time_point/requirements/
constexpr_functions.cc: Likewise.
* testsuite/20_util/ratio/requirements/constexpr_data.cc: Likewise.
* testsuite/tr1/4_metaprogramming/integral_constant/
requirements/constexpr_data.cc: Remove.
From-SVN: r166210
2010-11-02 18:25:55 +00:00
Jason Merrill
6c0daa3ce1
* include/bits/atomic_0.h (_ATOMIC_CMPEXCHNG_): Use C-style cast.
...
From-SVN: r166206
2010-11-02 13:39:59 -04:00
Rainer Orth
f986c46600
re PR target/45693 (All Tru64 UNIX C++ EH tests fail)
...
PR target/45693
* configure.host (osf*): Set os_include_dir to os/generic.
Add -lpthread to OPT_LDFLAGS.
From-SVN: r166199
2010-11-02 16:16:22 +00:00
Paolo Carlini
7350a36115
bitset (_Base_bitset<>_Base_bitset(unsigned long long)): Convert __val to _WordT.
...
2010-11-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/bitset (_Base_bitset<>_Base_bitset(unsigned long long)):
Convert __val to _WordT.
From-SVN: r166195
2010-11-02 15:52:09 +00:00
Benjamin Kosnik
94a86be0dd
libstdc++: N3126 draft support.
...
* include/std/chrono: Extend constexpr application.
* testsuite/util/testsuite_common_types.h
(constexpr_default_constructible, constexpr_single_value_constructible)
: Add comments about implied constraints.
* testsuite/20_util/duration/cons/constexpr.cc: Activate all tests.
* testsuite/20_util/time_point/cons/constexpr.cc: Same.
* testsuite/20_util/time_point/requirements/constexpr_functions.cc:
Same.
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust line
numbers.
* testsuite/20_util/time_point_cast/constexpr.cc: New.
* include/std/bitset: Use __SIZEOF_* macros to re-create original
logic instead of slipshod application of
std::numeric_limits<T>::max() macros.
* testsuite/util/testsuite_common_types.h
(constexpr_default_constructible): Modify.
* include/std/chrono: Tested constexpr.
* testsuite/20_util/duration_cast/constexpr.cc: New.
* testsuite/20_util/time_point/cons/constexpr.cc: New.
* testsuite/20_util/duration/cons/constexpr.cc: Add single_value tests.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
line numbers.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
* testsuite/20_util/time_point/cons/constexpr.cc: Add single_value
tests.
* testsuite/20_util/time_point/requirements/constexpr_functions.cc: Add.
* testsuite/util/testsuite_common_types.h: Adjust init.
* include/std/chrono (duration): Remove defaulted constructor,
replace with mem-init list.
* testsuite/20_util/duration/cons/constexpr.cc: Add single value.
* testsuite/20_util/duration/requirements/constexpr_functions.cc:
Add non-static member functions.
* testsuite/20_util/default_delete/cons/constexpr.cc: New, xfail.
* testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Same.
* testsuite/20_util/shared_ptr/cons/constexpr.cc: Same.
* testsuite/20_util/time_point/requirements/constexpr_functions.cc:
Same.
* testsuite/20_util/unique_ptr/cons/constexpr.cc: Same.
* testsuite/20_util/weak_ptr/cons/constexpr.cc: Same.
* include/std/bitset: Add constexpr as per N3126 draft.
* testsuite/23_containers/bitset/cons/constexpr.cc: New.
* testsuite/23_containers/bitset/requirements/constexpr_functions.cc:
New.
* testsuite/util/testsuite_common_types.h: Reset condition.
* include/bits/random.h: Remove misleading comments.
* include/bits/regex.h: Add constexpr.
* testsuite/28_regex/05_constants/syntax_option_type.cc: Add tests.
* testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc: New.
PR libstdc++/46134
* include/std/chrono: Use default constructor.
* testsuite/util/testsuite_common_types.h
(constexpr_default_constructible): Adjust condition.
PR libstdc++/46133
* include/std/complex: Adjust complex specialization default
constructors for constexpr.
* testsuite/26_numerics/complex/cons/constexpr.cc: Enable tests.
* include/bits/random.h: Adjust for constexpr as per N3126 draft.
* testsuite/26_numerics/random/discard_block_engine/requirements/
constexpr_data.cc: New.
* testsuite/26_numerics/random/discard_block_engine/requirements/
constexpr_functions.cc: New.
* testsuite/26_numerics/random/independent_bits_engine/requirements/
constexpr_functions.cc: New.
* testsuite/26_numerics/random/linear_congruential_engine/requirements/
constexpr_data.cc: New.
* testsuite/26_numerics/random/linear_congruential_engine/requirements/
constexpr_functions.cc: New.
* testsuite/26_numerics/random/mersenne_twister_engine/requirements/
constexpr_data.cc: New.
* testsuite/26_numerics/random/mersenne_twister_engine/requirements/
constexpr_functions.cc: New.
* testsuite/26_numerics/random/shuffle_order_engine/requirements/
constexpr_data.cc: New.
* testsuite/26_numerics/random/shuffle_order_engine/requirements/
constexpr_functions.cc: New.
* testsuite/26_numerics/random/subtract_with_carry_engine/requirements/
constexpr_data.cc: New.
* testsuite/26_numerics/random/subtract_with_carry_engine/requirements/
constexpr_functions.cc: New.
* include/bits/stream_iterator.h: Add constexpr as per N3126 draft.
* include/bits/streambuf_iterator.h: Same.
* include/std/complex: Same.
* testsuite/24_iterators/istream_iterator/cons/constexpr.cc: New.
* testsuite/24_iterators/istreambuf_iterator/cons/constexpr.cc: New.
* testsuite/26_numerics/complex/cons/constexpr.cc: New.
* testsuite/26_numerics/complex/requirements/constexpr_functions.cc:
New.
* include/bits/char_traits.h: Add constexpr as per N3126 draft.
* testsuite/21_strings/char_traits/requirements/constexpr_functions.cc:
New.
* include/tr1_impl/array: Add constexpr as per N3126 draft.
* testsuite/23_containers/array/requirements/
constexpr_functions.cc: New.
* include/bits/shared_ptr.h: Revert changes.
* include/bits/unique_ptr.h: Same.
* include/std/chrono: Adjust.
* include/tr1_impl/type_traits: Same.
* testsuite/util/testsuite_common_types.h: Add test functors.
* testsuite/20_util/duration/cons/constexpr.cc: New.
* testsuite/20_util/duration/requirements/constexpr_functions.cc: Same.
* testsuite/20_util/pair/cons/constexpr.cc: Same.
* testsuite/20_util/ratio/requirements/constexpr_data.cc: Same.
* testsuite/27_io/ios_base/types/fmtflags/constexpr_operators.cc: Same.
* testsuite/27_io/ios_base/types/iostate/constexpr_operators.cc: Same.
* testsuite/27_io/ios_base/types/openmode/constexpr_operators.cc: Same.
* testsuite/30_threads/call_once/constexpr.cc: Same.
* testsuite/30_threads/mutex/cons/constexpr.cc: Same.
* testsuite/30_threads/once_flag/cons/constexpr.cc: Same.
* testsuite/tr1/4_metaprogramming/integral_constant/requirements/
constexpr_data.cc: Same.
* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same.
* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Same.
* include/bits/allocator.h: Add constexpr as per N3126 draft.
* include/bits/ios_base.h: Same.
* include/bits/shared_ptr.h: Same.
* include/bits/unique_ptr.h: Same.
* include/bits/stl_iterator.h: Same.
* include/bits/stl_pair.h: Same.
* include/std/tuple: Same.
* include/tr1_impl/type_traits: Same.
* include/std/chrono: Same.
* include/std/ratio: Same.
* include/std/mutex: Same.
* src/mutex.cc: Same.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
* doc/doxygen/user.cfg.in: Replace _GLIBCXX_USE_CONSTEXPR,
_GLIBCXX_CONSTEXPR for doxygen generation.
* src/limits.cc: Undef.
* testsuite/29_atomics/atomic/cons/constexpr.cc: Adjust.
* testsuite/29_atomics/atomic_address/cons/constexpr.cc: Same.
* testsuite/29_atomics/atomic_integral/cons/constexpr.cc: Same.
* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.c: Same.
* testsuite/18_support/numeric_limits/constexpr.cc: To...
* testsuite/18_support/numeric_limits/requirements/
constexpr_data.cc, constexpr_functions.cc: ...this
* testsuite/util/testsuite_common_types.h
(constexpr_single_value_constructible): Add.
* testsuite/29_atomics/atomic/cons/constexpr.cc: Adjust name.
* testsuite/29_atomics/atomic_integral/cons/constexpr.cc: Same.
* testsuite/29_atomics/atomic_address/cons/constexpr.cc: New.
* testsuite/18_support/numeric_limits/constexpr.cc: New.
* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
* testsuite/29_atomics/atomic/cons/constexpr.cc: Same.
* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same.
* testsuite/29_atomics/atomic_integral/cons/constexpr.cc: Same.
* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Same.
* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: Same.
* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: Same.
* include/bits/c++config (_GLIBCXX_CONSTEXPR): Add.
(_GLIBCXX_USE_CONSTEXPR): Add.
* include/std/limits: Use it.
* src/limits.cc: Adjust.
* testsuite/ext/profile/mutex_extensions.cc: Change line number.
* include/bits/atomic_0.h: Rework for N3126 draft, add constexpr.
* include/bits/atomic_2.h: Same.
* include/bits/atomic_base.h: Same.
* include/std/atomic: Same.
* src/atomic.cc: Same.
* include/bits/atomicfwd_c.h: Remove.
* include/bits/atomicfwd_cxx.h: Remove.
* include/c_compatibility/stdatomic.h: Remove.
* include/Makefile.am: Remove atomicfwd_c.h, atomicfwd_cxx.h,
stdatomic.h.
* include/Makefile.in: Regenerate.
* doc/xml/manual/using.xml: Update list of header files for changes.
* testsuite/util/testsuite_common_types.h
(constexpr_constructible): Add.
* testsuite/29_atomics/atomic/cons/constexpr.cc: New.
* testsuite/29_atomics/atomic_integral/cons/constexpr.cc: New.
* testsuite/17_intro/headers/c++200x/stdc++.cc: Modify.
* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
* testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
* testsuite/29_atomics/atomic_flag/cons/1.cc: Same.
* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same.
* testsuite/29_atomics/headers/atomic/macros.cc: Same.
* testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Same.
* testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc: Same.
* testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Remove.
* testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Same.
* testsuite/29_atomics/atomic_flag/clear/1.c: Same.
* testsuite/29_atomics/headers/stdatomic.h/debug_mode.c: Same.
* testsuite/29_atomics/headers/stdatomic.h/functions.c: Same.
* testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
* testsuite/29_atomics/headers/stdatomic.h/types.c: Same.
* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.16.
From-SVN: r166171
2010-11-01 22:35:28 -04:00
Jason Merrill
900484dee5
initializer_list: Decorate with constexpr.
...
* libsupc++/initializer_list: Decorate with constexpr.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
From-SVN: r166170
2010-11-01 21:31:50 -04:00
Jason Merrill
fa2200cbb1
call.c (null_ptr_cst_p): Use maybe_constant_value.
...
* call.c (null_ptr_cst_p): Use maybe_constant_value.
(set_up_extended_ref_temp): Support constant initialization.
(initialize_reference): Adjust.
* class.c (check_bitfield_decl): Use cxx_constant_value.
* cvt.c (ocp_convert): Don't use integral_constant_value when
converting to class type.
* decl.c (finish_case_label): Use maybe_constant_value.
(build_init_list_var_init): Support constant initialization.
(check_initializer): Likewise. Reorganize.
(cp_finish_decl): Likewise.
(expand_static_init): Likewise.
(compute_array_index_type): Use maybe_constant_value.
Add complain parm.
(create_array_type_for_decl, grokdeclarator): Pass it.
(build_enumerator): Use cxx_constant_value.
* decl2.c (grokfield): Use maybe_constant_init.
* except.c (check_noexcept_r): Handle constexpr.
(build_noexcept_spec): Use maybe_constant_value.
* init.c (expand_default_init): Support constant initialization.
(build_vec_init): Likewise.
(constant_value_1): Adjust.
(build_new_1): Adjust.
* parser.c (cp_parser_constant_expression): Allow non-integral
in C++0x mode.
(cp_parser_direct_declarator): Don't fold yet in C++0x mode.
(cp_parser_initializer_clause): Toss folded result if non-constant.
* pt.c (fold_decl_constant_value): Remove.
(convert_nontype_argument): Use maybe_constant_value. Give clearer
error about overflow.
(tsubst): Move array bounds handling into compute_array_index_type.
(value_dependent_expression_p): Handle constant CALL_EXPR.
* semantics.c (finish_static_assert): Use maybe_constant_value.
(ensure_literal_type_for_constexpr_object): Make sure type is complete.
(potential_constant_expression): Use maybe_constant_value.
* tree.c (cast_valid_in_integral_constant_expression_p): Any cast
is potentially valid in C++0x.
* typeck2.c (store_init_value): Handle constant init.
(check_narrowing): Use maybe_constant_value.
(build_functional_cast): Set TREE_CONSTANT on literal T().
* cp-tree.h (DECL_INTEGRAL_CONSTANT_VAR_P): Remove.
(LOOKUP_ALREADY_DIGESTED): New.
(compute_array_index_type): Adjust prototype.
From-SVN: r166167
2010-11-01 21:31:18 -04:00
Jonathan Wakely
db4e59bb2b
re PR libstdc++/45999 (runtime error in std::vector python pretty printer.)
...
2010-11-01 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/45999
* python/libstdcxx/v6/printers.py (StdVectorPrinter): Replace
conditional expression with backward-compatible if-else.
From-SVN: r166150
2010-11-01 21:28:44 +00:00
Jie Zhang
b118583f0e
gnu.ver: Export __emutls_v._ZSt11__once_call and __emutls_v._ZSt15__once_callable.
...
* config/abi/pre/gnu.ver: Export __emutls_v._ZSt11__once_call
and __emutls_v._ZSt15__once_callable.
From-SVN: r166134
2010-11-01 15:58:16 +00:00
Paolo Carlini
19fd98331d
dr1325-2.cc: Fix typo.
...
2010-10-31 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/bitset/cons/dr1325-2.cc: Fix typo.
* testsuite/20_util/hash/quality.cc: Avoid -Wall warnings.
* testsuite/20_util/hash/chi2_quality.cc: Likewise.
From-SVN: r166114
2010-11-01 00:08:58 +00:00
Paolo Carlini
777a1e28c3
stl_function.h (_Select1st<>::operator()): Add templatized overloads.
...
2010-10-29 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_function.h (_Select1st<>::operator()): Add
templatized overloads.
* include/bits/hashtable_policy.h (_Select1st): Remove; revert
everything to std::_Select1st.
* include/bits/unordered_map.h: Likewise.
From-SVN: r166062
2010-10-29 15:11:47 +00:00
Paolo Carlini
fb7342fd6f
PR libstdc++/44436 (partial)
...
2010-10-28 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/44436 (partial)
* include/bits/hashtable.h (_Hashtable<>::insert(value_type&&),
insert(_Pair&&), insert(const_iterator, value_type&&),
insert(const_iterator, _Pair&&)): Add.
(_M_allocate_node, _M_insert, _M_insert_bucket): Templatize.
* include/bits/hashtable_policy.h (__detail::_Select1st): Add; use
it throughout.
(_Map_base<>::operator[](_Key&&)): Add.
* include/bits/unordered_map.h: Use __detail::_Select1st throughout.
* include/debug/unordered_map: Update.
* include/debug/unordered_set: Likewise.
* include/profile/unordered_map: Likewise.
* include/profile/unordered_set: Likewise.
* testsuite/util/testsuite_rvalref.h (struct hash<rvalstruct>): Add;
minor tweaks throughout, use deleted special members.
* testsuite/23_containers/unordered_map/insert/map_single_move-1.cc:
New.
* testsuite/23_containers/unordered_map/insert/map_single_move-2.cc:
Likewise.
* testsuite/23_containers/unordered_map/insert/array_syntax_move.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/insert/
multimap_single_move-1.cc: Likewise.
* testsuite/23_containers/unordered_multimap/insert/
multimap_single_move-2.cc: Likewise.
* testsuite/23_containers/unordered_set/insert/set_single_move.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/insert/
multiset_single_move.cc: Likewise.
* testsuite/23_containers/unordered_map/insert/array_syntax.cc:
Minor cosmetic changes.
From-SVN: r166030
2010-10-28 16:01:05 +00:00
Jason Merrill
2b08f2c561
c-common.c (c_common_reswords): Add __is_literal_type.
...
gcc/c-family/
* c-common.c (c_common_reswords): Add __is_literal_type.
* c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
gcc/cp/
* cp-tree.h (cp_trait_kind): Add CPTK_IS_LITERAL_TYPE.
* cxx-pretty-print.c (pp_cxx_trait_expression): Handle it.
* semantics.c (trait_expr_value, finish_trait_expr): Likewise.
* parser.c (cp_parser_primary_expression): Handle RID_IS_LITERAL_TYPE.
(cp_parser_trait_expr): Likewise.
libstdc++-v3/
* include/std/type_traits (is_literal_type): New.
From-SVN: r166020
2010-10-27 17:43:33 -04:00
Paolo Carlini
98fff892cc
libstdc++.exp ([check_v3_target_normal_mode]): Add.
...
2010-10-26 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/lib/libstdc++.exp ([check_v3_target_normal_mode]): Add.
* testsuite/lib/dg-options.exp ([dg-require-normal-mode]): Likewise.
* testsuite/23_containers/headers/forward_list/synopsis.cc: Use the
latter.
* testsuite/23_containers/headers/vector/synopsis.cc: Likewise.
* testsuite/23_containers/headers/deque/synopsis.cc: Likewise.
* testsuite/23_containers/headers/bitset/synopsis.cc: Likewise.
* testsuite/23_containers/headers/list/synopsis.cc: Likewise.
* testsuite/23_containers/headers/set/synopsis.cc: Likewise.
* testsuite/23_containers/headers/map/synopsis.cc: Likewise.
From-SVN: r165937
2010-10-26 10:22:43 +00:00
Paolo Carlini
deaf7b86cd
forward_list.h (_Fwd_list_node_base::swap): Remove.
...
2010-10-25 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.h (_Fwd_list_node_base::swap): Remove.
(_Fwd_list_base<>::_Fwd_list_base(_Fwd_list_base&&),
_Fwd_list_base<>::_Fwd_list_base(_Fwd_list_base&&, const _Alloc&)):
Don't use swap.
(forward_list<>::swap): Just use std::swap.
* include/bits/forward_list.h (_Fwd_list_base<>::_Fwd_list_base(),
_Fwd_list_base(const _Alloc&)): Don't zero again _M_next.
* testsuite/23_containers/forward_list/requirements/dr438/
assign_neg.cc: Adjust dg-error line number.
* testsuite/23_containers/forward_list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_2_neg.cc: Likewise.
From-SVN: r165915
2010-10-25 10:47:19 +00:00
Paolo Carlini
7d9d5bb6c9
hashtable.h (_Hashtable<>:_M_get_Value_allocator): Remove, unused.
...
2010-10-25 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/hashtable.h (_Hashtable<>:_M_get_Value_allocator):
Remove, unused.
From-SVN: r165912
2010-10-25 09:42:08 +00:00
François Dumont
68478bb473
debug.cc: Fix parameter indexes in __msg_valid_range2 message.
...
2010-10-24 François Dumont <francois.cppdevs@free.fr>
* src/debug.cc: Fix parameter indexes in __msg_valid_range2 message.
Replace 'before begin' decription in 'before-begin' for consistency
with 'paste-the-end'.
From-SVN: r165899
2010-10-24 10:39:11 +00:00
Paolo Carlini
e1d4e035fa
re PR libstdc++/45866 ([C++0x] std::ratio_add, ratio_sub, ratio_multiply, ratio_divide do not have num and den members.)
...
2010-10-18 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/45866
* include/std/ratio (ratio<>::type): Add.
(ratio_add<>::num, ratio_add<>::den,
ratio_subtract<>::num, ratio_subtract<>::den,
ratio_multiply<>::num, ratio_multiply<>::den,
ratio_divide<>::num, ratio_divide<>::den): Likewise.
* testsuite/20_util/ratio/operations/45866.cc: New.
From-SVN: r165649
2010-10-18 17:28:15 +00:00
Paolo Carlini
efb7b45650
forward_list.h (forward_list<>::erase_after): Return an iterator.
...
2010-10-17 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.h (forward_list<>::erase_after): Return
an iterator.
(_M_erase_after): Return _Fwd_list_node_base*.
* include/bits/forward_list.tcc: Likewise.
* include/debug/forward_list: Likewise.
* testsuite/23_containers/forward_list/modifiers/3.cc: Update
and extend.
* testsuite/util/exception/safety.h (erase_base<forward_list<>>):
Adjust.
* testsuite/23_containers/forward_list/requirements/dr438/
assign_neg.cc: Adjust dg-error line number.
* testsuite/23_containers/forward_list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_2_neg.cc: Likewise.
From-SVN: r165590
2010-10-17 17:34:38 +00:00
Paolo Carlini
88c87359fa
re PR libstdc++/43554 (profile-mode version of forward_list missing)
...
2010-10-17 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/43554
* include/profile/forward_list: New file.
* include/std/forward_list: Include <profile/forward_list>.
* include/Makefile.am: Add.
* testsuite/23_containers/forward_list/capacity/1.cc: Adjust.
* include/Makefile.in: Regenerate.
From-SVN: r165587
2010-10-17 14:49:11 +00:00
Paolo Carlini
e74bf53a08
functional (function<>::operator==, operator!=): Remove, per LWG 1240.
...
2010-10-15 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/functional (function<>::operator==, operator!=):
Remove, per LWG 1240.
* testsuite/20_util/function/cmp/cmp_neg.cc: Adjust dg-* directives.
From-SVN: r165514
2010-10-15 17:14:57 +00:00
Jonathan Wakely
405de314b8
re PR libstdc++/45990 (28_regex/07_traits/char/isctype.cc XPASSes on Solaris 2/IRIX 6)
...
PR libstdc++/45990
* include/bits/regex.h (regex_traits::isctype): DR 1337.
From-SVN: r165438
2010-10-13 23:52:25 +01:00
Paolo Carlini
879b9073c8
random.h (discrete_distribution<>::param_type:: param_type()): Default construct the vectors.
...
2010-10-13 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/random.h (discrete_distribution<>::param_type::
param_type()): Default construct the vectors.
(discrete_distribution<>::param_type::probabilities): Adjust.
(discrete_distribution<>::probabilities): Likewise.
(discrete_distribution<>::max): Likewise.
(piecewise_constant_distribution<>::param_type::
param_type()): Default construct the vectors.
(piecewise_constant_distribution<>::param_type::intervals): Adjust.
(piecewise_constant_distribution<>::param_type::densities): Likewise.
(piecewise_constant_distribution<>::intervals): Likewise.
(piecewise_constant_distribution<>::densities): Likewise.
(piecewise_constant_distribution<>::min): Likewise.
(piecewise_constant_distribution<>::max): Likewise.
(piecewise_linear_distribution<>::param_type::
param_type()): Default construct the vectors.
(piecewise_linear_distribution<>::param_type::intervals): Adjust.
(piecewise_linear_distribution<>::param_type::densities): Likewise.
(piecewise_linear_distribution<>::intervals): Likewise.
(piecewise_linear_distribution<>::densities): Likewise.
(piecewise_linear_distribution<>::min): Likewise.
(piecewise_linear_distribution<>::max): Likewise.
* include/bits/random.tcc (discrete_distribution<>::param_type::
_M_initialize): Deal quickly with raw _M_prob equivalent to
a default constructed param_type, just clear the vector.
(discrete_distribution<>::operator()): Early return 0 for a
default constructed distribution.
(piecewise_constant_distribution<>::param_type::_M_initialize):
Likewise for _M_int and _M_den.
(piecewise_constant_distribution<>::operator()): Early return
for a default constructed distribution.
(piecewise_linear_distribution<>::param_type::_M_initialize):
Likewise.
(piecewise_linear_distribution<>::operator()): Early return
for a default constructed distribution.
* testsuite/26_numerics/random/discrete_distribution/operators/
call-default.cc: New.
* testsuite/26_numerics/random/piecewise_constant_distribution/
operators/call-default.cc: Likewise.
From-SVN: r165427
2010-10-13 16:31:17 +00:00
Paolo Carlini
ce9555cb82
random.h (discrete_distribution<>::param_type): Disable move operations.
...
2010-10-12 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/random.h (discrete_distribution<>::param_type):
Disable move operations.
(piecewise_constant_distribution<>::param_type): Likewise.
(piecewise_linear_distribution<>::param_type): Likewise.
* include/bits/random.h (discrete_distribution<>::param_type::
param_type()): Simplify, don't use _M_initialize.
(piecewise_constant_distribution<>::param_type::param_type()):
Likewise.
(piecewise_linear_distribution<>::param_type::param_type()):
Likewise.
From-SVN: r165391
2010-10-12 18:38:42 +00:00
Paolo Carlini
d3a7350497
random.tcc (piecewise_linear_distribution<>:: operator()): Don't crash when the dist is default-constructed.
...
2010-10-12 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/random.tcc (piecewise_linear_distribution<>::
operator()): Don't crash when the dist is default-constructed.
* testsuite/26_numerics/random/piecewise_linear_distribution/
operators/call-default.cc: New.
From-SVN: r165379
2010-10-12 13:35:22 +00:00
Paolo Carlini
a0a2a39912
[multiple changes]
...
2010-10-11 Jonathan Wakely <jwakely.gcc@gmail.com>
* testsuite/23_containers/bitset/cons/2.cc: Tweak.
2010-10-11 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/bitset (bitset<>::bitset(const _CharT*,
typename std::basic_string<>::size_type, _CharT, _CharT)):
Implement new proposed resolution for DR 1325.
* include/debug/bitset: Likewise.
* include/profile/bitset: Likewise.
* testsuite/23_containers/bitset/cons/dr1325-1.cc: New.
* testsuite/23_containers/bitset/cons/dr1325-2.cc: Likewise.
From-SVN: r165338
2010-10-11 22:32:01 +00:00
Benjamin Kosnik
63835102f4
api.xml: Add link to 4.5 generated docs.
...
2010-10-11 Benjamin Kosnik <bkoz@redhat.com>
* doc/xml/api.xml: Add link to 4.5 generated docs.
From-SVN: r165332
2010-10-11 21:28:17 +00:00
Paolo Carlini
0fd76d8e4c
future (_Result_alloc): Derive from _Alloc, exploit the Empty Base Optimization.
...
2010-10-08 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/future (_Result_alloc): Derive from _Alloc,
exploit the Empty Base Optimization.
From-SVN: r165194
2010-10-08 20:30:44 +00:00
Jonathan Wakely
708f539dd1
re PR libstdc++/45403 (python pretty printer for std::string requires GDB 7.1)
...
PR libstdc++/45403
* python/libstdcxx/v6/printers.py: Check for lazy_string support.
From-SVN: r165163
2010-10-08 12:31:56 +01:00
Paolo Carlini
135a0d0ac5
future (uses_allocator<packaged_task<>,>): Add; minor formatting tweaks.
...
2010-10-08 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/future (uses_allocator<packaged_task<>,>): Add;
minor formatting tweaks.
From-SVN: r165151
2010-10-08 09:22:16 +00:00
Jonathan Wakely
d3ec3e15d3
future: Enable allocator support.
...
* include/std/future: Enable allocator support.
* testsuite/30_threads/packaged_task/cons/alloc.cc: Expect PASS.
* testsuite/30_threads/promise/cons/alloc.cc: Expect PASS.
From-SVN: r165147
2010-10-08 02:06:27 +01:00
Jonathan Wakely
1b3fad8156
re PR libstdc++/45893 ([C++0x] [DR 817] Finish updating std::bind to rvalue refs)
...
2010-10-08 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/45893
* include/std/functional (bind): Implement DR 817 and add support
for volatile-qualified call wrappers.
* include/std/mutex (call_once): Implement DR 891.
* include/std/thread (thread::thread): Implement DR 929.
* include/std/future: Optimise use of std::bind.
* testsuite/20_util/bind/cv_quals.cc: Test volatile-qualification.
* testsuite/20_util/bind/move.cc: New.
From-SVN: r165144
2010-10-08 01:44:12 +01:00
Hans-Peter Nilsson
599fdf0ca5
re PR libstdc++/45841 (r164529 cris-elf libstdc++ 27_io/basic_filebuf/seekoff/char/2-io.cc)
...
PR libstdc++/45841
* testsuite/lib/libstdc++.exp (check_v3_target_fileio): Rewrite to
use an actual testsuite file and machinery, not ".". Specifically
check that incorrectly seeking backwards from 0 yields an error,
and that reading, seeking backwards and reading again works.
From-SVN: r165136
2010-10-07 21:46:51 +00:00
Hans-Peter Nilsson
38851a969d
conformance.exp: Apply check_v3_target_fileio as a gate for tests in subdirectories matching the...
...
* testsuite/libstdc++-dg/conformance.exp: Apply
check_v3_target_fileio as a gate for tests in
subdirectories matching the substring _filebuf.
From-SVN: r165135
2010-10-07 21:44:36 +00:00
Paolo Carlini
a4a7631d2b
locale_facets_nonio.tcc (time_get<>:: _M_extract_via_format): Tighten somewhat error checking.
...
2010-10-07 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/locale_facets_nonio.tcc (time_get<>::
_M_extract_via_format): Tighten somewhat error checking.
* testsuite/22_locale/time_get/get_time/char/6.cc: New.
* testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise.
From-SVN: r165094
2010-10-07 11:23:07 +00:00
Jonathan Wakely
b607a144ea
re PR libstdc++/45924 ([C++0x] bind<R>(x)(y, z) fails)
...
2010-10-07 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/45924
* include/std/functional (_Bind_result::operator()): Do not expand
template parameter pack in forward call.
* testsuite/20_util/bind/45924.cc: New.
From-SVN: r165075
2010-10-07 01:19:18 +01:00
Jonathan Wakely
b32c4963b9
re PR libstdc++/45924 ([C++0x] bind<R>(x)(y, z) fails)
...
PR libstdc++/45924
* include/std/functional (_Bind_result::operator()): Do not expand
template parameter pack in forward call.
* testsuite/20_util/bind/45924.cc: New.
From-SVN: r165072
2010-10-07 01:17:24 +01:00
Paolo Carlini
8cfaf4c938
functional (struct _Weak_result_type_impl): Add specializazions for cv-qualified function types...
...
2010-10-06 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/functional (struct _Weak_result_type_impl): Add
specializazions for cv-qualified function types, for variadic
function types and pointers and references to function types,
and for pointers to member function types.
(struct _Reference_wrapper_base): Add specializations for
cv-qualified unary and binary function types.
* testsuite/20_util/reference_wrapper/result_type.cc: New.
* testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
From-SVN: r165056
2010-10-06 17:17:16 +00:00
Rainer Orth
db0d4b71b5
re PR libstdc++/45863 (FAIL: libstdc++-abi/abi_check)
...
PR libstdc++/45863
* scripts/extract_symvers: Restore revision 164879.
Only use pvs on SunOS.
From-SVN: r165055
2010-10-06 17:01:11 +00:00
David Krauss
47b90d6b32
re PR libstdc++/45841 (r164529 cris-elf libstdc++ 27_io/basic_filebuf/seekoff/char/2-io.cc)
...
2010-10-05 David Krauss <potswa@mac.com>
PR libstdc++/45841
* include/bits/fstream.h (basic_filebuf::underflow): Overflow
success does not preclude returning failure.
(basic_filebuf::pbackfail): Likewise.
(basic_filebuf::xsputn): Fix indentation problem.
(basic_filebuf::xsgetn): Likewise. Also, add similar overflow
call to enable optimized case from write mode.
* testsuite/27_io/basic_filebuf/underflow/char/45841.cc: New.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise.
From-SVN: r165009
2010-10-06 00:17:28 +00:00
Jonathan Wakely
94a9600ce3
locale_facets_nonio.h (time_get::get_time): Doc typo.
...
2010-10-05 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/bits/locale_facets_nonio.h (time_get::get_time): Doc typo.
(time_get::get_date): Likewise.
From-SVN: r165002
2010-10-05 21:58:59 +01:00
Jonathan Wakely
c6f3b5880e
2010-10-05 Jonathan Wakely <jwakely.gcc@gmail.com>
...
* Remove svn conflict marker in ChangeLog.
From-SVN: r165001
2010-10-05 21:43:04 +01:00
Paolo Carlini
033b71cea1
type_traits (_GLIBCXX_HAS_NESTED_TYPE): Add.
...
2010-10-05 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/type_traits (_GLIBCXX_HAS_NESTED_TYPE): Add.
* include/std/functional (_Has_result_type_helper,
_Has_result_type): Remove; use the above to define __has_result_type.
* include/bits/stl_iterator_base_types.h: Use the above to define
__has_iterator_category.
* include/bits/allocator.h (__has_allocator_type): Use the above.
* include/bits/cpp_type_traits.h (__has_iterator_category,
__is_iterator): Remove.
From-SVN: r164993
2010-10-05 15:53:35 +00:00
Sebastian Huber
79d34420f6
re PR libstdc++/44647 (std::nothrow and std::bad_alloc are coupled)
...
2010-10-05 Sebastian Huber <sebastian.huber@embedded-brains.de>
Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/44647
* libsupc++/Makefile.am (sources): Add bad_alloc.cc.
* libsupc++/new_handler.cc (bad_alloc): Move to ...
* libsupc++/bad_alloc.cc (bad_alloc): ... here, new file.
* libsupc++/Makefile.in: Regenerate.
Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r164973
2010-10-05 09:41:57 +00:00