diff --git a/lib/AST/Decl.cpp b/lib/AST/Decl.cpp
index d31cf0f..3421976 100644
--- a/lib/AST/Decl.cpp
+++ b/lib/AST/Decl.cpp
@@ -442,6 +442,9 @@ static LinkageInfo getLVForNamespaceScopeDecl(const NamedDecl *D,
   if (LV.linkage() != ExternalLinkage)
     return LinkageInfo(LV.linkage(), DefaultVisibility, false);
 
+  if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
+    FD->hasBody();
+
   return LV;
 }
 
