diff options
-rw-r--r-- | lib/Serialization/ASTWriterStmt.cpp | 4 | ||||
-rw-r--r-- | test/PCH/objc_exprs.h | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/Serialization/ASTWriterStmt.cpp b/lib/Serialization/ASTWriterStmt.cpp index e25a20b353..e3311e9d90 100644 --- a/lib/Serialization/ASTWriterStmt.cpp +++ b/lib/Serialization/ASTWriterStmt.cpp @@ -753,6 +753,8 @@ void ASTStmtWriter::VisitPseudoObjectExpr(PseudoObjectExpr *E) { if (OpaqueValueExpr *OVE = dyn_cast<OpaqueValueExpr>(*i)) Writer.AddStmt(OVE->getSourceExpr()); } + + Code = serialization::EXPR_PSEUDO_OBJECT; } void ASTStmtWriter::VisitAtomicExpr(AtomicExpr *E) { @@ -768,6 +770,8 @@ void ASTStmtWriter::VisitAtomicExpr(AtomicExpr *E) { } Writer.AddSourceLocation(E->getBuiltinLoc(), Record); Writer.AddSourceLocation(E->getRParenLoc(), Record); + + Code = serialization::EXPR_ATOMIC; } //===----------------------------------------------------------------------===// diff --git a/test/PCH/objc_exprs.h b/test/PCH/objc_exprs.h index b811430c2e..807304c20f 100644 --- a/test/PCH/objc_exprs.h +++ b/test/PCH/objc_exprs.h @@ -16,3 +16,11 @@ typedef typeof(id<foo>) objc_id_protocol_ty; typedef typeof(itf*) objc_interface_ty; typedef typeof(itf<foo>*) objc_qual_interface_ty; + +@interface PP +@property (assign) id prop; +@end + +static inline id getPseudoObject(PP *p) { + return p.prop; +} |