aboutsummaryrefslogtreecommitdiff
path: root/clang/tools/c-index-test/c-index-test.c
AgeCommit message (Collapse)AuthorFilesLines
2010-10-20Call clang_disposeTokens() when we are done with the set of tokens.Ted Kremenek1-0/+1
llvm-svn: 116946
2010-10-12This patch remove the Win32 XFAIL from remap-complete.cFrancois Pichet1-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
2010-10-11Switch c-index-test from clang_codeComplete() over toDouglas Gregor1-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
2010-10-11Eliminate clang_setUseExternalASTGeneration() from libclang. BetweenDouglas Gregor1-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
2010-10-08Fix the mapping of vertical-space cursor kinds to produce a newline,Douglas Gregor1-0/+5
rather than a space. llvm-svn: 116097
2010-10-02Introduce a new libclang function, clang_getCursorDisplayName(), whichDouglas Gregor1-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
2010-10-01Extend libclang with an API that determines, given a C++ virtualDouglas Gregor1-1/+18
member function or an Objective-C method, which other member functions/methods it overrides. llvm-svn: 115338
2010-09-30perform_code_completion(): fix type declaration for TU.Dawn Perchik1-1/+1
llvm-svn: 115224
2010-09-30c-index-test: Run inside a separate thread iff we have pthread support, toDaniel Dunbar1-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
2010-09-14I will not mix declaration and statements in C90.Douglas Gregor1-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
2010-09-13Introduce a new kind of cursor into libclang, which covers a referenceDouglas Gregor1-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
2010-09-02Introduce a new libclang function,Douglas Gregor1-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
2010-08-27Implement CXCursor support for walking C++ base specifiers. This includes ↵Ted Kremenek1-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
2010-08-26Move the sorting of code-completion results out of the main path andDouglas Gregor1-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
2010-08-26Revert r112149, "Move the sorting of code-completion results out of the mainDaniel Dunbar1-25/+1
path and ...", it is failing tests. llvm-svn: 112161
2010-08-26Move the sorting of code-completion results out of the main path andDouglas Gregor1-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
2010-08-26Add libclang API hook "clang_getIBOutletCollectionType" to query the ↵Ted Kremenek1-0/+8
collection type for iboutletcollection attributes. llvm-svn: 112139
2010-08-26Revert "Move the sorting of code-completion results out of the main path andDouglas Gregor1-85/+1
into the clients", because the C standard library sucks. Where's my stable sort, huh? llvm-svn: 112121
2010-08-25Move the sorting of code-completion results out of the main path andDouglas Gregor1-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
2010-08-23Introduce new libclang API functions that determine the availabilityDouglas Gregor1-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
2010-08-19c-index-test: Diagnose parse / completion failures in -code-completion-at=.Daniel Dunbar1-0/+8
llvm-svn: 111580
2010-08-19c-index-test: As with reparse, only honor remapped false during the codeDaniel Dunbar1-3/+1
completion step with -code-completion-at=, to allow testing simulated source changes. llvm-svn: 111579
2010-08-19Fix a c-index-test leak with file remappingDouglas Gregor1-2/+3
llvm-svn: 111559
2010-08-18c-index-test: Change -test-load-source-repase to only use remapped files for theDaniel Dunbar1-3/+4
reparse, to allow testing distinct inputs. llvm-svn: 111448
2010-08-13Implement caching of code-completion results for macro definitionsDouglas Gregor1-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
2010-08-13Add an options parameter to clang_saveTranslationUnit, because we'll want it ↵Douglas Gregor1-1/+1
later llvm-svn: 111016
2010-08-13Implement clang_saveTranslationUnit(), which saves a translation unitDouglas Gregor1-2/+42
into a PCH/AST file. llvm-svn: 111006
2010-08-11Add a (currently unused) "options" parameter toDouglas Gregor1-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
2010-08-09Instead of having a specific CXTranslationUnit_* option flag forDouglas Gregor1-1/+1
"editing" mode, introduce a separate function clang_defaultEditingTranslationUnitOptions() that retrieves the set of options. No functionality change. llvm-svn: 110613
2010-08-09Fix mixed declarations and code warning.Daniel Dunbar1-1/+1
llvm-svn: 110602
2010-08-09Use precompiled preambles for in-process code completion.Douglas Gregor1-11/+17
llvm-svn: 110596
2010-08-05Give clang_codeCompleteAt() an "options" parameter, and add a newDouglas Gregor1-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
2010-08-04Add code-completion support directly to ASTUnit, which performs codeDouglas Gregor1-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
2010-07-30Add clang_isPODType() for querying if the CXType is POD. Implements ↵Ted Kremenek1-0/+2
<rdar://problem/8250669>. llvm-svn: 109822
2010-07-26Fix an apparent bug.Dan Gohman1-1/+1
llvm-svn: 109447
2010-07-25Start removing the use of smart pointers from the Parse/SemaDouglas Gregor1-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
2010-07-23Basic plumbing for generating a precompiled preamble for anDouglas Gregor1-5/+16
ASTUnit/CXTranslationUnit. We can't actually use this preamble yet, however. llvm-svn: 109202
2010-07-22This was still complaining about the length of the string. I've broken it hereChandler Carruth1-1/+2
to try to keep as much logical grouping as possible. llvm-svn: 109085
2010-07-20Slip up long string literalDouglas Gregor1-1/+2
llvm-svn: 108838
2010-07-19Introduce a new libclang API, clang_reparseTranslationUnit(), whichDouglas Gregor1-1/+63
reparses an already-parsed translation unit. At the moment it's just a convenience function, but we hope to use it for performance optimizations. llvm-svn: 108756
2010-07-12Add a -code-completion-timing= mode to c-index-test, so that we canDouglas Gregor1-7/+15
test the performance of code-completion without testing the performance of printf(). llvm-svn: 108172
2010-06-22Silence warning about C++-style comments.Benjamin Kramer1-2/+2
llvm-svn: 106531
2010-06-21Add CXType support for querying the return type of Objective-C methods. ↵Ted Kremenek1-1/+1
This is done by adding a clang_getCursorResultType() function (which complements clang_getResultType()). llvm-svn: 106473
2010-06-21Add CXType support for FunctionNoProto and FunctionProto types. This ↵Ted Kremenek1-6/+19
includes adding a new function, clang_getResultType(), which returns the result type of the function type. llvm-svn: 106459
2010-05-26Introduce priorities into the code-completion results.Douglas Gregor1-1/+2
llvm-svn: 104751
2010-05-14Add CXType and an initial set of supporting functions to libclang. This ↵Ted Kremenek1-0/+29
exposes details of Clang's representation of the C type system to clients. It is nowhere near complete, and will be expanded on demand. llvm-svn: 103809
2010-04-20Fix USRs for 'extern' variables declaration in functions/method bodies.Ted Kremenek1-3/+4
Fix USRs for @synthesize. Add more USR tests. llvm-svn: 101954
2010-04-16Rework USR generation for symbols with no linkage. Many of the USRs are now ↵Ted Kremenek1-1/+1
shortened, and we now include the file name that declares the symbol with no linkage in the USR. USRs for such symbols are generated only in restructed cases, e.g., anonymous enum declarations, typedefs, etc. llvm-svn: 101542
2010-03-25Add c-index-test support for printing USRs.Ted Kremenek1-4/+187
llvm-svn: 99476
2010-03-04c-index-test's printing of linkage was completely broken, as was theDouglas Gregor1-4/+4
test of this functionality. The API worked great, though! :) llvm-svn: 97736