[
https://issues.apache.org/jira/browse/STDCXX-880?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12590256#action_12590256
]
sebor edited comment on STDCXX-880 at 4/17/08 5:50 PM:
--------------------------------------------------------------
Reverting [r646396|http://svn.apache.org/viewvc?view=rev&revision=646396] fixes
the problem.
Farid please take a look at this (FWIW, it looks like we're missing long double
overloads for the new functions added in the change).
was (Author: sebor):
Reverting [r646396|http://svn.apache.org/viewvc?view=rev&revision=646396]
fixes the problem.
Farid please take a look at this.
> num_put::put(..., 1.0e+4932L, ...) formats "inf"
> ------------------------------------------------
>
> Key: STDCXX-880
> URL: https://issues.apache.org/jira/browse/STDCXX-880
> Project: C++ Standard Library
> Issue Type: Bug
> Components: 22. Localization
> Affects Versions: trunk
> Reporter: Martin Sebor
> Assignee: Farid Zaripov
> Priority: Blocker
> Fix For: 4.2.1
>
> Original Estimate: 2h
> Time Spent: 1h
> Remaining Estimate: 1h
>
> The
> [{{22.locale.num.put.cpp}}|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/localization/22.locale.num.put.cpp]
> fails 4 assertions with the head of trunk (see below). The test passes at
> 100% with 4.2.0. I reduced the failures to the following test case:
> {noformat}
> $ cat t.cpp && gmake t && ./t
> #include <cassert>
> #include <cstdio>
> #include <math.h>
> #include <sstream>
> int main ()
> {
> const long double x = 1.0e+4932L;
> assert (isnormal (x));
> std::ostringstream strm;
> strm << x;
> char buf [40];
> std::sprintf (buf, "%Lg", x);
> if (strm.str () == buf)
> return 0;
> std::printf ("%s != %s\n", strm.str ().c_str (), buf);
> assert (0);
> }
> aCC -c -D_RWSTDDEBUG -mt -I/amd/devco/sebor/stdcxx-4.2.x/include
> -I/build/seb
> or/stdcxx-4.2.x-aCC-6.16-15D//include
> -I/amd/devco/sebor/stdcxx-4.2.x/tests/incl
> ude -AA -g +d +DD64 +w +W392,655,684,818,819,849
> +W2193,2236,2261,2340,2401,2
> 487 +W4227,4229,4231,4235,4237,4249 +W4255,4272,4284,4285,4286,4296,4297
> +W3348
> t.cpp
> "/amd/devco/sebor/stdcxx-4.2.x/include/loc/_ctype.h", line 545: warning
> #2186-D:
>
> pointless comparison of unsigned integer with zero
> if ( 0 <= __c
> ^
> "/amd/devco/sebor/stdcxx-4.2.x/include/loc/_ctype.h", line 555: warning
> #2186-D:
>
> pointless comparison of unsigned integer with zero
> if ( 0 <= __c
> ^
> aCC t.o -o t -L/build/sebor/stdcxx-4.2.x-aCC-6.16-15D//rwtest -lrwtest15D -AA
> +n
> ostl -Wl,+s -mt +DD64 -L/build/sebor/stdcxx-4.2.x-aCC-6.16-15D//lib
> -Wl,+b/bu
> ild/sebor/stdcxx-4.2.x-aCC-6.16-15D//lib:/build/sebor/stdcxx-4.2.x-aCC-6.16-15D/
> /rwtest -lstd15D -lm
> inf != 1e+4932
> Assertion failed: 0, file t.cpp, line 22
> ABORT instruction (core dumped)
> {noformat}
> The output of {{22.locale.num.put}} follows:
> {noformat}
> $ ./22.locale.num.put -q
> # ASSERTION (S7) (4 lines):
> # TEXT: line 377: num_put<char>::put (..., long double = 1.18973e+4932) wrote
> "inf", expected "1.18973149535723176508575932662800702e+4932", flags =
> fmtflags(0), precision = 36
> # CLAUSE: lib.locale.num.put
> # LINE: 1854
> # ASSERTION (S7) (4 lines):
> # TEXT: line 377: num_put<char>::put (..., long double = 1e+4932) wrote
> "inf", expected { "1", '0' <repeats 34 times>, "1", '0' <repeats 4897 times>
> }, flags = fixed, precision = 0
> # CLAUSE: lib.locale.num.put
> # LINE: 1958
> # ASSERTION (S7) (4 lines):
> # TEXT: line 377: num_put<wchar_t>::put (..., long double = 1.18973e+4932)
> wrote L"inf", expected "1.18973149535723176508575932662800702e+4932", flags =
> fmtflags(0), precision = 36
> # CLAUSE: lib.locale.num.put
> # LINE: 1854
> # ASSERTION (S7) (4 lines):
> # TEXT: line 377: num_put<wchar_t>::put (..., long double = 1e+4932) wrote
> L"inf", expected { "1", '0' <repeats 34 times>, "1", '0' <repeats 4897 times>
> }, flags = fixed, precision = 0
> # CLAUSE: lib.locale.num.put
> # LINE: 1958
> # +-----------------------+----------+----------+----------+
> # | DIAGNOSTIC | ACTIVE | TOTAL | INACTIVE |
> # +-----------------------+----------+----------+----------+
> # | (S1) INFO | 96 | 96 | 0% |
> # | (S2) NOTE | 1 | 1 | 0% |
> # | (S5) WARNING | 2 | 2 | 0% |
> # | (S7) ASSERTION | 4 | 1671 | 99% |
> # +-----------------------+----------+----------+----------+
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.