summaryrefslogtreecommitdiffstats
path: root/clang/tools/c-index-test/c-index-test.c
Commit message (Collapse)AuthorAgeFilesLines
...
* De-C99-ify for loopDouglas Gregor2010-11-301-1/+2
| | | | llvm-svn: 120395
* Teach c-index-test to reparse the source file a few times when testingDouglas Gregor2010-11-301-17/+36
| | | | | | | | 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. llvm-svn: 120392
* Extend the libclang diagnostic API to provide information about theDouglas Gregor2010-11-191-1/+2
| | | | | | option name, category ID, and category name corresponding to a diagnostic. llvm-svn: 119802
* Change CXTranslationUnit to not directly cast to an ASTUnit*,Ted Kremenek2010-11-161-3/+3
| | | | | | | | | | | | | | | | | | | 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). llvm-svn: 119337
* Move CXString creation/management routines intoTed Kremenek2010-11-161-3/+3
| | | | | | | their own .cpp file and make the interpretation of its flags private. llvm-svn: 119319
* Tweak libclang's heuristics for building precompiled preambles andDouglas Gregor2010-11-151-0/+5
| | | | | | | | caching global code-completion results. In particular, don't perform either operation the first time we parse, but do both after the first reparse. llvm-svn: 119285
* ntroduce clang_getSpellingLocation() into libclang, to provide theDouglas Gregor2010-11-091-22/+22
| | | | | | | | | | | | | | 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. llvm-svn: 118495
* Revert r118492, which didn't update all of its tests accordinglyDouglas Gregor2010-11-091-22/+22
| | | | llvm-svn: 118494
* Introduce clang_getSpellingLocation() into libclang, to provide theDouglas Gregor2010-11-091-22/+22
| | | | | | | | | | | 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. llvm-svn: 118492
* Adjust return type of thread_runner.Benjamin Kramer2010-11-041-2/+1
| | | | llvm-svn: 118259
* c-index-test: Switch to using clang_executeOnThread instead of mucking aboutDaniel Dunbar2010-11-041-27/+1
| | | | | | with system specific stuff. llvm-svn: 118224
* Add an environment variable that allows us to turn off threading in c-index-testDouglas Gregor2010-10-271-0/+3
| | | | llvm-svn: 117449
* Extend the preprocessing record and libclang with support forDouglas Gregor2010-10-201-0/+7
| | | | | | | | | 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. llvm-svn: 116952
* Call clang_disposeTokens() when we are done with the set of tokens.Ted Kremenek2010-10-201-0/+1
| | | | llvm-svn: 116946
* This patch remove the Win32 XFAIL from remap-complete.cFrancois Pichet2010-10-121-1/+1
| | | | | | 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. llvm-svn: 116286
* Switch c-index-test from clang_codeComplete() over toDouglas Gregor2010-10-111-27/+29
| | | | | | | | | | 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 llvm-svn: 116241
* Eliminate clang_setUseExternalASTGeneration() from libclang. BetweenDouglas Gregor2010-10-111-10/+0
| | | | | | | | | 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. llvm-svn: 116207
* Fix the mapping of vertical-space cursor kinds to produce a newline,Douglas Gregor2010-10-081-0/+5
| | | | | | rather than a space. llvm-svn: 116097
* Introduce a new libclang function, clang_getCursorDisplayName(), whichDouglas Gregor2010-10-021-2/+11
| | | | | | | | produces a simple "display" name that captures the arguments/parameters for a function, function template, class template, or class template specialization. llvm-svn: 115428
* Extend libclang with an API that determines, given a C++ virtualDouglas Gregor2010-10-011-1/+18
| | | | | | | member function or an Objective-C method, which other member functions/methods it overrides. llvm-svn: 115338
* perform_code_completion(): fix type declaration for TU.Dawn Perchik2010-09-301-1/+1
| | | | llvm-svn: 115224
* c-index-test: Run inside a separate thread iff we have pthread support, toDaniel Dunbar2010-09-301-1/+55
| | | | | | | ensure we at least get some minimal testing of running in a multithreaded environment (for example, having a reduced stack size). llvm-svn: 115200
* I will not mix declaration and statements in C90.Douglas Gregor2010-09-141-1/+2
| | | | | | | | | | | | | | | | | | | | | I will not mix declaration and statements in C90. I will not mix declaration and statements in C90. I will not mix declaration and statements in C90. I will not mix declaration and statements in C90. I will not mix declaration and statements in C90. I will not mix declaration and statements in C90. I will not mix declaration and statements in C90. I will not mix declaration and statements in C90. I will not mix declaration and statements in C90. I will not mix declaration and statements in C90. I will not mix declaration and statements in C90. I will not mix declaration and statements in C90. I will not mix declaration and statements in C90. I will not mix declaration and statements in C90. I will not mix declaration and statements in C90. I will not mix declaration and statements in C90. llvm-svn: 113821
* Introduce a new kind of cursor into libclang, which covers a referenceDouglas Gregor2010-09-131-3/+18
| | | | | | | | | to an "overloaded" set of declarations. This cursor kind works for unresolved references to functions/templates (e.g., a call within a template), using declarations, and Objective-C class and protocol forward declarations. llvm-svn: 113805
* Introduce a new libclang function,Douglas Gregor2010-09-021-1/+12
| | | | | | | | | 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
* Implement CXCursor support for walking C++ base specifiers. This includes ↵Ted Kremenek2010-08-271-0/+20
| | | | | | | | adding the API hooks clang_isVirtualBase() and clang_getCXXAccessSpecifier() to query properties of the base specifier. Implements <rdar://problem/8274883>. llvm-svn: 112296
* Move the sorting of code-completion results out of the main path andDouglas Gregor2010-08-261-1/+25
| | | | | | | | | | | 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-261-25/+1
| | | | | | path and ...", it is failing tests. llvm-svn: 112161
* Move the sorting of code-completion results out of the main path andDouglas Gregor2010-08-261-1/+25
| | | | | | | | | 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-261-0/+8
| | | | | | collection type for iboutletcollection attributes. llvm-svn: 112139
* Revert "Move the sorting of code-completion results out of the main path andDouglas Gregor2010-08-261-85/+1
| | | | | | | into the clients", because the C standard library sucks. Where's my stable sort, huh? llvm-svn: 112121
* Move the sorting of code-completion results out of the main path andDouglas Gregor2010-08-251-1/+85
| | | | | | | 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
* Introduce new libclang API functions that determine the availabilityDouglas Gregor2010-08-231-1/+27
| | | | | | | of a cursor or code-completion result, e.g., whether that result refers to an unavailable, deleted, or deprecated declaration. llvm-svn: 111858
* c-index-test: Diagnose parse / completion failures in -code-completion-at=.Daniel Dunbar2010-08-191-0/+8
| | | | llvm-svn: 111580
* c-index-test: As with reparse, only honor remapped false during the codeDaniel Dunbar2010-08-191-3/+1
| | | | | | | completion step with -code-completion-at=, to allow testing simulated source changes. llvm-svn: 111579
* Fix a c-index-test leak with file remappingDouglas Gregor2010-08-191-2/+3
| | | | llvm-svn: 111559
* c-index-test: Change -test-load-source-repase to only use remapped files for theDaniel Dunbar2010-08-181-3/+4
| | | | | | reparse, to allow testing distinct inputs. llvm-svn: 111448
* Implement caching of code-completion results for macro definitionsDouglas Gregor2010-08-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | when the CXTranslationUnit_CacheCompletionResults option is given to clang_parseTranslationUnit(). Essentially, we compute code-completion results for macro definitions after we have parsed the file, then store an ASTContext-agnostic version of those results (completion string, cursor kind, priority, and active contexts) in the ASTUnit. When performing code completion in that ASTUnit, we splice the macro definition results into the results provided by the actual code-completion (which has had macros turned off) before libclang gets those results. We use completion context information to only splice in those results that make sense for that context. With a completion involving all of the macros from Cocoa.h and a few other system libraries (totally ~8500 macro definitions) living in a precompiled header, we get about a 9% performance improvement from code completion, since we no longer have to deserialize all of the macro definitions from the precompiled header. Note that macro definitions are merely the canary; the cache is designed to also support other top-level declarations, which should be a bigger performance win. That optimization will be next. Note also that there is no mechanism for determining when to throw away the cache and recompute its contents. llvm-svn: 111051
* Add an options parameter to clang_saveTranslationUnit, because we'll want it ↵Douglas Gregor2010-08-131-1/+1
| | | | | | later llvm-svn: 111016
* Implement clang_saveTranslationUnit(), which saves a translation unitDouglas Gregor2010-08-131-2/+42
| | | | | | into a PCH/AST file. llvm-svn: 111006
* Add a (currently unused) "options" parameter toDouglas Gregor2010-08-111-1/+2
| | | | | | | | | | clang_reparseTranslationUnit(), along with a function to retrieve the default recommended reparsing options for a translation unit. Also, add the CXTranslationUnit_CacheCompletionResults flag, which is also currently unused. llvm-svn: 110811
* Instead of having a specific CXTranslationUnit_* option flag forDouglas Gregor2010-08-091-1/+1
| | | | | | | | "editing" mode, introduce a separate function clang_defaultEditingTranslationUnitOptions() that retrieves the set of options. No functionality change. llvm-svn: 110613
* Fix mixed declarations and code warning.Daniel Dunbar2010-08-091-1/+1
| | | | llvm-svn: 110602
* Use precompiled preambles for in-process code completion.Douglas Gregor2010-08-091-11/+17
| | | | llvm-svn: 110596
* Give clang_codeCompleteAt() an "options" parameter, and add a newDouglas Gregor2010-08-051-1/+2
| | | | | | | | | flags enumeration + default-generating function that allows code-completion to be customized via the libclang API. Plus, turn on spell-checking when performing code completion. llvm-svn: 110319
* Add code-completion support directly to ASTUnit, which performs codeDouglas Gregor2010-08-041-5/+15
| | | | | | | | | | | | | | completion within the translation unit using the same command-line arguments for parsing the translation unit. Eventually, we'll reuse the precompiled preamble to improve code-completion performance, and this also gives us a place to cache results. Expose this function via the new libclang function clang_codeCompleteAt(), which performs the code completion within a CXTranslationUnit. The completion occurs in-process (clang_codeCompletion() runs code completion out-of-process). llvm-svn: 110210
* Add clang_isPODType() for querying if the CXType is POD. Implements ↵Ted Kremenek2010-07-301-0/+2
| | | | | | <rdar://problem/8250669>. llvm-svn: 109822
* Fix an apparent bug.Dan Gohman2010-07-261-1/+1
| | | | llvm-svn: 109447
* Start removing the use of smart pointers from the Parse/SemaDouglas Gregor2010-07-251-1/+1
| | | | | | | | interaction, by effectively defaulting to DISABLE_SMART_POINTERS. We're embracing the model where all AST nodes are ASTContext-allocated and live as long as the ASTContext lives. llvm-svn: 109374
* Basic plumbing for generating a precompiled preamble for anDouglas Gregor2010-07-231-5/+16
| | | | | | | ASTUnit/CXTranslationUnit. We can't actually use this preamble yet, however. llvm-svn: 109202
OpenPOWER on IntegriCloud