summaryrefslogtreecommitdiffstats
path: root/clang/tools/libclang/IndexingContext.h
Commit message (Collapse)AuthorAgeFilesLines
* Revert r240270 ("Fixed/added namespace ending comments using clang-tidy").Alexander Kornienko2015-06-221-2/+1
| | | | llvm-svn: 240353
* Fixed/added namespace ending comments using clang-tidy. NFCAlexander Kornienko2015-06-221-1/+2
| | | | | | | | | | | | The patch is generated using this command: $ tools/extra/clang-tidy/tool/run-clang-tidy.py -fix \ -checks=-*,llvm-namespace-comment -header-filter='llvm/.*|clang/.*' \ work/llvm/tools/clang To reduce churn, not touching namespaces spanning less than 10 lines. llvm-svn: 240270
* Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for ↵Aaron Ballman2015-02-151-2/+2
| | | | | | requiring the macro. NFC; Clang edition. llvm-svn: 229339
* Header guard canonicalization, clang part.Benjamin Kramer2014-08-131-2/+2
| | | | | | Modifications made by clang-tidy with minor tweaks. llvm-svn: 215557
* Add missing header guards.Benjamin Kramer2014-08-081-0/+5
| | | | llvm-svn: 215202
* [C++11] Use 'nullptr'. Tools edition.Craig Topper2014-06-081-17/+17
| | | | llvm-svn: 210422
* [cleanup] Stop specifying size overrides for BumpPtrAllocators.Chandler Carruth2014-03-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | These don't seem to have any real point. Let's start with IndexingContext. I can't come up with any conceivable reason to have many hundereds of thousands of these alive in an address space which would make the 4x difference in allocated (but unused) memory for the string scratch buffer a significant memory usage problem. The EditedSource one is somewhat more surprising. This is an 8x increase in the memory allocated (but not used) per editted source file. However, for this to realistically be a problem, you would need to have over half a million editted source files in a single address space, and even that would only really have problems on 32-bit Windows where you really only have 2gb of virtual address space. And what's more important, the fix to this if it is actually an issue shouldn't be to shrink the allocator's size, it is to pass a single allocator into *many* edited source file objects and let them share the memory. These were the only two uses of custom sized BumpPtrAllocators (excluding ones in the JIT using a custom allocation strategy) in all of LLVM, Clang, LLD, LLDB, or Polly. I don't think we actually need this complexity in the primary BumpPtrAllocator at all and am planning to remove it. llvm-svn: 204910
* Fix typo: s/Occurence/Occurrence/Alp Toker2013-11-301-2/+2
| | | | | | This is a private class member so the fix shouldn't impact external projects. llvm-svn: 195985
* Replace some DenseMap keys with simpler structures that don't need another ↵Benjamin Kramer2013-08-161-34/+1
| | | | | | DenseMapInfo specialization. llvm-svn: 188580
* Basic support for Microsoft property declarations andJohn McCall2013-04-161-0/+3
| | | | | | | | references thereto. Patch by Tong Shen! llvm-svn: 179585
* libclang: remove unneeded const_castsDmitri Gribenko2013-02-031-1/+1
| | | | llvm-svn: 174280
* [libclang] Introduce a new indexing mode where we skip function bodiesArgyrios Kyrtzidis2012-12-061-0/+2
| | | | | | | | | | | | | | | that were already parsed in the same "indexing session". An indexing session is defined as using the same CXIndexAction object for multiple clang_indexSourceFile calls. Passing CXIndexOpt_SkipParsedBodiesInSession as an indexing option will enable the mode where we try to skip bodies that were already parsed in another translation unit. If a function's body was skipped, the "flags" field in the CXIdxDeclInfo structure will have "CXIdxDeclFlag_Skipped" bit was set. llvm-svn: 169539
* Sort #include lines for tools/...Chandler Carruth2012-12-041-3/+2
| | | | | | Completely automated with sort_includes.py llvm-svn: 169240
* Add missing emacs major mode marker.Nick Lewycky2012-10-291-1/+1
| | | | llvm-svn: 166912
* [libclang] Invoke a ppIncludedFile callback when indexing implicit module ↵Argyrios Kyrtzidis2012-10-181-1/+1
| | | | | | imports. llvm-svn: 166161
* Remove pointless classof()'s.Sean Silva2012-10-111-11/+0
| | | | | | | Updates to llvm/Support/Casting.h have rendered these classof()'s irrelevant. llvm-svn: 165770
* [libclang] When indexing, invoke the importedASTFile for PCH files as well.Argyrios Kyrtzidis2012-10-031-0/+1
| | | | llvm-svn: 165161
* [libclang] Simplify indexing of module imports by handling implicitArgyrios Kyrtzidis2012-10-031-3/+1
| | | | | | imports via ImportDecls. llvm-svn: 165160
* [libclang] Implement the importedASTFile indexing callback to provideArgyrios Kyrtzidis2012-10-021-0/+4
| | | | | | info about imported modules. llvm-svn: 165020
* Use LLVM_DELETED_FUNCTION in place of 'DO NOT IMPLEMENT' comments.Dmitri Gribenko2012-09-151-2/+2
| | | | llvm-svn: 163983
* [libclang] Do index 'extern' declarations inside functions.Argyrios Kyrtzidis2012-09-101-1/+3
| | | | | | rdar://12257073 llvm-svn: 163563
* Replace some custom hash combines with the standard stuff from DenseMapInfo.Benjamin Kramer2012-05-271-4/+2
| | | | llvm-svn: 157531
* [libclang] Fix use-after-free bug when handling attributes indexing info.Argyrios Kyrtzidis2012-03-311-25/+39
| | | | | | | | | When indexing a property with a getter/setter with attributes, the allocated memory for AttrListInfo could get released before its destructor is run. Fixes rdar://11113442. llvm-svn: 153792
* [libclang] Make sure we don't crash when trying to index code thatArgyrios Kyrtzidis2012-03-231-1/+2
| | | | | | | | | | | managed to insert an @interface as top level decl contained by another @interface. A commit to also not allow this as valid code will be coming. rdar://11105114. llvm-svn: 153354
* [AST] When we @synthesize a property with a user-defined ivar name,Argyrios Kyrtzidis2012-02-281-2/+4
| | | | | | | | | | make sure to record the source location of the ivar name. [libclang] When indexing @synthesized objc methods, report the @implementation as the lexical container. Fixes rdar://10905472 llvm-svn: 151635
* [libclang] When indexing an objc property, also provide information aboutArgyrios Kyrtzidis2012-02-281-0/+16
| | | | | | | | the getter/setter objc method entities that the property is associated with. rdar://10244558 llvm-svn: 151634
* Basic: import IntrusiveRefCntPtr<> into clang namespaceDylan Noblesmith2012-02-201-1/+1
| | | | | | | The class name is long enough without the llvm:: added. Also bring in RefCountedBase and RefCountedBaseVPTR. llvm-svn: 150958
* [libclang] Indexing: only index implicit template instantiations via an ↵Argyrios Kyrtzidis2012-02-141-2/+6
| | | | | | opt-in indexing option. llvm-svn: 150517
* [libclang] Indexing API: Fully index implict template instantiations.Argyrios Kyrtzidis2012-02-101-0/+3
| | | | llvm-svn: 150267
* [libclang] Do not index implicit C++ member functions. rdar://10769813Argyrios Kyrtzidis2012-02-071-1/+1
| | | | llvm-svn: 150007
* Revert my patches which removed Diagnostic.h includes by moving some ↵Benjamin Kramer2012-02-071-2/+0
| | | | | | | | | | | | | | | | | | operator overloads out of line. This seems to negatively affect compile time onsome ObjC tests (which use a lot of partial diagnostics I assume). I have to come up with a way to keep them inline without including Diagnostic.h everywhere. Now adding a new diagnostic requires a full rebuild of e.g. the static analyzer which doesn't even use those diagnostics. This reverts commit 6496bd10dc3a6d5e3266348f08b6e35f8184bc99. This reverts commit 7af19b817ba964ac560b50c1ed6183235f699789. This reverts commit fdd15602a42bbe26185978ef1e17019f6d969aa7. This reverts commit 00bd44d5677783527d7517c1ffe45e4d75a0f56f. This reverts commit ef9b60ffed980864a8db26ad30344be429e58ff5. llvm-svn: 150006
* Move various diagnostic operator<< overloads out of line and remove includes ↵Benjamin Kramer2012-02-041-0/+2
| | | | | | | | | of Diagnostic.h. Fix all the files that depended on transitive includes of Diagnostic.h. With this patch in place changing a diagnostic no longer requires a full rebuild of the StaticAnalyzer. llvm-svn: 149781
* [libclang] Make sure Preprocessor is set in ASTUnit during indexing.Argyrios Kyrtzidis2012-01-171-0/+1
| | | | llvm-svn: 148319
* De-virtualize getPreviousDecl() and getMostRecentDecl() when we knowDouglas Gregor2012-01-141-2/+2
| | | | | | | | | | | | we have a redeclarable type, and only use the new virtual versions (getPreviousDeclImpl() and getMostRecentDeclImpl()) when we don't have that type information. This keeps us from penalizing users with strict type information (and is the moral equivalent of a "final" method). Plus, settle on the names getPreviousDecl() and getMostRecentDecl() throughout. llvm-svn: 148187
* [libclang] Add CXIndexOpt_IndexFunctionLocalSymbols indexing option to indicateArgyrios Kyrtzidis2012-01-141-0/+4
| | | | | | that one wants indexing callbacks for function-local symbols as well. llvm-svn: 148160
* Eliminate the ForwardDecl/InitiallyForwardDecl bits from ObjCProtocolDecl. ↵Douglas Gregor2012-01-011-1/+1
| | | | | | They are no longer needed llvm-svn: 147419
* Eliminate ObjCForwardProtocolDecl, which is redundant now thatDouglas Gregor2012-01-011-4/+0
| | | | | | ObjCProtocolDecl modules forward declarations properly. llvm-svn: 147415
* Eliminate ObjCClassDecl, which is redundant now that ObjCInterfaceDeclDouglas Gregor2011-12-271-2/+0
| | | | | | | covers both declarations (@class) and definitions (@interface) of an Objective-C class. llvm-svn: 147299
* Keep track of all declarations of an Objective-C class (both forwardDouglas Gregor2011-12-151-1/+1
| | | | | | | | | | declarations and definitions) as ObjCInterfaceDecls within the same redeclaration chain. This new representation matches what we do for C/C++ variables/functions/classes/templates/etc., and makes it possible to answer the query "where are all of the declarations of this class?" llvm-svn: 146679
* [libclang] Indexing API: provide an attribute list inside CXIdxEntityInfoArgyrios Kyrtzidis2011-12-151-36/+69
| | | | | | so that we can access the attributes of an entity for a reference. llvm-svn: 146616
* [libclang] Indexing API: Provide the protocols list for objc categories as well.Argyrios Kyrtzidis2011-12-131-0/+1
| | | | | | rdar://10573361 llvm-svn: 146498
* [libclang] Indexing API: Fix indexing of missed references.Argyrios Kyrtzidis2011-12-131-2/+7
| | | | | | rdar://10567864&10567916 llvm-svn: 146497
* [libclang] Remove IndexingContext's getScopedContext(), it's not usefulArgyrios Kyrtzidis2011-12-081-6/+0
| | | | | | now that client containers can be set via function calls. llvm-svn: 146117
* [libclang] Indexing API: provide both the semantic and the lexical container.Argyrios Kyrtzidis2011-12-071-3/+4
| | | | | | They are generally the same except in C++ cases like out-of-line member functions. llvm-svn: 146069
* [libclang] Fix indexing of C++ bases in a C++ class.Argyrios Kyrtzidis2011-12-071-0/+3
| | | | llvm-svn: 146068
* [libclang] Index C++ namespaces.Argyrios Kyrtzidis2011-12-071-0/+2
| | | | llvm-svn: 146019
* [libclang] Create a diagnostic set to pass at the end of indexing.Argyrios Kyrtzidis2011-12-011-0/+2
| | | | llvm-svn: 145557
* [libclang] Indexing API: Fix issues, mostly C++ related.Argyrios Kyrtzidis2011-11-231-15/+10
| | | | llvm-svn: 145107
* [libclang] Indexing API: Support C++ symbols.Argyrios Kyrtzidis2011-11-221-12/+77
| | | | llvm-svn: 145058
* [libclang] Indexing API:Argyrios Kyrtzidis2011-11-181-25/+84
| | | | | | | | | -For indexDeclaration, also pass the declaration attributes as an array of cursors. -Rename CXIndexOpt_OneRefPerFile -> CXIndexOpt_SuppressRedundantRefs, and only pass a reference if a declaration/definition does not exist in the file. -Other fixes. llvm-svn: 144942
OpenPOWER on IntegriCloud