aboutsummaryrefslogtreecommitdiff
path: root/include/clang-c
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-24Revert "Remove CXCursorSet and related APIs. There are no known clients."Ted Kremenek
Apparently there are... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180176 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-24Remove CXCursorSet and related APIs. There are no known clients.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180174 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-23[libclang] Introduce a CXCursor_ObjCSelfExpr cursor, which is the equivalent ↵Argyrios Kyrtzidis
of CXCursor_CXXThisExpr for C++ code. rdar://13717006 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180127 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19[libclang] Fix copy-paste error in comment.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179823 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-12[libclang] Introduce clang_Location_isInSystemHeader to check if a location ↵Argyrios Kyrtzidis
resides in a system header. This is a modified patch provided from Mikołaj Siedlarek! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179384 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-11[libclang] Improve a doxygen comment, as suggested by Jordan.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179300 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-01[libclang] Make clang_Cursor_getArgument work with call-exprs.Argyrios Kyrtzidis
Patch by Matthias Kleine! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178475 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-08[libclang] Change clang_findReferencesInFile and clang_findIncludesInFile to ↵Argyrios Kyrtzidis
return an enum, as suggested by Jordan. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176732 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-08[libclang] Modify clang_findReferencesInFile and clang_findIncludesInFile to ↵Argyrios Kyrtzidis
return a value. Possible values are: 1 : if a parameter was invalid -1 : if the callback returned CXVisit_Break, otherwise returns 0. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176716 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-02-23Revert r175912, "Add support for coldcc to clang" at John's request.Peter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175936 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-22Add support for coldcc to clangPeter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175912 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-26[libclang] Introduce clang_getFileUniqueID which returns a structArgyrios Kyrtzidis
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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173559 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11libclang: constness for CXStringDmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172270 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11[libclang] Add some constness in CXSourceLocation and CXSourceRange.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172261 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11libclang: change CXCursor to store 'const void *' pointers forDmitri Gribenko
const-correctness, and update all users git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172252 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10clang-c/Index.h: Clarify empty argument with (void) for C89.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172037 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-04[libclang] Introduce clang_getFileLocation.Argyrios Kyrtzidis
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171486 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-25Add intel_ocl_bicc calling convention as a function attribute to clang. The ↵Guy Benyei
calling convention is already implemented in LLVM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171056 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-20Revert r170500. It over-zealously converted *ALL* things named Attributes, ↵Bill Wendling
which is wrong here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170721 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-19Rename the 'Attributes' class to 'Attribute'. It's going to represent a ↵Bill Wendling
single attribute in the future. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170500 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-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-12-04Introduce CompilationDatabase::getAllCompileCommands() that returns allArgyrios Kyrtzidis
compile commands of the database and expose it via the libclang API. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169226 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-06[libclang] Add some comments about the version constants for the libclang API.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167489 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-29[libclang] Bump the version number of the libclang API.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166984 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-29[libclang] Introduce a version constant for the libclang API.Argyrios Kyrtzidis
rdar://12587974 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166980 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-16Add pnaclcall convention to Native Client targets.Derek Schuff
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166065 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-06[libclang] Fix the comments, as suggested by Dmitri.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165353 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-05[libclang] Introduce CXCursor_ModuleImportDecl cursor kind, used for a moduleArgyrios Kyrtzidis
import declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165277 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] 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-26[libclang] Remove the ParentKind cursor kind from code-completion results.Argyrios Kyrtzidis
This is to reduce dependency to cursors for the code-completion results. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164705 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-24[libclang] Bring CXCursor_AsmStmt back as an alias for CXCursor_GCCAsmStmt.Argyrios Kyrtzidis
This was renamed in r162632 which was badness because the C API needs to be stable. rdar://12360096 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164547 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-13Fix Doxygen misuse: refer to parameter names in paragraphs correctly (\arg isDmitri Gribenko
not what most people want -- it starts a new paragraph). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163793 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-09-04Revert r163099 per chandlerc's request.Joao Matos
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163147 91177308-0d34-0410-b5e6-96231b3b80d8