Benjamin Kosnik
1c26d8fd84
locale_facets.h (messages): Move ctor, dtor definitions to..
...
2003-01-06 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h (messages): Move ctor, dtor
definitions to..
(__timepunct): Same.
* config/locale/gnu/messages_members.h (messages): Add dtor, ctor
definitions. Conditionalize for GNU systems.
* config/locale/generic/messages_members.h (messages): Add dtor, ctor
definitions.
* config/locale/gnu/time_members.h (messages): New. Add dtor, ctor
definitions. Conditionalize for GNU systems.
* config/locale/generic/time_members.h (messages): New. Add dtor, ctor
definitions.
* include/bits/localefwd.h (locale::facet::_S_c_name): Add.
* src/locale.cc: Define.
* src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool):
Use it.
* config/locale/gnu/time_members.h: Use it.
* config/locale/gnu/messages_members.h: Use it.
* config/linker-map.gnu: Add locale::facets details.
* include/Makefile.am (target_headers_extra): Add time_members.h.
* include/Makefile.in: Regenerate.
* acinclude.m4: Export CTIME_H.
* aclocal.m4: Regenerate.
* configure: Regnerate.
From-SVN: r60952
2003-01-06 21:23:00 +00:00
Paolo Carlini
87117aa2f3
re PR libstdc++/9151 (std::setprecision limited to 16 digits when outputting a double to a stream)
...
2003-01-06 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/9151
* include/bits/locale_facets.cc (num_put::_M_convert_float):
Limit __prec to digits10 + 2, not digits10 + 1, taking into
account the possibility of %{g,G} conversion specifiers
inside _S_format_float.
* testsuite/27_io/ostream_inserter_arith.cc (test06): Add.
From-SVN: r60939
2003-01-06 15:32:16 +00:00
Kaveh R. Ghazi
8de6a6df28
libstdc++-v3-dg.exp (libstdc++-v3-init, [...]): Additionally handle files one level deeper in glob patterns.
...
* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init,
libstdc++-v3-list-sourcefiles): Additionally handle files one
level deeper in glob patterns.
* testsuite/27_io/istream_extractor_arith.cc: Delete, split...
* testsuite/27_io/istream_extractor_arith/01.cc,
testsuite/27_io/istream_extractor_arith/02.cc,
testsuite/27_io/istream_extractor_arith/03.cc,
testsuite/27_io/istream_extractor_arith/06.cc,
testsuite/27_io/istream_extractor_arith/07.cc,
testsuite/27_io/istream_extractor_arith/08.cc,
testsuite/27_io/istream_extractor_arith/09.cc,
testsuite/27_io/istream_extractor_arith/10.cc,
testsuite/27_io/istream_extractor_arith/11.cc,
testsuite/27_io/istream_extractor_arith/12.cc,
testsuite/27_io/istream_extractor_arith/13.cc: ... to new files.
* testsuite/27_io/istream_extractor_arith/12.cc: Add XFAIL for
sparc*-*-solaris2*.
From-SVN: r60934
2003-01-06 14:16:00 +00:00
Paolo Carlini
b1599033fa
re PR libstdc++/9168 (codecvt<char, char, mbstate_t> overwrites output buffers)
...
2003-01-05 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/9168
* src/codecvt.cc
(codecvt<char, char, mbstate_t>::do_in, do_out):
Implement the resolution of DR19 (TC).
* testsuite/22_locale/codecvt_members_char_char.cc
(test01): Tweak.
From-SVN: r60901
2003-01-05 08:04:18 +00:00
Phil Edwards
3bbfb3d91d
std_bitset.h (_Base_bitset::_M_do_left_shift, [...]): Expect a non-zero shift.
...
2002-12-26 Phil Edwards <pme@gcc.gnu.org>
* include/std/std_bitset.h (_Base_bitset::_M_do_left_shift,
_Base_bitset::_M_do_right_shift): Expect a non-zero shift.
(bitset::operator<<=, bitset::operator>>=): When shifting more bits
than are in the bitset, zero memory rather than segfault.
(operator>>(basic_istream,bitset): Only call setstate once, after
all work has been done.
* testsuite/23_containers/bitset_members.cc (test03): New test.
* testsuite/23_containers/bitset_shift.cc (test02): New test.
From-SVN: r60533
2002-12-27 00:03:17 +00:00
Kaveh R. Ghazi
58c3ef5c9e
vector_capacity.cc (test03): Move ...
...
* testsuite/23_containers/vector_capacity.cc (test03): Move ...
* testsuite/23_containers/vector_resize.cc: ...here as a new file.
Pass in -lmalloc for irix6.
* testsuite/27_io/ios_base_storage.cc: Pass in -lmalloc for irix6.
From-SVN: r60276
2002-12-19 01:54:59 +00:00
Paolo Carlini
77bd447bb4
re PR libstdc++/8949 (numeric_limits<>::denorm_min() and is_iec559 problems.)
...
2002-12-16 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/8949
* include/std/std_limits.h
(struct numeric_limits<short>,
struct numeric_limits<unsigned short>,
struct numeric_limits<int>,
struct numeric_limits<unsigned int>,
struct numeric_limits<long>,
struct numeric_limits<unsigned long>,
struct numeric_limits<long long>,
struct numeric_limits<unsigned long long>): According
to 18.2.1.2,53 and 18.2.1.5,1 is_iec559 shall be false.
* testsuite/18_support/numeric_limits.cc: Add test04.
From-SVN: r60181
2002-12-16 19:52:37 +00:00
Benjamin Kosnik
6aa43d99a3
configure.in (GLIBCPP_ENABLE_DEBUG): Default to none.
...
2002-12-16 Benjamin Kosnik <bkoz@redhat.com>
* configure.in (GLIBCPP_ENABLE_DEBUG): Default to none.
Call GLIBCPP_ENABLE_DEBUG_FLAGS.
* acinclude.m4 (GLIBCPP_ENABLE_DEBUG): GLIBCPP_BUILD_DEBUG, new
conditional if --enable-debug is yes. Rework.
(GLIBCPP_ENABLE_DEBUG_FLAGS): New.
* aclocal.m4: Regenerate.
* libio/Makefile.am: Remove DEBUG_FLAGS.
* libio/Makefile.in: Regenerate.
* libsupc++/Makefile.am: Remove DEBUG_FLAGS.
* libsupc++/Makefile.in: Regenerate.
* docs/html/configopts.html: Add docs for --enable-debug,
--enable-debug-flags.
2002-12-16 Benjamin Kosnik <bkoz@redhat.com>
Correct dependency tracking, build warts.
* configure.in: Correct repeated AC_OUTPUT thrashing by
config-ml.in
* configure: Regenerate.
* include/Makefile.am (stamp-target): Stamp in top_builddir.
* include/Makefile.in: Regenerate.
* src/Makefile.am (codecvt_members.cc): New rule.
(collate_members.cc): Same.
(ctype_members.cc): Same.
(messages_members.cc): Same.
(monetary_members.cc): Same.
(numeric_members.cc): Same.
(time_members.cc): Same.
(c++locale.cc): Same.
(basic_file.cc): Same.
* src/Makefile.in: Regenerate.
* acinclude.m4 (CCTYPE_CHAR_CC): Remove.
(CCCODECVT_CC): Don't link, AC_SUBST.
(CCOLLATE_CC): Same.
(CCTYPE_CC): Same.
(CMESSAGES_CC): Same.
(CMONEY_CC): Same.
(CNUMERIC_CC): Same.
(CTIME_CC): Same.
(CLOCALE_CC): Same.
* aclocal.m4: Regenerate.
* src/Makefile.am (libstdc___la_LIBADD): Use top_builddir
for convenience libraries.
(version_arg): Rename linker.map to libstdc++.ver.
(libstdc___la_DEPENDENCIES): Remove linker.map, add
libstdc++-symbol.ver as a dependency.
(libstdc++-symbol.ver): Add rule.
* acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Change LINKER_MAP to
SYMVER_MAP. Don't link, AC_SUBST.
* include/Makefile.am (target_headers_noinst): New.
(stamp-target): Add CLOCALE_INTERNAL_H.
* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Don't link
CLOCALE_INTERNAL_H, AC_SUBST.
* config/locale/gnu/c_locale.cc: Modify c++locale_internal.h
include.
* config/locale/gnu/time_members.cc: Same.
* config/locale/gnu/numeric_members.cc: Same.
* config/locale/gnu/monetary_members.cc: Same.
* config/locale/gnu/messages_members.cc: Same.
* config/locale/gnu/ctype_members.cc: Same.
* config/locale/gnu/collate_members.cc: Same.
* config/locale/gnu/codecvt_members.cc: Same.
* config/locale/generic/codecvt_members.cc: Remove.
From-SVN: r60177
2002-12-16 19:02:01 +00:00
Gabriel Dos Reis
eee9d6bb44
* include/bits/slice_array.h (slice_array<>::operator=): Fix typo.
...
From-SVN: r59983
2002-12-10 07:32:04 +00:00
Benjamin Kosnik
5c9774866e
abi_check.cc: Add GLIBCPP_3.2.2.
...
2002-12-05 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/abi_check.cc: Add GLIBCPP_3.2.2.
From-SVN: r59870
2002-12-05 22:53:42 +00:00
Phil Edwards
ccb128db7a
re PR libstdc++/8716 (std::string( NULL, 0 ) throws exception also on zero length)
...
2002-11-28 Phil Edwards <pme@gcc.gnu.org>
PR libstdc++/8716
* testsuite/21_strings/ctor_copy_dtor.cc (test05): Also test
the NULL-pointer, zero-size case.
From-SVN: r59616
2002-11-28 21:28:20 +00:00
Paolo Carlini
0e9501e6b1
c_locale.cc (locale::_S_categories): Reorder the categories to match that of glibc's setlocale(LC_ALL, ""))
...
2002-11-28 Paolo Carlini <pcarlini@unitus.it>
* config/locale/gnu/c_locale.cc (locale::_S_categories):
Reorder the categories to match that of glibc's setlocale(LC_ALL, ""))
* config/locale/generic/c_locale.cc (locale::_S_categories): Ditto.
* testsuite/22_locale/ctor_copy_dtor.cc (test04): Tweak.
From-SVN: r59604
2002-11-28 12:25:32 +00:00
Benjamin Kosnik
8ecab601c3
abi_check.cc: Add CXXABI_1.2.1 as compatible.
...
2002-11-25 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/abi_check.cc: Add CXXABI_1.2.1 as compatible.
* config/linker-map.gnu: Version __cxa_guard_acquire,
__cxa_guard_release, __cxa_guard_abort in CXXABI_1.2.1.
From-SVN: r59487
2002-11-26 01:37:50 +00:00
Stephen M. Webb
162c7cd92d
testsuite_allocator.h: New file.
...
2002-11-25 Stephen M. Webb <stephen@bregmasoft.com>
* testsuite/testsuite_allocator.h: New file.
* testsuite/testsuite_allocator.cc: New file.
* testsuite/Makefile.am: Added testsuite_allocator to test library.
* testsuite/testsuite_hooks.h: Added more detailed tracker objects
gnu_copy_constructor, gnu_assignment_operator, and gnu_destructor.
* testsuite/testsuite_hooks.cc: Added new static objects definitions.
* testsuite/23_containers/vector_capacity.cc: Added reserve() tests.
* testsuite/23_containers/vector_ctor.cc: Added a plethora of tests.
* testsuite/23_containers/deque_ctor.cc: Added a slew of new tests.
From-SVN: r59484
2002-11-26 00:53:12 +00:00
Jonathan Lennox
5bdb1440a1
streambuf.tcc (__copy_streambufs): verify __sbin->gptr() + __bufsize < __sbin->egptr() before using.
...
2002-11-18 Jonathan Lennox <lennox@cs.columbia.edu>
* include/bits/streambuf.tcc (__copy_streambufs): verify
__sbin->gptr() + __bufsize < __sbin->egptr() before using.
* testsuite/27_io/ostream_inserter_other.cc (test_buffer_4): Add.
(test05): Use test_buffer_4. Delete unused ostringstream
variables.
From-SVN: r59234
2002-11-18 22:42:35 +00:00
Benjamin Kosnik
af5fb6ab3b
re PR libstdc++/8230 (Buggy allocator behaviour)
...
2002-11-15 Benjamin Kosnik <bkoz@redhat.com>
Gabriel Dos Reis <gdr@integrable-solutions.net>
PR libstdc++/8230
* include/bits/stl_alloc.h: Use builtin_expect for the most
obvious limit checks.
(__default_alloc_template::allocate): Check for null, throw
bad_alloc.
* include/bits/vector.tcc: Formatting tweaks.
* include/bits/stl_vector.h: Same.
* testsuite/20_util/allocator_members.cc (test02): Add.
* testsuite/23_containers/vector_capacity.cc (test03): Add.
Co-Authored-By: Gabriel Dos Reis <gdr@integrable-solutions.net>
From-SVN: r59169
2002-11-16 17:16:31 +00:00
Benjamin Kosnik
48d1c3c568
re PR libstdc++/8230 (Buggy allocator behaviour)
...
2002-11-13 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/8230
* include/bits/vector.tcc (vector::reserve): Throw length_error if
requested size is bigger than max_size().
* include/bits/stl_bvector.h (vector<bool>::reserve): Same.
* testsuite/23_containers/vector_capacity.cc (test02): Add.
From-SVN: r59090
2002-11-13 22:15:17 +00:00
Benjamin Kosnik
6eeb7d7ae0
re PR libstdc++/6746 (ifstream::readsome() always returns zero)
...
2002-11-11 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/6746
* include/bits/fstream.tcc (filebuf::open): Set input pointers.
* config/io/basic_file_stdio.cc (__basic_file::_M_open_mode): Set
__p_mode as well.
(__basic_file::open): Set to non-block for input.
* testsuite/27_io/istream_unformatted.cc (test12): Add.
(test13): Same.
From-SVN: r59030
2002-11-11 23:18:05 +00:00
Benjamin Kosnik
112615e7d3
re PR libstdc++/8258 (basic_istream::readsome() with default buffer change stream state to ios_base::eofbit)
...
2002-11-05 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/8258
* include/bits/istream.tcc (istream::readsome): Don't set eofbit
for null buffer.
(istream::operator>>(_CharT*)): Use traits_type.
(istream::ws): Same.
(istream::operator>>(string)): Same.
* testsuite/27_io/istream_unformatted.cc (test11): Add.
From-SVN: r58840
2002-11-05 23:46:22 +00:00
Paolo Carlini
81646a3157
re PR libstdc++/8466 (basic_stringbuf::str(basic_string const&) modifies its argument)
...
2002-11-05 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/8466
* include/std/std_sstream.h
(basic_stringbuf::str(const __string_type&)):
Cannot use simple assignment since the COW-nature of v3
basic_string is not taken into account in basic_stringbuf.
* testsuite/27_io/stringstream_members.cc: Add test04 from PR.
From-SVN: r58838
2002-11-05 23:28:15 +00:00
Benjamin Kosnik
72040fcbf6
linker-map.gnu: Export string operator+.
...
2002-11-04 Benjamin Kosnik <bkoz@redhat.com>
* config/linker-map.gnu: Export string operator+.
Export __default_alloc_template::_S_force_new.
* testsuite/abi_check.cc: Output tweaks.
From-SVN: r58801
2002-11-04 22:57:00 +00:00
Benjamin Kosnik
04c7481ed2
re PR libstdc++/8348 (fail() flag is set in istringstream when eof() flag is set !)
...
2002-10-31 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/8348
* include/bits/istream.tcc (istream::tellg): Remove sentry bits.
(istream::seekg): Same.
* testsuite/27_io/istream_seeks.cc (test06): New.
From-SVN: r58703
2002-11-01 05:38:27 +00:00
Jason Thorpe
17a7afe04b
pthread5.cc: Include <unistd.h> if _GLIBCPP_HAVE_UNISTD_H is defined.
...
* testsuite/thread/pthread5.cc: Include <unistd.h>
if _GLIBCPP_HAVE_UNISTD_H is defined.
(main): Only use pthread_attr_setscope if
_POSIX_THREAD_PRIORITY_SCHEDULING is defined.
From-SVN: r58608
2002-10-29 01:10:52 +00:00
Jason Thorpe
761642ea46
pthread1.cc: Enable on *-*-netbsd*.
...
* testsuite/thread/pthread1.cc: Enable on *-*-netbsd*.
* testsuite/thread/pthread2.cc: Likewise.
* testsuite/thread/pthread3.cc: Likewise.
* testsuite/thread/pthread4.cc: Likewise.
* testsuite/thread/pthread5.cc: Likewise.
* testsuite/thread/pthread6.cc: Likewise.
From-SVN: r58606
2002-10-28 23:31:55 +00:00
Paolo Carlini
085825b83b
re PR libstdc++/8347 (empty vector range used in string construction causes core dump.)
...
2002-10-27 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/8347
* include/bits/basic_string.tcc
(string::_S_construct(_InIter, _InIter, const _Alloc&,
forward_iterator_tag)): Do not throw logic error if
__beg == NULL && __end == __beg.
(string::string(const _CharT*, const _Alloc&)): Tweak.
* testsuite/21_strings/ctor_copy_dtor.cc: Add test05 from PR.
From-SVN: r58577
2002-10-27 07:35:06 +00:00
Hans-Peter Nilsson
2068a050ab
testsuite_hooks.cc (__set_testsuite_memlimit): Use __typeof__ (r.rlim_cur), not rlim_t in declaration of limit.
...
* testsuite/testsuite_hooks.cc (__set_testsuite_memlimit): Use
__typeof__ (r.rlim_cur), not rlim_t in declaration of limit.
From-SVN: r58512
2002-10-24 23:27:27 +00:00
Jakub Jelinek
3eb6b2b040
num_put_members_char.cc (test01): Swap size and decimal_point arguments of find.
...
* testsuite/22_locale/num_put_members_char.cc (test01): Swap size
and decimal_point arguments of find.
* testsuite/22_locale/num_put_members_wchar_t.cc (test01): Likewise.
From-SVN: r58454
2002-10-23 17:45:50 +02:00
Loren J. Rittle
312af83702
numeric_limits.cc (test_extrema<long double>): Remove specialization for FreeBSD systems.
...
* testsuite/18_support/numeric_limits.cc (test_extrema<long double>):
Remove specialization for FreeBSD systems.
From-SVN: r58409
2002-10-22 09:35:10 +00:00
Loren J. Rittle
5a6be855cb
pthread1.cc: Remove needless workaround for FreeBSD 5.
...
* testsuite/thread/pthread1.cc: Remove needless workaround
for FreeBSD 5.
From-SVN: r58289
2002-10-18 21:37:53 +00:00
Loren J. Rittle
0b564d905f
howto.html (GLIBCPP_FORCE_NEW): Document new environment variable which replaces all uses of __USE_MALLOC macro.
...
* docs/html/23_containers/howto.html (GLIBCPP_FORCE_NEW): Document
new environment variable which replaces all uses of __USE_MALLOC
macro.
* docs/html/ext/howto.html (GLIBCPP_FORCE_NEW): Likewise.
(__mem_interface): Remove all references to old internal typedef.
* include/backward/alloc.h (__USE_MALLOC): Remove it and all
guarded code.
* include/bits/c++config (__USE_MALLOC): Update related error
message and comment.
* include/bits/stl_alloc.h (__USE_MALLOC): Remove it and all
guarded code. Update all related comments.
(__mem_interface): Unconditionally replace it with __new_alloc.
However, leave the typedef around in case anyone used it.
(__default_alloc_template<>::_S_force_new): New class static.
(__default_alloc_template<>::allocate, deallocate): Add
run-time controlled feature similar to what __USE_MALLOC code
path had provided.
* src/stl-inst.cc (__USE_MALLOC): Remove it and all
guarded code.
* testsuite/21_strings/capacity.cc: Remove reference to __USE_MALLOC.
Add documentation on GLIBCPP_FORCE_NEW environment variable.
* testsuite/ext/allocators.cc: Likewise.
From-SVN: r58286
2002-10-18 20:52:57 +00:00
Benjamin Kosnik
8c536ae9dc
globals.cc (__gnu_cxx::c_locale_impl_compat): Add, alias to c_locale_impl.
...
2002-10-14 Benjamin Kosnik <bkoz@redhat.com>
* src/globals.cc (__gnu_cxx::c_locale_impl_compat): Add, alias to
c_locale_impl.
* testsuite/abi_check.cc (line_to_symbol_info): Collect size info.
* docs/html/abi.txt: Update.
From-SVN: r58147
2002-10-15 04:22:11 +00:00
Benjamin Kosnik
51502ebc13
static_members.cc (test02): Less provincial.
...
2002-10-14 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/22_locale/static_members.cc (test02): Less provincial.
From-SVN: r58144
2002-10-15 01:05:30 +00:00
Benjamin Kosnik
9fead1f53b
static_members.cc (test02): Disable for systems without named locale support.
...
2002-10-14 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/22_locale/static_members.cc (test02): Disable for
systems without named locale support.
* testsuite/22_locale/ctor_copy_dtor.cc (test04): Don't assume
running the testsuites in "C" environment.
Add new tests.
* docs/html/22_locale/locale.html: Update.
From-SVN: r58142
2002-10-14 22:13:34 +00:00
Benjamin Kosnik
b0b128027b
abi_check.cc (hash<string>): Specialize.
...
2002-10-12 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/abi_check.cc (hash<string>): Specialize.
Simplify. Check compatible symbol versions.
* config/linker-map.gnu: Clarify, explicitly export
std::codecvt::c* symbols.
* testsuite/22_locale/static_members.cc (test02): Avoid null strings.
From-SVN: r58091
2002-10-13 04:46:58 +00:00
Benjamin Kosnik
c0b80fecdf
static_members.cc (test02): Fix.
...
2002-10-11 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/22_locale/static_members.cc (test02): Fix.
From-SVN: r58079
2002-10-12 04:37:51 +00:00
Benjamin Kosnik
45c7cbd930
acconfig.h (_GLIBCPP_SYMVER): Add.
...
2002-10-11 Benjamin Kosnik <bkoz@redhat.com>
* acconfig.h (_GLIBCPP_SYMVER): Add.
(_GLIBCPP_ASM_SYMVER): Add.
* acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Define _GLIBCPP_SYMVER.
* aclocal.m4: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
* include/bits/c++config (_GLIBCPP_AT_AT): Define, as an expedient
hack around m4 issues with quoting '@'.
* src/locale.cc: Use _GLIBCPP_ASM_SYMVER.
* src/globals.cc: Same.
* testsuite/22_locale/ctor_copy_dtor.cc (test04): Fix for
non-glibc systems.
From-SVN: r58065
2002-10-11 21:10:10 +00:00
Benjamin Kosnik
402a402cab
locale.cc: Fix comments, move ctors together.
...
2002-10-09 Benjamin Kosnik <bkoz@redhat.com>
* src/locale.cc: Fix comments, move ctors together.
* testsuite/22_locale/static_members.cc (test03): Add.
From-SVN: r58001
2002-10-10 05:15:29 +00:00
Jonathan Lennox
3279e88a45
PR libstdc++/8071, libstdc++/8127, c++/6745
...
2002-10-08 Jonathan Lennox <lennox@cs.columbia.edu>
PR libstdc++/8071, libstdc++/8127, c++/6745
* streambuf.tcc (__copy_streambufs): Handle cases where
__sbin->in_avail() returns 0, or where __sbin doesn't set gptr().
* testsuite/27_io/ostream_inserter_other.cc (test05): Add.
From-SVN: r57970
2002-10-09 06:32:11 +00:00
Paolo Carlini
aa53f832ac
localefwd.h (class locale): Add static member _S_num_extra_categories...
...
2002-10-08 Paolo Carlini <pcarlini@unitus.it>
Benjamin Kosnik <bkoz@redhat.com>
* include/bits/localefwd.h (class locale): Add static member
_S_num_extra_categories, encoding the number of additional
categories.
Change _S_num_categories to _S_categories_size.
(class locale::_Impl): Add _M_c_cats.
(class locale::_Impl::_M_names): Change to array of chars.
(class locale::_Impl::_M_check_same_name): Use
_S_extra_categories_size, tweak.
(locale::locale(const locale&, _Facet*)): Ditto.
* src/locale.cc (locale::locale(const char* )): Rewrite to deal
with the environment in a POSIX-compliant way while being thread
safe.
(locale::name()): Update to output POSIX environment strings.
* src/localename.cc
(locale::_Impl::_Impl(const _Impl&, size_t): Use
_S_categories_size_*, tweak.
(locale::_Impl::_Impl(facet**, size_t, bool)): Ditto.
(locale::_Impl::_Impl(const char*, size_t)): Name each category
individually.
(locale::_Impl::_M_replace_categories): Use strcpy.
* include/bits/locale_facets.h (numpunct::_M_initialize_numpunct):
Change default argument to NULL from _S_c_locale.
(timepunct::_M_initialize_timepunct): Same.
_S_c_locale cleanups.
* src/codecvt.c: _S_c_locale simplification.
* src/ctype.c: Same.
* src/globals.cc: Add fake_name.
* src/locale-inst.cc: Remove extra includes.
* src/locale.cc: Remove extra includes.
Add _S_extra_categories_size definition.
Correct "C" initialization.
(locale::facet::facet): Don't initialize _S_c_locale.
(locale::facet::_M_remove_reference): Adjust.
* src/localename: Use facet_vec, facet_name.
(locale::_Impl::_Impl(facet** __f, size_t __refs, bool)): Set
facet ref counts to one. Initialize _S_c_locale.
(locale::_Impl::_M_install_facet(id*, facet*)): Adjust facet ref
counts when installing unilaterally.
* config/locale/generic/c_locale.cc: Add _S_categories definition.
* config/locale/generic/c_locale.h: Add _GLIBCPP_NUM_CATEGORIES macro.
* config/locale/generic/time_members.cc: _S_c_locale cleanup.
* config/locale/gnu/c_locale.cc: Add _S_categories definition.
(_S_destroy_c_locale): Move checks against _S_c_locale here.
* config/locale/gnu/c_locale.h: Add _GLIBCPP_NUM_CATEGORIES macro.
* config/locale/gnu/ctype_members.cc: Simplify _S_destroy_c_locale
calls, _S_c_locale usage.
* config/locale/gnu/monetary_members.cc: Same, tweaks.
* config/locale/gnu/monetary_members.cc: Same.
* config/locale/gnu/time_members.cc: Same.
* config/os/gnu-linux/ctype_noninline.h: Use locale::classic().
* docs/html/22_locale/locale.html: Add bits about global locales
and "C" setlocale.
* testsuite/22_locale/facet.cc (test02): Add.
* testsuite/22_locale/static_members.cc (test02): Add.
* testsuite/22_locale/ctor_copy_dtor.cc (test04): Add.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
From-SVN: r57964
2002-10-08 23:32:23 +00:00
Paolo Carlini
b1af5a30a5
locale_facets.tcc (num_put::_M_widen_int): Deal correctly with grouped, showbased (oct or hex) zero.
...
2002-09-27 Paolo Carlini <pcarlini@unitus.it>
* include/bits/locale_facets.tcc (num_put::_M_widen_int):
Deal correctly with grouped, showbased (oct or hex) zero.
* testsuite/22_locale/num_put_members_char.cc: Add test05.
* testsuite/22_locale/num_put_members_wchar_t.cc: Ditto.
From-SVN: r57598
2002-09-27 23:08:22 +00:00
Benjamin Kosnik
ca017eef3a
Makefile.am (target_headers): Remove cpu_limits.h.
...
2002-09-25 Benjamin Kosnik <bkoz@redhat.com>
* include/Makefile.am (target_headers): Remove cpu_limits.h.
* include/Makefile.in: Regenerate.
* configure.in (CPU_LIMITS_INC_SRCDIR): Remove
* configure: Regenerate.
* configure.target (CPULIMITS): Remove.
* include/std/std_limits.h: Remove cpu_limits.h include.
* config/os/solaris/solaris2.7/os_defines.h (__glibcpp_long_bits):
Remove.
* config/os/irix/irix6.5/os_defines.h
(__glibcpp_long_double_bits): Remove.
(__glibcpp_wchar_t_bits): Remove.
(__glibcpp_long_bits): Remove.
* config/os/irix/irix5.2/os_defines.h
(__glibcpp_long_double_bits): Remove.
(__glibcpp_long_bits): Remove.
* config/os/hpux/os_defines.h (__glibcpp_wchar_t_is_signed): Remove.
* config/os/bsd/freebsd/os_defines.h:
(__glibcpp_long_double_bits): Remove.
* config/os/aix/os_defines.h (__glibcpp_wchar_t_bits): Remove.
(__glibcpp_wchar_t_is_signed): Remove.
(__glibcpp_long_bits): Remove.
* config/os/gnu-linux/os_defines.h (__glibcpp_long_bits): Remove.
(__glibcpp_long_double_bits): Remove.
* config/os/osf/osf5.0/cpu_limits.h: Remove.
* config/cpu/alpha/cpu_limits.h: Remove.
* config/cpu/arm/cpu_limits.h: Remove.
* config/cpu/cris/cpu_limits.h: Remove.
* config/cpu/generic/cpu_limits.h: Remove.
* config/cpu/generic/limits.h: Remove.
* config/cpu/ia64/cpu_limits.h: Remove.
* config/cpu/m68k/cpu_limits.h: Remove.
* config/cpu/mmix/cpu_limits.h: Remove.
* config/cpu/powerpc/cpu_limits.h: Remove.
* config/cpu/S390/cpu_limits.h: Remove.
From-SVN: r57524
2002-09-26 05:25:14 +00:00
Peter Schmid
dac2c906db
numeric_limits.cc: Check the maximum and minimum values of the wchar_t type.
...
2002-09-25 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
* testsuite/18_support/numeric_limits.cc: Check the maximum and
minimum values of the wchar_t type.
From-SVN: r57512
2002-09-25 19:37:04 +00:00
Richard Henderson
6ad8f94953
std_limits.h (__glibcpp_plain_char_is_signed, [...]): Remove.
...
* include/std/std_limits.h (__glibcpp_plain_char_is_signed,
__glibcpp_wchar_t_is_signed, __glibcpp_s8_max, __glibcpp_s8_min,
__glibcpp_s8_digits, __glibcpp_s8_digits10, __glibcpp_u8_min,
__glibcpp_u8_max, __glibcpp_u8_digits, __glibcpp_u8_digits10,
__glibcpp_s16_max, __glibcpp_s16_min, __glibcpp_s16_digits,
__glibcpp_s16_digits10, __glibcpp_u16_min, __glibcpp_u16_max,
__glibcpp_u16_digits, __glibcpp_u16_digits10, __glibcpp_s32_max,
__glibcpp_s32_min, __glibcpp_s32_digits, __glibcpp_s32_digits10,
__glibcpp_u32_min, __glibcpp_u32_max, __glibcpp_u32_digits,
__glibcpp_u32_digits10, __glibcpp_s64_max, __glibcpp_s64_min,
__glibcpp_s64_digits, __glibcpp_s64_digits10, __glibcpp_u64_min,
__glibcpp_u64_max, __glibcpp_u64_digits, __glibcpp_u64_digits10,
__glibcpp_bool_digits, __glibcpp_signed_char_min,
__glibcpp_signed_char_max, __glibcpp_signed_char_digits,
__glibcpp_signed_char_digits10, __glibcpp_unsigned_char_min,
__glibcpp_unsigned_char_max, __glibcpp_unsigned_char_digits,
__glibcpp_unsigned_char_digits10, __glibcpp_char_min,
__glibcpp_char_max, __glibcpp_char_digits, __glibcpp_char_digits10,
__glibcpp_signed_short_min, __glibcpp_signed_short_max,
__glibcpp_signed_short_digits, __glibcpp_signed_short_digits10,
__glibcpp_unsigned_short_min, __glibcpp_unsigned_short_max,
__glibcpp_unsigned_short_digits, __glibcpp_unsigned_short_digits10,
__glibcpp_signed_int_min, __glibcpp_signed_int_max,
__glibcpp_signed_int_digits, __glibcpp_signed_int_digits10,
__glibcpp_unsigned_int_min, __glibcpp_unsigned_int_max,
__glibcpp_unsigned_int_digits, __glibcpp_unsigned_int_digits10,
__glibcpp_signed_long_min, __glibcpp_signed_long_max,
__glibcpp_unsigned_long_digits, __glibcpp_unsigned_long_digits10,
__glibcpp_signed_long_long_min, __glibcpp_signed_long_long_max,
__glibcpp_signed_long_long_digits, __glibcpp_signed_long_long_digits10,
__glibcpp_wchar_t_min, __glibcpp_wchar_t_max, __glibcpp_wchar_t_digits,
__glibcpp_wchar_t_digits10): Remove.
(__glibcpp_byte, __glibcpp_word_bits, __glibcpp_word): Remove.
(__float_storage, __double_storage, __long_double_storage): Remove.
(__glibcpp_signed, __glibcpp_min, __glibcpp_max): New.
(__glibcpp_digits, __glibcpp_digits10): New.
(numeric_limits<T>::min): Use __glibcpp_min or limits.h builtins.
(numeric_limits<T>::max): Use __glibcpp_max or limits.h builtins.
(numeric_limits<T>::is_signed, T=char,wchar_t): Use __glibcpp_signed.
(numeric_limits<T>::digits): Use __glibcpp_digits.
(numeric_limits<T>::digits10): Use __glibcpp_digits10.
* testsuite/18_support/numeric_limits.cc (test03): Don't use
__glibcpp_s8_digits10 et al; check vs the installed versions
of digits10 for particular sizes.
* include/std/std_limits.h (__glibcpp_float_is_modulo,
__glibcpp_double_is_modulo, __glibcpp_long_double_is_modulo): Kill.
(numeric_limits<T>::is_modulo, T floating): Use false.
From-SVN: r57434
2002-09-23 04:24:57 -07:00
Loren J. Rittle
b433da3cac
* testsuite/18_support/numeric_limits.cc (test_epsilon): New.
...
From-SVN: r57295
2002-09-19 04:26:25 +00:00
Richard Henderson
62f1a74c0f
* testsuite/18_support/numeric_limits.cc: Add -mieee for alpha.
...
From-SVN: r57280
2002-09-18 11:06:13 -07:00
Richard Henderson
1472e41cb3
builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
...
gcc/
* builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
(BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
* builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
(__builtin_nans, __builtin_nansf, __builtin_nansl): New.
* builtins.c (fold_builtin_nan): New.
(fold_builtin): Call it.
* real.c (real_nan): Parse a non-empty string.
(round_for_format): Fix NaN significand truncation.
* real.h (real_nan): Return bool.
* doc/extend.texi: Document new builtins.
libstdc++/
* include/std/std_limits.h (__glibcpp_f32_QNaN_bytes,
__glibcpp_f32_has_QNaN, __glibcpp_f32_SNaN_bytes,
__glibcpp_f32_has_SNaN, __glibcpp_f64_QNaN_bytes,
__glibcpp_f64_has_QNaN, __glibcpp_f64_SNaN_bytes,
__glibcpp_f64_has_SNaN, __glibcpp_f80_QNaN_bytes,
__glibcpp_f80_has_QNaN, __glibcpp_f80_SNaN_bytes,
__glibcpp_f80_has_SNaN, __glibcpp_f96_QNaN_bytes,
__glibcpp_f96_has_QNaN, __glibcpp_f96_SNaN_bytes,
__glibcpp_f96_has_SNaN, __glibcpp_f128_QNaN_bytes,
__glibcpp_f128_has_QNaN, __glibcpp_f128_SNaN_bytes,
__glibcpp_f128_has_SNaN, __glibcpp_float_QNaN_bytes,
__glibcpp_float_has_QNaN, __glibcpp_float_SNaN_bytes,
__glibcpp_float_has_SNaN, __glibcpp_double_QNaN_bytes,
__glibcpp_double_has_QNaN, __glibcpp_double_SNaN_bytes,
__glibcpp_double_has_SNaN, __glibcpp_long_double_QNaN_bytes,
__glibcpp_long_double_has_QNaN, __glibcpp_long_double_SNaN_bytes,
__glibcpp_long_double_has_SNaN): Remove.
(__glibcpp_f128_is_iec559): True if IEEE.
(__glibcpp_float_QNaN, __glibcpp_float_SNaN): Remove.
(__glibcpp_double_QNaN, __glibcpp_double_SNaN): Remove.
(__glibcpp_long_double_QNaN, __glibcpp_long_double_SNaN): Remove.
(std::numeric_limits<float>::has_quiet_NaN): Use __builtin_nanf.
(std::numeric_limits<float>::has_signaling_NaN): Mirror has_quiet_NaN.
(std::numeric_limits<float>::quiet_NaN): Use __builtin_nanf.
(std::numeric_limits<float>::signaling_NaN): Use __builtin_nansf.
(std::numeric_limits<double>): Similarly.
(std::numeric_limits<long double>): Similarly.
* src/limits.cc (__glibcpp_float_QNaN, __glibcpp_float_SNaN): Remove.
(__glibcpp_double_QNaN, __glibcpp_double_SNaN): Remove.
(__glibcpp_long_double_QNaN, __glibcpp_long_double_SNaN): Remove.
* testsuite/18_support/numeric_limits.cc (test_infinity): New.
(test_denorm_min, test_qnan, test_is_iec559): New.
From-SVN: r57221
2002-09-16 18:28:50 -07:00
Phil Edwards
0e9cab878b
abi_check.cc: Pull shell fragments out into...
...
2002-09-16 Phil Edwards <pme@gcc.gnu.org>
* testsuite/abi_check.cc: Pull shell fragments out into...
* config/abi/extract_symvers: ...here. New file.
* Makefile.am (check_abi): Change to match.
(new-abi-baseline): New target.
* Makefile.in: Regenerated.
From-SVN: r57208
2002-09-16 18:58:48 +00:00
Benjamin Kosnik
38cca75024
Makefile.am (sources): Edit.
...
2002-09-10 Benjamin Kosnik <bkoz@redhat.com>
* src/Makefile.am (sources): Edit.
(target_sources): New.
(target_sources_extra): New.
* src/Makefile.in: Regenerate.
* acinclude.m4: Set CCODECVT_CC.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* src/locale.cc: Move ctype definitions...
* src/ctype.cc: ...here. New file.
* src/locale.cc: Move codecvt definitions...
* src/codecvt.cc: ...here.
* config/generic/codecvt_members.cc: ...and here.
* config/gnu/codecvt_members.cc: ...and here.
* include/bits/codecvt.h: Tweak.
* include/bits/locale_facets: Tweak.
* src/bitset.cc: Correct license text.
* src/concept-inst.cc: Same.
* src/strstream.cc: Same.
* src/vterminate.cc: Same.
From-SVN: r57020
2002-09-11 03:36:45 +00:00
Benjamin Kosnik
f7be254940
configopts.html: Change grouping.
...
2002-09-09 Benjamin Kosnik <bkoz@redhat.com>
* docs/html/configopts.html: Change grouping. Note ABI impacts.
Update information for locale model defaults.
* docs/html/install.html: Update include directory
information.
Update testing information.
Update linux issues for named locales.
* docs/html/abi.txt: Fix typos.
Add more info.
* src/misc-inst.cc: Add missing instantiations.
* testsuite/abi_check.cc: Make output results more verbose.
* config/os/gnu-linux/ctype_base.h: Remove shadow headers injections.
From-SVN: r56979
2002-09-09 20:26:42 +00:00
Paolo Carlini
e2cbee7fd1
re PR libstdc++/7811 (default locale not taken from environment)
...
2002-09-05 Paolo Carlini <pcarlini@unitus.it>
Roland McGrath <roland@redhat.com>
PR libstdc++/7811
* src/locale.cc (locale::locale(__s)): Use getenv instead
of setenv for the environment locale.
* testsuite/22_locale/ctor_copy_dtor.cc (test03): New.
Co-Authored-By: Roland McGrath <roland@redhat.com>
From-SVN: r56865
2002-09-05 21:13:07 +00:00