stdcxx-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Sebor (JIRA)" <j...@apache.org>
Subject [jira] Created: (STDCXX-880) num_put::put(..., 1.0e+4932L, ...) formats "inf"
Date Fri, 18 Apr 2008 00:45:23 GMT
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
            Priority: Blocker
             Fix For: 4.2.1


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.


Mime
View raw message