Make diagnostics relating to the callee hilight just the callee
and put the caret on the ()'s.  e.g. produces:

t.c:13:9: error: called object is not a function or function pointer
  ((B)a)();
  ~~~~~~^

instead of:

t.c:13:3: error: called object is not a function or function pointer
  ((B)a)();
  ^~~~~~~~



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54775 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp
index b3e7480..2e99b3d 100644
--- a/lib/Sema/SemaExpr.cpp
+++ b/lib/Sema/SemaExpr.cpp
@@ -951,12 +951,12 @@
   // type pointer to function".
   const PointerType *PT = Fn->getType()->getAsPointerType();
   if (PT == 0)
-    return Diag(Fn->getLocStart(), diag::err_typecheck_call_not_function,
-                SourceRange(Fn->getLocStart(), RParenLoc));
+    return Diag(LParenLoc, diag::err_typecheck_call_not_function,
+                Fn->getSourceRange());
   const FunctionType *FuncT = PT->getPointeeType()->getAsFunctionType();
   if (FuncT == 0)
-    return Diag(Fn->getLocStart(), diag::err_typecheck_call_not_function,
-                SourceRange(Fn->getLocStart(), RParenLoc));
+    return Diag(LParenLoc, diag::err_typecheck_call_not_function,
+                Fn->getSourceRange());
   
   // We know the result type of the call, set it.
   TheCall->setType(FuncT->getResultType());