aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/CommandLine.cpp
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2014-08-15 23:21:41 +0000
committerNico Weber <nicolasweber@gmx.de>2014-08-15 23:21:41 +0000
commitae4bb8c8f4a534c07d46e2f928352df32073e278 (patch)
tree131c49a3292d6f6d4ce6d186ec84127197c3e78c /llvm/lib/Support/CommandLine.cpp
parent43bd97c77b8cb9a2b90bd72c112eeb261f38dfd0 (diff)
downloadllvm-ae4bb8c8f4a534c07d46e2f928352df32073e278.zip
llvm-ae4bb8c8f4a534c07d46e2f928352df32073e278.tar.gz
llvm-ae4bb8c8f4a534c07d46e2f928352df32073e278.tar.bz2
Make sure that vtables referenced from delay-parsed templates get referenced.
This fixes PR20671, see the bug for details. In short, ActOnTranslationUnit() calls DefineUsedVTables() and only then PerformPendingInstantiations(). But PerformPendingInstantiations() is what does delayed template parsing, so vtables only references from late-parsed templates weren't marked used. As a fix, move the SavePendingInstantiationsAndVTableUsesRAII in PerformPendingInstantiations() up above the delayed template parsing code. That way, vtables referenced from templates end up in the RAII object, and the call to DefineUsedVTables() in PerformPendingInstantiations() marks them used. llvm-svn: 215786
Diffstat (limited to 'llvm/lib/Support/CommandLine.cpp')
0 files changed, 0 insertions, 0 deletions