Fixed bug in ObjCIVarExpr: the child iterator now iterates over the Base expression.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50585 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp
index 479b651..69dca5a 100644
--- a/lib/AST/Expr.cpp
+++ b/lib/AST/Expr.cpp
@@ -1180,8 +1180,13 @@
 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(); }