You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by "Martin Sebor (JIRA)" <ji...@apache.org> on 2006/06/14 00:07:29 UTC

[jira] Created: (STDCXX-201) [Solaris 10] std::time_put produces "" for %Z

[Solaris 10] std::time_put produces "" for %Z
---------------------------------------------

         Key: STDCXX-201
         URL: http://issues.apache.org/jira/browse/STDCXX-201
     Project: C++ Standard Library
        Type: Bug

  Components: 22. Localization  
    Versions: 4.1.2    
 Environment: Sun C++ 5.8/Solaris 10
    Reporter: Martin Sebor
 Assigned to: Martin Sebor 


The program below runs fine on Solaris 9 but aborts on Solaris 10.

$ cat t.cpp && nice gmake t && uname -sr && TZ=foobar ./t
#include <cassert>
#include <cstring>
#include <ctime>
#include <sstream>
#include <locale>

int main ()
{
    const std::locale loc;

    typedef std::time_put<char> TimePut;
    const TimePut &tp = std::use_facet<TimePut>(loc);

    std::ostringstream strm;

    const std::tm tmb = std::tm ();
    tp.put (std::ostreambuf_iterator<char>(strm), strm, ' ', &tmb, 'Z');

    assert ("foobar" == strm.str ());
}
CC -c -D_RWSTDDEBUG   -mt -D_RWSTD_USE_CONFIG -I/amd/devco/sebor/dev/stdlib/include -I/build/sebor/sunpro-5.8.j1-15S/include -I/amd/devco/sebor/dev/stdlib/examples/include  -library=%none -g  -xarch=v9 +w  t.cpp
"/amd/devco/sebor/dev/stdlib/include/sstream", line 346: Warning: std::ostringstream::rdbuf hides the function std::ios::rdbuf(std::streambuf *).
"t.cpp", line 14:     Where: While specializing "std::ostringstream ".
"t.cpp", line 14:     Where: Specialized in non-template code.
1 Warning(s) detected.
CC t.o -o t -library=%none -L/build/sebor/sunpro-5.8.j1-15S/lib  -mt  -xarch=v9 -L/build/sebor/sunpro-5.8.j1-15S/lib -lstd15S   -lm
SunOS 5.10
Assertion failed: "foobar" == strm.str (), file t.cpp, line 19
Abort (core dumped)


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Resolved: (STDCXX-201) [Solaris 10] std::time_put produces "" for %Z

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/STDCXX-201?page=all ]
     
Martin Sebor resolved STDCXX-201:
---------------------------------

    Resolution: Invalid

It turns out the test case is invalid (since "foobar" doesn't have the required format) and Solaris 10 is more strict when validating the TZ value than Solaris 9.

> [Solaris 10] std::time_put produces "" for %Z
> ---------------------------------------------
>
>          Key: STDCXX-201
>          URL: http://issues.apache.org/jira/browse/STDCXX-201
>      Project: C++ Standard Library
>         Type: Bug

>   Components: 22. Localization
>     Versions: 4.1.2
>  Environment: Sun C++ 5.8/Solaris 10
>     Reporter: Martin Sebor
>     Assignee: Martin Sebor

>
> The program below runs fine on Solaris 9 but aborts on Solaris 10.
> $ cat t.cpp && nice gmake t && uname -sr && TZ=foobar ./t
> #include <cassert>
> #include <cstring>
> #include <ctime>
> #include <sstream>
> #include <locale>
> int main ()
> {
>     const std::locale loc;
>     typedef std::time_put<char> TimePut;
>     const TimePut &tp = std::use_facet<TimePut>(loc);
>     std::ostringstream strm;
>     const std::tm tmb = std::tm ();
>     tp.put (std::ostreambuf_iterator<char>(strm), strm, ' ', &tmb, 'Z');
>     assert ("foobar" == strm.str ());
> }
> CC -c -D_RWSTDDEBUG   -mt -D_RWSTD_USE_CONFIG -I/amd/devco/sebor/dev/stdlib/include -I/build/sebor/sunpro-5.8.j1-15S/include -I/amd/devco/sebor/dev/stdlib/examples/include  -library=%none -g  -xarch=v9 +w  t.cpp
> "/amd/devco/sebor/dev/stdlib/include/sstream", line 346: Warning: std::ostringstream::rdbuf hides the function std::ios::rdbuf(std::streambuf *).
> "t.cpp", line 14:     Where: While specializing "std::ostringstream ".
> "t.cpp", line 14:     Where: Specialized in non-template code.
> 1 Warning(s) detected.
> CC t.o -o t -library=%none -L/build/sebor/sunpro-5.8.j1-15S/lib  -mt  -xarch=v9 -L/build/sebor/sunpro-5.8.j1-15S/lib -lstd15S   -lm
> SunOS 5.10
> Assertion failed: "foobar" == strm.str (), file t.cpp, line 19
> Abort (core dumped)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira