From 861768350bcf5cfc23c7509e0f9f3df9621f429f Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Wed, 28 Nov 2001 07:40:12 +0000 Subject: [PATCH] 2001-11-28 Benjamin Kosnik Jakub Jelinek * config/locale/moneypunct_members_gnu.cc (moneypunct::_M_initialize_moneypunct): Correctly cast for ia64, others. * config/locale/numpunct_members_gnu.cc (numpunct::_M_initialize_numpunct): Same. From-SVN: r47402 --- libstdc++-v3/ChangeLog | 11 ++++++++++- libstdc++-v3/config/locale/moneypunct_members_gnu.cc | 9 +++++---- libstdc++-v3/config/locale/numpunct_members_gnu.cc | 4 ++-- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 369477ef20c..5f74c2d50bd 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,12 @@ +2001-11-28 Benjamin Kosnik + Jakub Jelinek + + * config/locale/moneypunct_members_gnu.cc + (moneypunct::_M_initialize_moneypunct): Correctly cast + for ia64, others. + * config/locale/numpunct_members_gnu.cc + (numpunct::_M_initialize_numpunct): Same. + 2001-11-27 Benjamin Kosnik * include/bits/locale_facets.tcc: Formatting tweaks. @@ -440,7 +449,7 @@ * testsuite/21_strings/replace.cc (test02): Add test. * testsuite/21_strings/assign.cc (test01): New file. -001-10-30 Jakub Jelinek +2001-10-30 Jakub Jelinek * include/bits/stl_deque.h (_M_new_elements_at_front): Use __throw_exception_again. diff --git a/libstdc++-v3/config/locale/moneypunct_members_gnu.cc b/libstdc++-v3/config/locale/moneypunct_members_gnu.cc index 31662c20d19..88a4f95a24a 100644 --- a/libstdc++-v3/config/locale/moneypunct_members_gnu.cc +++ b/libstdc++-v3/config/locale/moneypunct_members_gnu.cc @@ -319,8 +319,9 @@ namespace std else { // Named locale. - _M_decimal_point = reinterpret_cast(__nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)); - _M_thousands_sep = reinterpret_cast(__nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC,__cloc)); + _M_decimal_point = static_cast(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)}).__w); + + _M_thousands_sep = static_cast(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc)}).__w); _M_grouping = __nl_langinfo_l(GROUPING, __cloc); mbstate_t __state; @@ -398,8 +399,8 @@ namespace std else { // Named locale. - _M_decimal_point = reinterpret_cast(__nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)); - _M_thousands_sep = reinterpret_cast(__nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC,__cloc)); + _M_decimal_point = static_cast(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)}).__w); + _M_thousands_sep = static_cast(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc)}).__w); _M_grouping = __nl_langinfo_l(GROUPING, __cloc); mbstate_t __state; diff --git a/libstdc++-v3/config/locale/numpunct_members_gnu.cc b/libstdc++-v3/config/locale/numpunct_members_gnu.cc index 1ebad42cdc8..5a423b50a78 100644 --- a/libstdc++-v3/config/locale/numpunct_members_gnu.cc +++ b/libstdc++-v3/config/locale/numpunct_members_gnu.cc @@ -77,8 +77,8 @@ namespace std else { // Named locale. - _M_decimal_point = reinterpret_cast(__nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)); - _M_thousands_sep = reinterpret_cast(__nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC,__cloc)); + _M_decimal_point = static_cast(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)}).__w); + _M_thousands_sep = static_cast(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc)}).__w); _M_grouping = __nl_langinfo_l(GROUPING, __cloc); } // NB: There is no way to extact this info from posix locales. -- 2.30.2