stdcxx-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Farid Zaripov (JIRA)" <j...@apache.org>
Subject [jira] Commented: (STDCXX-2) [MSVC] std::num_put bad formatting of 0.0 with precision and showpoint
Date Thu, 14 Feb 2008 17:13:08 GMT

    [ https://issues.apache.org/jira/browse/STDCXX-2?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12569004#action_12569004
] 

Farid Zaripov commented on STDCXX-2:
------------------------------------

__rw_fix_flt() is the better place of course and I thought of using it, to fix this issue.
But this workaround is intended for zero float value only, but the value doesn't passed to
the __rw_fix_flt().

If we could extend the parameters list of the __rw_fix_flt() to append the bool value indicating
that val is zero (see the attached num_put.diff2 patch).

> [MSVC] std::num_put bad formatting of 0.0 with precision and showpoint
> ----------------------------------------------------------------------
>
>                 Key: STDCXX-2
>                 URL: https://issues.apache.org/jira/browse/STDCXX-2
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>    Affects Versions: 4.1.2, 4.1.3, 4.1.4, 4.2.0
>         Environment: Windows/MSVC
>            Reporter: Martin Sebor
>            Assignee: Farid Zaripov
>             Fix For: 4.2.1
>
>         Attachments: 22.locale.num.put.stdcxx-2.cpp, num_put.cpp.diff, num_put.cpp.diff2
>
>   Original Estimate: 4h
>          Time Spent: 2.5h
>  Remaining Estimate: 1.5h
>
> When compiled with MSVC (any version), the program below aborts at runtime.
> $ cat t.cpp && cl  -D_RWCONFIG=11s_msvc_7_1 -Ic:/contrib/cygwin/build/sebor/dev-hal/include
-I./../../../../include -Ic:/contrib/cygwin/build/sebor/dev-hal/examples/stdlib/manual/../include
 -Ic:/contrib/cygwin/build/sebor/dev-hal/include/ansi -I./../../../..
> -Ic:/contrib/cygwin/build/sebor/dev-hal -Ic:/contrib/cygwin/build/sebor/dev-hal/examples/stdlib/manual
-I. -nologo -GX -MLd -W3 -Zi -GA -GR -GF -GZ  -c t.cpp && link  -nologo /NODEFAULTLIB:libcpd
/debug /LIBPATH:./../../../../lib /OUT:t.exe t.obj  std11s_msvc_7_1.lib user32.lib t.cpp &&
./t.exe
> #include <cassert>
> #include <sstream>
> int main ()
> {
>     std::ostringstream strm;
>     strm.setf (strm.showpoint);
>     strm.precision (2);
>     strm << 0.0;
>     assert ("0.0" == strm.str ());
> }
> Assertion failed: "0.0" == strm.str (), file t.cpp, line 13

-- 
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