ef8225444452a1486bd721f3285301fe84643b00 |
|
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for rebase to r212749. This also fixes a small issue with arm_neon.h not being generated always. Includes a cherry-pick of: r213450 - fixes mac-specific header issue r213126 - removes a default -Bsymbolic on Android Change-Id: I2a790a0f5d3b2aab11de596fc3a74e7cbc99081d
/external/clang/tools/libclang/CXCursor.cpp
|
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/tools/libclang/CXCursor.cpp
|
651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/tools/libclang/CXCursor.cpp
|
513371129c834c143a50c3ca09bb581b7f0f6344 |
|
25-Sep-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Provide location for attributes and expose 'packed' attribute. Patch by Loïc Jaquemet! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
414a1bdbdaf250e0488589f12865c8961831b65d |
|
18-Sep-2013 |
Hal Finkel <hfinkel@anl.gov> |
Add the intrinsic __builtin_convertvector LLVM supports applying conversion instructions to vectors of the same number of elements (fptrunc, fptosi, etc.) but there had been no way for a Clang user to cause such instructions to be generated when using builtin vector types. C-style casting on vectors is already defined in terms of bitcasts, and so cannot be used for these conversions as well (without leading to a very confusing set of semantics). As a result, this adds a __builtin_convertvector intrinsic (patterned after the OpenCL __builtin_astype intrinsic). This is intended to aid the creation of vector intrinsic headers that create generic IR instead of target-dependent intrinsics (in other words, this is a generic _mm_cvtepi32_ps). As noted in the documentation, the action of __builtin_convertvector is defined in terms of the action of a C-style cast on each vector element. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
0b5ca510fb00eeb19ab82ebfd3c2585404bc9aa8 |
|
13-Sep-2013 |
David Blaikie <dblaikie@gmail.com> |
Remove unnecessary inclusion of Sema.h Let me tell you a tale... Within some twisted maze of debug info I've ended up implementing an insane man's Include What You Use device. When the debugger emits debug info it really shouldn't, I find out why & then realize the code could be improved too. In this instance CIndexDiagnostics.cpp had a lot more debug info with Clang than GCC. Upon inspection a major culprit was all the debug info describing clang::Sema. This was emitted because clang::Sema is befriended by DiagnosticEngine which was rightly required, but GCC doesn't emit debug info for friends so it never emitted anything for Clang. Clang does emit debug info for friends (will be fixed/changed to reduce debug info size). But why didn't Clang just emit a declaration of Sema if this entire TU didn't require a definition? 1) Diagnostic.h did the right thing, only using a declaration of Sema and not including Sema.h at all. 2) Some other dependency of CIndexDiagnostics.cpp didn't do the right thing. ASTUnit.h, only needing a declaration, still included Sema.h (hence this commit which removes that include and adds the necessary includes to the cpp files that were relying on this) 3) -flimit-debug-info didn't save us because of EnterExpressionEvaluationContext, defined inline in Sema.h which fires the "requiresCompleteType" check/flag (since it uses nested types from Sema and calls Sema member functions) and thus, if debug info is ever emitted for the type, the whole type is emitted and not just a declaration. Improving -flimit-debug-info to account for this would be... hard. Modifying the code so that's not 'required to be complete' might be possible, but probably only by moving EnterExpressionEvaluationContext either into Sema, or out of Sema.h. That might be a bit too much of a contortion to be bothered with. Also, this is only one of the cases where emitting debug info for friends caused us to emit a lot more debug info (this change reduces Clang's DWO size by 0.93%, dropping friends entirely reduces debug info by 3.2%) - I haven't hunted down the other cases, but I assume they might be similar (Sema or something like it). IWYU or a similar tool might help us reduce build times a bit, but analyzing debug info to find these differences isn't worthwhile. I'll take the 3.2% win, provide this small improvement to the code itself, and move on. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
4fa7eab771ab8212e1058bd1a91061ff120c8fbb |
|
19-Jul-2013 |
Alexey Bataev <a.bataev@hotmail.com> |
OpenMP: basic support for #pragma omp parallel git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
09d19efaa147762f84aed55efa7930bb3616a4e5 |
|
04-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Use SmallVectorImpl instead of SmallVector for iterators and references to avoid specifying the vector size unnecessarily. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
7c3e615f01e8f9f587315800fdaf2305ed824568 |
|
13-Jun-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR12086, PR15117 Introduce CXXStdInitializerListExpr node, representing the implicit construction of a std::initializer_list<T> object from its underlying array. The AST representation of such an expression goes from an InitListExpr with a flag set, to a CXXStdInitializerListExpr containing a MaterializeTemporaryExpr containing an InitListExpr (possibly wrapped in a CXXBindTemporaryExpr). This more detailed representation has several advantages, the most important of which is that the new MaterializeTemporaryExpr allows us to directly model lifetime extension of the underlying temporary array. Using that, this patch *drastically* simplifies the IR generation of this construct, provides IR generation support for nested global initializer_list objects, fixes several bugs where the destructors for the underlying array would accidentally not get invoked, and provides constant expression evaluation support for std::initializer_list objects. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
96bbe19aaa39b49a9da60a5a25fad7fc3cd471a2 |
|
24-Apr-2013 |
Ted Kremenek <kremenek@apple.com> |
Fix typo in comparison in clang_CXCursorSet_contains(). Fixes PR 10124. Patch by Jens Kilian. Thanks to Nikola Smiljanic for following up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180177 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
017dd74979c74c8950f733938953b98cfa250478 |
|
24-Apr-2013 |
Ted Kremenek <kremenek@apple.com> |
Revert "Remove CXCursorSet and related APIs. There are no known clients." Apparently there are... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180176 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
3b6f56a51e50ec11cbd1f7e3aa4785fffa4e839d |
|
24-Apr-2013 |
Ted Kremenek <kremenek@apple.com> |
Remove CXCursorSet and related APIs. There are no known clients. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180174 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
edab047e10d745a65d12c8cb36be2ba9e96c9e0e |
|
23-Apr-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce a CXCursor_ObjCSelfExpr cursor, which is the equivalent 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
/external/clang/tools/libclang/CXCursor.cpp
|
c3bf52ced9652f555aa0767bb822ec4c64546212 |
|
21-Apr-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
C++1y: Allow aggregates to have default initializers. Add a CXXDefaultInitExpr, analogous to CXXDefaultArgExpr, and use it both in CXXCtorInitializers and in InitListExprs to represent a default initializer. There's an additional complication here: because the default initializer can refer to the initialized object via its 'this' pointer, we need to make sure that 'this' points to the right thing within the evaluation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
051303ce09291dfbed537fa33b0d8a4d92c82b75 |
|
16-Apr-2013 |
Tareq A. Siraj <tareq.a.sriaj@intel.com> |
Implement CapturedStmt AST CapturedStmt can be used to implement generic function outlining as described in http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-January/027540.html. CapturedStmt is not exposed to the C api. Serialization and template support are pending. Author: Wei Pan <wei.pan@intel.com> Differential Revision: http://llvm-reviews.chandlerc.com/D370 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
76da55d3a49e1805f51b1ced7c5da5bcd7f759d8 |
|
16-Apr-2013 |
John McCall <rjmccall@apple.com> |
Basic support for Microsoft property declarations and references thereto. Patch by Tong Shen! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
e9ebd852ec1effa393bcc4aad73d9c657a5279c1 |
|
01-Apr-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make clang_Cursor_getArgument work with call-exprs. Patch by Matthias Kleine! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
39e6ab4be93d9c5e729a578ddd9d415cd2d49872 |
|
18-Feb-2013 |
David Blaikie <dblaikie@gmail.com> |
Replace TypeLoc llvm::cast support to be well-defined. The TypeLoc hierarchy used the llvm::cast machinery to perform undefined behavior by casting pointers/references to TypeLoc objects to derived types and then using the derived copy constructors (or even returning pointers to derived types that actually point to the original TypeLoc object). Some context is in this thread: http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-December/056804.html Though it's spread over a few months which can be hard to read in the mail archive. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175462 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
cb6bcf1c6392398ce9fccb4a0881dd4149568dcf |
|
16-Feb-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
libclang: remove reinterpret_casts by using SourceLocation::getPtrEncoding git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
62d0f569360a664018316e4a21a4e960560b271d |
|
14-Feb-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
libclang: remove reinterpret_casts by using SourceLocation::getFromPtrEncoding directly instead of casting a pointer to an integer git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175206 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
d1f09b482b3874be07dfe9dd24bfad98915989c3 |
|
31-Jan-2013 |
Douglas Gregor <dgregor@apple.com> |
Allow the computation of the base priority for a declaration code completion result to consider the completion context git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
5694feb5ccd6eb862cb600b55753cecc13794471 |
|
26-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
libclang: factor out the frequent pattern static_cast<ASTUnit *>(TU->TUData) into a getter cxtu::getASTUnit(TU) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
404628caa53a3f898047d73b38647d6fbb827e00 |
|
26-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
libclang: make getCursorParentDecl() return 'const Decl *' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
7d91438047450869d7b881e1c63868c4b52a3cc2 |
|
26-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
libclang: change getCursorAttr() to return 'const Attr *' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
ff74f9683943c0db9cb075423596b00ea3b38c5d |
|
26-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
libclang: make getCursorStmt() and getCursorExpr() return const pointers Also change EnqueueVisitor to use ConstStmtVisitor as a consequence. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
e22339c44bb28d71a2cc97c840d3da0c4bdb4909 |
|
23-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
libclang: change return type of getCursorDecl() to 'const Decl *' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
69652660e765ec2bbcf1877ac05c66e91b8fa745 |
|
23-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Explicitly cast away the const-ness instead of doing it implicitly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
05756dc8d11cd2054e0cb94f0302e4eb39acc68e |
|
14-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
libclang: remove a few const_casts git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
b3958476b21702a15f64f09d2862506d03dffe7b |
|
14-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Constify argument of Preprocessor::getMacroInfoHistory and propagate to callers, removing unneeded const_cast git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
cfa88f893915ceb8ae4ce2f17c46c24a4d67502f |
|
12-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Remove useless 'llvm::' qualifier from names like StringRef and others that are brought into 'clang' namespace by clang/Basic/LLVM.h git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
3315618561d19c99a7a52c72a31fb182111da716 |
|
11-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
libclang: remove unneeded casts git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
67812b2f94f4b5e7d2596db1705ffa1149ddc45a |
|
11-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
libclang: change CXCursor to store 'const void *' pointers for const-correctness, and update all users git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
46f92523918fd4ac4df5489265c7f85c1b28baea |
|
11-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
libclang: use getCursorTU and getCursorASTUnit instead of explicit casts git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
664b06f9bd2ea83443ddc8553feba8ba48880752 |
|
07-Jan-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] When getting the cursor for an identifier inside a macro definition, check if this was ever a macro name and return a specific CXCursor_MacroExpansion cursor in such a case, instead of the generic CXCursor_MacroDefinition. Checking for macro name makes sure the identifier is not part of the identifier list in a function macro. While, in general, resolving identifiers in macro definitions to other macros may not be completely accurate, it greatly improves functionality such as give-me-the-definition-of-this, which was not working at all inside macro definitions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171773 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
f59edb96b2d0bfe612b732f19519ab84bb995bd4 |
|
04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort #include lines for tools/... Completely automated with sort_includes.py git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
e4a990f34904eb572c8d6aa1deef19465214359c |
|
01-Nov-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce clang_Cursor_getReceiverType which returns the CXType for 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
/external/clang/tools/libclang/CXCursor.cpp
|
21c3607282550779c9ae5fe784928597807fd110 |
|
09-Oct-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Move the logic that searches for overridden methods from libclang to ASTContext so that it can be widely available. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
9a4db032ecd991626d236a502e770126db32bd31 |
|
12-Sep-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR13811: Add a FunctionParmPackExpr node to handle references to function parameter packs where the reference is not being expanded but the pack has been. Previously, Clang would segfault in such cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163672 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
4c5fa4292a2ae1fd69c8b984543519c4f119c540 |
|
04-Sep-2012 |
Joao Matos <ripzonetriton@gmail.com> |
Revert r163099 per chandlerc's request. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
ac067454ad828f6cefe98fb3b02e84295396a495 |
|
03-Sep-2012 |
Joao Matos <ripzonetriton@gmail.com> |
Added a new cursor for SEHLeaveStmt to libclang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
df5faf5e7ae6823d0af0b801c4ac26d47f2cee97 |
|
25-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] As part of a larger refactoring, rename AsmStmt to GCCAsmStmt. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
f39a7aea7dd0bf0716a066e2db2f97ea8730e4fa |
|
03-Jul-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce clang_Cursor_isDynamicCall which, 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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159627 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
d99ef536b241071b6f4c01db6525dc03242ac30b |
|
02-Jul-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Add a new libclang completion API to get brief documentation comment that is 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). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
8cd64b4c5553fa6284d248336cb7c82dc960a394 |
|
11-Jun-2012 |
Chad Rosier <mcrosier@apple.com> |
Etch out the code path for MS-style inline assembly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
e15db6f0d226a3bc88d244512d1004c7c1c07391 |
|
09-May-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[AST/libclang] Speed up clang_getOverriddenCursors() considerably by reserving a bit in ObjCMethodDecl to indicate whether the method does not override any other method, which is the majority of cases. That way we can avoid unnecessary work doing lookups, especially when PCH is involved. rdar://11360082 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156476 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
8eece46c544e79190d5b3e7c28f68c1463fbf2f9 |
|
30-Apr-2012 |
Ted Kremenek <kremenek@apple.com> |
Fix C versus C++ linkage issue. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
bbf66ca1dad17773cc682d69b8482c4e179aeaeb |
|
30-Apr-2012 |
Ted Kremenek <kremenek@apple.com> |
Reduce malloc() traffic of clang_getOverridenCursors() by using a pool of SmallVector<CXCursor> objects under the covers. Fixes <rdar://problem/11289160>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
eb382ec1507cf2c8c12d7443d0b67c076223aec6 |
|
19-Apr-2012 |
Patrick Beard <pcbeard@mac.com> |
Implements boxed expressions for Objective-C. <rdar://problem/10194391> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
534986f2b21e6050bf00163cd6423fd92155a6ed |
|
14-Apr-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Add an AttributedStmt type to represent a statement with C++11 attributes attached. Since we do not support any attributes which appertain to a statement (yet), testing of this is necessarily quite minimal. Patch by Alexander Kornienko! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
d98ef9ae48ab4090d4d5d703ce65cfac62807fda |
|
11-Apr-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce a couple of functions to make it convenient to get at the parameters (and their types) of a function or objc method cursor. int clang_Cursor_getNumArguments(CXCursor C); CXCursor clang_Cursor_getArgument(CXCursor C, unsigned i); rdar://11201527 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
15f4c9819d172139c0b37e8a68767ea4fc03e5b6 |
|
10-Apr-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] For clang_getOverriddenCursors make sure to report overridden objc methods for methods in categories of super classes. rdar://11220358 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
28a83f57003469fb615ad27dd34bcf5b0a10da8c |
|
10-Apr-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[code-complete] Introduce CodeCompletionTUInfo which will be used for caching code-completion related strings specific to a translation unit (ASTContext and related data) CodeCompletionAllocator does such limited caching, by caching the name assigned to a DeclContext*, but that is not the appropriate place since that object has a lifetime that can extend beyond that of an ASTContext. Introduce CodeCompletionTUInfo which will be always tied to a translation unit to do this kind of caching and move the caching of CodeCompletionAllocator into this object, and propagate it to all the places where it will be needed. The plan is to extend the caching where appropriate, using CodeCompletionTUInfo, to avoid re-calculating code-completion strings. Part of rdar://10796159. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
f4b88a45902af1802a1cb42ba48b1c474474f228 |
|
10-Mar-2012 |
John McCall <rjmccall@apple.com> |
Remove BlockDeclRefExpr and introduce a bit on DeclRefExpr to track whether the referenced declaration comes from an enclosing local context. I'm amenable to suggestions about the exact meaning of this bit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
044e645605c6d75223e33d23e3c5701cb389969f |
|
08-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Enhance clang_getOverriddenCursors. Basically the current design is: -for an implementation method, show as overridden the interface method. This is not useful, and is inconsistent with the C++ side -for an interface method, show as overridden the protocols methods (this is desirable) and the methods from the categories; methods from categories are not useful since they are considered the same method (same USR). -If there is a protocol method or category method reported, it does not check the super class for overridden methods. This is really problematic since overridden methods from super class is what we want to give back. Change clang_getOverriddenCursors to show as overridden any method in the class's base class, its protocols, or its categories' protocols, that has the same selector and is of the same kind (class or instance). If no such method exists, the search continues to the class's superclass, its protocols, and its categories, and so on. A method from an Objective-C implementation is considered to override the same methods as its corresponding method in the interface. rdar://10967206 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
9fcce65e7e1307b5b8da9be13e4092d6bb94dc1d |
|
07-Mar-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
AST representation for user-defined literals, plus just enough of semantic analysis to make the AST representation testable. They are represented by a new UserDefinedLiteral AST node, which is a sugared CallExpr. All semantic properties, including full CodeGen support, are achieved for free by this representation. UserDefinedLiterals can never be dependent, so no custom instantiation behavior is required. They are mangled as if they were direct calls to the underlying literal operator. This matches g++'s apparent behavior (but not its actual mangling, which is broken for literal-operator-ids). User-defined *string* literals are now fully-operational, but the semantic analysis is quite hacky and needs more work. No other forms of user-defined literal are created yet, but the AST support for them is present. This patch committed after midnight because we had already hit the quota for new kinds of literal yesterday. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
b3f7542a950ac0d585a7783e825cfe670e05c553 |
|
06-Mar-2012 |
Ted Kremenek <kremenek@apple.com> |
And libclang cursor/indexing support for new Objective-C NSArray/NSDictionary/NSNumber literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
4ca8ac2e61c37ddadf37024af86f3e1019af8532 |
|
24-Feb-2012 |
Douglas Gregor <dgregor@apple.com> |
Implement a new type trait __is_trivially_constructible(T, Args...) that provides the behavior of the C++11 library trait std::is_trivially_constructible<T, Args...>, which can't be implemented purely as a library. Since __is_trivially_constructible can have zero or more arguments, I needed to add Yet Another Type Trait Expression Class, this one handling arbitrary arguments. The next step will be to migrate UnaryTypeTrait and BinaryTypeTrait over to this new, more general TypeTrait class. Fixes the Clang side of <rdar://problem/10895483> / PR12038. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
011d8b93b7cfa8492b8a9c909a850d6577e08dca |
|
15-Feb-2012 |
Douglas Gregor <dgregor@apple.com> |
Implement indexing support for lambdas in libclang (both kinds), as well as improving the RecursiveASTVisitor's walk of lambda expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
01d08018b7cf5ce1601707cfd7a84d22015fc04e |
|
07-Feb-2012 |
Douglas Gregor <dgregor@apple.com> |
Introduce basic ASTs for lambda expressions. This covers: - Capturing variables by-reference and by-copy within a lambda - The representation of lambda captures - The creation of the non-static data members in the lambda class that store the captured variables - The initialization of the non-static data members from the captured variables - Pretty-printing lambda expressions There are a number of FIXMEs, both explicit and implied, including: - Creating a field for a capture of 'this' - Improved diagnostics for initialization failures when capturing variables by copy - Dealing with temporaries created during said initialization - Template instantiation - AST (de-)serialization - Binding and returning the lambda expression; turning it into a proper temporary - Lots and lots of semantic constraints - Parameter pack captures git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
5e192a7d60e776fa65e633cd9c2a0d59df132f23 |
|
17-Jan-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make clang_getCursorCompletionString not depend on the ASTUnit having a Sema. This allows it to work when Sema is not available, like when loading AST files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
16ed0e6fda74800595cb98d11969fc4afcc00bac |
|
10-Dec-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Add defensive checks to make sure we don't try to dereference a null pointer after getCursorDecl() is called. rdar://10298421. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
4451746d8f658b51eaf15dd24664a488457063a9 |
|
09-Dec-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make sure we don't try to handle a CXCursor_NoDeclFound passed to clang_findReferencesInFile. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
84b796492de8a708150dd3f86ae191041d42eef9 |
|
06-Dec-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] API enhancements by Joe Groff! - Exposes a CXType_Vector type kind for vector types. - Adds generalized versions of the clang_getArrayElementType and clang_getArraySize functions, named clang_getElementType and clang_getNumElements, which work on array, vector, or complex types. - Adds additional functions for querying function types. clang_isFunctionTypeVariadic returns true if a function type is variadic. clang_getFunctionCallingConv returns an enumeration value indicating the calling convention of the function type. clang_getNumArgTypes returns the number of static argument types, and clang_getArgType gets the type of an argument. - Adds a clang_getTypedefDeclUnderlyingType function to get the underlying type from a TypedefDecl cursor. - Adds a clang_getEnumDeclIntegerType function to get the integer type from an EnumDecl cursor. - Adds clang_getEnumConstantDeclValue and clang_getEnumConstantDeclUnsignedValue functions to get the value of an EnumConstantDecl as a signed or unsigned long long, respectively. - Exposes a CXCursor_AsmLabelAttr cursor kind for __asm__("label") attributes. - Alters clang_getCursorSpelling to return the label value for AsmLabelAttr-kind cursors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
2957e6f8c4c2e58a4b9cb639949fea801970fe36 |
|
22-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Indexing API: Support C++ symbols. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
b395c63b473bf1b3783bff371a993332e8c4c5e3 |
|
18-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Indexing API: -For indexDeclaration, also pass the declaration attributes as an array of cursors. -Rename CXIndexOpt_OneRefPerFile -> CXIndexOpt_SuppressRedundantRefs, and only pass a reference if a declaration/definition does not exist in the file. -Other fixes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
4b9c2d235fb9449e249d74f48ecfec601650de93 |
|
06-Nov-2011 |
John McCall <rjmccall@apple.com> |
Change the AST representation of operations on Objective-C property references to use a new PseudoObjectExpr expression which pairs a syntactic form of the expression with a set of semantic expressions implementing it. This should significantly reduce the complexity required elsewhere in the compiler to deal with these kinds of expressions (e.g. IR generation's special l-value kind, the static analyzer's Message abstraction), at the lower cost of specifically dealing with the odd AST structure of these expressions. It should also greatly simplify efforts to implement similar language features in the future, most notably Managed C++'s properties and indexed properties. Most of the effort here is in dealing with the various clients of the AST. I've gone ahead and simplified the ObjC rewriter's use of properties; other clients, like IR-gen and the static analyzer, have all the old complexity *and* all the new complexity, at least temporarily. Many thanks to Ted for writing and advising on the necessary changes to the static analyzer. I've xfailed a small diagnostics regression in the static analyzer at Ted's request. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143867 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
ba0513de93d2fab6db5ab30b6927209fcc883078 |
|
25-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement support for dependent Microsoft __if_exists/__if_not_exists statements. As noted in the documentation for the AST node, the semantics of __if_exists/__if_not_exists are somewhat different from the way Visual C++ implements them, because our parsed-template representation can't accommodate VC++ semantics without serious contortions. Hopefully this implementation is "good enough". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142901 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
4e7064fa7e344e8f87a5b8457e96dfdd252c4a9e |
|
17-Oct-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce a new high level API for indexing clients that assumes more of the work involved in indexing a translation unit and simplifies client implementations. Only C/ObjC for now, C++ (and comments) to come. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142233 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
5f1c822def3efffe1d8f7299fbbbc3b1cdd4833d |
|
13-Oct-2011 |
Erik Verbruggen <erikjv@me.com> |
Allow for annotate attributes after access specifiers. When such attributes are found, propagate them to subsequent declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141861 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
276b061970939293f1abaf694bd3ef05b2cbda79 |
|
11-Oct-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Initial implementation of __atomic_* (everything except __atomic_is_lock_free). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
aed123ec3cc37e457fe20a6158fdadf8849ad916 |
|
06-Oct-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce clang_findReferencesInFile which accepts a cursor, a file, and a callback and finds all identifier references of the cursor in the file. rdar://7948304 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
b11be041e4f05519a2eabf6a99429ba6110f1ca9 |
|
06-Oct-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Move the bulk of clang_getOverriddenCursors into a cxcursor::getOverriddenCursors C++ function, because SmallVectors are groovier that malloc'ing buffers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
42b2984771a7fd1b17c78bbb2c59fed3db2f1960 |
|
05-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Expose more statement, expression, and declaration kinds in libclang, from Manuel Holtgrewe! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
fa865df489fe68668c554dece36c68b4ce03920f |
|
27-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
MSVC is stuck in the 80s. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140597 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
b0d6eaa6b646c18c49923aefc76973801f561701 |
|
27-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce clang_Cursor_isNull and clang_Cursor_getTranslationUnit functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140587 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
ee0f84fc84ed7de7975e102668d8e53a778f7a8c |
|
26-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Don't map a file:line:col triplet that is inside the preamble range to a "loaded" location of the precompiled preamble. Instead, handle specially locations of preprocessed entities: -When looking up for preprocessed entities, map main file locations inside the preamble range to a preamble loaded location. -When getting the source range of a preprocessing cursor, map preamble loaded locations back to main file locations. Fixes rdar://10175093 & http://llvm.org/PR10999 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140519 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
6639e9255489ad8e10278d5658fdd4b3c0e1e4cd |
|
13-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] -Allow cursor visitation of an attribute using its source range -Add C++ 'final' and 'override' attributes as cursor kinds -Simplify the logic that marks 'final' and 'override' attributes as tokens. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
eaf4fbab08b2636103b2da08412e33baff15ad2a |
|
10-Aug-2011 |
Douglas Gregor <dgregor@apple.com> |
Switch a C-style cast over to a const_cast. No functionality change git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137218 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
8fa0a80b4482ad94e82c4a19e23de17fd69140b5 |
|
04-Aug-2011 |
Douglas Gregor <dgregor@apple.com> |
Add a new libclang API to return a CXCompletionString for an arbitrary cursor, from Connor Wakamo! Addresses <rdar://problem/9087798>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
91a5755ad73c5dc1dfb167e448fdd74e75a6df56 |
|
15-Jul-2011 |
John McCall <rjmccall@apple.com> |
Create a new expression node, SubstNonTypeTemplateParmExpr, to represent a fully-substituted non-type template parameter. This should improve source fidelity, as well as being generically useful for diagnostics and such. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
9b2a0ac970a077bdc0bf08c6c682f80ad733c892 |
|
14-Jul-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Update all of the libclang code corresponding to the preprocessor MacroInstantiation -> MacroExpansion rename. Internally, everything is switched. Introduce a new cursor kind enum with the new name, but retain the old name as an alias so that we don't break backwards compatibility. Also update the debug printing routine to use 'macro expansions' as its explicitly not guaranteed to be stable, and mechanically switch the test cases over to that. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135140 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
9e5bb85ac899eeab7c21b5ff9030c3da6ff4837b |
|
14-Jul-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Move the rest of the preprocessor terminology from 'instantiate' and variants to 'expand'. This changed a couple of public APIs, including one public type "MacroInstantiation" which is now "MacroExpansion". The rest of the codebase was updated to reflect this, especially the libclang code. Two of the C++ (and thus easily changed) libclang APIs were updated as well because they pertained directly to the old MacroInstantiation class. No functionality changed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135139 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
8ccac3de1335f1cfd7cea56ba1cefcf0b724ce3f |
|
30-Jun-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce cxcursor::getCursorParentDecl(CXCursor Cursor) and use it at the appropriate place in CIndex.cpp No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
03e80030515c800d1ab44125b9052dfffd1bd04c |
|
21-Jun-2011 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new AST node describing reference binding to temporaries. MaterializeTemporaryExpr captures a reference binding to a temporary value, making explicit that the temporary value (a prvalue) needs to be materialized into memory so that its address can be used. The intended AST invariant here is that a reference will always bind to a glvalue, and MaterializeTemporaryExpr will be used to convert prvalues into glvalues for that binding to happen. For example, given const int& r = 1.0; The initializer of "r" will be a MaterializeTemporaryExpr whose subexpression is an implicit conversion from the double literal "1.0" to an integer value. IR generation benefits most from this new node, since it was previously guessing (badly) when to materialize temporaries for the purposes of reference binding. There are likely more refactoring and cleanups we could perform there, but the introduction of MaterializeTemporaryExpr fixes PR9565, a case where IR generation would effectively bind a const reference directly to a bitfield in a struct. Addresses <rdar://problem/9552231>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133521 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
f85e193739c953358c865005855253af4f68a497 |
|
16-Jun-2011 |
John McCall <rjmccall@apple.com> |
Automatic Reference Counting. Language-design credit goes to a lot of people, but I particularly want to single out Blaine Garst and Patrick Beard for their contributions. Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself, in no particular order. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
61eee0ca33b29e102f11bab77c8b74cc00e2392b |
|
04-Jun-2011 |
Tanya Lattner <tonic@nondot.org> |
Add support for builtin astype: __builtin_astype(): Used to reinterpreted as another data type of the same size using for both scalar and vector data types. Added test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
28bbe4b8acc338476fe0825769b41fb32b423c72 |
|
28-Apr-2011 |
John Wiegley <johnw@boostpro.com> |
Parsing/AST support for Structured Exception Handling Patch authored by Sohail Somani. Provide parsing and AST support for Windows structured exception handling. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
21ff2e516b0e0bc8c1dbf965cb3d44bac3c64330 |
|
28-Apr-2011 |
John Wiegley <johnw@boostpro.com> |
Implementation of Embarcadero array type traits Patch authored by John Wiegley. These are array type traits used for parsing code that employs certain features of the Embarcadero C++ compiler: __array_rank(T) and __array_extent(T, Dim). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130351 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
552622067dc45013d240f73952fece703f5e63bd |
|
25-Apr-2011 |
John Wiegley <johnw@boostpro.com> |
t/clang/expr-traits Patch authored by David Abrahams. These two expression traits (__is_lvalue_expr, __is_rvalue_expr) are used for parsing code that employs certain features of the Embarcadero C++ compiler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
f111d935722ed488144600cea5ed03a6b5069e8f |
|
15-Apr-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
C1X: implement generic selections As an extension, generic selection support has been added for all supported languages. The syntax is the same as for C1X. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
ad762fcdc16b9e4705b12b09d92b8c026212b906 |
|
15-Apr-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Add support for C++0x's range-based for loops, as specified by the C++11 draft standard (N3291). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129541 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
f4e3cfbe8abd124be6341ef5d714819b4fbd9082 |
|
11-Mar-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Add support for the OpenCL vec_step operator, by generalising and extending the existing support for sizeof and alignof. Original patch by Guy Benyei. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
56ca35d396d8692c384c785f9aeebcf22563fe1e |
|
17-Feb-2011 |
John McCall <rjmccall@apple.com> |
Change the representation of GNU ?: expressions to use a different expression class and to bind the shared value using OpaqueValueExpr. This fixes an unnoticed problem with deserialization of these expressions where the deserialized form would lose the vital pointer-equality trait; or rather, it fixes it because this patch also does the right thing for deserializing OVEs. Change OVEs to not be a "temporary object" in the sense that copy elision is permitted. This new representation is not totally unawkward to work with, but I think that's really part and parcel with the semantics we're modelling here. In particular, it's much easier to fix things like the copy elision bug and to make the CFG look right. I've tried to update the analyzer to deal with this in at least some obvious cases, and I think we get a much better CFG out, but the printing of OpaqueValueExprs probably needs some work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
e08ce650a2b02410eddd1f60a4aa6b3d4be71e73 |
|
09-Feb-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
AST, Sema, Serialization: add CUDAKernelCallExpr and related semantic actions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125217 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
63c00d7f35fa060c0a446c9df3a4402d9c7757fe |
|
09-Feb-2011 |
John McCall <rjmccall@apple.com> |
Remove vtables from the Stmt hierarchy; this was pretty easy as there were only three virtual methods of any significance. The primary way to grab child iterators now is with Stmt::child_range children(); Stmt::const_child_range children() const; where a child_range is just a std::pair of iterators suitable for being llvm::tie'd to some locals. I've left the old child_begin() and child_end() accessors in place, but it's probably a substantial penalty to grab the iterators individually now, since the switch-based dispatch is kindof inherently slower than vtable dispatch. Grabbing them together is probably a slight win over the status quo, although of course we could've achieved that with vtables, too. I also reclassified SwitchCase (correctly) as an abstract Stmt class, which (as the first such class that wasn't an Expr subclass) required some fiddling in a few places. There are somewhat gross metaprogramming hooks in place to ensure that new statements/expressions continue to implement getSourceRange() and children(). I had to work around a recent clang bug; dgregor actually fixed it already, but I didn't want to introduce a selfhosting dependency on ToT. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125183 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
dec0984fce504a39a7f085774fb67cfd9957be58 |
|
18-Jan-2011 |
Jeffrey Yasskin <jyasskin@google.com> |
Fix warnings found by gcc-4.6, from -Wunused-but-set-variable and -Wint-to-pointer-cast. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
c7793c73ba8a343de3f2552d984851985a46f159 |
|
15-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new expression kind, SubstNonTypeTemplateParmPackExpr, that captures the substitution of a non-type template argument pack for a non-type template parameter pack within a pack expansion that cannot be fully expanded. This follows the approach taken by SubstTemplateTypeParmPackType. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
ee8aff06f6a96214731de17b2cb6df407c6c1820 |
|
04-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement the sizeof...(pack) expression to compute the length of a parameter pack. Note that we're missing proper libclang support for the new SizeOfPackExpr expression node. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
be230c36e32142cbdcdbe9c97511d097beeecbab |
|
03-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement support for pack expansions whose pattern is a non-type template argument (described by an expression, of course). For example: template<int...> struct int_tuple { }; template<int ...Values> struct square { typedef int_tuple<(Values*Values)...> type; }; It also lays the foundation for pack expansions in an initializer-list. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
e8b3de090b9de3c27c5d381e767217ddb849d5d8 |
|
09-Dec-2010 |
Anders Carlsson <andersca@mac.com> |
Fix build. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
da6fb69873079a0193ed8c9fa1d1b859d4f87b95 |
|
09-Dec-2010 |
Ted Kremenek <kremenek@apple.com> |
Remove extra namespace specifier. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
9915539294a96eb931a4e17c802be73980ba98e0 |
|
09-Dec-2010 |
Ted Kremenek <kremenek@apple.com> |
DenseMapInfo is a 'struct', not a 'class'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
eca099bdb0178d408d4f717c2e9627e0d0e673c6 |
|
09-Dec-2010 |
Ted Kremenek <kremenek@apple.com> |
Add new libclang hooks for CXCursorSet, a DenseMap-backed hashtable for doing client-side management of CXCursors within a set. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
f187237d916afa97c491ac32fe98be7d335c5b63 |
|
08-Dec-2010 |
Francois Pichet <pichet2000@gmail.com> |
Remove the TypesCompatibleExprClass AST node. Merge its functionality into BinaryTypeTraitExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
6ad6f2848d7652ab2991286eb48be440d3493b28 |
|
07-Dec-2010 |
Francois Pichet <pichet2000@gmail.com> |
Type traits intrinsic implementation: __is_base_of(T, U) New AST node introduced: BinaryTypeTraitExpr; to be reused for more intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121074 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
4765fa05b5652fcc4356371c2f481d0ea9a1b007 |
|
06-Dec-2010 |
John McCall <rjmccall@apple.com> |
Rename CXXExprWithTemporaries -> ExprWithCleanups; there's no theoretical reason this is limited to C++, and it's certainly not limited to temporaries. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
12f78a6741a4cb3d904340f8d3d2714568b50e7a |
|
02-Dec-2010 |
John McCall <rjmccall@apple.com> |
Simplify the ASTs by consolidating ObjCImplicitGetterSetterExpr and ObjCPropertyRefExpr into the latter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
0a90d32523bfe5fa63e11b648686c9699f786d15 |
|
18-Nov-2010 |
Ted Kremenek <kremenek@apple.com> |
Make definition of CXTranslationUnitImpl private to libclang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
a60ed47da13393796d8552b9fdca12abbb3eea42 |
|
16-Nov-2010 |
Ted Kremenek <kremenek@apple.com> |
Change CXTranslationUnit to not directly cast to an ASTUnit*, but to wrap both an ASTUnit and a "string pool" that will be used for fast USR generation. This requires a bunch of mechanical changes, as there was a ton of code that assumed that CXTranslationUnit and ASTUnit* were the same. Along with this change, introduce CXStringBuf, which provides an llvm::SmallVector<char> backing for repeatedly generating CXStrings without a huge amount of malloc() traffic. This requires making some changes to the representation of CXString by renaming a few fields (but keeping the size of the object the same). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119337 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
ed122735639d83c10f18c28c7fd117bfcd0f62cb |
|
16-Nov-2010 |
Ted Kremenek <kremenek@apple.com> |
Move CXString creation/management routines into their own .cpp file and make the interpretation of its flags private. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
7cd7d1ad33fdf49eef83942e8855fe20d95aa1b9 |
|
16-Nov-2010 |
John McCall <rjmccall@apple.com> |
Add a new expression kind, OpaqueValueExpr, which is useful for certain internal type-checking procedures as well as for representing certain implicitly-generated operations. Uses to follow. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
007a7c9d8dcdb2e9cd94b6075108bfc4c90e6ccd |
|
02-Nov-2010 |
Ted Kremenek <kremenek@apple.com> |
Encapsulate within CXCursor the notion of whether a VarDecl* is the first Decl in a DeclGroup. We use this to recover some context that is currently not modeled directly in the AST. Currently VarDecl's cannot properly determine their source range because they have no context on whether or not they appear in a DeclGroup. For the meantime, this bandaid suffices in libclang since that is where the correct SourceRange is directly needed. Fixes <rdar://problem/8595749>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
ecdcb883cbc6bb4a2445dc6f02d58d9bdb54a0ed |
|
21-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Extend the preprocessing record and libclang with support for inclusion directives, keeping track of every #include, #import, etc. in the translation unit. We keep track of the source location and kind of the inclusion, how the file name was spelled, and the underlying file to which the inclusion resolved. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
8ac2d449820fd0df00fcbde5bf82165c1f49854d |
|
14-Oct-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Eliminate usage of ObjCSuperExpr used for 'super' as receiver of property or a setter/getter methods. //rdar: //8525788 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
1f60d9ea523fc321d811fe880ba9a1ec74fa8f9b |
|
14-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new kind of cursor into libclang, which covers a reference 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
2e156225a29407a50dd19041aa5750171ad44ea3 |
|
10-Sep-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Define and implement CXXNoexceptExpr. Create it in Sema. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
36897b05ca2886e287f01802614bc10cbadcec22 |
|
10-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Add libclang support for label statements, gotos, and taking the address of a label (GNU extension). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
a67e03fdf1ae8a1f92463a307d0b6281f1161f40 |
|
09-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach libclang to walk the base and member initializers of a constructor, in source order. Also introduces a new reference kind for class members, which is used here (for member initializers) and will also be used for designated initializers and offsetof. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113545 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
9be88403e965cc49af76c9d33d818781d44b333e |
|
09-Sep-2010 |
Francois Pichet <pichet2000@gmail.com> |
Fix warnings caused by new CXXUuidofExprClass enumerator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113444 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
e8d7bebc0dd037516dd695ee1ac2eb0923753b46 |
|
04-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Synchronize code-completion cursor kinds with indexing cursor kinds. How shameful that this code was duplicated! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
e2ca6d4a2f41876930fbd304caa706452d2569d8 |
|
02-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Eliminate CXXBindReferenceExpr, which was used in a ton of well-intentioned but completely unused code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
7e24256c95afb64b4d5abf201a0f9f0527cb4cf3 |
|
01-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement libclang support for using declarations. Clang actually uses three different kinds of AST nodes to represent using declarations: UsingDecl, UnresolvedUsingValueDecl, and UnresolvedUsingTypenameDecl. These three are collapsed into a single cursor kind for using declarations, since libclang clients don't need the distinction. Several related changes here: - Cursor visitation of the three AST nodes for using declarations - Proper source-range computation for these AST nodes - Using declarations have no USRs, since they don't actually declare any entities. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112730 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
0a35bceb7768fc0be62cb644a4e31d8bfd9fb44a |
|
01-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement libclang support for using directives (cursor + visitation + suppressing USRs). Also, fix up the source location information for using directives so that the declaration location refers to the namespace name. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112693 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
6931900f43cea558c6974075256c07728dbfecc6 |
|
01-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Add libclang support for namespace aliases (visitation + USRs) along with a new cursor kind for a reference to a namespace. There's still some oddities in the source location information for NamespaceAliasDecl that I'll address with a separate commit, so the source locations displayed in the load-namespaces.cpp test will change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
0b36e614aa19df72885d5e0de996f7fbb9874ec3 |
|
31-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Extend libclang with a new cursor kind that indicates a reference to a template. Such cursors occur, for example, in template specialization types such as vector<int>. Note that we do not handle the super-interesting case where the template name is unresolved, e.g., within a template. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
74dbe640021d96a8dbb85c592471c04449ade81c |
|
31-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Add libclang support for class template partial specializations, including a cursor kind, visitation, and USRs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
39d6f07b056c31e1e6b5946165ed4b23e7887f22 |
|
31-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Add a libclang cursor kind, visitation support and USR support for C++ class templates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112627 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
fe72e9ceeae6cc8669cd8bb722425300190638ea |
|
31-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement basic support for indexing function templates in libclang. This includes: - Cursor kind for function templates, with visitation logic - Cursor kinds for template parameters, with visitation logic - Visitation logic for template specialization types, qualified type locations - USR generation for function templates, template specialization types, template parameter types. Also happens to fix PR7804, which I tripped across while testing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112604 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
01829d3afafdfd355cbe93537bc408aeeed964c6 |
|
31-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
libclang indexing support for C++ constructors, destructors, and conversion functions. This introduces new cursor kinds for these three C++ entities, and reworks visitation of function declarations so that we get type-source information for the names. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
6cf750298d3621d8a10a6dd07fcee8e274b9d94d |
|
30-Aug-2010 |
Sean Hunt <scshunt@csclub.uwaterloo.ca> |
Revert my user-defined literal commits - r1124{58,60,67} pending some issues being sorted out. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
0016d519b831859526b79405cdae4c64c73731c8 |
|
29-Aug-2010 |
Sean Hunt <scshunt@csclub.uwaterloo.ca> |
Implement C++0x user-defined string literals. The extra data stored on user-defined literal Tokens is stored in extra allocated memory, which is managed by the PreprocessorLexer because there isn't a better place to put it that makes sure it gets deallocated, but only after it's used up. My testing has shown no significant slowdown as a result, but independent testing would be appreciated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
3064ef9e604d19a0cfd0d8e3ed3055bfd83f88fd |
|
27-Aug-2010 |
Ted Kremenek <kremenek@apple.com> |
Implement CXCursor support for walking C++ base specifiers. This includes adding the API hooks clang_isVirtualBase() and clang_getCXXAccessSpecifier() to query properties of the base specifier. Implements <rdar://problem/8274883>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112296 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
95f33555a6d51b6537a9ed3968c3d1c2e4991b51 |
|
26-Aug-2010 |
Ted Kremenek <kremenek@apple.com> |
Add libclang API hook "clang_getIBOutletCollectionType" to query the collection type for iboutletcollection attributes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112139 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
ed8abf18329df67b0abcbb3a10458bd8c1d2a595 |
|
08-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Reinstate the fix for PR7556. A silly use of isTrivial() was suppressing copies of objects with trivial copy constructors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
84745677f64863e025a6733cb29d0b94bc3a6ae2 |
|
08-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Revert r107828 and r107827, the fix for PR7556, which seems to be breaking bootstrap on Linux. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
016a4a90c8e75d59de731fa3aa98f0a55656e66c |
|
08-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Rename CXXZeroInitValueExpr to CXXScalarValueInitExpr, to reflect its newly-narrowed scope. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
387475d0c18aaeb022108de9d33b6c9fb7998843 |
|
17-Jun-2010 |
Sean Hunt <rideau3@gmail.com> |
Implement first TD-based usage of attributes. 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
/external/clang/tools/libclang/CXCursor.cpp
|
857e918a8a40deb128840308a318bf623d68295f |
|
19-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Add clang support for IBOutletCollection. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
465d41b92b2c862f3062c412a0538db65c6a2661 |
|
11-May-2010 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Merged Elaborated and QualifiedName types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
8f06e0e9fec3ca501e5fb129f413adbfc88e82f8 |
|
07-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Add CXCursor support for C++ namespaces. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|
f51f20fa34654da75d15a9e2a1a0cd2fc0d8603d |
|
30-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
Rename 'CIndex' to 'libclang', since it has basically become our stable public (C) API, and will likely grow further in this direction in the future. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/tools/libclang/CXCursor.cpp
|