[PATCH] [ADT][CMake][AutoConf] fail-fast iterators for DenseMap
rnk at google.com
Mon Mar 16 11:04:27 PDT 2015
This seems like a reasonably good compromise. I'd really like to have this iterator invalidation enabled when assertions are enabled, but we have the ability to flip it off when ABI compatibility is important. Being ABI incompatible by default is really just acknowledging that LLVM's ABI isn't very stable.
Are there any more places we should be documenting this check? http://llvm.org/docs/ReleaseProcess.html or http://lldb.llvm.org/build.html? I know that Chromium for example uses a Release+Asserts build of Clang. This might be too much overhead for them.
LLDB for example might want to have a check like:
if (NOT LLVM_FAIL_FAST_ITERATORS STREQUAL "FORCE_OFF")
message(FATAL_ERROR "LLDB requires a stable LLVM ABI, set LLVM_FAIL_FAST_ITERATORS to FORCE_OFF")
More information about the llvm-commits