Paolo Carlini
a576fe880e
locale_facets.tcc (__pad<>::_S_pad): Minor tweaks, avoid unnecessary casts, do widenings just in time.
...
2007-05-17 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (__pad<>::_S_pad): Minor tweaks, avoid
unnecessary casts, do widenings just in time.
From-SVN: r124790
2007-05-17 09:01:27 +00:00
Paolo Carlini
84b31797f3
locale_facets.h (class collate, [...]): Move...
...
2007-04-24 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (class collate, class collate_byname):
Move...
* include/bits/locale_classes.h: ... here.
* include/bits/locale_facets.tcc (locale::combine, locale::operator(),
has_facet, use_facet, collate::_M_compare, collate::_M_transform,
collate::do_compare, collate::do_transform, collate::do_hash): Move...
* include/bits/locale_classes.tcc: ... here, new.
* include/Makefile.am: Add.
* testsuite/util/testsuite_abi.h: Include <locale>.
* include/std/locale: Tweak.
* include/std/istream: Likewise.
* include/std/ostream: Likewise.
* include/bits/codecvt.h: Likewise.
* include/Makefile.in: Regenerate.
* include/bits/codecvt.h: Adjust extern template declarations.
* include/bits/ostream_insert.h: Likewise.
* include/bits/ostream.tcc: Likewise.
* include/bits/locale_facets.h: Do not include <bits/codecvt.h>.
* include/std/fstream: Do it here.
* include/bits/locale_facets_nonio.h: Likewise.
From-SVN: r124114
2007-04-24 18:57:12 +00:00
Paolo Carlini
f749a55bb4
locale_facets.h (class time_base, [...]): Move...
...
2007-04-23 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (class time_base,
struct __timepunct_cache, class __timepunct, class time_get,
class time_get_byname, class time_put, class time_put_byname,
class money_base, struct __moneypunct_cache, class moneypunct,
class moneypunct_byname, class money_get, class money_put,
struct messages_base, class messages, class messages_byname): Move...
* include/bits/locale_facets_nonio.h: ... here.
* include/bits/locale_facets.tcc
(struct __use_cache<__moneypunct_cache<> >,
__moneypunct_cache<>::_M_cache, money_get<>::_M_extract,
money_get<>::__do_get, money_get<>::do_get, money_put<>::_M_insert,
money_put<>::__do_put, money_put<>::do_put, time_get<>::do_date_order,
time_get<>::_M_extract_via_format, time_get<>::_M_extract_num,
time_get<>::_M_extract_name, time_get<>::do_get_time,
time_get<>::do_get_date, time_get<>::do_get_weekday,
time_get<>::do_get_monthname, time_get<>::do_get_year, time_put<>::put,
time_put<>::do_put): Move...
* include/bits/locale_facets_nonio.tcc: ... here.
* include/Makefile.am: Add.
* include/std/locale: Adjust includes.
* include/std/fstream: Likewise.
* include/std/istream: Likewise.
* include/std/ostream: Likewise.
* include/Makefile.in: Regenerate.
From-SVN: r124080
2007-04-23 20:26:30 +00:00
Paolo Carlini
3b476281b6
locale_facets.tcc: Do not include <typeinfo>.
...
2007-04-22 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc: Do not include <typeinfo>.
* testsuite/27_io/basic_ios/imbue/14072.cc: Do it here.
* testsuite/27_io/basic_ios/cons/char/3.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise.
* testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/
pod/10081-in.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/
pod/10081-out.cc: Likewise.
* testsuite/22_locale/locale/cons/2.cc: Likewise.
* testsuite/22_locale/locale/cons/unicode.cc: Likewise.
* testsuite/22_locale/numpunct/members/pod/2.cc: Likewise.
* testsuite/22_locale/global_templates/1.cc: Likewise.
From-SVN: r124039
2007-04-22 10:09:11 +00:00
Paolo Carlini
6725add54e
numeric_traits.h: Do not include <limits>.
...
2007-04-13 Paolo Carlini <pcarlini@suse.de>
* include/ext/numeric_traits.h: Do not include <limits>.
(__numeric_traits_integer::__is_signed, __digits): Add.
(__numeric_traits_floating::__digits10, __max_exponent10): Add.
* src/istream.cc (ignore<char>(streamsize, int_type), operator>>
(basic_istream<char>&, char*), ignore<wchar_t>(streamsize,
int_type)): Use the latter.
* src/compatibility.cc (ignore<char>(streamsize),
ignore<wchar_t>(streamsize)): Likewise.
* include/ext/vstring_util.h (__vstring_utility<>::_S_compare):
Likewise.
* include/bits/stl_memory.h (__get_temporary_buffer): Likewise.
* include/bits/stl_algobase.h (lexicographical_compare(const char*,
const char*, const char*, const char*)): Likewise.
* include/bits/locale_facets.tcc (num_get<>::_M_extract_int(_InIter,
_InIter, ios_base&, ios_base::iostate&, _ValueT&),
num_put<>::_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT),
num_put<>::_M_insert_float(_OutIter, ios_base&, _CharT, char,
_ValueT), collate<>::do_hash(const _CharT*, const _CharT*)): Likewise.
* include/bits/basic_string.h (basic_string<>::_S_compare): Likewise.
* include/bits/istream.tcc (operator>>(short&), operator>>(int&),
ignore(streamsize), ignore(streamsize, int_type), operator>>
(basic_istream<>&, _CharT*)): Likewise.
* include/bits/stl_bvector.h (vector<bool>::max_size): Likewise.
* include/tr1/functional_hash.h (struct hash<long double>): Likewise.
* include/std/istream: Do not include <limits>.
* include/tr1/cmath: Include <limits>.
* testsuite/23_containers/vector/bool/capacity/29134.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
Likewise.
* testsuite/27_io/ios_base/storage/2.cc: Likewise.
* include/tr1/hashtable: Do not include the whole <iterator>.
From-SVN: r123779
2007-04-13 10:54:37 +00:00
Paolo Carlini
90737ab777
locale_facets.tcc (num_get<>::do_get(iter_type, ios_base&, ios_base::iostate&, void*&)): Fix for sizeof(void*) > sizeof(unsigned long).
...
2007-04-11 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
ios_base&, ios_base::iostate&, void*&)): Fix for sizeof(void*)
> sizeof(unsigned long).
* testsuite/22_locale/num_get/get/char/1.cc: Fix void* test.
* testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
* testsuite/22_locale/num_put/put/char/1.cc: Tweak comment.
* testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
From-SVN: r123716
2007-04-11 15:19:15 +00:00
Paolo Carlini
11202768fe
PR libstdc++/28277 (partial: vstring bits)
...
2007-04-10 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28277 (partial: vstring bits)
* include/bits/ostream_insert.h: New.
* include/Makefile.am: Add.
* include/ext/vstring.h (operator<<(basic_ostream<>&,
const __versa_string<>&): Forward to __ostream_insert.
* include/bits/basic_string.h (operator<<(basic_ostream<>&,
const string<>&)): Likewise.
* include/std/ostream (operator<<(basic_ostream<>&, _CharT),
operator<<(basic_ostream<char,>&, char), operator<<(basic_ostream<>&,
const _CharT*), operator<<(basic_ostream<char,>&, const char*)):
Likewise.
* include/ext/vstring.tcc (operator<<(basic_ostream<>&,
const __versa_string<>&)): Remove.
(class basic_ostream): Remove friend declarations.
(basic_ostream<>::_M_write(char_type, streamsize),
_M_insert(const char_type*, streamsize)): Remove.
* include/bits/ostream.tcc (_M_insert(const char_type*, streamsize)):
Remove definition.
(operator<<(basic_ostream<>&, const char*)): Use __ostream_insert.
* config/abi/pre/gnu.ver: Adjust.
* src/ostream-inst.cc: Add __ostream_insert instantiations.
* include/bits/locale_facets.h (__pad<>::_S_pad): Remove __num
parameter.
* include/bits/locale_facets.tcc (__pad<>::_S_pad): Adjust.
(num_put<>::_M_pad(_CharT, streamsize, ios_base&, _CharT*,
const _CharT*, int&)): Likewise.
* include/Makefile.in: Rebuild.
* testsuite/ext/vstring/inserters_extractors/char/28277.cc: New.
* testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: New.
* include/ext/vstring_util.h: Do not include the whole <locale>.
* include/ext/vstring.tcc (operator>>(basic_istream<>&,
__versa_string<>&, getline(basic_istream<>&, __versa_string<>&,
_CharT)): Tweak to refer to ios_base as a base of istream; do not
refer to non-standard types of istream.
* include/bits/istream.tcc (operator>>(basic_istream<>&, _CharT*),
ws(basic_istream<>&)): Do not refer to non-standard types of istream.
* include/std/bitset (operator>>(std::basic_istream<>&, bitset<>&)):
Avoid using basic_streambuf<>*.
* include/bits/istream.tcc (operator>>(basic_istream<>&,
basic_string<>&), getline(basic_istream<>&, basic_string<>&, _CharT)):
Move...
* include/bits/basic_string.tcc: ... here; tweak to refer to ios_base
as a base of istream; do not refer to non-standard types of istream.
* include/std/string: Tweak includes.
* include/ext/type_traits.h (__is_null_pointer): Add.
* include/ext/rc_string_base.h: Use it.
* include/ext/sso_string_base.h: Likewise.
* include/bits/basic_string.tcc (__is_null_pointer): Remove, use
the above.
* include/ext/vstring_util.h (__vstring_utility<>::_S_is_null_pointer):
Remove.
From-SVN: r123692
2007-04-10 10:38:50 +00:00
Paolo Carlini
5b3f6d1a46
locale_facets.tcc (num_put<>::do_put(iter_type, ios_base&, char_type, const void*)): Fix for sizeof(const void*) > sizeof(unsigned long).
...
2007-04-02 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
ios_base&, char_type, const void*)): Fix for sizeof(const void*)
> sizeof(unsigned long).
From-SVN: r123421
2007-04-02 09:49:31 +00:00
Dirk Mueller
9e0b7527be
locale_facets.tcc (num_get<>::do_get): Avoid warning about ambiguous else.
...
2007-02-13 Dirk Mueller <dmueller@suse.de>
* include/bits/locale_facets.tcc (num_get<>::do_get): Avoid
warning about ambiguous else.
From-SVN: r121881
2007-02-13 10:13:04 +00:00
Paolo Carlini
226a2e08e5
locale_facets.tcc (num_get<>::do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&), [...]): -Wconversion and -Woverflow fixes.
...
2007-01-28 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
iter_type, ios_base&, ios_base::iostate&, bool&),
num_put<>::_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)):
-Wconversion and -Woverflow fixes.
* include/bits/istream.tcc (operator>>(int&), operator>>(short&)):
Likewise.
* include/std/valarray (valarray<>::shift, cshift): Likewise.
From-SVN: r121264
2007-01-28 18:40:42 +00:00
Ian Lance Taylor
2a67bec24f
re PR c++/19564 (-Wparentheses does not work with the C++ front-end)
...
PR c++/19564
PR c++/19756
gcc/:
* c-typeck.c (parser_build_binary_op): Move parentheses warnings
to warn_about_parentheses in c-common.c.
* c-common.c (warn_about_parentheses): New function.
* c-common.h (warn_about_parentheses): Declare.
* doc/invoke.texi (Warning Options): Update -Wparentheses
description.
gcc/cp/:
* parser.c (cp_parser_expression_stack_entry): Add field
lhs_type.
(cp_parser_binary_expression): Track tree code of left hand side
of expression. Use it when calling build_x_binary_op.
(cp_parser_selection_statement): Add if_p parameter. Change all
callers. Warn about ambiguous else.
(cp_parser_statement): Add if_p parameter. Change all callers.
(cp_parser_implicitly_scoped_statement): Likewise.
* typeck.c (build_x_binary_op): Add parameters arg1_code and
arg2_code. Change all callers. Call warn_about_parentheses.
* cp-tree.h (build_x_binary_op): Update declaration.
gcc/testsuite/:
* g++.dg/warn/Wparentheses-5.C: New test.
* g++.dg/warn/Wparentheses-6.C: New test.
* g++.dg/warn/Wparentheses-7.C: New test.
* g++.dg/warn/Wparentheses-8.C: New test.
* g++.dg/warn/Wparentheses-9.C: New test.
* g++.dg/warn/Wparentheses-10.C: New test.
* g++.dg/warn/Wparentheses-11.C: New test.
* g++.dg/warn/Wparentheses-12.C: New test.
* g++.dg/warn/Wparentheses-13.C: New test.
* g++.dg/warn/Wparentheses-14.C: New test.
* g++.dg/warn/Wparentheses-15.C: New test.
* g++.dg/warn/Wparentheses-16.C: New test.
* g++.dg/warn/Wparentheses-17.C: New test.
* g++.dg/warn/Wparentheses-18.C: New test.
* g++.dg/warn/Wparentheses-19.C: New test.
* g++.dg/warn/Wparentheses-20.C: New test.
* g++.dg/warn/Wparentheses-21.C: New test.
libstdc++-v3/:
* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
Add parentheses around && within || to avoid warning.
(num_get<>::_M_extract_int): Likewise.
(money_get<>::_M_extract): Likewise.
(num_get<>::do_get(iter_type, iter_type, ios_base&,
ios_base::iostate&, void*&)): Add parentheses around & within | to
avoid warning.
(num_put<>::do_put(iter_type, ios_base&, char_type, const void*)):
Likewise.
* include/bits/streambuf_iterator.h (istreambuf_iterator::equal):
Add parentheses around && within || to avoid warning.
* libsupc++/tinfo.cc (__do_dyncast): Likewise.
* src/locale.cc (locale::_S_normalize_category): Likewise.
* include/bits/stl_tree.h (_Rb_tree<>::_M_insert_unique): Add
braces to avoid ambiguous else warning.
* src/strstream.cc (strstreambuf::_M_free): Likewise.
* src/tree.cc (_Rb_tree_rebalance_for_erase): Likewise.
From-SVN: r119855
2006-12-14 05:49:06 +00:00
Paolo Carlini
b3b3633323
locale_facets.tcc (money_get<>::__do_get(iter_type, iter_type, bool, ios_base&, ios_base::iostate&, double&), [...]): Tidy.
...
2006-10-17 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_get<>::__do_get(iter_type,
iter_type, bool, ios_base&, ios_base::iostate&, double&),
money_get<>::do_get(iter_type, iter_type, bool, ios_base&,
ios_base::iostate&, long double&), money_get<>::do_get(iter_type,
iter_type, bool, ios_base&, ios_base::iostate&, string_type&)): Tidy.
From-SVN: r117828
2006-10-17 16:43:47 +00:00
Paolo Carlini
a484326f89
PR libstdc++/28277 (partial: __add_grouping)
...
2006-10-09 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28277 (partial: __add_grouping)
* include/bits/locale_facets.tcc (__add_grouping<>(_CharT*, _CharT,
const char*, size_t, const _CharT*, const _CharT*)): Rewrite in
non-recursive form.
From-SVN: r117581
2006-10-09 18:04:18 +00:00
Paolo Carlini
c9a5bd5421
PR libstdc++/28277 (partial: money_put bits)
...
2006-10-09 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28277 (partial: money_put bits)
* include/bits/locale_facets.tcc (money_put<>::_M_insert(iter_type,
ios_base&, char_type, const string_type&)): Avoid __builtin_alloca
with no limit, do the work in place.
* include/bits/locale_facets.tcc (money_put<>::do_put(iter_type,
bool, ios_base&, char_type, long double)): Avoid unnecessary
__builtin_alloca, do the work in place.
From-SVN: r117571
2006-10-09 10:49:50 +00:00
Paolo Carlini
dc2a079607
PR libstdc++/28277 (partial: money_get bits)
...
2006-10-07 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28277 (partial: money_get bits)
* include/bits/locale_facets.tcc (money_get<>::do_get(iter_type,
iter_type, bool, ios_base&, ios_base::iostate&, string_type&)):
Avoid __builtin_alloca with no limit, do the work in place.
From-SVN: r117549
2006-10-08 01:13:03 +00:00
Paolo Carlini
17cdf08234
locale_facets.tcc (_M_group_int): Remove redundant using-declaration.
...
2006-09-18 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (_M_group_int): Remove
redundant using-declaration.
From-SVN: r117028
2006-09-18 16:05:25 +00:00
Benjamin Kosnik
105c6331b2
type_traits.h: New.
...
2006-09-18 Benjamin Kosnik <bkoz@redhat.com>
Peter Doerfler <gcc@pdoerfler.com>
Paolo Carlini <pcarlini@suse.de>
* include/ext/type_traits.h: New.
(__conditional_type): New.
(__numeric_traits): New.
(__add_unsigned): New.
(__remove_unsigned): New.
(__enable_if): New.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* include/ext/pb_ds/detail/type_utils.hpp: Use ext include,
remove duplicates.
* include/tr1/hashtable_policy.h (IF): Use __conditional_type.
(_Max_digits10): Same.
(identity): Use _Identity.
(extract1st): Use _Select1st.
* include/tr1/random (_Select): Use __conditional_type.
(_To_Unsigned_Type): Use __add_unsigned. Linebreak fixups.
* include/bits/locale_facets.tcc (__to_unsigned_type): Remove, use
__add_unsigned.
* include/tr1/random.tcc: Fixups as above.
* include/tr1/unordered_map: Same.
* include/tr1/hashtable: Same.
* include/tr1/unordered_set: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/
standard_policies.hpp: Same.
* include/ext/pb_ds/detail/standard_policies.hpp: Same.
* include/ext/pb_ds/detail/typelist/typelist_filter.hpp: Same.
* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
* include/ext/pb_ds/detail/type_utils.hpp: Same.
* include/ext/pb_ds/trie_policy.hpp: Same.
* docs/html/ext/pb_ds/string_trie_e_access_traits.html: Same.
* include/bits/cpp_type_traits.h (__enable_if): Move to ext, make
boolean argument first.
* include/bits/locale_facets.h: Fixups for __enable_if argument
and namespace switch.
* include/bits/stl_algobase.h: Same.
* include/bits/stl_algo.h: Same.
* include/bits/stl_iterator.h: Same.
* include/bits/streambuf_iterator.h: Same.
* include/debug/safe_iterator.h: Same.
* include/tr1/hashtable_policy.h: Same.
* include/tr1/cmath: Same.
* include/tr1/functional: Same.
* include/tr1/functional_iterate.h: Same.
* include/std/std_streambuf.h: Same.
* include/c_std/std_cmath.h: Same.
* testsuite/util/testsuite_tr1.h: Same.
* testsuite/util/performance/assoc/multimap_common_type.hpp: Same.
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
Co-Authored-By: Peter Doerfler <gcc@pdoerfler.com>
From-SVN: r117024
2006-09-18 13:30:56 +00:00
Paolo Carlini
caade1927f
locale_facets.tcc (num_put<>::_M_insert_float): Find the decimal point in cs, instead of ws; tidy.
...
2006-07-31 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
Find the decimal point in cs, instead of ws; tidy.
From-SVN: r115840
2006-07-31 19:26:58 +00:00
Paolo Carlini
420644ea23
locale_facets.tcc (collate<>::do_transform( const _CharT*, const _CharT*)): Simplify previous fix for libstdc++/28277, always allocate memory dynamically.
...
2006-07-11 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (collate<>::do_transform(
const _CharT*, const _CharT*)): Simplify previous fix for
libstdc++/28277, always allocate memory dynamically.
From-SVN: r115356
2006-07-12 00:05:50 +00:00
Paolo Carlini
36bb088b04
PR libstdc++/28277 (partial: collate bits)
...
2006-07-11 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28277 (partial: collate bits)
* include/bits/locale_facets.tcc (collate<>::do_transform(
const _CharT*, const _CharT*)): Avoid __builtin_alloca with no
limit; also avoid multiple calls (in a loop).
* testsuite/22_locale/collate/transform/char/28277.cc: New.
* testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise.
From-SVN: r115332
2006-07-11 11:21:38 +00:00
Paolo Carlini
5c171a745d
locale_facets.tcc (__int_to_char<>(_CharT*, long, const _CharT*, ios_base::fmtflags), [...]): Remove.
...
2006-07-09 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (__int_to_char<>(_CharT*,
long, const _CharT*, ios_base::fmtflags), __int_to_char<>(_CharT*,
unsigned long, const _CharT*, ios_base::fmtflags),
__int_to_char<>(_CharT*, long long, const _CharT*, ios_base::fmtflags),
__int_to_char<>(_CharT*, unsigned long long, const _CharT*,
ios_base::fmtflags)): Remove.
(__int_to_char<>(_CharT*, _ValueT, const _CharT*, ios_base::fmtflags,
bool)): Adjust.
(num_put<>::_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)):
Likewise.
From-SVN: r115298
2006-07-09 21:26:19 +00:00
Paolo Carlini
e11b210a9c
locale_facets.tcc (time_get<>::_M_extract_via_format): Ignore the value of the __err argument.
...
2006-06-17 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (time_get<>::_M_extract_via_format):
Ignore the value of the __err argument.
(time_get<>::do_get_weekday): Likewise.
(time_get<>::do_get_monthname): Likewise.
* testsuite/22_locale/time_get/get_year/wchar_t/5.cc: New.
* testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
* testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
* testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
* testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
* testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
* testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
* testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
From-SVN: r114728
2006-06-16 22:13:13 +00:00
Paolo Carlini
964c53299c
re PR libstdc++/26970 (-O3 -Wformat=2 complains about floats written to ostream)
...
2006-06-12 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/26970
* config/locale/gnu/c_locale.h (__convert_from_v<>): Change to
variadic function, instead of template function.
* config/locale/generic/c_locale.h (__convert_from_v<>): Likewise.
* include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
Adjust.
(money_put<>::do_put(long double)): Likewise.
* src/locale-misc-inst.cc: Remove.
* src/Makefile.am: Adjust.
* src/Makefile.in: Regenerate.
From-SVN: r114591
2006-06-12 23:24:22 +00:00
Paolo Carlini
bfdb907ca2
locale_facets.tcc (num_get<>::_M_extract_float): Special case main parsing loop for !_M_allocated (i.e., "C" locale).
...
2006-04-29 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
Special case main parsing loop for !_M_allocated (i.e., "C" locale).
(num_get<>::_M_extract_int): Likewise.
* include/bits/locale_facets.h (num_get<>::_M_find): New.
From-SVN: r113377
2006-04-29 18:16:47 +00:00
Jakub Jelinek
6defecc2d3
configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
...
2006-02-07 Jakub Jelinek <jakub@redhat.com>
Benjamin Kosnik <bkoz@redhat.com>
* configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
If true, set also port_specific_symbol_files and create
as_symver_specs.
(GLIBCXX_LDBL_COMPAT): New GLIBCXX_CONDITIONAL.
* configure: Rebuilt.
* config.h.in: Rebuilt.
* config/os/gnu-linux/ldbl-extra.ver: New file.
* config/abi/pre/gnu.ver: Make sure no __float128 symbols are
exported.
* include/bits/c++config (_GLIBCXX_LONG_DOUBLE_COMPAT,
_GLIBCXX_LDBL_NAMESPACE, _GLIBCXX_BEGIN_LDBL_NAMESPACE,
_GLIBCXX_END_LDBL_NAMESPACE): Define.
* include/bits/localefwd.h: Use them to conditionally scope facets.
* include/bits/locale_facets.h: Surround std::{money,num}_{get,put}
with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
Surround std::{money,num}_{get,put}
with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_get): Add __do_get method.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_put): Add __do_put method.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_get): Add __do_get method.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_put): Add __do_put method.
* include/bits/locale_facets.tcc: Surround std::{money,num}_{get,put}
with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
(std::money_get::__do_get, std::money_put::__do_put,
std::num_get::__do_get, std::num_put::__do_put): New
specializations.
* include/Makefile.am: Conditionally define
_GLIBCXX_LONG_DOUBLE_COMPAT in c++config.
* include/Makefile.in: Regenerate.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT] (_GLIBCXX_LOC_ID,
_GLIBCXX_SYNC_ID): Define, use them.
* src/compatibility-ldbl.cc: New file.
* src/complex_io.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Add compatibility
symbols.
* src/limits.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale-misc-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/istream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/ostream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/wlocale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/compatibility.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* config/locale/generic/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
Likewise.
* config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
Likewise.
* src/Makefile.am (libstdc++-symbol.ver): Append instead of
insert in the middle if port specific symbol file requests it.
(ldbl_compat_sources): New variable.
(sources): Use it.
(compatibility-ldbl.lo, compatibility-ldbl.o): New rules.
* src/Makefile.in: Rebuilt.
* testsuite/testsuite_abi.cc: Recognize GLIBCXX_LDBL_3.4,
GLIBCXX_LDBL_3.4.7, CXXABI_LDBL_1.3.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
From-SVN: r110725
2006-02-07 22:23:58 +00:00
Benjamin Kosnik
3cbc7af037
c++config: Add in revised namespace associations.
...
2005-12-18 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/c++config: Add in revised namespace associations.
_GLIBCXX_BEGIN_NAMESPACE: New macro.
_GLIBCXX_END_NAMESPACE: Same.
_GLIBCXX_BEGIN_NESTED_NAMESPACE: Same.
_GLIBCXX_END_NESTED_NAMESPACE: Same.
* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS]): Add gnu-versioned-namespace.
* configure: Regenerated.
* config.h.in: Same.
* config/abi/pre/gnu-versioned-namespace.ver: New.
* config/abi/pre/gnu.ver (GLIBCXX_3.4.7): Add exports for nested
debug mode items.
* include/Makefile.am (${host_builddir}/c++config.h): Fill in
values for __GLIBCXX__ and _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION.
* include/Makefile.in: Regnerate.
* src/compatibility.cc: Alias new, nested definitions to exported
symbols from non-nested __gnu_debug.
* src/Makefile.am: Add in ENABLE_SYMVERS_GNU_NAMESPACE.
* src/Makefile.in: Regenerate.
* docs/html/debug_mode.html: Revise for nested design.
* docs/html/debug.html: Use debug qualifications instead of
__gnu_debug.
* docs/html/configopts.html: Revise documentation for
--enable-symvers.
* include/debug/formatter: Simplify namespace qualifications for
current, nested-only reality. Add top-level namespace alias,
namespace debug, for debug-mode containers.
* include/debug/safe_iterator.h: Same.
* include/debug/set.h: Same.
* include/debug/hash_multimap.h: Same.
* include/debug/hash_set.h: Same.
* include/debug/bitset
* include/debug/safe_sequence.h: Same.
* include/debug/multiset.h: Same.
* include/debug/safe_base.h: Same.
* include/debug/functions.h: Same.
* include/debug/safe_iterator.tcc
* include/debug/hash_multiset.h: Same.
* include/debug/vector
* include/debug/map.h: Same.
* include/debug/deque
* include/debug/hash_map.h: Same.
* include/debug/string
* include/debug/macros.h: Same.
* include/debug/list
* include/debug/debug.h: Same.
* include/debug/multimap.h: Same.
* src/debug.cc: Same.
* testsuite/23_containers/vector/invalidation/1.cc: Cleanups.
* testsuite/23_containers/vector/invalidation/2.cc: Same.
* testsuite/23_containers/vector/invalidation/3.cc: Same.
* testsuite/23_containers/vector/invalidation/4.cc: Same.
* testsuite/23_containers/deque/invalidation/1.cc: Same.
* testsuite/23_containers/deque/invalidation/2.cc: Same.
* testsuite/23_containers/deque/invalidation/3.cc: Same.
* testsuite/23_containers/deque/invalidation/4.cc: Same.
* testsuite/23_containers/multiset/invalidation/1.cc: Same.
* testsuite/23_containers/multiset/invalidation/2.cc: Same.
* testsuite/23_containers/multimap/invalidation/1.cc: Same.
* testsuite/23_containers/multimap/invalidation/2.cc: Same.
* testsuite/23_containers/bitset/invalidation/1.cc: Same.
* testsuite/23_containers/bitset/cons/16020.cc: Same.
* testsuite/23_containers/bitset/operations/13838.cc: Same.
* testsuite/23_containers/list/invalidation/1.cc: Same.
* testsuite/23_containers/list/invalidation/2.cc: Same.
* testsuite/23_containers/list/invalidation/3.cc: Same.
* testsuite/23_containers/list/invalidation/4.cc: Same.
* testsuite/23_containers/set/invalidation/1.cc: Same.
* testsuite/23_containers/set/invalidation/2.cc: Same.
* testsuite/23_containers/map/invalidation/1.cc: Same.
* testsuite/23_containers/map/invalidation/2.cc: Same.
* testsuite/23_containers/map/insert/16813.cc: Same.
* include/bits/basic_ios.h: Use _GLIBCXX_BEGIN_NAMESPACE(std) and
friends.
* include/bits/stl_list.h: Same.
* include/bits/stl_map.h: Same.
* include/bits/stl_algobase.h: Same.
* include/bits/localefwd.h: Same.
* include/bits/valarray_array.tcc: Same.
* include/bits/valarray_after.h: Same.
* include/bits/gslice_array.h: Same.
* include/bits/stl_queue.h: Same.
* include/bits/gslice.h: Same.
* include/bits/locale_facets.tcc: Same.
* include/bits/locale_classes.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/locale_facets.h: Same.
* include/bits/stl_stack.h: Same.
* include/bits/stl_iterator_base_types.h: Same.
* include/bits/stl_heap.h: Same.
* include/bits/indirect_array.h: Same.
* include/bits/atomicity.h: Same.
* include/bits/stream_iterator.h: Same.
* include/bits/concurrence.h: Same.
* include/bits/basic_string.h: Same.
* include/bits/stl_multimap.h: Same.
* include/bits/stl_pair.h: Same.
* include/bits/basic_ios.tcc: Same.
* include/bits/stl_raw_storage_iter.h: Same.
* include/bits/stl_vector.h: Same.
* include/bits/stl_numeric.h: Same.
* include/bits/ios_base.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/istream.tcc: Same.
* include/bits/postypes.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/mask_array.h: Same.
* include/bits/stl_uninitialized.h: Same.
* include/bits/ostream.tcc: Same.
* include/bits/slice_array.h: Same.
* include/bits/boost_concept_check.h: Same.
* include/bits/sstream.tcc: Same.
* include/bits/stl_iterator_base_funcs.h: Same.
* include/bits/char_traits.h: Same.
* include/bits/stl_algo.h: Same.
* include/bits/stringfwd.h: Same.
* include/bits/c++config
* include/bits/stl_iterator.h: Same.
* include/bits/valarray_array.h: Same.
* include/bits/stl_tempbuf.h: Same.
* include/bits/vector.tcc: Same.
* include/bits/deque.tcc: Same.
* include/bits/stl_bvector.h: Same.
* include/bits/basic_string.tcc: Same.
* include/bits/list.tcc: Same.
* include/bits/streambuf_iterator.h: Same.
* include/bits/valarray_before.h: Same.
* include/bits/stl_construct.h: Same.
* include/bits/stl_function.h: Same.
* include/bits/cpp_type_traits.h: Same.
* include/bits/streambuf.tcc: Same.
* include/bits/allocator.h: Same.
* include/bits/stl_tree.h: Same.
* include/bits/fstream.tcc: Same.
* include/bits/stl_relops.h: Same.
* include/bits/functexcept.h: Same.
* include/std/std_valarray.h: Same.
* include/std/std_iostream.h: Same.
* include/std/std_streambuf.h: Same.
* include/std/std_bitset.h: Same.
* include/std/std_iosfwd.h: Same.
* include/std/std_iomanip.h: Same.
* include/std/std_fstream.h: Same.
* include/std/std_limits.h: Same.
* include/std/std_stdexcept.h: Same.
* include/std/std_istream.h: Same.
* include/std/std_complex.h: Same.
* include/std/std_memory.h: Same.
* include/std/std_ostream.h: Same.
* include/std/std_sstream.h: Same.
* include/c_std/std_csignal.h: Same.
* include/c_std/std_cstdlib.h: Same.
* include/c_std/std_cstdio.h: Same.
* include/c_std/std_cstdarg.h: Same.
* include/c_std/std_cctype.h: Same.
* include/c_std/std_cmath.h: Same.
* include/c_std/std_ctime.h: Same.
* include/c_std/std_clocale.h: Same.
* include/c_std/std_csetjmp.h: Same.
* include/c_std/std_cwchar.h: Same.
* include/c_std/std_cstring.h: Same.
* include/c_std/std_cstddef.h: Same.
* include/c_std/std_cwctype.h: Same.
* include/backward/iterator.h: Same.
* include/backward/set.h: Same.
* include/backward/hashtable.h: Same.
* include/backward/fstream.h: Same.
* include/backward/tempbuf.h: Same.
* include/backward/istream.h: Same.
* include/backward/bvector.h: Same.
* include/backward/stack.h: Same.
* include/backward/rope.h: Same.
* include/backward/complex.h: Same.
* include/backward/ostream.h: Same.
* include/backward/heap.h: Same.
* include/backward/iostream.h: Same.
* include/backward/function.h: Same.
* include/backward/multimap.h: Same.
* include/backward/pair.h: Same.
* include/backward/stream.h: Same.
* include/backward/iomanip.h: Same.
* include/backward/strstream
* include/backward/slist.h: Same.
* include/backward/tree.h: Same.
* include/backward/vector.h: Same.
* include/backward/deque.h: Same.
* include/backward/multiset.h: Same.
* include/backward/list.h: Same.
* include/backward/map.h: Same.
* include/backward/algobase.h: Same.
* include/backward/hash_map.h: Same.
* include/backward/algo.h: Same.
* include/backward/queue.h: Same.
* include/backward/streambuf.h: Same.
* src/allocator-inst.cc: Same.
* src/complex_io.cc: Same.
* src/localename.cc: Same.
* src/limits.cc: Same.
* src/ios_failure.cc: Same.
* src/locale-misc-inst.cc: Same.
* src/streambuf-inst.cc: Same.
* src/misc-inst.cc: Same.
* src/concept-inst.cc: Same.
* src/ios_locale.cc: Same.
* src/pool_allocator.cc: Same.
* src/fstream-inst.cc: Same.
* src/istream-inst.cc: Same.
* src/string-inst.cc: Same.
* src/locale_init.cc: Same.
* src/ctype.cc: Same.
* src/strstream.cc: Same.
* src/ostream-inst.cc: Same.
* src/functexcept.cc: Same.
* src/streambuf.cc: Same.
* src/sstream-inst.cc: Same.
* src/ios.cc: Same.
* src/valarray-inst.cc: Same.
* src/locale.cc: Same.
* src/tree.cc: Same.
* src/stdexcept.cc: Same.
* src/istream.cc: Same.
* src/compatibility.cc: Same.
* src/locale-inst.cc: Same.
* src/globals_io.cc: Same.
* src/list.cc: Same.
* src/ios_init.cc: Same.
* src/locale_facets.cc: Same.
* src/codecvt.cc: Same.
* include/tr1/unordered_map: Use _GLIBCXX_BEGIN_NAMESPACE(tr1).
* include/tr1/boost_shared_ptr.h: Same.
* include/tr1/tuple
* include/tr1/hashtable
* include/tr1/type_traits_fwd.h: Same.
* include/tr1/unordered_set
* include/tr1/functional
* include/tr1/ref_fwd.h: Same.
* include/tr1/utility
* include/tr1/type_traits
* include/tr1/array
* include/ext/hashtable.h: Use _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx).
* include/ext/typelist.h: Same.
* include/ext/hash_map: Same.
* include/ext/rc_string_base.h: Same.
* include/ext/pool_allocator.h: Same.
* include/ext/iterator: Same.
* include/ext/rb_tree: Same.
* include/ext/numeric: Same.
* include/ext/vstring.tcc: Same.
* include/ext/sso_string_base.h: Same.
* include/ext/stdio_filebuf.h: Same.
* include/ext/algorithm: Same.
* include/ext/codecvt_specializations.h: Same.
* include/ext/new_allocator.h: Same.
* include/ext/array_allocator.h: Same.
* include/ext/vstring_util.h: Same.
* include/ext/vstring_fwd.h: Same.
* include/ext/mt_allocator.h: Same.
* include/ext/debug_allocator.h: Same.
* include/ext/slist: Same.
* include/ext/stdio_sync_filebuf.h: Same.
* include/ext/hash_fun.h: Same.
* include/ext/malloc_allocator.h: Same.
* include/ext/functional: Same.
* include/ext/bitmap_allocator.h: Same.
* include/ext/pod_char_traits.h: Same.
* include/ext/vstring.h: Same.
* include/ext/ropeimpl.h: Same.
* include/ext/hash_set: Same.
* include/ext/memory: Same.
* include/ext/rope: Same.
* include/bits/boost_concept_check.h: Same.
* include/bits/stl_iterator.h: Same.
* include/bits/char_traits.h: Same.
* include/bits/cpp_type_traits.h: Same.
* include/bits/concurrence.h: Same.
* include/bits/atomicity.h: Same.
* config/locale/gnu/numeric_members.cc: Same.
* config/locale/gnu/collate_members.cc: Same.
* config/locale/gnu/ctype_members.cc: Same.
* config/locale/gnu/c_locale.cc: Same.
* config/locale/gnu/codecvt_members.cc: Same.
* config/locale/gnu/messages_members.cc: Same.
* config/locale/gnu/c_locale.h: Same.
* config/locale/gnu/monetary_members.cc: Same.
* config/locale/gnu/time_members.cc: Same.
* config/locale/ieee_1003.1-2001/c_locale.h: Same.
* config/locale/generic/numeric_members.cc: Same.
* config/locale/generic/collate_members.cc: Same.
* config/locale/generic/ctype_members.cc: Same.
* config/locale/generic/c_locale.cc: Same.
* config/locale/generic/codecvt_members.cc: Same.
* config/locale/generic/messages_members.cc: Same.
* config/locale/generic/c_locale.h: Same.
* config/locale/generic/monetary_members.cc: Same.
* config/locale/generic/time_members.cc: Same.
* config/os/aix/atomicity.h: Same.
* config/os/irix/atomicity.h: Same.
* config/cpu/powerpc/atomicity.h: Same.
* config/cpu/cris/atomicity.h: Same.
* config/cpu/ia64/atomicity.h: Same.
* config/cpu/alpha/atomicity.h: Same.
* config/cpu/m68k/atomicity.h: Same.
* config/cpu/hppa/atomicity.h: Same.
* config/cpu/mips/atomicity.h: Same.
* config/cpu/sparc/atomicity.h: Same.
* config/cpu/i386/atomicity.h: Same.
* config/cpu/i486/atomicity.h: Same.
* config/cpu/sh/atomicity.h: Same.
* config/cpu/generic/atomicity.h: Same.
* config/cpu/s390/atomicity.h: Same.
* config/io/c_io_stdio.h: Same.
* config/io/basic_file_stdio.cc: Same.
* config/io/basic_file_stdio.h: Same.
* src/misc-inst.cc: Same.
* src/concept-inst.cc: Same.
* src/ext-inst.cc: Same.
* src/string-inst.cc: Same.
* src/pool_allocator.cc: Same.
* src/bitmap_allocator.cc: Same.
* src/mt_allocator.cc: Same.
* libsupc++/exception: Same.
* libsupc++/vterminate.cc: Same.
* testsuite/ext/hash_map/1.cc: Explicitly qualify __gnu_cxx::hash_map.
* testsuite/ext/hash_map/14648.cc: Same.
* libsupc++/eh_alloc.cc: Correct comment line spacing.
From-SVN: r108775
2005-12-19 00:56:05 +00:00
Paolo Carlini
eae6e95b7f
re PR libstdc++/23953 (using stringstreams causes crashes with some locales)
...
2005-09-30 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/23953
* include/bits/locale_facets.tcc (__numpunct_cache<>::_M_cache,
__moneypunct_cache<>::_M_cache): Check that grouping()[0] > 0.
(__verify_grouping): Do the last check only if __grouping[__min] > 0.
(__add_grouping<>): End recursion if *__gbeg <= 0.
* testsuite/22_locale/num_get/get/char/23953.cc: New.
* testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
* testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
* testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
From-SVN: r104814
2005-09-30 08:39:52 +00:00
Kelley Cook
83f517994d
All files: Update FSF address.
...
2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
* All files: Update FSF address.
From-SVN: r103192
2005-08-17 02:28:44 +00:00
Paolo Carlini
8637038aa8
ostream.tcc (basic_ostream<>::operator<<(long), [...]): Don't deal with oct and hex and casts to unsigned here...
...
2005-07-11 Paolo Carlini <pcarlini@suse.de>
* include/bits/ostream.tcc (basic_ostream<>::operator<<(long),
basic_ostream<>::operator<<(long long)): Don't deal with oct
and hex and casts to unsigned here...
* include/bits/locale_facets.tcc (__int_to_char(_CharT*, long,
const _CharT*, ios_base::fmtflags), __int_to_char(_CharT*, long
long, const _CharT*, ios_base::fmtflags)): ... do that here,
instead, as per Table 57.
(num_put<>::_M_insert_int): Tidy treatment of numeric base and
sign.
* include/std/std_ostream.h (operator<<(short), operator<<(int)):
Adjust logic, as per the letter of the resolution of DR117 [WP].
* testsuite/22_locale/num_put/put/char/10.cc: New.
* testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
Likewise.
From-SVN: r101872
2005-07-11 09:48:31 +00:00
Paolo Carlini
d04e9b7fef
re PR libstdc++/22131 (std::num_get fails for input with invalid groups)
...
2005-06-29 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/22131
* include/bits/locale_facets.tcc (num_get<>::_M_extract_int,
num_get<>::_M_extract_float, money_get<>::_M_extract):
Adjust to assign the result also when digit grouping is
wrong (but the grammar is correct), as per 22.2.2.1.2, p11-12
(NB: consistently for money_get too).
* config/locale/generic/c_locale.cc (__convert_from_v): Do
not check ios_base::failbit at the outset.
* config/locale/gnu/c_locale.cc: Likewise.
* testsuite/22_locale/money_get/get/char/22131.cc: New.
* testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
* testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
* testsuite/22_locale/num_get/get/char/12.cc: Adjust.
* testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
Likewise.
From-SVN: r101416
2005-06-29 11:48:53 +00:00
Paolo Carlini
a70c902e06
re PR libstdc++/21238 (conflicting "typedef __numpunct_cache<_CharT> __cache_type;" in std::numpunct<CharT> makes specialization impossible)
...
2005-04-29 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/21238
* include/bits/locale_facets.tcc (num_get::_M_extract_float,
num_get::_M_extract_int, num_get::do_get(bool&),
num_put::_M_insert_int, num_put::_M_insert_float,
num_put::do_put(bool), money_get::_M_extract,
money_put::_M_insert): Adjust the __cache_type typedef not to
forward to a numpunct/moneypunct typedef.
* testsuite/testsuite_character.h: Add pod_uint and its numpunct
and moneypunct specializations.
* testsuite/testsuite_character.cc: Add numpunct<pod_uint>::id
and moneypunct<pod_uint>::id.
* testsuite/22_locale/num_get/3.cc: New.
* testsuite/22_locale/num_put/3.cc: Likewise.
* testsuite/22_locale/money_get/3.cc: Likewise.
* testsuite/22_locale/money_put/3.cc: Likewise.
* include/bits/locale_facets.tcc (money_put::_M_insert,
time_get::_M_extract_name): Prefer operator== to operator!=
on char_types.
From-SVN: r99012
2005-04-29 18:50:00 +00:00
Paolo Carlini
44ecf60364
re PR libstdc++/21209 (signed integer overflow in num_get<>::_M_extract_int)
...
2005-04-26 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/21209
* include/bits/locale_facets.tcc (_M_extract_int): Avoid signed
integer overflow, always use a suited unsigned type in the main
parsing loop.
(struct __to_unsigned_type): New.
* testsuite/22_locale/num_get/get/char/16.cc: New.
* testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
From-SVN: r98768
2005-04-26 09:31:07 +00:00
Paolo Carlini
101c5bc507
re PR libstdc++/20914 (Another grouping trouble)
...
2005-04-17 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/20914
* include/bits/locale_facets.tcc (__int_to_char(_CharT*, _ValueT,
const _CharT*, ios_base::fmtflags, bool)): Don't deal with numeric
base or sign here, instead...
(_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)): ... here,
after adding the grouping. This fixes the bug and also allows to
clean-up the code dealing with integer types.
(_M_group_int(const char*, size_t, _CharT, ios_base&, _CharT*,
_CharT*, int&)): Simplify, remove bits dealing with numeric base.
(__int_to_char(_CharT*, unsigned long, const _CharT*,
ios_base::fmtflags), __int_to_char(_CharT*, unsigned long long,
const _CharT*, ios_base::fmtflags)): Remove hackish fix for
libstdc++/15565.
(__int_to_char(_CharT*, long, const _CharT*, ios_base::fmtflags),
__int_to_char(_CharT*, long long, const _CharT*, ios_base::fmtflags)):
Simplify, don't pass the sign.
(_M_insert_float(_OutIter, ios_base&, _CharT, char, _ValueT)):
Deal with a sign at the beginning of __cs; robustify the grouping
check.
* testsuite/22_locale/num_put/put/char/20914.cc: New.
* testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
From-SVN: r98271
2005-04-17 14:30:37 +00:00
Paolo Carlini
eaf727f9d8
re PR libstdc++/20909 (incorrect floating point format)
...
2005-04-08 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/20909
* include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
Don't even try to group numbers like 2e20, i.e., no decimal
point, scientific notation.
* testsuite/22_locale/num_put/put/char/20909.cc: New.
* testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
From-SVN: r97873
2005-04-09 00:08:58 +00:00
Benjamin Kosnik
0aa06b18fc
doxygroups.cc: Add std::tr1 namespace.
...
2004-11-23 Benjamin Kosnik <bkoz@redhat.com>
* docs/doxygen/doxygroups.cc: Add std::tr1 namespace.
* docs/doxygen/run_doxygen: Renames for std::tr1.
* docs/doxygen/user.cfg.in: Add cxxabi.h.
* include/bits/*.tcc: Add file markup.
* include/bits/allocator.h: Add link to allocator.html.
* include/bits/atomicity.h: Add file markup.
* include/bits/concurrence.h: Same.
* include/bits/functexcept.h: Same.
* include/ext*: Adjust file markup, remove GCC3 bits.
* include/std/*: Adjust file markup, remove bits about renamed files.
* libsupc++/cxxabi.h: Add file markup.
* testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust line numbers.
From-SVN: r91135
2004-11-24 04:11:23 +00:00
Paolo Carlini
899671904c
locale_facets.tcc (num_get<>::do_get(void*&)): If the failbit is set, don't set it again.
...
2004-11-18 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::do_get(void*&)):
If the failbit is set, don't set it again.
(money_get<>::_M_extract): Minor stylistic tweak: consistently
with the other functions, take care of eofbit at the end.
From-SVN: r90861
2004-11-18 13:38:09 +00:00
Paolo Carlini
cf5c6c8d31
locale_facets.tcc (time_get<>::do_get_weekday, [...]): Absolutely avoid dereferencing end iterators.
...
2004-11-09 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (time_get<>::do_get_weekday,
time_get<>::do_get_monthname): Absolutely avoid dereferencing
end iterators.
* include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
Minor tweak.
From-SVN: r90341
2004-11-09 12:49:20 +00:00
Paolo Carlini
eba7452ba8
locale_facets.tcc (num_get<>::do_get(bool&)): Evaluate __beg == __end the exact strict minimum number of times.
...
2004-11-04 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::do_get(bool&)):
Evaluate __beg == __end the exact strict minimum number of times.
From-SVN: r90058
2004-11-04 11:29:30 +00:00
Paolo Carlini
e597a4d366
locale_facets.tcc (num_get<>::_M_extract_int): Evaluate *__beg the exact strict minimum number of times...
...
2004-11-02 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::_M_extract_int):
Evaluate *__beg the exact strict minimum number of times; likewise
for __beg != __end; slightly simplify main parsing loop.
From-SVN: r90012
2004-11-03 01:05:08 +00:00
Paolo Carlini
8dc5fa3267
locale_facets.tcc (num_get<>::_M_extract_float): Evaluate *__beg the exact strict minimum number of times...
...
2004-11-01 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
Evaluate *__beg the exact strict minimum number of times; likewise
for __beg != __end; in the main parsing loop, call ++__beg in two
places only. The former is also a correctness issue, because,
according to the standard (22.2.2.1.2, Stage 2), 'in' shall be
dereferenced only one time for each increment.
From-SVN: r89940
2004-11-01 11:31:44 +00:00
Paolo Carlini
53a8d0f021
locale_facets.tcc (num_get<>::_M_extract_float): Cache *__beg in __c when parsing exponent sign too.
...
2004-10-28 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
Cache *__beg in __c when parsing exponent sign too.
(num_get<>::do_get(..., bool&)): Cache *__beg.
(money_get<>::_M_extract)): Likewise, in money_base::value.
From-SVN: r89753
2004-10-28 12:47:36 +00:00
Benjamin Kosnik
aed305a929
array (array): Make safe for zero-sized arrays.
...
2004-10-21 Benjamin Kosnik <bkoz@redhat.com>
* include/tr1/array (array): Make safe for zero-sized arrays.
(array::end): Return one past the end.
(array::at): Use __throw_out_of_range, include functexcept.h.
(operator==): Implement.
(operator!=): Same.
(operator<): Same.
(operator>): Same.
(operator>=): Same.
(operator<=): Same.
* testsuite/tr1/6_containers/array/capacity/(empty.cc,
max_size.cc, size.cc): New.
* testsuite/tr1/6_containers/array/comparison_operators/(equal.cc,
greater.cc, greater_or_equal.cc, less.cc, less_or_equal.cc,
not_equal): New.
* testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc:
New.
* testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
New.
* testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc: New.
* testsuite/tr1/6_containers/array/requirements/(contiguous.cc,
instantiate, typedefs, zero_size_arrays): New.
From-SVN: r89429
2004-10-22 05:32:16 +00:00
Paolo Carlini
b8d65dace7
locale_facets.tcc (time_get<>::_M_extract_via_format, case 'S'): Allow for at least one leap-second (as per C99...
...
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-29 09:04:33 +00:00
Paolo Carlini
cb79308987
PR libstdc++/17038 (partial)
...
2004-08-25 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/17038 (partial)
* include/bits/locale_facets.tcc (time_put<>::do_put): Increase
__maxlen to 128.
* include/bits/locale_facets.h (class __timepunct): Add FIXME
comment about _M_put.
* config/locale/generic/time_members.cc (_M_put): Always null
terminate __s.
* config/locale/gnu/time_members.cc (_M_put): Likewise.
* testsuite/22_locale/time_put/put/char/17038.cc: New.
* testsuite/22_locale/time_put/put/wchar_t/17038.cc: New.
From-SVN: r86586
2004-08-25 23:38:29 +00:00
Paolo Carlini
44e91562ed
locale_facets.tcc (num_put<>::do_put(bool)): Cast to a signed type, long according to the resolution of DR 359.
...
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
2004-08-22 17:55:51 +00:00
Paolo Carlini
23d4fa49c6
deque.tcc: Trivial formatting fixes.
...
2004-08-15 Paolo Carlini <pcarlini@suse.de>
* include/bits/deque.tcc: Trivial formatting fixes.
* include/bits/locale_facets.tcc (num_get<>::do_get(&bool)):
Remove unneded typedef.
* include/bits/locale_facets.tcc: Very minor tweaks.
* testsuite/22_locale/time_put/put/wchar_t/1.cc: Use proper
type for the fill argument.
* testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
From-SVN: r86026
2004-08-15 19:03:44 +00:00
Paolo Carlini
49864a8255
c_locale.h (__convert_from_v): Don't use a default for __prec, assume __prec >= 0 and simplify.
...
2004-08-07 Paolo Carlini <pcarlini@suse.de>
* config/locale/generic/c_locale.h (__convert_from_v): Don't
use a default for __prec, assume __prec >= 0 and simplify.
* config/locale/gnu/c_locale.h (__convert_from_v): Likewise.
* include/bits/locale_facets.tcc (money_put<>::do_put(long double)):
Pass format "%.*Lf" + precision == 0, equivalent to "%.0Lf".
From-SVN: r85669
2004-08-07 13:48:31 +00:00
Paolo Carlini
2347da644d
locale_facets.tcc (num_get<>::_M_extract_float, [...]): In the main parsing loop delay the life of __q to the actual use point.
...
2004-07-30 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
num_get<>::_M_extract_int): In the main parsing loop delay the
life of __q to the actual use point.
From-SVN: r85380
2004-07-31 09:00:09 +00:00
Paolo Carlini
7c9b102ede
re PR libstdc++/14220 ([3.5] num_put::do_put() undesired float/double behavior)
...
2004-07-29 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/14220
* include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
Don't clip the precision passed down to __convert_from_v:
22.2.2.2.2 nowhere says so.
* testsuite/22_locale/num_put/put/char/14220.cc: New.
* testsuite/22_locale/num_put/put/wchar_t/14220.c: Likewise.
From-SVN: r85315
2004-07-29 22:11:04 +00:00
Benjamin Kosnik
1f34d12191
re PR libstdc++/16678 (warning: suggest parentheses around assignment used as truth value)
...
2004-07-23 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/16678
* include/bits/locale_facets.tcc: Fix for -Werror.
From-SVN: r85103
2004-07-24 00:10:09 +00:00