| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
of a top-level declaration loads another top-level declaration of the
same name whose type depends on the first declaration having been
completed. This commit breaks the circular dependency by delaying
loads of top-level declarations triggered by loading a name until we
are no longer recursively loading types or declarations.
llvm-svn: 74847
|
|
|
|
|
|
| |
if the return type on an Objective-C method is a CF type reference, not just an Objective-C object reference.
llvm-svn: 74841
|
|
|
|
| |
llvm-svn: 74833
|
|
|
|
| |
llvm-svn: 74832
|
|
|
|
|
|
| |
from Enea Zaffanella!
llvm-svn: 74831
|
|
|
|
| |
llvm-svn: 74830
|
|
|
|
| |
llvm-svn: 74816
|
|
|
|
| |
llvm-svn: 74815
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 74812
|
|
|
|
|
|
| |
to be self-sufficient.
llvm-svn: 74810
|
|
|
|
|
|
| |
wchar_t.
llvm-svn: 74808
|
|
|
|
| |
llvm-svn: 74805
|
|
|
|
|
|
|
|
|
| |
'index-test' is now able to provide additional info for a Decl, through multiple AST files:
-Find declarations
-Find definitions
-Find references
llvm-svn: 74803
|
|
|
|
|
|
|
|
|
| |
Its purpose is to provide the basic infrastructure for cross-translation-unit analysis like indexing, refactoring, etc.
Currently it is very "primitive" and with no type-names support. It can provide functionality like
"show me all references of this function from these translation units".
llvm-svn: 74802
|
|
|
|
|
|
|
|
|
| |
DeclReferenceMap (similar to ParentMap) is a helper class for mapping Decls to the AST nodes that reference them.
A client will initialize it by passing an ASTContext to its constructor and later use it to iterate over
the references of a Decl.
References are mapped and retrieved using the primary declaration (Decl::getPrimaryDecl()) of a particular Decl.
llvm-svn: 74801
|
|
|
|
|
|
|
| |
When a Decl subclass can have multiple re-declarations in the same declaration context (like FunctionDecl),
getPrimaryDecl() will return a particular Decl that all of them will point to as the "primary" declaration.
llvm-svn: 74800
|
|
|
|
|
|
| |
location.
llvm-svn: 74799
|
|
|
|
|
|
| |
the index-test tool.
llvm-svn: 74798
|
|
|
|
|
|
| |
ASTNode is an immutable pair of a Decl and Stmt. If Stmt is not null, Decl should be its immediate parent.
llvm-svn: 74797
|
|
|
|
| |
llvm-svn: 74796
|
|
|
|
| |
llvm-svn: 74795
|
|
|
|
| |
llvm-svn: 74788
|
|
|
|
| |
llvm-svn: 74787
|
|
|
|
| |
llvm-svn: 74786
|
|
|
|
|
|
|
|
| |
errors when you reference a class before defining it (GNU runtime).
Patch by David Chisnall.
llvm-svn: 74772
|
|
|
|
| |
llvm-svn: 74762
|
|
|
|
| |
llvm-svn: 74761
|
|
|
|
| |
llvm-svn: 74757
|
|
|
|
|
|
|
| |
to deal with for AST pretty-printing/rewriting. Patch by Abramo
Bagnara.
llvm-svn: 74752
|
|
|
|
| |
llvm-svn: 74751
|
|
|
|
|
|
| |
variable can be symbolicated.
llvm-svn: 74750
|
|
|
|
|
|
|
| |
block would get hooked up in some cases when processing empty compound
statements.
llvm-svn: 74743
|
|
|
|
|
|
| |
the subprocess module.
llvm-svn: 74738
|
|
|
|
| |
llvm-svn: 74737
|
|
|
|
|
|
|
|
|
| |
ValueManager::getRegionValueSymbolVal() with unguarded calls to
ValueManager::getRegionValueSymbolValOrUnknown(). This changes centralizes the
decision of what values to symbolicate in SymbolManager rather than having it
scatter in RegionStoreManager.
llvm-svn: 74730
|
|
|
|
|
|
| |
structures passed-by-value as function arguments.
llvm-svn: 74729
|
|
|
|
| |
llvm-svn: 74719
|
|
|
|
|
|
| |
using ASTContxt allocation.
llvm-svn: 74717
|
|
|
|
|
|
|
| |
directly consulting if a VarDecl is an implicit or actual parameter, a global,
etc.
llvm-svn: 74716
|
|
|
|
|
|
|
| |
This will simplify the logic of StoreManagers that want to specially reason
about the values of parameters.
llvm-svn: 74715
|
|
|
|
| |
llvm-svn: 74709
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
declaration in the AST.
The new ASTContext::getCommentForDecl function searches for a comment
that is attached to the given declaration, and returns that comment,
which may be composed of several comment blocks.
Comments are always available in an AST. However, to avoid harming
performance, we don't actually parse the comments. Rather, we keep the
source ranges of all of the comments within a large, sorted vector,
then lazily extract comments via a binary search in that vector only
when needed (which never occurs in a "normal" compile).
Comments are written to a precompiled header/AST file as a blob of
source ranges. That blob is only lazily loaded when one requests a
comment for a declaration (this never occurs in a "normal" compile).
The indexer testbed now supports comment extraction. When the
-point-at location points to a declaration with a Doxygen-style
comment, the indexer testbed prints the associated comment
block(s). See test/Index/comments.c for an example.
Some notes:
- We don't actually attempt to parse the comment blocks themselves,
beyond identifying them as Doxygen comment blocks to associate them
with a declaration.
- We won't find comment blocks that aren't adjacent to the
declaration, because we start our search based on the location of
the declaration.
- We don't go through the necessary hops to find, for example,
whether some redeclaration of a declaration has comments when our
current declaration does not. Similarly, we don't attempt to
associate a \param Foo marker in a function body comment with the
parameter named Foo (although that is certainly possible).
- Verification of my "no performance impact" claims is still "to be
done".
llvm-svn: 74704
|
|
|
|
|
|
| |
declarator printing. Bug found via the PCH tester
llvm-svn: 74672
|
|
|
|
|
|
| |
Per Doug's comments. Doug please review.
llvm-svn: 74666
|
|
|
|
|
|
| |
actual lifetime to their logical lifetime.
llvm-svn: 74665
|
|
|
|
| |
llvm-svn: 74664
|
|
|
|
|
|
|
| |
a case where RegionStore doesn't create symbolic values for the fields of
structs that are passed-by-value.
llvm-svn: 74662
|
|
|
|
|
|
|
|
| |
pass misc-ps.m. Currently RegionStore/BasicStore don't do any special reasoning
about clang-style vectors, so we should return UnknownVal (in all cases) when
accessing their values via an array.
llvm-svn: 74660
|
|
|
|
| |
llvm-svn: 74657
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
by distinguishing between substitution that occurs for template
argument deduction vs. explicitly-specifiad template arguments. This
is used both to improve diagnostics and to make sure we only provide
SFINAE in those cases where SFINAE should apply.
In addition, deal with the sticky issue where SFINAE only considers
substitution of template arguments into the *type* of a function
template; we need to issue hard errors beyond this point, as
test/SemaTemplate/operator-template.cpp illustrates.
llvm-svn: 74651
|