summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/pbump2gig.pass.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/pbump2gig.pass.cpp b/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/pbump2gig.pass.cpp
index e7bdd897c..460e4c07e 100644
--- a/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/pbump2gig.pass.cpp
+++ b/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/pbump2gig.pass.cpp
@@ -32,12 +32,13 @@ int main()
#ifndef TEST_HAS_NO_EXCEPTIONS
try {
#endif
- std::string str(2147483648, 'a');
- SB sb;
- sb.str(str);
- assert(sb.pubpbase() <= sb.pubpptr());
+ std::string str(2147483648, 'a');
+ SB sb;
+ sb.str(str);
+ assert(sb.pubpbase() <= sb.pubpptr());
#ifndef TEST_HAS_NO_EXCEPTIONS
- }
- catch (const std::bad_alloc &) {}
+ }
+ catch (const std::length_error &) {} // maybe the string can't take 2GB
+ catch (const std::bad_alloc &) {} // maybe we don't have enough RAM
#endif
}