| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
keeping track of unused file scoped variables.
This is only preparation, currently only static function definitions are tracked, as before.
llvm-svn: 111025
|
| |
|
|
|
|
|
|
| |
used when parsing (or re-parsing) a file. Also, when loading a
precompiled header into ASTUnit, create a Sema object that holds onto
semantic-analysis information.
llvm-svn: 111003
|
| |
|
|
|
|
| |
chained PCH to overwrite declarations from earlier PCH files in dependent ones. Tell Sema to note when it changes AST nodes so that they have to be reserialized. Finally, the ObjCProtocolDecls created in forward decls, like the ObjCInterfaceDecls in @class forward decls, are not lexically part of the decl context; only the definition is.
llvm-svn: 110989
|
| |
|
|
| |
llvm-svn: 110945
|
| |
|
|
|
|
|
|
| |
-There are 2 instances that change the TokenID for GNU libstdc++ 4.2 compatibility.
To handler those cases introduce a RevertedTokenID bitfield, RevertTokenIDToIdentifier() and hasRevertedTokenIDToIdentifier() methods.
Store the bitfield in PCH.
llvm-svn: 110868
|
| |
|
|
|
|
| |
with the breakage.
llvm-svn: 110840
|
| |
|
|
|
|
|
|
| |
and create separate decl nodes for forward declarations and the
definition," which appears to be causing significant Objective-C
breakage.
llvm-svn: 110803
|
| |
|
|
|
|
|
|
|
|
| |
forward declarations and the definition.
- Eagerly create ObjCInterfaceTypes for declarations.
- The two above changes lead to a 0.5% increase in memory use and no speed regression when parsing Cocoa.h. On the other hand, now chained PCH works when there's a forward declaration in one PCH and the interface definition in another.
- Add HandleInterestingDecl to ASTConsumer. PCHReader passes the "interesting" decls it finds to this function instead of HandleTopLevelDecl. The default implementation forwards to HandleTopLevelDecl, but ASTUnit's handler for example ignores them. This fixes a potential crash when lazy loading of PCH data would cause ASTUnit's "top level" declaration collection to change while being iterated.
llvm-svn: 110610
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 110566
|
| |
|
|
| |
llvm-svn: 110357
|
| |
|
|
|
|
|
|
| |
end of the translation unit that
included the PCH, as God intended.
llvm-svn: 110324
|
| |
|
|
| |
llvm-svn: 110323
|
| |
|
|
| |
llvm-svn: 110247
|
| |
|
|
|
|
| |
about method pool hits for the moment.
llvm-svn: 110245
|
| |
|
|
| |
llvm-svn: 110229
|
| |
|
|
| |
llvm-svn: 110219
|
| |
|
|
|
|
| |
Store all selectors in the selector hash table instead of only those from the method pool.
llvm-svn: 110158
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 110122
|
| |
|
|
|
|
| |
this version holds the entire declaration chain. This is a much saner solution than trying to merge the info from all elements, and makes redeclarations work properly. Expand the declarations test case to cover more compliated cases.
llvm-svn: 110052
|
| |
|
|
|
|
| |
for them that will deserialize them when needed.
llvm-svn: 110031
|
| |
|
|
|
|
|
|
|
|
| |
-Replace CurrentlyLoadingTypeOrDecl with a counting scheme (NumCurrentElementsDeserializing)
-Provide outside access to the mechanism by adding methods StartedDeserializing/FinishedDeserializing
to ExternalASTSource.
These are preparation for the next commit.
llvm-svn: 109856
|
| |
|
|
|
|
| |
PCHReader and PCHWriter are initialized to correctly pick up all initializer. On the upside, this means that there is far less repetition in the dependent PCH now.
llvm-svn: 109823
|
| |
|
|
| |
llvm-svn: 109675
|
| |
|
|
|
|
| |
PCHs; tests for this to follow.
llvm-svn: 109554
|
| |
|
|
|
|
| |
-ast-print show the decls from the dependent PCH.
llvm-svn: 109524
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of the usual consistency checks used to determine when a precompiled
header is incompatible with the translation unit it's being loaded
into.
Enable this option when loading a precompiled preamble, because the
preamble loader will be performing all of this checking itself. Enable
the preamble-based test now that it's working.
This option is also useful for debugging Clang's PCH
(<rdar://problem/7532213>).
llvm-svn: 109475
|
| |
|
|
|
|
|
| |
- Stop reading in (and thus deserializing) every declaration in the TU when creating a dependent PCH.
- Switch the storage of a decl context's lexical declarations to a blob containing the IDs instead of a record. This is the only sane way of supporting update records later on.
llvm-svn: 109474
|
| |
|
|
| |
llvm-svn: 109396
|
| |
|
|
| |
llvm-svn: 109292
|
| |
|
|
|
|
| |
Finishes off radar 6507158.
llvm-svn: 109256
|
| |
|
|
|
|
| |
way, reading a trivial 2-element chained file actually works.
llvm-svn: 109191
|
| |
|
|
|
|
| |
write source locations to dependent files. WIP
llvm-svn: 109119
|
| |
|
|
| |
llvm-svn: 109048
|
| |
|
|
|
|
| |
nested loop by inverting the nesting. Store the size of each file in the chain; will need this later for statement offsets.
llvm-svn: 109030
|
| |
|
|
| |
llvm-svn: 108974
|
| |
|
|
|
|
| |
think.
llvm-svn: 108959
|
| |
|
|
| |
llvm-svn: 108956
|
| |
|
|
| |
llvm-svn: 108954
|
| |
|
|
| |
llvm-svn: 108942
|
| |
|
|
|
|
| |
to per-file data. WIP
llvm-svn: 108930
|
| |
|
|
| |
llvm-svn: 108762
|
| |
|
|
| |
llvm-svn: 108760
|
| |
|
|
|
|
| |
record exists, it has to be the first thing in the PCH file.
llvm-svn: 108748
|
| |
|
|
|
|
| |
metadata record. WIP
llvm-svn: 108578
|
| |
|
|
|
|
| |
reuse it.
llvm-svn: 108551
|
| |
|
|
|
|
| |
files. WIP
llvm-svn: 108537
|
| |
|
|
| |
llvm-svn: 108528
|
| |
|
|
| |
llvm-svn: 108480
|
| |
|
|
|
|
| |
whenever PCHReader deserializes a type or decl (and possibly other things in the future). Have PCHWriter implement these callbacks as noops and register to receive them if we're chaining PCHs. This will allow PCHWriter to track the IDs of these things, which it needs to write the dependent files. WIP
llvm-svn: 108383
|