aboutsummaryrefslogtreecommitdiff
path: root/tools/c-index-test/c-index-test.c
AgeCommit message (Collapse)Author
2011-10-17Try fixing MSVC compiler errors.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142289 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17[libclang] Introduce a new high level API for indexing clients that assumesArgyrios Kyrtzidis
more of the work involved in indexing a translation unit and simplifies client implementations. Only C/ObjC for now, C++ (and comments) to come. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142233 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-14Added clang_getCompletionAnnotation and clang_getCompletionNumAnnotations toErik Verbruggen
retrieve annotations from completion string. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141953 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-06Fixed GCC (C90) and Clang warnings.Erik Verbruggen
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141281 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-06Added CXAvailability_NotAccessible to indicate that a declaration is ↵Erik Verbruggen
available, but not accessible from the current code completion context. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141278 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-06[libclang] Introduce clang_findReferencesInFile which accepts a cursor, a file,Argyrios Kyrtzidis
and a callback and finds all identifier references of the cursor in the file. rdar://7948304 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141277 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-26Don't map a file:line:col triplet that is inside the preamble range toArgyrios Kyrtzidis
a "loaded" location of the precompiled preamble. Instead, handle specially locations of preprocessed entities: -When looking up for preprocessed entities, map main file locations inside the preamble range to a preamble loaded location. -When getting the source range of a preprocessing cursor, map preamble loaded locations back to main file locations. Fixes rdar://10175093 & http://llvm.org/PR10999 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140519 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-12[libclang] Make c-index-test check CINDEXTEST_REMAP_AFTER_TRIAL environment ↵Argyrios Kyrtzidis
variable, which when set it determines the trial number after which the remapping of files should take effect. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139511 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-29Fix type mismatch in initialization (caught by -Wliteral-conversion)Matt Beaumont-Gay
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138736 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-04Add a new libclang API to return a CXCompletionString for an arbitraryDouglas Gregor
cursor, from Connor Wakamo! Addresses <rdar://problem/9087798>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136911 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-26Add new libclang API, clang_codeCompleteGetObjCSelector(), whichDouglas Gregor
provides the partial Objective-C selector used in a code completion. From Connor Wakamo! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136084 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-25Added clang_getCursorReferenceNameRange to libclang to to retrieve parts ofDouglas Gregor
a cursor reference, from Erik Verbruggen! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135920 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-21New libclang API to expose container type for code completion, fromDouglas Gregor
Connor Wakamo! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135651 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-14NestedMacroInstantiations -> NestedMacroExpansionsChandler Carruth
This is switches all the interfaces points (and most of the commenst / local variables I saw on my way through) regarding the NestedMacroInstantiations bit. The libclang enums corresponding to this state were renamed, but a legacy enum was added with the old name, and the same value to keep existing clients working. I've added a documentation blurb for it, but let me know if there is a canonical way to document legacy elemenst of the libclang interface. No functionality changed here, even in tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135141 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-07Introduce a new libclang aPI function,Douglas Gregor
clang_codeCompleteGetContexts(), that provides the client with information about the context in which code completion has occurred and what kinds of entities make sense as completions at that point. Patch by Connor Wakamo! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134615 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06MSVC doesn't like mixing declarations and statements in a C file.Francois Pichet
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134550 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06libclang: Allow callers of clang_saveTranslationUnit() to distinguishDouglas Gregor
between different classes of errors. Addresses most of <rdar://problem/9660328>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134495 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Add c-index-test printing and tests for static and virtual methodDouglas Gregor
query functions, from Erik Verbruggen! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131295 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-06Introduce a new libclang parsing flag,Douglas Gregor
CXTranslationUnit_NestedMacroInstantiations, which indicates whether we want to see "nested" macro instantiations (e.g., those that occur inside other macro instantiations) within the detailed preprocessing record. Many clients (e.g., those that only care about visible tokens) don't care about this information, and in code that uses preprocessor metaprogramming, this information can have a very high cost. Addresses <rdar://problem/9389320>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130990 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-04Introduce a new libclang API, clang_isFileMultipleIncludeGuarded(),Douglas Gregor
which determines whether a particular file is actually a header that is intended to be guarded from multiple inclusions within the same translation unit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130808 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-20Rename 'CXTUMemoryUsage…' to 'CXTUResourceUsage…'.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129857 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-18Report memory usage for global code completion results in CXTUMemoryUsage.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129733 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-18Unbreak the MSVC build: Don't mix variable declarations and statements in a ↵Francois Pichet
.c file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129732 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-18Add libclang API to query how much memory is used by a CXTranslationUnit. ↵Ted Kremenek
This is a WIP. Currently we report the amount used for expressions, types, identifiers, and selectors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129730 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-09c-index-test.c: Fix cygwin warning not to pass signed char to islower(c).NAKAMURA Takumi
Cygwin's ctype.h says; /* These macros are intentionally written in a manner that will trigger a gcc -Wall warning if the user mistakenly passes a 'char' instead of an int containing an 'unsigned char'. (snip) */ git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127308 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-03If any Fix-Its attached to a diagnostic have invalid source locationsDouglas Gregor
or source locations that refer into a macro instantiation, delete all of the Fix-Its on that diagnostic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124833 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-31Teach Diagnostic::setClient() to free the existing, ownedDouglas Gregor
client. Fixes a libclang leak. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124614 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-27Teach ASTUnit to save the specified target features, sinceDouglas Gregor
TargetInfo::CreateTargetInfo() mangles the target options in a way that is not idempotent. Fixes <rdar://problem/8807535>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124382 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-27Add libclang functions to determine the const/volatile/restrictDouglas Gregor
qualifiers on a CXType. Patch from Stefan Seefeld, test by me. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124377 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-30De-C99-ify for loopDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120395 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-30Teach c-index-test to reparse the source file a few times when testingDouglas Gregor
clang_getCursor() via -cursor-at=??? and CINDEXTEST_EDITING is set in the environment. This mirrors how we test code completion and source-loading in the presence of this environment variable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120392 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19Extend the libclang diagnostic API to provide information about theDouglas Gregor
option name, category ID, and category name corresponding to a diagnostic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119802 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Change CXTranslationUnit to not directly cast to an ASTUnit*,Ted Kremenek
but to wrap both an ASTUnit and a "string pool" that will be used for fast USR generation. This requires a bunch of mechanical changes, as there was a ton of code that assumed that CXTranslationUnit and ASTUnit* were the same. Along with this change, introduce CXStringBuf, which provides an llvm::SmallVector<char> backing for repeatedly generating CXStrings without a huge amount of malloc() traffic. This requires making some changes to the representation of CXString by renaming a few fields (but keeping the size of the object the same). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119337 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Move CXString creation/management routines intoTed Kremenek
their own .cpp file and make the interpretation of its flags private. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119319 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-15Tweak libclang's heuristics for building precompiled preambles andDouglas Gregor
caching global code-completion results. In particular, don't perform either operation the first time we parse, but do both after the first reparse. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119285 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09ntroduce clang_getSpellingLocation() into libclang, to provide theDouglas Gregor
location where we're spelling a token even within a macro. clang_getInstantiationLocation() tells where we instantiated the macro. I'm still not thrilled with the CXSourceLocation/CXSourceRange APIs, since they gloss over macro-instantiation information. Take 2: this time, adjusted tests appropriately and used a "simple" approach to the spelling location. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118495 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Revert r118492, which didn't update all of its tests accordinglyDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118494 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Introduce clang_getSpellingLocation() into libclang, to provide theDouglas Gregor
location where we're spelling a token even within a macro. clang_getInstantiationLocation() tells where we instantiated the macro. I'm still not thrilled with the CXSourceLocation/CXSourceRange APIs, since they gloss over macro-instantiation information. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118492 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-04Adjust return type of thread_runner.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118259 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-04c-index-test: Switch to using clang_executeOnThread instead of mucking aboutDaniel Dunbar
with system specific stuff. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118224 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-27Add an environment variable that allows us to turn off threading in c-index-testDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117449 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Extend the preprocessing record and libclang with support forDouglas Gregor
inclusion directives, keeping track of every #include, #import, etc. in the translation unit. We keep track of the source location and kind of the inclusion, how the file name was spelled, and the underlying file to which the inclusion resolved. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116952 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Call clang_disposeTokens() when we are done with the set of tokens.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116946 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-12This patch remove the Win32 XFAIL from remap-complete.cFrancois Pichet
The problem was that text files were open in text mode and Microsoft implementation of fread and write will try to do nasty line-feed conversion which make the line position no longer valid. The fix is to read and write files in binary mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116286 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-11Switch c-index-test from clang_codeComplete() over toDouglas Gregor
clang_codeCompleteAt(). This uncovered a few issues with the latter: - ASTUnit wasn't saving/restoring diagnostic state appropriately between reparses and code completions. - "Overload" completions weren't being passed through to the client git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116241 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-11Eliminate clang_setUseExternalASTGeneration() from libclang. BetweenDouglas Gregor
improvements to the compiler and the introduction of crash recovery, it no longer makes sense to allow this mode. Moreover, this eliminates one use of the "clang" executable from within libclang; we'd like them all to go away. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116207 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-08Fix the mapping of vertical-space cursor kinds to produce a newline,Douglas Gregor
rather than a space. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116097 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-02Introduce a new libclang function, clang_getCursorDisplayName(), whichDouglas Gregor
produces a simple "display" name that captures the arguments/parameters for a function, function template, class template, or class template specialization. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115428 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-01Extend libclang with an API that determines, given a C++ virtualDouglas Gregor
member function or an Objective-C method, which other member functions/methods it overrides. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115338 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-30perform_code_completion(): fix type declaration for TU.Dawn Perchik
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115224 91177308-0d34-0410-b5e6-96231b3b80d8