|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| | llvm-svn: 141171 | 
| | 
| 
| 
| 
| 
| 
| 
| | -Add the location of the class name to all objc container decls, not just ObjCInterfaceDecl.
-Make objc decls consistent with the rest of the NamedDecls and have getLocation() point to the
 class name, not the location of '@'.
llvm-svn: 141061 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | Instead of always storing all source locations for the selector identifiers
we check whether all the identifiers are in a "standard" position; "standard" position is
  -Immediately before the arguments: -(id)first:(int)x second:(int)y;
  -With a space between the arguments: -(id)first: (int)x second: (int)y;
  -For nullary selectors, immediately before ';': -(void)release;
In such cases we infer the locations instead of storing them.
llvm-svn: 140989 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | Instead of always storing all source locations for the selector identifiers
we check whether all the identifiers are in a "standard" position; "standard" position is
  -Immediately before the arguments: [foo first:1 second:2]
  -With a space between the arguments: [foo first: 1 second: 2]
  -For nullary selectors, immediately before ']': [foo release]
In such cases we infer the locations instead of storing them.
llvm-svn: 140987 | 
| | 
| 
| 
| 
| 
| 
| 
| | objc method decls.
They are not stored in the AST yet.
llvm-svn: 140984 | 
| | 
| 
| 
| 
| 
| | from the selector.
llvm-svn: 140983 | 
| | 
| 
| 
| | llvm-svn: 140894 | 
| | 
| 
| 
| 
| 
| | - Also, spell const_iterator as const_iterator.
llvm-svn: 140765 | 
| | 
| 
| 
| 
| 
| 
| | storing mappings with that instead of straying some magic constants about the
source.
llvm-svn: 140760 | 
| | 
| 
| 
| 
| 
| | is set by the setDiagnosticMapping call.
llvm-svn: 140578 | 
| | 
| 
| 
| | llvm-svn: 140478 | 
| | 
| 
| 
| | llvm-svn: 140424 | 
| | 
| 
| 
| | llvm-svn: 140407 | 
| | 
| 
| 
| | llvm-svn: 140388 | 
| | 
| 
| 
| | llvm-svn: 140367 | 
| | 
| 
| 
| 
| 
| | may be unordered and MSVC's debug-mode doesn't like it.
llvm-svn: 140337 | 
| | 
| 
| 
| 
| 
| | Use ASTTemplateArgumentListInfo instead.
llvm-svn: 140331 | 
| | 
| 
| 
| 
| 
| | functionality change.
llvm-svn: 140330 | 
| | 
| 
| 
| | llvm-svn: 140268 | 
| | 
| 
| 
| | llvm-svn: 140238 | 
| | 
| 
| 
| 
| 
| | we already have the range in the PPEntityOffsets array.
llvm-svn: 140209 | 
| | 
| 
| 
| 
| 
| | and don't store the ID for each preprocessed entity.
llvm-svn: 140208 | 
| | 
| 
| 
| 
| 
| | don't store an extra location for it.
llvm-svn: 140190 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | PreprocessingRecord's getPreprocessedEntitiesInRange.
Also remove all the stuff that were added in ASTUnit that are unnecessary now
that we do a binary search for preprocessed entities and deserialize only
what is necessary.
llvm-svn: 140063 | 
| | 
| 
| 
| 
| 
| | return iterators for local, non-loaded, preprocessed entities.
llvm-svn: 140062 | 
| | 
| 
| 
| 
| 
| 
| | check whether the requested location points inside the precompiled preamble,
in which case the returned source location will be a "loaded" one.
llvm-svn: 140060 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | which will do a binary search and return a pair of iterators
for preprocessed entities in the given source range.
Source ranges of preprocessed entities are stored twice currently in
the PCH/Module file but this will be fixed in a subsequent commit.
llvm-svn: 140058 | 
| | 
| 
| 
| 
| 
| | It already works (and is useful with) macro locs as well.
llvm-svn: 140057 | 
| | 
| 
| 
| | llvm-svn: 140054 | 
| | 
| 
| 
| 
| 
| 
| 
| | don't call ReadSLocEntryRecord() directly because the entry may have
already been loaded in which case calling ReadSLocEntryRecord()
directly would trigger an assertion in SourceManager.
llvm-svn: 140052 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | arbitrary amount of code. This forces us to stage the AST writer more
strictly, ensuring that we don't assign a declaration ID to a
declaration until after we're certain that no more modules will get
loaded.
llvm-svn: 139974 | 
| | 
| 
| 
| 
| 
| | the newly-created ASTReader. This makes sure that CodeGen sees the declarations it is interested in
llvm-svn: 139824 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | -Use an array of offsets for all preprocessed entities
-Get rid of the separate array of offsets for just macro definitions;
 for references to macro definitions use an index inside the preprocessed
 entities array.
-Deserialize each preprocessed entity lazily, at first request; not in bulk.
Paves the way for binary searching of preprocessed entities that will offer
efficiency and will simplify things on the libclang side a lot.
llvm-svn: 139809 | 
| | 
| 
| 
| 
| 
| | non-exported macro, for real this time
llvm-svn: 139745 | 
| | 
| 
| 
| | llvm-svn: 139734 | 
| | 
| 
| 
| 
| 
| | dealing with non-exported macros
llvm-svn: 139731 | 
| | 
| 
| 
| 
| 
| | non-exported macro
llvm-svn: 139728 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | to the consumer without being fully deserialized).
The regression was on compiling boost.python and it was too difficult to get a reduced
test case unfortunately.
Also modify the logic of how objc methods are getting passed to the consumer;
codegen depended on receiving objc methods before the implementation decl.
Since the interesting objc methods are ones with a body and such methods only
exist inside an ObjCImplDecl, deserialize and pass to consumer all the methods
of ObCImplDecl when we see one.
Fixes http://llvm.org/PR10922 & rdar://10117105.
llvm-svn: 139644 | 
| | 
| 
| 
| 
| 
| 
| | should no longer have the serialization of LangOptions out of sync
with the structure itself (yay).
llvm-svn: 139613 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | language options. Use that .def file to declare the LangOptions class
and initialize all of its members, eliminating a source of annoying
initialization bugs.
AST serialization changes are next up.
llvm-svn: 139605 | 
| | 
| 
| 
| | llvm-svn: 139600 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | modifying directly for the preamble.
This avoids an awful, hard to find, bug where "PreprocessorOpts.DisablePCHValidation = true"
would be persistent for subsequent reparses of the translation unit which would result
in defines, present in command-line but not in the PCH, being ignored.
Fixes rdar://9615399.
llvm-svn: 139512 | 
| | 
| 
| 
| | llvm-svn: 139472 | 
| | 
| 
| 
| 
| 
| | well-bred compiler like Clang.
llvm-svn: 139442 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | than having CodeGen check whether a declaration comes from an AST file
(which it shouldn't know or care about), make sure that the AST writer and
reader pass along "interesting" declarations that CodeGen needs to
know about.
llvm-svn: 139441 | 
| | 
| 
| 
| 
| 
| | whether a Decl was deserialized from an AST file (any AST file).
llvm-svn: 139438 | 
| | 
| 
| 
| | llvm-svn: 139430 | 
| | 
| 
| 
| 
| 
| 
| 
| | declaration was deserialized from an AST file. Use this instead of
Decl::getPCHLevel() wherever possible. This is a simple step toward
killing off Decl::getPCHLevel().
llvm-svn: 139427 | 
| | 
| 
| 
| 
| 
| 
| | Preprocessor reference. Simplify some code along the way, so there is
no separate "initialize the preprocessor" step.
llvm-svn: 139418 | 
| | 
| 
| 
| 
| 
| 
| 
| | ASTContext reference. Remove all of the extra checking and logic that
was used to cope with a NULL ASTContext. No effective functionality
change.
llvm-svn: 139413 |