Merging r325147:
------------------------------------------------------------------------
r325147 | marshall | 2018-02-14 19:05:25 +0100 (Wed, 14 Feb 2018) | 3 lines

Add a catch for std::length_error for the case where the string can't handle 2GB. (like say 32-bit big-endian)


------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/branches/release_60@325219 91177308-0d34-0410-b5e6-96231b3b80d8
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 e7bdd89..460e4c0 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 @@
 #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
 }