| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
statements. As noted in the documentation for the AST node, the
semantics of __if_exists/__if_not_exists are somewhat different from
the way Visual C++ implements them, because our parsed-template
representation can't accommodate VC++ semantics without serious
contortions. Hopefully this implementation is "good enough".
llvm-svn: 142901
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
deserializing
preprocessed entities that are #included in the range that we are interested.
This is useful when we are interested in preprocessed entities of a specific file, e.g
when we are annotating tokens. There is also an optimization where we cache the last
result of PreprocessingRecord::getPreprocessedEntitiesInRange and we re-use it if
there is a call with the same range as before.
rdar://10313365
llvm-svn: 142887
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|