summaryrefslogtreecommitdiffstats
path: root/clang/tools
Commit message (Collapse)AuthorAgeFilesLines
* Fix warnings caused by new CXXUuidofExprClass enumerator.Francois Pichet2010-09-081-0/+1
| | | | llvm-svn: 113444
* Provide proper type-source location information forDouglas Gregor2010-09-081-3/+26
| | | | | | | | CXXTemporaryObjectExpr, CXXScalarValueInitExpr, and CXXUnresolvedConstructExpr, getting rid of a bunch of FIXMEs in the process. llvm-svn: 113319
* Improve source-location information for CXXNewExpr, by hanging on toDouglas Gregor2010-09-071-1/+24
| | | | | | the TypeSourceInfo for the allocated type. Fixes PR7501. llvm-svn: 113291
* Make "-ccc-cxx" option work on Linux.Rafael Espindola2010-09-061-1/+0
| | | | | | | | | 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
* Synchronize code-completion cursor kinds with indexing cursorDouglas Gregor2010-09-031-65/+1
| | | | | | kinds. How shameful that this code was duplicated! llvm-svn: 113033
* Implement libclang visitation for UnresolvedMemberExpr. This is theDouglas Gregor2010-09-031-0/+10
| | | | | | | | | 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
* libclang visitation for CXXDependentScopeMemberExprDouglas Gregor2010-09-031-0/+32
| | | | llvm-svn: 112978
* libclang visitation for DependentScopeDeclRefExprDouglas Gregor2010-09-031-0/+26
| | | | llvm-svn: 112975
* Teach libclang to visit OverloadExprs, so that we can reuse thisDouglas Gregor2010-09-021-2/+13
| | | | | | code. Also, teach it about explicitly-specified template arguments. llvm-svn: 112884
* Add libclang visitation for UnresolvedLookupExprsDouglas Gregor2010-09-021-2/+19
| | | | llvm-svn: 112879
* Add libclang visitation for C++ pseudo-destructor expressions.Douglas Gregor2010-09-021-0/+28
| | | | llvm-svn: 112873
* Eliminate CXXBindReferenceExpr, which was used in a ton ofDouglas Gregor2010-09-021-1/+0
| | | | | | well-intentioned but completely unused code. llvm-svn: 112868
* Teach libclang not to recursive into default argument expressionsDouglas Gregor2010-09-021-0/+1
| | | | llvm-svn: 112866
* Add libclang visitation for C++ typeid expressions.Douglas Gregor2010-09-021-0/+12
| | | | llvm-svn: 112862
* In libclang, visit the nested-name-specifier and explicitly-specified ↵Douglas Gregor2010-09-021-1/+29
| | | | | | template arguments of a MemberExpr. llvm-svn: 112860
* Visit the nested-name-specifier and explicitly-specified templateDouglas Gregor2010-09-021-1/+24
| | | | | | arguments of a DeclRefExpr. llvm-svn: 112854
* Implement basic visitation for nested name specifiers via libclangDouglas Gregor2010-09-021-7/+71
| | | | | | | | 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
* Introduce a new libclang function,Douglas Gregor2010-09-024-3/+59
| | | | | | | | | 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
* Teach libclang to visit the default arguments of template parameters.Douglas Gregor2010-09-011-1/+30
| | | | llvm-svn: 112734
* Implement libclang support for using declarations. Clang actually usesDouglas Gregor2010-09-013-2/+43
| | | | | | | | | | | | | | | | 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
* Improve libclang indexing support for class template specializationsDouglas Gregor2010-09-012-0/+47
| | | | | | | | | | | | | 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
* Make it clear that libclang does not modify the command-line argumentsDouglas Gregor2010-09-012-5/+5
| | | | | | it is given. llvm-svn: 112717
* Implement libclang support for using directives (cursor + visitation +Douglas Gregor2010-09-013-3/+19
| | | | | | | | 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
* Add libclang support for namespace aliases (visitation + USRs) alongDouglas Gregor2010-08-314-6/+70
| | | | | | | | | | | 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
* Add a new libclang function clang_getTemplateCursorKind(), whichDouglas Gregor2010-08-314-2/+43
| | | | | | | | | | | 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
* Extend libclang with a new cursor kind that indicates a reference to aDouglas Gregor2010-08-313-9/+80
| | | | | | | | | 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
* Add libclang support for class template partial specializations,Douglas Gregor2010-08-313-8/+42
| | | | | | including a cursor kind, visitation, and USRs. llvm-svn: 112629
* Add a libclang cursor kind, visitation support and USR support for C++Douglas Gregor2010-08-313-6/+42
| | | | | | class templates. llvm-svn: 112627
* Implement basic support for indexing function templates inDouglas Gregor2010-08-313-6/+223
| | | | | | | | | | | | | | 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
* libclang indexing support for C++ constructors, destructors, andDouglas Gregor2010-08-312-7/+74
| | | | | | | | 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
* Revert my user-defined literal commits - r1124{58,60,67} pendingAlexis Hunt2010-08-301-1/+0
| | | | | | some issues being sorted out. llvm-svn: 112493
* Straighten out target triples provided on the command lineDuncan Sands2010-08-301-1/+2
| | | | | | before using them. llvm-svn: 112468
* Implement C++0x user-defined string literals.Alexis Hunt2010-08-291-0/+1
| | | | | | | | | | 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
* Add source file I meant to include in my previous commit.Ted Kremenek2010-08-271-0/+48
| | | | llvm-svn: 112303
* Implement CXCursor support for walking C++ base specifiers. This includes ↵Ted Kremenek2010-08-277-4/+81
| | | | | | | | adding the API hooks clang_isVirtualBase() and clang_getCXXAccessSpecifier() to query properties of the base specifier. Implements <rdar://problem/8274883>. llvm-svn: 112296
* Teach clang_codeComplete to always sort its code-completion resultsDouglas Gregor2010-08-271-0/+1
| | | | llvm-svn: 112292
* Implement code completion for @selector expressionsDouglas Gregor2010-08-261-1/+1
| | | | llvm-svn: 112186
* Move the sorting of code-completion results out of the main path andDouglas Gregor2010-08-264-1/+62
| | | | | | | | | | | 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
* Revert r112149, "Move the sorting of code-completion results out of the mainDaniel Dunbar2010-08-264-62/+1
| | | | | | path and ...", it is failing tests. llvm-svn: 112161
* Revert r112154, "Fix thinko in sorting operation", it depends on r112149 whichDaniel Dunbar2010-08-261-2/+2
| | | | | | doth lay upon the chopping block. llvm-svn: 112160
* Fix thinko in sorting operationDouglas Gregor2010-08-261-2/+2
| | | | llvm-svn: 112154
* Move the sorting of code-completion results out of the main path andDouglas Gregor2010-08-264-1/+62
| | | | | | | | | 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
* Add libclang API hook "clang_getIBOutletCollectionType" to query the ↵Ted Kremenek2010-08-269-5/+71
| | | | | | collection type for iboutletcollection attributes. llvm-svn: 112139
* Revert "Move the sorting of code-completion results out of the main path andDouglas Gregor2010-08-262-87/+1
| | | | | | | into the clients", because the C standard library sucks. Where's my stable sort, huh? llvm-svn: 112121
* When annotating tokens, don't fallback to annotating with a null cursor for ↵Ted Kremenek2010-08-251-3/+2
| | | | | | cursors that come before a macro instantiation. Fixes <rdar://problem/7974151>. llvm-svn: 112096
* Move the sorting of code-completion results out of the main path andDouglas Gregor2010-08-252-1/+87
| | | | | | | 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
* Teach Sema to live without CodeCompleteConsumer.h.John McCall2010-08-251-1/+1
| | | | llvm-svn: 112028
* USRs for class extensions should "mangle" in the location of the extension. ↵Ted Kremenek2010-08-241-2/+23
| | | | | | (<rdar://problem/8350262>) llvm-svn: 111991
* Move ExecuteCompilerInvocation to a new library FrontendToolPeter Collingbourne2010-08-243-4/+6
| | | | | | | | | | 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
* Introduce new libclang API functions that determine the availabilityDouglas Gregor2010-08-235-5/+67
| | | | | | | of a cursor or code-completion result, e.g., whether that result refers to an unavailable, deleted, or deprecated declaration. llvm-svn: 111858
OpenPOWER on IntegriCloud