History log of /external/clang/test/PCH/chain-cxx.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e565bfa2d67a3b5e02412b4fde5b28873ff7b8d8 23-May-2013 Richard Smith <richard-llvm@metafoo.co.uk> Fix bitcode desynchronization when loading a PCH containing a class template
specialization with modules enabled. Just don't merge them at all for now;
we'll revisit this when support for template merging is added.

In passing, make Decl::dump() a little safer to use with PCH/modules, by making
it not deserialize any additional declarations. From a debugger you can call
decls_begin() or similar first if you want to dump all child decls.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/chain-cxx.cpp
8e8fb3be5bd78f0564444eca02b404566a5f3b5d 19-Oct-2012 Andy Gibbs <andyg1001@hotmail.co.uk> Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166280 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/chain-cxx.cpp
3e9ea0b8cd7c4691d62e385245556be5fded58a7 21-Dec-2011 Richard Smith <richard-llvm@metafoo.co.uk> C++ constant expression handling: eagerly instantiate static const integral data
members of class templates so that their values can be used in ICEs. This
required reverting r105465, to get such instantiated members to be included in
serialized ASTs.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/chain-cxx.cpp
a1be278c4f3a234ff61f04018d26c6beecde1654 18-Dec-2011 Douglas Gregor <dgregor@apple.com> Completely re-implement (de-)serialization of declaration
chains. The previous implementation relied heavily on the declaration
chain being stored as a (circular) linked list on disk, as it is in
memory. However, when deserializing from multiple modules, the
different chains could get mixed up, leading to broken declaration chains.

The new solution keeps track of the first and last declarations in the
chain for each module file. When we load a declaration, we search all
of the module files for redeclarations of that declaration, then
splice together all of the lists into a coherent whole (along with any
redeclarations that were actually parsed).

As a drive-by fix, (de-)serialize the redeclaration chains of
TypedefNameDecls, which had somehow gotten missed previously. Add a
test of this serialization.

This new scheme creates a redeclaration table that is fairly large in
the PCH file (on the order of 400k for Cocoa.h's 12MB PCH file). The
table is mmap'd in and searched via a binary search, but it's still
quite large. A future tweak will eliminate entries for declarations
that have no redeclarations anywhere, and should
drastically reduce the size of this table.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/chain-cxx.cpp
f79a71908d6f28cb2bc0c081d9a801ed14d61d82 29-Apr-2011 Sebastian Redl <sebastian.redl@getdesigned.at> Add a decl update when a static data member of a class template is instantiated in a different PCH than its containing class. Otherwise we get double definition errors. Fixes a Boost.MPL problem that affects Boost.Accumulators and probably a lot more of Boost.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/chain-cxx.cpp
b0f4b9a558933b307073f7cd7753602f94354ae9 09-Mar-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> Introduce '-chain-include' option to specify headers that will be converted to chained PCHs in memory
without having to use multiple runs and intermediate files.

Intended for testing & debugging of chained PCH.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/chain-cxx.cpp
f25330bd88f921b6e4cae965932681f213d9d544 09-Mar-2011 Anders Carlsson <andersca@mac.com> When deserializing CXXBaseSpecifiers (and offsets), make sure to walk the chain in the correct order.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/chain-cxx.cpp
c850578dbfa68cf2d2776f59a5cb0009134d970e 06-Mar-2011 Anders Carlsson <andersca@mac.com> Write CXX base specifier offsets for chained ASTs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127126 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/chain-cxx.cpp
565bf30bf5607b9740d288d8d9c45cf38ea75298 24-Oct-2010 Argyrios Kyrtzidis <akyrtzi@gmail.com> Start fleshing out ASTMutationListener; notify when a tag definition is completed.

In that case a chained PCH will record the updates to the DefinitionData pointer of forward references.
If a forward reference mutated into a definition re-write it into the chained PCH, this is too big of a change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/chain-cxx.cpp
134db1fff5653c164ef41c898943521c49f6ebab 24-Oct-2010 Argyrios Kyrtzidis <akyrtzi@gmail.com> Simplify and "robust-ify" the way that CXXRecord references point to the definition data when loaded from PCH.

Temporary disable 'test/PCH/chain-cxx.cpp' until a better way to fix it is in place.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117234 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/chain-cxx.cpp
9703b0dd353b928b2312076f13e30950e05d5fa1 20-Oct-2010 Argyrios Kyrtzidis <akyrtzi@gmail.com> Fix issue with chained PCH where forward references did not pick up later definition in the chained PCH.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116887 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/chain-cxx.cpp
220a9c82dc76a83a7f930879bf176783866c0514 19-Oct-2010 Andrew Trick <atrick@apple.com> Putting back safe fixes 116836,116837,116838


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116866 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/chain-cxx.cpp
7cffb55ef5845f86b41b83c332e4b453ee4dcb16 19-Oct-2010 Andrew Trick <atrick@apple.com> Reverting 116836,116837,116838 until we resolve the getLangStandardForKind failures.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/chain-cxx.cpp
1d2a4311da8b332fd309992c1a426420722e4ac5 19-Oct-2010 Argyrios Kyrtzidis <akyrtzi@gmail.com> Merge headers into test/PCH/chain-cxx.cpp for convenience.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/chain-cxx.cpp
4153a060f4cd03e9db1349328a158e9d898a2610 25-Aug-2010 Sebastian Redl <sebastian.redl@getdesigned.at> AST writer support for having specializations of templates from earlier in the chain. This ought to finish C++ chained PCH support.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/chain-cxx.cpp
5967d6228f183a5fa384f2f1918df679ed2d8666 24-Aug-2010 Sebastian Redl <sebastian.redl@getdesigned.at> Add testcase for C++ chained PCH and fix the bugs it uncovered in name lookup.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111882 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/PCH/chain-cxx.cpp