aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/APInt.cpp
diff options
context:
space:
mode:
authorSanjoy Das <sanjoy@playingwithpointers.com>2015-03-26 19:25:01 +0000
committerSanjoy Das <sanjoy@playingwithpointers.com>2015-03-26 19:25:01 +0000
commit8ce6499bdd80529ca602405ad406804c090d76ce (patch)
treeeeb94943df6aaacd51d0569df39c5ccab6a472fa /llvm/lib/Support/APInt.cpp
parent54dd7df1c086f8484263d3b03f1885d7ba7a07ab (diff)
downloadllvm-8ce6499bdd80529ca602405ad406804c090d76ce.zip
llvm-8ce6499bdd80529ca602405ad406804c090d76ce.tar.gz
llvm-8ce6499bdd80529ca602405ad406804c090d76ce.tar.bz2
[ADT][CMake][AutoConf] Fail-fast iterators for DenseMap
Summary: This patch is an attempt at making `DenseMapIterator`s "fail-fast". Fail-fast iterators that have been invalidated due to insertion into the host `DenseMap` deterministically trip an assert (in debug mode) on access, instead of non-deterministically hitting memory corruption issues. Enabling fail-fast iterators breaks the LLVM C++ ABI, so they are predicated on `LLVM_ENABLE_ABI_BREAKING_CHECKS`. `LLVM_ENABLE_ABI_BREAKING_CHECKS` by default flips with `LLVM_ENABLE_ASSERTS`, but can be clamped to ON or OFF using the CMake / autoconf build system. Reviewers: chandlerc, dexonsmith, rnk, zturner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8351 llvm-svn: 233310
Diffstat (limited to 'llvm/lib/Support/APInt.cpp')
0 files changed, 0 insertions, 0 deletions