Ulrich Drepper
60822e0b57
cstring (memchr, [...]): Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not defined.
...
* include/c_std/cstring (memchr, strchr, strpbrk, strrchr, strstr):
Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not
defined.
* include/c_std/cwchar (wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr):
Provide inlines only if __CORRECT_ISO_CPP_WCHAR_H_PROTO is not
defined.
* include/c_global/cstring (memchr, strchr, strpbrk, strrchr, strstr):
Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not
defined.
* include/c_global/cwchar (wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr):
Provide inlines only if __CORRECT_ISO_CPP_WCHAR_H_PROTO is not
defined.
* testsuite/21_strings/c_strings/char_t/2.cc (test02): If first
argument is const char *, assign result to const char * var, not
char *.
* testsuite/21_strings/c_strings/wchar_t/2.cc (test02): If first
argument is const wchar_t *, assign result to const wchar_t * var, not
wchar_t *.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r143773
2009-01-30 01:08:29 +01:00
Jonathan Wakely
cbdab9c897
thread: Remove unused headers.
...
2009-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/thread: Remove unused headers.
(__thread_data_base): Remove unused mutex and base.
(thread::~thread): Only detach if joinable.
(thread::joinable): Test if thread data ptr is empty.
(thread::_M_thread_data_mutex): Remove.
(thread::_M_get_thread_data): Remove.
(thread::_M_make_thread_data): Remove overload, use make_shared.
(thread:🆔 :id): Make constructor explicit.
* src/thread.cc (thread::join,thread::detach): Throw if not joinable.
(thread::_M_start_thread): Break shared_ptr cycle on error.
(__thread_proxy): Use shared_ptr swap instead of copy and reset.
* testsuite/30_threads/thread/member/4.cc: New.
* testsuite/30_threads/thread/member/5.cc: New.
From-SVN: r143772
2009-01-29 23:24:05 +00:00
Jonathan Wakely
78b580a99e
thread (__thread_data_base, thread): Rename member functions to match coding style.
...
2009-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/thread (__thread_data_base, thread): Rename member
functions to match coding style.
(thread::thread,thread::operator=): Define move operations.
* src/thread.cc (__thread_data_base, thread): Rename member functions.
* config/abi/pre/gnu.ver: Adjust.
From-SVN: r143577
2009-01-22 22:33:02 +00:00
Dodji Seketeli
03c2a308f3
Reverted commit 143546 related to PR c++/26693
...
From-SVN: r143562
2009-01-22 08:15:41 +01:00
Dodji Seketeli
d597b3ce68
re PR c++/26693 (Access checks not performed for types in templates)
...
gcc/ChangeLog:
2009-01-21 Dodji Seketeli <dodji@redhat.com>
PR c++/26693
* c-decl.c: (clone_underlying_type): Move this ...
* c-common.c (set_underlying_type): ... here.
Also, make sure the function properly sets TYPE_STUB_DECL() on
the newly created typedef variant type.
(is_typedef_decl ): New entry point.
* tree.h: Added a new member member_types_needing_access_check to
struct tree_decl_non_common.
(set_underlying_type): New entry point.
(is_typedef_type): Likewise.
gcc/cp/ChangeLog/
2009-01-21 Dodji Seketeli <dodji@redhat.com>
PR c++/26693
* decl2.c (grokfield): when a typedef appears in a
class, create the typedef variant type node for it.
(save_template_attributes): Creating typedef variant type node
here is now useless.
* decl.c (grokdeclarator): If the typedef'ed struct/class was
anonymous, set the proper type name to all its type variants.
* name-lookup.c (pushdecl_maybe_friend): Reuse the
set_underlying_type function to install typedef variant types.
* cp-tree.h (MEMBER_TYPES_NEEDING_ACCESS_CHECK): New template accessor
macro.
(append_type_to_template_for_access_check): New entry points.
* semantics.c (check_accessibility_of_qualified_id):
When a typedef that is a member of a class appears in a template,
add it to the template. It will be ...
* pt.c (instantiate_class_template, instantiate_template ): ... access
checked at template instantiation time.
(tsubst): Handle the case of being called with NULL args.
(resolve_type_name_type): The type name should be the name of the
main type variant.
(append_type_to_template_for_access_check): New entry point.
gcc/testsuite/ChangeLog
2009-01-21 Dodji Seketeli <dodji@redhat.com>
PR c++/26693
* g++.dg/template/typedef11.C: New test.
* g++.dg/template/typedef12.C: Likewise.
* g++.dg/template/typedef13.C: Likewise.
* g++.dg/template/typedef14.C: Likewise.
* g++.dg/template/sfinae3.C: Compile this pedantically.
The only errors expected should be the one saying the typedef is ill
formed.
* g++.old-deja/g++.pt/typename8.C: Likewise.
* g++.dg/template/access11.C: Update this.
libstdc++-v3/ChangeLog:
2009-01-21 Dodji Seketeli <dodji@redhat.com>
* include/ext/bitmap_allocator.h: the typedefs should be made public
if we want them to be accessible. This has been revealed by the patch
that fixes PR c++/26693 in g++.
From-SVN: r143546
2009-01-21 17:14:49 +01:00
Jonathan Wakely
8b6ded8d4f
thread (__thread_data_base::__run): Make non-const.
...
* include/std/thread (__thread_data_base::__run): Make non-const.
* testsuite/30_threads/thread/cons/5.cc: New.
From-SVN: r143483
2009-01-18 12:38:10 +00:00
Benjamin Kosnik
adc8a1e3e0
re PR libstdc++/32666 (FAIL: abi_check hppa)
...
2009-01-15 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/32666
* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2009-01-15 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/32666
* Makefile.am (hosted_source): Remove libmath directory.
* Makefile.in: Regenerate.
* linkage.m4 (GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT): Remove.
(AC_REPLACE_MATHFUNCS): Remove.
(GLIBCXX_CHECK_MATH_SUPPORT): Remove copysign, copysignl checks as done
in GLIBCXX_CHECK_C99_TR1.
* acinclude.m4: Remove libmath, need_math.
* crossconfig.m4: Remove use of HAVE_COPYSIGN, HAVE_COPYSIGNL,
HAVE_COPYSIGNF, GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT, need_libmath.
* configure.ac: Same.
* configure: Regenerate.
* fragment.am: Fix comment.
* config.h.in: Regenerate.
* src/Makefile.in: Regenerate.
* src/Makefile.am: Remove libmath references.
* doc/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
* src/compatibility.cc: Also export long double versions of "C" math
library if hppa-linux.
* config/abi/pre/gnu.ver: Remove unused __signbit exports.
* doc/xml/manual/appendix_contributing.xml: Remove libmath reference.
* libmath: Remove.
* libmath/signbit.c: Same.
* libmath/stubs.c: Same.
* libmath/Makefile.in: Same.
* libmath/copysignf.c: Same.
* libmath/mathconf.h: Same.
* libmath/signbitf.c: Same.
* libmath/Makefile.am: Same.
* libmath/signbitl.c: Same.
From-SVN: r143406
2009-01-15 20:02:11 +00:00
Chris Fairles
959d14e166
acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME], [...]): Remove.
...
2009-01-15 Chris Fairles <cfairles@gcc.gnu.org>
Paolo Carlini <paolo.carlini@oracle.com>
* acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME],
[GLIBCXX_CHECK_NANOSLEEP]): Remove.
([GLIBCXX_ENABLE_LIBSTDCXX_TIME]): Add.
* configure.ac: Adjust.
* doc/xml/manual/configure.xml: Update.
* testsuite/lib/libstdc++.exp (check_v3_target_sched_yield): Add.
* testsuite/lib/dg-options.exp (dg-require-sched-yield): Add.
* testsuite/30_threads/thread/this_thread/2.cc: Use the latter.
* configure: Regenerate.
* config.h.in: Likewise.
* src/thread.cc (thread::thread(), thread::~thread, thread::get_id,
thread::joinable, thread::swap, this_thread::get_id,
this_thread::yield): Define inline...
* include/std/thread: ... here.
* config/abi/pre/gnu.ver: Adjust.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r143397
2009-01-15 14:01:04 +00:00
Jonathan Wakely
06bbcf59db
regex (basic_regex::basic_regex): Use range constructor for _M_pattern.
...
* include/tr1_impl/regex (basic_regex::basic_regex): Use range
constructor for _M_pattern.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
string.cc: Test construction from different basic_string type.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
string.cc: Likewise.
From-SVN: r143275
2009-01-11 17:25:23 +00:00
Benjamin Kosnik
9982752346
re PR libstdc++/36801 (config/cpu/generic/atomicity_mutex/atomicity.h incorrectly relies on global constructor ordering)
...
2009-01-07 Benjamin Kosnik <bkoz@redhat.com>
Jonathan Larmour <jifl@eCosCentric.com>
PR libstdc++/36801
* config/cpu/generic/atomicity_mutex/atomicity.h (get_atomic_mutex):
New.
(__gnu_cxx::__exchange_and_add): Use it.
* src/atomic.cc (get_atomic_mutex): New.
* src/debug.cc (get_safe_base_mutex): New.
* src/locale.cc (get_locale_cache_mutex): New.
* src/mt_allocator.cc (get_freelist): New.
(get_freelist_mutex): New.
* src/pool_allocator.cc (get_palloc_mutex): New.
* include/std/mutex (__once_functor_lock): To
(__get_once_functor_lock): ...this.
* src/mutex.cc (__once_mutex): Don't export, use
(get_once_mutex): ...this.
* config/abi/pre/gnu.ver: Adjust exports.
From-SVN: r143182
2009-01-08 03:14:24 +00:00
Paolo Carlini
8877b5a9bd
re PR libstdc++/38466 (Document std::pair vs. std::swap)
...
2009-01-07 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/38466
* include/bits/stl_pair.h: Document C++03 pair vs swap.
From-SVN: r143154
2009-01-07 13:00:48 +00:00
Jonathan Wakely
49ff5e8140
* include/tr1_impl/regex: Fix bad return statements and typos.
...
From-SVN: r143137
2009-01-06 22:00:25 +00:00
Benjamin Kosnik
78b5828f3d
regex: Remove unimplemented function definitions.
...
2009-01-05 Benjamin Kosnik <bkoz@redhat.com>
* include/tr1_impl/regex: Remove unimplemented function definitions.
* testsuite/28_regex/init-list.cc: Compile only.
* testsuite/tr1/7_regular_expressions/regex/cons/char/
c_string_extended.cc: Same.
* testsuite/tr1/7_regular_expressions/basic_regex/assign/*: Same.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/*: Same.
From-SVN: r143125
2009-01-06 17:41:02 +00:00
Richard Guenther
9c01326d9a
re PR libstdc++/38720 (_Relative_pointer_impl invokes undefined behavior)
...
2009-01-04 Richard Guenther <rguenther@suse.de>
PR libstdc++/38720
* include/ext/pointer.h (_Relative_pointer_impl): Use an unsigned
integer type for storage, arithmetic and comparisons.
* testsuite/ext/ext_pointer/1_neg.cc: Adjust line numbers.
From-SVN: r143058
2009-01-04 19:51:18 +00:00
Paolo Carlini
fea0568fd3
re PR libstdc++/38719 (_Fwd_list_iterator::_M_next() returns reference to local memory)
...
2009-01-04 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/38719
* include/bits/forward_list.h (_Fwd_list_iterator<>::_M_next,
_Fwd_list_const_iterator::_M_next): Fix return type.
From-SVN: r143052
2009-01-04 13:55:25 +00:00
Paolo Carlini
6280bdbee3
2009-01-03 Paolo Carlini <paolo.carlini@oracle.com>
...
* Revert last commit, reopen and suspend libstdc++/38678.
From-SVN: r143038
2009-01-03 22:32:08 +00:00
Paolo Carlini
91a96b33a9
re PR libstdc++/38678 ([DR XXX] istream::read() calls streambuf::sgetn())
...
2009-01-01 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/38678
* include/std/istream (basic_istream<>::_M_read): New.
* include/bits/istream.tcc (basic_istream<>::_M_read): Define.
(basic_istream<>::read, basic_istream<>::readsome): Use it.
* include/std/ostream (basic_ostream<>::_M_write_): New.
(basic_ostream<>::_M_write): Adjust.
* include/bits/ostream.tcc (basic_ostream<>::_M_write_): Define.
* testsuite/27_io/basic_istream/read/char/38678.cc: New.
* testsuite/27_io/basic_istream/read/wchar_t/38678.cc: Likewise.
* testsuite/27_io/basic_ostream/write/char/38678.cc: Likewise.
* testsuite/27_io/basic_ostream/write/wchar_t/38678.cc: Likewise.
From-SVN: r142994
2009-01-01 10:08:31 +00:00
Jonathan Larmour
f05d0fc148
concurrence.h: Fix __gthread_cond_t initialisation function macro name.
...
2008-12-22 Jonathan Larmour <jifl@eCosCentric.com>
* include/ext/concurrence.h: Fix __gthread_cond_t initialisation
function macro name.
From-SVN: r142901
2008-12-23 03:10:35 +00:00
Paolo Carlini
c947d638c6
re PR libstdc++/38596 (tr1_impl/functional incompatible with -fno-rtti)
...
2008-12-21 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/38596
* include/tr1_impl/function (function<>::target,
function<>::target_type): Provide only when __GXX_RTTI is defined.
(_Function_base::_M_manager, _Ref_manager<>::_M_manager,
_Function_handler<void(_ArgTypes...), _Member _Class::*>::_M_manager):
Adjust.
From-SVN: r142862
2008-12-21 15:56:22 +00:00
Benjamin Kosnik
d4e1b0727a
cstdatomic: Remove assert include.
...
2008-12-15 Benjamin Kosnik <bkoz@redhat.com>
* include/c_global/cstdatomic: Remove assert include.
* include/debug/debug.h: Consolidate __replacement_assert...
* include/parallel/base.h: Consolidate __replacement_assert...
* include/bits/c++config: ...here.
* include/bits/atomic_0.h: Use it.
* include/bits/atomic_2.h: Same.
* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
From-SVN: r142777
2008-12-16 01:28:46 +00:00
Benjamin Kosnik
1a6e675339
atomic.cc: Revert last change.
...
2008-12-13 Benjamin Kosnik <bkoz@redhat.com>
* src/atomic.cc: Revert last change.
* include/bits/atomic_2.h: Move cassert include to...
* include/c_global/cstdatomic: ...here.
* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
From-SVN: r142742
2008-12-13 20:01:57 +00:00
Benjamin Kosnik
50ce8d3d78
cstdatomic: Update to N2798.
...
2008-12-11 Benjamin Kosnik <bkoz@redhat.com>
Richard Henderson <rth@redhat.com>
* include/c_global/cstdatomic: Update to N2798.
(atomic): Remove explicit constructors as per DR 845.
* include/bits/atomic_0.h: New. Switchable implementation.
* include/bits/atomic_2.h: New. Lock-free implementation.
* include/c_compatibility/stdatomic.h: Use foward headers.
* include/bits/atomicfwd_cxx.h: New.
* include/bits/atomicfwd_c.h: New.
* src/atomic.cc: Adjust.
* acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): Remove,
unconditionally use default/deleted syntax.
(GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for 2, 8.
* include/Makefile.am (bits_headers): Add atomicfwd_c.h,
atomicfwd_cxx.h, atomic_0.h, atomic_2.h.
* include/Makefile.in: Regenerate.
* configure: Regenerate.
* config.h.in: Regenerate.
* config/abi/pre/gnu.ver: Adjust exports.
* testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: Adjust.
* testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: Same.
* testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: Same.
* testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
* testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Move to..
* testsuite/29_atomics/atomic_address/cons/single_value.cc: ...this.
* testsuite/29_atomics/atomic_address/cons/copy_neg.cc
* testsuite/29_atomics/atomic_integral/cons/single_value.cc: New.
* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: New.
* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: New.
* testsuite/29_atomics/atomic_integral/cons/default.cc: New.
* testsuite/29_atomics/atomic_integral/cons/direct_list.cc: New.
* testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
* testsuite/29_atomics/atomic_integral/requirements/
standard_layout.cc: New.
* testsuite/29_atomics/atomic_integral/operators/
integral_assignment.cc: New.
* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: New.
* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: New.
* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: New.
* testsuite/29_atomics/atomic_integral/operators/increment.cc: New.
* testsuite/29_atomics/atomic_integral/operators/decrement.cc: New.
* testsuite/29_atomics/atomic_integral/operators/bitwise.cc: New.
* testsuite/29_atomics/atomic_integral/operators/
integral_conversion.cc: New.
* testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Adjust.
* testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same.
* testsuite/29_atomics/atomic_flag/requirements/
standard_layout.cc: Same.
* testsuite/29_atomics/atomic_flag/
atomic_global_fence_compatibility.cc: Kill.
* testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Adjust.
* testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same.
* testsuite/29_atomics/headers/cstdatomic/macros.cc: Same.
* testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
* testsuite/29_atomics/headers/stdatomic.h/types.c: Same.
* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
* testsuite/29_atomics/atomic/cons/explicit_value.cc: Move to...
* testsuite/29_atomics/atomic/cons/single_value.cc: ...this.
* testsuite/29_atomics/atomic/cons/copy_neg.cc
* testsuite/29_atomics/atomic/cons/direct_list.cc: New.
* testsuite/29_atomics/atomic/cons/copy_list.cc: New.
* testsuite/29_atomics/atomic/requirements/standard_layout.cc: New.
* testsuite/29_atomics/atomic/requirements/base_classes.cc: New.
* testsuite/29_atomics/atomic/operators/integral_assignment.cc: New.
* testsuite/29_atomics/atomic/operators/integral_conversion.cc: New.
* testsuite/util/testsuite_hooks.h (bitmask_operators): Move...
* testsuite/util/testsuite_common_types.h: ...here.
(atomic_integrals_no_bool): New.
(atomic_integrals): New.
(has_increment_operators, has_decrement_operators)
(direct_list_initializable, single_value_constructible)
(standard_layout, has_bitwise_operators, integral_convertable)
(integral_assignable): Add.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r142714
2008-12-12 17:10:16 +00:00
Paolo Carlini
a5d137be06
[multiple changes]
...
2008-12-08 Paolo Carlini <paolo.carlini@oracle.com>
* include/tr1_impl/cmath: Undef requof / remquol too; add using
declarations.
* acinclude.m4 [GLIBCXX_CHECK_C99_TR1]: Check remquof / remquol too.
* testsuite/tr1/8_c_compatibility/cmath/functions.cc: Adjust.
* configure: Regenerate.
2008-12-08 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/bits/forward_list.h: Fixed spurious "forward_swap" in doxy.
From-SVN: r142548
2008-12-08 11:51:32 +00:00
Paolo Carlini
22493a73d5
re PR libstdc++/38421 (libstdc++-v3/include/tr1/ell_integral.tcc contains __ea identifier)
...
2008-12-06 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/38421
* include/tr1/ell_integral.tcc: Avoid __ea, future SPU badname.
* doc/xml/manual/appendix_contributing.xml: Add __ea to the list
of badnames.
From-SVN: r142519
2008-12-06 10:25:24 +00:00
Tom Tromey
b72b814f80
* include/tr1_impl/functional (_Mu): Fix typo.
...
From-SVN: r142507
2008-12-05 23:42:11 +00:00
Paolo Carlini
015daa3a7b
re PR libstdc++/38399 (money_get<> read decimal point when frac_digits() <= 0)
...
2008-12-05 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/38399
* include/bits/locale_facets_nonio.tcc (money_get<>::
_M_extract(iter_type, iter_type, ios_base&, ios_base::iostate&,
string&)): Fix, reject decimal point when frac_digits <= 0.
* testsuite/22_locale/money_get/get/char/38399.cc: New.
* testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
* testsuite/22_locale/money_get/get/char/5.cc: Adjust.
* testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
From-SVN: r142487
2008-12-05 18:23:39 +00:00
Benjamin Kosnik
a40fff0edb
re PR libstdc++/38080 (dead links in libstdc++ headers)
...
2008-12-01 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/38080
* include/std/iostream: Correct URL.
* include/std/streambuf: Same.
* include/std/bitset: Same.
* include/std/iosfwd: Same.
* include/std/fstream: Same.
* include/std/istream: Same.
* include/std/ostream: Same.
* include/std/sstream: Same.
* include/bits/basic_ios.h: Same.
* include/bits/stl_map.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/stl_multimap.h: Same.
* include/bits/ios_base.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/char_traits.h: Same.
* include/bits/stl_relops.h: Same.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Ditto.
From-SVN: r142344
2008-12-02 04:55:54 +00:00
Paolo Carlini
c32f57c054
PR libstdc++/38244 (cont, debug bits)
...
2008-11-24 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/38244 (cont, debug bits)
* include/debug/bitset (bitset<>::bitset(const char*, char, char)):
Remove, do not implement DR 778.
From-SVN: r142153
2008-11-24 11:19:39 +00:00
Paolo Carlini
9daf8216f4
re PR libstdc++/38244 (bitset initialization from 0 rejected.)
...
2008-11-24 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/38244
* include/std/bitset (bitset<>::bitset(const char*, char, char)):
Remove, do not implement DR 778.
* doc/xml/manual/intro.xml: Remove entry for DR 778.
* testsuite/23_containers/bitset/cons/2.cc: Remove.
* testsuite/23_containers/bitset/cons/dr396.cc: Tweak.
* testsuite/23_containers/bitset/cons/38244.cc: Add.
From-SVN: r142152
2008-11-24 11:13:44 +00:00
Paolo Carlini
d2f6b13b3b
re PR libstdc++/38210 (num_put<>::do_put(void*) performs padding incorrectly when adjustfield==internal)
...
2008-11-21 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/38210
* include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
ios_base&, char_type, const void*)): Fix.
* testsuite/22_locale/num_put/put/char/38210.cc: New.
* testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
From-SVN: r142085
2008-11-21 09:59:17 +00:00
Paolo Carlini
7391b59739
re PR libstdc++/38196 (num_put<>::do_put(bool) performs 'internal' padding incorrectly when boolalpha==true)
...
2008-11-20 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/38196
* include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
ios_base&, char_type, bool)): Fix.
* testsuite/22_locale/num_put/put/char/38196.cc: New.
* testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
From-SVN: r142048
2008-11-20 16:00:17 +00:00
Paolo Carlini
43db6c722a
cinttypes: Remove redundant pragma system_header.
...
2008-11-18 Paolo Carlini <paolo.carlini@oracle.com>
* include/tr1_impl/cinttypes: Remove redundant pragma system_header.
* include/tr1_impl/cfenv: Likewise.
* include/tr1_impl/cstdint: Likewise.
From-SVN: r141968
2008-11-18 17:27:10 +00:00
Paolo Carlini
ddbfe947b3
re PR libstdc++/38000 (System header files not found once -isystem /usr/include is used)
...
2008-11-13 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/38000
* include/c_global/csignal: Do not use include_next.
* include/c_global/cstdlib: Likewise.
* include/c_global/cstdio: Likewise.
* include/c_global/cstdarg: Likewise.
* include/c_global/cctype: Likewise.
* include/c_global/cerrno: Likewise.
* include/c_global/cmath: Likewise.
* include/c_global/clocale: Likewise.
* include/c_global/climits: Likewise.
* include/c_global/cassert: Likewise.
* include/c_global/csetjmp: Likewise.
* include/c_global/cwchar: Likewise.
* include/c_global/cfloat: Likewise.
* include/c_global/cstdbool: Likewise.
* include/c_global/cstring: Likewise.
* include/c_global/cstddef: Likewise.
* include/c_global/cwctype: Likewise.
* include/tr1/cstdbool: Likewise.
* include/tr1_impl/cinttypes: Do not include <inttypes.h>.
* include/c_global/cinttypes: Do it here.
* include/tr1/cinttypes: Likewise.
* include/tr1_impl/cfenv: Do not include <fenv.h>.
* include/c_global/cfenv: Do it here.
* include/tr1/cfenv: Likewise.
* include/tr1_impl/cstdint: Do not include <stdint.h>.
* include/c_global/cstdint: Do it here.
* include/tr1/cstdint: Likewise.
* include/c_compatibility/fenv.h: Include <tr1_impl/cfenv>.
* include/c_compatibility/stdint.h: Include <tr1_impl/cstdint>.
* include/c_compatibility/inttypes.h: Include <tr1_impl/cinttypes>.
* include/c_compatibility/math.h: Minor tweak, add comment.
From-SVN: r141812
2008-11-13 00:06:55 +00:00
Paolo Carlini
085b55410d
PR libstdc++/37986 (cont)
...
2008-11-12 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/37986 (cont)
* include/tr1_impl/random (struct _Adaptor): Use only remove_reference
on _Engine.
(struct _Adaptor<_Engine*, _Distribution>): Add.
* testsuite/tr1/5_numerical_facilities/random/variate_generator/
37986.cc: Extend.
From-SVN: r141784
2008-11-12 09:59:27 +00:00
Paolo Carlini
285743c92b
re PR libstdc++/37986 (std::tr1::variate_generator does not conform to TR1.)
...
2008-11-11 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/37986
* include/tr1_impl/random (struct _Adaptor): Use remove_pointer
and remove_reference on _Engine.
* testsuite/tr1/5_numerical_facilities/random/variate_generator/
37986.cc: New.
From-SVN: r141769
2008-11-11 14:31:48 +00:00
Bob Walters
1b32e4e506
forward_list.h: Support non-standard pointer types
...
2008-11-11 Bob Walters <bob.s.walters@gmail.com>
* include/bits/forward_list.h: Support non-standard pointer types
(_Fwd_list_node_base): Add _Alloc template parameter.
(_Fwd_list_node<>): Likewise.
(_Fwd_list_iterator<>): Likewise.
(_Fwd_list_const_iterator<>): Likewise.
(_Fwd_list_node_base::_M_next, _M_transfer_after, _M_reverse_after):
Use _Alloc<_Tp>::pointer.
(_Fwd_list_iterator<>::_M_node): Use _Node_base::_Pointer.
(_Fwd_list_base<>::_M_get_node, _M_create_node, _M_create_node,
_M_insert_after, _M_put_node, _M_erase_after): Likewise.
(_Fwd_list_const_iterator<>::_M_node): use _Node_base::_Const_pointer.
(forward_list<>): Use __static_pointer_cast in place of static_cast,
and __const_pointer_cast in place of const_cast.
* include/bits/forward_list.tcc
(_Fwd_list_node<>::_M_sort_after): Using _Pointer typedefs in place
of standard pointers, __static_pointer_cast in place of static_cast.
(_Fwd_list_base<>::_Fwd_list_base, _M_insert_after, _M_erase_after):
Likewise.
(forward_list<>::_M_initialize_dispatch, _M_fill_initialize,
splice_after, remove, remove_if, merge): Likewise.
* testsuite/23_containers/forward_list/ext_pointer/modifiers/1.cc: New.
* testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/modifiers/3.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/modifiers/4.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/modifiers/5.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/1.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/2.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/3.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/4.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/5.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/6.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/operations/7.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/requirements/1.cc:
Likewise.
* testsuite/23_containers/forward_list/ext_pointer/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/23_containers/forward_list/ext_pointer/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/forward_list/ext_pointer/1.cc: Likewise.
From-SVN: r141765
2008-11-11 12:16:57 +00:00
Paolo Carlini
8d8a4e9d3d
extptr_allocator.h: Minor tweaks.
...
2008-11-11 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/extptr_allocator.h: Minor tweaks.
* include/ext/pointer.h: Likewise.
* include/ext/cast.h: Likewise.
From-SVN: r141764
2008-11-11 12:15:59 +00:00
Paolo Carlini
b5b3f66baa
2008-11-07 Paolo Carlini <paolo.carlini@oracle.com>
...
* Complete last commit.
From-SVN: r141677
2008-11-07 15:44:35 +00:00
Paolo Carlini
8d200e06a4
2008-11-07 Paolo Carlini <paolo.carlini@oracle.com>
...
* Complete last commit.
From-SVN: r141676
2008-11-07 15:44:20 +00:00
Paolo Carlini
9f4a439439
2008-11-07 Paolo Carlini <paolo.carlini@oracle.com>
...
* Complete last commit.
From-SVN: r141675
2008-11-07 15:43:57 +00:00
Bob Walters
b74318f12b
pointer.h: Add experimental support for non-standard pointer types in containers via the...
...
2008-11-07 Bob Walters <bob.s.walters@gmail.com>
* include/ext/pointer.h: Add experimental support for non-standard
pointer types in containers via the allocator::pointer typedef.
(Currently only supported/working with std::vector)
* include/ext/cast.h: Add overload-able pointer casting functions
for use in containers supporting non-standard pointer types.
* include/ext/extptr_allocator.h: Add _ExtPtr_allocator.
* include/Makefile.am: Update.
* include/precompiled/extc++.h: Likewise.
* include/Makefile.in: Regenerate.
* testsuite/ext/ext_pointer/1.cc: New.
* testsuite/ext/ext_pointer/1_neg.cc: Likewise.
* testsuite/23_containers/vector/ext_pointer/citerators.cc: New.
* testsuite/23_containers/vector/ext_pointer/data_access.cc: Likewise.
* testsuite/23_containers/vector/ext_pointer/resize.cc: Likewise.
* testsuite/23_containers/vector/ext_pointer/types/1.cc: Likewise.
* testsuite/23_containers/vector/ext_pointer/modifiers/element.cc:
Likewise.
* testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc:
Likewise.
* testsuite/23_containers/vector/ext_pointer/modifiers/insert.cc:
Likewise.
* testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
1.cc: Likewise.
* testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
3.cc: Likewise.
From-SVN: r141674
2008-11-07 15:26:25 +00:00
Jonathan Wakely
8e66def0a1
re PR libstdc++/38017 (30_threads/thread/cons/X.cc)
...
PR libstdc++/38017
Revert:
* include/tr1_impl/functional (result_of,reference_wrapper): Update
to use C++0x features.
* testsuite/20_util/function_objects/return_types/result_of.cc: New.
* testsuite/20_util/function_objects/return_types/result_of_neg.cc:
New.
* testsuite/20_util/function_objects/return_types/result_of_ref.cc:
New.
* testsuite/20_util/reference_wrapper/24803.cc: Uncomment FIXMEs.
From-SVN: r141602
2008-11-05 09:36:35 +00:00
Jonathan Wakely
a28a65ec25
re PR libstdc++/24803 ([c++0x] reference_wrapper and pointers to member functions)
...
PR libstdc++/24803
PR libstdc++/37351
* include/tr1_impl/functional (result_of,reference_wrapper): Update
to use C++0x features.
* testsuite/20_util/function_objects/return_types/result_of.cc: New.
* testsuite/20_util/function_objects/return_types/result_of_neg.cc:
New.
* testsuite/20_util/function_objects/return_types/result_of_ref.cc:
New.
* testsuite/20_util/reference_wrapper/24803.cc: Uncomment FIXMEs.
From-SVN: r141596
2008-11-05 02:05:59 +00:00
Paolo Carlini
2a81fe20dd
locale_facets.tcc (num_get<>::do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&): Tidy.
...
2008-11-03 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
iter_type, ios_base&, ios_base::iostate&, bool&): Tidy.
* testsuite/22_locale/num_get/get/char/37958.cc: Extend.
* testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
From-SVN: r141546
2008-11-03 10:23:38 +00:00
Paolo Carlini
7ea6fdf55e
PR libstdc++/37958 (cont again)
...
2008-11-01 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/37958 (cont again)
* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.
* testsuite/22_locale/num_get/get/char/37958.cc: Extend.
* testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
From-SVN: r141523
2008-11-01 22:09:43 +00:00
Paolo Carlini
f18e0ca6dc
locale_facets.tcc (num_get<>::do_get(, long&), [...]): Move inline...
...
2008-11-01 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/locale_facets.tcc (num_get<>::do_get(, long&),
num_get<>::do_get(, unsigned short&),
num_get<>::do_get(, unsigned int&),
num_get<>::do_get(, unsigned long&),
num_get<>::do_get(, long long&),
num_get<>::do_get(, unsigned long long&),
num_put<>::do_put(, long), num_put<>::do_put(, unsigned long),
num_put<>::do_put(, long long),
num_put<>::do_put(, unsigned long long)): Move inline...
* include/bits/locale_facets.h: ... here.
From-SVN: r141520
2008-11-01 17:38:39 +00:00
Paolo Carlini
fa4262a47a
PR libstdc++/37958 (cont)
...
2008-11-01 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/37958 (cont)
* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.
From-SVN: r141517
2008-11-01 16:17:42 +00:00
Jonathan Wakely
8dd5e93af6
shared_ptr.h: Update comparisons to match WP.
...
2008-11-01 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/bits/shared_ptr.h: Update comparisons to match WP.
(_Sp_counted_ptr): Make copy and assignment members deleted.
(_Sp_counted_deleter): Remove private copy and assignment members.
(__shared_count::_M_less,__weak_count::_M_less,operator<): Replace
friend operator< with overloaded _M_less member functions to allow
comparison with either shared_count or weak_count.
(__shared_ptr::_M_less,__weak_ptr::_M_less): Replace with...
(__shared_ptr::owner_before,__weak_ptr::owner_before): New overloads
for ownership-based ordering.
(operator<(__shared_ptr,__shared_ptr)): Compare stored pointers,
make non-friend.
(operator==(__shared_ptr,__shared_ptr)): Make non-friend.
(operator!=(__shared_ptr,__shared_ptr)): Likewise.
(less<__shared_ptr<>>,less<shared_ptr<>>,_Sp_less): Explicitly call
pointer specialization.
(__weak_ptr::operator<,weak_ptr::operator<=,weak_ptr::operator>,
weak_ptr::operator>=): Remove operator< and delete all comparisons.
(_Sp_owner_less,owner_less): Predicate for ownership-based ordering.
(operator<(shared_ptr,shared_ptr): Overload for derived shared_ptr.
(operator==(shared_ptr,shared_ptr): Likewise.
(operator!=(shared_ptr,shared_ptr): Likewise.
(swap(shared_ptr,shared_ptr)): Fix parameter types.
(swap(weak_ptr,weak_ptr)): Add missing overload.
* testsuite/20_util/owner_less/cmp.cc: New.
* testsuite/20_util/shared_ptr/comparison/cmp.cc: Test other ops.
* testsuite/20_util/shared_ptr/comparison/less.cc: New.
* testsuite/20_util/shared_ptr/observers/owner_before.cc: New.
* testsuite/20_util/weak_ptr/observers/owner_before.cc: New.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: New.
From-SVN: r141512
2008-11-01 11:29:06 +00:00
Paolo Carlini
894e47e76e
re PR libstdc++/37958 (num_get<>::do_get(bool) sets eofbit flag incorrectly when boolalpha == true)
...
2008-10-31 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/37958
* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
iter_type, ios_base&, ios_base::iostate&, bool&): Fix.
* testsuite/22_locale/num_get/get/char/37958.cc: New.
* testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
From-SVN: r141498
2008-10-31 16:47:48 +00:00
Paolo Carlini
8f0f2a1dfd
re PR libstdc++/37919 ([c++0x] GCC 4.4 regression r141214 of gcc c++0x stl_pair.c causes a boost 1.36 compilation to fail)
...
2008-10-27 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/37919
Revert:
2008-10-18 Douglas Gregor <doug.gregor@gmail.com>
* include/bits/stl_pair.h (__may_be_null_pointer_init): New.
(pair::pair): Eliminate the redundant pair(U1&&, U2&&) constructor.
Add lvalue pair<U1, U2> constructor to handle non-const pair lvalues.
Remove the old variadic constructor, and instead provide several
variadic constructors that avoid failing when attempting to
initialize a pointer from a null pointer constant.
* testsuite/20_util/pair/moveable.cc (test3): Add new tests with
initialization of pointers from the null pointer constant.
From-SVN: r141388
2008-10-27 16:50:23 +00:00