diff options
| author | Tareq A. Siraj <tareq.a.sriaj@intel.com> | 2013-04-16 18:53:08 +0000 |
|---|---|---|
| committer | Tareq A. Siraj <tareq.a.sriaj@intel.com> | 2013-04-16 18:53:08 +0000 |
| commit | 051303ce09291dfbed537fa33b0d8a4d92c82b75 (patch) | |
| tree | 009bdace0e61c4a9e4c25c9337551de59b007e3c /lib/Serialization | |
| parent | 85192c7fe187d5486e12dbc6960af28f16a558a0 (diff) | |
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
Diffstat (limited to 'lib/Serialization')
| -rw-r--r-- | lib/Serialization/ASTReaderStmt.cpp | 8 | ||||
| -rw-r--r-- | lib/Serialization/ASTWriterStmt.cpp | 7 |
2 files changed, 15 insertions, 0 deletions
diff --git a/lib/Serialization/ASTReaderStmt.cpp b/lib/Serialization/ASTReaderStmt.cpp index 567d50e71d..b18114fdcb 100644 --- a/lib/Serialization/ASTReaderStmt.cpp +++ b/lib/Serialization/ASTReaderStmt.cpp @@ -324,6 +324,10 @@ void ASTStmtReader::VisitMSAsmStmt(MSAsmStmt *S) { VisitStmt(S); } +void ASTStmtReader::VisitCapturedStmt(CapturedStmt *S) { + llvm_unreachable("not implemented yet"); +} + void ASTStmtReader::VisitExpr(Expr *E) { VisitStmt(E); E->setType(Reader.readType(F, Record, Idx)); @@ -1724,6 +1728,10 @@ Stmt *ASTReader::ReadStmtFromStream(ModuleFile &F) { S = new (Context) MSAsmStmt(Empty); break; + case STMT_CAPTURED: + llvm_unreachable("not implemented yet"); + break; + case EXPR_PREDEFINED: S = new (Context) PredefinedExpr(Empty); break; diff --git a/lib/Serialization/ASTWriterStmt.cpp b/lib/Serialization/ASTWriterStmt.cpp index 920730ffd6..61ddec0fb0 100644 --- a/lib/Serialization/ASTWriterStmt.cpp +++ b/lib/Serialization/ASTWriterStmt.cpp @@ -255,6 +255,13 @@ void ASTStmtWriter::VisitMSAsmStmt(MSAsmStmt *S) { Code = serialization::STMT_MSASM; } +void ASTStmtWriter::VisitCapturedStmt(CapturedStmt *S) { + VisitStmt(S); + Code = serialization::STMT_CAPTURED; + + llvm_unreachable("not implemented yet"); +} + void ASTStmtWriter::VisitExpr(Expr *E) { VisitStmt(E); Writer.AddTypeRef(E->getType(), Record); |
