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/trunk@325147 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user