diff --git a/clang/lib/Index/ASTLocation.cpp b/clang/lib/Index/ASTLocation.cpp
index 3beff3f..4184605 100644
--- a/clang/lib/Index/ASTLocation.cpp
+++ b/clang/lib/Index/ASTLocation.cpp
@@ -33,7 +33,7 @@
   return false;
 }
 
-static Decl *FindImmediateParent(Decl *D, Stmt *Node) {
+Decl *ASTLocation::FindImmediateParent(Decl *D, Stmt *Node) {
   assert(D && Node && "Passed null Decl or null Stmt");
 
   if (VarDecl *VD = dyn_cast<VarDecl>(D)) {
@@ -61,16 +61,6 @@
   return 0;
 }
 
-ASTLocation::ASTLocation(const Decl *d, const Stmt *stm)
-  : D(const_cast<Decl*>(d)), Stm(const_cast<Stmt*>(stm)) {
-  if (Stm) {
-    Decl *Parent = FindImmediateParent(D, Stm);
-    assert(Parent);
-    D = Parent;
-  }
-}
-
-
 bool ASTLocation::isImmediateParent(Decl *D, Stmt *Node) {
   assert(D && Node && "Passed null Decl or null Stmt");
   return D == FindImmediateParent(D, Node);
