You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@stdcxx.apache.org by "Martin Sebor (JIRA)" <ji...@apache.org> on 2008/01/21 19:48:34 UTC

[jira] Updated: (STDCXX-319) [LWG #596] std::filebuf::open(..., ios::app) unexpectedly succeeds

     [ https://issues.apache.org/jira/browse/STDCXX-319?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Sebor updated STDCXX-319:
--------------------------------

              Severity: Incorrect Behavior
    Remaining Estimate: 2h
     Original Estimate: 2h

> [LWG #596] std::filebuf::open(..., ios::app) unexpectedly succeeds
> ------------------------------------------------------------------
>
>                 Key: STDCXX-319
>                 URL: https://issues.apache.org/jira/browse/STDCXX-319
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 27. Input/Output
>    Affects Versions: 4.1.2, 4.1.3
>         Environment: all
>            Reporter: Martin Sebor
>            Assignee: Martin Sebor
>            Priority: Trivial
>             Fix For: 4.2.1
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> According to filebuf.members, p2, filebuf::open(const char*, openmode mode) is not some combination of the flags listed in Table 113 the call is supposed to fail. Since ios::app only appears in conjunction with ios::out (and ios::binary|ios::out) the call in the program below should fail.
> $ cat t.cpp && make t && ./t
> #include <cassert>
> #include <fstream>
> int main ()
> {
>     std::filebuf fb;
>     const std::filebuf* const pfb = fb.open ("dummy", std::ios::app);
>     assert (0 == pfb);
> }
> gcc -c -I/build/sebor/dev/stdlib/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/dev/stdlib/include -I/build/sebor/gcc-4.1.0-11s/include -I/build/sebor/dev/stdlib/../rwtest -I/build/sebor/dev/stdlib/../rwtest/include -I/build/sebor/dev/stdlib/tests/include  -pedantic -nostdinc++ -g  -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long   t.cpp
> gcc t.o -o t -L/build/sebor/gcc-4.1.0-11s/rwtest -lrwtest11s  -L/build/sebor/gcc-4.1.0-11s/lib -lstd11s  -lsupc++ -lm 
> Assertion failed: 0 == pfb, file t.cpp, line 10
> Abort (core dumped)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.