hanchenye-llvm-project/clang/lib
Nico Weber ae4bb8c8f4 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
2014-08-15 23:21:41 +00:00
..
ARCMigrate Recommit 213307: unique_ptr-ify ownership of ASTConsumers (reverted in r213325) 2014-08-10 19:56:51 +00:00
AST Make sure CallExpr::getLocStart doesn't segfault 2014-08-15 01:39:12 +00:00
ASTMatchers Add missing matchers to the dynamic registry. 2014-08-15 19:13:27 +00:00
Analysis Adding const-qualifiers to auto declarations. NFC. 2014-08-15 12:29:39 +00:00
Basic Delete support for AuroraUX. 2014-08-14 15:14:51 +00:00
CodeGen DebugInfo: While loop backedge should be attribute to the start of the while statement. 2014-08-15 21:11:25 +00:00
Driver Move some code into a helper function. NFC. 2014-08-15 17:14:35 +00:00
Edit [CMake] Reorder libdeps by alphabetical order. 2014-07-14 04:59:27 +00:00
Format clang-format: Prefer breaking after return type over template param 2014-08-15 05:00:39 +00:00
Frontend Delete support for AuroraUX. 2014-08-14 15:14:51 +00:00
FrontendTool Make clang's rewrite engine a core feature 2014-07-16 16:48:33 +00:00
Headers arm_acle.h: Small cleanup 2014-08-15 08:53:22 +00:00
Index Header guard canonicalization, clang part. 2014-08-13 16:25:19 +00:00
Lex Don't Lex past EOF when lexing _Pragma 2014-08-14 19:47:06 +00:00
Parse Wrap to 80 columns, no behavior change. 2014-08-15 22:15:00 +00:00
Rewrite Make clang's rewrite engine a core feature 2014-07-16 16:48:33 +00:00
Sema Make sure that vtables referenced from delay-parsed templates get referenced. 2014-08-15 23:21:41 +00:00
Serialization [modules] Turn off a broken optimization: we need to pick up implicit special 2014-08-14 20:30:52 +00:00
StaticAnalyzer Header guard canonicalization, clang part. 2014-08-13 16:25:19 +00:00
Tooling Sure-up MemoryBuffer ownership in JSONCompilationDatabase's ctor. 2014-08-08 22:01:06 +00:00
CMakeLists.txt Fix build with various feature flag combinations 2014-07-14 22:17:22 +00:00
Makefile Make clang's rewrite engine a core feature 2014-07-16 16:48:33 +00:00