Index: lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
===================================================================
--- lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp	(revision 245290)
+++ lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp	(working copy)
@@ -588,8 +588,10 @@
   // - Header files: run non-path-sensitive checks only.
   // - System headers: don't run any checks.
   SourceManager &SM = Ctx->getSourceManager();
-  SourceLocation SL = D->hasBody() ? D->getBody()->getLocStart()
-                                     : D->getLocation();
+  const FunctionDecl *Def;
+  SourceLocation SL =
+      (isa<FunctionDecl>(D) && cast<FunctionDecl>(D)->isDefined(Def) ? Def : D)
+          ->getLocation();
   SL = SM.getExpansionLoc(SL);
 
   if (!Opts->AnalyzeAll && !SM.isWrittenInMainFile(SL)) {
