Remove tabs, and whitespace cleanups.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp
index 013a941..a90b998 100644
--- a/lib/AST/Expr.cpp
+++ b/lib/AST/Expr.cpp
@@ -120,7 +120,7 @@
 StringLiteral *StringLiteral::Create(ASTContext &C, const char *StrData,
                                      unsigned ByteLength, bool Wide,
                                      QualType Ty,
-                                     const SourceLocation *Loc, 
+                                     const SourceLocation *Loc,
                                      unsigned NumStrs) {
   // Allocate enough space for the StringLiteral plus an array of locations for
   // any concatenated string tokens.
@@ -128,7 +128,7 @@
                          sizeof(SourceLocation)*(NumStrs-1),
                          llvm::alignof<StringLiteral>());
   StringLiteral *SL = new (Mem) StringLiteral(Ty);
-  
+
   // OPTIMIZE: could allocate this appended to the StringLiteral.
   char *AStrData = new (C, 1) char[ByteLength];
   memcpy(AStrData, StrData, ByteLength);
@@ -191,7 +191,7 @@
   }
 }
 
-UnaryOperator::Opcode 
+UnaryOperator::Opcode
 UnaryOperator::getOverloadedOpcode(OverloadedOperatorKind OO, bool Postfix) {
   switch (OO) {
   default: assert(false && "No unary operator for overloaded function");
@@ -227,11 +227,11 @@
 
 CallExpr::CallExpr(ASTContext& C, StmtClass SC, Expr *fn, Expr **args,
                    unsigned numargs, QualType t, SourceLocation rparenloc)
-  : Expr(SC, t, 
+  : Expr(SC, t,
          fn->isTypeDependent() || hasAnyTypeDependentArguments(args, numargs),
          fn->isValueDependent() || hasAnyValueDependentArguments(args,numargs)),
     NumArgs(numargs) {
-      
+
   SubExprs = new (C) Stmt*[numargs+1];
   SubExprs[FN] = fn;
   for (unsigned i = 0; i != numargs; ++i)
@@ -255,8 +255,8 @@
   RParenLoc = rparenloc;
 }
 
-CallExpr::CallExpr(ASTContext &C, StmtClass SC, EmptyShell Empty) 
-  : Expr(SC, Empty), SubExprs(0), NumArgs(0) { 
+CallExpr::CallExpr(ASTContext &C, StmtClass SC, EmptyShell Empty)
+  : Expr(SC, Empty), SubExprs(0), NumArgs(0) {
   SubExprs = new (C) Stmt*[1];
 }
 
@@ -281,7 +281,7 @@
 void CallExpr::setNumArgs(ASTContext& C, unsigned NumArgs) {
   // No change, just return.
   if (NumArgs == getNumArgs()) return;
-  
+
   // If shrinking # arguments, just delete the extras and forgot them.
   if (NumArgs < getNumArgs()) {
     for (unsigned i = NumArgs, e = getNumArgs(); i != e; ++i)
@@ -298,7 +298,7 @@
   // Null out new args.
   for (unsigned i = getNumArgs()+ARGS_START; i != NumArgs+ARGS_START; ++i)
     NewSubExprs[i] = 0;
-  
+
   if (SubExprs) C.Deallocate(SubExprs);
   SubExprs = NewSubExprs;
   this->NumArgs = NumArgs;
@@ -308,20 +308,20 @@
 /// not, return 0.
 unsigned CallExpr::isBuiltinCall(ASTContext &Context) const {
   // All simple function calls (e.g. func()) are implicitly cast to pointer to
-  // function. As a result, we try and obtain the DeclRefExpr from the 
+  // function. As a result, we try and obtain the DeclRefExpr from the
   // ImplicitCastExpr.
   const ImplicitCastExpr *ICE = dyn_cast<ImplicitCastExpr>(getCallee());
   if (!ICE) // FIXME: deal with more complex calls (e.g. (func)(), (*func)()).
     return 0;
-  
+
   const DeclRefExpr *DRE = dyn_cast<DeclRefExpr>(ICE->getSubExpr());
   if (!DRE)
     return 0;
-  
+
   const FunctionDecl *FDecl = dyn_cast<FunctionDecl>(DRE->getDecl());
   if (!FDecl)
     return 0;
-  
+
   if (!FDecl->getIdentifier())
     return 0;
 
@@ -334,18 +334,18 @@
     CalleeType = FnTypePtr->getPointeeType();
   else if (const BlockPointerType *BPT = CalleeType->getAs<BlockPointerType>())
     CalleeType = BPT->getPointeeType();
-  
+
   const FunctionType *FnType = CalleeType->getAsFunctionType();
   return FnType->getResultType();
 }
 
-MemberExpr::MemberExpr(Expr *base, bool isarrow, NestedNameSpecifier *qual, 
-                       SourceRange qualrange, NamedDecl *memberdecl, 
+MemberExpr::MemberExpr(Expr *base, bool isarrow, NestedNameSpecifier *qual,
+                       SourceRange qualrange, NamedDecl *memberdecl,
                        SourceLocation l, bool has_explicit,
                        SourceLocation langle,
                        const TemplateArgument *targs, unsigned numtargs,
                        SourceLocation rangle, QualType ty)
-  : Expr(MemberExprClass, ty, 
+  : Expr(MemberExprClass, ty,
          base->isTypeDependent() || (qual && qual->isDependent()),
          base->isValueDependent() || (qual && qual->isDependent())),
     Base(base), MemberDecl(memberdecl), MemberLoc(l), IsArrow(isarrow),
@@ -356,26 +356,26 @@
     NQ->NNS = qual;
     NQ->Range = qualrange;
   }
-      
+
   // Initialize the explicit template argument list, if any.
   if (HasExplicitTemplateArgumentList) {
-    ExplicitTemplateArgumentList *ETemplateArgs 
+    ExplicitTemplateArgumentList *ETemplateArgs
       = getExplicitTemplateArgumentList();
     ETemplateArgs->LAngleLoc = langle;
     ETemplateArgs->RAngleLoc = rangle;
     ETemplateArgs->NumTemplateArgs = numtargs;
-    
+
     TemplateArgument *TemplateArgs = ETemplateArgs->getTemplateArgs();
     for (unsigned I = 0; I < numtargs; ++I)
-      new (TemplateArgs + I) TemplateArgument(targs[I]);      
+      new (TemplateArgs + I) TemplateArgument(targs[I]);
   }
 }
 
-MemberExpr *MemberExpr::Create(ASTContext &C, Expr *base, bool isarrow, 
-                               NestedNameSpecifier *qual, 
+MemberExpr *MemberExpr::Create(ASTContext &C, Expr *base, bool isarrow,
+                               NestedNameSpecifier *qual,
                                SourceRange qualrange,
-                               NamedDecl *memberdecl, 
-                               SourceLocation l, 
+                               NamedDecl *memberdecl,
+                               SourceLocation l,
                                bool has_explicit,
                                SourceLocation langle,
                                const TemplateArgument *targs,
@@ -385,11 +385,11 @@
   std::size_t Size = sizeof(MemberExpr);
   if (qual != 0)
     Size += sizeof(NameQualifier);
-  
+
   if (has_explicit)
-    Size += sizeof(ExplicitTemplateArgumentList) + 
+    Size += sizeof(ExplicitTemplateArgumentList) +
     sizeof(TemplateArgument) * numtargs;
-  
+
   void *Mem = C.Allocate(Size, llvm::alignof<MemberExpr>());
   return new (Mem) MemberExpr(base, isarrow, qual, qualrange, memberdecl, l,
                               has_explicit, langle, targs, numtargs, rangle,
@@ -423,7 +423,7 @@
   case CastExpr::CK_ConstructorConversion:
     return "ConstructorConversion";
   }
-  
+
   assert(0 && "Unhandled cast kind!");
   return 0;
 }
@@ -469,7 +469,7 @@
   return "";
 }
 
-BinaryOperator::Opcode 
+BinaryOperator::Opcode
 BinaryOperator::getOverloadedOpcode(OverloadedOperatorKind OO) {
   switch (OO) {
   default: assert(false && "Not an overloadable binary operator");
@@ -531,13 +531,13 @@
   return OverOps[Opc];
 }
 
-InitListExpr::InitListExpr(SourceLocation lbraceloc, 
+InitListExpr::InitListExpr(SourceLocation lbraceloc,
                            Expr **initExprs, unsigned numInits,
                            SourceLocation rbraceloc)
   : Expr(InitListExprClass, QualType(),
          hasAnyTypeDependentArguments(initExprs, numInits),
          hasAnyValueDependentArguments(initExprs, numInits)),
-    LBraceLoc(lbraceloc), RBraceLoc(rbraceloc), SyntacticForm(0), 
+    LBraceLoc(lbraceloc), RBraceLoc(rbraceloc), SyntacticForm(0),
     UnionFieldInit(0), HadArrayRangeDesignator(false) {
 
   InitExprs.insert(InitExprs.end(), initExprs, initExprs+numInits);
@@ -561,7 +561,7 @@
     InitExprs.back() = expr;
     return 0;
   }
-  
+
   Expr *Result = cast_or_null<Expr>(InitExprs[Init]);
   InitExprs[Init] = expr;
   return Result;
@@ -574,14 +574,14 @@
                     getPointeeType()->getAsFunctionType();
 }
 
-SourceLocation BlockExpr::getCaretLocation() const { 
-  return TheBlock->getCaretLocation(); 
+SourceLocation BlockExpr::getCaretLocation() const {
+  return TheBlock->getCaretLocation();
 }
-const Stmt *BlockExpr::getBody() const { 
+const Stmt *BlockExpr::getBody() const {
   return TheBlock->getBody();
 }
-Stmt *BlockExpr::getBody() { 
-  return TheBlock->getBody(); 
+Stmt *BlockExpr::getBody() {
+  return TheBlock->getBody();
 }
 
 
@@ -599,7 +599,7 @@
   // instantiating to void.
   if (isTypeDependent())
     return false;
-  
+
   switch (getStmtClass()) {
   default:
     Loc = getExprLoc();
@@ -610,7 +610,7 @@
       isUnusedResultAWarning(Loc, R1, R2);
   case UnaryOperatorClass: {
     const UnaryOperator *UO = cast<UnaryOperator>(this);
-    
+
     switch (UO->getOpcode()) {
     default: break;
     case UnaryOperator::PostInc:
@@ -642,7 +642,7 @@
     if (BO->getOpcode() == BinaryOperator::Comma)
       return BO->getRHS()->isUnusedResultAWarning(Loc, R1, R2) ||
              BO->getLHS()->isUnusedResultAWarning(Loc, R1, R2);
-      
+
     if (BO->isAssignmentOp())
       return false;
     Loc = BO->getOperatorLoc();
@@ -657,7 +657,7 @@
     // The condition must be evaluated, but if either the LHS or RHS is a
     // warning, warn about them.
     const ConditionalOperator *Exp = cast<ConditionalOperator>(this);
-    if (Exp->getLHS() && 
+    if (Exp->getLHS() &&
         Exp->getLHS()->isUnusedResultAWarning(Loc, R1, R2))
       return true;
     return Exp->getRHS()->isUnusedResultAWarning(Loc, R1, R2);
@@ -672,7 +672,7 @@
     R1 = SourceRange(Loc, Loc);
     R2 = cast<MemberExpr>(this)->getBase()->getSourceRange();
     return true;
-      
+
   case ArraySubscriptExprClass:
     // If the base pointer or element is to a volatile pointer/field, accessing
     // it is a side effect.
@@ -697,7 +697,7 @@
             FD->getAttr<PureAttr>() || FD->getAttr<ConstAttr>()) {
           Loc = CE->getCallee()->getLocStart();
           R1 = CE->getCallee()->getSourceRange();
-          
+
           if (unsigned NumArgs = CE->getNumArgs())
             R2 = SourceRange(CE->getArg(0)->getLocStart(),
                              CE->getArg(NumArgs-1)->getLocEnd());
@@ -708,10 +708,10 @@
   }
   case ObjCMessageExprClass:
     return false;
-      
+
   case ObjCImplicitSetterGetterRefExprClass: {   // Dot syntax for message send.
 #if 0
-    const ObjCImplicitSetterGetterRefExpr *Ref = 
+    const ObjCImplicitSetterGetterRefExpr *Ref =
       cast<ObjCImplicitSetterGetterRefExpr>(this);
     // FIXME: We really want the location of the '.' here.
     Loc = Ref->getLocation();
@@ -734,7 +734,7 @@
     if (!CS->body_empty())
       if (const Expr *E = dyn_cast<Expr>(CS->body_back()))
         return E->isUnusedResultAWarning(Loc, R1, R2);
-    
+
     Loc = cast<StmtExpr>(this)->getLParenLoc();
     R1 = getSourceRange();
     return true;
@@ -756,7 +756,7 @@
     Loc = cast<CXXFunctionalCastExpr>(this)->getTypeBeginLoc();
     R1 = cast<CXXFunctionalCastExpr>(this)->getSubExpr()->getSourceRange();
     return true;
-      
+
   case ImplicitCastExprClass:
     // Check the operand, since implicit casts are inserted by Sema
     return cast<ImplicitCastExpr>(this)
@@ -785,7 +785,7 @@
 static bool DeclCanBeLvalue(const NamedDecl *Decl, ASTContext &Ctx) {
   // C++ [temp.param]p6:
   //   A non-type non-reference template-parameter is not an lvalue.
-  if (const NonTypeTemplateParmDecl *NTTParm 
+  if (const NonTypeTemplateParmDecl *NTTParm
         = dyn_cast<NonTypeTemplateParmDecl>(Decl))
     return NTTParm->getType()->isReferenceType();
 
@@ -838,7 +838,7 @@
     if (cast<ArraySubscriptExpr>(this)->getBase()->getType()->isVectorType())
       return cast<ArraySubscriptExpr>(this)->getBase()->isLvalue(Ctx);
     return LV_Valid;
-  case DeclRefExprClass: 
+  case DeclRefExprClass:
   case QualifiedDeclRefExprClass: { // C99 6.5.1p2
     const NamedDecl *RefdDecl = cast<DeclRefExpr>(this)->getDecl();
     if (DeclCanBeLvalue(RefdDecl, Ctx))
@@ -885,7 +885,7 @@
 
         // Not an lvalue.
       return LV_InvalidExpression;
-    } 
+    }
 
     // C99 6.5.2.3p4
     return m->isArrow() ? LV_Valid : m->getBase()->isLvalue(Ctx);
@@ -905,7 +905,7 @@
       return LV_Valid;
     break;
   case ImplicitCastExprClass:
-    return cast<ImplicitCastExpr>(this)->isLvalueCast()? LV_Valid 
+    return cast<ImplicitCastExpr>(this)->isLvalueCast()? LV_Valid
                                                        : LV_InvalidExpression;
   case ParenExprClass: // C99 6.5.1p5
     return cast<ParenExpr>(this)->getSubExpr()->isLvalue(Ctx);
@@ -927,7 +927,7 @@
       return LV_InvalidExpression;
 
     if (Ctx.getLangOptions().CPlusPlus)
-      // C++ [expr.ass]p1: 
+      // C++ [expr.ass]p1:
       //   The result of an assignment operation [...] is an lvalue.
       return LV_Valid;
 
@@ -936,7 +936,7 @@
     //   An assignment expression [...] is not an lvalue.
     return LV_InvalidExpression;
   }
-  case CallExprClass: 
+  case CallExprClass:
   case CXXOperatorCallExprClass:
   case CXXMemberCallExprClass: {
     // C++0x [expr.call]p10
@@ -1023,15 +1023,15 @@
 
 /// isModifiableLvalue - C99 6.3.2.1: an lvalue that does not have array type,
 /// does not have an incomplete type, does not have a const-qualified type, and
-/// if it is a structure or union, does not have any member (including, 
+/// if it is a structure or union, does not have any member (including,
 /// recursively, any member or element of all contained aggregates or unions)
 /// with a const-qualified type.
-Expr::isModifiableLvalueResult 
+Expr::isModifiableLvalueResult
 Expr::isModifiableLvalue(ASTContext &Ctx, SourceLocation *Loc) const {
   isLvalueResult lvalResult = isLvalue(Ctx);
-    
+
   switch (lvalResult) {
-  case LV_Valid: 
+  case LV_Valid:
     // C++ 3.10p11: Functions cannot be modified, but pointers to
     // functions can be modifiable.
     if (Ctx.getLangOptions().CPlusPlus && TR->isFunctionType())
@@ -1068,27 +1068,27 @@
   }
 
   QualType CT = Ctx.getCanonicalType(getType());
-  
+
   if (CT.isConstQualified())
     return MLV_ConstQualified;
   if (CT->isArrayType())
     return MLV_ArrayType;
   if (CT->isIncompleteType())
     return MLV_IncompleteType;
-    
+
   if (const RecordType *r = CT->getAs<RecordType>()) {
-    if (r->hasConstFields()) 
+    if (r->hasConstFields())
       return MLV_ConstQualified;
   }
-  
+
   // Assigning to an 'implicit' property?
   else if (isa<ObjCImplicitSetterGetterRefExpr>(this)) {
-    const ObjCImplicitSetterGetterRefExpr* Expr = 
+    const ObjCImplicitSetterGetterRefExpr* Expr =
       cast<ObjCImplicitSetterGetterRefExpr>(this);
     if (Expr->getSetterMethod() == 0)
       return MLV_NoSetterProperty;
   }
-  return MLV_Valid;    
+  return MLV_Valid;
 }
 
 /// isOBJCGCCandidate - Check if an expression is objc gc'able.
@@ -1131,7 +1131,7 @@
   Expr* E = this;
   while (ParenExpr* P = dyn_cast<ParenExpr>(E))
     E = P->getSubExpr();
-  
+
   return E;
 }
 
@@ -1159,17 +1159,17 @@
       E = P->getSubExpr();
       continue;
     }
-    
+
     if (CastExpr *P = dyn_cast<CastExpr>(E)) {
       // We ignore integer <-> casts that are of the same width, ptr<->ptr and
       // ptr<->int casts of the same width.  We also ignore all identify casts.
       Expr *SE = P->getSubExpr();
-      
+
       if (Ctx.hasSameUnqualifiedType(E->getType(), SE->getType())) {
         E = SE;
         continue;
       }
-      
+
       if ((E->getType()->isPointerType() || E->getType()->isIntegralType()) &&
           (SE->getType()->isPointerType() || SE->getType()->isIntegralType()) &&
           Ctx.getTypeSize(E->getType()) == Ctx.getTypeSize(SE->getType())) {
@@ -1177,7 +1177,7 @@
         continue;
       }
     }
-    
+
     return E;
   }
 }
@@ -1233,7 +1233,7 @@
     const InitListExpr *Exp = cast<InitListExpr>(this);
     unsigned numInits = Exp->getNumInits();
     for (unsigned i = 0; i < numInits; i++) {
-      if (!Exp->getInit(i)->isConstantInitializer(Ctx)) 
+      if (!Exp->getInit(i)->isConstantInitializer(Ctx))
         return false;
     }
     return true;
@@ -1274,9 +1274,9 @@
 // CheckICE - This function does the fundamental ICE checking: the returned
 // ICEDiag contains a Val of 0, 1, or 2, and a possibly null SourceLocation.
 // Note that to reduce code duplication, this helper does no evaluation
-// itself; the caller checks whether the expression is evaluatable, and 
+// itself; the caller checks whether the expression is evaluatable, and
 // in the rare cases where CheckICE actually cares about the evaluated
-// value, it calls into Evalute.  
+// value, it calls into Evalute.
 //
 // Meanings of Val:
 // 0: This expression is an ICE if it can be evaluated by Evaluate.
@@ -1323,7 +1323,7 @@
   case Expr::TypesCompatibleExprClass:
   case Expr::UnaryTypeTraitExprClass:
     return NoDiag();
-  case Expr::CallExprClass: 
+  case Expr::CallExprClass:
   case Expr::CXXOperatorCallExprClass: {
     const CallExpr *CE = cast<CallExpr>(E);
     if (CE->isBuiltinCall(Ctx))
@@ -1474,7 +1474,7 @@
   }
   case Expr::ConditionalOperatorClass: {
     const ConditionalOperator *Exp = cast<ConditionalOperator>(E);
-    // If the condition (ignoring parens) is a __builtin_constant_p call, 
+    // If the condition (ignoring parens) is a __builtin_constant_p call,
     // then only the true side is actually considered in an integer constant
     // expression, and it is fully evaluated.  This is an important GNU
     // extension.  See GCC PR38377 for discussion.
@@ -1535,15 +1535,14 @@
 /// isNullPointerConstant - C99 6.3.2.3p3 -  Return true if this is either an
 /// integer constant expression with the value zero, or if this is one that is
 /// cast to void*.
-bool Expr::isNullPointerConstant(ASTContext &Ctx) const
-{
+bool Expr::isNullPointerConstant(ASTContext &Ctx) const {
   // Strip off a cast to void*, if it exists. Except in C++.
   if (const ExplicitCastExpr *CE = dyn_cast<ExplicitCastExpr>(this)) {
     if (!Ctx.getLangOptions().CPlusPlus) {
       // Check that it is a cast to void*.
       if (const PointerType *PT = CE->getType()->getAs<PointerType>()) {
         QualType Pointee = PT->getPointeeType();
-        if (Pointee.getCVRQualifiers() == 0 && 
+        if (Pointee.getCVRQualifiers() == 0 &&
             Pointee->isVoidType() &&                              // to void*
             CE->getSubExpr()->getType()->isIntegerType())         // from int.
           return CE->getSubExpr()->isNullPointerConstant(Ctx);
@@ -1556,7 +1555,7 @@
     // Accept ((void*)0) as a null pointer constant, as many other
     // implementations do.
     return PE->getSubExpr()->isNullPointerConstant(Ctx);
-  } else if (const CXXDefaultArgExpr *DefaultArg 
+  } else if (const CXXDefaultArgExpr *DefaultArg
                = dyn_cast<CXXDefaultArgExpr>(this)) {
     // See through default argument expressions
     return DefaultArg->getExpr()->isNullPointerConstant(Ctx);
@@ -1572,7 +1571,7 @@
   // This expression must be an integer type.
   if (!getType()->isIntegerType())
     return false;
-  
+
   // If we have an integer constant expression, we need to *evaluate* it and
   // test for the value 0.
   llvm::APSInt Result;
@@ -1612,20 +1611,20 @@
   unsigned length = Accessor->getLength();
 
   // Halving swizzles do not contain duplicate elements.
-  if (!strcmp(compStr, "hi") || !strcmp(compStr, "lo") || 
+  if (!strcmp(compStr, "hi") || !strcmp(compStr, "lo") ||
       !strcmp(compStr, "even") || !strcmp(compStr, "odd"))
     return false;
-  
+
   // Advance past s-char prefix on hex swizzles.
   if (*compStr == 's' || *compStr == 'S') {
     compStr++;
     length--;
   }
-  
+
   for (unsigned i = 0; i != length-1; i++) {
     const char *s = compStr+i;
     for (const char c = *s++; *s; s++)
-      if (c == *s) 
+      if (c == *s)
         return true;
   }
   return false;
@@ -1637,15 +1636,15 @@
   const char *compStr = Accessor->getName();
   if (*compStr == 's' || *compStr == 'S')
     compStr++;
- 
+
   bool isHi =   !strcmp(compStr, "hi");
   bool isLo =   !strcmp(compStr, "lo");
   bool isEven = !strcmp(compStr, "even");
   bool isOdd  = !strcmp(compStr, "odd");
-    
+
   for (unsigned i = 0, e = getNumElements(); i != e; ++i) {
     uint64_t Index;
-    
+
     if (isHi)
       Index = e + i;
     else if (isLo)
@@ -1666,7 +1665,7 @@
                 QualType retType, ObjCMethodDecl *mproto,
                 SourceLocation LBrac, SourceLocation RBrac,
                 Expr **ArgExprs, unsigned nargs)
-  : Expr(ObjCMessageExprClass, retType), SelName(selInfo), 
+  : Expr(ObjCMessageExprClass, retType), SelName(selInfo),
     MethodProto(mproto) {
   NumArgs = nargs;
   SubExprs = new Stmt*[NumArgs+1];
@@ -1679,13 +1678,13 @@
   RBracloc = RBrac;
 }
 
-// constructor for class messages. 
+// constructor for class messages.
 // FIXME: clsName should be typed to ObjCInterfaceType
 ObjCMessageExpr::ObjCMessageExpr(IdentifierInfo *clsName, Selector selInfo,
                 QualType retType, ObjCMethodDecl *mproto,
                 SourceLocation LBrac, SourceLocation RBrac,
                 Expr **ArgExprs, unsigned nargs)
-  : Expr(ObjCMessageExprClass, retType), SelName(selInfo), 
+  : Expr(ObjCMessageExprClass, retType), SelName(selInfo),
     MethodProto(mproto) {
   NumArgs = nargs;
   SubExprs = new Stmt*[NumArgs+1];
@@ -1698,12 +1697,12 @@
   RBracloc = RBrac;
 }
 
-// constructor for class messages. 
+// constructor for class messages.
 ObjCMessageExpr::ObjCMessageExpr(ObjCInterfaceDecl *cls, Selector selInfo,
                                  QualType retType, ObjCMethodDecl *mproto,
                                  SourceLocation LBrac, SourceLocation RBrac,
                                  Expr **ArgExprs, unsigned nargs)
-: Expr(ObjCMessageExprClass, retType), SelName(selInfo), 
+: Expr(ObjCMessageExprClass, retType), SelName(selInfo),
 MethodProto(mproto) {
   NumArgs = nargs;
   SubExprs = new Stmt*[NumArgs+1];
@@ -1753,7 +1752,7 @@
   SubExprs = new (C) Stmt* [NumExprs];
   this->NumExprs = NumExprs;
   memcpy(SubExprs, Exprs, sizeof(Expr *) * NumExprs);
-}  
+}
 
 void ShuffleVectorExpr::DoDestroy(ASTContext& C) {
   DestroyChildren(C);
@@ -1788,17 +1787,17 @@
     return getField()->getIdentifier();
 }
 
-DesignatedInitExpr::DesignatedInitExpr(QualType Ty, unsigned NumDesignators, 
+DesignatedInitExpr::DesignatedInitExpr(QualType Ty, unsigned NumDesignators,
                                        const Designator *Designators,
-                                       SourceLocation EqualOrColonLoc, 
+                                       SourceLocation EqualOrColonLoc,
                                        bool GNUSyntax,
-                                       Expr **IndexExprs, 
+                                       Expr **IndexExprs,
                                        unsigned NumIndexExprs,
                                        Expr *Init)
-  : Expr(DesignatedInitExprClass, Ty, 
+  : Expr(DesignatedInitExprClass, Ty,
          Init->isTypeDependent(), Init->isValueDependent()),
-    EqualOrColonLoc(EqualOrColonLoc), GNUSyntax(GNUSyntax), 
-    NumDesignators(NumDesignators), NumSubExprs(NumIndexExprs + 1) { 
+    EqualOrColonLoc(EqualOrColonLoc), GNUSyntax(GNUSyntax),
+    NumDesignators(NumDesignators), NumSubExprs(NumIndexExprs + 1) {
   this->Designators = new Designator[NumDesignators];
 
   // Record the initializer itself.
@@ -1814,7 +1813,7 @@
     if (this->Designators[I].isArrayDesignator()) {
       // Compute type- and value-dependence.
       Expr *Index = IndexExprs[IndexIdx];
-      ValueDependent = ValueDependent || 
+      ValueDependent = ValueDependent ||
         Index->isTypeDependent() || Index->isValueDependent();
 
       // Copy the index expressions into permanent storage.
@@ -1823,7 +1822,7 @@
       // Compute type- and value-dependence.
       Expr *Start = IndexExprs[IndexIdx];
       Expr *End = IndexExprs[IndexIdx + 1];
-      ValueDependent = ValueDependent || 
+      ValueDependent = ValueDependent ||
         Start->isTypeDependent() || Start->isValueDependent() ||
         End->isTypeDependent() || End->isValueDependent();
 
@@ -1837,7 +1836,7 @@
 }
 
 DesignatedInitExpr *
-DesignatedInitExpr::Create(ASTContext &C, Designator *Designators, 
+DesignatedInitExpr::Create(ASTContext &C, Designator *Designators,
                            unsigned NumDesignators,
                            Expr **IndexExprs, unsigned NumIndexExprs,
                            SourceLocation ColonOrEqualLoc,
@@ -1849,14 +1848,14 @@
                                       IndexExprs, NumIndexExprs, Init);
 }
 
-DesignatedInitExpr *DesignatedInitExpr::CreateEmpty(ASTContext &C, 
+DesignatedInitExpr *DesignatedInitExpr::CreateEmpty(ASTContext &C,
                                                     unsigned NumIndexExprs) {
   void *Mem = C.Allocate(sizeof(DesignatedInitExpr) +
                          sizeof(Stmt *) * (NumIndexExprs + 1), 8);
   return new (Mem) DesignatedInitExpr(NumIndexExprs + 1);
 }
 
-void DesignatedInitExpr::setDesignators(const Designator *Desigs, 
+void DesignatedInitExpr::setDesignators(const Designator *Desigs,
                                         unsigned NumDesigs) {
   if (Designators)
     delete [] Designators;
@@ -1891,7 +1890,7 @@
 }
 
 Expr *DesignatedInitExpr::getArrayRangeStart(const Designator& D) {
-  assert(D.Kind == Designator::ArrayRangeDesignator && 
+  assert(D.Kind == Designator::ArrayRangeDesignator &&
          "Requires array range designator");
   char* Ptr = static_cast<char*>(static_cast<void *>(this));
   Ptr += sizeof(DesignatedInitExpr);
@@ -1900,7 +1899,7 @@
 }
 
 Expr *DesignatedInitExpr::getArrayRangeEnd(const Designator& D) {
-  assert(D.Kind == Designator::ArrayRangeDesignator && 
+  assert(D.Kind == Designator::ArrayRangeDesignator &&
          "Requires array range designator");
   char* Ptr = static_cast<char*>(static_cast<void *>(this));
   Ptr += sizeof(DesignatedInitExpr);
@@ -1910,8 +1909,8 @@
 
 /// \brief Replaces the designator at index @p Idx with the series
 /// of designators in [First, Last).
-void DesignatedInitExpr::ExpandDesignator(unsigned Idx, 
-                                          const Designator *First, 
+void DesignatedInitExpr::ExpandDesignator(unsigned Idx,
+                                          const Designator *First,
                                           const Designator *Last) {
   unsigned NumNewDesignators = Last - First;
   if (NumNewDesignators == 0) {
@@ -1925,7 +1924,7 @@
     return;
   }
 
-  Designator *NewDesignators 
+  Designator *NewDesignators
     = new Designator[NumDesignators - 1 + NumNewDesignators];
   std::copy(Designators, Designators + Idx, NewDesignators);
   std::copy(First, Last, NewDesignators + Idx);
@@ -1941,14 +1940,14 @@
   Expr::DoDestroy(C);
 }
 
-ParenListExpr::ParenListExpr(ASTContext& C, SourceLocation lparenloc, 
+ParenListExpr::ParenListExpr(ASTContext& C, SourceLocation lparenloc,
                              Expr **exprs, unsigned nexprs,
                              SourceLocation rparenloc)
 : Expr(ParenListExprClass, QualType(),
        hasAnyTypeDependentArguments(exprs, nexprs),
-       hasAnyValueDependentArguments(exprs, nexprs)), 
+       hasAnyValueDependentArguments(exprs, nexprs)),
   NumExprs(nexprs), LParenLoc(lparenloc), RParenLoc(rparenloc) {
-  
+
   Exprs = new (C) Stmt*[nexprs];
   for (unsigned i = 0; i != nexprs; ++i)
     Exprs[i] = exprs[i];
@@ -1991,11 +1990,11 @@
 Stmt::child_iterator ObjCPropertyRefExpr::child_end() { return &Base+1; }
 
 // ObjCImplicitSetterGetterRefExpr
-Stmt::child_iterator ObjCImplicitSetterGetterRefExpr::child_begin() { 
-  return &Base; 
+Stmt::child_iterator ObjCImplicitSetterGetterRefExpr::child_begin() {
+  return &Base;
 }
-Stmt::child_iterator ObjCImplicitSetterGetterRefExpr::child_end() { 
-  return &Base+1; 
+Stmt::child_iterator ObjCImplicitSetterGetterRefExpr::child_end() {
+  return &Base+1;
 }
 
 // ObjCSuperExpr
@@ -2039,7 +2038,7 @@
 Stmt::child_iterator UnaryOperator::child_end() { return &Val+1; }
 
 // SizeOfAlignOfExpr
-Stmt::child_iterator SizeOfAlignOfExpr::child_begin() { 
+Stmt::child_iterator SizeOfAlignOfExpr::child_begin() {
   // If this is of a type and the type is a VLA type (and not a typedef), the
   // size expression of the VLA needs to be treated as an executable expression.
   // Why isn't this weirdness documented better in StmtIterator?
@@ -2161,12 +2160,12 @@
 }
 
 // ImplicitValueInitExpr
-Stmt::child_iterator ImplicitValueInitExpr::child_begin() { 
-  return child_iterator(); 
+Stmt::child_iterator ImplicitValueInitExpr::child_begin() {
+  return child_iterator();
 }
 
-Stmt::child_iterator ImplicitValueInitExpr::child_end() { 
-  return child_iterator(); 
+Stmt::child_iterator ImplicitValueInitExpr::child_end() {
+  return child_iterator();
 }
 
 // ParenListExpr
@@ -2178,7 +2177,7 @@
 }
 
 // ObjCStringLiteral
-Stmt::child_iterator ObjCStringLiteral::child_begin() { 
+Stmt::child_iterator ObjCStringLiteral::child_begin() {
   return &String;
 }
 Stmt::child_iterator ObjCStringLiteral::child_end() {
@@ -2190,7 +2189,7 @@
 Stmt::child_iterator ObjCEncodeExpr::child_end() { return child_iterator(); }
 
 // ObjCSelectorExpr
-Stmt::child_iterator ObjCSelectorExpr::child_begin() { 
+Stmt::child_iterator ObjCSelectorExpr::child_begin() {
   return child_iterator();
 }
 Stmt::child_iterator ObjCSelectorExpr::child_end() {
@@ -2206,7 +2205,7 @@
 }
 
 // ObjCMessageExpr
-Stmt::child_iterator ObjCMessageExpr::child_begin() {  
+Stmt::child_iterator ObjCMessageExpr::child_begin() {
   return getReceiver() ? &SubExprs[0] : &SubExprs[0] + ARGS_START;
 }
 Stmt::child_iterator ObjCMessageExpr::child_end() {