diff options
Diffstat (limited to 'include/llvm/ADT/StringMap.h')
| -rw-r--r-- | include/llvm/ADT/StringMap.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/llvm/ADT/StringMap.h b/include/llvm/ADT/StringMap.h index d573148665a1a..6c2830b44914f 100644 --- a/include/llvm/ADT/StringMap.h +++ b/include/llvm/ADT/StringMap.h @@ -19,6 +19,7 @@ #include "llvm/ADT/iterator_range.h" #include "llvm/Support/Allocator.h" #include "llvm/Support/PointerLikeTypeTraits.h" +#include "llvm/Support/ErrorHandling.h" #include <algorithm> #include <cassert> #include <cstdint> @@ -165,6 +166,9 @@ public: StringMapEntry *NewItem = static_cast<StringMapEntry*>(Allocator.Allocate(AllocSize,Alignment)); + if (NewItem == nullptr) + report_bad_alloc_error("Allocation of StringMap entry failed."); + // Construct the value. new (NewItem) StringMapEntry(KeyLength, std::forward<InitTy>(InitVals)...); |
