aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Serialization/ModuleManager.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2012-11-30 09:34:29 +0000
committerChandler Carruth <chandlerc@gmail.com>2012-11-30 09:34:29 +0000
commitd9ef81e1337a25130feb3658458fa5b27bbc8af6 (patch)
treef450171448cee90e6016f93c4e32164e004683d8 /clang/lib/Serialization/ModuleManager.cpp
parent77d433dafe9ffa34293f3c1d188fefc769d5ed4f (diff)
downloadllvm-d9ef81e1337a25130feb3658458fa5b27bbc8af6.zip
llvm-d9ef81e1337a25130feb3658458fa5b27bbc8af6.tar.gz
llvm-d9ef81e1337a25130feb3658458fa5b27bbc8af6.tar.bz2
Fix non-determinism introduced in r168970 and pointed out by Duncan.
We're iterating over a non-deterministically ordered container looking for two saturating flags. To do this correctly, we have to saturate both, and only stop looping if both saturate to their final value. Otherwise, which flag we see first changes the result. This is also a micro-optimization of the previous version as now we don't go into the (possibly expensive) test logic once the first violation of either constraint is detected. llvm-svn: 168989
Diffstat (limited to 'clang/lib/Serialization/ModuleManager.cpp')
0 files changed, 0 insertions, 0 deletions