aboutsummaryrefslogtreecommitdiff
path: root/lib/Serialization/ASTWriterStmt.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-11-15 23:31:06 +0000
committerJohn McCall <rjmccall@apple.com>2010-11-15 23:31:06 +0000
commit7cd7d1ad33fdf49eef83942e8855fe20d95aa1b9 (patch)
tree18f8b8e34a07fdd95ee800590066d7990f6601da /lib/Serialization/ASTWriterStmt.cpp
parentd776c46691e8046b87e5db7e33f3a27dc9aae5d6 (diff)
Add a new expression kind, OpaqueValueExpr, which is useful for
certain internal type-checking procedures as well as for representing certain implicitly-generated operations. Uses to follow. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119289 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Serialization/ASTWriterStmt.cpp')
-rw-r--r--lib/Serialization/ASTWriterStmt.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Serialization/ASTWriterStmt.cpp b/lib/Serialization/ASTWriterStmt.cpp
index fc8e9e0e59..efbfd94401 100644
--- a/lib/Serialization/ASTWriterStmt.cpp
+++ b/lib/Serialization/ASTWriterStmt.cpp
@@ -152,6 +152,8 @@ namespace clang {
void VisitUnaryTypeTraitExpr(UnaryTypeTraitExpr *E);
void VisitCXXNoexceptExpr(CXXNoexceptExpr *E);
+
+ void VisitOpaqueValueExpr(OpaqueValueExpr *E);
};
}
@@ -1293,6 +1295,12 @@ void ASTStmtWriter::VisitCXXNoexceptExpr(CXXNoexceptExpr *E) {
Code = serialization::EXPR_CXX_NOEXCEPT;
}
+void ASTStmtWriter::VisitOpaqueValueExpr(OpaqueValueExpr *E) {
+ VisitExpr(E);
+ Record.push_back(E->getValueKind());
+ Code = serialization::EXPR_OPAQUE_VALUE;
+}
+
//===----------------------------------------------------------------------===//
// ASTWriter Implementation
//===----------------------------------------------------------------------===//