aboutsummaryrefslogtreecommitdiff
path: root/tools/libclang
AgeCommit message (Collapse)Author
2011-12-13[libclang] Indexing API: Provide the protocols list for objc categories as well.Argyrios Kyrtzidis
rdar://10573361 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146498 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-13[libclang] Indexing API: Fix indexing of missed references.Argyrios Kyrtzidis
rdar://10567864&10567916 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146497 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-13[libclang] Indexing API: Fix suppressing of references in macros and suppressArgyrios Kyrtzidis
@class forward references. rdar://10568080&10568103&10568119 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146496 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-10[libclang] Add defensive checks to make sure we don't try to dereferenceArgyrios Kyrtzidis
a null pointer after getCursorDecl() is called. rdar://10298421. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146312 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-09Add clang_getDiagnosticSetFromTU() to libclang. Fixes ↵Ted Kremenek
<rdar://problem/10553081>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146287 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-09Sort exports list.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146286 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-09Save category name loc in ObjCCategoryImplDecl, patch by Jason Haslam!Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146213 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-09[libclang] Make sure we don't try to handle a CXCursor_NoDeclFoundArgyrios Kyrtzidis
passed to clang_findReferencesInFile. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146211 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08[libclang] When doing clang_findReferencesInFile, make sure we don't crashArgyrios Kyrtzidis
if we come up against a null Decl. No test case unfortunately. rdar://10457799. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146127 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08[libclang] Remove IndexingContext's getScopedContext(), it's not usefulArgyrios Kyrtzidis
now that client containers can be set via function calls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146117 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07[libclang] Indexing API: provide both the semantic and the lexical container.Argyrios Kyrtzidis
They are generally the same except in C++ cases like out-of-line member functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146069 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07[libclang] Fix indexing of C++ bases in a C++ class.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146068 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07[libclang] Introduce CXIdxEntityLanguage that indicates the languageArgyrios Kyrtzidis
of an indexed entity. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146067 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07[libclang] Index C++ namespaces.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146019 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07Tweak serialized diagnostics to support errors with no categories. Fixes ↵Ted Kremenek
<rdar://problem/10538300>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146011 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06[libclang] API enhancements by Joe Groff!Argyrios Kyrtzidis
- Exposes a CXType_Vector type kind for vector types. - Adds generalized versions of the clang_getArrayElementType and clang_getArraySize functions, named clang_getElementType and clang_getNumElements, which work on array, vector, or complex types. - Adds additional functions for querying function types. clang_isFunctionTypeVariadic returns true if a function type is variadic. clang_getFunctionCallingConv returns an enumeration value indicating the calling convention of the function type. clang_getNumArgTypes returns the number of static argument types, and clang_getArgType gets the type of an argument. - Adds a clang_getTypedefDeclUnderlyingType function to get the underlying type from a TypedefDecl cursor. - Adds a clang_getEnumDeclIntegerType function to get the integer type from an EnumDecl cursor. - Adds clang_getEnumConstantDeclValue and clang_getEnumConstantDeclUnsignedValue functions to get the value of an EnumConstantDecl as a signed or unsigned long long, respectively. - Exposes a CXCursor_AsmLabelAttr cursor kind for __asm__("label") attributes. - Alters clang_getCursorSpelling to return the label value for AsmLabelAttr-kind cursors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145972 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-05[libclang] When indexing a field in a C++ class, return an entityArgyrios Kyrtzidis
of kind CXIdxEntity_CXXInstanceVariable. rdar://10522503. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145859 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-03[libclang] Fix infinite loop when doing visitation of an OpaqueValueExpr.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145751 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-03[libclang] Allow indexing/get-cursor/etc. for the exception variable in a ↵Argyrios Kyrtzidis
C++ catch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145750 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-02Introduce a module import declaration, so that we properly represent, e.g.,Douglas Gregor
__import_module__ std.vector; in the AST. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145725 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-01[libclang] Create a diagnostic set to pass at the end of indexing.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145557 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-29[libclang] Do the ConcurrencyCheck at the beginning of ↵Argyrios Kyrtzidis
clang_findReferencesInFile. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145455 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-29Preserve constness.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145397 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-29Silence GCC warnings, RefCountedBase is meant to be default-initialized here.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145396 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-29[libclang] Fix leak in clang_indexSourceFile_ImplArgyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145393 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-29[libclang] Make clang_findReferencesInFile also work on macros (find all ↵Argyrios Kyrtzidis
expansions/definition of a macro in a file). As a bonus, also make searching for declarations more efficient by ignoring preprocessing entities when we know that we are looking for a declaration. Fixes rdar://10427411. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145369 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-29Fix serialized diagnostics to handle FixIts that only remove text. Fixes ↵Ted Kremenek
<rdar://problem/10473903>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145339 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-28[libclang] Protect against the declaration's SourceRange being invalidArgyrios Kyrtzidis
before passing to RangeCompare. Though no idea how this can occur with the decls returned from findFileRegionDecls(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145301 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-28[libclang] Indexing API: If the client requested to get a CXTranslationUnit ↵Argyrios Kyrtzidis
after indexing, honor all the TU options. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145229 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-28[libclang] Indexing API: Capture diagnostics during indexing.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145228 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-23[libclang] Fix operations (token annotation, getting cursor, etc.) with a ↵Argyrios Kyrtzidis
file region inside an objc container that "contains" other file-level declarations. When getting the array of file-level declarations that overlap with a file region, we failed to report that the region overlaps with an objc container, if the container had other file-level declarations declared lexically inside it. Fix this by marking such declarations as "isTopLevelDeclInObjCContainer" in the AST and handling them appropriately. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145109 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-23[libclang] Indexing API: Fix issues, mostly C++ related.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145107 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-22[libclang] Indexing API: Support C++ symbols.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145058 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-18Change ASTConsumer::HandleTopLevelDecl to return true for the parser to continueArgyrios Kyrtzidis
parsing or false to abort parsing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144943 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-18[libclang] Indexing API:Argyrios Kyrtzidis
-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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144942 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-18[libclang] Indexing API: make sure we don't pass declarations/references ↵Argyrios Kyrtzidis
without USR or location. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144941 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-17Make 'LangOptions' in CompilerInvocation a heap-allocated, reference counted ↵Ted Kremenek
object. I discovered that llvm::RefCountedBase<T> has a bug where the reference count is copied in the copy constructor, which means that there were cases when the CompilerInvocation objects created by ASTUnit were actually leaked. When I fixed that bug locally, it showed that a whole bunch of code assumed that the LangOptions object that was part of CompilerInvocation was still alive. By making it heap-allocated and reference counted, we can keep it around after the CompilerInvocation object goes away. As part of this change, change CompilerInvocation:getLangOptions() to return a pointer, acting as another clue that this object may outlive the CompilerInvocation object. This commit doesn't fix the CompilerInvocation leak itself. That will come when I commit the fix to llvm::RefCountedBase<T> to mainline LLVM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144930 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16[libclang] Add a comment in lazyCreateDiags to explain why the check and ↵Argyrios Kyrtzidis
reset of diagnostic set is necessary. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144793 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16[libclang] Make clang_annotateTokens use "file-targeted" deserialization and ↵Argyrios Kyrtzidis
avoid unnecessary deserializations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144792 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16[libclang] Make clang_findReferencesInFile use "file-targeted" ↵Argyrios Kyrtzidis
deserialization and avoid unnecessary deserializations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144791 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16[libclang] Indexing API: fill the objc category info for a category ↵Argyrios Kyrtzidis
implementation and do not crash if no client container is registered for a declaration context. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144765 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16[libclang] Indexing API: make sure we do not try to index local declarations.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144764 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16[libclang] Indexing API: if the CXIndexOpt_OneRefPerFile option is set, only ↵Argyrios Kyrtzidis
report one reference per file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144763 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16[libclang] In lazyCreateDiags, recreate the diagnostic set if the number of ↵Argyrios Kyrtzidis
diagnostics in the ASTUnit changed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144762 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-15[libclang] Indexing API: Pass an implicit ObjCInterfaceDecl (@implementation ↵Argyrios Kyrtzidis
without @interface) in a separate indexing callback than its implementation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144625 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-15[libclang] Introduce a new function to apply the indexing callbacks on an ↵Argyrios Kyrtzidis
existing CXTranslationUnit, mainly to be used for indexing a PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144623 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-14Fix potential memory leak for clients of clang_getOverriddenCursors(). If ↵Ted Kremenek
the number of overriden cursors is 0, do not allocate an array of CXCursors. This fixes a memory leak in c-index-test, and clients who use this API in a similar way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144595 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-14[libclang] Slight changes to the indexing API and bigger internal changes ↵Argyrios Kyrtzidis
for it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144577 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-12[libclang] Further simplify the indexing API.Argyrios Kyrtzidis
That stuff can be added later on if we need them. Also add some const goodness. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144446 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-11Tweak CXLoadedDiagnosticSetImpl::makeString() to include an extra null ↵Ted Kremenek
character, and change the creation of the FixIT's string to again just rely on this string (instead of duplicating it when calling createCXString). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144389 91177308-0d34-0410-b5e6-96231b3b80d8