Revert Fix a build bot failure and multiple warnings instances for range base for loops

This reverts r368459 (git commit 2bf522aea62e4fb653cacb68072167d25149099e)

llvm-svn: 368462
diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp
index 3ac45e2..dfc12e9 100644
--- a/clang/lib/Sema/SemaInit.cpp
+++ b/clang/lib/Sema/SemaInit.cpp
@@ -6616,7 +6616,7 @@
     return;
   } else if (auto *OCE = dyn_cast<CXXOperatorCallExpr>(Call)) {
     FunctionDecl *Callee = OCE->getDirectCallee();
-    if (Callee && Callee->isCXXInstanceMember() &&
+    if (Callee->isCXXInstanceMember() &&
         shouldTrackImplicitObjectArg(cast<CXXMethodDecl>(Callee)))
       VisitPointerArg(Callee, OCE->getArg(0));
     return;
@@ -7070,11 +7070,8 @@
       // supporting lifetime extension.
       break;
 
-    case IndirectLocalPathEntry::VarInit:
-      if (cast<VarDecl>(Path[I].D)->isImplicit())
-        return SourceRange();
-      LLVM_FALLTHROUGH;
     case IndirectLocalPathEntry::DefaultInit:
+    case IndirectLocalPathEntry::VarInit:
       return Path[I].E->getSourceRange();
     }
   }
@@ -7136,7 +7133,7 @@
         return false;
       }
 
-      if (IsGslPtrInitWithGslTempOwner && DiagLoc.isValid()) {
+      if (IsGslPtrInitWithGslTempOwner) {
         Diag(DiagLoc, diag::warn_dangling_lifetime_pointer) << DiagRange;
         return false;
       }