diff options
author | Serge Pavlov <sepavloff@gmail.com> | 2018-02-21 02:02:39 +0000 |
---|---|---|
committer | Serge Pavlov <sepavloff@gmail.com> | 2018-02-21 02:02:39 +0000 |
commit | 52525730a163c56f82a43584faa8acb8fd45e1da (patch) | |
tree | bd0bbd8442cdba5a7fd40b2555bfa0a7ac1e02ff /clang/lib/Frontend/CacheTokens.cpp | |
parent | 56492f9177e57b383d54366f93d77595ee80fd78 (diff) | |
download | bcm5719-llvm-52525730a163c56f82a43584faa8acb8fd45e1da.tar.gz bcm5719-llvm-52525730a163c56f82a43584faa8acb8fd45e1da.zip |
Clean up use of C allocation functions
If the value returned by `malloc`, `calloc` or `realloc` is not checked
for null pointer, this change replaces them for `safe_malloc`,
`safe_calloc` or `safe_realloc`, which are defined in the namespace `llvm`.
These function report fatal error on out of memory.
In the plain C files, assertion statements are added to ensure that memory
is successfully allocated.
The aim of this change is to get better diagnostics of OOM on Windows.
Differential Revision: https://reviews.llvm.org/D43017
llvm-svn: 325661
Diffstat (limited to 'clang/lib/Frontend/CacheTokens.cpp')
-rw-r--r-- | clang/lib/Frontend/CacheTokens.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Frontend/CacheTokens.cpp b/clang/lib/Frontend/CacheTokens.cpp index 72e8f68dc05..851ea25e9b1 100644 --- a/clang/lib/Frontend/CacheTokens.cpp +++ b/clang/lib/Frontend/CacheTokens.cpp @@ -662,7 +662,8 @@ std::pair<Offset,Offset> PTHWriter::EmitIdentifierTable() { // (2) a map from (IdentifierInfo*, Offset)* -> persistent IDs // Note that we use 'calloc', so all the bytes are 0. - PTHIdKey *IIDMap = (PTHIdKey*)calloc(idcount, sizeof(PTHIdKey)); + PTHIdKey *IIDMap = static_cast<PTHIdKey*>( + llvm::safe_calloc(idcount, sizeof(PTHIdKey))); // Create the hashtable. llvm::OnDiskChainedHashTableGenerator<PTHIdentifierTableTrait> IIOffMap; |