2004-09-29 Paolo Carlini <pcarlini@suse.de>
* include/std/std_sstream.h (basic_stringbuf(ios_base::openmode)):
Don't use _M_stringbuf_init, keep the pointers null, per 27.7.1.1.
(str()): Slightly tweak, protect from pptr() == 0.
(_M_update_egptr()): Likewise.
* include/bits/sstream.tcc (ssekoff, seekpos): In order to check
for an empty buffer use __beg instead of _M_string.capacity().
* testsuite/27_io/basic_stringbuf/cons/char/1.cc: New.
* testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/cons/char/1.cc: New.
* testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/cons/char/1.cc: Update.
* testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
2004-09-29 Paolo Carlini <pcarlini@suse.de>
Benjamin Kosnik <bkoz@redhat.com>
* testsuite/testsuite_io.h (class constraint_buf): New, extended
and templatized version of constraint_filebuf; add typedefs for
streambuf/stringbuf/filebuf and wchar_t counterparts.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
From-SVN: r88307
gcc/cp:
* decl.c (grokfndecl): If ::main is found not to return int,
correct it after issuing a diagnostic.
(grokdeclarator): If the incoming type was error_mark_node, do
not complain about declaring something with no type.
(start_function): Change check for ::main not returning int to
an assertion, as grokfndecl now catches this when the user did it.
* init.c (perform_member_init, sort_mem_initializers)
(emit_mem_initializers): Make most diagnostics be issued on
the line of current_function_decl, not whatever the current
input line is.
* parser.c (cp_lexer_peek_token_emit_debug_info): Surround
definition and declaration with #ifdef ENABLE_CHECKING.
Avoid unnecessary use of fprintf.
(cp_lexer_print_token, cp_lexer_debug_stream): Adjust stub
definitions to avoid warnings.
(cp_lexer_new_main): Add assertion that first token is not a
padding token.
(cp_lexer_new_from_token_array): Fold into ...
(cp_lexer_new_from_tokens): ... here. Add assertion that
first token is not a padding token.
(cp_lexer_set_source_position_from_token): Move nearer to callers.
Remove unused lexer argument.
(cp_lexer_peek_token): Just print debugging report (if enabled)
and return lexer->next_token.
(cp_lexer_skip_purged_tokens): Delete.
(cp_lexer_next_token_is, cp_lexer_next_token_is_not): Make
inline, simplify bodies.
(cp_lexer_peek_nth_token): Add debugging report a la
cp_lexer_peek_token.
(cp_lexer_consume_token): Correct commentary. Advance over
purged tokens here. Set current source position here, from
token to be returned. Avoid unnecessary use of fprintf.
(cp_lexer_purge_token): Advance next_token pointer over this and
subsequent purged tokens.
(cp_parser_error): Adjust source position to that of the
peeked token.
(cp_parser_push_lexer_for_tokens, cp_parser_pop_lexer): New functions.
(cp_parser_string_literal): Remove some excessive cleverness.
(cp_parser_enum_specifier): Call start_enum before consuming
the opening brace.
(cp_parser_member_declaration): Make the "extra semicolon"
diagnostic consistently-worded with the other place this is
diagnosed. Explicitly set the diagnostic location to the
location of the offending semicolon.
(cp_parser_enclosed_template_argument_list): Use %</%> quoting
in diagnostics. Do not use cp_parser_require. Set location
of diagnostics about improper use of '>>' to location of
offending token.
(cp_parser_late_parsing_for_member):
Use cp_parser_push_lexer_for_tokens and cp_parser_pop_lexer.
(cp_parser_late_parsing_default_args): Likewise. Manually
move some logic outside the loop.
gcc/testsuite:
* g++.dg/ext/complit1.C
* g++.dg/other/error2.C
* g++.dg/other/nontype-1.C
* g++.dg/parse/crash11.C
* g++.dg/parse/crash12.C
* g++.dg/parse/error15.C
* g++.dg/parse/error4.C
* g++.dg/parse/tmpl-outside1.C
* g++.dg/parse/too-many-tmpl-args1.C
* g++.dg/template/dependent-expr3.C
* g++.dg/template/error10.C
* g++.dg/template/instantiate1.C
* g++.dg/template/vtable2.C
* g++.dg/warn/Wshadow-1.C
* g++.dg/warn/weak1.C
* g++.old-deja/g++.brendan/crash16.C
* g++.old-deja/g++.brendan/crash18.C
* g++.old-deja/g++.brendan/crash48.C
* g++.old-deja/g++.brendan/crash49.C
* g++.old-deja/g++.brendan/crash55.C
* g++.old-deja/g++.brendan/crash56.C
* g++.old-deja/g++.brendan/crash8.C
* g++.old-deja/g++.brendan/enum11.C
* g++.old-deja/g++.brendan/enum8.C
* g++.old-deja/g++.brendan/enum9.C
* g++.old-deja/g++.brendan/friend3.C
* g++.old-deja/g++.brendan/misc14.C
* g++.old-deja/g++.bugs/900402_02.C
* g++.old-deja/g++.bugs/900404_03.C
* g++.old-deja/g++.bugs/900404_04.C
* g++.old-deja/g++.bugs/900428_03.C
* g++.old-deja/g++.jason/crash4.C
* g++.old-deja/g++.jason/overload21.C
* g++.old-deja/g++.jason/redecl1.C
* g++.old-deja/g++.jason/report.C
* g++.old-deja/g++.jason/rfg10.C
* g++.old-deja/g++.jason/template30.C
* g++.old-deja/g++.law/arm12.C
* g++.old-deja/g++.law/ctors5.C
* g++.old-deja/g++.law/cvt20.C
* g++.old-deja/g++.law/init10.C
* g++.old-deja/g++.law/init8.C
* g++.old-deja/g++.law/visibility17.C
* g++.old-deja/g++.law/visibility7.C
* g++.old-deja/g++.mike/net8.C
* g++.old-deja/g++.mike/p646.C
* g++.old-deja/g++.mike/p700.C
* g++.old-deja/g++.mike/p701.C
* g++.old-deja/g++.mike/p811.C
* g++.old-deja/g++.ns/template13.C
* g++.old-deja/g++.other/array3.C
* g++.old-deja/g++.other/crash25.C
* g++.old-deja/g++.other/dtor3.C
* g++.old-deja/g++.other/dtor4.C
* g++.old-deja/g++.other/main1.C
* g++.old-deja/g++.other/warn7.C
* g++.old-deja/g++.pt/crash11.C
* g++.old-deja/g++.pt/crash36.C
* g++.old-deja/g++.pt/spec22.C
* g++.old-deja/g++.pt/spec9.C
* g++.old-deja/g++.pt/ttp52.C
* g++.old-deja/g++.robertl/eb103.C
* g++.old-deja/g++.robertl/eb121.C
* g++.old-deja/g++.robertl/eb22.C
* g++.old-deja/g++.robertl/eb8.C:
Update locations and/or regexps of dg-error markers.
Remove markers for some bogus messages that are no longer issued.
libstdc++-v3:
* testsuite/20_util/memory/auto_ptr/assign_neg.cc
* testsuite/23_containers/map/operators/1_neg.cc
* testsuite/23_containers/set/operators/1_neg.cc:
Update locations and/or regexps of dg-error markers.
From-SVN: r87985
2004-09-13 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/11722
* include/std/std_fstream.h (xsgetn): Declare only.
* include/bits/fstream.tcc (xsgetn): Define, optimize for the
always_noconv() case: when __n > __buflen, copy the available
buffer and issue a direct read.
* testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: New.
* include/bits/fstream.tcc (xsputn): Minor tweak, reorder a
conditional.
From-SVN: r87453
2004-08-29 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (time_get<>::_M_extract_via_format,
case 'S'): Allow for at least one leap-second (as per C99, 7.23.1
and 7.23.3.5), two if !_GLIBCXX_USE_C99.
* testsuite/22_locale/time_get/get_time/char/4.cc: New.
* testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
From-SVN: r86712
2004-08-22 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_put<>::do_put(bool)): Cast
to a signed type, long according to the resolution of DR 359.
* testsuite/22_locale/num_put/put/char/9.cc: New.
* testsuite/22_locale/num_put/put/wchar_t/9.cc: New.
* include/bits/locale_facets.tcc (num_put<>::do_put(const void*)):
Simplify a bit: no need to clear showpos.
From-SVN: r86382
* Makefile.am (hosted_source): Add libmath and testsuite.
(SUBDIRS): Remove them.
* acinclude.m4: (GLIBCXX_ENABLED_HOSTED): Default to freestanding
on arm*-*-symbianelf*.
* crossconfig.m4: Add arm*-*-symbianelf* support.
* include/c_std/std/std_cstdlib.h (stdlib.h): Do not include it
when freestanding. Do not bring names into std:: namespace with
"using" when freestanding. Declare required functions and macros
when freestanding.
* libsupc++/Makefile.am (c_sources): Do not include cp-demangle.c
when freestanding.
* libsupc++/del_op.cc: Declare "free" only when freestanding.
* libsupc++/eh_alloc.cc (cstring): Include it only when hosted.
(malloc): Declare when freestanding.
(free): Likewise.
(memset): Likewise.
(__cxa_allocate_exception): Call malloc, not std::malloc. Likewise
for memset.
(__cxa_free_exception): Likewise for free.
* libsupc++/new_op.cc: Declare "malloc" when freestanding.
* libsupc++/pure.cc (writestr): Define to nothing when
freestanding.
* libsupc++/vterminate.cc: Do not define anything when
freestanding.
* Makefile.in: Regenerated.
* aclocal.m4: Likewise.
* configure: Likewise.
* include/Makefile.in: Likewise.
* libmath/Makefile.in: Likewise.
* libsupc++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
From-SVN: r85452
* include/bits/stl_construct.h (_Destroy): New three-argument
overload that takes an allocator argument. Another inline
three-argument overload that takes std::allocator and dispatches
to the two-argument version.
* include/bits/stl_uninitialized.h (__uninitialized_fill_n_aux):
Change return type to void to match uninitialized_fill_n.
(__uninitialized_copy_a_): New function. Like uninitialized_copy
except that it takes an allocator and uses it for construct and
destroy. If the allocator is std::allocator, dispatches to
uninitialized_copy.
(__uninitialized_fill_a): Likewise.
(__uninitialized_fill_n_a): Likewise.
(__uninitialized_copy_copy): Give it an allocator argument.
(__uninitialized_fill_copy): Likewise.
(__uninitialized_copy_fill): Likewise.
* include/bits/deque.tcc: Use new forms defined in stl_construct.h
and stl_uninitialized.h. Replace use of single-argument _Construct
and _Destroy with use of allocator's construct and destroy methods.
* include/bits/list.tcc: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_tree.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/vector.tcc: Likewise.
* include/ext/hashtable.h: Use rebind so that allocator_type
has correct type for a container's allocator. Replace use of
single-argument _Construct and _Destroy with use of allocator's
construct and destroy methods.
* include/ext/memory (__uninitialized_copy_n_a): New function.
Like uninitialized_copy_n except that it takes an extra parameter,
an allocator, and uses it for construct and destroy operations.
* include/ext/rope: Use new forms defined in stl_construct.h,
stl_uninitialized.h, and ext/memory. Replace use of single-argument
_Construct and _Destroy with allocator construct and destroy methods.
* include/ext/ropeimpl.h: Likewise.
* include/ext/slist.h: Likewise.
* testsuite/testsuite_allocator.h (check_construct_destroy): New.
* testsuite/testsuite_allocator.cc (check_construct_destroy): New.
* testsuite/23_containers/deque/check_construct_destroy.cc: New.
* testsuite/23_containers/list/check_construct_destroy.cc: New.
* testsuite/23_containers/set/check_construct_destroy.cc: New.
* testsuite/23_containers/vector/check_construct_destroy.cc: New.
* testsuite/ext/hash_check_construct_destroy.cc: New.
* testsuite/ext/slist_check_construct_destroy.cc: New.
From-SVN: r85265
2004-07-13 Paolo Carlini <pcarlini@suse.de>
* testsuite/22_locale/locale/cons/12658_thread.cc: Move/rename
to 12658_thread-1.cc and xfail.
* testsuite/22_locale/locale/cons/12658_thread-2.c: New, much
simpler version of 12658_thread-1.cc, still failing on 3_3 and
not failing on 3_4/mainline - both on single processor and
multiprocessor machines.
From-SVN: r84610
2004-07-05 Jonathan Wakely <redi@gcc.gnu.org>
* testsuite/23_containers/{set,multiset}/14340.cc: Fix typos in
instantiation of set and multiset (functor param given as int).
From-SVN: r84112
2004-07-04 Paolo Carlini <pcarlini@suse.de>
* testsuite/25_algorithms/copy/1.cc: Add instantiations for
systems with no COMDAT or weak support.
* testsuite/25_algorithms/copy/2.cc: Likewise.
* testsuite/25_algorithms/copy/3.cc: Likewise.
* testsuite/25_algorithms/copy/4.cc: Likewise.
From-SVN: r84076
* configure.ac: Set ABI_TWEAKS_SRCDIR.
* configure.host: Set abi_tweaks_dir. Check for atomicity.h when
setting atomicity_dir. Override type_cpu for arm based targets.
* include/Makefile.am (host_headers): Add cxxabi_tweaks.h.
* libsupc++/cxxabi.h: Include bits/cxxabi.h. Don't declare __guard.
* libsupc++/guard.cc: Use definitions from cxxabi_tweaks.h.
* libsupc++/vec.cc: Ditto.
* config/cpu/arm/cxxabi_tweaks.h: New file.
* config/cpu/generic/cxxabi_tweaks.h: New file.
* */Makefile.in: Regenerate.
* configure: Regenerate.
From-SVN: r84032
2004-07-01 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (__copy_trivial): Remove.
(__copy_aux2): Rewrite as __copy_aux to use __is_pointer,
__is_trivially_copyable, __are_same and __copy::copy.
(__copy): Rewrite as a class template and two specializations.
(__copy_ni2): Simplify, just call __copy_aux.
* include/bits/stl_algobase.h (__copy_backward_aux): Add __are_same
check.
* testsuite/25_algorithms/copy/1.cc, 2.cc, 3.cc, 4.cc: Test also
for destination value type != source value type.
From-SVN: r83991
2004-06-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
Paolo Carlini <pcarlini@suse.de>
* include/bits/cpp_type_traits.h: Add __is_pointer and
__is_trivially_copyable.
* include/bits/stl_algobase.h (fill, fill_n): Slightly
tweak to use the latter.
(__copy_backward_dispatch): Remove.
(__copy_backward_aux): Rewrite to use __is_pointer and
__is_trivially_copyable and __copy_backward::copy_b.
(__copy_backward): Rewrite as a class template and two
specializations.
2004-06-30 Paolo Carlini <pcarlini@suse.de>
* testsuite/25_algorithms/copy.cc: Move to...
* testsuite/25_algorithms/copy/1.cc: ... here, extend.
* testsuite/25_algorithms/copy/2.cc: New.
* testsuite/25_algorithms/copy/3.cc: New.
* testsuite/25_algorithms/copy/4.cc: New.
From-SVN: r83897
2004-06-25 Dan Nicolaescu <dann@ics.uci.edu>
Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (__fill, __fill_n): New helpers
for fill and fill_n, respectively: when copying is cheap, use a
temporary to avoid a memory read in each iteration.
2004-06-25 Paolo Carlini <pcarlini@suse.de>
* testsuite/25_algorithms/fill/1.cc: New.
* testsuite/25_algorithms/fill/2.cc: Likewise.
From-SVN: r83645
Paolo Carlini <pcarlini@suse.de>
* testsuite/testsuite_performance.h
(resource_counter::allocated_memory): Make it return the right
number of bytes requested by the allocators/application. This is
the sbrk+mmaped memory.
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
From-SVN: r82725
2004-05-20 Paolo Carlini <pcarlini@suse.de>
* include/bits/istream.tcc (operator>>(basic_istream<>&,
basic_string<>&)): Use a temporary buffer, thus avoiding
reallocation for common case.
* testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
New.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
Likewise.
* include/bits/istream.tcc: Const-ification of a few variables.
* include/bits/ostream.tcc: Trivial formatting fixes and
const-ification of some variables.
From-SVN: r82070
2004-05-18 Jan Beulich <jbeulich@novell.com>
PR libstdc++/15489
* scripts/create_testsuite_files: Also find source files through
symbolic links.
2004-05-18 Jan Beulich <jbeulich@novell.com>
PR libstdc++/15488
* testsuite/lib/libstdc++.exp: Make test files writable.
From-SVN: r82002
2004-04-25 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/15002 (continued again)
* include/bits/istream.tcc (getline(basic_istream<>&,
basic_string<>&, _CharT)): Use a temporary buffer, thus
avoiding reallocation for common case.
* include/bits/basic_string.tcc (_S_construct(_InIterator,
_InIterator, const _Alloc&, input_iterator_tag)): Tweak size
of temporary buffer to a power of two.
* testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.
From-SVN: r81163
2004-04-24 Paolo Carlini <pcarlini@suse.de>
Petur Runolfsson <peturr02@ru.is>
PR libstdc++/15002 (continued)
* include/bits/istream.tcc (basic_istream<>::getline(char_type*,
streamsize, char_type)): Use traits::find/copy in a loop to speed
up greatly the function in the common case (I/O buffer size >> 1).
2004-04-24 Paolo Carlini <pcarlini@suse.de>
* testsuite/27_io/basic_istream/getline/char/4.cc: New.
* include/bits/istream.tcc (getline(basic_istream<>&,
basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
of sbumpc(), consistently with the other functions, thus also
dealing correctly with the case of exceeded string::max_size().
Co-Authored-By: Petur Runolfsson <peturr02@ru.is>
From-SVN: r81146
2004-04-16 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/14975
* include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
in case of error.
* testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.
From-SVN: r80753
* testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
Change definition of CXX to use $(shell) instead of backticks.
* testsuite/Makefile.in: Regenerate.
From-SVN: r80693
2004-04-03 Paolo Carlini <pcarlini@suse.de>
* include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
some duplicated code.
(__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
in the single threaded case.
* testsuite/performance/20_util/allocator/list_sort_search.cc:
Reorder and renumber the tests consistently with the other testfiles.
* testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
* testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
* testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
From-SVN: r80375
2004-03-29 Paolo Carlini <pcarlini@suse.de>
* testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
on allocator behavior, the memory pointed by data2 may well be not
trashed.
From-SVN: r80051
2004-03-25 Gawain Bolton <gp.bolton@computer.org>
* include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
default argument in constructors.
(_Rb_tree::_M_empty_initialize): Remove.
2004-03-25 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
* testsuite/23_containers/set/operators/1_neg.cc: Same.
2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
* include/bits/cpp_type_traits.h: Changed __is_pod
completely. Now, it does not use any of the previous type_traits
to detect the pod types, and it also detects function pointers as
POD types.
* include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
which encapsulates the internal implementation of an rb_tree. Made
the allocator a base class of this class instead of the rb_tree,
which was not conforming. This _Rb_tree_impl class is also
specialized on whether the _Compare parameter is a POD type or
not. If so, then it maintains the comparison function as a data
member, otherwise it makes the _Compare parameter a base class of
itself. Also, _M_key_compare is now a function instead of a data
member, so that the above trick can work properly. Delegated the
initialization of the other data members to this newly created
class. Also, now other member functions of rb_tree must refer to
_M_key_compare as _M_impl._M_key_compare(). The other data members
(*) can be referenced to as _M_impl.(*), where
(*) includes _M_header, and _M_node_count.
From-SVN: r79977
2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
* include/bits/stl_list.h: Created a _List_impl class and made it
derive from the allocator, instead of the list deriving from the
allocator class, which was not conformant. Changed all references
from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
as above (changed all references to the concerned variables).
2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
* include/bits/stl_deque.h: Created a _Deque_impl class and made
it derive from the allocator, instead of the deque deriving from
the allocator class, which was not conformant. Changed all
references to the _M_start, _M_finish, _M_map, and _M_map_size to
_M_impl.*.
(_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
qualification in 2 places where it was missing.
(_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
above.
* include/bits/deque.tcc: Same as above (changed all references to
the concerned variables).
2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
* include/bits/stl_vector.h: Created a _Vector_impl class and made
it derive from the allocator, instead of the _Vector_base class,
deriving from the allocator which was not conformant. Changed all
references to the _M_start, _M_finish, and _M_end_of_storage to
_M_impl.*.
* include/bits/vector.tcc: Same as above (changed all references
to the concerned variables).
2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
* testsuite/23_containers/deque/cons/clear_allocator.cc: New.
* testsuite/23_containers/list/cons/clear_allocator.cc: New.
* testsuite/23_containers/vector/cons/clear_allocator.cc: New.
From-SVN: r79957
2004-03-24 Felix Yen <fwy@alumni.brown.edu>
* testsuite/performance/20_util/allocator/producer_consumer.cc:
Use linear algorithm for producer.
From-SVN: r79920
2004-03-19 Paolo Carlini <pcarlini@suse.de>
Petur Runolfsson <peturr02@ru.is>
PR libstdc++/12077
* include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
no way to find out the conversion used by the underlying FILE*.
* testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
* testsuite/27_io/objects/char/9.cc: Tweak.
Co-Authored-By: Petur Runolfsson <peturr02@ru.is>
From-SVN: r79695
2004-03-19 Phil Edwards <phil@codesourcery.com>
* acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT): Set LIBICONV,
not libiconv. SUBST this variable as well.
* testsuite/Makefile.am (site.exp): New target, based on that
created by automake. Also set libiconv.
* configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
testsuite/Makefile.in: Regenerate.
From-SVN: r79678
2004-03-15 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_get<>::_M_extract):
Adjust the logic underlying the parsing of symbol to deal
correctly with an optional sign component (i.e., when either
negative_sign or positive_sign is empty)
* testsuite/22_locale/money_get/get/char/19.cc: New.
* testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
2004-03-15 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_get<>::_M_extract):
Do not accept an incomplete currency symbol.
* testsuite/22_locale/money_get/get/char/18.cc: New.
* testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
From-SVN: r79491
2004-03-10 Jerry Quinn <jlquinn@optonline.net>
PR 3247
* include/bits/gslice_array.h (gslice_array()): Make public.
(operator=(gslice_array)): Make public. Implement.
* include/bits/indirect_array.h (indirect_array()): Make public.
* include/bits/mask_array.h (mask_array()): Make public.
(operator=(mask_array)): Make public. Implement.
* include/bits/valarray_array.tcc (__valarray_copy):
Comment. Add versions for gslice_array and mask_array.
* testsuite/26_numerics/valarray_subset_assignment.cc: New test.
From-SVN: r79226
2004-03-08 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_get<>::_M_extract):
The value _space_ indicates that at least one space is required
at that position.
* testsuite/22_locale/money_get/get/char/17.cc: New.
* testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
* testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
* testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
* include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
Remove redundant conditional on __str.size().
From-SVN: r79111
2004-03-02 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_get<>::_M_extract):
Reorganize a bit the main parsing loop, thus early detecting
an empty value component.
* testsuite/22_locale/money_get/get/char/16.cc: New.
* testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
From-SVN: r78788
2004-03-01 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
Also when parsing exponent sign, first look for thousands_sep
and decimal_point; tweak a bit.
* testsuite/22_locale/num_get/get/char/15.cc: New.
* testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
* include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
num_get<>::_M_extract_int): Reorder some conditionals.
2004-03-01 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_get<>::_M_extract):
Consistently with numpunct, enforce the requirements in
22.2.6.3, p3 for the thousands separators; tweak a bit.
* testsuite/22_locale/money_get/get/char/15.cc: New.
* testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
From-SVN: r78699
2004-03-01 David Billinghurst <David.Billinghurst@riotinto.com>
* testsuite/lib/libstdc++.exp (v3-list-tests): Use
testsuite_files from correct multilib blddir when running
testsuite.
From-SVN: r78692
2004-02-29 Phil Edwards <phil@codesourcery.com>
* testsuite/Makefile.am (check-abi, check-abi-verbose): Copy
the summary file to the logfile.
* testsuite/Makefile.in: Regenerate.
From-SVN: r78647
2004-02-28 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
According to 22.2.3.1, p2, 'units' may be followed by 'e' with
no 'decimal-point' in the middle: in this case too we must fix
up __found_grouping; slightly tweak.
* testsuite/22_locale/num_get/get/char/14.cc: New.
* testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
From-SVN: r78625
2004-02-27 Phil Edwards <phil@codesourcery.com>
* testsuite/config/default.exp: Update with comments.
(${tool}_target_compile): New wrapper routine.
* testsuite/lib/dg-options.exp: New file, with dg-require-iconv.
* testsuite/lib/libstdc++.exp: Update with comments and cosmetic
fixes.
(load_gcc_lib, v3track): New routines.
(v3-init): Rename to libstdc++_init.
* testsuite/libstdc++-dg/normal.exp: No longer call v3-init.
Move DEFAULT_CXXFLAGS handling into libstdc++_init.
From-SVN: r78580
2004-02-22 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_put<>::_M_insert):
Restructure formatting of value component, first dealing with
the non-decimal digits; use reserve.
2004-02-22 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (class money_get): Inherit
from money_base too; tweak declaration of _M_extract, now
parameterized on _Intl too.
* include/bits/locale_facets.tcc (money_get<>::_M_extract):
Update definition to use the cache; call reserve on __res to
avoid multiple reallocations; fix parsing of sign component
according to 22.2.6.1.2, p3.
(money_get<>::do_get(long double&),
money_get<>::do_get(string_type&)): Update calls of _M_extract.
* src/locale-inst.cc: Add instantiations of
money_get::_M_extract<false> and money_get::_M_extract<true>.
* testsuite/22_locale/money_get/get/char/14.cc: New.
* testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
From-SVN: r78253
* testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
FIFO for writing with ios_base::in|ios_base::out.
* testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
* testsuite/27_io/objects/char/7.cc: Likewise.
* testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
with "r+".
From-SVN: r78195
2004-02-16 Paolo Carlini <pcarlini@suse.de>
* testsuite/ext/enc_filebuf/char/13189.cc: Don't check
for now that the catch block is not reached.
* testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
From-SVN: r77906
2004-02-16 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
Fix parsing of the remaining sign characters.
* 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
the input is scanned 'til eof.
* 22_locale/money_get/get/char/4.cc: Likewise.
* 22_locale/money_get/get/wchar_t/2.cc: Likewise.
* 22_locale/money_get/get/wchar_t/4.cc: Likewise.
* 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
not do_pos_format: the former is the only one that matters during
input.
* 22_locale/money_get/get/wchar_t/8.cc: Likewise.
* 22_locale/money_get/get/char/6.cc: Minor tweak.
* 22_locale/money_get/get/wchar_t/6.cc: Likewise.
From-SVN: r77896
2004-02-14 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/13858
* include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
In case of conversion errors, throw ios_failure; simplify.
* testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
* testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
* testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
previously we didn't throw in case of conversion errors, instead
just returned eof().
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
* testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
* include/bits/fstream.tcc (basic_filebuf<>::overflow):
Trivial simplification of a conditional.
From-SVN: r77812
2004-02-09 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/14072
* include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
Don't leave dangling pointers.
* testsuite/27_io/basic_ios/imbue/14072.cc: New.
* testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
facet is needed in the final test.
From-SVN: r77526
2004-02-03 Felix Yen <fwy@alumni.brown.edu>
Benjamin Kosnik <bkoz@redhat.com>
* testsuite/performance/20_util/allocator.cc: Add map,
deque, set tests.
* testsuite/performance/20_util/allocator_thread.cc: Same.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
From-SVN: r77225
2004-01-30 Felix Yen <fwy@alumni.brown.edu>
* testsuite/performance/20_util/allocator_thread.cc (do_loop):
Don't use clear, but instead assign. Use insert.
From-SVN: r76979
* scripts/check_performance: Only compile with $THREAD_FLAG
when test is marked to require it. Allow multiple
compilations/executions of marked tests.
* testsuite/testsuite_performance.h (report_performance):
Report dynamic thread support status.
(report_header): Likewise.
* testsuite/performance/allocator.cc: Stabilize iteration
count. Support more allocators. Mark each allocator test to
run and report independently.
* testsuite/performance/allocator_map_thread.cc: Likewise.
* testsuite/performance/allocator_thread.cc: Likewise.
From-SVN: r76932
2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
* config/local/generic/c_locale.h: Change ::malloc() to new char[].
* config/local/gnu/c_locale.h: Change ::malloc() to new char[].
* include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
std::get_temporary_buffer() instead of duplicating its code.
Update to C++STYLE conventions.
* include/std/std_memory.h (get_temporary_buffer): Use ::operator
new() instead of std::malloc().
(return_temporary_buffer): Use ::operator delete() instead of
std::free().
From-SVN: r76922
2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/27_io/ios_base/storage/11584.cc: Correct new and
delete declarations, add include and test variable.
From-SVN: r76766
2004-01-27 Jerry Quinn <jlquinn@optonline.net>
PR libstdc++/11584
* include/bits/ios_base.h (ios_base::_M_grow_words): Add
iword/pword selector.
(ios_base::iword, ios_base::pword): Use it.
* src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
iword or pword member on alloc failure.
* testsuite/27_io/ios_base/storage/11584.cc: New test.
From-SVN: r76725
* testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
* testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
From-SVN: r76191
2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
* testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
mkfifo for mingw32.
From-SVN: r75963
2004-01-13 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/13650
* include/bits/basic_string.tcc (compare(size_type, size_type,
const _CharT*, size_type)): Implement correctly the resolution
of DR 5: basically, s is a char array, -not- a C string.
* include/bits/basic_string.h: Tweak some comments.
* testsuite/21_strings/basic_string/compare/char/13650.cc: New.
* testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
From-SVN: r75798
2004-01-11 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/13582
* include/bits/fstream.tcc (imbue): Exploit the external
buffer to imbue 'on the fly' a new locale and convert its
remainder with the new codecvt facet.
(underflow): Tweak slightly to deal with this special case.
* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
* testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
* testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
From-SVN: r75677
2004-01-07 Gawain Bolton <gp.bolton@computer.org>
* include/bits/stl_list.h:
* include/bits/list.tc:
* src/list.cc:
Performance enhancements for destructor, push_front(),
push_back(), pop_front(), pop_back(), sort()
Eliminated static_casts where possible.
Moved code out of header files into new src/list.cc
implementation file for library where possible.
Remove inheritance from iterator class and create separate
classes for non-constant and constant iterators.
* include/bits/stl_tree.h (_Rb_tree class):
* src/tree.cc:
Only erase contents in destructor.
Eliminate unnecessary initialization in assignment operator.
Optimize for the nominal case by not checking whether
container is empty in clear().
Re-order test in _M_insert() to improve performance.
Move initialization of new node's left & right pointers to
src/tree.cc to where new node's colour is initialized
and to reduce the amount of inline code.
Use _M_leftmost() and _M_end() to improve readability where
appropriate.
Create separate classes for non-constant and constant
iterators to clarify code, avoid extra template parameters and
casting away constness.
2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
* src/Makefile.am (sources): Add list.cc, tree.cc.
* src/stl_tree.cc: Move to...
* src/tree.cc: ...here.
* src/list.cc: Add.
* config/linker-map.gnu: Tweaks.
* testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
* testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
* bits/stl_vector.h: Column wrap comments.
From-SVN: r75515
2003-12-31 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get::_M_extract_int,
num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
_first_ look for thousands_sep, then for decimal_point and
finally for digits.
(num_get::_M_extract_float): After the decimal_point or
'e'/'E', decimal_point and thousands_sep just break out the
parsing loop.
* testsuite/22_locale/num_get/get/char/11.cc: Add tests.
* testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
From-SVN: r75259
2003-12-23 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/new_allocator.h (new_allocator): Proper allocator class.
(__new_alloc): Delete.
* include/ext/malloc_allocator.h (malloc_allocator): Same.
(__malloc_alloc): Delete.
* include/ext/mt_allocator.h: Same, but weakly.
* include/ext/debug_allocator.h: Convert to the new style.
* include/ext/pool_allocator.h: Use global new and delete directly.
* include/backward/alloc.h: Don't inject malloc_allocator, or
debug_allocator.
* testsuite/ext/allocators.cc: Minimal fixups for usage of new
classes. Comment out tests with __pool_alloc for now.
* testsuite/performance/allocator.cc: Same.
From-SVN: r74965
2003-12-22 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get::_M_extract_int,
num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
first look for decimal_point and thousands_sep, when parsing
sign, leading zeros (and 0, Ox, 0X for integer types) too.
* testsuite/22_locale/num_get/get/char/12.cc: New.
* testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
* testsuite/22_locale/num_get/get/char/11.cc: Add a comment.
* testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
From-SVN: r74932
2003-12-19 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get::_M_extract_int,
num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
first look for decimal_point and thousands_sep.
* testsuite/22_locale/num_get/get/char/11.cc: New.
* testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
From-SVN: r74841
2003-12-17 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
Use narrow to get from __format[__i] a char __c representing a
formatting code, don't use it to compare *__beg to __format[__i].
* testsuite/22_locale/time_get/get_date/wchar_t/4.cc: New.
From-SVN: r74755
2003-12-17 Paolo Carlini <pcarlini@suse.de>
* testsuite/performance/container_benchmark.cc: Tweak outputs.
* testsuite/performance/list_create_fill_sort.cc: Shrink a
bit some outputs.
* testsuite/testsuite_performance.h: Widen a few output fields.
* testsuite/performance/ifstream_extract_int.cc: New.
From-SVN: r74738
2003-12-16 Paolo Carlini <pcarlini@suse.de>
* testsuite/performance/container_benchmark.cc: New, a
benchmark developed by Bjarne Stroustrup and Alexander
Stepanov and made available with no restrictions.
* testsuite/testsuite_performance.h (report_header): New,
useful to produce header lines in the reports.
From-SVN: r74717
2003-12-16 Paolo Carlini <pcarlini@suse.de>
* testsuite/performance/container_benchmark.cc: New, a
benchmark developed by Bjarne Stroustrup and Alexander
Stepanov and made available with no restrictions.
* testsuite/testsuite_performance.h (report_header): New,
useful to produce header lines in the reports.
From-SVN: r74713
2003-12-16 Paolo Carlini <pcarlini@suse.de>
* testsuite/performance/narrow_widen_char.cc: Tweak the
number of iterations for each test.
* testsuite/performance/narrow_widen_wchar_t.cc: Add a
missing clear_counters.
From-SVN: r74692
2003-12-16 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/11723
* include/bits/locale_facets.h: Add _M_bit and _M_wmask,
used to speed up the computation of ctype::do_is.
* config/locale/generic/ctype_members.cc
(_M_initialize_ctype): Fill _M_bit and _M_wmask.
(ctype::do_is): Use _M_bit and _M_wmask.
* config/locale/gnu/ctype_members.cc: Likewise.
* testsuite/performance/is_wchar_t.cc: New.
* testsuite/performance/narrow_widen_wchar_t.cc: Tweak
string literal (incorrect citation ;)
* include/bits/locale_facets.h: Minor tweaks, const
correctness, unsigned -> size_t.
From-SVN: r74686
2003-12-15 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get::do_get(bool&)):
Fail as soon as the begins of both truename and falsename
stop to match; always leave __beg one position beyond the
last char successfully matched.
* testsuite/22_locale/num_get/get/char/8.cc: New.
* testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
2003-12-15 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (_M_widen): Reserve space
for all the possible widened chars.
* config/locale/generic/ctype_members.cc (_M_initialize_ctype):
Compute at construction time all the possible widened chars.
(do_widen): Tweak, simplify.
* config/locale/gnu/ctype_members.cc: Likewise.
* testsuite/performance/narrow_widen_wchar_t.cc: Add tests
for the array versions.
From-SVN: r74636
2003-12-12 Paolo Carlini <pcarlini@suse.de>
Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/13341
* include/bits/locale_facets.h (ctype<wchar_t>): Declare
_M_initialize_ctype() and _M_narrow_ok, _M_narrow and _M_widen.
* src/ctype.cc (ctype<wchar_t>::ctype(size_t),
ctype<wchar_t>::ctype(__c_locale, size_t)): Use
_M_initialize_ctype to fill _M_narrow and _M_widen.
(ctype_byname<wchar_t>::ctype_byname(const char*, size_t)):
Likewise.
* config/locale/generic/ctype_members.cc (do_narrow, do_widen)
Use _M_narrow and _M_widen when possible, instead of calling
wctob and btowc, respectively.
(_M_initialize_ctype): Define, it fills at construction time
_M_narrow and _M_widen.
* config/locale/gnu/ctype_members.cc: Likewise.
* testsuite/performance/narrow_widen_wchar_t.cc: New.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
From-SVN: r74580
2003-12-10 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/6243
* testsuite/lib/libstdc++.exp (v3-init): Add
original_ld_library_path, calculate ld_library path, set
LD_LIBRARY_PATH to both. Based on libjava.exp.
From-SVN: r74521
2003-12-10 Paolo Carlini <pcarlini@suse.de>
* testsuite/22_locale/locale/cons/12438.cc: Tweak memory
limit and iterations to avoid spurious failures on some
64 bit machines.
From-SVN: r74489
PR libstdc++/13045
* bits/demangle.h
namespace __gnu_cxx::demangler
(enum substitution_nt): Removed trailing comma.
(implementation_details): Added.
(session<Allocator>::M_implementation_details): Added.
(session<Allocator>::session): Pass implementation_details.
(session<Allocator>::decode_encoding): Same.
(session<Allocator>::decode_real): Added.
(_GLIBCXX_DEMANGLER_STYLE_VOID _GLIBCXX_DEMANGLER_STYLE_LITERAL
_GLIBCXX_DEMANGLER_STYLE_LITERAL_INT
_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Replaced with
implementation_details equivalent.
(session<Allocator>::decode_expression):
Use M_implementation_details instead of macros. Add extra parentheses
around 'larger than' operator in expressions in template arguments.
(session<Allocator>::decode_bare_function_type): Idem.
(session<Allocator>::decode_literal):
Idem, and call decode_real for floating literals.
(session<Allocator>::decode_type_with_postfix): Put the postfix
of the return type of (member) functions after the function
instead of after the return type. Also, put a space after the
prefix of qualified function pointers: "int (* const<space>".
* src/demangle.cc: include most dependent header file first.
* testsuite/demangle/regression/cw-16.cc: Updated two
and added three tests.
From-SVN: r74304
2003-12-04 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/12653
* include/std/std_bitset.h (operator>>): Implement resolution
of DR 303 [WP]: use widen('0') and widen('1').
* docs/html/ext/howto.html: Add an entry for DR 303.
* include/std/std_bitset.h (operator>>): Implement the common
requirements of formatted input functions (27.6.1.2.1).
* include/std/std_bitset.h (operator>>): Set the failbit when
nothing was extracted and _Nb != 0.
* testsuite/23_containers/bitset/input/1.cc: New.
From-SVN: r74276
2003-12-03 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/12791
* include/bits/locale_facets.tcc (time_get::_M_extract_num):
Rewrite, stop the parsing as soon as a digit cannot possibly
lead to a final number within the bounds; otherwise, simplify,
avoiding __ctype.is() and atoi().
* testsuite/22_locale/time_get/get_date/char/12791.cc: New.
* testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: New.
* include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
Minor tweak: a 4-digit integer cannot be bigger than 9999.
* testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Use
type-correct wchar_t string literals.
* testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
* testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
* testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
From-SVN: r74222
2003-12-03 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/12791
* include/bits/locale_facets.tcc (time_get::_M_extract_num):
Rewrite, stop the parsing as soon as a digit cannot possibly
lead to a final number within the bounds; otherwise, simplify,
avoiding __ctype.is() and atoi().
* testsuite/22_locale/time_get/get_date/char/12791.cc: New.
* testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: New.
* include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
Minor tweak: a 4-digit integer cannot be bigger than 9999.
* testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Use
type-correct wchar_t string literals.
* testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
* testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
* testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
From-SVN: r74220
2003-11-29 Paolo Carlini <pcarlini@suse.de>
* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc:
Tweak for a few small problems (fix timings, use VERIFY..)
From-SVN: r74034
2003-11-28 Paolo Carlini <pcarlini@suse.de>
* testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: Remove.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: New,
the original third testcase for libstdc++/13171 belong here.
From-SVN: r74017
2003-11-26 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/12297
* include/bits/istream.tcc
(basic_istream::sentry::sentry): Set failbit and eofbit when eof.
* testsuite/27_io/basic_istream/sentry/char/12297.cc: New.
From-SVN: r73968
2003-11-26 Paolo Carlini <pcarlini@suse.de>
Petur Runolfsson <peturr02@ru.is>
PR libstdc++/13171
* include/bits/fstream.tcc (imbue): Relax the conditions under
which the function succeeds: allow for two consecutive calls with
the same name; state dependent encodings are ok even after open
if at the beginning of the file; don't check seekoff return value
(pipes, cin, cout, etc...)
* testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: New.
* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: New.
* testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: New.
* testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: New.
* testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak comment.
* testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Tweak comment.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: More
correctly use the UTF-8 locale appearing in the PR.
Co-Authored-By: Petur Runolfsson <peturr02@ru.is>
From-SVN: r73954
2003-11-25 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/codecvt_members.cc (codecvt::do_length):
Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
former is very fast, but stops if encounters a NUL.
(codecvt::do_out): Tweaks.
(codecvt::do_in): Tweaks, improve the code dealing with errors.
* testsuite/performance/wchar_t_length.cc: New.
From-SVN: r73934
2003-11-24 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/codecvt_members.cc (codecvt::do_in):
Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
former is very fast, but stops if encounters a NUL.
(codecvt::do_out): Tweak.
* testsuite/performance/wchar_t_in.cc: New.
2003-11-24 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h
(__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning
in order to avoid memory leaks; simplify a bit.
From-SVN: r73893
2003-11-20 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/11602
* config/locale/gnu/codecvt_members.cc (codecvt::do_out):
Rewrite, using both wcsnrtombs and wcrtomb in a loop: the
former is very fast, but stops if encounters a NUL.
* testsuite/performance/wchar_t_out.cc: New, from the PR.
From-SVN: r73769
2003-11-18 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/12868
* include/bits/fstream.tcc (imbue): For encodings != -1 it's
always ok to imbue a new locale, provided seekoff(0, cur, ...)
doesn't fail, of course.
(underflow): In order for the above to work, deal gracefully
with _M_codecvt->in returning codecvt_base::error while
(__ilen = __iend - this->eback()) > 0: it just means __ilen
correctly converted internal characters before an error.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: New.
From-SVN: r73697
2003-11-13 Douglas Gregor <gregod@cs.rpi.edu>
* docs/html/debug.html: Users are allowed to specialize in
namespace __gnu_debug, unlike in the Apple version of the debug
mode. Clear up a confusing double-negative. Note that
std::basic_string does provide extra debugging capabilities, but
not safe iterators.
* include/bits/basic_string.tcc: Make sure there's never an
ambiguity when calling __is_null_pointer.
* include/debug/deque: (deque::erase) Properly handle invalidation
when erasing at the end of the deque.
* include/debug/vector: (vector::swap): Swap _M_guaranteed_capacity.
(vector::clear): Set the guaranteed capacity to 0.
* testsuite/23_containers/deque/invalidation/4.cc: (test04): Test
iterator invalidation when erasing at the end of the deque.
From-SVN: r73564
2003-11-13 Petur Runolfsson <peturr02@ru.is>
PR libstdc++/12594
* include/bits/ostream.tcc
(basic_ostream::operator<<(basic_ostream& (*)(basic_ostream&)),
basic_ostream::operator<<(basic_ios& (*)(basic_ios&)),
basic_ostream::operator<<(ios_base& (*)(ios_base&))):
Implement the resolution of DR 60 (TC): These are not formatted
output functions so don't construct sentry objects and don't
catch exceptions.
(basic_ostream::put, basic_ostream::write): Implement the
resolution of DR 63 (TC) by catching exceptions and setting
badbit.
(basic_ostream::flush): Implement the resolution of DR 60 (TC):
This is not an unformatted output function so don't construct
a sentry object.
* testsuite/testsuite_io.h (sync_streambuf): Define.
* testsuite/27_io/basic_ostream/flush/char/2.cc: New test.
* testsuite/27_io/basic_ostream/inserters_other/char/5.cc: New test.
* testsuite/27_io/basic_ostream/put/char/1.cc: New test.
* testsuite/27_io/basic_ostream/write/char/1.cc: New test.
From-SVN: r73551
2003-11-13 Paolo Carlini <pcarlini@suse.de>
* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1:
Fix, closely following the testcase included in the PR.
* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: Ditto.
* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: Ditto.
* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: Ditto.
From-SVN: r73548
PR libstdc++/12947
* bits/demangle.h
(_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS): Added.
(_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Added.
(session<Allocator>::next_peek() const): Added.
(decode_non_negative_decimal_integer(string_type&)):
Renamed from decode_decimal_integer(string_type&).
(session<Allocator>::decode_nested_name):
Decode <template_param> as well.
(session<Allocator>::add_substitution):
Handle <template-param> for <nested-name>'s.
(enum xary_nt): Added.
(struct entry_st): Added member `xary_nt type' instead of `bool unary'.
(symbol_name_table_c): Updated for `entry_st::type' and additional
operators (unary `operator+' and `sizeof(type)').
(offset_table_c): Updated for new operators (causing a new hash map).
(decode_operator_name): Match the updated hash map.
(session<Allocator>::decode_expression):
Support for `sizeof ([typename] type)' (st),
dependent names (sr) and casting operator (cv). Handle
`entry_st::type'. Handle _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
and _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME.
(session<Allocator>::decode_type_with_postfix):
Support `extern "C"' function types (FY).
* testsuite/demangle/regression/cw-16.cc: Added tests for the
added functionality.
* testsuite/demangle/regression/3111-2.cc: sizeof now has a space
appended.
From-SVN: r73480
2003-11-11 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/12875
* include/bits/fstream.tcc (setbuf): Don't do anything
after open(), in particular don't discard data.
(_M_allocate_internal_buffer): Tweak to not allocate memory
in case the buffer is provided by the user via setbuf.
* include/ext/stdio_filebuf.h: Tweak comment.
* testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: New.
* testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Tweak, now
setbuf does nothing after open().
* testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
From-SVN: r73477
2003-11-09 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/12971
* include/bits/locale_facets.tcc
(money_put::do_put(..., long double)): Fix conversion
specification as per DR 328 [WP].
* testsuite/22_locale/money_put/put/char/12971.cc: Add.
* testsuite/22_locale/money_put/put/wchar_t/12971.cc: Ditto.
* docs/html/ext/howto.html: Add entry for DR 328.
From-SVN: r73389
PR libstdc++/12736
* bits/demangle.h (qualifier_list<Allocator>::decode_KVrA): Added.
(qualifier_list<Allocator>::decode_qualifiers): Collect concatenated
K, V, r and A qualifiers before processing them as a group.
* testsuite/demangle/abi_text/01.cc: Reordered CV-qualifiers.
* testsuite/demangle/regression/cw-16.cc: New.
From-SVN: r73339
* include/bits/demangle.h
(qualifier_list<Allocator>::decode_qualifiers(string_type&,
string_type&, bool member_function_pointer_qualifiers):
Always seperate the '[' of an array type with a space from
what is left of it, except when that is the closing bracket
of another array dimension.
From-SVN: r73328
2003-11-03 Petur Runolfsson <peturr02@ru.is>
PR libstdc++/12790
* include/bits/fstream.tcc: Delete _M_last_overflowed.
(basic_filebuf::basic_filebuf): Initialize _M_state_last.
(basic_filebuf::open, basic_filebuf::close): Assign
_M_state_beg to _M_state_cur and _M_state_last.
(basic_filebuf::close): Call _M_terminate_output to handle
unshift and flushing.
(basic_filebuf::underflow): Assign _M_state_last, throw
exception instead of calling abort when codecvt::max_length()
is bad.
(basic_filebuf::seekoff): Use _M_state_last when calling
codecvt::length(), pass correct state to _M_seek.
(basic_filebuf::seekpos): Pass __pos.state() to _M_seek.
(basic_filebuf::_M_seek): Add __state_type parameter,
set _M_state_cur correctly, store the resulting state in
the return value and use _M_terminate_output to handle
flushing and unshift.
(basic_filebuf::_M_terminate_output): Flush contents of
output buffer, if any, then call codecvt::unshift as
needed and output the result.
(basic_filebuf::sync): Move here, don't modify _M_writing
or _M_reading.
* include/std/std_fstream.h
(basic_filebuf::_M_state_last): Declare it.
(basic_filebuf::_M_last_overflowed): Delete.
(basic_filebuf::_M_seek): Add __state_type parameter.
(basic_filebuf::sync): Declare only.
(basic_filebuf::_M_output_unshift): Delete.
(basic_filebuf::_M_terminate_output): Declare it.
* testsuite/testsuite_character.h:
Define character class and state class plus char_traits and
codecvt specializations for same for testing support for
stateful encodings.
* testsuite/27_io/basic_filebuf/close/12790-1.cc,
* testsuite/27_io/basic_filebuf/close/char/12790-1.cc,
* testsuite/27_io/basic_filebuf/close/char/12790-2.cc,
* testsuite/27_io/basic_filebuf/close/char/12790-3.cc,
* testsuite/27_io/basic_filebuf/close/char/12790-4.cc,
* testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc,
* testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc,
* testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc,
* testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc,
* testsuite/27_io/basic_filebuf/open/12790-1.cc,
* testsuite/27_io/basic_filebuf/seekoff/12790-1.cc,
* testsuite/27_io/basic_filebuf/seekoff/12790-2.cc,
* testsuite/27_io/basic_filebuf/seekoff/12790-3.cc,
* testsuite/27_io/basic_filebuf/seekoff/12790-4.cc,
* testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc,
* testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc,
* testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc,
* testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc,
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc,
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc,
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc,
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc,
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc,
* testsuite/27_io/basic_filebuf/seekpos/12790-1.cc,
* testsuite/27_io/basic_filebuf/seekpos/12790-2.cc,
* testsuite/27_io/basic_filebuf/seekpos/12790-3.cc,
* testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc,
* testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc,
* testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc,
* testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc,
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc,
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc,
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc,
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc,
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc,
* testsuite/27_io/basic_filebuf/sync/char/1.cc,
* testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc:
New tests.
* testsuite/27_io/basic_filebuf/3.cc,
* testsuite/27_io/basic_filebuf/seekoff/10132-2.cc,
* testsuite/27_io/basic_filebuf/seekpos/10132-3.cc,
* testsuite/27_io/basic_fstream/3.cc,
* testsuite/27_io/basic_ifstream/3.cc,
* testsuite/27_io/basic_ofstream/3.cc:
Use streamoff as off_type and fpos<state_type> as pos_type.
* testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc,
* testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc:
Check that sync does *not* set _M_writing to false.
From-SVN: r73245
2003-10-27 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/12750
* include/bits/locale_facets.tcc
(time_get::_M_extract_via_format): Deal with code 'e'.
* testsuite/22_locale/time_get/get_date/char/12750.cc: New.
* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Ditto.
* include/bits/locale_facets.tcc
(time_get::_M_extract_via_format): Tweak to absolutely avoid
dereferencing end iterators.
* include/bits/locale_facets.h (__verify_grouping):
Const-ify second parameter.
* include/bits/locale_facets.tcc (__verify_grouping): Ditto.
* src/locale-inst.cc (__verify_grouping): Ditto.
2003-10-27 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get::_M_extract_float):
Various things: 1- Avoid absolutely end iterator dereferences;
2- Improve performance-wise the code skipping leading zeros;
3- Fix two bugs wrt early bail out in case of parsing errors
(see testcases); 4- General clean up.
(num_get::_M_extract_int): Likewise, except 3-. Additionally,
use __builtin_expect to favor base 10 inputs.
* testsuite/22_locale/num_get/get/char/7.cc: New.
* testsuite/22_locale/num_get/get/wchar_t/7.cc: Ditto.
From-SVN: r72987
2003-10-23 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_get<>::do_get(...,
string_type&)): Use find_first_not_of to strip leading
zeros; if __tmp_units == "0" never prefix it with '-';
always fail if __tmp_units is empty.
* testsuite/22_locale/money_get/get/char/10.cc: New.
* testsuite/22_locale/money_get/get/wchar_t/10.cc: Ditto.
From-SVN: r72860
2003-10-12 Petur Runolfsson <peturr02@ru.is>
Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/11460
* src/strstream.cc (pbackfail): Fix to use to_int_type.
* testsuite/backward/11460.cc: New, from the PR.
Co-Authored-By: Paolo Carlini <pcarlini@unitus.it>
From-SVN: r72405
2003-10-09 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/11844
* config/os/aix/ctype_base.h: Fix 'alnum' and 'graph'
to conform to the requirements of 22.2.1.
* config/os/bsd/freebsd/ctype_base.h: Likewise.
* config/os/djgpp/ctype_base.h: Likewise.
* config/os/generic/ctype_base.h: Likewise.
* config/os/gnu-linux/ctype_base.h: Likewise.
* config/os/hpux/ctype_base.h: Likewise.
* config/os/irix/irix6.5/ctype_base.h: Likewise.
* config/os/solaris/solaris2.6/ctype_base.h: Likewise.
* config/os/solaris/solaris2.7/ctype_base.h: Likewise.
* testsuite/22_locale/ctype/11844.cc: New.
* config/locale/generic/ctype_members.cc (do_is):
Generically, use a bitmasksize of 15 (instead of 10), since
we don't know the numerical encoding of the various categories
in the underlying /usr/include/ctype.h.
From-SVN: r72281
2003-10-04 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/12206
* include/bits/fstream.tcc (imbue): In case a codecvt facet
is not available, set _M_codecvt = 0.
* testsuite/27_io/basic_filebuf/imbue/12206.cc: New.
From-SVN: r72087
* include/bits/demangle.h (demangle<Allocator>::symbol(char const*)):
Decode symbols that start with _GLOBAL_[ID]_ differently: the
trailing part ends with a terminating zero and is not necessarily an
encoding.
* src/demangle.cc (): Same.
* testsuite/demangle/regression/cw-13.cc: Adjust for new output.
From-SVN: r72027
2003-10-01 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/12439
* include/bits/locale_facets.tcc (time_put::put): Deal
with the three issues pointed out by the PR.
* testsuite/22_locale/time_put/put/char/12439_1.cc: New.
* testsuite/22_locale/time_put/put/char/12439_3.cc: New.
* testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: New.
* testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: New.
* testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: New.
From-SVN: r71976
2003-09-29 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/12296
* include/bits/istream.tcc (peek): Set eofbit if sgetc
returns eof.
* testsuite/27_io/basic_istream/peek/char/12296.cc:
New, from the PR.
2003-09-29 Nathan Myers <ncm@cantrip.org>
Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/11400
* include/bits/stl_algo.h (search_n):
Use iterator_traits<>::difference_type for __n.
* testsuite/25_algorithms/search_n/11400.cc: New, from the PR.
From-SVN: r71911
* testsuite/22_locale/time_put/put/char/2.cc (test_02): Allow either
"Son" or "So" as abbreviated name for Sunday in de_DE locale.
* testsuite/22_locale/time_put/put/wchar_t/2.cc (test_02): Likewise.
From-SVN: r71849
2003-09-03 Petur Runolfsson <peturr02@ru.is>
PR libstdc++/12048
* include/ext/stdio_sync_filebuf.h
(stdio_sync_filebuf::_M_unget_buf): Declare it.
(stdio_sync_filebuf::stdio_sync_filebuf): Initialize _M_unget_buf.
(stdio_sync_filebuf::uflow): Store the returned character in
_M_unget_buf.
(stdio_sync_filebuf::pbackfail): If argument is eof(), pass
_M_unget_buf to syncungetc(). Set _M_unget_buf to eof().
(stdio_sync_filebuf<char>::xsgetn): Store last read character in
_M_unget_buf, if any, else eof().
(stdio_sync_filebuf<wchar_t>::xsgetn: Store last read character in
_M_unget_buf, if any, else eof().
* testsuite/27_io/objects/char/12048.cc: Rename to...
* testsuite/27_io/objects/char/12048-1.cc: ...this.
* testsuite/27_io/objects/char/12048-2.cc: New test.
* testsuite/27_io/objects/char/12048-3.cc: New test.
* testsuite/27_io/objects/char/12048-4.cc: New test.
* testsuite/27_io/objects/char/12048-5.cc: New test. XFAIL.
* testsuite/27_io/objects/wchar_t/12048-1.cc: New test.
* testsuite/27_io/objects/wchar_t/12048-2.cc: New test.
* testsuite/27_io/objects/wchar_t/12048-3.cc: New test.
* testsuite/27_io/objects/wchar_t/12048-4.cc: New test.
* testsuite/27_io/objects/wchar_t/12048-5.cc: New test. XFAIL.
* testsuite/ext/stdio_sync_filebuf_char.cc
(test02, test03, test04, test05): New tests.
* testsuite/ext/stdio_sync_filebuf_wchar_t.cc
(test02, test03, test04, test05): New tests.
From-SVN: r71027
2003-09-03 Petur Runolfsson <peturr02@ru.is>
PR libstdc++/12048
* include/ext/stdio_sync_filebuf.h
(stdio_sync_filebuf::_M_unget_buf): Declare it.
(stdio_sync_filebuf::stdio_sync_filebuf): Initialize _M_unget_buf.
(stdio_sync_filebuf::uflow): Store the returned character in
_M_unget_buf.
(stdio_sync_filebuf::pbackfail): If argument is eof(), pass
_M_unget_buf to syncungetc(). Set _M_unget_buf to eof().
(stdio_sync_filebuf<char>::xsgetn): Store last read character in
_M_unget_buf, if any, else eof().
(stdio_sync_filebuf<wchar_t>::xsgetn: Store last read character in
_M_unget_buf, if any, else eof().
* testsuite/27_io/objects/char/12048.cc: Rename to...
* testsuite/27_io/objects/char/12048-1.cc: ...this.
* testsuite/27_io/objects/char/12048-2.cc: New test.
* testsuite/27_io/objects/char/12048-3.cc: New test.
* testsuite/27_io/objects/char/12048-4.cc: New test.
* testsuite/27_io/objects/char/12048-5.cc: New test. XFAIL.
* testsuite/27_io/objects/wchar_t/12048-1.cc: New test.
* testsuite/27_io/objects/wchar_t/12048-2.cc: New test.
* testsuite/27_io/objects/wchar_t/12048-3.cc: New test.
* testsuite/27_io/objects/wchar_t/12048-4.cc: New test.
* testsuite/27_io/objects/wchar_t/12048-5.cc: New test. XFAIL.
* testsuite/ext/stdio_sync_filebuf_char.cc
(test02, test03, test04, test05): New tests.
* testsuite/ext/stdio_sync_filebuf_wchar_t.cc
(test02, test03, test04, test05): New tests.
2003-09-03 Petur Runolfsson <peturr02@ru.is>
* docs/html/27_io/howto.html: setbuf(0, 0) has no effect on
stringbuf or strstreambuf. Fix typos.
From-SVN: r71026
2003-08-27 Phil Edwards <pme@gcc.gnu.org>
* acinclude.m4 (GLIBCXX_CONDITIONAL): New macro. Wrap
AM_CONDITIONAL. Replace all calls to AM_CONDITIONAL with this one.
(GLIBCXX_ENABLE_HOSTED): New macro, sets new variable is_hosted,
used elsewhere in this file.
(GLIBCXX_EVALUATE_CONDITIONALS): New macro...
* configure.ac: ...called here to expand all conditionals.
* Makefile.am: Conditionalize SUBDIRS on GLIBCXX_HOSTED.
* include/Makefile.am: Remove redundant gxx_include_dir assignment.
(install-freestanding-headers): New target, a subset of
install-headers. Conditionalize install-data-local on GLIBCXX_HOSTED.
* aclocal.m4, configure, Makefile.in, include/Makefile.in,
libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
src/Makefile.in, testsuite/Makefile.in: Regenerated.
From-SVN: r70854
2003-08-26 Phil Edwards <pme@gcc.gnu.org>
* Makefile.am: Add comment.
* acinclude.m4 (GLIBCXX_CONFIGURE): Set new glibcxx_SUBDIRS and
SUBDIRS variables.
* configure.ac: Use them both here, instead of hardcoded lists.
* fragment.am: Add STAMP varaible.
* include/Makefile.am: Cosmetic whitespace cleanup. Use $(LN_S)
instead of @LN_S@.
(stamp-*): Move file creation rule outside of 'if' branches to
ensure the stamp-* files are actually updated. Use $(STAMP).
* src/Makefile.am: Remove now-nonexistant variable.
* libsupc++/Makefile.am: Likewise. Snap the assignment chain
for -prefer-pic.
* po/Makefile.am: Include same fragment as all the others.
* aclocal.m4, configure, Makefile.in, include/Makefile.in,
libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in: Regenerated.
From-SVN: r70836
2003-08-17 Phil Edwards <pme@gcc.gnu.org>
* acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Remove LIBMATH_INCLUDES
and LIBSUPCXX_INCLUDES. Re-purpose TOPLEVEL_INCLUDES to refer to
things from the top level.
* configure.ac (GLIBCXX_IS_NATIVE): Determine earlier and re-order.
Comment out the conditionals for CANADIAN and GLIBCXX_BUILD_LIBMATH
(currently unused). Strip the fake-VPATH shell fragment from
automake-generated rules, if present.
* linkage.m4: Add comment.
* fragment.am: New file, containing factored-out common settings.
(AM_CPPFLAGS): Absorb the deprecated INCLUDES variable contents.
* Makefile.am: Include fragment.am. Remove common variables.
* include/Makefile.am: Likewise.
* libmath/Makefile.am: Likewise.
* libsupc++/Makefile.am: Likewise.
* po/Makefile.am: Likewise. Print rules during check.
* src/Makefile.am: Likewise.
* testsuite/Makefile.am: Likewise.
* aclocal.m4, configure, Makefile.in, include/Makefile.in,
libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
src/Makefile.in, testsuite/Makefile.in: Regenerate.
From-SVN: r70522
2003-07-31 Phil Edwards <pme@gcc.gnu.org>
* testsuite/lib/libstdc++-v3-dg.exp: Rename...
* testsuite/lib/libstdc++-v3.exp: ...to this.
* testsuite/libstdc++-v3.dg/dg.exp: No special case needed now.
From-SVN: r70033