[ https://issues.apache.org/jira/browse/STDCXX-319?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Sebor updated STDCXX-319: -------------------------------- Priority: Trivial (was: Major) Fix Version/s: 4.2.1 Summary: [LWG #596] std::filebuf::open(..., ios::app) unexpectedly succeeds (was: std::filebuf::open(..., ios::app) unexpectedly succeeds) Added [LWG #596] tag to the Summary to indicate a dependency on a Library Working Group issue, lowered Priority to Trivial (since it's by design), and deferred until after the C++ committee has had a chance to review the issue. > [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 > > > 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.