diff options
| author | David Spickett <david.spickett@linaro.org> | 2022-07-20 09:37:24 +0000 | 
|---|---|---|
| committer | David Spickett <david.spickett@linaro.org> | 2022-07-28 08:53:38 +0000 | 
| commit | a0ccba5e192b14341b66ad57bc646a3af7418409 (patch) | |
| tree | 5bf1d5618c3c9a7ba15ab2afa2ea6bcee961a5cd /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h | |
| parent | d1e40f4d584fc6dd032938c6c5fb079f6b8121bd (diff) | |
| download | llvm-a0ccba5e192b14341b66ad57bc646a3af7418409.zip llvm-a0ccba5e192b14341b66ad57bc646a3af7418409.tar.gz llvm-a0ccba5e192b14341b66ad57bc646a3af7418409.tar.bz2 | |
[llvm] Fix some test failures with EXPENSIVE_CHECKS and libstdc++
DebugLocEntry assumes that it either contains 1 item that has no fragment
or many items that all have fragments (see the assert in addValues).
When EXPENSIVE_CHECKS is enabled, _GLIBCXX_DEBUG is defined. On a few machines
I've checked, this causes std::sort to call the comparator even
if there is only 1 item to sort. Perhaps to check that it is implemented
properly ordering wise, I didn't find out exactly why.
operator< for a DbgValueLoc will crash if this happens because the
optional Fragment is empty.
Compiler/linker/optimisation level seems to make this happen
or not. So I've seen this happen on x86 Ubuntu but the buildbot
for release EXPENSIVE_CHECKS did not have this issue.
Add an explicit check whether we have 1 item.
Reviewed By: aprantl
Differential Revision: https://reviews.llvm.org/D130156
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h')
0 files changed, 0 insertions, 0 deletions
