|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | referenced again and
in such a case just write out a reference of a previously serialized Stmt, instead
of serializing it all over again.
This saves memory + space + [de]serializing time, and avoids blowing up memory
with pathological cases. rdar://10293911
llvm-svn: 142696 | 
| | 
| 
| 
| 
| 
| | reference.
llvm-svn: 142230 | 
| | 
| 
| 
| | llvm-svn: 142225 | 
| | 
| 
| 
| 
| 
| 
| 
| | casts in ARC.
No semantic analysis yet.
llvm-svn: 142208 | 
| | 
| 
| 
| 
| 
| 
| | public. Add a __private_macro__ directive to hide a macro, similar to
the __module_private__ declaration specifier.
llvm-svn: 142188 | 
| | 
| 
| 
| 
| 
| | Lack of half FP was a regression compared to llvm-gcc.
llvm-svn: 142016 | 
| | 
| 
| 
| | llvm-svn: 141964 | 
| | 
| 
| 
| 
| 
| | purposes.
llvm-svn: 141697 | 
| | 
| 
| 
| | llvm-svn: 141632 | 
| | 
| 
| 
| 
| 
| 
| | for better self-documenting code, since the semantics
are subtly different from getDefinition().
llvm-svn: 141355 | 
| | 
| 
| 
| 
| 
| 
| 
| | committed at the moment to help support C++0x <atomic>, but it should be a solid base for implementing the full specification of C1x _Atomic.
Thanks to Jeffrey Yasskin for the thorough review!
llvm-svn: 141330 | 
| | 
| 
| 
| | 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 |