summaryrefslogtreecommitdiffstats
path: root/clang/include/clang-c/Index.h
Commit message (Collapse)AuthorAgeFilesLines
...
* [libclang] Introduce clang_findIncludesInFile, that can be used to retrieve ↵Argyrios Kyrtzidis2013-03-081-1/+18
| | | | | | | | | 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. llvm-svn: 176682
* Revert r175912, "Add support for coldcc to clang" at John's request.Peter Collingbourne2013-02-231-1/+0
| | | | llvm-svn: 175936
* Add support for coldcc to clangPeter Collingbourne2013-02-221-0/+1
| | | | llvm-svn: 175912
* libclang: add clang_getTypeSpelling(CXType CT)Dmitri Gribenko2013-02-151-1/+9
| | | | | | | | | Adds a function clang_getTypeSpelling(CXType CT) that returns a CXString containing the underlying type. Patch by Ben Gertzfield. llvm-svn: 175299
* [libclang] Introduce clang_getFileUniqueID which returns a structArgyrios Kyrtzidis2013-01-261-1/+19
| | | | | | | | | | | for a CXFile containing device/inode/modification time. Intended to be useful as a key associated with a unique file across an indexing session. rdar://13091837 llvm-svn: 173559
* [libclang] Add some constness in CXSourceLocation and CXSourceRange.Argyrios Kyrtzidis2013-01-111-2/+2
| | | | llvm-svn: 172261
* libclang: change CXCursor to store 'const void *' pointers forDmitri Gribenko2013-01-111-1/+1
| | | | | | const-correctness, and update all users llvm-svn: 172252
* clang-c/Index.h: Clarify empty argument with (void) for C89.NAKAMURA Takumi2013-01-101-4/+4
| | | | llvm-svn: 172037
* [libclang] Introduce clang_getFileLocation.Argyrios Kyrtzidis2013-01-041-1/+30
| | | | | | | | | Uses of clang_getSpellingLocation should eventually move to calling clang_getFileLocation, and clang_getSpellingLocation should do what its name represents and actually point at the 'spelling' location, e.g. inside a macro definition if the spelling of a token came from that. llvm-svn: 171486
* Add intel_ocl_bicc calling convention as a function attribute to clang. The ↵Guy Benyei2012-12-251-0/+1
| | | | | | calling convention is already implemented in LLVM. llvm-svn: 171056
* Revert r170500. It over-zealously converted *ALL* things named Attributes, ↵Bill Wendling2012-12-201-1/+1
| | | | | | which is wrong here. llvm-svn: 170721
* Rename the 'Attributes' class to 'Attribute'. It's going to represent a ↵Bill Wendling2012-12-191-1/+1
| | | | | | single attribute in the future. llvm-svn: 170500
* [libclang] Introduce a new indexing mode where we skip function bodiesArgyrios Kyrtzidis2012-12-061-8/+21
| | | | | | | | | | | | | | | 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. llvm-svn: 169539
* libclang: Add a function to libclang for retrieving the bit width valueDmitri Gribenko2012-12-041-1/+8
| | | | | | Patch by Jyun-Yan You. llvm-svn: 169276
* Introduce CompilationDatabase::getAllCompileCommands() that returns allArgyrios Kyrtzidis2012-12-041-1/+1
| | | | | | compile commands of the database and expose it via the libclang API. llvm-svn: 169226
* [libclang] Add some comments about the version constants for the libclang API.Argyrios Kyrtzidis2012-11-061-0/+8
| | | | llvm-svn: 167489
* [libclang] Introduce clang_Cursor_getReceiverType which returns the CXType forArgyrios Kyrtzidis2012-11-011-1/+7
| | | | | | | | the receiver of an ObjC message expression. rdar://12578643 llvm-svn: 167201
* [libclang] Bump the version number of the libclang API.Argyrios Kyrtzidis2012-10-291-1/+1
| | | | llvm-svn: 166984
* [libclang] Introduce a version constant for the libclang API.Argyrios Kyrtzidis2012-10-291-0/+20
| | | | | | rdar://12587974 llvm-svn: 166980
* [libclang] Invoke a ppIncludedFile callback when indexing implicit module ↵Argyrios Kyrtzidis2012-10-181-0/+5
| | | | | | imports. llvm-svn: 166161
* Add pnaclcall convention to Native Client targets.Derek Schuff2012-10-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Because PNaCl bitcode must be target-independent, it uses some different bitcode representations from other targets (e.g. byval and sret for structures). This means that without additional type information, it cannot meet some native ABI requirements for some targets (e.g. passing structures containing unions by value on x86-64). To allow generation of code which uses the correct native ABIs, we also support triples such as x86_64-nacl, which uses target-dependent IR (as opposed to le32-nacl, which uses byval and sret). To allow interoperation between the two types of code, this patch adds a calling convention attribute to be used in code compiled with the target-dependent triple, which will generate code using the le32-style bitcode. This calling convention does not need to be explicitly supported in the backend because it determines bitcode representation rather than native conventions (the backend just needs to undersand how to handle byval and sret for the Native Client OS). This patch implements __attribute__((pnaclcall)) to generate calls in bitcode according to the le32 bitcode conventions, an attribute which is accepted by any Native Client target, but issues a warning otherwise. llvm-svn: 166065
* [libclang] Improve AST serialization done by ASTUnit::Save().Argyrios Kyrtzidis2012-10-111-4/+6
| | | | | | | | | 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. llvm-svn: 165717
* [libclang] Fix the comments, as suggested by Dmitri.Argyrios Kyrtzidis2012-10-061-10/+11
| | | | llvm-svn: 165353
* [libclang] Now that we have a CXModule object, pass it to theArgyrios Kyrtzidis2012-10-051-11/+5
| | | | | | importedASTFile indexing callback. llvm-svn: 165281
* [libclang] Introduce new C functions that provide information about modules:Argyrios Kyrtzidis2012-10-051-0/+58
| | | | | | | | | | | clang_Cursor_getModule clang_Module_getParent clang_Module_getName clang_Module_getFullName clang_Module_getNumTopLevelHeaders clang_Module_getTopLevelHeader llvm-svn: 165280
* [libclang] Introduce CXCursor_ModuleImportDecl cursor kind, used for a moduleArgyrios Kyrtzidis2012-10-051-1/+9
| | | | | | import declaration. llvm-svn: 165277
* [libclang] Simplify indexing of module imports by handling implicitArgyrios Kyrtzidis2012-10-031-6/+1
| | | | | | imports via ImportDecls. llvm-svn: 165160
* [libclang] Implement the importedASTFile indexing callback to provideArgyrios Kyrtzidis2012-10-021-4/+23
| | | | | | info about imported modules. llvm-svn: 165020
* [libclang] Remove the ParentKind cursor kind from code-completion results.Argyrios Kyrtzidis2012-09-261-2/+1
| | | | | | This is to reduce dependency to cursors for the code-completion results. llvm-svn: 164705
* [libclang] Bring CXCursor_AsmStmt back as an alias for CXCursor_GCCAsmStmt.Argyrios Kyrtzidis2012-09-241-0/+1
| | | | | | | This was renamed in r162632 which was badness because the C API needs to be stable. rdar://12360096 llvm-svn: 164547
* Fix Doxygen misuse: refer to parameter names in paragraphs correctly (\arg isDmitri Gribenko2012-09-131-3/+3
| | | | | | not what most people want -- it starts a new paragraph). llvm-svn: 163793
* Comment AST: TableGen'ize all command lists in CommentCommandTraits.cpp.Dmitri Gribenko2012-09-101-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 163540
* Revert r163099 per chandlerc's request.Joao Matos2012-09-041-3/+1
| | | | llvm-svn: 163147
* Added a new cursor for SEHLeaveStmt to libclang.Joao Matos2012-09-031-1/+3
| | | | llvm-svn: 163099
* Normalize line endings of r163013 (part 2).Joao Matos2012-08-311-8/+8
| | | | llvm-svn: 163032
* Improved MSVC __interface support by adding first class support for it, ↵Joao Matos2012-08-311-7/+8
| | | | | | instead of aliasing to "struct" which had some incorrect behaviour. Patch by David Robins. llvm-svn: 163013
* [ms-inline asm] As part of a larger refactoring, rename AsmStmt to GCCAsmStmt.Chad Rosier2012-08-251-2/+2
| | | | | | No functional change intended. llvm-svn: 162632
* Fix a bunch of -Wdocumentation warnings.Dmitri Gribenko2012-08-231-3/+3
| | | | llvm-svn: 162452
* libclang API for comment-to-xml conversion.Dmitri Gribenko2012-08-071-0/+15
| | | | | | | | | | | | 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! llvm-svn: 161431
* Comment to HTML conversion: correct typo in CSS class name: taram -> tparamDmitri Gribenko2012-08-011-1/+1
| | | | llvm-svn: 161145
* Comment parsing: add support for \tparam command on all levels.Dmitri Gribenko2012-07-311-4/+78
| | | | | | | | | | 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. llvm-svn: 161087
* Comment AST: add InlineContentComment::RenderKind to specify a defaultDmitri Gribenko2012-07-231-0/+36
| | | | | | | | rendering mode for clients that don't want to interpret Doxygen commands. Also add a libclang API to query this information. llvm-svn: 160633
* Fix a typo (the the => the)Sylvestre Ledru2012-07-231-1/+1
| | | | llvm-svn: 160622
* Comment to HTML conversion: add more CSS classes to identify function argumentsDmitri Gribenko2012-07-211-2/+6
| | | | | | | by index. This is useful if the user does not document all arguments, and we can't find a particular argument by index via :nth-of-type() CSS selector. llvm-svn: 160595
* Add libclang APIs to walk comments ASTs and an API to convert a comment to anDmitri Gribenko2012-07-201-2/+399
| | | | | | | | | | | HTML fragment. For testing, c-index-test now has even more output: * HTML rendering of a comment * comment AST tree dump in S-expressions like Comment::dump(), but implemented * with libclang APIs. llvm-svn: 160577
* [libclang] Introduce clang_Cursor_isDynamicCall which,Argyrios Kyrtzidis2012-07-021-0/+13
| | | | | | | | | | | | | given a cursor pointing to a C++ method call or an ObjC message, returns non-zero if the method/message is "dynamic", meaning: For a C++ method: the call is virtual. For an ObjC message: the receiver is an object instance, not 'super' or a specific class. rdar://11779185 llvm-svn: 159627
* Add a new libclang completion API to get brief documentation comment that isDmitri Gribenko2012-07-021-2/+23
| | | | | | | | | | | | | | | | attached to a declaration in the completion string. Since extracting comments isn't free, a new code completion option is introduced. A new code completion option that enables including brief comments into CodeCompletionString should be a, err, code completion option. But because ASTUnit caches global declarations during parsing before even completion consumer is created, the option is duplicated as a translation unit option (in both libclang and ASTUnit, like the option to cache code completion results). llvm-svn: 159539
* Factor CXString out of Index.hArnaud A. de Grandmaison2012-06-281-54/+3
| | | | | | | No functionnal or interface change. This is done to prepare the landing of CompilationDatabase in libclang. llvm-svn: 159382
* Implement a lexer for structured comments.Dmitri Gribenko2012-06-261-0/+6
| | | | llvm-svn: 159223
* Structured comment parsing, first step.Dmitri Gribenko2012-06-201-0/+13
| | | | | | | | | * Retain comments in the AST * Serialize/deserialize comments * Find comments attached to a certain Decl * Expose raw comment text and SourceRange via libclang llvm-svn: 158771
OpenPOWER on IntegriCloud