aboutsummaryrefslogtreecommitdiff
path: root/tools/c-index-test
AgeCommit message (Collapse)Author
2013-04-26[libclang] Introduce clang_Module_getASTFile function that returns the ↵Argyrios Kyrtzidis
module file where a module object came from. rdar://13743084 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180643 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-26[PCH/modules] Require the preprocessing record option to match the used PCH, ↵Argyrios Kyrtzidis
if modules are enabled. The preprocessing record becomes important when modules are enabled, since it is used to calculate the module cache hash. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180635 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-18[libclang] Introduce clang_Cursor_isVariadic, which returns non-zero if the ↵Argyrios Kyrtzidis
given cursor is a variadic function or method. rdar://13667150 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179819 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-18[libclang] Introduce clang_Cursor_getObjCDeclQualifiers, to query for 'ObjC ↵Argyrios Kyrtzidis
Qualifiers' written next to the return and parameter types in an ObjC method declarations. rdar://13676977 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179816 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-18[libclang] Introduce clang_Cursor_getObjCPropertyAttributes to query the ↵Argyrios Kyrtzidis
written attributes in a property declaration. rdar://13684512 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179803 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-11[libclang] Have clang_getCXXAccessSpecifier() also return the access control ↵Argyrios Kyrtzidis
of a C++ declaration within its parent scope. Suggested by Stefan Seefeld. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179297 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-11[libclang] Expose record layout info via new libclang functions:Argyrios Kyrtzidis
clang_Type_getAlignOf clang_Type_getSizeOf clang_Type_getOffsetOf clang_Cursor_isBitField Patch by Loïc Jaquemet! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179251 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-09[c-index-test] Enable 'display diagnostics' when using the -test-load ↵Argyrios Kyrtzidis
functionality. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179123 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-13[Modules] Resolve top-headers of modules lazily.Argyrios Kyrtzidis
This allows resolving top-header filenames of modules to FileEntries when we need them, not eagerly. Note that that this breaks ABI for libclang functions clang_Module_getTopLevelHeader / clang_Module_getNumTopLevelHeaders but this is fine because they are experimental and not widely used yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176975 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-11[libclang] Fix a test and a warning on windows.Argyrios Kyrtzidis
Patch by Guy Benyei! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176806 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-08[libclang] Introduce clang_findIncludesInFile, that can be used to retrieve ↵Argyrios Kyrtzidis
all #import/#include directives in a specific file. It passes to the visitor, that the caller provides, CXCursor_InclusionDirective cursors for all the include directives in a particular file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176682 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-01Fix typos: [Dd]iagnosic -> [Dd]iagnosticStefanus Du Toit
These all appear in comments or (ironically) diagnostics output. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176383 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-15libclang: add clang_getTypeSpelling(CXType CT)Dmitri Gribenko
Adds a function clang_getTypeSpelling(CXType CT) that returns a CXString containing the underlying type. Patch by Ben Gertzfield. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175299 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-22libclang: Update comment about USEDLIBS in c-*-test/Makefile.NAKAMURA Takumi
"Note that 'USEDLIBS' must include all of the core clang libraries when -static is given to linker on cygming." git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173124 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-20Add bitreader to LINK_COMPONENTS in users of libclang, c-arcmt-test and ↵NAKAMURA Takumi
c-index-test. They don't link cygclang.dll, but libclang.a on cygwin. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172980 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-20c-index-test/Makefile: Add clangFormat to USEDLIBS for libclang-unavailable ↵NAKAMURA Takumi
hosts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170693 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-20c-index-test/Makefile: Reformat.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170692 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17[c-index-test] Fix warnings about unused results from chdir().Argyrios Kyrtzidis
Patch from Edwin Vane! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170366 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14[CMake] Move libxml2 stuff from clang to llvm/cmake.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170225 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-06[libclang] Introduce a new indexing mode where we skip function bodiesArgyrios Kyrtzidis
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169539 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-05[c-index-test] Introduce '-index-compile-db' which accepts a compilation ↵Argyrios Kyrtzidis
database file and does an '-index-file' for all compile commands in the database. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169430 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-04c-index-test.c: Make C89-compliant.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169277 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-04libclang: Add a function to libclang for retrieving the bit width valueDmitri Gribenko
Patch by Jyun-Yan You. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169276 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-07Force C89 for c-index-test.cDmitri Gribenko
MSVC supports only C89, so it is important to keep c-index-test.c buildable with C89. However, Clang defaults to C99, so while building Clang with Clang one can introduce C99 constructs into c-index-test.c without noticing. Thanks to Nakamura Takumi for helping with MSVC bits. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167561 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-06[c-index-test] Do install c-index-test because it's not just for tests,Argyrios Kyrtzidis
it's also setup as 'INTERNAL_TOOL'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167432 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-01[libclang] Introduce clang_Cursor_getReceiverType which returns the CXType forArgyrios Kyrtzidis
the receiver of an ObjC message expression. rdar://12578643 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167201 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-24c-index-test.c: Split a format string. [-Woverlength-strings]NAKAMURA Takumi
FIXME: They are still long strings without formatter in printf(3)! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166636 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-24[libclang] Add "-index-file-full" option that recursively indexes any importedArgyrios Kyrtzidis
modules/PCH files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166605 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-18[libclang] Invoke a ppIncludedFile callback when indexing implicit module ↵Argyrios Kyrtzidis
imports. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166161 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-12c-index-test.c: /* Use C style comment. */NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165797 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11[libclang] Make sure the index_data.main_filename field is initializedArgyrios Kyrtzidis
in c-index-test. index_enteredMainFile is not invoked when indexing a module file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165735 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11[libclang] Add tests for indexing modules and PCHs using modules.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165732 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11[libclang] Improve AST serialization done by ASTUnit::Save().Argyrios Kyrtzidis
The ASTUnit needs to initialize an ASTWriter at the beginning of parsing to fully handle serialization of a translation unit that imports modules. Do this by introducing an option to enable it, which corresponds to CXTranslationUnit_ForSerialization on the C API side. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165717 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-05[libclang] Now that we have a CXModule object, pass it to theArgyrios Kyrtzidis
importedASTFile indexing callback. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165281 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-05[libclang] Introduce new C functions that provide information about modules:Argyrios Kyrtzidis
clang_Cursor_getModule clang_Module_getParent clang_Module_getName clang_Module_getFullName clang_Module_getNumTopLevelHeaders clang_Module_getTopLevelHeader git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165280 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-03[libclang] Simplify indexing of module imports by handling implicitArgyrios Kyrtzidis
imports via ImportDecls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165160 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-02[libclang] Even though we disable the preprocessing record during indexing,Argyrios Kyrtzidis
make sure that it gets enabled for when a module needs to be created. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165021 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-02[libclang] Implement the importedASTFile indexing callback to provideArgyrios Kyrtzidis
info about imported modules. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165020 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-10Comment AST: TableGen'ize all command lists in CommentCommandTraits.cpp.Dmitri Gribenko
Now we have a list of all commands. This is a good thing in itself, but it also enables us to easily implement typo correction for command names. With this change we have objects that contain information about each command, so it makes sense to resolve command name just once during lexing (currently we store command names as strings and do a linear search every time some property value is needed). Thus comment token and AST nodes were changed to contain a command ID -- index into a tables of builtin and registered commands. Unknown commands are registered during parsing and thus are also uniformly assigned an ID. Using an ID instead of a StringRef is also a nice memory optimization since ID is a small integer that fits into a common bitfield in Comment class. This change implies that to get any information about a command (even a command name) we need a CommandTraits object to resolve the command ID to CommandInfo*. Currently a fresh temporary CommandTraits object is created whenever it is needed since it does not have any state. But with this change it has state -- new commands can be registered, so a CommandTraits object was added to ASTContext. Also, in libclang CXComment has to be expanded to include a CXTranslationUnit so that all functions working on comment AST nodes can get a CommandTraits object. This breaks binary compatibility of CXComment APIs. Now clang_FullComment_getAsXML(CXTranslationUnit TU, CXComment CXC) doesn't need TU parameter anymore, so it was removed. This is a source-incompatible change for this C API. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163540 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-31Fix the build (-Wswitch violation introduced by r163013).David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163025 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-30Fix C++ comment in C sourceMichael Liao
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162887 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-22[libclang] c-index-test: Make the printing of the overrides list of a cursor inArgyrios Kyrtzidis
a deterministic order, to avoid random test failures. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162408 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-10Fix a couple of pedantic gcc warnings.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161656 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-10c-arcmt-test, c-index-test: Appease Cygwin, to link to libclang.a, not ↵NAKAMURA Takumi
clang.dll. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161655 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-07c-index-test Makefile: fix build on Linux. Reviewed by Eric Christopher.Dmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161439 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-07libclang API for comment-to-xml conversion.Dmitri Gribenko
The implementation also includes a Relax NG schema and tests for the schema itself. The schema is used in c-index-test to verify that XML documents we produce are valid. In order to do the validation, we add an optional libxml2 dependency for c-index-test. Credits for CMake part go to Doug Gregor. Credits for Autoconf part go to Eric Christopher. Thanks! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161431 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-31Comment parsing: add support for \tparam command on all levels.Dmitri Gribenko
The only caveat is renumbering CXCommentKind enum for aesthetic reasons -- this breaks libclang binary compatibility, but should not be a problem since API is so new. This also fixes PR13372 as a side-effect. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161087 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-31Include clang-check as part of the clang installation.David Blaikie
This also tidies up a couple of other tools we were (partially) installing: * c-index-test was being installed but shouldn't be (it's just a clang-dev tool) * diagtool was being installed in cmake but not make (& shouldn't be installed in either) Review by Manuel Klimek, Doug Gregor, and Chandler Carruth. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161073 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-30c-index-test: remove dead store. Found by Clang static analyzer!Dmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160974 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-23Comment AST: add InlineContentComment::RenderKind to specify a defaultDmitri Gribenko
rendering mode for clients that don't want to interpret Doxygen commands. Also add a libclang API to query this information. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160633 91177308-0d34-0410-b5e6-96231b3b80d8