Argyrios Kyrtzidis
7f76d11dcc
Store the pending implicit instantiations in the PCH and perform them at the end of the translation unit that
...
included the PCH, as God intended.
llvm-svn: 110324
2010-08-05 09:48:16 +00:00
Argyrios Kyrtzidis
839bbacfb2
Apart from storing/retrieving the previous redeclaration from PCH, also store/retrieve the most recent
...
redeclaration. That way we are sure that the full redeclarations chain is loaded.
When using chained PCHs, first declarations point to the most recent redeclarations in the same PCH.
To address this use a REDECLS_UPDATE_LATEST record block to keep track of which first declarations need
to point to a most recent redeclaration in another PCH.
llvm-svn: 110125
2010-08-03 17:30:10 +00:00
Argyrios Kyrtzidis
6e03a7476f
Weak references and variables that are not definitions are not required for early codegen/deserialization.
...
llvm-svn: 109796
2010-07-29 20:07:52 +00:00
Argyrios Kyrtzidis
47cd7a91f4
Support C++ try/catch statements for PCH.
...
llvm-svn: 109112
2010-07-22 16:03:56 +00:00
Argyrios Kyrtzidis
47470f2f3f
Hide the specializations folding sets of ClassTemplateDecl as an implementation detail (InsertPos
...
leaks though) and add methods to its interface for adding/finding specializations.
Simplifies its users a bit and we no longer need to replace specializations in the folding set with
their redeclarations. We just return the most recent redeclarations.
As a bonus, it fixes http://llvm.org/PR7670 .
llvm-svn: 108832
2010-07-20 13:59:28 +00:00
Argyrios Kyrtzidis
3816ed4d58
Fix http://llvm.org/PR7660
...
A ParmVarDecl instantiated from a FunctionProtoType may have Record as DeclContext,
in which case isStaticDataMember() will erroneously return true.
llvm-svn: 108692
2010-07-19 10:14:41 +00:00
Argyrios Kyrtzidis
746c889e34
Provide some test cases for C++ PCH.
...
llvm-svn: 107479
2010-07-02 11:55:48 +00:00
Argyrios Kyrtzidis
bd8ac8cf07
Fix PCH support for UnresolvedUsingTypenameDecl and UnresolvedUsingValueDecl.
...
llvm-svn: 107268
2010-06-30 08:49:30 +00:00
Argyrios Kyrtzidis
4a57bd0d62
Support DependentSizedArrayType for PCH.
...
llvm-svn: 107267
2010-06-30 08:49:25 +00:00
Argyrios Kyrtzidis
cd444d1af7
Support DependentScopeDeclRefExpr for PCH.
...
llvm-svn: 106998
2010-06-28 09:31:56 +00:00
Argyrios Kyrtzidis
ddf5f211d0
Fix PCH emitting/reading for template arguments that contain expressions.
...
llvm-svn: 106996
2010-06-28 09:31:42 +00:00
Argyrios Kyrtzidis
0b0369a6b3
Fix various bugs in recent commits for C++ PCH.
...
llvm-svn: 106995
2010-06-28 09:31:34 +00:00
Argyrios Kyrtzidis
b1d38e3f4a
Support NonTypeTemplateParmDecl for PCH.
...
llvm-svn: 106860
2010-06-25 16:25:09 +00:00
Argyrios Kyrtzidis
58e01ad26f
Support UnresolvedLookupExpr for PCH.
...
llvm-svn: 106832
2010-06-25 09:03:34 +00:00
Argyrios Kyrtzidis
b8d3c63820
Support UnresolvedMemberExpr for PCH.
...
llvm-svn: 106831
2010-06-25 09:03:26 +00:00
Argyrios Kyrtzidis
bfcacee9b3
Support a couple more C++ Exprs for PCH.
...
llvm-svn: 106727
2010-06-24 08:57:31 +00:00
Argyrios Kyrtzidis
818c5db054
Support C++ class template specializations and partial specializations for PCH.
...
llvm-svn: 106625
2010-06-23 13:48:30 +00:00
Argyrios Kyrtzidis
69da4a8f07
Support emitting/reading function templates to/from PCH.
...
llvm-svn: 106534
2010-06-22 09:55:07 +00:00
Argyrios Kyrtzidis
106caf92cd
Initial support for writing templates to PCH.
...
llvm-svn: 106391
2010-06-19 19:28:53 +00:00