diff options
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/AST/Expr.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/clang/lib/AST/Expr.cpp b/clang/lib/AST/Expr.cpp index 479b651d1fc..69dca5af558 100644 --- a/clang/lib/AST/Expr.cpp +++ b/clang/lib/AST/Expr.cpp @@ -1180,8 +1180,13 @@ Stmt::child_iterator DeclRefExpr::child_begin() { return child_iterator(); } Stmt::child_iterator DeclRefExpr::child_end() { return child_iterator(); } // ObjCIvarRefExpr -Stmt::child_iterator ObjCIvarRefExpr::child_begin() { return child_iterator(); } -Stmt::child_iterator ObjCIvarRefExpr::child_end() { return child_iterator(); } +Stmt::child_iterator ObjCIvarRefExpr::child_begin() { + return reinterpret_cast<Stmt**>(&Base); +} + +Stmt::child_iterator ObjCIvarRefExpr::child_end() { + return reinterpret_cast<Stmt**>(&Base)+1; +} // PreDefinedExpr Stmt::child_iterator PreDefinedExpr::child_begin() { return child_iterator(); } |