0a598fd7e428b5eb28b67770a66f3976ac365e42 |
|
27-Jun-2013 |
Eli Friedman <eli.friedman@gmail.com> |
Delete dead code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
284b3cbfd1cd5b6585437fbb8b95fe136f273efb |
|
12-May-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
C++1y: support for 'switch' statements in constexpr functions. This is somewhat inefficient; we perform a linear scan of switch labels to find the one matching the condition, and then walk the body looking for that label. Both parts should be straightforward to optimize. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181671 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
3a2f91280a49f4747063f983dc6a3296bd9359d2 |
|
29-Apr-2013 |
Ben Langmuir <ben.langmuir@intel.com> |
Small CapturedStmt improvements Add a CapturedStmt.h similar to Lambda.h to reduce the typing required to get to the CapturedRegionKind enum. This also allows codegen to access this enum without including Sema/ScopeInfo.h. Also removes some duplicated code for capturing 'this' between CapturedStmt and Lambda. Differential Revision: http://llvm-reviews.chandlerc.com/D712 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
6afcf8875d4e447645cd7bf3733dd8e2eb8455dc |
|
16-Apr-2013 |
Tareq A. Siraj <tareq.a.sriaj@intel.com> |
Sema for Captured Statements Add CapturedDecl to be the DeclContext for CapturedStmt, and perform semantic analysis. Currently captures all variables by reference. TODO: templates Author: Ben Langmuir <ben.langmuir@intel.com> Differential Revision: http://llvm-reviews.chandlerc.com/D433 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
c4cca7b2408bdfd99ea0f63fec1421c1327593b2 |
|
23-Feb-2013 |
Enea Zaffanella <zaffanella@cs.unipr.it> |
Remove data member MSAsmStmt::AsmLoc, wrongly hiding AsmStmt::AsmLoc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
7ba443aa8cfb222737d3a964a19ad4fb1328c4b5 |
|
26-Jan-2013 |
Richard Trieu <rtrieu@google.com> |
Highlight various parts of the AST dump with color. Colors are controlled by -f(no-)color-diagnostics. In addition, dumpColor() function calls are added to force color printing. No structural changes to -ast-dump. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
d36aa359e2f45cd22c7366a015ad94de08044dbb |
|
29-Dec-2012 |
Nico Weber <nicolasweber@gmx.de> |
ArrayRefize a CompoundStmt constructor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
65d78312ce026092cb6e7b1d4d06f05e18d02aa0 |
|
25-Dec-2012 |
Erik Verbruggen <erikjv@me.com> |
Fix for PR12222. Changed getLocStart() and getLocEnd() to be required for Stmts, and make getSourceRange() optional. The default implementation for getSourceRange() is build the range by calling getLocStart() and getLocEnd(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171067 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
a93d0f280693b8418bc88cf7a8c93325f7fcf4c6 |
|
01-Dec-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Include pruning and general cleanup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
2fa67efeaf66a9332c30a026dc1c21bef6c33a6c |
|
01-Dec-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Pull the Attr iteration parts out of Attr.h, so including DeclBase.h doesn't pull in all the generated Attr code. Required to pull some functions out of line, but this shouldn't have a perf impact. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169092 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
95f6190acb664b345b1395abaea84ee451740c5b |
|
16-Nov-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
StmtDumper: remove incomplete support for limiting the maximum dump depth. There are better ways of limiting the amount of information if there is a need for that. Patch by Philip Craig. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168206 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
e54cba1ec0b0e498ee67d200289035797932e714 |
|
16-Oct-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Move some logic around to simplify the interface between the front-end and the AsmParser. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
b43d87b0646aa04951056c7e0d1ab9a58eb09f66 |
|
12-Oct-2012 |
Sean Silva <silvas@purdue.edu> |
Remove pointless classof()'s. Updates to llvm/Support/Casting.h have rendered these classof()'s irrelevant. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
89fb6d7eba51c7864ec544e07accd23b24057122 |
|
28-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Add constraints to MSAsmStmt. We don't currently compute the constraints, so in the interim we speculatively assume a 'r' constraint. This is expected to work for most cases on x86. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162784 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
aba59aafd47ded6d483894cd6ab7bff494eb7587 |
|
28-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Make the AsmStmt class non-virtual. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
c4fb221120f2c8b158082d0b2b9daa29d2f65d5b |
|
28-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Hoist more common code into the AsmStmt base class. Add stubs with FIXMEs for unimplemented features. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
33f0558f75f70061707d1388e305b8f92f4e55de |
|
28-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Add virtual function, getClobber, that returns a StringRef. More work towards unifying asm stmt codegen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
2fd559f041d49863a7396d9e330bc9dae95ac8c4 |
|
28-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Hoist getNumClobbers into base class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
29760b452876548f59804e8c02c3276bc7281d5d |
|
27-Aug-2012 |
Matt Beaumont-Gay <matthewbg@google.com> |
Appease -Wnon-virtual-dtor git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162700 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
12b95e523c193bac4bdde0b23f2a9777ca956145 |
|
27-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Add a few comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
19c0134d465a1d9a1edc45ebac51652d8636c68e |
|
27-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Hoist common Expr handling logic into AsmStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
da083b2ce8db27ce6e508cb77cb12c0fc8b7cad9 |
|
27-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Rename GenerateAsmString to generateAsmString to conform with coding standards. Also, add stub for MSAsmStmt class as part of unifying codegen logic for AsmStmts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
bbdfe24a19833e4deabc73e50a5c639fefb60a07 |
|
27-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Base class AsmStmt implements these. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162693 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
066ef86b435a5c567778c25fc201a2831049ad4b |
|
27-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Hoist common logic into the AsmStmt base class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
728581e7702cafe32cc9e1b5b61a15f5042ce189 |
|
27-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Add a new base class, AsmStmt, for the GCCAsmStmt and MSAsmStmt classes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
7d2c5ca9c3dad400f66aca58eebef321c04cf57e |
|
27-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
Update comment, per Jordan's suggestion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
8f7f3a65a5e81fbf5c9e184abd9250cc8e67b58c |
|
27-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
Update comment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
be3ace834ee7438915e73d2115365d57d03ceb99 |
|
24-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Refactor code. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
633abb0ea01d37ab9c8e4ce1ee9e48894a12dfca |
|
24-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Add the basic APIs for Exprs to the MSAsmStmt AST. Next we need generate the Input/Output expressions using Sema::ActOnIdExpression(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
2603fa6c0e0fff904317b525724170ba8ae5bfa8 |
|
23-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Add a few helper function to the MSAsmStmt class that are needed by CodeGen. In the long-term, much of the codegen logic will be shared between the GNU-style and MS-style inline assembly, but for now I'm replicating this logic to avoid regressions with the GNU-style. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
70517ca5c07c4b41ff8662b94ee22047b0299f8c |
|
23-Aug-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Fix a bunch of -Wdocumentation warnings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
99f074c34f76ca461cd22d20a3968383f727b735 |
|
21-Aug-2012 |
David Blaikie <dblaikie@gmail.com> |
Remove unused variable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
d1420c6fa788669e49f21e184927c7833881e399 |
|
16-Aug-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Store SourceManager pointer on PrintingPolicy in the case where we're dumping, and remove ASTContext reference (which was frequently bound to a dereferenced null pointer) from the recursive lump of printPretty functions. In so doing, fix (at least) one case where we intended to use the 'dump' mode, but that failed because a null ASTContext reference had been passed in. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
058ab170a5b8597f32c3f343a1e9de2cd7b05848 |
|
16-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Add inputs and outputs to AST. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
7bd092b054444e9800e8de1d8d71c408dbdc8ead |
|
15-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Add the left brace source location and improve the pretty printer. Patch by Enea Zaffanella <zaffanella@cs.unipr.it>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
1e059da457ba65062448f24975db386efa0d51f8 |
|
15-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Mark getClobber() const. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161912 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
92570bd1597f355d5673a94960323f81d99c4921 |
|
15-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Remove the last bits of LineEnds. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
33c72e1c0bbb477cf36dd7becd933b860c42ed8c |
|
10-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Avoid extra allocations by making this an array of StringRefs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
e790bc32ca3eb7cc396b45071d7987776e965ed7 |
|
10-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Fix a memory leak introduced in r161686. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
4399ea9d473365224d9e4db0cd94aab849eb59b7 |
|
10-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Add clobbers to AST representation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
cace2103efe3449c406bcdfd4874dfb1e94c811a |
|
09-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Use StringRef here, per Jordan's suggestion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
62f22b87801882646418bae85111e565f7a53ddb |
|
08-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Refactor the logic to generate the AsmString into Sema. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
3a32c9c565f970fd319b97a6056a4725cfa4f0f5 |
|
08-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
Add the IsSimple/IsVolatile parameters to the MSAsmStmt constructor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
79efe24e125553b7fd4a35ffb3b7a45c4f1e661a |
|
07-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Stmt destructors are never called, so allocate the AsmToks using the ASTContext BumpPtr. Also use the preferred llvm::ArrayRef interface. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
8f726de55412870ef70e788b852c6cc50873e15b |
|
06-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
[ms-inline asm] Pass Tokens to Sema and store them in the AST. No functional change intended. No test case as there's no real way to test at this time. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
fd8b43596478b779b6777cb3a595e69d7856c378 |
|
20-Jul-2012 |
Jordan Rose <jordan_rose@apple.com> |
Add a reverse iterator to DeclStmt, and use it when building a CFG. The CFG creates dummy DeclStmts with one Decl per statement, and it has to do so from last to first in order to build the graph correctly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160560 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
478851c3ed6bd784e7377dffd8e57b200c1b9ba9 |
|
04-Jul-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Drop the ASTContext.h include from Stmt.h and fix up transitive users. This required moving the ctors for IntegerLiteral and FloatingLiteral out of line which shouldn't change anything as they are usually called through Create methods that are already out of line. ASTContext::Deallocate has been a nop for a long time, drop it from ASTVector and make it independent from ASTContext.h Pass the StorageAllocator directly to AccessedEntity so it doesn't need to have a definition of ASTContext around. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
3a2d0fb726aca3096b5c1ea9be734417060f34d7 |
|
04-Jul-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Split out the "empty" case for compound statement into a separate ctor. Move the ASTContext-dependent version out of line. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
aa49a7d70e58dac2aeb40664ba16d2ea571b8c95 |
|
09-Mar-2012 |
Daniel Dunbar <daniel@zuster.org> |
[AST/etc] Mark {getSourceRange(),getStartLoc(),getEndLoc()} as LLVM_READONLY. - The theory here is that we have these functions sprinkled in all over the place. This should allow the optimizer to at least realize it can still do load CSE across these calls. - I blindly marked all instances as such, even though the optimizer can infer this attribute in some instances (some of the inline ones) as that was easier and also, when given the choice between thinking and not thinking, I prefer the latter. You might think this is mere frivolity, but actually this is good for a .7 - 1.1% speedup on 403.gcc/combine.c, JSC/Interpreter.cpp, OGF/NSBezierPath-OAExtensions.m. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
90e25a8b2cc5d006e4ced052bcdb40c8af999456 |
|
09-Mar-2012 |
Daniel Dunbar <daniel@zuster.org> |
[AST] Reimplement Stmt::getLoc{Start,End} to dispatch to subclass overloads. - getSourceRange() can be very expensive, we should try to avoid it if at all possible. In conjunction with the previous commit I measured a ~2% speedup on 403.gcc/combine.c and a 3% speedup on OmniGroupFrameworks/NSBezierPath-OAExtensions.m. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
02892a65b18875a04c7ed5eadb3a13be801ab477 |
|
05-Mar-2012 |
Daniel Dunbar <daniel@zuster.org> |
AST/stats: Don't effectively use an out-of-line function to return a static bool. Ugh. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
bb8a897f350f46475f36140480e82289f6baa020 |
|
26-Feb-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Move CharacterLiteral, FloatingLiteral and UnaryExprOrTypeTraitExpr flags over into Stmt. Apply the inheritance-padding trick to FloatingLiteral. Shrinks CharacterLiteral from 32 to 24 bytes and the other two from 40 to 32 bytes (x86_64). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
f775c7b0575446920d03366abd1f5b5188a7eade |
|
22-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Make sure Stmt::dump() is included in libclang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
32cf1f27ae8620e7b79bb4e81a067187c0aab7ae |
|
17-Feb-2012 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Basic code generation support for std::initializer_list. We now generate temporary arrays to back std::initializer_list objects initialized with braces. The initializer_list is then made to point at the array. We support both ptr+size and start+end forms, although the latter is untested. Array lifetime is correct for temporary std::initializer_lists (e.g. call arguments) and local variables. It is untested for new expressions and member initializers. Things left to do: Massively increase the amount of testing. I need to write tests for start+end init lists, temporary objects created as a side effect of initializing init list objects, new expressions, member initialization, creation of temporary objects (e.g. std::vector) for initializer lists, and probably more. Get lifetime "right" for member initializers and new expressions. Not that either are very useful. Implement list-initialization of array new expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150803 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
ba243b59a1074e0962f6abfa3bb9aa984eac1245 |
|
09-Nov-2011 |
David Blaikie <dblaikie@gmail.com> |
Fixing 80 col violations (& removing any trailing whitespace on files I was touching anyway) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
dfa64ba45922e1c28e36341bdf34785fea74659b |
|
15-Oct-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Add template instantiation support for AtomicExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
eb2d1f1c88836bd5382e5d7aa8f6b85148a88b27 |
|
23-Sep-2011 |
David Blaikie <dblaikie@gmail.com> |
Removing a bunch of dead returns/breaks after llvm_unreachables. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
a1364be341550d71dff27dd8de0c6872ba6c707e |
|
10-Sep-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Extend the Stmt AST to make it easier to look through label, default, and case statements. Use this to make the logic in the CFG builder more robust at finding the actual statements within a compound statement, even when there are many layers of labels obscuring it. Also extend the test cases for a large chunk of PR10063. Still more work to do here though. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
8ed557991fe8d51eb27e6c439030ec6ef93a2b8f |
|
24-Aug-2011 |
Ted Kremenek <kremenek@apple.com> |
Add 'const' version of CompoundStmt::children(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
8cc488fefb2fb04bc8d5398da29f0182f97934cf |
|
20-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
add raw_ostream and Twine to LLVM.h, eliminating a ton of llvm:: qualifications. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
686775deca8b8685eb90801495880e3abdd844c2 |
|
20-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
now that we have a centralized place to do so, add some using declarations for some common llvm types: stringref and smallvector. This cleans up the codebase quite a bit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
9594675cc1eb52a054de13c4a21e466643847480 |
|
20-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
introduce a centralized place to introduce and inject llvm types into the clang namespace. There are a number of LLVM types that are used pervasively and it doesn't make sense to keep qualifying them. Start with casting operators. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135574 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
7e5e5f4cc36fe50f46ad76dca7a266434c94f475 |
|
07-Jul-2011 |
John McCall <rjmccall@apple.com> |
In ARC, reclaim all return values of retainable type, not just those where we have an immediate need of a retained value. As an exception, don't do this when the call is made as the immediate operand of a __bridge retain. This is more in the way of a workaround than an actual guarantee, so it's acceptable to be brittle here. rdar://problem/9504800 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134605 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
b11382497a923b0d7009e85a1d8eb7bf93ec6d0d |
|
16-Jun-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Make the Stmt::Profile method const, and the StmtProfile visitor a ConstStmtVisitor. This also required adding some const iteration support for designated initializers and making some of the getters on the designators const. It also made the formatting of StmtProfile.cpp rather awkward. I'm happy to adjust any of the formatting if folks have suggestions. I've at least fitted it all within 80 columns. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
cb66cff8fdf641f57f85dedb515a5f3240e3a9bb |
|
01-May-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Move the state bits in DeclRefExpr out of the pointer union and into a bitfield in the base class. DREs weren't using any bits here past the normal Expr bits, so we have plenty of room. This makes the common case of getting a Decl out of a DRE no longer need to do any masking etc. Also, while here, clean up code to use the accessor methods rather than directly poking these bits, and provide a nice comment for DREs that includes the information previously attached to the bits going into the pointer union. No functionality changed here, but DREs should be a tad faster now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
654f6b2b53af2c950c62ef0161fa021648accbcb |
|
30-Apr-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Add a couple of assertions to make sure the bitfields can fit the value assigned to them. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130573 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
d40066b0fb883839a9100e5455e33190b9b8abac |
|
05-Apr-2011 |
Ted Kremenek <kremenek@apple.com> |
Fix PR 9626 (duplicated self-init warnings under -Wuninitialized) with numerous CFG and UninitializedValues analysis changes: 1) Change the CFG to include the DeclStmt for conditional variables, instead of using the condition itself as a faux DeclStmt. 2) Update ExprEngine (the static analyzer) to understand (1), so not to regress. 3) Update UninitializedValues.cpp to initialize all tracked variables to Uninitialized at the start of the function/method. 4) Only use the SelfReferenceChecker (SemaDecl.cpp) on global variables, leaving the dataflow analysis to handle other cases. The combination of (1) and (3) allows the dataflow-based -Wuninitialized to find self-init problems when the initializer contained control-flow. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
0a9beb52baa6c990d45d638a177d9456e650282a |
|
02-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Force CaseStmt to store its child statements in source-code order, which is important for libclang's token-annotation and where's-my-cursor functionality. Fixes <rdar://problem/9004439>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126887 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
702e5474f570d0b83db9f354619b8ac5bc8ed743 |
|
28-Feb-2011 |
Chris Lattner <sabre@nondot.org> |
add a const version of this accessor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
935f0f01c1ed3c2052b797ac035d57a85b78adc4 |
|
21-Feb-2011 |
Chris Lattner <sabre@nondot.org> |
add one more case of mismatched input/output constraints. When the mismatch is due to a larger input operand that is a constant, truncate it down to the size of the output. This allows us to accept some cases in the linux kernel and elsewhere. Pedantically speaking, we generate different code than GCC, though I can't imagine how it would matter: Clang: movb $-1, %al frob %al GCC: movl $255, %eax frob %al git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
cc324ad80ab940efca006b0064f7ca70a6181816 |
|
08-Feb-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
AST: support for pre-arg expressions on CallExpr subclasses git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
d967e31ee796efff24b84b704a063634f6b55627 |
|
19-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Refactor the dependence computation for DeclRefExpr so that we can reuse it for BlockDeclRefExpr. Do so, fixing the dependence calculate for BlockDeclRefExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
4ba2a17694148e16eaa8d3917f657ffcd3667be4 |
|
12-Jan-2011 |
Jay Foad <jay.foad@gmail.com> |
PR3558: mark "logically const" accessor methods in ASTContext as const, and mark the fields they use as mutable. This allows us to remove a few const_casts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
c7b5ed6da7410849b51ba9a9ea04d2cc7b720f48 |
|
17-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Swap the order of the condition and body of a do-while statement in the AST, so that we visit them in source order. Fixes <rdar://problem/8779113>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
bebbe0d9b7568ce43a464286bee49429489ef483 |
|
15-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Variadic templates: extend the Expr class with a bit that specifies whether the expression contains an unexpanded parameter pack, in the same vein as the changes to the Type hierarchy. Compute this bit within all of the Expr subclasses. This change required a bunch of reshuffling of dependency calculations, mainly to consolidate them inside the constructors and to fuse multiple loops that iterate over arguments to determine type dependence, value dependence, and (now) containment of unexpanded parameter packs. Again, testing is painfully sparse, because all of the diagnostics will change and it is more important to test the to-be-written visitor that collects unexpanded parameter packs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121831 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
6f18fca241bf060bccbea52e5e436e17562bc9b3 |
|
07-Dec-2010 |
John McCall <rjmccall@apple.com> |
Kill FullExpr, as it was not, in fact, used anywhere in the code base. I'm not opposed to the idea in concept, but there's no point in preserving abortive experiments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121083 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
2bb5d00fcf71a7b4d478d478be778fff0494aff6 |
|
13-Nov-2010 |
John McCall <rjmccall@apple.com> |
Introduce five new cast kinds for various conversions into and between complex types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
95c225de9fa3d79f70ef5008c0279580a7d9dcad |
|
28-Oct-2010 |
John McCall <rjmccall@apple.com> |
Implement an indirect-goto optimization for goto *&&lbl and respect this in the scope checker. With that done, turn an indirect goto into a protected scope into a hard error; otherwise IR generation has to start worrying about declarations not dominating their scopes, as exemplified in PR8473. If this really affects anyone, I can probably adjust this to only hard-error on possible indirect gotos into VLA scopes rather than arbitrary scopes. But we'll see how people cope with the aggressive change on the marginal feature. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
8e6285af719adc6f86d6faa235d22a08eb68ee3a |
|
26-Oct-2010 |
John McCall <rjmccall@apple.com> |
Optimize field space usage in CompoundStmt, LabelStmt, Expr, and CastExpr. There's probably still significant padding waste on x86-64 UNIXen, but the difference in 32-bit compiles should be significant. There are a lot of Expr nodes left that could lose a word this way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117359 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
3fa5cae9b3812cab9fab6c042c3329bb70a3d046 |
|
26-Oct-2010 |
John McCall <rjmccall@apple.com> |
No really, we don't have a retain/release system for statements/expressions anymore. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
e946fc833d8592aa2890bfd9839f1ad839b3d284 |
|
26-Oct-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch for mis-compile of statement expressions with non-trivial copy constructors. // rdar: //8540501. A test will be added to llvm nightly tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
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/include/clang/AST/Stmt.h
|
9668033ee4c25efd019e6c7e6dd96aa2e6364a46 |
|
09-Aug-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Revert the dump functions to send output to llvm::errs(), matching the LLVM convention; suggestion by Daniel. '-ast-print' / '-ast-dump' command line options still send output to llvm::outs(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
ff331c15729f7d4439d253c97f4d60f2a7ffd0c6 |
|
25-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Remove the vast majority of the Destroy methods from the AST library, since we aren't going to be calling them ever. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
db2fa8a7eb67b1e8f32a590b8e000e1259cff91a |
|
06-Jul-2010 |
Tom Care <tcare@apple.com> |
Added a path-sensitive idempotent operation checker (-analyzer-idempotent-operation). Finds idempotent and/or tautological operations in a path sensitive context, flagging operations that have no effect or a predictable effect. Example: { int a = 1; int b = 5; int c = b / a; // a is 1 on all paths } - New IdempotentOperationChecker class - Moved recursive Stmt functions in r107675 to IdempotentOperationChecker - Minor refactoring of SVal to allow checking for any integer - Added command line option for check - Added basic test cases git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
7d6228fc77baf405c6554bb47904fc197e33b488 |
|
06-Jul-2010 |
Tom Care <tcare@apple.com> |
Added several helper functions to Stmt to recursively check for different elements (macros, enum constants, etc). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
43dec6bbde2d0a16c35978983761c8b7030c8e18 |
|
22-Jun-2010 |
Douglas Gregor <dgregor@apple.com> |
Alter the internal representation of the condition variable in if/while/switch/for statements to ensure that walking the children of these statements actually works. Previously, we stored the condition variable as a VarDecl. However, StmtIterator isn't able to walk from a VarDecl to a set of statements, and would (in some circumstances) walk beyond the end of the list of statements, cause Bad Behavior. In this change, we've gone back to representing the condition variables as DeclStmts. While not as memory-efficient as VarDecls, it greatly simplifies iteration over the children. Fixes the remainder of <rdar://problem/8104754>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
9a55591af3e5506b95a9718e15380129fbfc5ebc |
|
30-May-2010 |
Sean Hunt <rideau3@gmail.com> |
Convert DeclNodes to use TableGen. The macros required for DeclNodes use have changed to match the use of StmtNodes. The FooFirst enumerator constants have been named firstFoo to match usage elsewhere. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105165 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
25a0fe2a99aaf2d1bf5bdfdae7ab11e2a5e7622f |
|
27-May-2010 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed missing initialization of member. Should we enable unused argument warning?. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
7381d5cfbd599fa2b9e215011ad7cbd449de231a |
|
18-May-2010 |
Sean Hunt <rideau3@gmail.com> |
Switch over the tablegen to use much prettier range technology Also rename ABSTRACT to ABSTRACT_STMT, in keeping with the other .def files git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
5077c3876beeaed32280af88244e8050078619a8 |
|
15-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement semantic analysis and an AST representation for the named return value optimization. Sema marks return statements with their NRVO candidates (which may or may not end up using the NRVO), then, at the end of a function body, computes and marks those variables that can be allocated into the return slot. I've checked this locally with some debugging statements (not committed), but there won't be any tests until CodeGen comes along. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
4bfe1968410ea8ffe3b4f629addd7c4bcf484765 |
|
05-May-2010 |
Sean Hunt <rideau3@gmail.com> |
Reapplying patch to change StmtNodes.def to StmtNodes.td, this time with no whitespace. This will allow statements to be referred to in attribute TableGen files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
c302113179a1c2b1254224ea9b6f5316ceeb375c |
|
05-May-2010 |
Sean Hunt <rideau3@gmail.com> |
Revert r103072; I accidentally ended up deleting a bunch of trailing whitespace which makes this patch unreadable. Will recommit without the whitespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
9d90d62e1661720d9cf533290b4227c4fde780a4 |
|
05-May-2010 |
Sean Hunt <rideau3@gmail.com> |
Change StmtNodes.def to StmtNodes.td in anticipation of a rewrite of attributes git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
1705fe9ec0efb65f77a46e669e48302923204fe8 |
|
21-Apr-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Add more const to ConstExprIterator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
db2eb5abf4c082d1f0c5c45e39d8cd0300f81e38 |
|
31-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Remove the AST statistics tracking I added yesterday; it didn't pan out. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
f540305c5d834ad9412b41805b81a74249b7c5af |
|
30-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce new AST statistics that keep track of the number of isa (or dyn_cast) invocations for C++ and Objective-C types, declarations, expressions, and statements. The statistics will be printed when -print-stats is provided to Clang -cc1, with results such as: 277073 clang - Number of checks for C++ declaration nodes 13311 clang - Number of checks for C++ expression nodes 18 clang - Number of checks for C++ statement nodes 174182 clang - Number of checks for C++ type nodes 92300 clang - Number of checks for Objective-C declaration nodes 9800 clang - Number of checks for Objective-C expression nodes 7 clang - Number of checks for Objective-C statement nodes 65733 clang - Number of checks for Objective-C type nodes The statistics are only gathered when NDEBUG is not defined, since they introduce potentially-expensive operations into very low-level routines (isa). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99912 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
f4e689b8528770001f4792f1f4ebdfb09d859e3d |
|
17-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Reduce the default alignment for ASTContext and Stmt/Expr allocation from 16 bytes to 8 bytes, since we don't ever use those low 4 bits. Should save some storage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98754 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
09cc141c89a5e9f305c17d7a88298647df16cedd |
|
03-Feb-2010 |
John McCall <rjmccall@apple.com> |
Remove abstract expression kinds from the StmtClass enum. Update a few users appropriately. Call out a few missing cases in the expression mangler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95176 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
966146e89141804ff6492739a2a6e6592ca671c7 |
|
31-Jan-2010 |
Anders Carlsson <andersca@mac.com> |
Remove the SmallVectors from AsmStmt. Fixes PR6105. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94926 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
ff93dbd887e40588ed55d135037bb9287488b285 |
|
30-Jan-2010 |
Anders Carlsson <andersca@mac.com> |
Use IdentifierInfo * instead of std::string for the AsmStmt names. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
acb6bcb442936f3c14126fdd473307c17647cb84 |
|
30-Jan-2010 |
Anders Carlsson <andersca@mac.com> |
Even more AsmStmt cleanup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
a5a79f7d16b48d3be8bcc8c7650e31aefd92b657 |
|
30-Jan-2010 |
Anders Carlsson <andersca@mac.com> |
More asm cleanup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
fdba9c069023f686e2608affde02c82131ee1cf8 |
|
30-Jan-2010 |
Anders Carlsson <andersca@mac.com> |
Combine AsmStmt::setOutputsAndInputs and AsmStmt::setClobbers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
703e39486689d6660e75f6b6de0068db031a51c7 |
|
24-Jan-2010 |
Anders Carlsson <andersca@mac.com> |
Implement instantiation of AsmStmts (Crazy, I know) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
2d6ceab0ad062989ecb7b8666c85e58a2fcd95ce |
|
21-Jan-2010 |
Mike Stump <mrs@apple.com> |
Improve unreachable code warnings for with respect to dead functional casts in C++. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
b978a441c7d8bf59e7fede938e1f3b672573b443 |
|
21-Jan-2010 |
Mike Stump <mrs@apple.com> |
Add infrastructure to add base initializers and member initializers to the CFG. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
6ffe643322949dd776285a6df60d3578f3918be4 |
|
05-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
fix a bug mike noticed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
3b11fd3b52e7b88233c602407c151d07cb093e75 |
|
04-Jan-2010 |
Mike Stump <mrs@apple.com> |
Remember if the AsmStmt came from Microsoft-style inline assembly code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92526 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
6281213d87e71b76f64c4ca62fbe7a97f18ae0a0 |
|
24-Dec-2009 |
Ted Kremenek <kremenek@apple.com> |
Fix bug I just introduced in ForStmt::child_end() where we could iterate off into garbage values. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
f0d975f25b1d71612fcbd58ce8abbbc4532c6bb5 |
|
24-Dec-2009 |
Ted Kremenek <kremenek@apple.com> |
Coelesce 'DoDestroy()' methods in Stmt.cpp, and modify the child_iterator returned by ForStmt to include the initializer of the condition variable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
7d02b8c3be58676a03046eef9d056063e55ada3e |
|
24-Dec-2009 |
Ted Kremenek <kremenek@apple.com> |
Modify WhileStmt::child_begin()/child_end() to include the initializer for the condition variable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
35628d1f17c817f8c240208db7ba490e3109981b |
|
24-Dec-2009 |
Ted Kremenek <kremenek@apple.com> |
Add StmtIterator support for iterating over both the condition variable initializer and the other expressions in an IfStmt. This change required adding a 'DoDestroy()' method for IfStmt that did not include destroying the initializer (since that is owned by the VarDecl). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
e7809d49413febf078d0503753987fe9f6061a68 |
|
23-Dec-2009 |
Ted Kremenek <kremenek@apple.com> |
Add 'DeclStmt::DoDestroy()' which doesn't actually recurse over its child expressions (via StmtIterator), as those expressions are owned by the Decls and Types (which are destroyed elsewhere). This fixes a crasher reported in <rdar://problem/7487294>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
5ee56e95c3905d2e7bc403631b03865cdbdd8a42 |
|
16-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Check in a rudimentary FullExpr class that isn't used anywhere yet. Rename Action::FullExpr to Action::MakeFullExpr to avoid name clashes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
129e2df52ed7e0434b3f1cf1867fd6a5cb083ff6 |
|
30-Nov-2009 |
John McCall <rjmccall@apple.com> |
Eliminate the use of OverloadedFunctionDecl in member expressions. Create a new UnresolvedMemberExpr for these lookups. Assorted hackery around qualified member expressions; this will all go away when we implement the correct (i.e. extremely delayed) implicit-member semantics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90161 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
2024f4d4b0d57616f79ea742fa782d633d414462 |
|
29-Nov-2009 |
Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com> |
Streamline Stmt::CollectingStats() and Decl::CollectingStats(). No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
99e9b4d172f6877e6ba5ebe75bb8238721f5e01c |
|
25-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Eliminate CXXConditionDeclExpr with extreme prejudice. All statements that involve conditions can now hold on to a separate condition declaration (a VarDecl), and will use a DeclRefExpr referring to that VarDecl for the condition expression. ForStmts now have such a VarDecl (I'd missed those in previous commits). Also, since this change reworks the Action interface for if/while/switch/for, use FullExprArg for the full expressions in those expressions, to ensure that we're emitting Note that we are (still) not generating the right cleanups for condition variables in for statements. That will be a follow-on commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
5656e14d91405417182171a705ed3e3d2d6d7aa3 |
|
24-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Clean up the AST for while loops and fix several problems with cleanups for while loops: 1) Make sure that we destroy the condition variable of a while statement each time through the loop for, e.g., while (shared_ptr<WorkInt> p = getWorkItem()) { // ... } 2) Make sure that we always enter a new cleanup scope for the body of the while loop, even when there is no compound expression, e.g., while (blah) RAIIObject raii(blah+1); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
d3d5301c44138b92bf01286183f5bf310cdd37cf |
|
24-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Explicitly store the condition variable within switch statements, and make sure that this variable is destroyed when we exit the switch statement. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
8cfe5a784133d90bf329fd20801824a6f71bb8ca |
|
24-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Explicitly track the condition variable within an "if" statement, rather than burying it in a CXXConditionDeclExpr (that occassionally hides behind implicit conversions). Similar changes for switch, while, and do-while will follow, then the removal of CXXConditionDeclExpr. This commit is the canary. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
b2f81cf7f8445e0c65c0428f4fbb0442566916b8 |
|
02-Oct-2009 |
Douglas Gregor <dgregor@apple.com> |
Make sure to free the explicit template arguments provided for an explicit instantiation. Also, tighten up reference-count checking to help catch these issues earlier. Fixes PR5069. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
1eb4433ac451dc16f4133a88af2d002ac26c58ef |
|
09-Sep-2009 |
Mike Stump <mrs@apple.com> |
Remove tabs, and whitespace cleanups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
f5afb5e1fa1877a4adf3328e5be31b2f959d82eb |
|
27-Aug-2009 |
Gabor Greif <ggreif@gmail.com> |
iterator.h is no more. Be standards compliant. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
cf5c19b9b7145e7fc092fa1309085deded25b0f1 |
|
25-Aug-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Changed condition of an assert. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
8b55ce79391dcce51c52f8aff923f4607e6cd977 |
|
25-Aug-2009 |
Douglas Gregor <dgregor@apple.com> |
Sanity checking for statement reference counts. Thanks for the suggestion, Fariborz git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
d497206844a894a0557e927adf29b34fe960dffd |
|
08-Aug-2009 |
Anders Carlsson <andersca@mac.com> |
Get rid of Stmt::Clone now that we can reference count statements instead. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
43d9d9243329b1b75d1a6efdad9f16d6fb386b8e |
|
08-Aug-2009 |
Douglas Gregor <dgregor@apple.com> |
Introduce reference counting for statements and expressions, using it to allow sharing of nodes. Simplifies some aspects of template instantiation, and fixes both PR3444 and <rdar://problem/6757457>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
42602bb40aefcc2751d4078ba88aacf4d965c9bd |
|
07-Aug-2009 |
Douglas Gregor <dgregor@apple.com> |
Separate Stmt::Destroy into the entrypoint for destroying a statement or expression (Destroy) from the virtual function used to actually destroy a given expression (DoDestroy). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
41ef0c3472a3d09c29bc1792f3d26842f2b8a695 |
|
28-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Add a Profile function for statements so that we can (eventually) determine when statements and expressions are equivalent. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
e4f2142d00fa5fdb580c4e2413da91882d955381 |
|
30-Jun-2009 |
Chris Lattner <sabre@nondot.org> |
Key decisions about 'bool' vs '_Bool' to be based on a new flag in langoptions. This is simple enough, but then I thought it would be nice to make PrintingPolicy get a LangOptions so that various things can key off "bool" and "C++" independently. This spiraled out of control. There are many fixme's, but I think things are slightly better than they were before. One thing that can be improved: CFG should probably have an ASTContext pointer in it, which would simplify its clients. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
989135901c750af61ef012b6b0a0368be415bc46 |
|
13-Jun-2009 |
Chris Lattner <sabre@nondot.org> |
add the location of the ')' in a do/while statement to DoStmt. This fixes a source range problem reported by Olaf Krzikalla. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
48d14a222276fad5279e994d1a062f36ae6fcbce |
|
30-May-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Add a Stmt::printPretty overload which takes an ASTContext; start transitioning callers over to pass one in. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
d249e1d1f1498b81314459ceda19d6ff25c278ad |
|
29-May-2009 |
Douglas Gregor <dgregor@apple.com> |
Create a new PrintingPolicy class, which we pass down through the AST printing logic to help customize the output. For now, we use this rather than a special flag to suppress the "struct" when printing "struct X" and to print the Boolean type as "bool" in C++ but "_Bool" in C. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
15dffd863b4d8f6f7b04b5c80566ea3531a14f41 |
|
23-May-2009 |
Ted Kremenek <kremenek@apple.com> |
Use 'Exprs.data()' instead of 'Exprs.empty() ? NULL : ...' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
d59a5bd0ab7821a643c540df8c84c70fef76a1c2 |
|
23-May-2009 |
Ted Kremenek <kremenek@apple.com> |
Modify begin()/end() for AsmStmt iterators to handle the case when Exprs.empty() is true. Because of recent changes to llvm::SmallVector, using these iterators when Exprs was empty would cause an assertion failure. This fixes: PR 4245. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
5f1b9e689fa5c101512aef99225f2afea1673449 |
|
16-May-2009 |
Douglas Gregor <dgregor@apple.com> |
Template instantiation for IndirectGotoStmt. Now my life is complete. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71917 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
dbb26db1d426fb6caaaf1b4fa47b46d1947c12c9 |
|
16-May-2009 |
Douglas Gregor <dgregor@apple.com> |
Template instantiation for switch statements git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71916 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
861ce3178c70cfb0fa50baf685e1ad363538eaa9 |
|
16-May-2009 |
Douglas Gregor <dgregor@apple.com> |
Template instantiation for break and continue statements. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
5831c6a1efc47e6a19d82fe3dd25b5b8fef6979d |
|
16-May-2009 |
Douglas Gregor <dgregor@apple.com> |
Template instantiation for "for" loops git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71901 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
9f3ca2a7747bd47f14d7693f333103fac29a24d2 |
|
15-May-2009 |
Douglas Gregor <dgregor@apple.com> |
Template instantiation for do-while statements. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
d06f6ca61062f85926eb9d409eb3d4f8afcf93c7 |
|
15-May-2009 |
Douglas Gregor <dgregor@apple.com> |
Template instantiation for "if" statements. Also: - Skip semantic analysis of the "if" condition if it is type-dependent. - Added the location of the "else" keyword into IfStmt, so that we can provide it for type-checking after template instantiation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
d19cd90b266181c4a8d186adfa20ccebe73336cc |
|
15-May-2009 |
Anders Carlsson <andersca@mac.com> |
Add NullStmt::Clone and use it git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
16f0049415ec596504891259e2a83e19871c0d52 |
|
26-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
split ObjC and C++ Statements out into their own headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
370187c8a3e96517c943329f2511737a04b85450 |
|
22-Apr-2009 |
Douglas Gregor <dgregor@apple.com> |
Remove the serialization code that predates precompiled headers. Future approaches to (de-)serializing ASTs will be based on the PCH infrastructure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
46c3c4ba78766ac0f1c5ec631b424773e21f5271 |
|
21-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
add support for goto checking and @synchronized blocks, rdar://6810106 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
ad56d684259f706b7c0ae5ad9c23adb4f2926817 |
|
19-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
Add location info for indirect goto. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
07e775d5a1d5262a9cfe1ff333af713535b8cbab |
|
18-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
reject invalid jumps among pieces of @try blocks. This seems to work reasonably well except for the problem that @catches are nested within each other in the AST, giving the ugly diagnostics in L8. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69477 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
8f4e18fce5ef11a4e1bcb9dd7adcd2e20a21ef0a |
|
18-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
add accessor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
cd7d5a9dc558178ed7a66032f888781b3c592e4f |
|
17-Apr-2009 |
Douglas Gregor <dgregor@apple.com> |
PCH support for inline assembly statements. This completes support for all of C (+ extensions). We can (again) build a PCH file for Carbon.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
7d5c2f241c74e5f8d9ec492e8f9f268e5e9ae41f |
|
17-Apr-2009 |
Douglas Gregor <dgregor@apple.com> |
PCH support for indirect gotos and address-of-label expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
1de05feeeafe5b215fe7617594a7076a5192a6e2 |
|
17-Apr-2009 |
Douglas Gregor <dgregor@apple.com> |
PCH support for labels and goto. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69364 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
84f2170062014d268951902164bed0d8bdea0e82 |
|
17-Apr-2009 |
Douglas Gregor <dgregor@apple.com> |
PCH support for declaration statements, and a test for PredefinedExpr git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
0de9d8857b715c2f45c987651f4ce06d73330d93 |
|
17-Apr-2009 |
Douglas Gregor <dgregor@apple.com> |
PCH support for return statements. Optimize PCH encoding for switch-case statements slightly, by making the switch-case numbering local to a particular statement. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
67d8249924ef38a5375ff9c92cd21c1854d6abab |
|
17-Apr-2009 |
Douglas Gregor <dgregor@apple.com> |
PCH support for do-while and for loops git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
d921cf976b4769af8d06d6763a2547dadf7940ab |
|
17-Apr-2009 |
Douglas Gregor <dgregor@apple.com> |
PCH support for while and continue statements git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
025452fa0eda63e150cfaeebe64f0a19c96b3a06 |
|
17-Apr-2009 |
Douglas Gregor <dgregor@apple.com> |
PCH support for the first batch of statements, including null, compound, case, default, if, switch, and break statements. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
0b7489194f9f89fac39d57211c1e7953ae50251f |
|
14-Apr-2009 |
Douglas Gregor <dgregor@apple.com> |
PCH support for a few very, very simple kinds of expressions. Hook up expression (de-)serialization for VLAs, variable initializers, enum constant initializers, and bitfield widths. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69075 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
c2ee10d79f70036af652a395ac1f8273f3d04e12 |
|
07-Apr-2009 |
Douglas Gregor <dgregor@apple.com> |
Move the internal DeclContext data structures into a separate header. Simplify the addition of a case statement to a switch. Fix -print-stats for attribute-qualified types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
fb523e16dd1f860ff02a3ae03e5e3e25327a5860 |
|
03-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
fix some warnings on VC++, patch by John Thompson! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68391 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
e66a8cf9117e5fb95a05ff76ec06615e63dd5ade |
|
28-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
some random cleanups git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
0632dd6fe068011af5710c0d6a745724021ff620 |
|
28-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
eliminate unneeded iterator wrappers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67927 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
7e24e82a70a2c681f4291a3397bcd1e1005f251a |
|
28-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
rename some methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
fe95deaf66e4fbd82d44b5f6afa8162fa69cb85c |
|
28-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
Cleanups for DeclGroup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
85759278332404e96d4bb89d0e976e46158cd026 |
|
11-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
fix PR3258 by rejecting invalid numeric operands. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
fb5058ef67c054296c88db18ab1b3717845cb71d |
|
11-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
add plumbing to report diagnostics back through sema for malformed asmstrings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
458cd9c8a79b25b87dcea43c9d97a4c59f194799 |
|
11-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
move the asm string analysis code out of codegen into common code where Sema can get to it. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66596 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
10ca96ae9aed6906c3302403ef1a146a8d4c6b74 |
|
10-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
move matching of named operands into AsmStmt class. At the same time handle + operands in operand counting, fixing asm.c:t7 to expand into $2 instead of $1. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66531 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
b327793860737d1c103a73aeda8057dd628a101d |
|
10-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
add some helper methods to AsmStmt and add some comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66521 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
91ee0140ecb60b5c1402edc9e577257636c4ca60 |
|
04-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
fix infinite recursion git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
3fb94a4918bd427fdb12df997dd87fd1017f0388 |
|
04-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
make CaseStmt::getSourceRange() iterative for deeply nested cases instead of recursive. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
24e1e707b4c362f18e371e2bbf054a8345b57bfa |
|
04-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
Change Parser::ParseCaseStatement to use an iterative approach to parsing multiple sequential case statements instead of doing it with recursion. This fixes a problem where we run out of stack space parsing 100K directly nested cases. There are a couple other problems that prevent this from being useful in practice (right now the example only parses correctly with -disable-free and doesn't work with -emit-llvm), but this is a start. I'm not including a testcase because it is large and uninteresting for regtesting. Sebastian, I would appreciate it if you could scrutinize the smart pointer gymnastics I do. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
7ba138abd329e591a8f6d5001f60dd7082f71b3b |
|
03-Mar-2009 |
Steve Naroff <snaroff@apple.com> |
Fix <rdar://problem/6640991> Exception handling executes wrong clause (Daniel, please verify). Also necessary to fix: <rdar://problem/6632061> [sema] non object types should not be allowed in @catch statements <rdar://problem/6252237> [sema] qualified id should be disallowed in @catch statements git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
93b2bdb866d49e3dab4623a822db281042e87382 |
|
01-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
ObjCAtCatchStmt's ParamStmt is always a DeclStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
d311f376c364e5a6c88b63b1d5c53f560ea5e650 |
|
17-Feb-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Remove some redundant Decl -> Decl castings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64804 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
026dc96ac6ece60da5e1b98e2a71bd0ff0939fd8 |
|
14-Feb-2009 |
Chris Lattner <sabre@nondot.org> |
Several related changes: 1) implement parser and sema support for reading and verifying attribute(warnunusedresult). 2) rename hasLocalSideEffect to isUnusedResultAWarning, inverting the sense of its result. 3) extend isUnusedResultAWarning to directly return the loc and range info that should be reported to the user. Make it substantially more precise in some cases than what was previously reported. 4) teach isUnusedResultAWarning about CallExpr to decls that are pure/const/warnunusedresult, fixing a fixme. 5) change warn_attribute_wrong_decl_type to not pass in english strings, instead, pass in integers and use %select. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
9653db7bd0e3665b955a0445859285f2e1e7dacd |
|
13-Feb-2009 |
Douglas Gregor <dgregor@apple.com> |
Remove DeclGroupOwningRef, since we intend for declarations to be owned by DeclContexts (always) rather than by statements. DeclContext currently goes out of its way to avoid destroying any Decls that might be owned by a DeclGroupOwningRef. However, in an error-recovery situation, a failure in a declaration statement can cause all of the decls in a DeclGroupOwningRef to be destroyed after they've already be added into the DeclContext. Hence, DeclContext is left with already-destroyed declarations, and bad things happen. This problem was causing failures that showed up as assertions on x86 Linux in test/Parser/objc-forcollection-neg-2.m. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64474 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
071e4da10b07ca5278a7ce9dcabd853e0d57e5a4 |
|
10-Feb-2009 |
Mike Stump <mrs@apple.com> |
Fixup -ast-print so that: We handle indentation of decls better. We Indent extern "C" { } stuff better. We print out structure contents more often. We handle pass indentation information into the statement printer, so that nested things come out more indented. We print out FieldDecls. We print out Vars. We print out namespaces. We indent functions better. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64232 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
e2dedf8f61b8f306f704781456b482eb61871e8e |
|
08-Feb-2009 |
Douglas Gregor <dgregor@apple.com> |
Add public placement-delete operators. These are automatically used if the allocation throws git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
8189cde56b4f6f938cd65f53c932fe1860d0204c |
|
07-Feb-2009 |
Ted Kremenek <kremenek@apple.com> |
Overhaul of Stmt allocation: - Made allocation of Stmt objects using vanilla new/delete a *compiler error* by making this new/delete "protected" within class Stmt. - Now the only way to allocate Stmt objects is by using the new operator that takes ASTContext& as an argument. This ensures that all Stmt nodes are allocated from the same (pool) allocator. - Naturally, these two changes required that *all* creation sites for AST nodes use new (ASTContext&). This is a large patch, but the majority of the changes are just this mechanical adjustment. - The above changes also mean that AST nodes can no longer be deallocated using 'delete'. Instead, one most do StmtObject->Destroy(ASTContext&) or do ASTContextObject.Deallocate(StmtObject) (the latter not running the 'Destroy' method). Along the way I also... - Made CompoundStmt allocate its array of Stmt* using the allocator in ASTContext (previously it used std::vector). There are a whole bunch of other Stmt classes that need to be similarly changed to ensure that all memory allocated for ASTs comes from the allocator in ASTContext. - Added a new smart pointer ExprOwningPtr to Sema.h. This replaces the uses of llvm::OwningPtr within Sema, as llvm::OwningPtr used 'delete' to free memory instead of a Stmt's 'Destroy' method. Big thanks to Doug Gregor for helping with the acrobatics of making 'new/delete' private and the new smart pointer ExprOwningPtr! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63997 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
4afa39deaa245592977136d367251ee2c173dd8d |
|
20-Jan-2009 |
Douglas Gregor <dgregor@apple.com> |
Remove ScopedDecl, collapsing all of its functionality into Decl, so that every declaration lives inside a DeclContext. Moved several things that don't have names but were ScopedDecls (and, therefore, NamedDecls) to inherit from Decl rather than NamedDecl, including ObjCImplementationDecl and LinkageSpecDecl. Now, we don't store empty DeclarationNames for these things, nor do we try to insert them into DeclContext's lookup structure. The serialization tests are temporarily disabled. We'll re-enable them once we've sorted out the remaining ownership/serialiazation issues between DeclContexts and TranslationUnion, DeclGroups, etc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
45b050e72d058131e6f169fe54888bb91a003fb5 |
|
18-Jan-2009 |
Anders Carlsson <andersca@mac.com> |
Change TargetInfo::validateInputConstraint to take begin/end name iterators instead of the number of outputs. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
8351da06ca3082dfd49dd8e3c1785a986920f57c |
|
22-Dec-2008 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Full AST support and better Sema support for C++ try-catch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
4b07b2968f87f3cd5a3d8c76145f1cbfd718d42d |
|
22-Dec-2008 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Partial AST and Sema support for C++ try-catch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61337 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
f2cad8633e46cce12fc3d77c0bd451ffd7264baf |
|
14-Nov-2008 |
Douglas Gregor <dgregor@apple.com> |
Don't require us to manually number the statements and expressions in StmtNodes.def. We don't need stable numbers yet, renumbering is a pain, and LAST_STMT had the wrong value anyway. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
ce2fc3a343ea6098a96d587071cee7299f11957a |
|
27-Oct-2008 |
Ted Kremenek <kremenek@apple.com> |
- Move ExprIterator to Stmt.h so that it can be used by classes defined in Stmt.h - Implement child_begin() and child_end() for AsmStmt. Previously these had stub implementations that did not iterate over the input/output operands of an inline assembly statement. - Use ExprIterator for performing iteration over input/output operands. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
8ffb159441e923322bef6b5dee1aaf24c738d75e |
|
08-Oct-2008 |
Ted Kremenek <kremenek@apple.com> |
Migrate DeclStmt over to using a DeclGroup instead of a pointer to a ScopedDecl*. This also removes the ugly hack needed in CFG.cpp for subclassing DeclStmt to create a DeclStmt with one Decl*. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
655137a6c19110620d82d5f03cdcaec3a48c059f |
|
07-Oct-2008 |
Ted Kremenek <kremenek@apple.com> |
Remove DeclStmt::getDecl(). Now clients of DeclStmt must explicitly reason about a DeclStmt referring to a collection of Decls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57217 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
65aa3b9fda7b2114f708014e3d42176abc0e39ab |
|
06-Oct-2008 |
Ted Kremenek <kremenek@apple.com> |
Add DeclStmt::hasSolitaryDecl() and DeclStmt::getSolitaryDecl() git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57204 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
8a0d2660b6890ed95d34f37d142c0c52ac490194 |
|
06-Oct-2008 |
Ted Kremenek <kremenek@apple.com> |
Add const_decl_iterator to DecStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
a95d3750441ac8ad03e36af8e6e74039c9a3109d |
|
13-Sep-2008 |
Ted Kremenek <kremenek@apple.com> |
Patch by Csaba Hruska! "Here is a patch what replaces std::ostream with llvm::raw_ostream. This patch covers the AST library, but ignores Analysis lib." git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56185 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
14f8b4ff660bcaa763974b8d0fae81857c594495 |
|
05-Aug-2008 |
Ted Kremenek <kremenek@apple.com> |
Added decl_iterator to DeclStmt to provide an abstract interface to iterate over the ScopedDecls of a DeclStmt. Updated a few clients of DeclStmt::getNextDeclarator() to use decl_iterator instead. Will update other clients after additional testing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
1060aff23f72135f8b50034a1e80f16725ebc56c |
|
17-Jun-2008 |
Ted Kremenek <kremenek@apple.com> |
Fix more strict-aliasing warnings. Fix indentation of class declarations in ExprCXX.h git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
525204a7ca5c3c0aac8166d8f27abb988a84c850 |
|
29-May-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Update to follow recent LLVM changes git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
8e355f296a3ba45b94de49dbb18ae6a6e67df04c |
|
21-May-2008 |
Ted Kremenek <kremenek@apple.com> |
When destroying DeclStmts, also destroy the associated Decl (reclaim its memory). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
27f8a28bee33bb0e857cfe1a61c281bbc234b338 |
|
20-May-2008 |
Ted Kremenek <kremenek@apple.com> |
Try to plug some memory leaks... 1) Sema::ParseAST now constructs a TranslationUnit object to own the top-level Decls, which releases the top-level Decls upon exiting ParseAST. 2) Bug fix: TranslationUnit::~TranslationUnit handles the case where a Decl is added more than once as a top-level Decl. 3) Decl::Destroy is now a virtual method, obviating the need for a special dispatch based on DeclKind. 3) FunctionDecl::Destroy now releases its Body using its Destroy method. 4) Added Stmt::Destroy and Stmt::DestroyChildren, which recursively delete the child ASTs of a Stmt and call their dstors. We may need to special case dstor/Destroy methods for particular Stmt subclasses that own other dynamically allocated objects besides AST nodes. 5) REGRESSION: We temporarily are not deallocating attributes; a FIXME is provided. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
9c1863ef36a74e8203f00289d19856ad956f48b9 |
|
20-May-2008 |
Ted Kremenek <kremenek@apple.com> |
Added Stmt::DestroyChildren, which will be used by the dstors of the subclasses of Stmt to recursively delete their child AST nodes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
e2563ca02a519c2ad6d64dfed87d6e86c5d3c072 |
|
07-Apr-2008 |
Sam Bishop <sam@bishop.dhs.org> |
Pass the ASTContext object around when deserializing Decl and Stmt objects, so they can be created using the same allocator as in the "from source code" case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
e0def7589a8afa8a6acef13476bb3f882c104b91 |
|
06-Apr-2008 |
Chris Lattner <sabre@nondot.org> |
fix a number of const qualification bugs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
ec2f7dccb1f30ae137f74e764e44c2332b0a2ec0 |
|
17-Mar-2008 |
Ted Kremenek <kremenek@apple.com> |
Added "inputs" and "outputs" iterator (expression) for AsmStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
81c018d9482e7cc2addadc6202dcf162a01faefd |
|
13-Mar-2008 |
Chris Lattner <sabre@nondot.org> |
improve DeclStmt to be able to store SourceRange info correctly. Set the start of DeclStmt range. Right now the end is meaningless though. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
78492dae00fb85e0da0f966df4745edafdafb66c |
|
12-Feb-2008 |
Ted Kremenek <kremenek@apple.com> |
Moved class declaration for ObjCForCollectionStmt to be co-located with the class declarations for the other ObjC***Stmt classes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
c8edf6bd5f76bf50411d037c83d36847edfa68f0 |
|
06-Feb-2008 |
Chris Lattner <sabre@nondot.org> |
explicitly document that return statement argument does not necessarily follow the result type of the function. Add testcase. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
dfab34a696d1dba8622248c31aaf605906cb6109 |
|
06-Feb-2008 |
Anders Carlsson <andersca@mac.com> |
Handle simple asm statements correctly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
be4b3332c2d17c03af6d015d9e8e2cc524806e6e |
|
01-Feb-2008 |
Steve Naroff <snaroff@apple.com> |
Minor API cleanup... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
ff981021554a4965943ca2d19019cea811614602 |
|
01-Feb-2008 |
Ted Kremenek <kremenek@apple.com> |
For ObjCAtCatchStmt, removed field 'NextAtCatchStmt' (which referenced the next @catch) and put the the next ObjcAtCatchStmt* as part of SubExprs. This fixes a bug with iterating over the children of ObjcAtCatch, where the next @catch was not properly being iterated over as a child. Altered serialization of ObjCAtCatchStmt to reflect this new layout of its subexpressions, and fixed an ownership issue with the next @catch not being serialized as an owned pointer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
bd144b7ac70cc96cb1ff822347c2bb9b330729ec |
|
30-Jan-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
Typo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
78a677bbb5fa115fa0995b5783adeeefad67167e |
|
30-Jan-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixed misc. issues raised by Chris L. on @synchronized implementation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
db6ed1786bf460e1143f67d14bf2d71ad9856f81 |
|
30-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
move some constructors out of line and fix indentation in ObjCAtThrowStmt::getSourceRange. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
a0f55792409289d1d343023fa8292cff6355e538 |
|
29-Jan-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
Rewriting of @synchronized. This has one FIXME in it. But this should allow @sychronized to be rewritten. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
fa3ee8e6776634caf064ba5928ca7699d317a280 |
|
29-Jan-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
AST for @synchronized. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
c385c90c68dfa376650e2facfbb444b2ec9bd110 |
|
29-Jan-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
Bunch of type defs, etc. for @synchronized. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
20ebf8f15df48f27ce2bf7c1b3ae87565235600f |
|
19-Jan-2008 |
Steve Naroff <snaroff@apple.com> |
Fix two bugs with an @throw that doesn't have a statement. - ObjCAtThrowStmt::getSourceRange() needs to check if it has a statement (and not go "boom":-) - RewriteTest::RewriteObjCThrowStmt() needs to generate refer to the current exception. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
20dabe8b8ff7ed6d2d0158fee43755a4bc7642c3 |
|
16-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
add accessors to switchstmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
7571228ec9b31de7733ae96352ee4eaa8afcf2b5 |
|
10-Jan-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
Allow messaging expression as foreach's collection expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
a526c5c67e5a0473c340903ee542ce570119665f |
|
07-Jan-2008 |
Ted Kremenek <kremenek@apple.com> |
Substituted all instances of the string "Objc" for "ObjC". This fixes some naming inconsistencies in the names of classes pertaining to Objective-C support in clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
335a2d4122e41343fe11a775889b8bec5b14be60 |
|
05-Jan-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
Minor changes as suggested by Chris L. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
0196cab54007ff072ec2642da8911c6b7e8d3fb5 |
|
02-Jan-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
New declarations/defs for Objc2's foreach-statement. This is work in progress. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45511 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
0bc735ffcfb223c0186419547abaa5c84482663e |
|
29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Don't attribute in file headers anymore. See llvmdev for the discussion of this change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
5bdd4e300b432246b9d261702828e9875414128b |
|
04-Dec-2007 |
Ted Kremenek <kremenek@apple.com> |
Implemented serialization for ObjcAtThrowStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
9c1efff14b0e001f73c875ed5b184fb3569d641d |
|
04-Dec-2007 |
Ted Kremenek <kremenek@apple.com> |
Implemented serialization of ObjcAtTryStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
04be5aae2dc17292e2007401599638f3c6ba30de |
|
04-Dec-2007 |
Ted Kremenek <kremenek@apple.com> |
Implemented serialization for ObjcAtFinallyStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
af526779b36f43f59e47cfc5b10bb0c48562f4a9 |
|
04-Dec-2007 |
Ted Kremenek <kremenek@apple.com> |
Implemented serialization for ObjcAtCatchStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
6e340496341a4704be0ede9c1ff4f8eacea7ee2c |
|
01-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Add #include, patch by Cédric Venet git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
d04c6e23f2e10eeb9936778d67f4a1c4a14cc4f6 |
|
27-Nov-2007 |
Anders Carlsson <andersca@mac.com> |
Add more semantic analysis for inline asm statements. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
39c47b56f45437bbc49c9568b7308a400234a730 |
|
24-Nov-2007 |
Anders Carlsson <andersca@mac.com> |
Keep track of whether the asm is volatile or not. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44297 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
b235fc2cf37621c7fc6511bb2b8788c95f9fb9fc |
|
22-Nov-2007 |
Anders Carlsson <andersca@mac.com> |
Store output and input operands as well as clobber information in the AsmStmt. Ted, could you please review the serialization/deserialization code? git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
6a0ef4b83c91a6d6d5acb4ed5577c4659fe022a3 |
|
20-Nov-2007 |
Anders Carlsson <andersca@mac.com> |
Store inline asm code in the AST. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
1f85acd5ff54345788b93111197088160fe9f06e |
|
13-Nov-2007 |
Ted Kremenek <kremenek@apple.com> |
Implemented serialization of AsmStmt (or rather what is currently implemented in AsmStmt). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
0f84c0059cec39fd1c73ac05bc2864dca664e7f4 |
|
13-Nov-2007 |
Ted Kremenek <kremenek@apple.com> |
Renamed all serialization "Materialize" methods to "Create" to conform with the new serialization API. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
ec0aa78745f7b3bc96c20fffd1115bf26aaa0ead |
|
12-Nov-2007 |
Ted Kremenek <kremenek@apple.com> |
In Stmt serialization, renamed directEmit to EmitImpl and directMaterialize to CreateImpl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
103fc81f12aa635aa0a573c94b1aceb496b4e587 |
|
08-Nov-2007 |
Ted Kremenek <kremenek@apple.com> |
Revised serialization of CaseStmt to emit all of the owned pointers (its subexpressions) all together in one block at the end. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43862 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
89079eac7d6e3091b74b477a4a5ff0cdaf35496c |
|
07-Nov-2007 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixed an array overflow bug. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43826 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
96f22423c52c22d263b4e5f7ee762122b607459e |
|
07-Nov-2007 |
Ted Kremenek <kremenek@apple.com> |
Implemented serialization of ContinueStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
225a2d946f73aed3b38f265fcb4e7d7d88136928 |
|
07-Nov-2007 |
Ted Kremenek <kremenek@apple.com> |
Implemented serialization of IndirectGotoStmt. Added "FIXME" regarding the lack of source location information for IndirectGotoStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43821 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
3f0767b74b16b37bcce60ff457609161a0665784 |
|
07-Nov-2007 |
Ted Kremenek <kremenek@apple.com> |
Implemented serialization of GotoStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
07ba046c7d7bbc1f42b86b3ed012eec8fc7849da |
|
07-Nov-2007 |
Ted Kremenek <kremenek@apple.com> |
Implemented serialization for ForStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
e3299ef345bb8a71901108bf83a824591eae6c1a |
|
07-Nov-2007 |
Ted Kremenek <kremenek@apple.com> |
Implemented serialization of DoStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
5572b94b76a78a35bac32d1ef04907c7a651adba |
|
07-Nov-2007 |
Ted Kremenek <kremenek@apple.com> |
Implemented serialization for WhileStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43815 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
4210f3dfd73ad3482f9cfa0a382e1fd78f22976d |
|
07-Nov-2007 |
Ted Kremenek <kremenek@apple.com> |
Implemented serialization of IfStmt. Fixed declarations of several "directEmit" methods of classes that subclass Stmt that were missing a "virtual" keyword. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43814 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
9eea2ca5f2cb5d77569274702b5b06273e426dc2 |
|
07-Nov-2007 |
Ted Kremenek <kremenek@apple.com> |
Implemented serialization of SwitchStmt, CaseStmt, BreakStmt, DefaultStmt, and ParenExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
7573098b83e780d1c5bea13b384b610d8f155676 |
|
07-Nov-2007 |
Steve Naroff <snaroff@apple.com> |
Rewrite ObjC @try/@catch/@finally. Some minor tweaks to the AST nodes... Still need to rewrite @throw (and do more testing)... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43803 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
39f8f159c488a900e5958d5aab3e467af9ec8a2b |
|
07-Nov-2007 |
Fariborz Jahanian <fjahanian@apple.com> |
AST for objective-c's @throw statement and its pretty-printing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43802 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
b15132fda52046ba65eafd6f4b448f7aa16b7e8d |
|
07-Nov-2007 |
Ted Kremenek <kremenek@apple.com> |
Implemented serialization of LabelStmts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
4927be6102784fc69c50234f7e2253283b3e99e4 |
|
07-Nov-2007 |
Ted Kremenek <kremenek@apple.com> |
Added serialization/deserialization of NullStmts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
0965f446e7685dc01fc0b5e718610530eed3cc63 |
|
07-Nov-2007 |
Ted Kremenek <kremenek@apple.com> |
Added serialization/deserialization of DeclStmts. Reordered stmt serialization method implementations to be in alphabetical order. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
2dc9ac73a8a34cabf261a81a1653d7379065ac61 |
|
07-Nov-2007 |
Ted Kremenek <kremenek@apple.com> |
Overhauled serialization of statements. We no longer use specialized SerializeTrait<> classes, but methods in Stmt (like other objects we are serializing). Full serialization of all statements is not yet complete. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
ccdbc5c6f14965d91a352d114c109a9d4d9552b8 |
|
06-Nov-2007 |
Steve Naroff <snaroff@apple.com> |
Fix a "basic" bug that resulted in a bogus SourceLocation. Off hand, I don't know why this change makes a difference (I thought the two constructor idioms were equivalent). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
8aab17e82aab6b3f266ef1884253226d2cb8b8d8 |
|
03-Nov-2007 |
Fariborz Jahanian <fjahanian@apple.com> |
Provide both const and non-const accessor methods for @try and @finally ASTs. My previous patch did the same for @catch AST. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43654 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
606efdfeb9eef70871eb62a26dfd115e209e899c |
|
03-Nov-2007 |
Fariborz Jahanian <fjahanian@apple.com> |
Provide const and none-const version of methods accessing various @catch nodes git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43653 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
7794cb85d394750db0631c02b7aa7837ae56764c |
|
02-Nov-2007 |
Fariborz Jahanian <fjahanian@apple.com> |
pretty-print @try/@catch/@finally from AST as the validation of AST. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
bd49a647afd9cc534fef13cadf652d4e9c396e2b |
|
02-Nov-2007 |
Fariborz Jahanian <fjahanian@apple.com> |
AST for @try statement. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
3b1191d7eaf2f4984564e01ab84b6713a9d80e70 |
|
02-Nov-2007 |
Fariborz Jahanian <fjahanian@apple.com> |
AST build for @catch clause (this is work in progress). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43628 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
b210bd0404f84b99259c9987d347a44d3c202238 |
|
01-Nov-2007 |
Fariborz Jahanian <fjahanian@apple.com> |
Bunch of class declarations for objective-c's @try-catch statement. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
2e7d352dbec06755105237afba183492d31d03cb |
|
31-Oct-2007 |
Ted Kremenek <kremenek@apple.com> |
Implemented serialization of Variable Array Types (VLAs). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
92866e2e90f6d93fb95e25a7ac4438e239d89ce6 |
|
29-Oct-2007 |
Ted Kremenek <kremenek@apple.com> |
Modified StmtIterator to support iteration over the size expressions of VariableTypeArray types that appear in DeclStmts. Removed operator-- from StmtIterator. operator-- added undesired complexity, and we have no consumers of it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
fe795956194141c91ae555985c9b930595bff43f |
|
29-Oct-2007 |
Chris Lattner <sabre@nondot.org> |
Implement *skeletal* support for representing GNU inline asm stmts in the AST, resolving a crash on a .i file in PR1750. We now generate 49 errors on the .i file in that bug. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
0a449eed1dd2439b4b9c0a6291084816eab390c1 |
|
25-Oct-2007 |
Ted Kremenek <kremenek@apple.com> |
changed #include of Serialization.h to SerializationFwd.h to reduce compilation time. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
cc326204dd97771c336b9aab3b9963ea30d69c29 |
|
25-Oct-2007 |
Ted Kremenek <kremenek@apple.com> |
Added constness to accessors in CompoundStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
54395d440dc82a5e51b945c6c2a7f4bc4bea0358 |
|
25-Oct-2007 |
Ted Kremenek <kremenek@apple.com> |
Added accessors to CompoundStmt to retrieve the source locations for the left and right bracket. This is useful for serialization. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
9caf8b1ca6beb254f420dada3c0e94d5ef027f58 |
|
18-Oct-2007 |
Ted Kremenek <kremenek@apple.com> |
Implemented 90% functionality of new child_iterator for Stmt objects that will (soon) allow iteration over the initializers in declarations. This new iterator mechanism is implemented by the classes StmtIterator and ConstStmtIterator. Patched a few files to use "operator++" instead of "operator+" on child_iterators. Friendship added in VarDecl to StmtIterator to allow returning a reference to the initializer within the VarDecl. We may not wish this as a permanent solution. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
311ff02fae0392bee6abe7723cdf5a69b2899a47 |
|
17-Oct-2007 |
Chris Lattner <sabre@nondot.org> |
Add a new Rewriter::getRangeSize method. Rename SourceRange::Begin()/End() to getBegin()/getEnd() for consistency with other code. Start building the rewriter towards handling @encode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
51b09f2c528c8460b5465c676173324e44176d62 |
|
05-Oct-2007 |
Devang Patel <dpatel@apple.com> |
switch statement code gen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
d48ade633d96b94cb435d73e2c935ea457152dec |
|
01-Oct-2007 |
Ted Kremenek <kremenek@apple.com> |
Removed "hasImplicitControlFlow" from class CFG, and moved it to class Stmt as a member function. This function is no longer needed within the CFG class, and logically belongs to the Stmt class as a predicate for a Stmt instance. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
764a7ce5217f9569e100a3445f47496ee82daf86 |
|
21-Sep-2007 |
Chris Lattner <sabre@nondot.org> |
Make case sorting deterministic by not depending on pointer values. Patch mostly by Gabor Greif for PR1682. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42203 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
d2a4a1af1088fca80e2dc76eb3369db0fbbfdefd |
|
19-Sep-2007 |
Ted Kremenek <kremenek@apple.com> |
Moved GraphTraits<Stmt*> to StmtGraphTraits.h. This allows consumers of Stmt.h not to have to pay the cost of parsing the GraphTraits templates if they don't need that functionality. Defined nodes_iterator for GraphTraits<Stmt*> to be based on llvm::df_iterator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42150 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
5e97d4b5ec7ce97e311d7aa4e8bd2b4fd9dbfa2e |
|
19-Sep-2007 |
Ted Kremenek <kremenek@apple.com> |
Added GraphTraits template specialization for Stmt* to treat ASTs like graphs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42146 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
8e74c93ddaa8268a999e1b25c723dc1984a434b4 |
|
13-Sep-2007 |
Steve Naroff <snaroff@apple.com> |
Phase 2 of making the Decl class more lightweight... Move Identifier/Loc instance variables (and associated getters/setters) down from Decl to ScopedDecl/FieldDecl. Objc AST's can now inherit from Decl without getting instance variables and types that are C specific. For now, I am keeping NextDeclarator, since I believe it may be useful to ObjC. If not, it can be moved later. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
61f62165220e75694fe333179c78815e2e48d71f |
|
06-Sep-2007 |
Ted Kremenek <kremenek@apple.com> |
Added LabelLoc to GotoStmt to record the source location of the label token in the actual GotoStmt. Fixed bug where GotoStmt::getSourceRange incorrectly used the target LabelStmt to compute its extent. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
9dcbfa450d751bd68fc4af8b75da381d4f6984b9 |
|
01-Sep-2007 |
Steve Naroff <snaroff@apple.com> |
Finish converting SwitchStmt AST to source ranges. Move DumpSourceRange() to DumpStmt(). Now -parse-ast-dump will display source range info for all stmts/exprs. One day we should implement the source range protocol for Decls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
507f2d5811bd7da1a4d9d2f4960f32177dfab9de |
|
01-Sep-2007 |
Steve Naroff <snaroff@apple.com> |
Convert more statments over to SourceRanges... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
b5a69586f1b8855ee4c1f0bb7a8f0ff4fe32ce09 |
|
01-Sep-2007 |
Steve Naroff <snaroff@apple.com> |
Move SourceRange protocol from Expr->Stmt. Converted many of the statements over. Still a hanful left... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
42a509f6a4f71bb805cc4abbb26722a34dffddde |
|
31-Aug-2007 |
Ted Kremenek <kremenek@apple.com> |
Added "PrinterHelper" interface (include/AST/PrinterHelper) that can be passed as an (optional) argument to StmtPrinter to customize printing of AST nodes. Used new PrinterHelper interface to enhance printing and visualization of CFGs. The CFGs now illustrate the semantic connectives between statements and terminators, wheras in the previous printing certain expressions would (visible) be printed multiple times to reflect which expressions used the results of other expressions. The end result is that the CFG is easier to read for flow of expression values (following principles similar to the LLVM IR). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41651 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
d97bb6c1384cb773ba5cdbd198008dec127cebad |
|
30-Aug-2007 |
Ted Kremenek <kremenek@apple.com> |
Fixed bug for CaseStmt where the child_begin/child_end methods were not including the expressions in the case statement itself (not the body of the case). This required moving SubStmt out of SwitchCase into CaseStmt and DefaultStmt respectively. getSubStmt() now is a virtual call for SwitchCase, but is a direct (static) call for CaseStmt and DefaultStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
e300c870f08d08badf2ebcb53ded49f304af37fc |
|
30-Aug-2007 |
Chris Lattner <sabre@nondot.org> |
Teach the stmtdumper to dump location/range info when a SourceMgr is available. For example, -parse-ast-dump now prints: static inline int __inline_isinff(float __x) (CompoundStmt 0x2409a20 (ReturnStmt 0x2409a10 (BinaryOperator 0x24099f0 'int' <///usr/include/architecture/i386/math.h:183:63, col:102> '==' (CallExpr 0x24098f0 'float' <col:63, col:82> (ImplicitCastExpr 0x24098e0 'float (*)(float)' <col:63> (DeclRefExpr 0x2409880 'float (float)' <col:63> Decl='__builtin_fabsf' 0x2409840)) (DeclRefExpr 0x24098a0 'float' <col:79> Decl='__x' 0x2409810)) (CallExpr 0x24099c0 'float' <col:87, col:102> (ImplicitCastExpr 0x2409870 'float (*)(void)' <col:87> (DeclRefExpr 0x2409980 'float (void)' <col:87> Decl='__builtin_inff' 0x2409940)))))) where it only prints filename/line# if it changes from the previous value. We really need loc info on stmts though, like we have on exprs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
0c727a35718556866a978f64ac549d9798735f08 |
|
30-Aug-2007 |
Chris Lattner <sabre@nondot.org> |
Allow a SourceManager to optionally be passed into Stmt::dump git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
af458c9f658335bdea482395ff4a25c75935e129 |
|
26-Aug-2007 |
Chris Lattner <sabre@nondot.org> |
fix a bug introduced by the recent childification of ForStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41417 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
8297777fbe19c4d39e8a70c55346474868055fa1 |
|
24-Aug-2007 |
Ted Kremenek <kremenek@apple.com> |
Added child_begin/child_end to all subclasses of Stmt in Stmt.h. All concrete subclasses of Stmt are now required to implement child_begin/child_end. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41374 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
77ed8e4edf6ed78c53fb20ec3210aff2a59c9d87 |
|
24-Aug-2007 |
Ted Kremenek <kremenek@apple.com> |
Began implementing "child iterator" interface for Stmts and Exprs. Each subclass of Stmt will implement child_begin() and child_end(), which will be used to iterate over all the children (subexpressions/substatements) of a Stmt object. This will provide for easy traversal over the AST, which is useful for a variety of purposes. None of the interfaces to subclasses of Stmt will be changed (other than adding the child_begin and child_end methods). The only caveat is that the implementation of subclasses of Stmt will require colocating all substatements (subexpressions) in an array. This is because we define child_iterator as Stmt**. All accessor methods to subexpressions will need to be altered to reflect this new implementation. This patch includes the typedefs for child_iterator, as well the implementation for child_begin/child_end for the primary expressions and some postfix expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
edcc752060be38bfa7e7b32691c0cc4d843622a8 |
|
23-Aug-2007 |
Ted Kremenek <kremenek@apple.com> |
Refactored "getSubStmt" and "SubStmt" from the CaseStmt and DefaultStmt class to their common parent class SwitchCase. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
4ce854736dd196e2304f554ebeac8b43c89cf9e2 |
|
21-Aug-2007 |
Ted Kremenek <kremenek@apple.com> |
Added reverse iterators for the body of CompountStmt. These are useful for CFG construction (among other potential uses). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
c5598cbc4c3f2fb515af7f142f78ff630bdb5c01 |
|
21-Aug-2007 |
Chris Lattner <sabre@nondot.org> |
Switch StmtVisitor from using dynamic to static dispatch. This makes it significantly faster and actually reduces the amount of code in the system. This also allows for future visitor changes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
6000dace22f110d8768476989313e9d981d690d0 |
|
09-Aug-2007 |
Chris Lattner <sabre@nondot.org> |
add a new AST dumper interface (E->dump()). This dumps out the AST in a structural, non-pretty, form useful for understanding the AST. It isn't quite done yet, but is already somewhat useful. For this example: int test(short X, long long Y) { return X < ((100)); } we get (with -parse-ast-dump): int test(short X, long long Y) (CompoundStmt 0x2905ce0 (ReturnStmt 0x2905cd0 (BinaryOperator 0x2905cb0 '<' (ImplicitCastExpr 0x2905ca0 (DeclRefExpr 0x2905c20 Decl='X' 0x2905bb0)) (ParenExpr 0x2905c80 (ParenExpr 0x2905c60 (IntegerLiteral 0x2905c40 100)))))) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40954 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
ab18c4c0ac1a46a38aa84c2c8ea485612e21a614 |
|
24-Jul-2007 |
Chris Lattner <sabre@nondot.org> |
implement ast building and trivial semantic analysis of stmt exprs. This implements test/Sema/stmt_exprs.c git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
c1fcb7762673be706b0a40477d5e93411e918f93 |
|
22-Jul-2007 |
Anders Carlsson <andersca@mac.com> |
Refactor switch analysis to make it possible to detect duplicate case values git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40388 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
6c36be5b383875b490684bcf439d6d427298c1af |
|
18-Jul-2007 |
Chris Lattner <sabre@nondot.org> |
Add initial switch stmt support, patch by Anders Carlsson! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|
5f016e2cb5d11daeb237544de1c5d59f20fe1a6e |
|
11-Jul-2007 |
Reid Spencer <rspencer@reidspencer.com> |
Stage two of getting CFE top correct. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/AST/Stmt.h
|