This is an archive of the discontinued LLVM Phabricator instance.

Protect std::ios tests under libcpp-no-exceptions
ClosedPublic

Authored by rogfer01 on Nov 10 2016, 9:20 AM.

Diff Detail

Repository
rL LLVM

Event Timeline

rogfer01 updated this revision to Diff 77503.Nov 10 2016, 9:20 AM
rogfer01 retitled this revision from to Protect std::ios tests under libcpp-no-exceptions.
rogfer01 updated this object.
rogfer01 added reviewers: EricWF, mclow.lists, rmaprath.
rogfer01 added a subscriber: cfe-commits.
rogfer01 added inline comments.
test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
171–173 ↗(On Diff #77503)

This is a bit unexpected. It looks like if the copyfmt, even if it throws, were able to copy part of the information. Is this reasonable?

EricWF accepted this revision.Nov 14 2016, 1:34 AM
EricWF edited edge metadata.

LGTM modulo inline comments. There are a couple of tests which don't explicitly assert if they throw or not. Please address those tests before committing.

test/std/input.output/iostreams.base/ios/basic.ios.members/set_rdbuf.pass.cpp
44 ↗(On Diff #77503)

assert(false);

It's unrelated but it should be added.

test/std/input.output/iostreams.base/ios/iostate.flags/clear.pass.cpp
33 ↗(On Diff #77503)

assert(false);

test/std/input.output/iostreams.base/ios/iostate.flags/setstate.pass.cpp
33 ↗(On Diff #77503)

assert(false)

This revision is now accepted and ready to land.Nov 14 2016, 1:34 AM
rogfer01 updated this revision to Diff 77789.Nov 14 2016, 4:14 AM
rogfer01 edited edge metadata.

Add missing asserts as pointed out by @EricWF

This revision was automatically updated to reflect the committed changes.