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
|
#ifndef TEST_HAS_NO_EXCEPTIONS
|
||||||
try {
|
try {
|
||||||
#endif
|
#endif
|
||||||
std::string str(2147483648, 'a');
|
std::string str(2147483648, 'a');
|
||||||
SB sb;
|
SB sb;
|
||||||
sb.str(str);
|
sb.str(str);
|
||||||
assert(sb.pubpbase() <= sb.pubpptr());
|
assert(sb.pubpbase() <= sb.pubpptr());
|
||||||
#ifndef TEST_HAS_NO_EXCEPTIONS
|
#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
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user