diff --git a/Sema/SemaDecl.cpp b/Sema/SemaDecl.cpp
index 9b33138..808241c 100644
--- a/Sema/SemaDecl.cpp
+++ b/Sema/SemaDecl.cpp
@@ -1715,11 +1715,11 @@
 }
 
 Sema::DeclTy* Sema::ActOnLinkageSpec(SourceLocation Loc,
-				     SourceLocation LBrace,
-				     SourceLocation RBrace,
-				     const char *Lang,
-				     unsigned StrSize,
-				     DeclTy *D) {
+                                     SourceLocation LBrace,
+                                     SourceLocation RBrace,
+                                     const char *Lang,
+                                     unsigned StrSize,
+                                     DeclTy *D) {
   LinkageSpecDecl::LanguageIDs Language;
   Decl *dcl = static_cast<Decl *>(D);
   if (strncmp(Lang, "\"C\"", StrSize) == 0)
diff --git a/Sema/SemaDeclObjC.cpp b/Sema/SemaDeclObjC.cpp
index 6b1d78b..85797a5 100644
--- a/Sema/SemaDeclObjC.cpp
+++ b/Sema/SemaDeclObjC.cpp
@@ -382,7 +382,7 @@
     // Legacy case of @implementation with no corresponding @interface.
     // Build, chain & install the interface decl into the identifier.
     IDecl = new ObjCInterfaceDecl(AtClassImplLoc, 0, ClassName, 
-				  false, true);
+                                  false, true);
     IDecl->setNext(ClassName->getFETokenInfo<ScopedDecl>());
     ClassName->setFETokenInfo(IDecl);
     IDecl->setSuperClass(SDecl);
diff --git a/Sema/SemaExprObjC.cpp b/Sema/SemaExprObjC.cpp
index 3e73930..4cf435c 100644
--- a/Sema/SemaExprObjC.cpp
+++ b/Sema/SemaExprObjC.cpp
@@ -275,11 +275,11 @@
         if (ObjCImplementationDecl *ImpDecl = 
             ObjCImplementations[ClassDecl->getIdentifier()])
           Method = ImpDecl->getInstanceMethod(Sel);
-	  // If we still haven't found a method, look in the global pool. This
-	  // behavior isn't very desirable, however we need it for GCC
+          // If we still haven't found a method, look in the global pool. This
+          // behavior isn't very desirable, however we need it for GCC
           // compatibility.
-	  if (!Method)
-	    Method = InstanceMethodPool[Sel].Method;
+          if (!Method)
+            Method = InstanceMethodPool[Sel].Method;
     }
     if (!Method) {
       Diag(lbrac, diag::warn_method_not_found, std::string("-"), Sel.getName(),
