33337ca4d89605025818daf83390ab4271d598d9 |
|
06-May-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r235153 Change-Id: Ia94bbcb6da7c75b6e7c2afedd1001094d62a7324
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
3ea9e33ea25e0c2b12db56418ba3f994eb662c04 |
|
08-Apr-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r233350 Change-Id: I12d4823f10bc9e445b8b86e7721b71f98d1df442
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
0e2c34f92f00628d48968dfea096d36381f494cb |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master clang for rebase to r230699. Change-Id: I6a546ab3d4ae37119eebb735e102cca4f80ab520
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
176edba5311f6eff0cad2631449885ddf4fbc9ea |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master Clang for rebase to r222490. Change-Id: Ic557ac55e97fbf6ee08771c7b7c3594777b0aefd
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
c568f1e98938584c0ef0b12ae5018ff7d90a4072 |
|
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/lib/Serialization/ASTWriterStmt.cpp
|
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
d195bc38fd424b0c928e3c354038a8ca6e2ccac3 |
|
01-Oct-2013 |
Alexey Bataev <a.bataev@hotmail.com> |
[OpenMP] Added parsing and semantic analysis for firstprivate clause git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191730 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
543c4ae954f2bce5ac58ed22080f23cbd94794d2 |
|
24-Sep-2013 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Bug fixes and improvements. 1. Fixed constructor of shared clause. 2. Some macros for clauses processing are replaced by private template methods. 3. Additional checks in sema analysis of OpenMP clauses. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
1245a54ca6e9c5b14196461dc3f84b24ea6594b1 |
|
07-Sep-2013 |
Enea Zaffanella <zaffanella@cs.unipr.it> |
Fix missing source location in CXXTemporaryObjectExpr nodes. For clarity, renamed (get/set)ParenRange as (get/set)ParenOrBraceRange in CXXConstructExpr nodes. Added testcase. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
0c018357b8bbb1f96bbf622a5807421e626b4228 |
|
06-Sep-2013 |
Alexey Bataev <a.bataev@hotmail.com> |
OpenMP: Data-sharing attributes analysis and clause 'shared' (fixed test threadprivate_messages.cpp) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190183 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
4367829b41e89d2f3dfae94a97af40ffa01c56c9 |
|
03-Sep-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert "OpenMP: Data-sharing attributes analysis and clause 'shared'" This reverts commit r189795. threadprivate_messages.cpp is faling on windows. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189811 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
8f1a2db8649eb151ee620273dcf34b700176430f |
|
03-Sep-2013 |
Alexey Bataev <a.bataev@hotmail.com> |
OpenMP: Data-sharing attributes analysis and clause 'shared' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
cdd4b78583120222b82148626119b3e80ae1d291 |
|
16-Aug-2013 |
Eli Friedman <eli.friedman@gmail.com> |
Properly track l-paren of a CXXFucntionalCastExpr. In addition to storing more useful information in the AST, this fixes a semantic check in template instantiation which checks whether the l-paren location is valid. Fixes PR16903. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
f68af647dda5cca00b49be27d24f62b0a7fff986 |
|
10-Aug-2013 |
James Dennett <jdennett@google.com> |
Expose LambdaIntroducer::DefaultLoc in the AST's LambdaExpr. Summary: Source-centric tools need access to the location of a C++11 lambda expression's capture-default ('&' or '=') when it's present. It's possible for them to find it by re-lexing and re-implementing rules that Clang's parser has already applied, but the cost of storing the SourceLocation and making it available to them is 32 bits per LambdaExpr (a small delta, proportionally), and the simplification in client code is significant. Reviewers: rsmith Reviewed By: rsmith CC: cfe-commits, klimek, revane Differential Revision: http://llvm-reviews.chandlerc.com/D1192 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
a5e660188a3c654cf0c88ed1093b28207e870b2b |
|
20-Jul-2013 |
Eli Friedman <eli.friedman@gmail.com> |
Make IgnoreParens() look through ChooseExprs. This is the same way GenericSelectionExpr works, and it's generally a more consistent approach. A large part of this patch is devoted to caching the value of the condition of a ChooseExpr; it's needed to avoid threading an ASTContext into IgnoreParens(). Fixes <rdar://problem/14438917>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
211c8ddb5b500ed84833751363d0cfe1115f4dd3 |
|
05-Jun-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Model temporary lifetime-extension explicitly in the AST. Use this model to handle temporaries which have been lifetime-extended to static storage duration within constant expressions. This correctly handles nested lifetime extension (through reference members of aggregates in aggregate initializers) but non-constant-expression emission hasn't yet been updated to do the same. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183283 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
9fd6b8f5a73788f288edd01fa99d434d1e6588ad |
|
04-May-2013 |
Wei Pan <wei.pan@intel.com> |
Implement template support for CapturedStmt - Sema tests added and CodeGen tests are pending Differential Revision: http://llvm-reviews.chandlerc.com/D728 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
dc5be4f54d6415cb88b2f8a7c5bc9011e332b9b8 |
|
03-May-2013 |
Ben Langmuir <ben.langmuir@intel.com> |
Serialization for captured statements Add serialization for captured statements and captured decls. Also add a const_capture_iterator to CapturedStmt. Test contributed by Wei Pan Differential Revision: http://llvm-reviews.chandlerc.com/D727 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181048 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
aeeacf725c9e0ddd64ea9764bd008e5b6873ce51 |
|
03-May-2013 |
John McCall <rjmccall@apple.com> |
Move parsing of identifiers in MS-style inline assembly into the actual parser and support arbitrary id-expressions. We're actually basically set up to do arbitrary expressions here if we wanted to. Assembly operands permit things like A::x to be written regardless of language mode, which forces us to embellish the evaluation context logic somewhat. The logic here under template instantiation is incorrect; we need to preserve the fact that an expression was unevaluated. Of course, template instantiation in general is fishy here because we have no way of delaying semantic analysis in the MC parser. It's all just fishy. I've also fixed the serialization of MS asm statements. This commit depends on an LLVM commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
0c70181854a95fca0e0d56dfa1203eb2216052ea |
|
02-Apr-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
Objective-C: Provide fixit hints when warning about 'isa' ivar being explicitely accessed when base is a user class object reference. // rdar://13503456 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
ec8deba768e7ba93ad9974763dc3902896924a3c |
|
28-Mar-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
Objective-C: Provide fixit suggestions when class object is accessed via accessing 'isa' ivar to use object_getClass/object_setClass apis. // rdar://13503456 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178282 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
f799ae1afb897151a84a7170951e367d8307ae04 |
|
22-Feb-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-C arg: provide fixit support when c++'s named cast need be replaced for bridge casting. // rdar://12788838 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
9ec55f24b8f848bb37a9971100cf2fca379d5572 |
|
22-Jan-2013 |
Tim Northover <Tim.Northover@arm.com> |
Switch to APFloat constructor taking fltSemantics. This change also makes the serialisation store the required semantics, fixing an issue where PPC128 was always assumed when re-reading a 128-bit value. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173139 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
81cc2f1ecd31d8e3bca2c936fb9538a9d9c39695 |
|
04-Jan-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Move the common source locations of CastStmt & DefaultStmt into their base class, SwitchCase. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
c83c2300e1946fea78ecd3c2e93d9c2dd2638a2b |
|
19-Dec-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR13470: Ensure that copy-list-initialization isntantiates as copy-list-initialization (and doesn't add an additional copy step): Fill in the ListInitialization bit when creating a CXXConstructExpr. Use it when instantiating initializers in order to correctly handle instantiation of copy-list-initialization. Teach TreeTransform that function arguments are initializations, and so need this special treatment too. Finally, remove some hacks which were working around SubstInitializer's shortcomings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
23700f083fb72f5c6792e253f203a43aba3cef86 |
|
08-Nov-2012 |
Abramo Bagnara <abramo.bagnara@bugseng.com> |
Allow to pass from syntactic form of InitListExpr to semantic form (just as viceversa). No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
530564196fe7e2e30fbc2b0edae45975447583e0 |
|
07-Nov-2012 |
David Blaikie <dblaikie@gmail.com> |
PR13552: Fix the end location of a CXXNewExpr. Spent longer than reasonable looking for a nice way to test this & decided to give up for now. Open to suggestions/requests. Richard Smith suggested adding something to ASTMatchers but it wasn't readily apparent how to test this with that. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
b1502bcd67fb593a95cbf73ec3814f4015666da0 |
|
18-Oct-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
DR1442: In a range-based for statement, namespace 'std' is not an associated namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166194 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
be9af1288881110e406b87914162eaa59f1e5918 |
|
02-Oct-2012 |
Lang Hames <lhames@gmail.com> |
Add FP_CONTRACT support for clang. Clang will now honor the FP_CONTRACT pragma and emit LLVM fmuladd intrinsics for expressions of the form A * B + C (when they occur in a single statement). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
568ba871bbac959029671b81f8e531edb7e0d7d6 |
|
04-Sep-2012 |
Joao Matos <ripzonetriton@gmail.com> |
Revert r163083 per chandlerc's request. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
5be92de217a1940d0e109abd0f401df4480c1a4b |
|
02-Sep-2012 |
Joao Matos <ripzonetriton@gmail.com> |
Implemented parsing and AST support for the MS __leave exception statement. Also a minor fix to __except printing in StmtPrinter.cpp. Thanks to Aaron Ballman for review. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163083 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
5c7f59445ae68109c7ffee731aca2ce32db587c7 |
|
28-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Rename getClobber to getClobberStringLiteral. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
cd518a0ebc7c0a6aa41d717c360462540ef80a76 |
|
25-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Update the AST Reader/Writer for MS-style inline asms. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
df4ee102aa909e2f40c294701bfeffac63e8d29b |
|
20-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Remove old cruft now that MS-style asms their own code path. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
4990890fc9428f98bef90ba349203a648c592778 |
|
09-Jul-2012 |
Alexander Kornienko <alexfh@google.com> |
Inline storage of attributes in AttributedStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
471c8b49982d1132f30b0b0da27fef94fd6e4f67 |
|
04-Jul-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Drop the ASTContext.h include from DeclFriend.h and DeclTemplate.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
7d24e289bea2accaaed79c6ca3e5cdd0c204ddc1 |
|
16-May-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang/AST] Index references of protocols in "@protocol(...)" syntax. To do that, keep track of the location of the protocol id in the ObjCProtocolExpr AST node. rdar://11190837 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
4548ca2912e5f2b78a20e50c58d8a1a9c5e9e67c |
|
01-May-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Store the source range of a CXXOperatorCallExpr in the Expr object instead of calculating it recursively. boost::assign::tuple_list_of uses the trick of chaining call operator expressions in order to declare a "list of tuples", e.g: std::vector<tuple> v = boost::assign::tuple_list_of(1, "foo")(2, "bar")(3, "qqq"); Due to CXXOperatorCallExpr calculating its source range recursively we would get significant slowdowns with a large number of chained call operator expressions and the potential for stack overflow. rdar://11350116 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
e1b2abc2ed3f2c98985b06b4ad01c977bd584020 |
|
11-Apr-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
AtomicExpr: make ASTStmtReader a friend and remove setters. Also fix saving of an uninitialized Stmt* in serialization of __atomic_init and add a test of atomics serialization. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154448 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
b085d898bdfe35097eba45f4072b0f6865f561dc |
|
30-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Add info to ObjCPropertyRefExpr to indicate whether the dot syntax property reference is going to message the setter, the getter, or both. Having this info on the ObjCPropertyRefExpr node makes it easier for AST clients (like libclang) to reason about the meaning of the property reference. [AST/Sema] -Use 2 bits (with a PointerIntPair) in ObjCPropertyRefExpr to record the above info -Have ObjCPropertyOpBuilder set the info appropriately. [libclang] -When there is an implicit property reference (property syntax using methods) have clang_getCursorReferenced return a cursor for the method. If the property reference is going to result in messaging both the getter and the setter choose to return a cursor for the setter because it is less obvious from source inspection that the setter is getting called. The general idea has the seal of approval by John. rdar://11151621 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
ebcb57a8d298862c65043e88b2429591ab3c58d3 |
|
06-Mar-2012 |
Ted Kremenek <kremenek@apple.com> |
Add clang support for new Objective-C literal syntax for NSDictionary, NSArray, NSNumber, and boolean literals. This includes both Sema and Codegen support. Included is also support for new Objective-C container subscripting. My apologies for the large patch. It was very difficult to break apart. The patch introduces changes to the driver as well to cause clang to link in additional runtime support when needed to support the new language features. Docs are forthcoming to document the implementation and behavior of these features. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
c52d9057241b7857c8400ab6cfee0a1c554e0982 |
|
29-Feb-2012 |
Daniel Dunbar <daniel@zuster.org> |
ASTWriter: Cache some DenseMaps we use repeatedly. - This reduces our total # of allocations building a PCH for Cocoa.h by almost a whopping 50%. - A SmallPtrMap would be cleaner, but since we don't have one yet... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
1b1a507098bac79bb1d48db09f52ba98b000df9a |
|
27-Feb-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Serialize InitListExpr's initializesStdInitializerList bit, so it's not left uninitialized. Found by valgrind. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
2aed8b88613863f3c439cdfb205bdf8b608fb205 |
|
16-Feb-2012 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Revert "Revert "Make CXXNewExpr contain only a single initialier, and not hold the used constructor itself."" This reintroduces commit r150682 with a fix for the Bullet benchmark crash. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
1548d14f4092a817f7d90ad3e7a65266dc85fbc5 |
|
16-Feb-2012 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Revert "Make CXXNewExpr contain only a single initialier, and not hold the used constructor itself." It leads to a compiler crash in the Bullet benchmark. This reverts commit r12014. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
5f688f4b15d02aa7ad159c46b1f78fe59d412f12 |
|
16-Feb-2012 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Make CXXNewExpr contain only a single initialier, and not hold the used constructor itself. Holding the constructor directly makes no sense when list-initialized arrays come into play. The constructor is now held in a CXXConstructExpr, if construction is what is done. The new design can also distinguish properly between list-initialization and direct-initialization, as well as implicit default-initialization constructors and explicit value-initialization constructors. Finally, doing it this way removes redundance from the AST because CXXNewExpr doesn't try to handle both the allocation and the initialization responsibilities. This breaks the static analysis of new expressions. I've filed PR12014 to track this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
9d36f5dc4121f0f931211ea2d0a74d299eb82b23 |
|
14-Feb-2012 |
Douglas Gregor <dgregor@apple.com> |
Implement AST (de-)serialization for lambda expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
e4b92761b43ced611c417ae478568610f1ad7b1e |
|
27-Jan-2012 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Added source location for the template keyword in AST template-id expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
746f5bcbfde5b25269169c63c66492311673b67d |
|
12-Jan-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Add IsImplicit field in ObjCMessageExpr that is true when the message was constructed, e.g. for a property access. This allows the selector identifier locations machinery for ObjCMessageExpr to function correctly, in that there are not real locations to handle/report for such a message. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
8bc27822fc867d43399d4474bccbb58b7b7c7ad7 |
|
03-Dec-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH] Make sure that the SourceExpr of a OpaqueValueExpr is always initialized when deserialized, fixing random crashes in libclang. Also simplifies how OpaqueValueExprs are [de]serialized. The reader/writer automatically retains pointer equality of sub-statements (when a statement node is referenced in multiple nodes), so no need to manually handle it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
64482c6ddba162c0c4df07ed4791fb08736d5a4c |
|
15-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH] When serializing an PseudoObjectExpr or AtomicExpr, the serialization code must be set otherwise it will crash with asserts on or it will be written as null pointer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
80ee6e878a169e6255d4686a91bb696151ff229f |
|
10-Nov-2011 |
John McCall <rjmccall@apple.com> |
There's no good reason to track temporaries in ExprWithCleanups, but it is sometimes useful to track blocks. Do so. Also optimize the storage of these expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
64f45a24b19eb89ff88f7c3ff0df9be8e861ac97 |
|
01-Nov-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Fix the representation of wide strings in the AST and IR so that it uses the native representation of integers for the elements. This fixes a bunch of nastiness involving treating wide strings as a series of bytes. Patch by Seth Cantrell. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143417 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
e6f0868a55aba2613e2d5dba3348aaf1064e6ddb |
|
22-Oct-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH] When serializing Stmts, keep track of when sub statements are referenced again and in such a case just write out a reference of a previously serialized Stmt, instead of serializing it all over again. This saves memory + space + [de]serializing time, and avoids blowing up memory with pathological cases. rdar://10293911 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
7cc58b4c927fca539d43eaa58e00dca95946eb7c |
|
05-Oct-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Added a flag to identify resolved overloaded function references. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
207180802c836fda8acbedb47a92f9d2bdca59c3 |
|
03-Oct-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Allow getting all source locations of selector identifiers in a ObjCMessageExpr. Instead of always storing all source locations for the selector identifiers we check whether all the identifiers are in a "standard" position; "standard" position is -Immediately before the arguments: [foo first:1 second:2] -With a space between the arguments: [foo first: 1 second: 2] -For nullary selectors, immediately before ']': [foo release] In such cases we infer the locations instead of storing them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
b219cfc4d75f0a03630b7c4509ef791b7e97b2c8 |
|
23-Sep-2011 |
David Blaikie <dblaikie@gmail.com> |
Switch assert(0/false) llvm_unreachable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
b0c3e0909bb04af0bfb82ad01ab6909649d68cca |
|
22-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Rename ExplicitTemplateArgumentList -> ASTTemplateArgumentListInfo, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
e2ca828119b8bff4a5c25c6db8ee4fec558451e7 |
|
01-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Don't try keeping a 'LeadingEmptyMacroLoc' in NullStmt. This fails in the face of buffering C++/ObjC method bodies. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
5cee1195584fa8672253139c86e922daeda69b9e |
|
27-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
Add support for C++0x unicode string and character literals, from Craig Topper! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
5f9e272e632e951b1efe824cd16acb4d96077930 |
|
23-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports them into the clang namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
7110fd6c32306b3feb97b9edb8064b1b68a54e6b |
|
15-Jul-2011 |
John McCall <rjmccall@apple.com> |
Add serialization support for SubstNonTypeTemplateParmExpr. Also add the missing serialization support for SEHTryStmt, SEHFinallyStmt, and SEHExceptStmt, and fix and finish the serialization support for AsTypeExpr. In addition, change the code so that it will no longer link if a Stmt subclass is missing serialization support. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135258 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
bca01b46850f867b2f4137f25c882022b58f8471 |
|
07-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
Properly implement the scope restriction on the NRVO for throw-expressions, such that we don't consider the NRVO when the non-volatile automatic object comes from outside the innermost try scope (C++0x [class.copymove]p13). In C++98/03, our ASTs were incorrect but it didn't matter because IR generation doesn't actually apply the NRVO here. In C++0x, however, we were moving from an object when in fact we should have copied from it. Fixes PR10142 / <rdar://problem/9714312>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
561f81243f665cf2001caadc45df505f826b72d6 |
|
01-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
Introduce the notion of instantiation dependence into Clang's AST. A type/expression/template argument/etc. is instantiation-dependent if it somehow involves a template parameter, even if it doesn't meet the requirements for the more common kinds of dependence (dependent type, type-dependent expression, value-dependent expression). When we see an instantiation-dependent type, we know we always need to perform substitution into that instantiation-dependent type. This keeps us from short-circuiting evaluation in places where we shouldn't, and lets us properly implement C++0x [temp.type]p2. In theory, this would also allow us to properly mangle instantiation-dependent-but-not-dependent decltype types per the Itanium C++ ABI, but we aren't quite there because we still mangle based on the canonical type in cases like, e.g., template<unsigned> struct A { }; template<typename T> void f(A<sizeof(sizeof(decltype(T() + T())))>) { } template void f<int>(A<sizeof(sizeof(int))>); and therefore get the wrong answer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
a72d8c4556fbdfca2c9e101722812861fcbdde12 |
|
03-Jun-2011 |
Douglas Gregor <dgregor@apple.com> |
Introduce additional abbreviations into the AST writer for DeclRefExprs, IntegerLiterals, and others, reducing Cocoa PCH size by ~1% and C++ header size by ~2.5%. From Jonathan Turner! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132528 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
3aa8140bde5b9bedf13e46ec0a668daa54814196 |
|
02-May-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Add an optional field attached to a DeclRefExpr which points back to the Decl actually found via name lookup & overload resolution when that Decl is different from the ValueDecl which is actually referenced by the expression. This can be used by AST consumers to correctly attribute references to the spelling location of a using declaration, and otherwise gain insight into the name resolution performed by Clang. The public interface to DRE is kept as narrow as possible: we provide a getFoundDecl() which always returns a NamedDecl, either the ValueDecl referenced or the new, more precise NamedDecl if present. This way AST clients can code against getFoundDecl without know when exactly the AST has a split representation. For an example of the data this provides consider: % cat x.cc namespace N1 { struct S {}; void f(const S&); } void test(N1::S s) { f(s); using N1::f; f(s); } % ./bin/clang -fsyntax-only -Xclang -ast-dump x.cc [...] void test(N1::S s) (CompoundStmt 0x5b02010 <x.cc:5:20, line:9:1> (CallExpr 0x5b01df0 <line:6:3, col:6> 'void' (ImplicitCastExpr 0x5b01dd8 <col:3> 'void (*)(const struct N1::S &)' <FunctionToPointerDecay> (DeclRefExpr 0x5b01d80 <col:3> 'void (const struct N1::S &)' lvalue Function 0x5b01a20 'f' 'void (const struct N1::S &)')) (ImplicitCastExpr 0x5b01e20 <col:5> 'const struct N1::S' lvalue <NoOp> (DeclRefExpr 0x5b01d58 <col:5> 'N1::S':'struct N1::S' lvalue ParmVar 0x5b01b60 's' 'N1::S':'struct N1::S'))) (DeclStmt 0x5b01ee0 <line:7:3, col:14> 0x5b01e40 "UsingN1::;") (CallExpr 0x5b01fc8 <line:8:3, col:6> 'void' (ImplicitCastExpr 0x5b01fb0 <col:3> 'void (*)(const struct N1::S &)' <FunctionToPointerDecay> (DeclRefExpr 0x5b01f80 <col:3> 'void (const struct N1::S &)' lvalue Function 0x5b01a20 'f' 'void (const struct N1::S &)' (UsingShadow 0x5b01ea0 'f'))) (ImplicitCastExpr 0x5b01ff8 <col:5> 'const struct N1::S' lvalue <NoOp> (DeclRefExpr 0x5b01f58 <col:5> 'N1::S':'struct N1::S' lvalue ParmVar 0x5b01b60 's' 'N1::S':'struct N1::S')))) Now we can tell that the second call is 'using' (no pun intended) the using declaration, and *which* using declaration it sees. Without this, we can mistake calls that go through using declarations for ADL calls, and have no way to attribute names looked up with using declarations to the appropriate UsingDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
b7d98d35ea723624345f06e5895ddce2e0388ef0 |
|
27-Apr-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
If a null statement was preceded by an empty macro keep its instantiation source location in NullStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
2ac0b7a2f10f64503b74f96a11993459805dd2f8 |
|
22-Apr-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
For double data[20000000] = { [19999999] = 1 }; Don't serialize the filler multiple times. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129983 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
4423ac0282acb8ba801eb05b38712438dc0c1e3e |
|
21-Apr-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
For double data[20000000] = {0}; we would blow out the memory by creating 20M Exprs to fill out the initializer. To fix this, if the initializer list initializes an array with more elements than there are initializers in the list, have InitListExpr store a single 'ArrayFiller' expression that specifies an expression to be used for value initialization of the rest of the elements. Fixes rdar://9275920. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
fc8f0e14ad142ed811e90fbd9a30e419e301c717 |
|
15-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
fix a bunch of comment typos found by codespell. Patch by Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
3e2193ce5feb2feb092e5ae615e85148e06e9fd2 |
|
14-Apr-2011 |
Anders Carlsson <andersca@mac.com> |
Add a flag to StringLiteral to keep track of whether the string is a pascal string or not. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
06dec892b5300b43263d25c5476b506c9d6cfbad |
|
12-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Renamed OffsetOfNode::getRange to getSourceRange for uniformity. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
b0ca137bf399d956a3424816c238bc2532250d17 |
|
06-Mar-2011 |
Anders Carlsson <andersca@mac.com> |
When serializing a DeclRefExpr, always store the number of explicit template arguments at the same offset, since it's needed when creating the empty DeclRefExpr when deserializing. Fixes a memory corruption issue that would lead to random bugs and crashes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127125 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
40d96a69c0e1e8c10f92d450c305a7aae696ca9c |
|
28-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Push nested-name-specifier location information into DeclRefExpr and MemberExpr, the last of the expressions with qualifiers! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
4c9be89bb615ec07eb3ed507c8fa9d0baa8a5ad7 |
|
28-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Push nested-name-specifier source location information into UnresolvedLookupExpr and UnresolvedMemberExpr. Also, improve the computation that checks whether the base of a member expression (either unresolved or dependent-scoped) is implicit. The previous check didn't cover all of the cases we use in our representation, which threw off source-location information for these expressions (which, in turn, caused some breakage in libclang's token annotation). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
7c3179cf463c3b3b8c21dbb955f933ba50b74f28 |
|
28-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Push nested-name-specifier source location information into CXXDependentScopeMemberExpr, and clean up instantiation of nested-name-specifiers with dependent template specialization types in the process. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
00cf3cc2718671aa48e8da264a523b0058a8591e |
|
25-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Push nested-name-specifier source location information into DependentScopeDeclRefExpr. Plus, give NestedNameSpecifierLoc == and != operators, since we're going to need 'em elsewhere. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126508 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
f3db29fff6a583ecda823cf909ab7737d8d30129 |
|
25-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Push nested-name-specifier source-location information into pseudo-destructor expressions. Also, clean up some template-instantiation and type-checking issues with pseudo-destructors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126498 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
ad8dcf4a9df0e24051dc31bf9e6f3cd138a34298 |
|
17-Feb-2011 |
Chris Lattner <sabre@nondot.org> |
Step #1/N of implementing support for __label__: split labels into LabelDecl and LabelStmt. There is a 1-1 correspondence between the two, but this simplifies a bunch of code by itself. This is because labels are the only place where we previously had references to random other statements, causing grief for AST serialization and other stuff. This does cause one regression (attr(unused) doesn't silence unused label warnings) which I'll address next. This does fix some minor bugs: 1. "The only valid attribute " diagnostic was capitalized. 2. Various diagnostics printed as ''labelname'' instead of 'labelname' 3. This reduces duplication of label checking between functions and blocks. Review appreciated, particularly for the cindex and template bits. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
6b5a61b6dc400027fd793dcadceeb9da944a37ea |
|
07-Feb-2011 |
John McCall <rjmccall@apple.com> |
A few more tweaks to the blocks AST representation: - BlockDeclRefExprs always store VarDecls - BDREs no longer store copy expressions - BlockDecls now store a list of captured variables, information about how they're captured, and a copy expression if necessary With that in hand, change IR generation to use the captures data in blocks instead of walking the block independently. Additionally, optimize block layout by emitting fields in descending alignment order, with a heuristic for filling in words when alignment of the end of the block header is insufficient for the most aligned field. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125005 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
def0354384d9c4431f7b58b664b59896d4623028 |
|
04-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement proper (de-)serialization for explicit template argument lists with zero template arguments. Fixes some seriously scary crashers in C++ PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124862 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
469a1eb996e1cb0be54f9b210f836afbddcbb2cc |
|
02-Feb-2011 |
John McCall <rjmccall@apple.com> |
An insomniac stab at making block declarations list the variables they close on, as well as more reliably limiting invalid references to locals from nested scopes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
b608b987718c6d841115464f79ab2d1820a63e17 |
|
28-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Give OpaqueValueExpr a source location, because its source location might be queried in places where we absolutely require a valid location (e.g., for template instantiation). Fixes some major brokenness in the use of __is_convertible_to. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
6ec278d1a354517e20f13a877481453ee7940c78 |
|
27-Jan-2011 |
John McCall <rjmccall@apple.com> |
Do a proper recursive lookup when deciding whether a class's usual deallocation function has a two-argument form. Store the result of this check in new[] and delete[] nodes. Fixes rdar://problem/8913519 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
67fd1251aad51bb80d050b7fa5e506fef0ec8e02 |
|
14-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Teach PackExpansionExpr to keep track of the number of pack expansions it will expand to, if known. Propagate this information throughout Sema. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123470 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
1d5d0b9df6d2a3df338bc3e63000536406e7666c |
|
12-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Add the location of the right parenthesis of a C++ named cast (static_cast, dynamic_cast, reinterpret_cast, or const_cast) to improve source-location information. Fixes PR8960. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123336 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
d0937224f383c7cc72c947119380f9713a070c73 |
|
13-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Variadic templates: extend Type, NestedNameSpecifier, TemplateName, and TemplateArgument with an operation that determines whether there are any unexpanded parameter packs within that construct. Use this information to diagnose the appearance of the names of parameter packs that have not been expanded (C++ [temp.variadic]p5). Since this property is checked often (every declaration, ever expression statement, etc.), we extend Type and Expr with a bit storing the result of this computation, rather than walking the AST each time to determine whether any unexpanded parameter packs occur. This commit is deficient in several ways, which will be remedied with future commits: - Expr has a bit to store the presence of an unexpanded parameter pack, but it is never set. - The error messages don't point out where the unexpanded parameter packs were named in the type/expression, but they should. - We don't check for unexpanded parameter packs in all of the places where we should. - Testing is sparse, pending the resolution of the above three issues. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121724 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
f40f0d5a382395e0301d7dcbeaa2b8e90b8973b1 |
|
10-Dec-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Keep the source location of the selector in ObjCMessageExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
44aa1f397855f130e88e62ffc1029f7f83bb5d2e |
|
20-Nov-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Revert r119838 "Don't warn for empty 'if' body if there is a macro that expands to nothing" and use a better and more general approach, where NullStmt has a flag to indicate whether it was preceded by an empty macro. Thanks to Abramo Bagnara for the hint! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119887 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
a25b6a4b43e8b9611f7506e5fe1b448833b10a46 |
|
19-Nov-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Don't warn for empty 'if' body if there is a macro that expands to nothing, e.g: if (condition) CALL(0); // empty macro but don't warn for empty body. Fixes rdar://8436021. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
f89e55ab1bfb3ea997f8b02997c611a02254eb2d |
|
18-Nov-2010 |
John McCall <rjmccall@apple.com> |
Calculate the value kind of an expression when it's created and store it on the expression node. Also store an "object kind", which distinguishes ordinary "addressed" l-values (like variable references and pointer dereferences) and bitfield, @property, and vector-component l-values. Currently we're not using these for much, but I aim to switch pretty much everything calculating l-valueness over to them. For now they shouldn't necessarily be trusted. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
e09a275444576deb2c8d9e2255554242f65d7c00 |
|
28-Oct-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Switch case IDs conflict between chained PCHs; since there is no need to be global, make them local to a decl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
428edafa9eb80e01dd40aab31d4166a787a741e1 |
|
25-Oct-2010 |
Chandler Carruth <chandlerc@gmail.com> |
Improve the tracking of source locations for parentheses in constructor calls. This adds them where missing, and traces them through PCH. We fix at least one bug in the extents found by the Index library, and make a lot of refactoring tools which care about the exact formulation of a constructor call easier to write. Also some minor cleanups to more consistently follow the friend pattern instead of the setter pattern when rebuilding a serialized AST. Patch originally by Samuel Benzaquen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
c44d91c446f6d59722da53dba9d686560e81b762 |
|
15-Oct-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Eradicate IsSuper field from ObjCImplicitSetterGetterRefExprClass AST node. (finishing off radar 8525788). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
4045107b7384fd68eed5e3e2f06fc2a47e7be0a6 |
|
15-Oct-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Read/write to/from PCH DeclarationNameLocs, DeclarationNameInfos and QualifierInfos (rdar://8513756). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
1a18600b85aaa691122983dd8dcf4225cfc9ef68 |
|
28-Sep-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Don't warn for an unused label if it has 'unused' attribute. Fixes rdar://8483139. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114954 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
355a9fe26a6dec89680ddf713dd5bc7a671b298a |
|
19-Sep-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Implement -Wunused-label. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
0dfd848fa4c9664852ba8c929a8bd3fce93ddca2 |
|
13-Sep-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Eagerly evaluate type traits in Sema instead of lazily in AST. They actually need Sema access to be correct, fixes coming up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
4076dacf1497fb95cb298b9d964fbdbdaf9bde6c |
|
13-Sep-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
When applying 'delete' on a pointer-to-array type match GCC and EDG behavior and treat it as 'delete[]'. Also offer a fix-it hint adding '[]'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
6b219d082434394c1ac401390ec1d1967727815a |
|
10-Sep-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Serialization support for CXXNoexceptExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113627 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
3d37c0ada0e46b87be0a10e8d52d990a97d3907a |
|
09-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Add proper type-source information to UnaryTypeTraitExpr, including libclang visitation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
559fb554602bedb57dbbf3cc14ac8a38264b4547 |
|
09-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
When building SwitchStmts in Sema, record whether all the enum values of a switch(enum) where covered by individual case statements. Flow-based analyses may wish to consult this information, and recording this in the AST allows us to obviate reconstructing this information later when we build the CFG. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
01b7c3028da5bbcb9f8e52ba67e4613070de0e60 |
|
08-Sep-2010 |
Francois Pichet <pichet2000@gmail.com> |
Microsoft's __uuidof operator implementation part 1. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
ab6677ec401cfd2c82b34e4cdfebd55a9dc25778 |
|
08-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Provide proper type-source location information for CXXTemporaryObjectExpr, CXXScalarValueInitExpr, and CXXUnresolvedConstructExpr, getting rid of a bunch of FIXMEs in the process. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
1bb2a93ab7b1499dda6f6b58865bd0dce1864228 |
|
07-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve source-location information for CXXNewExpr, by hanging on to the TypeSourceInfo for the allocated type. Fixes PR7501. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.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/lib/Serialization/ASTWriterStmt.cpp
|
f9b949fecf339a2c9bd97dd11a272c4878f85ce4 |
|
31-Aug-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
AST work to support [C++] [IRgen] for ?: with missing LHS This is also pr7726 and wip. No change in functionality at this time. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
5baba9d98364a3525d6afa15a04cdad82fd6dd30 |
|
25-Aug-2010 |
John McCall <rjmccall@apple.com> |
More incremental progress towards not including Expr.h in Sema.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
096832c5ed5b9106fa177ebc148489760c3bc496 |
|
20-Aug-2010 |
John McCall <rjmccall@apple.com> |
Regularize the API for accessing explicit template arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
8538e8d43a3a9bd439c987c0de37bcbf035dd391 |
|
19-Aug-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Rename pch namespace to serialization. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
7faa2ec03a7ef120ac165bb45b6c70a8b20c9f1c |
|
19-Aug-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Rename PCHWriter.h to ASTWriter.h git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|
4ee2ad04344446e610172a0e73949212923014df |
|
19-Aug-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Rename the ASTWriter implementation files git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ASTWriterStmt.cpp
|