aboutsummaryrefslogtreecommitdiff
path: root/tools/libclang
AgeCommit message (Collapse)Author
2010-06-30libclang: When invoking external clang process to get code completion results,Daniel Dunbar
pass -ccc-clang-cxx to force C++ support (even if the binary was built without it). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107324 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-28Per Doug's suggestion, move check for invalid SourceLocation intoTed Kremenek
cxloc::translateSourceLocation() (thus causing all clients of this function to have the same behavior). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107101 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-21Add CXType support for querying the return type of Objective-C methods. ↵Ted Kremenek
This is done by adding a clang_getCursorResultType() function (which complements clang_getResultType()). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106473 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-21Add CXType support for FunctionNoProto and FunctionProto types. This ↵Ted Kremenek
includes adding a new function, clang_getResultType(), which returns the result type of the function type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106459 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-21Add clang_getCursorType() support for @property declarations.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106451 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-18introduce a new CharSourceRange class, and enhance the diagnostics routinesChris Lattner
to use them instead of SourceRange. CharSourceRange is just a SourceRange plus a bool that indicates whether the range has the end character resolved or whether the end location is the start of the end token. While most of the compiler wants to think of ranges that have ends that are the start of the end token, the printf diagnostic stuff wants to highlight ranges within tokens. This is transparent to the diagnostic stuff. To start taking advantage of the new capabilities, you can do something like this: Diag(..) << CharSourceRange::getCharRange(Begin,End) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106338 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Implement first TD-based usage of attributes.Sean Hunt
Currently, there are two effective changes: - Attr::Kind has been changed to attr::Kind, in a separate namespace rather than the Attr class. This is because the enumerator needs to be visible to parse. - The class definitions for the C++0x attributes other than aligned are generated by TableGen. The specific classes generated by TableGen are controlled by an array in TableGen (see the accompanying commit to the LLVM repository). I will be expanding the amount of code generated as I develop the new attributes system while initially keeping it confined to these attributes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106172 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-12don't make libclang depend on codegen. Patch by Peter Collingbourne!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105901 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-08Makefiles: Remove unnecessary early include of Makefile.config.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105640 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-08Makefiles: Set Clang CPP compiler flags in a single location, instead of ↵Daniel Dunbar
scattered throughout the project Makefiles. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105638 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-08Makefile: Switch Clang Makefiles to always include the top-level Clang Makefile.Daniel Dunbar
- This eliminates most dependencies on how Clang is installed relative to LLVM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105637 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-08Teach the PrintFunctionNames example to be a proper module, so thatDouglas Gregor
Clang can load it as a plugin. Original fix by Troy D. Straszheim, which I extended with Darwin support. Fixes PR6801. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105630 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-05Added AccessSpecDecl node.Abramo Bagnara
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105525 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-04Add indexing support for the block and @property type location informationJohn McCall
I just implemented. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105491 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-03Return a proper null CXSourceLocation from clang_getLocation() when the ↵Ted Kremenek
SourceLocation is invalid. Fixes <rdar://problem/8056640>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105392 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-01Delete a blank line to make it easier to process this file with a script.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105275 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-29Add check for an invalid CXType in clang_getTypeDeclaration.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105111 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-27When handling raw_ostream errors manually, use clear_error() so thatDan Gohman
raw_ostream doesn't try to do its own error handling. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104880 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-27Silence warning about "enumeral and non-enumeral type in conditionalBill Wendling
expression". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104863 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-27Remove clang_isFromMainFile(). It doesn't work correctly with ↵Ted Kremenek
CXDiagnostics, and we shouldn't have an API around that cannot be implemented correctly yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104849 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-26Introduce priorities into the code-completion results.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104751 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-25Turn vertical spacing into horizontal spacing in code-completion resultsDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104586 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-23Make clang_isFromMainFile() robust against NULL source locations.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104474 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-22Make crashreport data in libclang a compile-time option.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104413 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-20Fix __crashreport_info__ declaration.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104301 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-20Renamed misleading getSourceRange -> getLocalSourceRange and ↵Abramo Bagnara
getFullSourceRange -> getSourceRange for TypeLoc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104220 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-20Add libclang function 'clang_isFromMainFile()' (which just wraps ↵Ted Kremenek
SourceManager::isFromMainFile()). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104208 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-19Move CXCursor_FirstDecl definition later to make the results more readable ↵Ted Kremenek
in the debugger. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104171 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-19Remove clang_isDeclarationADefinition() since its functionality is already ↵Ted Kremenek
provided by clang_isCursorDefinition(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104138 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-19Add clang support for IBOutletCollection.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104135 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-18Add function 'clang_isTagDeclDefinition()' to allow clients of libclang to ↵Ted Kremenek
distinguish between forward declarations and definitions of structs/classes/enums. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104075 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-18Teach CursorVisitor about duplicate ObjCPropertyDecls that can arise because ↵Ted Kremenek
of a current design limitation in how we handle Objective-C class extensions. This was causing the CursorVisitor to essentially visit an @property twice (once in the @interface, the other in the class extension). Fixes <rdar://problem/7410145>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104055 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-17Fix missing '}'.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103966 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-17Add libclang function 'clang_CXXMethod_isStatic' to query of a C++ methodTed Kremenek
is declared static. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103963 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-15Substantially alter the design of the Objective C type AST by introducingJohn McCall
ObjCObjectType, which is basically just a pair of one of {primitive-id, primitive-Class, user-defined @class} with a list of protocols. An ObjCObjectPointerType is therefore just a pointer which always points to one of these types (possibly sugared). ObjCInterfaceType is now just a kind of ObjCObjectType which happens to not carry any protocols. Alter a rather large number of use sites to use ObjCObjectType instead of ObjCInterfaceType. Store an ObjCInterfaceType as a pointer on the decl rather than hashing them in a FoldingSet. Remove some number of methods that are no longer used, at least after this patch. By simplifying ObjCObjectPointerType, we are now able to easily remove and apply pointers to Objective-C types, which is crucial for a certain kind of ObjC++ metaprogramming common in WebKit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103870 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-14Change install_name for libclang.dylib to '@rpath/libclang.dylib'. Fixes ↵Ted Kremenek
<rdar://problem/7987039>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103837 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-14Add CXType and an initial set of supporting functions to libclang. This ↵Ted Kremenek
exposes details of Clang's representation of the C type system to clients. It is nowhere near complete, and will be expanded on demand. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103809 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-13Fold assertion into condition, as it does not hold all the time.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103716 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-13Remove stale comment.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103696 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-13Specially handle CaseStmts in CursorVisitor because they can be nested and ↵Ted Kremenek
walking them can blow out the stack. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103687 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-12Re-apply r103581 with updated tests. It turns out we were computing bogus ↵Ted Kremenek
locations for many things. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103583 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-12Temporarily revert r103581 so I can fix the failing tests.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103582 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-12Correctly check if a cursor is a declaration before returning its ↵Ted Kremenek
location/range in clang_getCursorLocation()/clang_getCursorExtent(). This fixes a horrible bug reported in <rdar://problem/7961995> and <rdar://problem/7967123> where declarations with attributes would get grossly annotated with the wrong tokens because the attribute would be interpreted as if it was a Decl*. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103581 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-12Remove debugging aids I did not intend to commit.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103578 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-12Adjust clang_annotateTokens() to correctly account for the TypeSourceInfo ↵Ted Kremenek
for DeclaratorDecls when annotating tokens. Fixes <rdar://problem/7971430>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103577 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-11Merged Elaborated and QualifiedName types.Abramo Bagnara
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103517 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-07Extend C++ usrs to include type mangling for tag decl arguments, indicating ↵Ted Kremenek
whether a method is static, and mangling in the qualifers of the method. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103289 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-07Switch USR generation over from NamedDecl::getNameAsString() to ↵Ted Kremenek
NamedDecl::printName(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103285 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-07Add initial USR support for mangling in the types of C++ functions and methods.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103225 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-07Add CXCursor support for LinkageSpecDecl (e.g., 'extern "C"').Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103224 91177308-0d34-0410-b5e6-96231b3b80d8