e7bae1597f4a7088f5048695c14a8f1013a86108 |
|
13-Jul-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
C++ modules: Don't call DeclContext::lookup when half-way through deserializing decls. That can reenter deserialization and explode horribly by trying to merge a declaration that we've not got very far through deserializing yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186236 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
0fa93cecf26a157dec7def11ffa4080ae75fe559 |
|
19-Jun-2013 |
Eli Friedman <eli.friedman@gmail.com> |
Add test coverage for serialization of dependent function template specializations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
f396ad9b1fa0c74c9db16a8158c3882c9db774e2 |
|
01-Apr-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Don't eagerly deserialize every templated function (and every static data member inside a class template) when loading a PCH file or module. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178496 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
0378433dcdf9a5701207c2a592b10da71ad9ba5d |
|
18-Mar-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH] Fix assertion hit related to enum decls inside templated funtions. Report and suggested fix by Tom Honermann! http://llvm.org/bugs/show_bug.cgi?id=13020 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
7640b02a561fd2b2c58a227b262b0c1ba93622ae |
|
16-Feb-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH] Deserializing the DeclContext of a template parameter is not safe until recursive loading is finished. Otherwise we may end up with a template trying to deserialize a template parameter that is in the process of getting loaded. rdar://13135282 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
9a4db032ecd991626d236a502e770126db32bd31 |
|
12-Sep-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR13811: Add a FunctionParmPackExpr node to handle references to function parameter packs where the reference is not being expanded but the pack has been. Previously, Clang would segfault in such cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163672 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
a8e0b978d63c52e39c002fbf014ce553374fedcf |
|
26-Mar-2012 |
Douglas Gregor <dgregor@apple.com> |
Canonicalize the declaration we write to a PCH file for an InjectedClassNameType; otherwise, it won't be properly wired to the original (canonical) declaration when it is deserialized. Fixes <rdar://problem/11112464>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153442 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
67da6f6f0c20dbfebb1c383a3efaf85d925ad33e |
|
05-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
When we're deserializing a template parameter declaration, temporarily use the translation unit as its declaration context, then deserialize the actual lexical and semantic DeclContexts after the template parameter is complete. This avoids problems when the DeclContext itself (e.g., a class template) is dependent on the template parameter (e.g., for the injected-class-name). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
def0354384d9c4431f7b58b664b59896d4623028 |
|
04-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement proper (de-)serialization for explicit template argument lists with zero template arguments. Fixes some seriously scary crashers in C++ PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124862 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
7c789c1a3f77f24032aa0bed2afacdb9e094e952 |
|
30-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Make the deserialization of C++ base class specifiers lazy, improving the performance of C++ PCH and reducing stack depth in the reader. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117732 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
32adc8bd6f05d1e26cc221102e48609da2c446ba |
|
26-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
When de-serializing a type that is supposed to be canonical, call getCanonicalType() to make sure that the type we got back is actually canonical. This is the case for most types, which always build a canonical type when given canonical components. However, some types that involve expressions in their canonicalization (e.g., array types with dependent sizes) don't always build canonical types from canonical components, because there is no such thing as a "canonical" expression. Therefore, we do this extra mapping to ensure that the canonical types we store are actually canonical. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
99a8ca0bdbf97f7b05f3f8aed05ff495caea5b84 |
|
13-Sep-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Fix C++ PCH issue. The canonical FunctionTemplateDecl contains the specializations but we cannot use getCanonicalDecl on Template because it may still be initializing. Write and read it from PCH. Fixes http://llvm.org/PR8134 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
f84cde1cbc6a6e6c29f20b164af38dffab60366a |
|
06-Sep-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Fix a C++ PCH problem which was exposed by r113019. CXXBaseOrMemberInitializer's IsWritten and source order is not set. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113161 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
0e0363866792b309d70e9c8e92b4c239773af89c |
|
05-Aug-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
a865005c74019184e04f7fcdd4d61c31c095a4ff |
|
03-Aug-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110125 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
ab411c8c2efed8f2403bf8596e780c0f2f905a19 |
|
29-Jul-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Weak references and variables that are not definitions are not required for early codegen/deserialization. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
7cb45e37b6f924d9ddbc53ac023bbaadb4ca3534 |
|
22-Jul-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Support C++ try/catch statements for PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
cc0b1bc979b650a8a8b34b2032a074fd7724a90d |
|
20-Jul-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
e3041be307d4c133605544a74f40c42c7531b5bb |
|
19-Jul-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Fix http://llvm.org/PR7660 A ParmVarDecl instantiated from a FunctionProtoType may have Record as DeclContext, in which case isStaticDataMember() will erroneously return true. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
5a7b9c552c446d568e32a55f57e2b10ef00215ec |
|
02-Jul-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Provide some test cases for C++ PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107479 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
8f4eae96bef0902d93535c18b69154ce66f5e546 |
|
30-Jun-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Fix PCH support for UnresolvedUsingTypenameDecl and UnresolvedUsingValueDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
ae8b17f1d5d303af53db5a4f4a375ea6b9356566 |
|
30-Jun-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Support DependentSizedArrayType for PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107267 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
12dffcddb60380c5bed4f085a1f51534afda3b87 |
|
28-Jun-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Support DependentScopeDeclRefExpr for PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106998 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
17cfdeda476aa8899f0ccedd9cb9cdb76e89b6b4 |
|
28-Jun-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Fix PCH emitting/reading for template arguments that contain expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
dc767e368471288bef8716d19b0e929647246bfc |
|
28-Jun-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Fix various bugs in recent commits for C++ PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
b24e199fbd17af780ab000c5862d191e4daffc0f |
|
25-Jun-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Support NonTypeTemplateParmDecl for PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
bd65bb511c26549c96b829c1282e4c877588564a |
|
25-Jun-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Support UnresolvedLookupExpr for PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
a77eb0862507b900a10fa352af1568e639ed10b1 |
|
25-Jun-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Support UnresolvedMemberExpr for PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106831 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
8dfbd8b252ba4e6cf4b7a3422f6ef0ca21312dfe |
|
24-Jun-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Support a couple more C++ Exprs for PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106727 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
dd41c14bfd7686b556de2acf6952e21a4f80b7aa |
|
23-Jun-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Support C++ class template specializations and partial specializations for PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
f511ba6277d240bbee1064715da8362a6edee5f3 |
|
22-Jun-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Support emitting/reading function templates to/from PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|
90b715e0df34eae2b50b9b43ec60828ed31dcf94 |
|
19-Jun-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Initial support for writing templates to PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106391 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/cxx-templates.h
|