diff --git a/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
index 39cfc8e..82bc136 100644
--- a/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
+++ b/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
@@ -77,7 +77,7 @@
     R->addRange(BadE->getSourceRange());
     bugreporter::trackNullOrUndefValue(N, BadE, *R);
   }
-  C.EmitReport(R);
+  C.emitReport(R);
 }
 
 static StringRef describeUninitializedArgumentInCall(const CallEvent &Call,
@@ -123,7 +123,7 @@
       R->addRange(argRange);
       if (argEx)
         bugreporter::trackNullOrUndefValue(N, argEx, *R);
-      C.EmitReport(R);
+      C.emitReport(R);
     }
     return true;
   }
@@ -207,7 +207,7 @@
 
         // FIXME: enhance track back for uninitialized value for arbitrary
         // memregions
-        C.EmitReport(R);
+        C.emitReport(R);
       }
       return true;
     }
@@ -336,7 +336,7 @@
       // FIXME: getTrackNullOrUndefValueVisitor can't handle "super" yet.
       if (const Expr *ReceiverE = ME->getInstanceReceiver())
         bugreporter::trackNullOrUndefValue(N, ReceiverE, *R);
-      C.EmitReport(R);
+      C.emitReport(R);
     }
     return;
   } else {
@@ -379,7 +379,7 @@
   if (const Expr *receiver = ME->getInstanceReceiver()) {
     bugreporter::trackNullOrUndefValue(N, receiver, *report);
   }
-  C.EmitReport(report);
+  C.emitReport(report);
 }
 
 static bool supportsNilWithFloatRet(const llvm::Triple &triple) {
