diff --git a/lib/Analysis/CFRefCount.cpp b/lib/Analysis/CFRefCount.cpp
index efd1c85..39edcfd 100644
--- a/lib/Analysis/CFRefCount.cpp
+++ b/lib/Analysis/CFRefCount.cpp
@@ -1099,7 +1099,8 @@
   
   // Create the "init" selector.  It just acts as a pass-through for the
   // receiver.
-  RetainSummary* InitSumm = getPersistentSummary(RetEffect::MakeReceiverAlias());
+  RetainSummary* InitSumm =
+    getPersistentSummary(RetEffect::MakeReceiverAlias());
   addNSObjectMethSummary(GetNullarySelector("init", Ctx), InitSumm);
   
   // The next methods are allocators.
@@ -2883,7 +2884,8 @@
       CFRefBug *BT = static_cast<CFRefBug*>(I->second ? leakAtReturn 
                                             : leakWithinFunction);
       assert(BT && "BugType not initialized.");
-      CFRefLeakReport* report = new CFRefLeakReport(*BT, *this, N, I->first, Eng);
+      CFRefLeakReport* report = new CFRefLeakReport(*BT, *this, N,
+                                                    I->first, Eng);
       BR->EmitReport(report);
     }
     
