Fixup http://llvm.org/viewvc/llvm-project?rev=69165&view=rev (based on feedback from Eli).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69184 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
index a298465..6233871 100644
--- a/lib/Sema/SemaDecl.cpp
+++ b/lib/Sema/SemaDecl.cpp
@@ -2910,9 +2910,7 @@
           return true;
       }
     }
-  } else if (isa<ObjCAtTryStmt>(S)) {
-    return true;
-  }
+  } 
   return false;
 }
 
@@ -2928,6 +2926,15 @@
     if (StatementCreatesScope(*i))  {
       ScopeStack.push_back(*i);
       PopScopeMap[*i] = ParentCompoundStmt;
+    } else if (ObjCAtTryStmt *AT = dyn_cast<ObjCAtTryStmt>(*i)) {
+      ScopeStack.push_back(*i);
+      PopScopeMap[*i] = AT->getTryBody();
+    } else if (ObjCAtCatchStmt *AC = dyn_cast<ObjCAtCatchStmt>(*i)) {
+      ScopeStack.push_back(*i);
+      PopScopeMap[*i] = AC->getCatchBody();
+    } else if (ObjCAtFinallyStmt *AF = dyn_cast<ObjCAtFinallyStmt>(*i)) {
+      ScopeStack.push_back(*i);
+      PopScopeMap[*i] = AF->getFinallyBody();
     } else if (isa<LabelStmt>(CurStmt)) {
       LabelScopeMap[CurStmt] = ScopeStack.size() ? ScopeStack.back() : 0;
     }