| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 113444
|
| |
|
|
|
|
|
|
| |
CXXTemporaryObjectExpr, CXXScalarValueInitExpr, and
CXXUnresolvedConstructExpr, getting rid of a bunch of FIXMEs in the
process.
llvm-svn: 113319
|
| |
|
|
|
|
| |
the TypeSourceInfo for the allocated type. Fixes PR7501.
llvm-svn: 113291
|
| |
|
|
|
|
|
|
|
| |
Patch by nobled.
I also took the opportunity to make the field private since now it is only ready from the
outside.
llvm-svn: 113138
|
| |
|
|
|
|
| |
kinds. How shameful that this code was duplicated!
llvm-svn: 113033
|
| |
|
|
|
|
|
|
|
| |
last of the C++-specific expressions where we have decent source
information in the AST already. In particular, various
object-construction expressions (CXXNewExpr, CXXTemporaryObjectExpr)
still have poor source-location information that needs to be addressed.
llvm-svn: 112981
|
| |
|
|
| |
llvm-svn: 112978
|
| |
|
|
| |
llvm-svn: 112975
|
| |
|
|
|
|
| |
code. Also, teach it about explicitly-specified template arguments.
llvm-svn: 112884
|
| |
|
|
| |
llvm-svn: 112879
|
| |
|
|
| |
llvm-svn: 112873
|
| |
|
|
|
|
| |
well-intentioned but completely unused code.
llvm-svn: 112868
|
| |
|
|
| |
llvm-svn: 112866
|
| |
|
|
| |
llvm-svn: 112862
|
| |
|
|
|
|
| |
template arguments of a MemberExpr.
llvm-svn: 112860
|
| |
|
|
|
|
| |
arguments of a DeclRefExpr.
llvm-svn: 112854
|
| |
|
|
|
|
|
|
| |
cursors. Sadly, this visitation is a hack, because we don't have
proper source-location information for nested-name-specifiers in the
AST. It does improve on the status quo, however.
llvm-svn: 112837
|
| |
|
|
|
|
|
|
|
| |
clang_getSpecializedCursorTemplate(), which determines the template
(or member thereof) that the given cursor specializes or from which it
was instantiated. This routine can be used to establish a link between
templates and their instantiations/specializations.
llvm-svn: 112780
|
| |
|
|
| |
llvm-svn: 112734
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
three different kinds of AST nodes to represent using declarations:
UsingDecl, UnresolvedUsingValueDecl, and
UnresolvedUsingTypenameDecl. These three are collapsed into a single
cursor kind for using declarations, since libclang clients don't need
the distinction.
Several related changes here:
- Cursor visitation of the three AST nodes for using declarations
- Proper source-range computation for these AST nodes
- Using declarations have no USRs, since they don't actually declare
any entities.
llvm-svn: 112730
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
in a few related ways:
- Don't recurse into instantiations of templates.
- Recurse into explicit specializations.
- Visit the template arguments of an explicit specialization or
explicit instantiation.
- Include template specialization arguments in the USRs for class
template specializations.
llvm-svn: 112720
|
| |
|
|
|
|
| |
it is given.
llvm-svn: 112717
|
| |
|
|
|
|
|
|
| |
suppressing USRs). Also, fix up the source location information for
using directives so that the declaration location refers to the
namespace name.
llvm-svn: 112693
|
| |
|
|
|
|
|
|
|
|
|
| |
with a new cursor kind for a reference to a namespace.
There's still some oddities in the source location information for
NamespaceAliasDecl that I'll address with a separate commit, so the
source locations displayed in the load-namespaces.cpp test will
change.
llvm-svn: 112676
|
| |
|
|
|
|
|
|
|
|
|
| |
determines the kind of declaration that would be generated if the
given template were instantiated. This allows a client to distinguish
among class/struct/union templates and function/member function/static
member function templates.
Also, teach clang_CXXMethod_isStatic() about function templates.
llvm-svn: 112655
|
| |
|
|
|
|
|
|
|
| |
template. Such cursors occur, for example, in template specialization
types such as vector<int>. Note that we do not handle the
super-interesting case where the template name is unresolved, e.g.,
within a template.
llvm-svn: 112636
|
| |
|
|
|
|
| |
including a cursor kind, visitation, and USRs.
llvm-svn: 112629
|
| |
|
|
|
|
| |
class templates.
llvm-svn: 112627
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
libclang. This includes:
- Cursor kind for function templates, with visitation logic
- Cursor kinds for template parameters, with visitation logic
- Visitation logic for template specialization types, qualified type
locations
- USR generation for function templates, template specialization
types, template parameter types.
Also happens to fix PR7804, which I tripped across while testing.
llvm-svn: 112604
|
| |
|
|
|
|
|
|
| |
conversion functions. This introduces new cursor kinds for these three
C++ entities, and reworks visitation of function declarations so that
we get type-source information for the names.
llvm-svn: 112600
|
| |
|
|
|
|
| |
some issues being sorted out.
llvm-svn: 112493
|
| |
|
|
|
|
| |
before using them.
llvm-svn: 112468
|
| |
|
|
|
|
|
|
|
|
| |
The extra data stored on user-defined literal Tokens is stored in extra
allocated memory, which is managed by the PreprocessorLexer because there isn't
a better place to put it that makes sure it gets deallocated, but only after
it's used up. My testing has shown no significant slowdown as a result, but
independent testing would be appreciated.
llvm-svn: 112458
|
| |
|
|
| |
llvm-svn: 112303
|
| |
|
|
|
|
|
|
| |
adding the API hooks clang_isVirtualBase() and clang_getCXXAccessSpecifier() to query properties of the base specifier.
Implements <rdar://problem/8274883>.
llvm-svn: 112296
|
| |
|
|
| |
llvm-svn: 112292
|
| |
|
|
| |
llvm-svn: 112186
|
| |
|
|
|
|
|
|
|
|
|
| |
into the clients, e.g., the printing code-completion consumer and
c-index-test. Clients may want to re-sort the results anyway.
Provide a libclang function that sorts the results.
3rd try. How embarrassing.
llvm-svn: 112180
|
| |
|
|
|
|
| |
path and ...", it is failing tests.
llvm-svn: 112161
|
| |
|
|
|
|
| |
doth lay upon the chopping block.
llvm-svn: 112160
|
| |
|
|
| |
llvm-svn: 112154
|
| |
|
|
|
|
|
|
|
| |
into the clients, e.g., the printing code-completion consumer and
c-index-test. Clients may want to re-sort the results anyway.
Provide a libclang function that sorts the results.
llvm-svn: 112149
|
| |
|
|
|
|
| |
collection type for iboutletcollection attributes.
llvm-svn: 112139
|
| |
|
|
|
|
|
| |
into the clients", because the C standard library sucks. Where's my
stable sort, huh?
llvm-svn: 112121
|
| |
|
|
|
|
| |
cursors that come before a macro instantiation. Fixes <rdar://problem/7974151>.
llvm-svn: 112096
|
| |
|
|
|
|
|
| |
into the clients, e.g., the printing code-completion consumer and
c-index-test. Clients may want to re-sort the results anyway.
llvm-svn: 112095
|
| |
|
|
| |
llvm-svn: 112028
|
| |
|
|
|
|
| |
(<rdar://problem/8350262>)
llvm-svn: 111991
|
| |
|
|
|
|
|
|
|
|
| |
r110903 introduced a dependency from Frontend to every library that
declared an Action by introducing Action references that previously
resided in the driver in the file ExecuteCompilerInvocation.cpp.
This patch moves ExecuteCompilerInvocation to a new library named
FrontendTool which is intended to bear these dependencies.
llvm-svn: 111873
|
| |
|
|
|
|
|
| |
of a cursor or code-completion result, e.g., whether that result
refers to an unavailable, deleted, or deprecated declaration.
llvm-svn: 111858
|