diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2012-05-03 23:49:05 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2012-05-03 23:49:05 +0000 |
commit | b41171b70b214ee529b01c3f6166e0b82229dabf (patch) | |
tree | a403deddd10616f8e4c4ddac487fc95d2006c9d4 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | e31772fc44f41400e2106f31c9128657c30f0699 (diff) | |
download | llvm-b41171b70b214ee529b01c3f6166e0b82229dabf.zip llvm-b41171b70b214ee529b01c3f6166e0b82229dabf.tar.gz llvm-b41171b70b214ee529b01c3f6166e0b82229dabf.tar.bz2 |
Fix non-deterministic iteration order when walking the specializations
of templates by using the newly introduce FoldingSetVector. This
preserves insertion order for all iteration of specializations.
I've also included a somewhat terrifying testcase that rapidly builds up
a large number of functions. This is enough that any system with ASLR
will have non-deterministic debug information generated for the test
case without the fix here as the debug information is generated in part
by walking these specializations.
llvm-svn: 156133
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions