r338291 - Remove trailing space

Michael Kruse via cfe-commits cfe-commits at lists.llvm.org
Mon Jul 30 13:24:29 PDT 2018


I think removing trailing space is a good thing. Some editors remove
any trailing space when saving a file. This shows up in diffs that I
then have to undo manually.

Michael


2018-07-30 14:31 GMT-05:00 Aaron Ballman via cfe-commits
<cfe-commits at lists.llvm.org>:
> This is an extraordinary amount of churn for very little value, IMO.
> The same goes for r338291. Were these changes discussed somewhere
> before being committed? I worry about the negative impact for third
> parties having to deal with changes on this scale.
>
> ~Aaron
>
> On Mon, Jul 30, 2018 at 3:24 PM, Fangrui Song via cfe-commits
> <cfe-commits at lists.llvm.org> wrote:
>> Modified: cfe/trunk/lib/Sema/SemaExprObjC.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExprObjC.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Sema/SemaExprObjC.cpp (original)
>> +++ cfe/trunk/lib/Sema/SemaExprObjC.cpp Mon Jul 30 12:24:48 2018
>> @@ -73,7 +73,7 @@ ExprResult Sema::ParseObjCStringLiteral(
>>                                /*Pascal=*/false, StrTy, &StrLocs[0],
>>                                StrLocs.size());
>>    }
>> -
>> +
>>    return BuildObjCStringLiteral(AtLocs[0], S);
>>  }
>>
>> @@ -92,12 +92,12 @@ ExprResult Sema::BuildObjCStringLiteral(
>>    } else if (getLangOpts().NoConstantCFStrings) {
>>      IdentifierInfo *NSIdent=nullptr;
>>      std::string StringClass(getLangOpts().ObjCConstantStringClass);
>> -
>> +
>>      if (StringClass.empty())
>>        NSIdent = &Context.Idents.get("NSConstantString");
>>      else
>>        NSIdent = &Context.Idents.get(StringClass);
>> -
>> +
>>      NamedDecl *IF = LookupSingleName(TUScope, NSIdent, AtLoc,
>>                                       LookupOrdinaryName);
>>      if (ObjCInterfaceDecl *StrIF = dyn_cast_or_null<ObjCInterfaceDecl>(IF)) {
>> @@ -126,10 +126,10 @@ ExprResult Sema::BuildObjCStringLiteral(
>>        // being an 'id' type.
>>        Ty = Context.getObjCNSStringType();
>>        if (Ty.isNull()) {
>> -        ObjCInterfaceDecl *NSStringIDecl =
>> -          ObjCInterfaceDecl::Create (Context,
>> -                                     Context.getTranslationUnitDecl(),
>> -                                     SourceLocation(), NSIdent,
>> +        ObjCInterfaceDecl *NSStringIDecl =
>> +          ObjCInterfaceDecl::Create (Context,
>> +                                     Context.getTranslationUnitDecl(),
>> +                                     SourceLocation(), NSIdent,
>>                                       nullptr, nullptr, SourceLocation());
>>          Ty = Context.getObjCInterfaceType(NSStringIDecl);
>>          Context.setObjCNSStringType(Ty);
>> @@ -252,16 +252,16 @@ static ObjCMethodDecl *getNSNumberFactor
>>      }
>>      return nullptr;
>>    }
>> -
>> +
>>    // If we already looked up this method, we're done.
>>    if (S.NSNumberLiteralMethods[*Kind])
>>      return S.NSNumberLiteralMethods[*Kind];
>> -
>> +
>>    Selector Sel = S.NSAPIObj->getNSNumberLiteralSelector(*Kind,
>>                                                          /*Instance=*/false);
>> -
>> +
>>    ASTContext &CX = S.Context;
>> -
>> +
>>    // Look up the NSNumber class, if we haven't done so already. It's cached
>>    // in the Sema instance.
>>    if (!S.NSNumberDecl) {
>> @@ -277,7 +277,7 @@ static ObjCMethodDecl *getNSNumberFactor
>>      QualType NSNumberObject = CX.getObjCInterfaceType(S.NSNumberDecl);
>>      S.NSNumberPointer = CX.getObjCObjectPointerType(NSNumberObject);
>>    }
>> -
>> +
>>    // Look for the appropriate method within NSNumber.
>>    ObjCMethodDecl *Method = S.NSNumberDecl->lookupClassMethod(Sel);
>>    if (!Method && S.getLangOpts().DebuggerObjCLiteral) {
>> @@ -304,7 +304,7 @@ static ObjCMethodDecl *getNSNumberFactor
>>
>>    // Note: if the parameter type is out-of-line, we'll catch it later in the
>>    // implicit conversion.
>> -
>> +
>>    S.NSNumberLiteralMethods[*Kind] = Method;
>>    return Method;
>>  }
>> @@ -322,21 +322,21 @@ ExprResult Sema::BuildObjCNumericLiteral
>>      case CharacterLiteral::UTF8:
>>        NumberType = Context.CharTy;
>>        break;
>> -
>> +
>>      case CharacterLiteral::Wide:
>>        NumberType = Context.getWideCharType();
>>        break;
>> -
>> +
>>      case CharacterLiteral::UTF16:
>>        NumberType = Context.Char16Ty;
>>        break;
>> -
>> +
>>      case CharacterLiteral::UTF32:
>>        NumberType = Context.Char32Ty;
>>        break;
>>      }
>>    }
>> -
>> +
>>    // Look for the appropriate method within NSNumber.
>>    // Construct the literal.
>>    SourceRange NR(Number->getSourceRange());
>> @@ -355,33 +355,33 @@ ExprResult Sema::BuildObjCNumericLiteral
>>    if (ConvertedNumber.isInvalid())
>>      return ExprError();
>>    Number = ConvertedNumber.get();
>> -
>> +
>>    // Use the effective source range of the literal, including the leading '@'.
>>    return MaybeBindToTemporary(
>>             new (Context) ObjCBoxedExpr(Number, NSNumberPointer, Method,
>>                                         SourceRange(AtLoc, NR.getEnd())));
>>  }
>>
>> -ExprResult Sema::ActOnObjCBoolLiteral(SourceLocation AtLoc,
>> +ExprResult Sema::ActOnObjCBoolLiteral(SourceLocation AtLoc,
>>                                        SourceLocation ValueLoc,
>>                                        bool Value) {
>>    ExprResult Inner;
>>    if (getLangOpts().CPlusPlus) {
>>      Inner = ActOnCXXBoolLiteral(ValueLoc, Value? tok::kw_true : tok::kw_false);
>>    } else {
>> -    // C doesn't actually have a way to represent literal values of type
>> +    // C doesn't actually have a way to represent literal values of type
>>      // _Bool. So, we'll use 0/1 and implicit cast to _Bool.
>>      Inner = ActOnIntegerConstant(ValueLoc, Value? 1 : 0);
>> -    Inner = ImpCastExprToType(Inner.get(), Context.BoolTy,
>> +    Inner = ImpCastExprToType(Inner.get(), Context.BoolTy,
>>                                CK_IntegralToBoolean);
>>    }
>> -
>> +
>>    return BuildObjCNumericLiteral(AtLoc, Inner.get());
>>  }
>>
>>  /// Check that the given expression is a valid element of an Objective-C
>>  /// collection literal.
>> -static ExprResult CheckObjCCollectionLiteralElement(Sema &S, Expr *Element,
>> +static ExprResult CheckObjCCollectionLiteralElement(Sema &S, Expr *Element,
>>                                                      QualType T,
>>                                                      bool ArrayLiteral = false) {
>>    // If the expression is type-dependent, there's nothing for us to do.
>> @@ -393,7 +393,7 @@ static ExprResult CheckObjCCollectionLit
>>      return ExprError();
>>    Element = Result.get();
>>
>> -  // In C++, check for an implicit conversion to an Objective-C object pointer
>> +  // In C++, check for an implicit conversion to an Objective-C object pointer
>>    // type.
>>    if (S.getLangOpts().CPlusPlus && Element->getType()->isRecordType()) {
>>      InitializedEntity Entity
>> @@ -413,15 +413,15 @@ static ExprResult CheckObjCCollectionLit
>>    Result = S.DefaultLvalueConversion(Element);
>>    if (Result.isInvalid())
>>      return ExprError();
>> -  Element = Result.get();
>> +  Element = Result.get();
>>
>>    // Make sure that we have an Objective-C pointer type or block.
>>    if (!Element->getType()->isObjCObjectPointerType() &&
>>        !Element->getType()->isBlockPointerType()) {
>>      bool Recovered = false;
>> -
>> +
>>      // If this is potentially an Objective-C numeric literal, add the '@'.
>> -    if (isa<IntegerLiteral>(OrigElement) ||
>> +    if (isa<IntegerLiteral>(OrigElement) ||
>>          isa<CharacterLiteral>(OrigElement) ||
>>          isa<FloatingLiteral>(OrigElement) ||
>>          isa<ObjCBoolLiteralExpr>(OrigElement) ||
>> @@ -431,16 +431,16 @@ static ExprResult CheckObjCCollectionLit
>>                    : (isa<CXXBoolLiteralExpr>(OrigElement) ||
>>                       isa<ObjCBoolLiteralExpr>(OrigElement)) ? 2
>>                    : 3;
>> -
>> +
>>          S.Diag(OrigElement->getLocStart(), diag::err_box_literal_collection)
>>            << Which << OrigElement->getSourceRange()
>>            << FixItHint::CreateInsertion(OrigElement->getLocStart(), "@");
>> -
>> +
>>          Result = S.BuildObjCNumericLiteral(OrigElement->getLocStart(),
>>                                             OrigElement);
>>          if (Result.isInvalid())
>>            return ExprError();
>> -
>> +
>>          Element = Result.get();
>>          Recovered = true;
>>        }
>> @@ -455,12 +455,12 @@ static ExprResult CheckObjCCollectionLit
>>          Result = S.BuildObjCStringLiteral(OrigElement->getLocStart(), String);
>>          if (Result.isInvalid())
>>            return ExprError();
>> -
>> +
>>          Element = Result.get();
>>          Recovered = true;
>>        }
>>      }
>> -
>> +
>>      if (!Recovered) {
>>        S.Diag(Element->getLocStart(), diag::err_invalid_collection_element)
>>          << Element->getType();
>> @@ -488,17 +488,17 @@ static ExprResult CheckObjCCollectionLit
>>        }
>>      }
>>
>> -  // Make sure that the element has the type that the container factory
>> -  // function expects.
>> +  // Make sure that the element has the type that the container factory
>> +  // function expects.
>>    return S.PerformCopyInitialization(
>> -           InitializedEntity::InitializeParameter(S.Context, T,
>> +           InitializedEntity::InitializeParameter(S.Context, T,
>>                                                    /*Consumed=*/false),
>>             Element->getLocStart(), Element);
>>  }
>>
>>  ExprResult Sema::BuildObjCBoxedExpr(SourceRange SR, Expr *ValueExpr) {
>>    if (ValueExpr->isTypeDependent()) {
>> -    ObjCBoxedExpr *BoxedExpr =
>> +    ObjCBoxedExpr *BoxedExpr =
>>        new (Context) ObjCBoxedExpr(ValueExpr, Context.DependentTy, nullptr, SR);
>>      return BoxedExpr;
>>    }
>> @@ -525,7 +525,7 @@ ExprResult Sema::BuildObjCBoxedExpr(Sour
>>          QualType NSStringObject = Context.getObjCInterfaceType(NSStringDecl);
>>          NSStringPointer = Context.getObjCObjectPointerType(NSStringObject);
>>        }
>> -
>> +
>>        if (!StringWithUTF8StringMethod) {
>>          IdentifierInfo *II = &Context.Idents.get("stringWithUTF8String");
>>          Selector stringWithUTF8String = Context.Selectors.getUnarySelector(II);
>> @@ -561,7 +561,7 @@ ExprResult Sema::BuildObjCBoxedExpr(Sour
>>
>>          StringWithUTF8StringMethod = BoxingMethod;
>>        }
>> -
>> +
>>        BoxingMethod = StringWithUTF8StringMethod;
>>        BoxedType = NSStringPointer;
>>        // Transfer the nullability from method's return type.
>> @@ -588,22 +588,22 @@ ExprResult Sema::BuildObjCBoxedExpr(Sour
>>        case CharacterLiteral::UTF8:
>>          ValueType = Context.CharTy;
>>          break;
>> -
>> +
>>        case CharacterLiteral::Wide:
>>          ValueType = Context.getWideCharType();
>>          break;
>> -
>> +
>>        case CharacterLiteral::UTF16:
>>          ValueType = Context.Char16Ty;
>>          break;
>> -
>> +
>>        case CharacterLiteral::UTF32:
>>          ValueType = Context.Char32Ty;
>>          break;
>>        }
>>      }
>>      // FIXME:  Do I need to do anything special with BoolTy expressions?
>> -
>> +
>>      // Look for the appropriate method within NSNumber.
>>      BoxingMethod = getNSNumberFactoryMethod(*this, Loc, ValueType);
>>      BoxedType = NSNumberPointer;
>> @@ -620,7 +620,7 @@ ExprResult Sema::BuildObjCBoxedExpr(Sour
>>    } else if (ValueType->isObjCBoxableRecordType()) {
>>      // Support for structure types, that marked as objc_boxable
>>      // struct __attribute__((objc_boxable)) s { ... };
>> -
>> +
>>      // Look up the NSValue class, if we haven't done so already. It's cached
>>      // in the Sema instance.
>>      if (!NSValueDecl) {
>> @@ -634,14 +634,14 @@ ExprResult Sema::BuildObjCBoxedExpr(Sour
>>        QualType NSValueObject = Context.getObjCInterfaceType(NSValueDecl);
>>        NSValuePointer = Context.getObjCObjectPointerType(NSValueObject);
>>      }
>> -
>> +
>>      if (!ValueWithBytesObjCTypeMethod) {
>>        IdentifierInfo *II[] = {
>>          &Context.Idents.get("valueWithBytes"),
>>          &Context.Idents.get("objCType")
>>        };
>>        Selector ValueWithBytesObjCType = Context.Selectors.getSelector(2, II);
>> -
>> +
>>        // Look for the appropriate method within NSValue.
>>        BoxingMethod = NSValueDecl->lookupClassMethod(ValueWithBytesObjCType);
>>        if (!BoxingMethod && getLangOpts().DebuggerObjCLiteral) {
>> @@ -662,9 +662,9 @@ ExprResult Sema::BuildObjCBoxedExpr(Sour
>>                                                 /*isDefined=*/false,
>>                                                 ObjCMethodDecl::Required,
>>                                                 /*HasRelatedResultType=*/false);
>> -
>> +
>>          SmallVector<ParmVarDecl *, 2> Params;
>> -
>> +
>>          ParmVarDecl *bytes =
>>          ParmVarDecl::Create(Context, M,
>>                              SourceLocation(), SourceLocation(),
>> @@ -673,7 +673,7 @@ ExprResult Sema::BuildObjCBoxedExpr(Sour
>>                              /*TInfo=*/nullptr,
>>                              SC_None, nullptr);
>>          Params.push_back(bytes);
>> -
>> +
>>          QualType ConstCharType = Context.CharTy.withConst();
>>          ParmVarDecl *type =
>>          ParmVarDecl::Create(Context, M,
>> @@ -683,18 +683,18 @@ ExprResult Sema::BuildObjCBoxedExpr(Sour
>>                              /*TInfo=*/nullptr,
>>                              SC_None, nullptr);
>>          Params.push_back(type);
>> -
>> +
>>          M->setMethodParams(Context, Params, None);
>>          BoxingMethod = M;
>>        }
>> -
>> +
>>        if (!validateBoxingMethod(*this, Loc, NSValueDecl,
>>                                  ValueWithBytesObjCType, BoxingMethod))
>>          return ExprError();
>> -
>> +
>>        ValueWithBytesObjCTypeMethod = BoxingMethod;
>>      }
>> -
>> +
>>      if (!ValueType.isTriviallyCopyableType(Context)) {
>>        Diag(Loc, diag::err_objc_non_trivially_copyable_boxed_expression_type)
>>          << ValueType << ValueExpr->getSourceRange();
>> @@ -710,13 +710,13 @@ ExprResult Sema::BuildObjCBoxedExpr(Sour
>>        << ValueType << ValueExpr->getSourceRange();
>>      return ExprError();
>>    }
>> -
>> +
>>    DiagnoseUseOfDecl(BoxingMethod, Loc);
>>
>>    ExprResult ConvertedValueExpr;
>>    if (ValueType->isObjCBoxableRecordType()) {
>>      InitializedEntity IE = InitializedEntity::InitializeTemporary(ValueType);
>> -    ConvertedValueExpr = PerformCopyInitialization(IE, ValueExpr->getExprLoc(),
>> +    ConvertedValueExpr = PerformCopyInitialization(IE, ValueExpr->getExprLoc(),
>>                                                     ValueExpr);
>>    } else {
>>      // Convert the expression to the type that the parameter requires.
>> @@ -726,12 +726,12 @@ ExprResult Sema::BuildObjCBoxedExpr(Sour
>>      ConvertedValueExpr = PerformCopyInitialization(IE, SourceLocation(),
>>                                                     ValueExpr);
>>    }
>> -
>> +
>>    if (ConvertedValueExpr.isInvalid())
>>      return ExprError();
>>    ValueExpr = ConvertedValueExpr.get();
>> -
>> -  ObjCBoxedExpr *BoxedExpr =
>> +
>> +  ObjCBoxedExpr *BoxedExpr =
>>      new (Context) ObjCBoxedExpr(ValueExpr, BoxedType,
>>                                        BoxingMethod, SR);
>>    return MaybeBindToTemporary(BoxedExpr);
>> @@ -756,7 +756,7 @@ ExprResult Sema::BuildObjCSubscriptExpre
>>    if (Result.isInvalid())
>>      return ExprError();
>>    IndexExpr = Result.get();
>> -
>> +
>>    // Perform lvalue-to-rvalue conversion on the base.
>>    Result = DefaultLvalueConversion(BaseExpr);
>>    if (Result.isInvalid())
>> @@ -821,24 +821,24 @@ ExprResult Sema::BuildObjCArrayLiteral(S
>>      // Dig out the type that all elements should be converted to.
>>      QualType T = Method->parameters()[0]->getType();
>>      const PointerType *PtrT = T->getAs<PointerType>();
>> -    if (!PtrT ||
>> +    if (!PtrT ||
>>          !Context.hasSameUnqualifiedType(PtrT->getPointeeType(), IdT)) {
>>        Diag(SR.getBegin(), diag::err_objc_literal_method_sig)
>>          << Sel;
>>        Diag(Method->parameters()[0]->getLocation(),
>>             diag::note_objc_literal_method_param)
>> -        << 0 << T
>> +        << 0 << T
>>          << Context.getPointerType(IdT.withConst());
>>        return ExprError();
>>      }
>> -
>> +
>>      // Check that the 'count' parameter is integral.
>>      if (!Method->parameters()[1]->getType()->isIntegerType()) {
>>        Diag(SR.getBegin(), diag::err_objc_literal_method_sig)
>>          << Sel;
>>        Diag(Method->parameters()[1]->getLocation(),
>>             diag::note_objc_literal_method_param)
>> -        << 1
>> +        << 1
>>          << Method->parameters()[1]->getType()
>>          << "integral";
>>        return ExprError();
>> @@ -860,11 +860,11 @@ ExprResult Sema::BuildObjCArrayLiteral(S
>>                                                               RequiredType, true);
>>      if (Converted.isInvalid())
>>        return ExprError();
>> -
>> +
>>      ElementsBuffer[I] = Converted.get();
>>    }
>> -
>> -  QualType Ty
>> +
>> +  QualType Ty
>>      = Context.getObjCObjectPointerType(
>>                                      Context.getObjCInterfaceType(NSArrayDecl));
>>
>> @@ -893,7 +893,7 @@ ExprResult Sema::BuildObjCDictionaryLite
>>                                 NSAPI::NSDict_dictionaryWithObjectsForKeysCount);
>>      ObjCMethodDecl *Method = NSDictionaryDecl->lookupClassMethod(Sel);
>>      if (!Method && getLangOpts().DebuggerObjCLiteral) {
>> -      Method = ObjCMethodDecl::Create(Context,
>> +      Method = ObjCMethodDecl::Create(Context,
>>                             SourceLocation(), SourceLocation(), Sel,
>>                             IdT,
>>                             nullptr /*TypeSourceInfo */,
>> @@ -938,7 +938,7 @@ ExprResult Sema::BuildObjCDictionaryLite
>>      // Dig out the type that all values should be converted to.
>>      QualType ValueT = Method->parameters()[0]->getType();
>>      const PointerType *PtrValue = ValueT->getAs<PointerType>();
>> -    if (!PtrValue ||
>> +    if (!PtrValue ||
>>          !Context.hasSameUnqualifiedType(PtrValue->getPointeeType(), IdT)) {
>>        Diag(SR.getBegin(), diag::err_objc_literal_method_sig)
>>          << Sel;
>> @@ -952,7 +952,7 @@ ExprResult Sema::BuildObjCDictionaryLite
>>      // Dig out the type that all keys should be converted to.
>>      QualType KeyT = Method->parameters()[1]->getType();
>>      const PointerType *PtrKey = KeyT->getAs<PointerType>();
>> -    if (!PtrKey ||
>> +    if (!PtrKey ||
>>          !Context.hasSameUnqualifiedType(PtrKey->getPointeeType(),
>>                                          IdT)) {
>>        bool err = true;
>> @@ -962,7 +962,7 @@ ExprResult Sema::BuildObjCDictionaryLite
>>            if (ObjCProtocolDecl *NSCopyingPDecl =
>>                LookupProtocol(&Context.Idents.get("NSCopying"), SR.getBegin())) {
>>              ObjCProtocolDecl *PQ[] = {NSCopyingPDecl};
>> -            QIDNSCopying =
>> +            QIDNSCopying =
>>                Context.getObjCObjectType(Context.ObjCBuiltinIdTy, { },
>>                                          llvm::makeArrayRef(
>>                                            (ObjCProtocolDecl**) PQ,
>> @@ -975,7 +975,7 @@ ExprResult Sema::BuildObjCDictionaryLite
>>            err = !Context.hasSameUnqualifiedType(PtrKey->getPointeeType(),
>>                                                  QIDNSCopying);
>>        }
>> -
>> +
>>        if (err) {
>>          Diag(SR.getBegin(), diag::err_objc_literal_method_sig)
>>            << Sel;
>> @@ -1008,7 +1008,7 @@ ExprResult Sema::BuildObjCDictionaryLite
>>    QualType KeysT = DictionaryWithObjectsMethod->parameters()[1]->getType();
>>    QualType KeyT = KeysT->castAs<PointerType>()->getPointeeType();
>>
>> -  // Check that each of the keys and values provided is valid in a collection
>> +  // Check that each of the keys and values provided is valid in a collection
>>    // literal, performing conversions as necessary.
>>    bool HasPackExpansions = false;
>>    for (ObjCDictionaryElement &Element : Elements) {
>> @@ -1017,19 +1017,19 @@ ExprResult Sema::BuildObjCDictionaryLite
>>                                                         KeyT);
>>      if (Key.isInvalid())
>>        return ExprError();
>> -
>> +
>>      // Check the value.
>>      ExprResult Value
>>        = CheckObjCCollectionLiteralElement(*this, Element.Value, ValueT);
>>      if (Value.isInvalid())
>>        return ExprError();
>> -
>> +
>>      Element.Key = Key.get();
>>      Element.Value = Value.get();
>> -
>> +
>>      if (Element.EllipsisLoc.isInvalid())
>>        continue;
>> -
>> +
>>      if (!Element.Key->containsUnexpandedParameterPack() &&
>>          !Element.Value->containsUnexpandedParameterPack()) {
>>        Diag(Element.EllipsisLoc,
>> @@ -1038,10 +1038,10 @@ ExprResult Sema::BuildObjCDictionaryLite
>>                         Element.Value->getLocEnd());
>>        return ExprError();
>>      }
>> -
>> +
>>      HasPackExpansions = true;
>>    }
>> -
>> +
>>    QualType Ty
>>      = Context.getObjCObjectPointerType(
>>                                  Context.getObjCInterfaceType(NSDictionaryDecl));
>> @@ -1147,7 +1147,7 @@ static void DiagnoseMismatchedSelectors(
>>      if (HelperToDiagnoseMismatchedMethodsInGlobalPool(S, AtLoc, LParenLoc, RParenLoc,
>>                                                        Method, InstMethList))
>>        Warned = true;
>> -
>> +
>>      // second, class methods
>>      ObjCMethodList &ClsMethList = b->second.second;
>>      if (HelperToDiagnoseMismatchedMethodsInGlobalPool(S, AtLoc, LParenLoc, RParenLoc,
>> @@ -1175,7 +1175,7 @@ ExprResult Sema::ParseObjCSelectorExpres
>>        Diag(SelLoc, diag::warn_undeclared_selector_with_typo)
>>          << Sel << MatchedSel
>>          << FixItHint::CreateReplacement(SelectorRange, MatchedSel.getAsString());
>> -
>> +
>>      } else
>>          Diag(SelLoc, diag::warn_undeclared_selector) << Sel;
>>    } else
>> @@ -1187,7 +1187,7 @@ ExprResult Sema::ParseObjCSelectorExpres
>>        !getSourceManager().isInSystemHeader(Method->getLocation()))
>>      ReferencedSelectors.insert(std::make_pair(Sel, AtLoc));
>>
>> -  // In ARC, forbid the user from using @selector for
>> +  // In ARC, forbid the user from using @selector for
>>    // retain/release/autorelease/dealloc/retainCount.
>>    if (getLangOpts().ObjCAutoRefCount) {
>>      switch (Sel.getMethodFamily()) {
>> @@ -1196,7 +1196,7 @@ ExprResult Sema::ParseObjCSelectorExpres
>>      case OMF_autorelease:
>>      case OMF_retainCount:
>>      case OMF_dealloc:
>> -      Diag(AtLoc, diag::err_arc_illegal_selector) <<
>> +      Diag(AtLoc, diag::err_arc_illegal_selector) <<
>>          Sel << SourceRange(LParenLoc, RParenLoc);
>>        break;
>>
>> @@ -1269,7 +1269,7 @@ static QualType stripObjCInstanceType(AS
>>
>>    if (T == Context.getObjCInstanceType())
>>      return Context.getObjCIdType();
>> -
>> +
>>    return origType;
>>  }
>>
>> @@ -1313,7 +1313,7 @@ static QualType getBaseMessageSendResult
>>    //     was a class message send, T is the declared return type of the method
>>    //     found
>>    if (Method->isInstanceMethod() && isClassMessage)
>> -    return stripObjCInstanceType(Context,
>> +    return stripObjCInstanceType(Context,
>>                                   Method->getSendResultType(ReceiverType));
>>
>>    //   - if the receiver is super, T is a pointer to the class of the
>> @@ -1334,7 +1334,7 @@ static QualType getBaseMessageSendResult
>>    //     T is the declared return type of the method.
>>    if (ReceiverType->isObjCClassType() ||
>>        ReceiverType->isObjCQualifiedClassType())
>> -    return stripObjCInstanceType(Context,
>> +    return stripObjCInstanceType(Context,
>>                                   Method->getSendResultType(ReceiverType));
>>
>>    //   - if the receiver is id, qualified id, Class, or qualified Class, T
>> @@ -1424,14 +1424,14 @@ findExplicitInstancetypeDeclarer(const O
>>    if (const ObjCImplDecl *impl =
>>          dyn_cast<ObjCImplDecl>(MD->getDeclContext())) {
>>      const ObjCContainerDecl *iface;
>> -    if (const ObjCCategoryImplDecl *catImpl =
>> +    if (const ObjCCategoryImplDecl *catImpl =
>>            dyn_cast<ObjCCategoryImplDecl>(impl)) {
>>        iface = catImpl->getCategoryDecl();
>>      } else {
>>        iface = impl->getClassInterface();
>>      }
>>
>> -    const ObjCMethodDecl *ifaceMD =
>> +    const ObjCMethodDecl *ifaceMD =
>>        iface->getMethod(MD->getSelector(), MD->isInstanceMethod());
>>      if (ifaceMD) return findExplicitInstancetypeDeclarer(ifaceMD, instancetype);
>>    }
>> @@ -1481,11 +1481,11 @@ void Sema::EmitRelatedResultTypeNote(con
>>    const ObjCMessageExpr *MsgSend = dyn_cast<ObjCMessageExpr>(E);
>>    if (!MsgSend)
>>      return;
>> -
>> +
>>    const ObjCMethodDecl *Method = MsgSend->getMethodDecl();
>>    if (!Method)
>>      return;
>> -
>> +
>>    if (!Method->hasRelatedResultType())
>>      return;
>>
>> @@ -1496,7 +1496,7 @@ void Sema::EmitRelatedResultTypeNote(con
>>    if (!Context.hasSameUnqualifiedType(Method->getReturnType(),
>>                                        Context.getObjCInstanceType()))
>>      return;
>> -
>> +
>>    Diag(Method->getLocation(), diag::note_related_result_type_inferred)
>>      << Method->isInstanceMethod() << Method->getSelector()
>>      << MsgSend->getType();
>> @@ -1560,7 +1560,7 @@ bool Sema::CheckMessageArgumentTypes(Qua
>>        }
>>        else
>>          Diag(SelLoc, DiagID)
>> -          << Sel << isClassMessage << SourceRange(SelectorLocs.front(),
>> +          << Sel << isClassMessage << SourceRange(SelectorLocs.front(),
>>                                                  SelectorLocs.back());
>>        // Find the class to which we are sending this message.
>>        if (ReceiverType->isObjCObjectPointerType()) {
>> @@ -1587,7 +1587,7 @@ bool Sema::CheckMessageArgumentTypes(Qua
>>      return false;
>>    }
>>
>> -  ReturnType = getMessageSendResultType(ReceiverType, Method, isClassMessage,
>> +  ReturnType = getMessageSendResultType(ReceiverType, Method, isClassMessage,
>>                                          isSuperMessage);
>>    VK = Expr::getValueKindForType(Method->getReturnType());
>>
>> @@ -1751,7 +1751,7 @@ ObjCMethodDecl *Sema::LookupMethodInObje
>>    return nullptr;
>>  }
>>
>> -/// LookupMethodInQualifiedType - Lookups up a method in protocol qualifier
>> +/// LookupMethodInQualifiedType - Lookups up a method in protocol qualifier
>>  /// list of a qualified objective pointer type.
>>  ObjCMethodDecl *Sema::LookupMethodInQualifiedType(Selector Sel,
>>                                                const ObjCObjectPointerType *OPT,
>> @@ -1785,14 +1785,14 @@ HandleExprPropertyRefExpr(const ObjCObje
>>    }
>>
>>    IdentifierInfo *Member = MemberName.getAsIdentifierInfo();
>> -
>> +
>>    SourceRange BaseRange = Super? SourceRange(SuperLoc)
>>                                 : BaseExpr->getSourceRange();
>> -  if (RequireCompleteType(MemberLoc, OPT->getPointeeType(),
>> +  if (RequireCompleteType(MemberLoc, OPT->getPointeeType(),
>>                            diag::err_property_not_found_forward_class,
>>                            MemberName, BaseRange))
>>      return ExprError();
>> -
>> +
>>    if (ObjCPropertyDecl *PD = IFace->FindPropertyDeclaration(
>>            Member, ObjCPropertyQueryKind::OBJC_PR_query_instance)) {
>>      // Check whether we can reference this property.
>> @@ -1832,7 +1832,7 @@ HandleExprPropertyRefExpr(const ObjCObje
>>
>>    Selector Sel = PP.getSelectorTable().getNullarySelector(Member);
>>    ObjCMethodDecl *Getter = IFace->lookupInstanceMethod(Sel);
>> -
>> +
>>    // May be found in property's qualified list.
>>    if (!Getter)
>>      Getter = LookupMethodInQualifiedType(Sel, OPT, true);
>> @@ -1852,17 +1852,17 @@ HandleExprPropertyRefExpr(const ObjCObje
>>      SelectorTable::constructSetterSelector(PP.getIdentifierTable(),
>>                                             PP.getSelectorTable(), Member);
>>    ObjCMethodDecl *Setter = IFace->lookupInstanceMethod(SetterSel);
>> -
>> +
>>    // May be found in property's qualified list.
>>    if (!Setter)
>>      Setter = LookupMethodInQualifiedType(SetterSel, OPT, true);
>> -
>> +
>>    if (!Setter) {
>>      // If this reference is in an @implementation, also check for 'private'
>>      // methods.
>>      Setter = IFace->lookupPrivateMethod(SetterSel);
>>    }
>> -
>> +
>>    if (Setter && DiagnoseUseOfDecl(Setter, MemberLoc))
>>      return ExprError();
>>
>> @@ -1926,23 +1926,23 @@ HandleExprPropertyRefExpr(const ObjCObje
>>      }
>>    }
>>    ObjCInterfaceDecl *ClassDeclared;
>> -  if (ObjCIvarDecl *Ivar =
>> +  if (ObjCIvarDecl *Ivar =
>>        IFace->lookupInstanceVariable(Member, ClassDeclared)) {
>>      QualType T = Ivar->getType();
>> -    if (const ObjCObjectPointerType * OBJPT =
>> +    if (const ObjCObjectPointerType * OBJPT =
>>          T->getAsObjCInterfacePointerType()) {
>> -      if (RequireCompleteType(MemberLoc, OBJPT->getPointeeType(),
>> +      if (RequireCompleteType(MemberLoc, OBJPT->getPointeeType(),
>>                                diag::err_property_not_as_forward_class,
>>                                MemberName, BaseExpr))
>>          return ExprError();
>>      }
>> -    Diag(MemberLoc,
>> +    Diag(MemberLoc,
>>           diag::err_ivar_access_using_property_syntax_suggest)
>>      << MemberName << QualType(OPT, 0) << Ivar->getDeclName()
>>      << FixItHint::CreateReplacement(OpLoc, "->");
>>      return ExprError();
>>    }
>> -
>> +
>>    Diag(MemberLoc, diag::err_property_not_found)
>>      << MemberName << QualType(OPT, 0);
>>    if (Setter)
>> @@ -2086,10 +2086,10 @@ Sema::ObjCMessageKind Sema::getObjCMessa
>>    // trailing dot, it's an instance message.
>>    if (IsSuper && S->isInObjcMethodScope())
>>      return HasTrailingDot? ObjCInstanceMessage : ObjCSuperMessage;
>> -
>> +
>>    LookupResult Result(*this, Name, NameLoc, LookupOrdinaryName);
>>    LookupName(Result, S);
>> -
>> +
>>    switch (Result.getResultKind()) {
>>    case LookupResult::NotFound:
>>      // Normal name lookup didn't find anything. If we're in an
>> @@ -2103,11 +2103,11 @@ Sema::ObjCMessageKind Sema::getObjCMessa
>>        }
>>
>>        ObjCInterfaceDecl *ClassDeclared;
>> -      if (Method->getClassInterface()->lookupInstanceVariable(Name,
>> +      if (Method->getClassInterface()->lookupInstanceVariable(Name,
>>                                                                ClassDeclared))
>>          return ObjCInstanceMessage;
>>      }
>> -
>> +
>>      // Break out; we'll perform typo correction below.
>>      break;
>>
>> @@ -2171,7 +2171,7 @@ Sema::ObjCMessageKind Sema::getObjCMessa
>>    return ObjCInstanceMessage;
>>  }
>>
>> -ExprResult Sema::ActOnSuperMessage(Scope *S,
>> +ExprResult Sema::ActOnSuperMessage(Scope *S,
>>                                     SourceLocation SuperLoc,
>>                                     Selector Sel,
>>                                     SourceLocation LBracLoc,
>> @@ -2213,7 +2213,7 @@ ExprResult Sema::ActOnSuperMessage(Scope
>>                                  Sel, /*Method=*/nullptr,
>>                                  LBracLoc, SelectorLocs, RBracLoc, Args);
>>    }
>> -
>> +
>>    // Since we are in a class method, this is a class message to
>>    // the superclass.
>>    return BuildClassMessage(/*ReceiverTypeInfo=*/nullptr,
>> @@ -2353,7 +2353,7 @@ DiagnoseCStringFormatDirectiveInObjCAPI(
>>    }
>>    if (!Format || NumArgs <= Idx)
>>      return;
>> -
>> +
>>    Expr *FormatExpr = Args[Idx];
>>    if (ObjCStringLiteral *OSL =
>>        dyn_cast<ObjCStringLiteral>(FormatExpr->IgnoreParenImpCasts())) {
>> @@ -2401,7 +2401,7 @@ ExprResult Sema::BuildClassMessage(TypeS
>>                                     SourceLocation SuperLoc,
>>                                     Selector Sel,
>>                                     ObjCMethodDecl *Method,
>> -                                   SourceLocation LBracLoc,
>> +                                   SourceLocation LBracLoc,
>>                                     ArrayRef<SourceLocation> SelectorLocs,
>>                                     SourceLocation RBracLoc,
>>                                     MultiExprArg ArgsIn,
>> @@ -2431,7 +2431,7 @@ ExprResult Sema::BuildClassMessage(TypeS
>>          SelectorLocs, /*Method=*/nullptr, makeArrayRef(Args, NumArgs), RBracLoc,
>>          isImplicit);
>>    }
>> -
>> +
>>    // Find the class to which we are sending this message.
>>    ObjCInterfaceDecl *Class = nullptr;
>>    const ObjCObjectType *ClassType = ReceiverType->getAs<ObjCObjectType>();
>> @@ -2446,7 +2446,7 @@ ExprResult Sema::BuildClassMessage(TypeS
>>      (void)DiagnoseUseOfDecl(Class, SelectorSlotLocs);
>>    // Find the method we are messaging.
>>    if (!Method) {
>> -    SourceRange TypeRange
>> +    SourceRange TypeRange
>>        = SuperLoc.isValid()? SourceRange(SuperLoc)
>>                            : ReceiverTypeInfo->getTypeLoc().getSourceRange();
>>      if (RequireCompleteType(Loc, Context.getObjCInterfaceType(Class),
>> @@ -2455,7 +2455,7 @@ ExprResult Sema::BuildClassMessage(TypeS
>>                                 : diag::warn_receiver_forward_class),
>>                              TypeRange)) {
>>        // A forward class used in messaging is treated as a 'Class'
>> -      Method = LookupFactoryMethodInGlobalPool(Sel,
>> +      Method = LookupFactoryMethodInGlobalPool(Sel,
>>                                                 SourceRange(LBracLoc, RBracLoc));
>>        if (Method && !getLangOpts().ObjCAutoRefCount)
>>          Diag(Method->getLocation(), diag::note_method_sent_forward_class)
>> @@ -2490,7 +2490,7 @@ ExprResult Sema::BuildClassMessage(TypeS
>>        RequireCompleteType(LBracLoc, Method->getReturnType(),
>>                            diag::err_illegal_message_expr_incomplete_type))
>>      return ExprError();
>> -
>> +
>>    // Warn about explicit call of +initialize on its own class. But not on 'super'.
>>    if (Method && Method->getMethodFamily() == OMF_initialize) {
>>      if (!SuperLoc.isValid()) {
>> @@ -2513,19 +2513,19 @@ ExprResult Sema::BuildClassMessage(TypeS
>>        }
>>      }
>>    }
>> -
>> +
>>    DiagnoseCStringFormatDirectiveInObjCAPI(*this, Method, Sel, Args, NumArgs);
>> -
>> +
>>    // Construct the appropriate ObjCMessageExpr.
>>    ObjCMessageExpr *Result;
>>    if (SuperLoc.isValid())
>> -    Result = ObjCMessageExpr::Create(Context, ReturnType, VK, LBracLoc,
>> -                                     SuperLoc, /*IsInstanceSuper=*/false,
>> +    Result = ObjCMessageExpr::Create(Context, ReturnType, VK, LBracLoc,
>> +                                     SuperLoc, /*IsInstanceSuper=*/false,
>>                                       ReceiverType, Sel, SelectorLocs,
>>                                       Method, makeArrayRef(Args, NumArgs),
>>                                       RBracLoc, isImplicit);
>>    else {
>> -    Result = ObjCMessageExpr::Create(Context, ReturnType, VK, LBracLoc,
>> +    Result = ObjCMessageExpr::Create(Context, ReturnType, VK, LBracLoc,
>>                                       ReceiverTypeInfo, Sel, SelectorLocs,
>>                                       Method, makeArrayRef(Args, NumArgs),
>>                                       RBracLoc, isImplicit);
>> @@ -2541,7 +2541,7 @@ ExprResult Sema::BuildClassMessage(TypeS
>>  // ActOnClassMessage - used for both unary and keyword messages.
>>  // ArgExprs is optional - if it is present, the number of expressions
>>  // is obtained from Sel.getNumArgs().
>> -ExprResult Sema::ActOnClassMessage(Scope *S,
>> +ExprResult Sema::ActOnClassMessage(Scope *S,
>>                                     ParsedType Receiver,
>>                                     Selector Sel,
>>                                     SourceLocation LBracLoc,
>> @@ -2556,7 +2556,7 @@ ExprResult Sema::ActOnClassMessage(Scope
>>    if (!ReceiverTypeInfo)
>>      ReceiverTypeInfo = Context.getTrivialTypeSourceInfo(ReceiverType, LBracLoc);
>>
>> -  return BuildClassMessage(ReceiverTypeInfo, ReceiverType,
>> +  return BuildClassMessage(ReceiverTypeInfo, ReceiverType,
>>                             /*SuperLoc=*/SourceLocation(), Sel,
>>                             /*Method=*/nullptr, LBracLoc, SelectorLocs, RBracLoc,
>>                             Args);
>> @@ -2625,7 +2625,7 @@ ExprResult Sema::BuildInstanceMessage(Ex
>>                                        SourceLocation SuperLoc,
>>                                        Selector Sel,
>>                                        ObjCMethodDecl *Method,
>> -                                      SourceLocation LBracLoc,
>> +                                      SourceLocation LBracLoc,
>>                                        ArrayRef<SourceLocation> SelectorLocs,
>>                                        SourceLocation RBracLoc,
>>                                        MultiExprArg ArgsIn,
>> @@ -2691,15 +2691,15 @@ ExprResult Sema::BuildInstanceMessage(Ex
>>        // do nothing
>>      } else if (!getLangOpts().ObjCAutoRefCount &&
>>                 !Context.getObjCIdType().isNull() &&
>> -               (ReceiverType->isPointerType() ||
>> +               (ReceiverType->isPointerType() ||
>>                  ReceiverType->isIntegerType())) {
>>        // Implicitly convert integers and pointers to 'id' but emit a warning.
>>        // But not in ARC.
>>        Diag(Loc, diag::warn_bad_receiver_type)
>> -        << ReceiverType
>> +        << ReceiverType
>>          << Receiver->getSourceRange();
>>        if (ReceiverType->isPointerType()) {
>> -        Receiver = ImpCastExprToType(Receiver, Context.getObjCIdType(),
>> +        Receiver = ImpCastExprToType(Receiver, Context.getObjCIdType(),
>>                                       CK_CPointerToObjCPointerCast).get();
>>        } else {
>>          // TODO: specialized warning on null receivers?
>> @@ -2828,7 +2828,7 @@ ExprResult Sema::BuildInstanceMessage(Ex
>>        // We allow sending a message to a qualified ID ("id<foo>"), which is ok as
>>        // long as one of the protocols implements the selector (if not, warn).
>>        // And as long as message is not deprecated/unavailable (warn if it is).
>> -      if (const ObjCObjectPointerType *QIdTy
>> +      if (const ObjCObjectPointerType *QIdTy
>>                                     = ReceiverType->getAsObjCQualifiedIdType()) {
>>          // Search protocols for instance methods.
>>          Method = LookupMethodInQualifiedType(Sel, QIdTy, true);
>> @@ -2854,9 +2854,9 @@ ExprResult Sema::BuildInstanceMessage(Ex
>>                                          : SourceRange(SuperLoc))) {
>>            if (getLangOpts().ObjCAutoRefCount)
>>              return ExprError();
>> -
>> +
>>            forwardClass = OCIType->getInterfaceDecl();
>> -          Diag(Receiver ? Receiver->getLocStart()
>> +          Diag(Receiver ? Receiver->getLocStart()
>>                          : SuperLoc, diag::note_receiver_is_id);
>>            Method = nullptr;
>>          } else {
>> @@ -2866,7 +2866,7 @@ ExprResult Sema::BuildInstanceMessage(Ex
>>          if (!Method)
>>            // Search protocol qualifiers.
>>            Method = LookupMethodInQualifiedType(Sel, OCIType, true);
>> -
>> +
>>          if (!Method) {
>>            // If we have implementations in scope, check "private" methods.
>>            Method = ClassDecl->lookupPrivateMethod(Sel);
>> @@ -2975,7 +2975,7 @@ ExprResult Sema::BuildInstanceMessage(Ex
>>                         ReceiverType->isObjCQualifiedClassType());
>>    if (CheckMessageArgumentTypes(ReceiverType, MultiExprArg(Args, NumArgs),
>>                                  Sel, SelectorLocs, Method,
>> -                                ClassMessage, SuperLoc.isValid(),
>> +                                ClassMessage, SuperLoc.isValid(),
>>                                  LBracLoc, RBracLoc, RecRange, ReturnType, VK))
>>      return ExprError();
>>
>> @@ -2984,7 +2984,7 @@ ExprResult Sema::BuildInstanceMessage(Ex
>>                            diag::err_illegal_message_expr_incomplete_type))
>>      return ExprError();
>>
>> -  // In ARC, forbid the user from sending messages to
>> +  // In ARC, forbid the user from sending messages to
>>    // retain/release/autorelease/dealloc/retainCount explicitly.
>>    if (getLangOpts().ObjCAutoRefCount) {
>>      ObjCMethodFamily family =
>> @@ -3013,13 +3013,13 @@ ExprResult Sema::BuildInstanceMessage(Ex
>>        Diag(SelLoc, diag::err_arc_illegal_explicit_message)
>>          << Sel << RecRange;
>>        break;
>> -
>> +
>>      case OMF_performSelector:
>>        if (Method && NumArgs >= 1) {
>>          if (const auto *SelExp =
>>                  dyn_cast<ObjCSelectorExpr>(Args[0]->IgnoreParens())) {
>>            Selector ArgSel = SelExp->getSelector();
>> -          ObjCMethodDecl *SelMethod =
>> +          ObjCMethodDecl *SelMethod =
>>              LookupInstanceMethodInGlobalPool(ArgSel,
>>                                               SelExp->getSourceRange());
>>            if (!SelMethod)
>> @@ -3036,8 +3036,8 @@ ExprResult Sema::BuildInstanceMessage(Ex
>>                case OMF_init:
>>                  // Issue error, unless ns_returns_not_retained.
>>                  if (!SelMethod->hasAttr<NSReturnsNotRetainedAttr>()) {
>> -                  // selector names a +1 method
>> -                  Diag(SelLoc,
>> +                  // selector names a +1 method
>> +                  Diag(SelLoc,
>>                         diag::err_arc_perform_selector_retains);
>>                    Diag(SelMethod->getLocation(), diag::note_method_declared_at)
>>                      << SelMethod->getDeclName();
>> @@ -3047,7 +3047,7 @@ ExprResult Sema::BuildInstanceMessage(Ex
>>                  // +0 call. OK. unless ns_returns_retained.
>>                  if (SelMethod->hasAttr<NSReturnsRetainedAttr>()) {
>>                    // selector names a +1 method
>> -                  Diag(SelLoc,
>> +                  Diag(SelLoc,
>>                         diag::err_arc_perform_selector_retains);
>>                    Diag(SelMethod->getLocation(), diag::note_method_declared_at)
>>                      << SelMethod->getDeclName();
>> @@ -3066,13 +3066,13 @@ ExprResult Sema::BuildInstanceMessage(Ex
>>    }
>>
>>    DiagnoseCStringFormatDirectiveInObjCAPI(*this, Method, Sel, Args, NumArgs);
>> -
>> +
>>    // Construct the appropriate ObjCMessageExpr instance.
>>    ObjCMessageExpr *Result;
>>    if (SuperLoc.isValid())
>>      Result = ObjCMessageExpr::Create(Context, ReturnType, VK, LBracLoc,
>>                                       SuperLoc,  /*IsInstanceSuper=*/true,
>> -                                     ReceiverType, Sel, SelectorLocs, Method,
>> +                                     ReceiverType, Sel, SelectorLocs, Method,
>>                                       makeArrayRef(Args, NumArgs), RBracLoc,
>>                                       isImplicit);
>>    else {
>> @@ -3158,7 +3158,7 @@ static void RemoveSelectorFromWarningCac
>>  // ArgExprs is optional - if it is present, the number of expressions
>>  // is obtained from Sel.getNumArgs().
>>  ExprResult Sema::ActOnInstanceMessage(Scope *S,
>> -                                      Expr *Receiver,
>> +                                      Expr *Receiver,
>>                                        Selector Sel,
>>                                        SourceLocation LBracLoc,
>>                                        ArrayRef<SourceLocation> SelectorLocs,
>> @@ -3173,7 +3173,7 @@ ExprResult Sema::ActOnInstanceMessage(Sc
>>      if (Result.isInvalid()) return ExprError();
>>      Receiver = Result.get();
>>    }
>> -
>> +
>>    if (RespondsToSelectorSel.isNull()) {
>>      IdentifierInfo *SelectorId = &Context.Idents.get("respondsToSelector");
>>      RespondsToSelectorSel = Context.Selectors.getUnarySelector(SelectorId);
>> @@ -3218,13 +3218,13 @@ static bool isAnyCLike(ARCConversionType
>>
>>  static ARCConversionTypeClass classifyTypeForARCConversion(QualType type) {
>>    bool isIndirect = false;
>> -
>> +
>>    // Ignore an outermost reference type.
>>    if (const ReferenceType *ref = type->getAs<ReferenceType>()) {
>>      type = ref->getPointeeType();
>>      isIndirect = true;
>>    }
>> -
>> +
>>    // Drill through pointers and arrays recursively.
>>    while (true) {
>>      if (const PointerType *ptr = type->getAs<PointerType>()) {
>> @@ -3242,7 +3242,7 @@ static ARCConversionTypeClass classifyTy
>>      }
>>      isIndirect = true;
>>    }
>> -
>> +
>>    if (isIndirect) {
>>      if (type->isObjCARCBridgableType())
>>        return ACTC_indirectRetainable;
>> @@ -3322,7 +3322,7 @@ namespace {
>>
>>        return ACC_invalid;
>>      }
>> -
>> +
>>      /// Look through certain implicit and explicit casts.
>>      ACCResult VisitCastExpr(CastExpr *e) {
>>        switch (e->getCastKind()) {
>> @@ -3428,10 +3428,10 @@ namespace {
>>        // Otherwise, don't do anything implicit with an unaudited function.
>>        if (!fn->hasAttr<CFAuditedTransferAttr>())
>>          return ACC_invalid;
>> -
>> +
>>        // Otherwise, it's +0 unless it follows the create convention.
>>        if (ento::coreFoundation::followsCreateRule(fn))
>> -        return Diagnose ? ACC_plusOne
>> +        return Diagnose ? ACC_plusOne
>>                          : ACC_invalid; // ACC_plusOne if we start accepting this
>>
>>        return ACC_plusZero;
>> @@ -3458,7 +3458,7 @@ namespace {
>>        // return type is CF.
>>        if (!isAnyRetainable(TargetClass) || !isCFType(method->getReturnType()))
>>          return ACC_invalid;
>> -
>> +
>>        // If the method is explicitly marked not-retained, it's +0.
>>        if (method->hasAttr<CFReturnsNotRetainedAttr>())
>>          return ACC_plusZero;
>> @@ -3517,12 +3517,12 @@ static void addFixitForObjCARCConversion
>>          SourceRange range(NCE->getOperatorLoc(),
>>                            NCE->getAngleBrackets().getEnd());
>>          SmallString<32> BridgeCall;
>> -
>> +
>>          SourceManager &SM = S.getSourceManager();
>>          char PrevChar = *SM.getCharacterData(range.getBegin().getLocWithOffset(-1));
>>          if (Lexer::isIdentifierBodyChar(PrevChar, S.getLangOpts()))
>>            BridgeCall += ' ';
>> -
>> +
>>          BridgeCall += CFBridgeName;
>>          DiagB.AddFixItHint(FixItHint::CreateReplacement(range, BridgeCall));
>>        }
>> @@ -3623,7 +3623,7 @@ diagnoseObjCARCConversion(Sema &S, Sourc
>>                            Sema::CheckedConversionKind CCK) {
>>    SourceLocation loc =
>>      (castRange.isValid() ? castRange.getBegin() : castExpr->getExprLoc());
>> -
>> +
>>    if (S.makeUnavailableInSystemHeader(loc,
>>                                   UnavailableAttr::IR_ARCForbiddenConversion))
>>      return;
>> @@ -3637,7 +3637,7 @@ diagnoseObjCARCConversion(Sema &S, Sourc
>>        (exprACTC == ACTC_coreFoundation && castACTC == ACTC_retainable &&
>>         ObjCBridgeRelatedAttrFromType(castExprType, TDNDecl)))
>>      return;
>> -
>> +
>>    unsigned srcKind = 0;
>>    switch (exprACTC) {
>>    case ACTC_none:
>> @@ -3652,7 +3652,7 @@ diagnoseObjCARCConversion(Sema &S, Sourc
>>      srcKind = 4;
>>      break;
>>    }
>> -
>> +
>>    // Check whether this could be fixed with a bridge cast.
>>    SourceLocation afterLParen = S.getLocForEndOfToken(castRange.getBegin());
>>    SourceLocation noteLoc = afterLParen.isValid() ? afterLParen : loc;
>> @@ -3671,12 +3671,12 @@ diagnoseObjCARCConversion(Sema &S, Sourc
>>        << castRange
>>        << castExpr->getSourceRange();
>>      bool br = S.isKnownName("CFBridgingRelease");
>> -    ACCResult CreateRule =
>> +    ACCResult CreateRule =
>>        ARCCastChecker(S.Context, exprACTC, castACTC, true).Visit(castExpr);
>>      assert(CreateRule != ACC_bottom && "This cast should already be accepted.");
>>      if (CreateRule != ACC_plusOne)
>>      {
>> -      DiagnosticBuilder DiagB =
>> +      DiagnosticBuilder DiagB =
>>          (CCK != Sema::CCK_OtherCast) ? S.Diag(noteLoc, diag::note_arc_bridge)
>>                                : S.Diag(noteLoc, diag::note_arc_cstyle_bridge);
>>
>> @@ -3700,7 +3700,7 @@ diagnoseObjCARCConversion(Sema &S, Sourc
>>
>>      return;
>>    }
>> -
>> +
>>    // Bridge from a CF type to an ARC type.
>>    if (exprACTC == ACTC_retainable && isAnyRetainable(castACTC)) {
>>      bool br = S.isKnownName("CFBridgingRetain");
>> @@ -3712,7 +3712,7 @@ diagnoseObjCARCConversion(Sema &S, Sourc
>>        << castType
>>        << castRange
>>        << castExpr->getSourceRange();
>> -    ACCResult CreateRule =
>> +    ACCResult CreateRule =
>>        ARCCastChecker(S.Context, exprACTC, castACTC, true).Visit(castExpr);
>>      assert(CreateRule != ACC_bottom && "This cast should already be accepted.");
>>      if (CreateRule != ACC_plusOne)
>> @@ -3740,7 +3740,7 @@ diagnoseObjCARCConversion(Sema &S, Sourc
>>
>>      return;
>>    }
>> -
>> +
>>    S.Diag(loc, diag::err_arc_mismatched_cast)
>>      << !convKindForDiag
>>      << srcKind << castExprType << castType
>> @@ -3759,7 +3759,7 @@ static bool CheckObjCBridgeNSCast(Sema &
>>          HadTheAttribute = true;
>>          if (Parm->isStr("id"))
>>            return true;
>> -
>> +
>>          NamedDecl *Target = nullptr;
>>          // Check for an existing type with this name.
>>          LookupResult R(S, DeclarationName(Parm), SourceLocation(),
>> @@ -3897,7 +3897,7 @@ void Sema::CheckTollFreeBridgeCast(QualT
>>                                                     HasObjCBridgeMutableAttr, false);
>>      if (ObjCBridgeMutableAttrWillNotWarn && HasObjCBridgeMutableAttr)
>>        return;
>> -
>> +
>>      if (HasObjCBridgeAttr)
>>        CheckObjCBridgeNSCast<ObjCBridgeAttr>(*this, castType, castExpr, HasObjCBridgeAttr,
>>                                              true);
>> @@ -3918,7 +3918,7 @@ void Sema::CheckTollFreeBridgeCast(QualT
>>                                                     HasObjCBridgeMutableAttr, false);
>>      if (ObjCBridgeMutableAttrWillNotWarn && HasObjCBridgeMutableAttr)
>>        return;
>> -
>> +
>>      if (HasObjCBridgeAttr)
>>        CheckObjCBridgeCFCast<ObjCBridgeAttr>(*this, castType, castExpr, HasObjCBridgeAttr,
>>                                              true);
>> @@ -3940,7 +3940,7 @@ void Sema::CheckObjCBridgeRelatedCast(Qu
>>          SrcType = Getter->getReturnType();
>>      }
>>    }
>> -
>> +
>>    ARCConversionTypeClass srcExprACTC = classifyTypeForARCConversion(SrcType);
>>    ARCConversionTypeClass castExprACTC = classifyTypeForARCConversion(castType);
>>    if (srcExprACTC != ACTC_retainable || castExprACTC != ACTC_coreFoundation)
>> @@ -3977,7 +3977,7 @@ bool Sema::checkObjCBridgeRelatedCompone
>>    ObjCBridgeRelatedAttr *ObjCBAttr = ObjCBridgeRelatedAttrFromType(T, TDNDecl);
>>    if (!ObjCBAttr)
>>      return false;
>> -
>> +
>>    IdentifierInfo *RCId = ObjCBAttr->getRelatedClass();
>>    IdentifierInfo *CMId = ObjCBAttr->getClassMethod();
>>    IdentifierInfo *IMId = ObjCBAttr->getInstanceMethod();
>> @@ -4008,7 +4008,7 @@ bool Sema::checkObjCBridgeRelatedCompone
>>      }
>>      return false;
>>    }
>> -
>> +
>>    // Check for an existing class method with the given selector name.
>>    if (CfToNs && CMId) {
>>      Selector Sel = Context.Selectors.getUnarySelector(CMId);
>> @@ -4022,7 +4022,7 @@ bool Sema::checkObjCBridgeRelatedCompone
>>        return false;
>>      }
>>    }
>> -
>> +
>>    // Check for an existing instance method with the given selector name.
>>    if (!CfToNs && IMId) {
>>      Selector Sel = Context.Selectors.getNullarySelector(IMId);
>> @@ -4049,7 +4049,7 @@ Sema::CheckObjCBridgeRelatedConversions(
>>    bool NsToCf = (rhsExprACTC == ACTC_retainable && lhsExprACTC == ACTC_coreFoundation);
>>    if (!CfToNs && !NsToCf)
>>      return false;
>> -
>> +
>>    ObjCInterfaceDecl *RelatedClass;
>>    ObjCMethodDecl *ClassMethod = nullptr;
>>    ObjCMethodDecl *InstanceMethod = nullptr;
>> @@ -4058,7 +4058,7 @@ Sema::CheckObjCBridgeRelatedConversions(
>>                                          ClassMethod, InstanceMethod, TDNDecl,
>>                                          CfToNs, Diagnose))
>>      return false;
>> -
>> +
>>    if (CfToNs) {
>>      // Implicit conversion from CF to ObjC object is needed.
>>      if (ClassMethod) {
>> @@ -4075,7 +4075,7 @@ Sema::CheckObjCBridgeRelatedConversions(
>>            << FixItHint::CreateInsertion(SrcExprEndLoc, "]");
>>          Diag(RelatedClass->getLocStart(), diag::note_declared_at);
>>          Diag(TDNDecl->getLocStart(), diag::note_declared_at);
>> -
>> +
>>          QualType receiverType = Context.getObjCInterfaceType(RelatedClass);
>>          // Argument.
>>          Expr *args[] = { SrcExpr };
>> @@ -4118,7 +4118,7 @@ Sema::CheckObjCBridgeRelatedConversions(
>>          }
>>          Diag(RelatedClass->getLocStart(), diag::note_declared_at);
>>          Diag(TDNDecl->getLocStart(), diag::note_declared_at);
>> -
>> +
>>          ExprResult msg =
>>            BuildInstanceMessageImplicit(SrcExpr, SrcType,
>>                                         InstanceMethod->getLocation(),
>> @@ -4144,7 +4144,7 @@ Sema::CheckObjCConversion(SourceRange ca
>>    QualType effCastType = castType;
>>    if (const ReferenceType *ref = castType->getAs<ReferenceType>())
>>      effCastType = ref->getPointeeType();
>> -
>> +
>>    ARCConversionTypeClass exprACTC = classifyTypeForARCConversion(castExprType);
>>    ARCConversionTypeClass castACTC = classifyTypeForARCConversion(effCastType);
>>    if (exprACTC == castACTC) {
>> @@ -4167,7 +4167,7 @@ Sema::CheckObjCConversion(SourceRange ca
>>        if (QDT != castType &&
>>            QDT.getObjCLifetime() !=  Qualifiers::OCL_None) {
>>          if (Diagnose) {
>> -          SourceLocation loc = (castRange.isValid() ? castRange.getBegin()
>> +          SourceLocation loc = (castRange.isValid() ? castRange.getBegin()
>>                                                      : castExpr->getExprLoc());
>>            Diag(loc, diag::err_arc_nolifetime_behavior);
>>          }
>> @@ -4188,7 +4188,7 @@ Sema::CheckObjCConversion(SourceRange ca
>>    // vice-versa).
>>    if (castACTC == ACTC_none && castType->isIntegralType(Context))
>>      return ACR_okay;
>> -
>> +
>>    // Allow casts between pointers to lifetime types (e.g., __strong id*)
>>    // and pointers to void (e.g., cv void *). Casting from void* to lifetime*
>>    // must be explicit.
>> @@ -4229,7 +4229,7 @@ Sema::CheckObjCConversion(SourceRange ca
>>    if (castACTC == ACTC_retainable && exprACTC == ACTC_none &&
>>        ConversionToObjCStringLiteralCheck(castType, castExpr, Diagnose))
>>      return ACR_error;
>> -
>> +
>>    // Do not issue "bridge cast" diagnostic when implicit casting
>>    // a retainable object to a CF type parameter belonging to an audited
>>    // CF API function. Let caller issue a normal type mismatched diagnostic
>> @@ -4322,9 +4322,9 @@ Expr *Sema::stripARCUnbridgedCast(Expr *
>>
>>  bool Sema::CheckObjCARCUnavailableWeakConversion(QualType castType,
>>                                                   QualType exprType) {
>> -  QualType canCastType =
>> +  QualType canCastType =
>>      Context.getCanonicalType(castType).getUnqualifiedType();
>> -  QualType canExprType =
>> +  QualType canExprType =
>>      Context.getCanonicalType(exprType).getUnqualifiedType();
>>    if (isa<ObjCObjectPointerType>(canCastType) &&
>>        castType.getObjCLifetime() == Qualifiers::OCL_Weak &&
>> @@ -4399,7 +4399,7 @@ ExprResult Sema::BuildObjCBridgedCast(So
>>      switch (Kind) {
>>      case OBC_Bridge:
>>        break;
>> -
>> +
>>      case OBC_BridgeRetained: {
>>        bool br = isKnownName("CFBridgingRelease");
>>        Diag(BridgeKeywordLoc, diag::err_arc_bridge_cast_wrong_kind)
>> @@ -4413,14 +4413,14 @@ ExprResult Sema::BuildObjCBridgedCast(So
>>          << FixItHint::CreateReplacement(BridgeKeywordLoc, "__bridge");
>>        Diag(BridgeKeywordLoc, diag::note_arc_bridge_transfer)
>>          << FromType << br
>> -        << FixItHint::CreateReplacement(BridgeKeywordLoc,
>> -                                        br ? "CFBridgingRelease "
>> +        << FixItHint::CreateReplacement(BridgeKeywordLoc,
>> +                                        br ? "CFBridgingRelease "
>>                                             : "__bridge_transfer ");
>>
>>        Kind = OBC_Bridge;
>>        break;
>>      }
>> -
>> +
>>      case OBC_BridgeTransfer:
>>        // We must consume the Objective-C object produced by the cast.
>>        MustConsume = true;
>> @@ -4435,14 +4435,14 @@ ExprResult Sema::BuildObjCBridgedCast(So
>>        // is very dangerous, so we don't do it.
>>        SubExpr = maybeUndoReclaimObject(SubExpr);
>>        break;
>> -
>> -    case OBC_BridgeRetained:
>> +
>> +    case OBC_BridgeRetained:
>>        // Produce the object before casting it.
>>        SubExpr = ImplicitCastExpr::Create(Context, FromType,
>>                                           CK_ARCProduceObject,
>>                                           SubExpr, nullptr, VK_RValue);
>>        break;
>> -
>> +
>>      case OBC_BridgeTransfer: {
>>        bool br = isKnownName("CFBridgingRetain");
>>        Diag(BridgeKeywordLoc, diag::err_arc_bridge_cast_wrong_kind)
>> @@ -4452,14 +4452,14 @@ ExprResult Sema::BuildObjCBridgedCast(So
>>          << T
>>          << SubExpr->getSourceRange()
>>          << Kind;
>> -
>> +
>>        Diag(BridgeKeywordLoc, diag::note_arc_bridge)
>>          << FixItHint::CreateReplacement(BridgeKeywordLoc, "__bridge ");
>>        Diag(BridgeKeywordLoc, diag::note_arc_bridge_retained)
>>          << T << br
>> -        << FixItHint::CreateReplacement(BridgeKeywordLoc,
>> +        << FixItHint::CreateReplacement(BridgeKeywordLoc,
>>                            br ? "CFBridgingRetain " : "__bridge_retained");
>> -
>> +
>>        Kind = OBC_Bridge;
>>        break;
>>      }
>> @@ -4475,13 +4475,13 @@ ExprResult Sema::BuildObjCBridgedCast(So
>>    Expr *Result = new (Context) ObjCBridgedCastExpr(LParenLoc, Kind, CK,
>>                                                     BridgeKeywordLoc,
>>                                                     TSInfo, SubExpr);
>> -
>> +
>>    if (MustConsume) {
>>      Cleanup.setExprNeedsCleanups(true);
>> -    Result = ImplicitCastExpr::Create(Context, T, CK_ARCConsumeObject, Result,
>> +    Result = ImplicitCastExpr::Create(Context, T, CK_ARCConsumeObject, Result,
>>                                        nullptr, VK_RValue);
>>    }
>> -
>> +
>>    return Result;
>>  }
>>
>> @@ -4498,6 +4498,6 @@ ExprResult Sema::ActOnObjCBridgedCast(Sc
>>      CheckTollFreeBridgeCast(T, SubExpr);
>>    if (!TSInfo)
>>      TSInfo = Context.getTrivialTypeSourceInfo(T, LParenLoc);
>> -  return BuildObjCBridgedCast(LParenLoc, Kind, BridgeKeywordLoc, TSInfo,
>> +  return BuildObjCBridgedCast(LParenLoc, Kind, BridgeKeywordLoc, TSInfo,
>>                                SubExpr);
>>  }
>>
>> Modified: cfe/trunk/lib/Sema/SemaInit.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaInit.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Sema/SemaInit.cpp (original)
>> +++ cfe/trunk/lib/Sema/SemaInit.cpp Mon Jul 30 12:24:48 2018
>> @@ -191,7 +191,7 @@ static void CheckStringInit(Expr *Str, Q
>>        if (SL->isPascal())
>>          StrLength--;
>>      }
>> -
>> +
>>      // [dcl.init.string]p2
>>      if (StrLength > CAT->getSize().getZExtValue())
>>        S.Diag(Str->getLocStart(),
>> @@ -450,7 +450,7 @@ ExprResult InitListChecker::PerformEmpty
>>            IsInStd = true;
>>        }
>>
>> -      if (IsInStd && llvm::StringSwitch<bool>(R->getName())
>> +      if (IsInStd && llvm::StringSwitch<bool>(R->getName())
>>                .Cases("basic_string", "deque", "forward_list", true)
>>                .Cases("list", "map", "multimap", "multiset", true)
>>                .Cases("priority_queue", "queue", "set", "stack", true)
>> @@ -1578,7 +1578,7 @@ void InitListChecker::CheckVectorType(co
>>                          T->getVectorKind() == VectorType::NeonPolyVector)) {
>>        // The ability to use vector initializer lists is a GNU vector extension
>>        // and is unrelated to the NEON intrinsics in arm_neon.h. On little
>> -      // endian machines it works fine, however on big endian machines it
>> +      // endian machines it works fine, however on big endian machines it
>>        // exhibits surprising behaviour:
>>        //
>>        //   uint32x2_t x = {42, 64};
>> @@ -2225,7 +2225,7 @@ InitListChecker::CheckDesignatedInitiali
>>            SemaRef.Diag(D->getLocStart(),
>>                         diag::warn_subobject_initializer_overrides)
>>              << SourceRange(D->getLocStart(), DIE->getLocEnd());
>> -
>> +
>>            SemaRef.Diag(ExistingInit->getLocStart(),
>>                         diag::note_previous_initializer)
>>              << /*FIXME:has side effects=*/0
>> @@ -3000,7 +3000,7 @@ DeclarationName InitializedEntity::getNa
>>
>>    case EK_LambdaCapture:
>>      return DeclarationName(Capture.VarID);
>> -
>> +
>>    case EK_Result:
>>    case EK_StmtExprResult:
>>    case EK_Exception:
>> @@ -3653,13 +3653,13 @@ ResolveConstructorOverload(Sema &S, Sour
>>                                       CandidateSet, SuppressUserConversions);
>>      else {
>>        // C++ [over.match.copy]p1:
>> -      //   - When initializing a temporary to be bound to the first parameter
>> +      //   - When initializing a temporary to be bound to the first parameter
>>        //     of a constructor [for type T] that takes a reference to possibly
>>        //     cv-qualified T as its first argument, called with a single
>>        //     argument in the context of direct-initialization, explicit
>>        //     conversion functions are also considered.
>>        // FIXME: What if a constructor template instantiates to such a signature?
>> -      bool AllowExplicitConv = AllowExplicit && !CopyInitializing &&
>> +      bool AllowExplicitConv = AllowExplicit && !CopyInitializing &&
>>                                 Args.size() == 1 &&
>>                                 hasCopyOrMoveCtorParam(S.Context, Info);
>>        S.AddOverloadCandidate(Info.Constructor, Info.FoundDecl, Args,
>> @@ -4226,7 +4226,7 @@ static OverloadingResult TryRefInitWithC
>>    (void)DerivedToBase;
>>    (void)ObjCConversion;
>>    (void)ObjCLifetimeConversion;
>> -
>> +
>>    // Build the candidate set directly in the initialization sequence
>>    // structure, so that it will persist if we fail.
>>    OverloadCandidateSet &CandidateSet = Sequence.getFailedCandidateSet();
>> @@ -4646,7 +4646,7 @@ static void TryReferenceInitializationCo
>>                                /*FIXME:InOverloadResolution=*/false,
>>                                /*CStyle=*/Kind.isCStyleOrFunctionalCast(),
>>                                /*AllowObjCWritebackConversion=*/false);
>> -
>> +
>>    if (ICS.isBad()) {
>>      // FIXME: Use the conversion function set stored in ICS to turn
>>      // this into an overloading ambiguity diagnostic. However, we need
>> @@ -4787,7 +4787,7 @@ static void TryDefaultInitialization(Sem
>>    //   To default-initialize an object of type T means:
>>    //     - if T is an array type, each element is default-initialized;
>>    QualType DestType = S.Context.getBaseElementType(Entity.getType());
>> -
>> +
>>    //     - if T is a (possibly cv-qualified) class type (Clause 9), the default
>>    //       constructor for T is called (and the initialization is ill-formed if
>>    //       T has no accessible default constructor);
>> @@ -5043,11 +5043,11 @@ static InvalidICRKind isInvalidICRSource
>>
>>    // If we have a declaration reference, it had better be a local variable.
>>    } else if (isa<DeclRefExpr>(e)) {
>> -    // set isWeakAccess to true, to mean that there will be an implicit
>> +    // set isWeakAccess to true, to mean that there will be an implicit
>>      // load which requires a cleanup.
>>      if (e->getType().getObjCLifetime() == Qualifiers::OCL_Weak)
>>        isWeakAccess = true;
>> -
>> +
>>      if (!isAddressOf) return IIK_nonlocal;
>>
>>      VarDecl *var = dyn_cast<VarDecl>(cast<DeclRefExpr>(e)->getDecl());
>> @@ -5082,7 +5082,7 @@ static void checkIndirectCopyRestoreSour
>>    assert(src->isRValue());
>>    bool isWeakAccess = false;
>>    InvalidICRKind iik = isInvalidICRSource(S.Context, src, false, isWeakAccess);
>> -  // If isWeakAccess to true, there will be an implicit
>> +  // If isWeakAccess to true, there will be an implicit
>>    // load which requires a cleanup.
>>    if (S.getLangOpts().ObjCAutoRefCount && isWeakAccess)
>>      S.Cleanup.setExprNeedsCleanups(true);
>> @@ -5124,7 +5124,7 @@ static bool tryObjCWritebackConversion(S
>>      ArgPointee = ArgArrayType->getElementType();
>>      ArgType = S.Context.getPointerType(ArgPointee);
>>    }
>> -
>> +
>>    // Handle write-back conversion.
>>    QualType ConvertedArgType;
>>    if (!S.isObjCWritebackConversion(ArgType, Entity.getType(),
>> @@ -5151,10 +5151,10 @@ static bool tryObjCWritebackConversion(S
>>        ICS.Standard.First = ICK_Lvalue_To_Rvalue;
>>        ResultType = Initializer->getType().getNonLValueExprType(S.Context);
>>      }
>> -
>> +
>>      Sequence.AddConversionSequenceStep(ICS, ResultType);
>>    }
>> -
>> +
>>    Sequence.AddPassByIndirectCopyRestoreStep(Entity.getType(), ShouldCopy);
>>    return true;
>>  }
>> @@ -5567,13 +5567,13 @@ void InitializationSequence::InitializeF
>>    if (ICS.isStandard() &&
>>        ICS.Standard.Second == ICK_Writeback_Conversion) {
>>      // Objective-C ARC writeback conversion.
>> -
>> +
>>      // We should copy unless we're passing to an argument explicitly
>>      // marked 'out'.
>>      bool ShouldCopy = true;
>>      if (ParmVarDecl *Param = cast_or_null<ParmVarDecl>(Entity.getDecl()))
>>        ShouldCopy = (Param->getObjCDeclQualifier() != ParmVarDecl::OBJC_TQ_Out);
>> -
>> +
>>      // If there was an lvalue adjustment, add it as a separate conversion.
>>      if (ICS.Standard.First == ICK_Array_To_Pointer ||
>>          ICS.Standard.First == ICK_Lvalue_To_Rvalue) {
>> @@ -5584,7 +5584,7 @@ void InitializationSequence::InitializeF
>>        LvalueICS.Standard.First = ICS.Standard.First;
>>        AddConversionSequenceStep(LvalueICS, ICS.Standard.getToType(0));
>>      }
>> -
>> +
>>      AddPassByIndirectCopyRestoreStep(DestType, ShouldCopy);
>>    } else if (ICS.isBad()) {
>>      DeclAccessPair dap;
>> @@ -5635,9 +5635,9 @@ getAssignmentAction(const InitializedEnt
>>      if (Entity.getDecl() &&
>>        isa<ObjCMethodDecl>(Entity.getDecl()->getDeclContext()))
>>        return Sema::AA_Sending;
>> -
>> +
>>      return !Diagnose ? Sema::AA_Passing : Sema::AA_Passing_CFAudited;
>> -
>> +
>>    case InitializedEntity::EK_Result:
>>    case InitializedEntity::EK_StmtExprResult: // FIXME: Not quite right.
>>      return Sema::AA_Returning;
>> @@ -5743,7 +5743,7 @@ static SourceLocation getInitializationL
>>
>>    case InitializedEntity::EK_LambdaCapture:
>>      return Entity.getCaptureLoc();
>> -
>> +
>>    case InitializedEntity::EK_ArrayElement:
>>    case InitializedEntity::EK_Member:
>>    case InitializedEntity::EK_Parameter:
>> @@ -6065,9 +6065,9 @@ PerformConstructorInitialization(Sema &S
>>    ExprResult CurInit((Expr *)nullptr);
>>
>>    // C++ [over.match.copy]p1:
>> -  //   - When initializing a temporary to be bound to the first parameter
>> -  //     of a constructor that takes a reference to possibly cv-qualified
>> -  //     T as its first argument, called with a single argument in the
>> +  //   - When initializing a temporary to be bound to the first parameter
>> +  //     of a constructor that takes a reference to possibly cv-qualified
>> +  //     T as its first argument, called with a single argument in the
>>    //     context of direct-initialization, explicit conversion functions
>>    //     are also considered.
>>    bool AllowExplicitConv =
>> @@ -7130,7 +7130,7 @@ InitializationSequence::Perform(Sema &S,
>>                                    Args);
>>      }
>>      assert(Kind.getKind() == InitializationKind::IK_Copy ||
>> -           Kind.isExplicitCast() ||
>> +           Kind.isExplicitCast() ||
>>             Kind.getKind() == InitializationKind::IK_DirectList);
>>      return ExprResult(Args[0]);
>>    }
>> @@ -7832,7 +7832,7 @@ InitializationSequence::Perform(Sema &S,
>>          // this has already been done when parsing the variable declaration.
>>          if (!Init->isConstantInitializer(S.Context, false))
>>            break;
>> -
>> +
>>          if (!SourceType->isIntegerType() ||
>>              32 != S.Context.getIntWidth(SourceType)) {
>>            S.Diag(Kind.getLocation(), diag::err_sampler_initializer_not_integer)
>> @@ -7868,7 +7868,7 @@ InitializationSequence::Perform(Sema &S,
>>        break;
>>      }
>>      case SK_OCLZeroEvent: {
>> -      assert(Step->Type->isEventT() &&
>> +      assert(Step->Type->isEventT() &&
>>               "Event initialization on non-event type.");
>>
>>        CurInit = S.ImpCastExprToType(CurInit.get(), Step->Type,
>> @@ -8365,7 +8365,7 @@ bool InitializationSequence::Diagnose(Se
>>            llvm_unreachable("Inconsistent overload resolution?");
>>            break;
>>          }
>> -
>> +
>>          // If this is a defaulted or implicitly-declared function, then
>>          // it was implicitly deleted. Make it clear that the deletion was
>>          // implicit.
>>
>> Modified: cfe/trunk/lib/Sema/SemaLambda.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaLambda.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Sema/SemaLambda.cpp (original)
>> +++ cfe/trunk/lib/Sema/SemaLambda.cpp Mon Jul 30 12:24:48 2018
>> @@ -25,28 +25,28 @@ using namespace clang;
>>  using namespace sema;
>>
>>  /// Examines the FunctionScopeInfo stack to determine the nearest
>> -/// enclosing lambda (to the current lambda) that is 'capture-ready' for
>> +/// enclosing lambda (to the current lambda) that is 'capture-ready' for
>>  /// the variable referenced in the current lambda (i.e. \p VarToCapture).
>>  /// If successful, returns the index into Sema's FunctionScopeInfo stack
>>  /// of the capture-ready lambda's LambdaScopeInfo.
>> -///
>> -/// Climbs down the stack of lambdas (deepest nested lambda - i.e. current
>> +///
>> +/// Climbs down the stack of lambdas (deepest nested lambda - i.e. current
>>  /// lambda - is on top) to determine the index of the nearest enclosing/outer
>> -/// lambda that is ready to capture the \p VarToCapture being referenced in
>> -/// the current lambda.
>> +/// lambda that is ready to capture the \p VarToCapture being referenced in
>> +/// the current lambda.
>>  /// As we climb down the stack, we want the index of the first such lambda -
>> -/// that is the lambda with the highest index that is 'capture-ready'.
>> -///
>> +/// that is the lambda with the highest index that is 'capture-ready'.
>> +///
>>  /// A lambda 'L' is capture-ready for 'V' (var or this) if:
>>  ///  - its enclosing context is non-dependent
>>  ///  - and if the chain of lambdas between L and the lambda in which
>> -///    V is potentially used (i.e. the lambda at the top of the scope info
>> +///    V is potentially used (i.e. the lambda at the top of the scope info
>>  ///    stack), can all capture or have already captured V.
>>  /// If \p VarToCapture is 'null' then we are trying to capture 'this'.
>> -///
>> +///
>>  /// Note that a lambda that is deemed 'capture-ready' still needs to be checked
>>  /// for whether it is 'capture-capable' (see
>> -/// getStackIndexOfNearestEnclosingCaptureCapableLambda), before it can truly
>> +/// getStackIndexOfNearestEnclosingCaptureCapableLambda), before it can truly
>>  /// capture.
>>  ///
>>  /// \param FunctionScopes - Sema's stack of nested FunctionScopeInfo's (which a
>> @@ -120,7 +120,7 @@ getStackIndexOfNearestEnclosingCaptureRe
>>          return NoLambdaIsCaptureReady;
>>      }
>>      EnclosingDC = getLambdaAwareParentOfDeclContext(EnclosingDC);
>> -
>> +
>>      assert(CurScopeIndex);
>>      --CurScopeIndex;
>>    } while (!EnclosingDC->isTranslationUnit() &&
>> @@ -136,13 +136,13 @@ getStackIndexOfNearestEnclosingCaptureRe
>>  }
>>
>>  /// Examines the FunctionScopeInfo stack to determine the nearest
>> -/// enclosing lambda (to the current lambda) that is 'capture-capable' for
>> +/// enclosing lambda (to the current lambda) that is 'capture-capable' for
>>  /// the variable referenced in the current lambda (i.e. \p VarToCapture).
>>  /// If successful, returns the index into Sema's FunctionScopeInfo stack
>>  /// of the capture-capable lambda's LambdaScopeInfo.
>>  ///
>>  /// Given the current stack of lambdas being processed by Sema and
>> -/// the variable of interest, to identify the nearest enclosing lambda (to the
>> +/// the variable of interest, to identify the nearest enclosing lambda (to the
>>  /// current lambda at the top of the stack) that can truly capture
>>  /// a variable, it has to have the following two properties:
>>  ///  a) 'capture-ready' - be the innermost lambda that is 'capture-ready':
>> @@ -175,7 +175,7 @@ Optional<unsigned> clang::getStackIndexO
>>      VarDecl *VarToCapture, Sema &S) {
>>
>>    const Optional<unsigned> NoLambdaIsCaptureCapable;
>> -
>> +
>>    const Optional<unsigned> OptionalStackIndex =
>>        getStackIndexOfNearestEnclosingCaptureReadyLambda(FunctionScopes,
>>                                                          VarToCapture);
>> @@ -190,7 +190,7 @@ Optional<unsigned> clang::getStackIndexO
>>
>>    const sema::LambdaScopeInfo *const CaptureReadyLambdaLSI =
>>        cast<sema::LambdaScopeInfo>(FunctionScopes[IndexOfCaptureReadyLambda]);
>> -
>> +
>>    // If VarToCapture is null, we are attempting to capture 'this'
>>    const bool IsCapturingThis = !VarToCapture;
>>    const bool IsCapturingVariable = !IsCapturingThis;
>> @@ -220,7 +220,7 @@ Optional<unsigned> clang::getStackIndexO
>>               &IndexOfCaptureReadyLambda);
>>      if (!CanCaptureThis)
>>        return NoLambdaIsCaptureCapable;
>> -  }
>> +  }
>>    return IndexOfCaptureReadyLambda;
>>  }
>>
>> @@ -245,18 +245,18 @@ getGenericLambdaTemplateParameterList(La
>>
>>  CXXRecordDecl *Sema::createLambdaClosureType(SourceRange IntroducerRange,
>>                                               TypeSourceInfo *Info,
>> -                                             bool KnownDependent,
>> +                                             bool KnownDependent,
>>                                               LambdaCaptureDefault CaptureDefault) {
>>    DeclContext *DC = CurContext;
>>    while (!(DC->isFunctionOrMethod() || DC->isRecord() || DC->isFileContext()))
>>      DC = DC->getParent();
>>    bool IsGenericLambda = getGenericLambdaTemplateParameterList(getCurLambda(),
>> -                                                               *this);
>> +                                                               *this);
>>    // Start constructing the lambda class.
>>    CXXRecordDecl *Class = CXXRecordDecl::CreateLambda(Context, DC, Info,
>>                                                       IntroducerRange.getBegin(),
>> -                                                     KnownDependent,
>> -                                                     IsGenericLambda,
>> +                                                     KnownDependent,
>> +                                                     IsGenericLambda,
>>                                                       CaptureDefault);
>>    DC->addDecl(Class);
>>
>> @@ -270,10 +270,10 @@ static bool isInInlineFunction(const Dec
>>      if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(DC))
>>        if (FD->isInlined())
>>          return true;
>> -
>> +
>>      DC = DC->getLexicalParent();
>>    }
>> -
>> +
>>    return false;
>>  }
>>
>> @@ -379,10 +379,10 @@ CXXMethodDecl *Sema::startLambdaDefiniti
>>                                             ArrayRef<ParmVarDecl *> Params,
>>                                             const bool IsConstexprSpecified) {
>>    QualType MethodType = MethodTypeInfo->getType();
>> -  TemplateParameterList *TemplateParams =
>> +  TemplateParameterList *TemplateParams =
>>              getGenericLambdaTemplateParameterList(getCurLambda(), *this);
>>    // If a lambda appears in a dependent context or is a generic lambda (has
>> -  // template parameters) and has an 'auto' return type, deduce it to a
>> +  // template parameters) and has an 'auto' return type, deduce it to a
>>    // dependent type.
>>    if (Class->isDependentContext() || TemplateParams) {
>>      const FunctionProtoType *FPT = MethodType->castAs<FunctionProtoType>();
>> @@ -395,9 +395,9 @@ CXXMethodDecl *Sema::startLambdaDefiniti
>>    }
>>
>>    // C++11 [expr.prim.lambda]p5:
>> -  //   The closure type for a lambda-expression has a public inline function
>> +  //   The closure type for a lambda-expression has a public inline function
>>    //   call operator (13.5.4) whose parameters and return type are described by
>> -  //   the lambda-expression's parameter-declaration-clause and
>> +  //   the lambda-expression's parameter-declaration-clause and
>>    //   trailing-return-type respectively.
>>    DeclarationName MethodName
>>      = Context.DeclarationNames.getCXXOperatorName(OO_Call);
>> @@ -408,7 +408,7 @@ CXXMethodDecl *Sema::startLambdaDefiniti
>>      = IntroducerRange.getEnd().getRawEncoding();
>>    CXXMethodDecl *Method
>>      = CXXMethodDecl::Create(Context, Class, EndLoc,
>> -                            DeclarationNameInfo(MethodName,
>> +                            DeclarationNameInfo(MethodName,
>>                                                  IntroducerRange.getBegin(),
>>                                                  MethodNameLoc),
>>                              MethodType, MethodTypeInfo,
>> @@ -417,14 +417,14 @@ CXXMethodDecl *Sema::startLambdaDefiniti
>>                              IsConstexprSpecified,
>>                              EndLoc);
>>    Method->setAccess(AS_public);
>> -
>> +
>>    // Temporarily set the lexical declaration context to the current
>>    // context, so that the Scope stack matches the lexical nesting.
>> -  Method->setLexicalDeclContext(CurContext);
>> +  Method->setLexicalDeclContext(CurContext);
>>    // Create a function template if we have a template parameter list
>>    FunctionTemplateDecl *const TemplateMethod = TemplateParams ?
>>              FunctionTemplateDecl::Create(Context, Class,
>> -                                         Method->getLocation(), MethodName,
>> +                                         Method->getLocation(), MethodName,
>>                                           TemplateParams,
>>                                           Method) : nullptr;
>>    if (TemplateMethod) {
>> @@ -432,7 +432,7 @@ CXXMethodDecl *Sema::startLambdaDefiniti
>>      TemplateMethod->setAccess(AS_public);
>>      Method->setDescribedFunctionTemplate(TemplateMethod);
>>    }
>> -
>> +
>>    // Add parameters.
>>    if (!Params.empty()) {
>>      Method->setParams(Params);
>> @@ -493,16 +493,16 @@ void Sema::finishLambdaExplicitCaptures(
>>    LSI->finishedExplicitCaptures();
>>  }
>>
>> -void Sema::addLambdaParameters(CXXMethodDecl *CallOperator, Scope *CurScope) {
>> +void Sema::addLambdaParameters(CXXMethodDecl *CallOperator, Scope *CurScope) {
>>    // Introduce our parameters into the function scope
>> -  for (unsigned p = 0, NumParams = CallOperator->getNumParams();
>> +  for (unsigned p = 0, NumParams = CallOperator->getNumParams();
>>         p < NumParams; ++p) {
>>      ParmVarDecl *Param = CallOperator->getParamDecl(p);
>> -
>> +
>>      // If this has an identifier, add it to the scope stack.
>>      if (CurScope && Param->getIdentifier()) {
>>        CheckShadow(CurScope, Param);
>> -
>> +
>>        PushOnScopeChains(Param, CurScope);
>>      }
>>    }
>> @@ -637,7 +637,7 @@ static void adjustBlockReturnsToEnum(Sem
>>  void Sema::deduceClosureReturnType(CapturingScopeInfo &CSI) {
>>    assert(CSI.HasImplicitReturnType);
>>    // If it was ever a placeholder, it had to been deduced to DependentTy.
>> -  assert(CSI.ReturnType.isNull() || !CSI.ReturnType->isUndeducedType());
>> +  assert(CSI.ReturnType.isNull() || !CSI.ReturnType->isUndeducedType());
>>    assert((!isa<LambdaScopeInfo>(CSI) || !getLangOpts().CPlusPlus14) &&
>>           "lambda expressions use auto deduction in C++14 onwards");
>>
>> @@ -851,7 +851,7 @@ void Sema::ActOnStartOfLambdaDefinition(
>>    SmallVector<ParmVarDecl *, 8> Params;
>>    if (ParamInfo.getNumTypeObjects() == 0) {
>>      // C++11 [expr.prim.lambda]p4:
>> -    //   If a lambda-expression does not include a lambda-declarator, it is as
>> +    //   If a lambda-expression does not include a lambda-declarator, it is as
>>      //   if the lambda-declarator were ().
>>      FunctionProtoType::ExtProtoInfo EPI(Context.getDefaultCallingConvention(
>>          /*IsVariadic=*/false, /*IsCXXMethod=*/true));
>> @@ -878,8 +878,8 @@ void Sema::ActOnStartOfLambdaDefinition(
>>      DeclaratorChunk::FunctionTypeInfo &FTI = ParamInfo.getFunctionTypeInfo();
>>
>>      // C++11 [expr.prim.lambda]p5:
>> -    //   This function call operator is declared const (9.3.1) if and only if
>> -    //   the lambda-expression's parameter-declaration-clause is not followed
>> +    //   This function call operator is declared const (9.3.1) if and only if
>> +    //   the lambda-expression's parameter-declaration-clause is not followed
>>      //   by mutable. It is neither virtual nor declared volatile. [...]
>>      if (!FTI.hasMutableQualifier())
>>        FTI.TypeQuals |= DeclSpec::TQ_const;
>> @@ -917,8 +917,8 @@ void Sema::ActOnStartOfLambdaDefinition(
>>    // code_seg attribute on lambda apply to the method.
>>    if (Attr *A = getImplicitCodeSegOrSectionAttrForFunction(Method, /*IsDefinition=*/true))
>>      Method->addAttr(A);
>> -
>> -  // Attributes on the lambda apply to the method.
>> +
>> +  // Attributes on the lambda apply to the method.
>>    ProcessDeclAttributes(CurScope, Method, ParamInfo);
>>
>>    // CUDA lambdas get implicit attributes based on the scope in which they're
>> @@ -928,7 +928,7 @@ void Sema::ActOnStartOfLambdaDefinition(
>>
>>    // Introduce the function call operator as the current declaration context.
>>    PushDeclContext(CurScope, Method);
>> -
>> +
>>    // Build the lambda scope.
>>    buildLambdaScope(LSI, Method, Intro.Range, Intro.Default, Intro.DefaultLoc,
>>                     ExplicitParams, ExplicitResultType, !Method->isConst());
>> @@ -959,13 +959,13 @@ void Sema::ActOnStartOfLambdaDefinition(
>>    for (auto C = Intro.Captures.begin(), E = Intro.Captures.end(); C != E;
>>         PrevCaptureLoc = C->Loc, ++C) {
>>      if (C->Kind == LCK_This || C->Kind == LCK_StarThis) {
>> -      if (C->Kind == LCK_StarThis)
>> +      if (C->Kind == LCK_StarThis)
>>          Diag(C->Loc, !getLangOpts().CPlusPlus17
>>                               ? diag::ext_star_this_lambda_capture_cxx17
>>                               : diag::warn_cxx14_compat_star_this_lambda_capture);
>>
>>        // C++11 [expr.prim.lambda]p8:
>> -      //   An identifier or this shall not appear more than once in a
>> +      //   An identifier or this shall not appear more than once in a
>>        //   lambda-capture.
>>        if (LSI->isCXXThisCaptured()) {
>>          Diag(C->Loc, diag::err_capture_more_than_once)
>> @@ -993,7 +993,7 @@ void Sema::ActOnStartOfLambdaDefinition(
>>          Diag(C->Loc, diag::err_this_capture) << true;
>>          continue;
>>        }
>> -
>> +
>>        CheckCXXThisCapture(C->Loc, /*Explicit=*/true, /*BuildAndDiagnose*/ true,
>>                            /*FunctionScopeIndexToStopAtPtr*/ nullptr,
>>                            C->Kind == LCK_StarThis);
>> @@ -1018,9 +1018,9 @@ void Sema::ActOnStartOfLambdaDefinition(
>>        // If the initializer expression is usable, but the InitCaptureType
>>        // is not, then an error has occurred - so ignore the capture for now.
>>        // for e.g., [n{0}] { }; <-- if no <initializer_list> is included.
>> -      // FIXME: we should create the init capture variable and mark it invalid
>> +      // FIXME: we should create the init capture variable and mark it invalid
>>        // in this case.
>> -      if (C->InitCaptureType.get().isNull())
>> +      if (C->InitCaptureType.get().isNull())
>>          continue;
>>
>>        unsigned InitStyle;
>> @@ -1050,7 +1050,7 @@ void Sema::ActOnStartOfLambdaDefinition(
>>               "init capture has valid but null init?");
>>
>>        // C++11 [expr.prim.lambda]p8:
>> -      //   If a lambda-capture includes a capture-default that is &, the
>> +      //   If a lambda-capture includes a capture-default that is &, the
>>        //   identifiers in the lambda-capture shall not be preceded by &.
>>        //   If a lambda-capture includes a capture-default that is =, [...]
>>        //   each identifier it contains shall be preceded by &.
>> @@ -1131,7 +1131,7 @@ void Sema::ActOnStartOfLambdaDefinition(
>>        } else {
>>          Diag(C->EllipsisLoc, diag::err_pack_expansion_without_parameter_packs)
>>            << SourceRange(C->Loc);
>> -
>> +
>>          // Just ignore the ellipsis.
>>        }
>>      } else if (Var->isParameterPack()) {
>> @@ -1189,14 +1189,14 @@ QualType Sema::getLambdaConversionFuncti
>>    // The function type inside the pointer type is the same as the call
>>    // operator with some tweaks. The calling convention is the default free
>>    // function convention, and the type qualifications are lost.
>> -  const FunctionProtoType::ExtProtoInfo CallOpExtInfo =
>> -      CallOpProto->getExtProtoInfo();
>> +  const FunctionProtoType::ExtProtoInfo CallOpExtInfo =
>> +      CallOpProto->getExtProtoInfo();
>>    FunctionProtoType::ExtProtoInfo InvokerExtInfo = CallOpExtInfo;
>>    CallingConv CC = Context.getDefaultCallingConvention(
>>        CallOpProto->isVariadic(), /*IsCXXMethod=*/false);
>>    InvokerExtInfo.ExtInfo = InvokerExtInfo.ExtInfo.withCallingConv(CC);
>>    InvokerExtInfo.TypeQuals = 0;
>> -  assert(InvokerExtInfo.RefQualifier == RQ_None &&
>> +  assert(InvokerExtInfo.RefQualifier == RQ_None &&
>>        "Lambda's call operator should not have a reference qualifier");
>>    return Context.getFunctionType(CallOpProto->getReturnType(),
>>                                   CallOpProto->getParamTypes(), InvokerExtInfo);
>> @@ -1227,7 +1227,7 @@ static void addFunctionPointerConversion
>>        /*IsVariadic=*/false, /*IsCXXMethod=*/true));
>>    // The conversion function is always const.
>>    ConvExtInfo.TypeQuals = Qualifiers::Const;
>> -  QualType ConvTy =
>> +  QualType ConvTy =
>>        S.Context.getFunctionType(PtrToFunctionTy, None, ConvExtInfo);
>>
>>    SourceLocation Loc = IntroducerRange.getBegin();
>> @@ -1236,8 +1236,8 @@ static void addFunctionPointerConversion
>>          S.Context.getCanonicalType(PtrToFunctionTy));
>>    DeclarationNameLoc ConvNameLoc;
>>    // Construct a TypeSourceInfo for the conversion function, and wire
>> -  // all the parameters appropriately for the FunctionProtoTypeLoc
>> -  // so that everything works during transformation/instantiation of
>> +  // all the parameters appropriately for the FunctionProtoTypeLoc
>> +  // so that everything works during transformation/instantiation of
>>    // generic lambdas.
>>    // The main reason for wiring up the parameters of the conversion
>>    // function with that of the call operator is so that constructs
>> @@ -1247,46 +1247,46 @@ static void addFunctionPointerConversion
>>    //      return a;
>>    //   };
>>    // };
>> -  // int (*fp)(int) = L(5);
>> +  // int (*fp)(int) = L(5);
>>    // Because the trailing return type can contain DeclRefExprs that refer
>> -  // to the original call operator's variables, we hijack the call
>> +  // to the original call operator's variables, we hijack the call
>>    // operators ParmVarDecls below.
>> -  TypeSourceInfo *ConvNamePtrToFunctionTSI =
>> +  TypeSourceInfo *ConvNamePtrToFunctionTSI =
>>        S.Context.getTrivialTypeSourceInfo(PtrToFunctionTy, Loc);
>>    ConvNameLoc.NamedType.TInfo = ConvNamePtrToFunctionTSI;
>>
>>    // The conversion function is a conversion to a pointer-to-function.
>>    TypeSourceInfo *ConvTSI = S.Context.getTrivialTypeSourceInfo(ConvTy, Loc);
>> -  FunctionProtoTypeLoc ConvTL =
>> +  FunctionProtoTypeLoc ConvTL =
>>        ConvTSI->getTypeLoc().getAs<FunctionProtoTypeLoc>();
>>    // Get the result of the conversion function which is a pointer-to-function.
>> -  PointerTypeLoc PtrToFunctionTL =
>> +  PointerTypeLoc PtrToFunctionTL =
>>        ConvTL.getReturnLoc().getAs<PointerTypeLoc>();
>>    // Do the same for the TypeSourceInfo that is used to name the conversion
>>    // operator.
>> -  PointerTypeLoc ConvNamePtrToFunctionTL =
>> +  PointerTypeLoc ConvNamePtrToFunctionTL =
>>        ConvNamePtrToFunctionTSI->getTypeLoc().getAs<PointerTypeLoc>();
>> -
>> +
>>    // Get the underlying function types that the conversion function will
>>    // be converting to (should match the type of the call operator).
>> -  FunctionProtoTypeLoc CallOpConvTL =
>> +  FunctionProtoTypeLoc CallOpConvTL =
>>        PtrToFunctionTL.getPointeeLoc().getAs<FunctionProtoTypeLoc>();
>> -  FunctionProtoTypeLoc CallOpConvNameTL =
>> +  FunctionProtoTypeLoc CallOpConvNameTL =
>>      ConvNamePtrToFunctionTL.getPointeeLoc().getAs<FunctionProtoTypeLoc>();
>> -
>> +
>>    // Wire up the FunctionProtoTypeLocs with the call operator's parameters.
>>    // These parameter's are essentially used to transform the name and
>>    // the type of the conversion operator.  By using the same parameters
>>    // as the call operator's we don't have to fix any back references that
>> -  // the trailing return type of the call operator's uses (such as
>> +  // the trailing return type of the call operator's uses (such as
>>    // decltype(some_type<decltype(a)>::type{} + decltype(a){}) etc.)
>> -  // - we can simply use the return type of the call operator, and
>> -  // everything should work.
>> +  // - we can simply use the return type of the call operator, and
>> +  // everything should work.
>>    SmallVector<ParmVarDecl *, 4> InvokerParams;
>>    for (unsigned I = 0, N = CallOperator->getNumParams(); I != N; ++I) {
>>      ParmVarDecl *From = CallOperator->getParamDecl(I);
>>
>> -    InvokerParams.push_back(ParmVarDecl::Create(S.Context,
>> +    InvokerParams.push_back(ParmVarDecl::Create(S.Context,
>>             // Temporarily add to the TU. This is set to the invoker below.
>>                                               S.Context.getTranslationUnitDecl(),
>>                                               From->getLocStart(),
>> @@ -1300,14 +1300,14 @@ static void addFunctionPointerConversion
>>      CallOpConvNameTL.setParam(I, From);
>>    }
>>
>> -  CXXConversionDecl *Conversion
>> -    = CXXConversionDecl::Create(S.Context, Class, Loc,
>> -                                DeclarationNameInfo(ConversionName,
>> +  CXXConversionDecl *Conversion
>> +    = CXXConversionDecl::Create(S.Context, Class, Loc,
>> +                                DeclarationNameInfo(ConversionName,
>>                                    Loc, ConvNameLoc),
>> -                                ConvTy,
>> +                                ConvTy,
>>                                  ConvTSI,
>>                                  /*isInline=*/true, /*isExplicit=*/false,
>> -                                /*isConstexpr=*/S.getLangOpts().CPlusPlus17,
>> +                                /*isConstexpr=*/S.getLangOpts().CPlusPlus17,
>>                                  CallOperator->getBody()->getLocEnd());
>>    Conversion->setAccess(AS_public);
>>    Conversion->setImplicit(true);
>> @@ -1315,7 +1315,7 @@ static void addFunctionPointerConversion
>>    if (Class->isGenericLambda()) {
>>      // Create a template version of the conversion operator, using the template
>>      // parameter list of the function call operator.
>> -    FunctionTemplateDecl *TemplateCallOperator =
>> +    FunctionTemplateDecl *TemplateCallOperator =
>>              CallOperator->getDescribedFunctionTemplate();
>>      FunctionTemplateDecl *ConversionTemplate =
>>                    FunctionTemplateDecl::Create(S.Context, Class,
>> @@ -1337,19 +1337,19 @@ static void addFunctionPointerConversion
>>    // using FunctionTy & Loc and get its TypeLoc as a FunctionProtoTypeLoc
>>    // then rewire the parameters accordingly, by hoisting up the InvokeParams
>>    // loop below and then use its Params to set Invoke->setParams(...) below.
>> -  // This would avoid the 'const' qualifier of the calloperator from
>> -  // contaminating the type of the invoker, which is currently adjusted
>> +  // This would avoid the 'const' qualifier of the calloperator from
>> +  // contaminating the type of the invoker, which is currently adjusted
>>    // in SemaTemplateDeduction.cpp:DeduceTemplateArguments.  Fixing the
>>    // trailing return type of the invoker would require a visitor to rebuild
>>    // the trailing return type and adjusting all back DeclRefExpr's to refer
>>    // to the new static invoker parameters - not the call operator's.
>>    CXXMethodDecl *Invoke
>> -    = CXXMethodDecl::Create(S.Context, Class, Loc,
>> -                            DeclarationNameInfo(InvokerName, Loc),
>> +    = CXXMethodDecl::Create(S.Context, Class, Loc,
>> +                            DeclarationNameInfo(InvokerName, Loc),
>>                              InvokerFunctionTy,
>> -                            CallOperator->getTypeSourceInfo(),
>> +                            CallOperator->getTypeSourceInfo(),
>>                              SC_Static, /*IsInline=*/true,
>> -                            /*IsConstexpr=*/false,
>> +                            /*IsConstexpr=*/false,
>>                              CallOperator->getBody()->getLocEnd());
>>    for (unsigned I = 0, N = CallOperator->getNumParams(); I != N; ++I)
>>      InvokerParams[I]->setOwningFunction(Invoke);
>> @@ -1357,7 +1357,7 @@ static void addFunctionPointerConversion
>>    Invoke->setAccess(AS_private);
>>    Invoke->setImplicit(true);
>>    if (Class->isGenericLambda()) {
>> -    FunctionTemplateDecl *TemplateCallOperator =
>> +    FunctionTemplateDecl *TemplateCallOperator =
>>              CallOperator->getDescribedFunctionTemplate();
>>      FunctionTemplateDecl *StaticInvokerTemplate = FunctionTemplateDecl::Create(
>>                            S.Context, Class, Loc, InvokerName,
>> @@ -1372,7 +1372,7 @@ static void addFunctionPointerConversion
>>  }
>>
>>  /// Add a lambda's conversion to block pointer.
>> -static void addBlockPointerConversion(Sema &S,
>> +static void addBlockPointerConversion(Sema &S,
>>                                        SourceRange IntroducerRange,
>>                                        CXXRecordDecl *Class,
>>                                        CXXMethodDecl *CallOperator) {
>> @@ -1392,13 +1392,13 @@ static void addBlockPointerConversion(Se
>>          S.Context.getCanonicalType(BlockPtrTy));
>>    DeclarationNameLoc NameLoc;
>>    NameLoc.NamedType.TInfo = S.Context.getTrivialTypeSourceInfo(BlockPtrTy, Loc);
>> -  CXXConversionDecl *Conversion
>> -    = CXXConversionDecl::Create(S.Context, Class, Loc,
>> +  CXXConversionDecl *Conversion
>> +    = CXXConversionDecl::Create(S.Context, Class, Loc,
>>                                  DeclarationNameInfo(Name, Loc, NameLoc),
>> -                                ConvTy,
>> +                                ConvTy,
>>                                  S.Context.getTrivialTypeSourceInfo(ConvTy, Loc),
>>                                  /*isInline=*/true, /*isExplicit=*/false,
>> -                                /*isConstexpr=*/false,
>> +                                /*isConstexpr=*/false,
>>                                  CallOperator->getBody()->getLocEnd());
>>    Conversion->setAccess(AS_public);
>>    Conversion->setImplicit(true);
>> @@ -1421,7 +1421,7 @@ static ExprResult performLambdaVarCaptur
>>    //   direct-initialized in increasing subscript order.) These
>>    //   initializations are performed in the (unspecified) order in
>>    //   which the non-static data members are declared.
>> -
>> +
>>    // C++ [expr.prim.lambda]p12:
>>    //   An entity captured by a lambda-expression is odr-used (3.2) in
>>    //   the scope containing the lambda-expression.
>> @@ -1437,8 +1437,8 @@ static ExprResult performLambdaVarCaptur
>>    InitializationSequence Init(S, Entity, InitKind, Ref);
>>    return Init.Perform(S, Entity, InitKind, Ref);
>>  }
>> -
>> -ExprResult Sema::ActOnLambdaExpr(SourceLocation StartLoc, Stmt *Body,
>> +
>> +ExprResult Sema::ActOnLambdaExpr(SourceLocation StartLoc, Stmt *Body,
>>                                   Scope *CurScope) {
>>    LambdaScopeInfo LSI = *cast<LambdaScopeInfo>(FunctionScopes.back());
>>    ActOnFinishFunctionBody(LSI.CallOperator, Body);
>> @@ -1531,9 +1531,9 @@ ExprResult Sema::BuildLambdaExpr(SourceL
>>      IsGenericLambda = Class->isGenericLambda();
>>
>>      CallOperator->setLexicalDeclContext(Class);
>> -    Decl *TemplateOrNonTemplateCallOperatorDecl =
>> -        CallOperator->getDescribedFunctionTemplate()
>> -        ? CallOperator->getDescribedFunctionTemplate()
>> +    Decl *TemplateOrNonTemplateCallOperatorDecl =
>> +        CallOperator->getDescribedFunctionTemplate()
>> +        ? CallOperator->getDescribedFunctionTemplate()
>>          : cast<Decl>(CallOperator);
>>
>>      TemplateOrNonTemplateCallOperatorDecl->setLexicalDeclContext(Class);
>> @@ -1646,7 +1646,7 @@ ExprResult Sema::BuildLambdaExpr(SourceL
>>      // FIXME: Fix generic lambda to block conversions.
>>      if (getLangOpts().Blocks && getLangOpts().ObjC1 && !IsGenericLambda)
>>        addBlockPointerConversion(*this, IntroducerRange, Class, CallOperator);
>> -
>> +
>>      // Finalize the lambda class.
>>      SmallVector<Decl*, 4> Fields(Class->fields());
>>      ActOnFields(nullptr, Class->getLocation(), Class, Fields, SourceLocation(),
>> @@ -1656,9 +1656,9 @@ ExprResult Sema::BuildLambdaExpr(SourceL
>>
>>    Cleanup.mergeFrom(LambdaCleanup);
>>
>> -  LambdaExpr *Lambda = LambdaExpr::Create(Context, Class, IntroducerRange,
>> +  LambdaExpr *Lambda = LambdaExpr::Create(Context, Class, IntroducerRange,
>>                                            CaptureDefault, CaptureDefaultLoc,
>> -                                          Captures,
>> +                                          Captures,
>>                                            ExplicitParams, ExplicitResultType,
>>                                            CaptureInits, EndLoc,
>>                                            ContainsUnexpandedParameterPack);
>> @@ -1718,7 +1718,7 @@ ExprResult Sema::BuildBlockForLambdaConv
>>                                                 Expr *Src) {
>>    // Make sure that the lambda call operator is marked used.
>>    CXXRecordDecl *Lambda = Conv->getParent();
>> -  CXXMethodDecl *CallOperator
>> +  CXXMethodDecl *CallOperator
>>      = cast<CXXMethodDecl>(
>>          Lambda->lookup(
>>            Context.DeclarationNames.getCXXOperatorName(OO_Call)).front());
>> @@ -1731,10 +1731,10 @@ ExprResult Sema::BuildBlockForLambdaConv
>>        CurrentLocation, Src);
>>    if (!Init.isInvalid())
>>      Init = ActOnFinishFullExpr(Init.get());
>> -
>> +
>>    if (Init.isInvalid())
>>      return ExprError();
>> -
>> +
>>    // Create the new block to be returned.
>>    BlockDecl *Block = BlockDecl::Create(Context, CurContext, ConvLocation);
>>
>>
>> Modified: cfe/trunk/lib/Sema/SemaLookup.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaLookup.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Sema/SemaLookup.cpp (original)
>> +++ cfe/trunk/lib/Sema/SemaLookup.cpp Mon Jul 30 12:24:48 2018
>> @@ -1621,7 +1621,7 @@ bool Sema::isVisibleSlow(const NamedDecl
>>  bool Sema::shouldLinkPossiblyHiddenDecl(LookupResult &R, const NamedDecl *New) {
>>    // FIXME: If there are both visible and hidden declarations, we need to take
>>    // into account whether redeclaration is possible. Example:
>> -  //
>> +  //
>>    // Non-imported module:
>>    //   int f(T);        // #1
>>    // Some TU:
>> @@ -1795,7 +1795,7 @@ bool Sema::LookupName(LookupResult &R, S
>>            // actually exists in a Scope).
>>            while (S && !S->isDeclScope(D))
>>              S = S->getParent();
>> -
>> +
>>            // If the scope containing the declaration is the translation unit,
>>            // then we'll need to perform our checks based on the matching
>>            // DeclContexts rather than matching scopes.
>> @@ -1806,7 +1806,7 @@ bool Sema::LookupName(LookupResult &R, S
>>            DeclContext *DC = nullptr;
>>            if (!S)
>>              DC = (*I)->getDeclContext()->getRedeclContext();
>> -
>> +
>>            IdentifierResolver::iterator LastI = I;
>>            for (++LastI; LastI != IEnd; ++LastI) {
>>              if (S) {
>> @@ -1815,7 +1815,7 @@ bool Sema::LookupName(LookupResult &R, S
>>                  break;
>>              } else {
>>                // Match based on DeclContext.
>> -              DeclContext *LastDC
>> +              DeclContext *LastDC
>>                  = (*LastI)->getDeclContext()->getRedeclContext();
>>                if (!LastDC->Equals(DC))
>>                  break;
>> @@ -1843,8 +1843,8 @@ bool Sema::LookupName(LookupResult &R, S
>>    if (AllowBuiltinCreation && LookupBuiltin(*this, R))
>>      return true;
>>
>> -  // If we didn't find a use of this identifier, the ExternalSource
>> -  // may be able to handle the situation.
>> +  // If we didn't find a use of this identifier, the ExternalSource
>> +  // may be able to handle the situation.
>>    // Note: some lookup failures are expected!
>>    // See e.g. R.isForRedeclaration().
>>    return (ExternalSource && ExternalSource->LookupUnqualified(R, S));
>> @@ -2037,11 +2037,11 @@ bool Sema::LookupQualifiedName(LookupRes
>>      bool oldVal;
>>      DeclContext *Context;
>>      // Set flag in DeclContext informing debugger that we're looking for qualified name
>> -    QualifiedLookupInScope(DeclContext *ctx) : Context(ctx) {
>> -      oldVal = ctx->setUseQualifiedLookup();
>> +    QualifiedLookupInScope(DeclContext *ctx) : Context(ctx) {
>> +      oldVal = ctx->setUseQualifiedLookup();
>>      }
>> -    ~QualifiedLookupInScope() {
>> -      Context->setUseQualifiedLookup(oldVal);
>> +    ~QualifiedLookupInScope() {
>> +      Context->setUseQualifiedLookup(oldVal);
>>      }
>>    } QL(LookupCtx);
>>
>> @@ -2738,7 +2738,7 @@ addAssociatedClassesAndNamespaces(Associ
>>      case Type::DeducedTemplateSpecialization:
>>        break;
>>
>> -    // If T is an Objective-C object or interface type, or a pointer to an
>> +    // If T is an Objective-C object or interface type, or a pointer to an
>>      // object or interface type, the associated namespace is the global
>>      // namespace.
>>      case Type::ObjCObject:
>> @@ -4434,7 +4434,7 @@ static void AddKeywordsToConsumer(Sema &
>>      // Add type-specifier keywords to the set of results.
>>      static const char *const CTypeSpecs[] = {
>>        "char", "const", "double", "enum", "float", "int", "long", "short",
>> -      "signed", "struct", "union", "unsigned", "void", "volatile",
>> +      "signed", "struct", "union", "unsigned", "void", "volatile",
>>        "_Complex", "_Imaginary",
>>        // storage-specifiers as well
>>        "extern", "inline", "static", "typedef"
>> @@ -4450,7 +4450,7 @@ static void AddKeywordsToConsumer(Sema &
>>        Consumer.addKeywordResult("bool");
>>      else if (SemaRef.getLangOpts().C99)
>>        Consumer.addKeywordResult("_Bool");
>> -
>> +
>>      if (SemaRef.getLangOpts().CPlusPlus) {
>>        Consumer.addKeywordResult("class");
>>        Consumer.addKeywordResult("typename");
>>
>> Modified: cfe/trunk/lib/Sema/SemaObjCProperty.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaObjCProperty.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Sema/SemaObjCProperty.cpp (original)
>> +++ cfe/trunk/lib/Sema/SemaObjCProperty.cpp Mon Jul 30 12:24:48 2018
>> @@ -307,15 +307,15 @@ makePropertyAttributesAsWritten(unsigned
>>      attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_atomic;
>>    if (Attributes & ObjCDeclSpec::DQ_PR_class)
>>      attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_class;
>> -
>> +
>>    return (ObjCPropertyDecl::PropertyAttributeKind)attributesAsWritten;
>>  }
>>
>> -static bool LocPropertyAttribute( ASTContext &Context, const char *attrName,
>> +static bool LocPropertyAttribute( ASTContext &Context, const char *attrName,
>>                                   SourceLocation LParenLoc, SourceLocation &Loc) {
>>    if (LParenLoc.isMacroID())
>>      return false;
>> -
>> +
>>    SourceManager &SM = Context.getSourceManager();
>>    std::pair<FileID, unsigned> locInfo = SM.getDecomposedLoc(LParenLoc);
>>    // Try to load the file buffer.
>> @@ -324,7 +324,7 @@ static bool LocPropertyAttribute( ASTCon
>>    if (invalidTemp)
>>      return false;
>>    const char *tokenBegin = file.data() + locInfo.second;
>> -
>> +
>>    // Lex from the start of the given location.
>>    Lexer lexer(SM.getLocForStartOfFile(locInfo.first),
>>                Context.getLangOpts(),
>> @@ -365,7 +365,7 @@ static void checkAtomicPropertyMismatch(
>>      if (Attrs & ObjCPropertyDecl::OBJC_PR_nonatomic) return false;
>>
>>      // Was 'atomic' specified directly?
>> -    if (Property->getPropertyAttributesAsWritten() &
>> +    if (Property->getPropertyAttributesAsWritten() &
>>            ObjCPropertyDecl::OBJC_PR_atomic)
>>        return false;
>>
>> @@ -382,7 +382,7 @@ static void checkAtomicPropertyMismatch(
>>      Attrs = Attrs & ~AtomicityMask;
>>      if (OldIsAtomic)
>>        Attrs |= ObjCPropertyDecl::OBJC_PR_atomic;
>> -    else
>> +    else
>>        Attrs |= ObjCPropertyDecl::OBJC_PR_nonatomic;
>>
>>      NewProperty->overwritePropertyAttributes(Attrs);
>> @@ -429,7 +429,7 @@ Sema::HandlePropertyInClassExtension(Sco
>>    DeclContext *DC = CurContext;
>>    IdentifierInfo *PropertyId = FD.D.getIdentifier();
>>    ObjCInterfaceDecl *CCPrimary = CDecl->getClassInterface();
>> -
>> +
>>    // We need to look in the @interface to see if the @property was
>>    // already declared.
>>    if (!CCPrimary) {
>> @@ -445,7 +445,7 @@ Sema::HandlePropertyInClassExtension(Sco
>>    ObjCPropertyDecl *PIDecl = CCPrimary->FindPropertyVisibleInPrimaryClass(
>>        PropertyId, ObjCPropertyDecl::getQueryKind(isClassProperty));
>>
>> -  // If we found a property in an extension, complain.
>> +  // If we found a property in an extension, complain.
>>    if (PIDecl && isa<ObjCCategoryDecl>(PIDecl->getDeclContext())) {
>>      Diag(AtLoc, diag::err_duplicate_property);
>>      Diag(PIDecl->getLocation(), diag::note_property_declare);
>> @@ -482,7 +482,7 @@ Sema::HandlePropertyInClassExtension(Sco
>>            << PIDecl->getGetterName() << GetterSel;
>>          Diag(PIDecl->getLocation(), diag::note_property_declare);
>>        }
>> -
>> +
>>        // Always adopt the getter from the original declaration.
>>        GetterSel = PIDecl->getGetterName();
>>        Attributes |= ObjCDeclSpec::DQ_PR_getter;
>> @@ -503,7 +503,7 @@ Sema::HandlePropertyInClassExtension(Sco
>>        Attributes = (Attributes & ~OwnershipMask) | ExistingOwnership;
>>      }
>>
>> -    // If the redeclaration is 'weak' but the original property is not,
>> +    // If the redeclaration is 'weak' but the original property is not,
>>      if ((Attributes & ObjCPropertyDecl::OBJC_PR_weak) &&
>>          !(PIDecl->getPropertyAttributesAsWritten()
>>              & ObjCPropertyDecl::OBJC_PR_weak) &&
>> @@ -511,7 +511,7 @@ Sema::HandlePropertyInClassExtension(Sco
>>          PIDecl->getType().getObjCLifetime() == Qualifiers::OCL_None) {
>>        Diag(AtLoc, diag::warn_property_implicitly_mismatched);
>>        Diag(PIDecl->getLocation(), diag::note_property_declare);
>> -    }
>> +    }
>>    }
>>
>>    // Create a new ObjCPropertyDecl with the DeclContext being
>> @@ -546,13 +546,13 @@ Sema::HandlePropertyInClassExtension(Sco
>>          (!isObjCPointerConversion(ClassExtPropertyT, PrimaryClassPropertyT,
>>                                    ConvertedType, IncompatibleObjC))
>>          || IncompatibleObjC) {
>> -      Diag(AtLoc,
>> +      Diag(AtLoc,
>>            diag::err_type_mismatch_continuation_class) << PDecl->getType();
>>        Diag(PIDecl->getLocation(), diag::note_property_declare);
>>        return nullptr;
>>      }
>>    }
>> -
>> +
>>    // Check that atomicity of property in class extension matches the previous
>>    // declaration.
>>    checkAtomicPropertyMismatch(*this, PIDecl, PDecl, true);
>> @@ -621,7 +621,7 @@ ObjCPropertyDecl *Sema::CreatePropertyDe
>>    DeclContext *DC = CDecl;
>>    ObjCPropertyDecl *PDecl = ObjCPropertyDecl::Create(Context, DC,
>>                                                       FD.D.getIdentifierLoc(),
>> -                                                     PropertyId, AtLoc,
>> +                                                     PropertyId, AtLoc,
>>                                                       LParenLoc, T, TInfo);
>>
>>    bool isClassProperty = (AttributesAsWritten & ObjCDeclSpec::DQ_PR_class) ||
>> @@ -770,7 +770,7 @@ static void checkARCPropertyImpl(Sema &S
>>      S.Diag(ivar->getLocation(), diag::err_arc_assign_property_ownership)
>>        << property->getDeclName()
>>        << ivar->getDeclName()
>> -      << ((property->getPropertyAttributesAsWritten()
>> +      << ((property->getPropertyAttributesAsWritten()
>>             & ObjCPropertyDecl::OBJC_PR_assign) != 0);
>>      break;
>>
>> @@ -794,12 +794,12 @@ static void checkARCPropertyImpl(Sema &S
>>  /// life-time is assumed 'strong'.
>>  static void setImpliedPropertyAttributeForReadOnlyProperty(
>>                ObjCPropertyDecl *property, ObjCIvarDecl *ivar) {
>> -  Qualifiers::ObjCLifetime propertyLifetime =
>> +  Qualifiers::ObjCLifetime propertyLifetime =
>>      getImpliedARCOwnership(property->getPropertyAttributes(),
>>                             property->getType());
>>    if (propertyLifetime != Qualifiers::OCL_None)
>>      return;
>> -
>> +
>>    if (!ivar) {
>>      // if no backing ivar, make property 'strong'.
>>      property->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_strong);
>> @@ -1094,7 +1094,7 @@ Decl *Sema::ActOnPropertyImplDecl(Scope
>>          Diag(IC->getLocation(), diag::warn_auto_implicit_atomic_property);
>>        Diag(property->getLocation(), diag::note_property_declare);
>>      }
>> -
>> +
>>      if (const ObjCCategoryDecl *CD =
>>          dyn_cast<ObjCCategoryDecl>(property->getDeclContext())) {
>>        if (!CD->IsClassExtension()) {
>> @@ -1121,17 +1121,17 @@ Decl *Sema::ActOnPropertyImplDecl(Scope
>>              }
>>            }
>>        }
>> -
>> +
>>        if (!ReadWriteProperty) {
>>          Diag(property->getLocation(), diag::warn_auto_readonly_iboutlet_property)
>>              << property;
>>          SourceLocation readonlyLoc;
>> -        if (LocPropertyAttribute(Context, "readonly",
>> +        if (LocPropertyAttribute(Context, "readonly",
>>                                   property->getLParenLoc(), readonlyLoc)) {
>> -          SourceLocation endLoc =
>> +          SourceLocation endLoc =
>>              readonlyLoc.getLocWithOffset(strlen("readonly")-1);
>>            SourceRange ReadonlySourceRange(readonlyLoc, endLoc);
>> -          Diag(property->getLocation(),
>> +          Diag(property->getLocation(),
>>                 diag::note_auto_readonly_iboutlet_fixup_suggest) <<
>>            FixItHint::CreateReplacement(ReadonlySourceRange, "readwrite");
>>          }
>> @@ -1194,10 +1194,10 @@ Decl *Sema::ActOnPropertyImplDecl(Scope
>>          (property->getPropertyAttributesAsWritten() &
>>           ObjCPropertyDecl::OBJC_PR_readonly) &&
>>          PropertyIvarType->isObjCRetainableType()) {
>> -      setImpliedPropertyAttributeForReadOnlyProperty(property, Ivar);
>> +      setImpliedPropertyAttributeForReadOnlyProperty(property, Ivar);
>>      }
>> -
>> -    ObjCPropertyDecl::PropertyAttributeKind kind
>> +
>> +    ObjCPropertyDecl::PropertyAttributeKind kind
>>        = property->getPropertyAttributes();
>>
>>      bool isARCWeak = false;
>> @@ -1244,16 +1244,16 @@ Decl *Sema::ActOnPropertyImplDecl(Scope
>>      }
>>
>>      if (AtLoc.isInvalid()) {
>> -      // Check when default synthesizing a property that there is
>> +      // Check when default synthesizing a property that there is
>>        // an ivar matching property name and issue warning; since this
>>        // is the most common case of not using an ivar used for backing
>>        // property in non-default synthesis case.
>>        ObjCInterfaceDecl *ClassDeclared=nullptr;
>> -      ObjCIvarDecl *originalIvar =
>> -      IDecl->lookupInstanceVariable(property->getIdentifier(),
>> +      ObjCIvarDecl *originalIvar =
>> +      IDecl->lookupInstanceVariable(property->getIdentifier(),
>>                                      ClassDeclared);
>>        if (originalIvar) {
>> -        Diag(PropertyDiagLoc,
>> +        Diag(PropertyDiagLoc,
>>               diag::warn_autosynthesis_property_ivar_match)
>>          << PropertyId << (Ivar == nullptr) << PropertyIvar
>>          << originalIvar->getIdentifier();
>> @@ -1261,7 +1261,7 @@ Decl *Sema::ActOnPropertyImplDecl(Scope
>>          Diag(originalIvar->getLocation(), diag::note_ivar_decl);
>>        }
>>      }
>> -
>> +
>>      if (!Ivar) {
>>        // In ARC, give the ivar a lifetime qualifier based on the
>>        // property attributes.
>> @@ -1280,10 +1280,10 @@ Decl *Sema::ActOnPropertyImplDecl(Scope
>>            Qualifiers::ObjCLifetime lifetime =
>>              getImpliedARCOwnership(kind, PropertyIvarType);
>>            assert(lifetime && "no lifetime for property?");
>> -
>> +
>>            Qualifiers qs;
>>            qs.addObjCLifetime(lifetime);
>> -          PropertyIvarType = Context.getQualifiedType(PropertyIvarType, qs);
>> +          PropertyIvarType = Context.getQualifiedType(PropertyIvarType, qs);
>>          }
>>        }
>>
>> @@ -1333,7 +1333,7 @@ Decl *Sema::ActOnPropertyImplDecl(Scope
>>
>>      // Check that type of property and its ivar are type compatible.
>>      if (!Context.hasSameType(PropertyIvarType, IvarType)) {
>> -      if (isa<ObjCObjectPointerType>(PropertyIvarType)
>> +      if (isa<ObjCObjectPointerType>(PropertyIvarType)
>>            && isa<ObjCObjectPointerType>(IvarType))
>>          compat =
>>            Context.canAssignObjCInterfaces(
>> @@ -1390,7 +1390,7 @@ Decl *Sema::ActOnPropertyImplDecl(Scope
>>    } else if (PropertyIvar)
>>      // @dynamic
>>      Diag(PropertyDiagLoc, diag::err_dynamic_property_ivar_decl);
>> -
>> +
>>    assert (property && "ActOnPropertyImplDecl - property declaration missing");
>>    ObjCPropertyImplDecl *PIDecl =
>>    ObjCPropertyImplDecl::Create(Context, CurContext, AtLoc, PropertyLoc,
>> @@ -1412,7 +1412,7 @@ Decl *Sema::ActOnPropertyImplDecl(Scope
>>        // FIXME. Eventually we want to do this for Objective-C as well.
>>        SynthesizedFunctionScope Scope(*this, getterMethod);
>>        ImplicitParamDecl *SelfDecl = getterMethod->getSelfDecl();
>> -      DeclRefExpr *SelfExpr =
>> +      DeclRefExpr *SelfExpr =
>>          new (Context) DeclRefExpr(SelfDecl, false, SelfDecl->getType(),
>>                                    VK_LValue, PropertyDiagLoc);
>>        MarkDeclRefReferenced(SelfExpr);
>> @@ -1440,7 +1440,7 @@ Decl *Sema::ActOnPropertyImplDecl(Scope
>>      }
>>      if (property->hasAttr<NSReturnsNotRetainedAttr>() &&
>>          !getterMethod->hasAttr<NSReturnsNotRetainedAttr>()) {
>> -      Diag(getterMethod->getLocation(),
>> +      Diag(getterMethod->getLocation(),
>>             diag::warn_property_getter_owning_mismatch);
>>        Diag(property->getLocation(), diag::note_property_declare);
>>      }
>> @@ -1464,7 +1464,7 @@ Decl *Sema::ActOnPropertyImplDecl(Scope
>>        // FIXME. Eventually we want to do this for Objective-C as well.
>>        SynthesizedFunctionScope Scope(*this, setterMethod);
>>        ImplicitParamDecl *SelfDecl = setterMethod->getSelfDecl();
>> -      DeclRefExpr *SelfExpr =
>> +      DeclRefExpr *SelfExpr =
>>          new (Context) DeclRefExpr(SelfDecl, false, SelfDecl->getType(),
>>                                    VK_LValue, PropertyDiagLoc);
>>        MarkDeclRefReferenced(SelfExpr);
>> @@ -1484,27 +1484,27 @@ Decl *Sema::ActOnPropertyImplDecl(Scope
>>        DeclRefExpr *rhs = new (Context) DeclRefExpr(Param, false, T,
>>                                                     VK_LValue, PropertyDiagLoc);
>>        MarkDeclRefReferenced(rhs);
>> -      ExprResult Res = BuildBinOp(S, PropertyDiagLoc,
>> +      ExprResult Res = BuildBinOp(S, PropertyDiagLoc,
>>                                    BO_Assign, lhs, rhs);
>> -      if (property->getPropertyAttributes() &
>> +      if (property->getPropertyAttributes() &
>>            ObjCPropertyDecl::OBJC_PR_atomic) {
>>          Expr *callExpr = Res.getAs<Expr>();
>> -        if (const CXXOperatorCallExpr *CXXCE =
>> +        if (const CXXOperatorCallExpr *CXXCE =
>>                dyn_cast_or_null<CXXOperatorCallExpr>(callExpr))
>>            if (const FunctionDecl *FuncDecl = CXXCE->getDirectCallee())
>>              if (!FuncDecl->isTrivial())
>>                if (property->getType()->isReferenceType()) {
>> -                Diag(PropertyDiagLoc,
>> +                Diag(PropertyDiagLoc,
>>                       diag::err_atomic_property_nontrivial_assign_op)
>>                      << property->getType();
>> -                Diag(FuncDecl->getLocStart(),
>> +                Diag(FuncDecl->getLocStart(),
>>                       diag::note_callee_decl) << FuncDecl;
>>                }
>>        }
>>        PIDecl->setSetterCXXAssignment(Res.getAs<Expr>());
>>      }
>>    }
>> -
>> +
>>    if (IC) {
>>      if (Synthesize)
>>        if (ObjCPropertyImplDecl *PPIDecl =
>> @@ -1537,9 +1537,9 @@ Decl *Sema::ActOnPropertyImplDecl(Scope
>>            Ivar = IDecl->lookupInstanceVariable(PropertyId, ClassDeclared);
>>        }
>>        // Issue diagnostics only if Ivar belongs to current class.
>> -      if (Ivar && Ivar->getSynthesize() &&
>> +      if (Ivar && Ivar->getSynthesize() &&
>>            declaresSameEntity(IC->getClassInterface(), ClassDeclared)) {
>> -        Diag(Ivar->getLocation(), diag::err_undeclared_var_use)
>> +        Diag(Ivar->getLocation(), diag::err_undeclared_var_use)
>>          << PropertyId;
>>          Ivar->setInvalidDecl();
>>        }
>> @@ -1582,7 +1582,7 @@ Sema::DiagnosePropertyMismatch(ObjCPrope
>>      Property->getPropertyAttributes();
>>    ObjCPropertyDecl::PropertyAttributeKind SAttr =
>>      SuperProperty->getPropertyAttributes();
>> -
>> +
>>    // We allow readonly properties without an explicit ownership
>>    // (assign/unsafe_unretained/weak/retain/strong/copy) in super class
>>    // to be overridden by a property with any explicit ownership in the subclass.
>> @@ -1642,7 +1642,7 @@ Sema::DiagnosePropertyMismatch(ObjCPrope
>>      // FIXME. For future support of covariant property types, revisit this.
>>      bool IncompatibleObjC = false;
>>      QualType ConvertedType;
>> -    if (!isObjCPointerConversion(RHSType, LHSType,
>> +    if (!isObjCPointerConversion(RHSType, LHSType,
>>                                   ConvertedType, IncompatibleObjC) ||
>>          IncompatibleObjC) {
>>          Diag(Property->getLocation(), diag::warn_property_types_are_incompatible)
>> @@ -1683,7 +1683,7 @@ bool Sema::DiagnosePropertyAccessorMisma
>>          compat = false;
>>      }
>>    }
>> -
>> +
>>    if (!compat) {
>>      Diag(Loc, diag::warn_accessor_property_type_mismatch)
>>      << property->getDeclName()
>> @@ -1744,9 +1744,9 @@ CollectImmediateProperties(ObjCContainer
>>        ObjCPropertyDecl *PropertyFromSuper =
>>            SuperPropMap[std::make_pair(Prop->getIdentifier(),
>>                                        Prop->isClassProperty())];
>> -      // Exclude property for protocols which conform to class's super-class,
>> +      // Exclude property for protocols which conform to class's super-class,
>>        // as super-class has to implement the property.
>> -      if (!PropertyFromSuper ||
>> +      if (!PropertyFromSuper ||
>>            PropertyFromSuper->getIdentifier() != Prop->getIdentifier()) {
>>          ObjCPropertyDecl *&PropEntry =
>>              PropMap[std::make_pair(Prop->getIdentifier(),
>> @@ -1788,7 +1788,7 @@ Sema::IvarBacksCurrentMethodAccessor(Obj
>>                                              Method->isInstanceMethod());
>>    if (!IMD || !IMD->isPropertyAccessor())
>>      return false;
>> -
>> +
>>    // look up a property declaration whose one of its accessors is implemented
>>    // by this method.
>>    for (const auto *Property : IFace->instance_properties()) {
>> @@ -1841,7 +1841,7 @@ void Sema::DefaultSynthesizeProperties(S
>>      return;
>>    ObjCInterfaceDecl::PropertyMap SuperPropMap;
>>    CollectSuperClassPropertyImplementations(IDecl, SuperPropMap);
>> -
>> +
>>    for (unsigned i = 0, e = PropertyOrder.size(); i != e; i++) {
>>      ObjCPropertyDecl *Prop = PropertyOrder[i];
>>      // Is there a matching property synthesize/dynamic?
>> @@ -1997,7 +1997,7 @@ void Sema::DiagnoseUnimplementedProperti
>>      }
>>    if (IDecl)
>>      CollectSuperClassPropertyImplementations(IDecl, NoNeedToImplPropMap);
>> -
>> +
>>    // When SynthesizeProperties is true, we only check class properties.
>>    CollectImmediateProperties(CDecl, PropMap, NoNeedToImplPropMap,
>>                               SynthesizeProperties/*CollectClassPropsOnly*/);
>> @@ -2048,7 +2048,7 @@ void Sema::DiagnoseUnimplementedProperti
>>    // Collect property accessors implemented in current implementation.
>>    for (const auto *I : IMPDecl->methods())
>>      InsMap.insert(I);
>> -
>> +
>>    ObjCCategoryDecl *C = dyn_cast<ObjCCategoryDecl>(CDecl);
>>    ObjCInterfaceDecl *PrimaryClass = nullptr;
>>    if (C && !C->IsClassExtension())
>> @@ -2121,7 +2121,7 @@ Sema::AtomicPropertySetterGetterRules (O
>>    for (const auto *Ext : IDecl->known_extensions())
>>      for (auto *Prop : Ext->properties())
>>        PM[std::make_pair(Prop->getIdentifier(), Prop->isClassProperty())] = Prop;
>> -
>> +
>>    for (ObjCContainerDecl::PropertyMap::iterator I = PM.begin(), E = PM.end();
>>         I != E; ++I) {
>>      const ObjCPropertyDecl *Property = I->second;
>> @@ -2191,7 +2191,7 @@ Sema::AtomicPropertySetterGetterRules (O
>>              << FixItHint::CreateInsertion(AfterLParen, NonatomicStr);
>>          } else if (Property->getLParenLoc().isInvalid()) {
>>            //@property id etc.
>> -          SourceLocation startLoc =
>> +          SourceLocation startLoc =
>>              Property->getTypeSourceInfo()->getTypeLoc().getBeginLoc();
>>            Diag(Property->getLocation(),
>>                 diag::note_atomic_property_fixup_suggest)
>> @@ -2301,8 +2301,8 @@ static void AddPropertyAttrs(Sema &S, Ob
>>                               ObjCPropertyDecl *Property) {
>>    // Should we just clone all attributes over?
>>    for (const auto *A : Property->attrs()) {
>> -    if (isa<DeprecatedAttr>(A) ||
>> -        isa<UnavailableAttr>(A) ||
>> +    if (isa<DeprecatedAttr>(A) ||
>> +        isa<UnavailableAttr>(A) ||
>>          isa<AvailabilityAttr>(A))
>>        PropertyMethod->addAttr(A->clone(S.Context));
>>    }
>> @@ -2332,7 +2332,7 @@ void Sema::ProcessPropertyDecl(ObjCPrope
>>                           getClassMethod(property->getGetterName()) :
>>                         CatDecl->getClassInterface()->
>>                           getInstanceMethod(property->getGetterName());
>> -
>> +
>>    SetterMethod = IsClassProperty ?
>>                   CD->getClassMethod(property->getSetterName()) :
>>                   CD->getInstanceMethod(property->getSetterName());
>> @@ -2352,7 +2352,7 @@ void Sema::ProcessPropertyDecl(ObjCPrope
>>        Diag(SetterMethod->getLocation(), diag::err_setter_type_void);
>>      if (SetterMethod->param_size() != 1 ||
>>          !Context.hasSameUnqualifiedType(
>> -          (*SetterMethod->param_begin())->getType().getNonReferenceType(),
>> +          (*SetterMethod->param_begin())->getType().getNonReferenceType(),
>>            property->getType().getNonReferenceType())) {
>>        Diag(property->getLocation(),
>>             diag::warn_accessor_property_type_mismatch)
>> @@ -2406,11 +2406,11 @@ void Sema::ProcessPropertyDecl(ObjCPrope
>>      if (property->hasAttr<NSReturnsNotRetainedAttr>())
>>        GetterMethod->addAttr(NSReturnsNotRetainedAttr::CreateImplicit(Context,
>>                                                                       Loc));
>> -
>> +
>>      if (property->hasAttr<ObjCReturnsInnerPointerAttr>())
>>        GetterMethod->addAttr(
>>          ObjCReturnsInnerPointerAttr::CreateImplicit(Context, Loc));
>> -
>> +
>>      if (const SectionAttr *SA = property->getAttr<SectionAttr>())
>>        GetterMethod->addAttr(
>>            SectionAttr::CreateImplicit(Context, SectionAttr::GNU_section,
>> @@ -2535,12 +2535,12 @@ void Sema::CheckObjCPropertyAttributes(D
>>    // FIXME: Improve the reported location.
>>    if (!PDecl || PDecl->isInvalidDecl())
>>      return;
>> -
>> +
>>    if ((Attributes & ObjCDeclSpec::DQ_PR_readonly) &&
>>        (Attributes & ObjCDeclSpec::DQ_PR_readwrite))
>>      Diag(Loc, diag::err_objc_property_attr_mutually_exclusive)
>>      << "readonly" << "readwrite";
>> -
>> +
>>    ObjCPropertyDecl *PropertyDecl = cast<ObjCPropertyDecl>(PDecl);
>>    QualType PropertyTy = PropertyDecl->getType();
>>
>> @@ -2656,19 +2656,19 @@ void Sema::CheckObjCPropertyAttributes(D
>>      if (Attributes & ObjCDeclSpec::DQ_PR_readonly) {
>>        // do nothing
>>      } else if (getLangOpts().ObjCAutoRefCount) {
>> -      // With arc, @property definitions should default to strong when
>> +      // With arc, @property definitions should default to strong when
>>        // not specified.
>>        PropertyDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_strong);
>>      } else if (PropertyTy->isObjCObjectPointerType()) {
>> -        bool isAnyClassTy =
>> -          (PropertyTy->isObjCClassType() ||
>> +        bool isAnyClassTy =
>> +          (PropertyTy->isObjCClassType() ||
>>             PropertyTy->isObjCQualifiedClassType());
>>          // In non-gc, non-arc mode, 'Class' is treated as a 'void *' no need to
>>          // issue any warning.
>>          if (isAnyClassTy && getLangOpts().getGC() == LangOptions::NonGC)
>>            ;
>>          else if (propertyInPrimaryClass) {
>> -          // Don't issue warning on property with no life time in class
>> +          // Don't issue warning on property with no life time in class
>>            // extension as it is inherited from property in primary class.
>>            // Skip this warning in gc-only mode.
>>            if (getLangOpts().getGC() != LangOptions::GCOnly)
>> @@ -2696,7 +2696,7 @@ void Sema::CheckObjCPropertyAttributes(D
>>             !(Attributes & ObjCDeclSpec::DQ_PR_strong) &&
>>             PropertyTy->isBlockPointerType())
>>        Diag(Loc, diag::warn_objc_property_retain_of_block);
>> -
>> +
>>    if ((Attributes & ObjCDeclSpec::DQ_PR_readonly) &&
>>        (Attributes & ObjCDeclSpec::DQ_PR_setter))
>>      Diag(Loc, diag::warn_objc_readonly_property_has_setter);
>>
>> Modified: cfe/trunk/lib/Sema/SemaPseudoObject.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaPseudoObject.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Sema/SemaPseudoObject.cpp (original)
>> +++ cfe/trunk/lib/Sema/SemaPseudoObject.cpp Mon Jul 30 12:24:48 2018
>> @@ -316,10 +316,10 @@ namespace {
>>     OpaqueValueExpr *InstanceKey;
>>     ObjCMethodDecl *AtIndexGetter;
>>     Selector AtIndexGetterSelector;
>> -
>> +
>>     ObjCMethodDecl *AtIndexSetter;
>>     Selector AtIndexSetterSelector;
>> -
>> +
>>   public:
>>     ObjCSubscriptOpBuilder(Sema &S, ObjCSubscriptRefExpr *refExpr, bool IsUnique)
>>         : PseudoOpBuilder(S, refExpr->getSourceRange().getBegin(), IsUnique),
>> @@ -367,7 +367,7 @@ namespace {
>>  /// Capture the given expression in an OpaqueValueExpr.
>>  OpaqueValueExpr *PseudoOpBuilder::capture(Expr *e) {
>>    // Make a new OVE whose source is the given expression.
>> -  OpaqueValueExpr *captured =
>> +  OpaqueValueExpr *captured =
>>      new (S.Context) OpaqueValueExpr(GenericLoc, e->getType(),
>>                                      e->getValueKind(), e->getObjectKind(),
>>                                      e);
>> @@ -389,7 +389,7 @@ OpaqueValueExpr *PseudoOpBuilder::captur
>>    assert(ResultIndex == PseudoObjectExpr::NoResult);
>>
>>    // If the expression hasn't already been captured, just capture it
>> -  // and set the new semantic
>> +  // and set the new semantic
>>    if (!isa<OpaqueValueExpr>(e)) {
>>      OpaqueValueExpr *cap = capture(e);
>>      setResultToLastSemantic();
>> @@ -618,11 +618,11 @@ bool ObjCPropertyOpBuilder::findGetter()
>>        // Must build the getter selector the hard way.
>>        ObjCMethodDecl *setter = RefExpr->getImplicitPropertySetter();
>>        assert(setter && "both setter and getter are null - cannot happen");
>> -      IdentifierInfo *setterName =
>> +      IdentifierInfo *setterName =
>>          setter->getSelector().getIdentifierInfoForSlot(0);
>>        IdentifierInfo *getterName =
>>            &S.Context.Idents.get(setterName->getName().substr(3));
>> -      GetterSelector =
>> +      GetterSelector =
>>          S.PP.getSelectorTable().getNullarySelector(getterName);
>>        return false;
>>      }
>> @@ -636,7 +636,7 @@ bool ObjCPropertyOpBuilder::findGetter()
>>  /// Try to find the most accurate setter declaration for the property
>>  /// reference.
>>  ///
>> -/// \return true if a setter was found, in which case Setter
>> +/// \return true if a setter was found, in which case Setter
>>  bool ObjCPropertyOpBuilder::findSetter(bool warn) {
>>    // For implicit properties, just trust the lookup we already did.
>>    if (RefExpr->isImplicitProperty()) {
>> @@ -987,9 +987,9 @@ ExprResult ObjCPropertyOpBuilder::comple
>>  // ObjCSubscript build stuff.
>>  //
>>
>> -/// objective-c subscripting-specific behavior for doing lvalue-to-rvalue
>> +/// objective-c subscripting-specific behavior for doing lvalue-to-rvalue
>>  /// conversion.
>> -/// FIXME. Remove this routine if it is proven that no additional
>> +/// FIXME. Remove this routine if it is proven that no additional
>>  /// specifity is needed.
>>  ExprResult ObjCSubscriptOpBuilder::buildRValueOperation(Expr *op) {
>>    ExprResult result = PseudoOpBuilder::buildRValueOperation(op);
>> @@ -1007,21 +1007,21 @@ ObjCSubscriptOpBuilder::buildAssignmentO
>>    // There must be a method to do the Index'ed assignment.
>>    if (!findAtIndexSetter())
>>      return ExprError();
>> -
>> +
>>    // Verify that we can do a compound assignment.
>>    if (opcode != BO_Assign && !findAtIndexGetter())
>>      return ExprError();
>> -
>> +
>>    ExprResult result =
>>    PseudoOpBuilder::buildAssignmentOperation(Sc, opcLoc, opcode, LHS, RHS);
>>    if (result.isInvalid()) return ExprError();
>> -
>> +
>>    // Various warnings about objc Index'ed assignments in ARC.
>>    if (S.getLangOpts().ObjCAutoRefCount && InstanceBase) {
>>      S.checkRetainCycles(InstanceBase->getSourceExpr(), RHS);
>>      S.checkUnsafeExprAssigns(opcLoc, LHS, RHS);
>>    }
>> -
>> +
>>    return result;
>>  }
>>
>> @@ -1049,15 +1049,15 @@ Expr *ObjCSubscriptOpBuilder::rebuildAnd
>>    return syntacticBase;
>>  }
>>
>> -/// CheckSubscriptingKind - This routine decide what type
>> +/// CheckSubscriptingKind - This routine decide what type
>>  /// of indexing represented by "FromE" is being done.
>> -Sema::ObjCSubscriptKind
>> +Sema::ObjCSubscriptKind
>>    Sema::CheckSubscriptingKind(Expr *FromE) {
>>    // If the expression already has integral or enumeration type, we're golden.
>>    QualType T = FromE->getType();
>>    if (T->isIntegralOrEnumerationType())
>>      return OS_Array;
>> -
>> +
>>    // If we don't have a class type in C++, there's no way we can get an
>>    // expression of integral or enumeration type.
>>    const RecordType *RecordTy = T->getAs<RecordType>();
>> @@ -1066,7 +1066,7 @@ Sema::ObjCSubscriptKind
>>      // All other scalar cases are assumed to be dictionary indexing which
>>      // caller handles, with diagnostics if needed.
>>      return OS_Dictionary;
>> -  if (!getLangOpts().CPlusPlus ||
>> +  if (!getLangOpts().CPlusPlus ||
>>        !RecordTy || RecordTy->isIncompleteType()) {
>>      // No indexing can be done. Issue diagnostics and quit.
>>      const Expr *IndexExpr = FromE->IgnoreParenImpCasts();
>> @@ -1078,12 +1078,12 @@ Sema::ObjCSubscriptKind
>>          << T;
>>      return OS_Error;
>>    }
>> -
>> +
>>    // We must have a complete class type.
>> -  if (RequireCompleteType(FromE->getExprLoc(), T,
>> +  if (RequireCompleteType(FromE->getExprLoc(), T,
>>                            diag::err_objc_index_incomplete_class_type, FromE))
>>      return OS_Error;
>> -
>> +
>>    // Look for a conversion to an integral, enumeration type, or
>>    // objective-C pointer type.
>>    int NoIntegrals=0, NoObjCIdPointers=0;
>> @@ -1125,17 +1125,17 @@ Sema::ObjCSubscriptKind
>>
>>  /// CheckKeyForObjCARCConversion - This routine suggests bridge casting of CF
>>  /// objects used as dictionary subscript key objects.
>> -static void CheckKeyForObjCARCConversion(Sema &S, QualType ContainerT,
>> +static void CheckKeyForObjCARCConversion(Sema &S, QualType ContainerT,
>>                                           Expr *Key) {
>>    if (ContainerT.isNull())
>>      return;
>>    // dictionary subscripting.
>>    // - (id)objectForKeyedSubscript:(id)key;
>>    IdentifierInfo *KeyIdents[] = {
>> -    &S.Context.Idents.get("objectForKeyedSubscript")
>> +    &S.Context.Idents.get("objectForKeyedSubscript")
>>    };
>>    Selector GetterSelector = S.Context.Selectors.getSelector(1, KeyIdents);
>> -  ObjCMethodDecl *Getter = S.LookupMethodInObjectType(GetterSelector, ContainerT,
>> +  ObjCMethodDecl *Getter = S.LookupMethodInObjectType(GetterSelector, ContainerT,
>>                                                        true /*instance*/);
>>    if (!Getter)
>>      return;
>> @@ -1147,25 +1147,25 @@ static void CheckKeyForObjCARCConversion
>>  bool ObjCSubscriptOpBuilder::findAtIndexGetter() {
>>    if (AtIndexGetter)
>>      return true;
>> -
>> +
>>    Expr *BaseExpr = RefExpr->getBaseExpr();
>>    QualType BaseT = BaseExpr->getType();
>> -
>> +
>>    QualType ResultType;
>>    if (const ObjCObjectPointerType *PTy =
>>        BaseT->getAs<ObjCObjectPointerType>()) {
>>      ResultType = PTy->getPointeeType();
>>    }
>> -  Sema::ObjCSubscriptKind Res =
>> +  Sema::ObjCSubscriptKind Res =
>>      S.CheckSubscriptingKind(RefExpr->getKeyExpr());
>>    if (Res == Sema::OS_Error) {
>>      if (S.getLangOpts().ObjCAutoRefCount)
>> -      CheckKeyForObjCARCConversion(S, ResultType,
>> +      CheckKeyForObjCARCConversion(S, ResultType,
>>                                     RefExpr->getKeyExpr());
>>      return false;
>>    }
>>    bool arrayRef = (Res == Sema::OS_Array);
>> -
>> +
>>    if (ResultType.isNull()) {
>>      S.Diag(BaseExpr->getExprLoc(), diag::err_objc_subscript_base_type)
>>        << BaseExpr->getType() << arrayRef;
>> @@ -1175,24 +1175,24 @@ bool ObjCSubscriptOpBuilder::findAtIndex
>>      // dictionary subscripting.
>>      // - (id)objectForKeyedSubscript:(id)key;
>>      IdentifierInfo *KeyIdents[] = {
>> -      &S.Context.Idents.get("objectForKeyedSubscript")
>> +      &S.Context.Idents.get("objectForKeyedSubscript")
>>      };
>>      AtIndexGetterSelector = S.Context.Selectors.getSelector(1, KeyIdents);
>>    }
>>    else {
>>      // - (id)objectAtIndexedSubscript:(size_t)index;
>>      IdentifierInfo *KeyIdents[] = {
>> -      &S.Context.Idents.get("objectAtIndexedSubscript")
>> +      &S.Context.Idents.get("objectAtIndexedSubscript")
>>      };
>> -
>> +
>>      AtIndexGetterSelector = S.Context.Selectors.getSelector(1, KeyIdents);
>>    }
>> -
>> -  AtIndexGetter = S.LookupMethodInObjectType(AtIndexGetterSelector, ResultType,
>> +
>> +  AtIndexGetter = S.LookupMethodInObjectType(AtIndexGetterSelector, ResultType,
>>                                               true /*instance*/);
>> -
>> +
>>    if (!AtIndexGetter && S.getLangOpts().DebuggerObjCLiteral) {
>> -    AtIndexGetter = ObjCMethodDecl::Create(S.Context, SourceLocation(),
>> +    AtIndexGetter = ObjCMethodDecl::Create(S.Context, SourceLocation(),
>>                             SourceLocation(), AtIndexGetterSelector,
>>                             S.Context.getObjCIdType() /*ReturnType*/,
>>                             nullptr /*TypeSourceInfo */,
>> @@ -1220,20 +1220,20 @@ bool ObjCSubscriptOpBuilder::findAtIndex
>>        << BaseExpr->getType() << 0 << arrayRef;
>>        return false;
>>      }
>> -    AtIndexGetter =
>> -      S.LookupInstanceMethodInGlobalPool(AtIndexGetterSelector,
>> -                                         RefExpr->getSourceRange(),
>> +    AtIndexGetter =
>> +      S.LookupInstanceMethodInGlobalPool(AtIndexGetterSelector,
>> +                                         RefExpr->getSourceRange(),
>>                                           true);
>>    }
>> -
>> +
>>    if (AtIndexGetter) {
>>      QualType T = AtIndexGetter->parameters()[0]->getType();
>>      if ((arrayRef && !T->isIntegralOrEnumerationType()) ||
>>          (!arrayRef && !T->isObjCObjectPointerType())) {
>> -      S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
>> +      S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
>>               arrayRef ? diag::err_objc_subscript_index_type
>>                        : diag::err_objc_subscript_key_type) << T;
>> -      S.Diag(AtIndexGetter->parameters()[0]->getLocation(),
>> +      S.Diag(AtIndexGetter->parameters()[0]->getLocation(),
>>               diag::note_parameter_type) << T;
>>        return false;
>>      }
>> @@ -1251,32 +1251,32 @@ bool ObjCSubscriptOpBuilder::findAtIndex
>>  bool ObjCSubscriptOpBuilder::findAtIndexSetter() {
>>    if (AtIndexSetter)
>>      return true;
>> -
>> +
>>    Expr *BaseExpr = RefExpr->getBaseExpr();
>>    QualType BaseT = BaseExpr->getType();
>> -
>> +
>>    QualType ResultType;
>>    if (const ObjCObjectPointerType *PTy =
>>        BaseT->getAs<ObjCObjectPointerType>()) {
>>      ResultType = PTy->getPointeeType();
>>    }
>> -
>> -  Sema::ObjCSubscriptKind Res =
>> +
>> +  Sema::ObjCSubscriptKind Res =
>>      S.CheckSubscriptingKind(RefExpr->getKeyExpr());
>>    if (Res == Sema::OS_Error) {
>>      if (S.getLangOpts().ObjCAutoRefCount)
>> -      CheckKeyForObjCARCConversion(S, ResultType,
>> +      CheckKeyForObjCARCConversion(S, ResultType,
>>                                     RefExpr->getKeyExpr());
>>      return false;
>>    }
>>    bool arrayRef = (Res == Sema::OS_Array);
>> -
>> +
>>    if (ResultType.isNull()) {
>>      S.Diag(BaseExpr->getExprLoc(), diag::err_objc_subscript_base_type)
>>        << BaseExpr->getType() << arrayRef;
>>      return false;
>>    }
>> -
>> +
>>    if (!arrayRef) {
>>      // dictionary subscripting.
>>      // - (void)setObject:(id)object forKeyedSubscript:(id)key;
>> @@ -1294,7 +1294,7 @@ bool ObjCSubscriptOpBuilder::findAtIndex
>>      };
>>      AtIndexSetterSelector = S.Context.Selectors.getSelector(2, KeyIdents);
>>    }
>> -  AtIndexSetter = S.LookupMethodInObjectType(AtIndexSetterSelector, ResultType,
>> +  AtIndexSetter = S.LookupMethodInObjectType(AtIndexSetterSelector, ResultType,
>>                                               true /*instance*/);
>>
>>    if (!AtIndexSetter && S.getLangOpts().DebuggerObjCLiteral) {
>> @@ -1328,35 +1328,35 @@ bool ObjCSubscriptOpBuilder::findAtIndex
>>      Params.push_back(key);
>>      AtIndexSetter->setMethodParams(S.Context, Params, None);
>>    }
>> -
>> +
>>    if (!AtIndexSetter) {
>>      if (!BaseT->isObjCIdType()) {
>> -      S.Diag(BaseExpr->getExprLoc(),
>> +      S.Diag(BaseExpr->getExprLoc(),
>>               diag::err_objc_subscript_method_not_found)
>>        << BaseExpr->getType() << 1 << arrayRef;
>>        return false;
>>      }
>> -    AtIndexSetter =
>> -      S.LookupInstanceMethodInGlobalPool(AtIndexSetterSelector,
>> -                                         RefExpr->getSourceRange(),
>> +    AtIndexSetter =
>> +      S.LookupInstanceMethodInGlobalPool(AtIndexSetterSelector,
>> +                                         RefExpr->getSourceRange(),
>>                                           true);
>>    }
>> -
>> +
>>    bool err = false;
>>    if (AtIndexSetter && arrayRef) {
>>      QualType T = AtIndexSetter->parameters()[1]->getType();
>>      if (!T->isIntegralOrEnumerationType()) {
>> -      S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
>> +      S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
>>               diag::err_objc_subscript_index_type) << T;
>> -      S.Diag(AtIndexSetter->parameters()[1]->getLocation(),
>> +      S.Diag(AtIndexSetter->parameters()[1]->getLocation(),
>>               diag::note_parameter_type) << T;
>>        err = true;
>>      }
>>      T = AtIndexSetter->parameters()[0]->getType();
>>      if (!T->isObjCObjectPointerType()) {
>> -      S.Diag(RefExpr->getBaseExpr()->getExprLoc(),
>> +      S.Diag(RefExpr->getBaseExpr()->getExprLoc(),
>>               diag::err_objc_subscript_object_type) << T << arrayRef;
>> -      S.Diag(AtIndexSetter->parameters()[0]->getLocation(),
>> +      S.Diag(AtIndexSetter->parameters()[0]->getLocation(),
>>               diag::note_parameter_type) << T;
>>        err = true;
>>      }
>> @@ -1371,7 +1371,7 @@ bool ObjCSubscriptOpBuilder::findAtIndex
>>          else
>>            S.Diag(RefExpr->getBaseExpr()->getExprLoc(),
>>                   diag::err_objc_subscript_dic_object_type) << T;
>> -        S.Diag(AtIndexSetter->parameters()[i]->getLocation(),
>> +        S.Diag(AtIndexSetter->parameters()[i]->getLocation(),
>>                 diag::note_parameter_type) << T;
>>          err = true;
>>        }
>> @@ -1385,13 +1385,13 @@ bool ObjCSubscriptOpBuilder::findAtIndex
>>  ExprResult ObjCSubscriptOpBuilder::buildGet() {
>>    if (!findAtIndexGetter())
>>      return ExprError();
>> -
>> +
>>    QualType receiverType = InstanceBase->getType();
>> -
>> +
>>    // Build a message-send.
>>    ExprResult msg;
>>    Expr *Index = InstanceKey;
>> -
>> +
>>    // Arguments.
>>    Expr *args[] = { Index };
>>    assert(InstanceBase);
>> @@ -1417,17 +1417,17 @@ ExprResult ObjCSubscriptOpBuilder::build
>>      S.DiagnoseUseOfDecl(AtIndexSetter, GenericLoc);
>>    QualType receiverType = InstanceBase->getType();
>>    Expr *Index = InstanceKey;
>> -
>> +
>>    // Arguments.
>>    Expr *args[] = { op, Index };
>> -
>> +
>>    // Build a message-send.
>>    ExprResult msg = S.BuildInstanceMessageImplicit(InstanceBase, receiverType,
>>                                                    GenericLoc,
>>                                                    AtIndexSetterSelector,
>>                                                    AtIndexSetter,
>>                                                    MultiExprArg(args, 2));
>> -
>> +
>>    if (!msg.isInvalid() && captureSetValueAsResult) {
>>      ObjCMessageExpr *msgExpr =
>>        cast<ObjCMessageExpr>(msg.get()->IgnoreImplicit());
>> @@ -1435,7 +1435,7 @@ ExprResult ObjCSubscriptOpBuilder::build
>>      if (CanCaptureValue(arg))
>>        msgExpr->setArg(0, captureValueAsResult(arg));
>>    }
>> -
>> +
>>    return msg;
>>  }
>>
>>
>> Modified: cfe/trunk/lib/Sema/SemaStmt.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaStmt.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Sema/SemaStmt.cpp (original)
>> +++ cfe/trunk/lib/Sema/SemaStmt.cpp Mon Jul 30 12:24:48 2018
>> @@ -216,7 +216,7 @@ void Sema::DiagnoseUnusedExprResult(cons
>>    // expression is a call to a function with the warn_unused_result attribute,
>>    // we warn no matter the location. Because of the order in which the various
>>    // checks need to happen, we factor out the macro-related test here.
>> -  bool ShouldSuppress =
>> +  bool ShouldSuppress =
>>        SourceMgr.isMacroBodyExpansion(ExprLoc) ||
>>        SourceMgr.isInSystemMacro(ExprLoc);
>>
>> @@ -1879,7 +1879,7 @@ Sema::ActOnObjCForCollectionStmt(SourceL
>>        VarDecl *D = dyn_cast<VarDecl>(DS->getSingleDecl());
>>        if (!D || D->isInvalidDecl())
>>          return StmtError();
>> -
>> +
>>        FirstType = D->getType();
>>        // C99 6.8.5p3: The declaration part of a 'for' statement shall only
>>        // declare identifiers for objects having storage class 'auto' or
>> @@ -2373,7 +2373,7 @@ Sema::BuildCXXForRangeStmt(SourceLocatio
>>          // Rather, we need to determine what it was when the array was first
>>          // created - so we resort to using sizeof(vla)/sizeof(element).
>>          // For e.g.
>> -        //  void f(int b) {
>> +        //  void f(int b) {
>>          //    int vla[b];
>>          //    b = -1;   <-- This should not affect the num of iterations below
>>          //    for (int &c : vla) { .. }
>> @@ -2399,7 +2399,7 @@ Sema::BuildCXXForRangeStmt(SourceLocatio
>>              EndVar->getSourceRange());
>>          if (SizeOfVLAExprR.isInvalid())
>>            return StmtError();
>> -
>> +
>>          ExprResult SizeOfEachElementExprR = ActOnUnaryExprOrTypeTraitExpr(
>>              EndVar->getLocation(), UETT_SizeOf,
>>              /*isType=*/true,
>> @@ -2416,7 +2416,7 @@ Sema::BuildCXXForRangeStmt(SourceLocatio
>>                         SizeOfVLAExprR.get(), SizeOfEachElementExprR.get());
>>          if (BoundExpr.isInvalid())
>>            return StmtError();
>> -
>> +
>>        } else {
>>          // Can't be a DependentSizedArrayType or an IncompleteArrayType since
>>          // UnqAT is not incomplete and Range is not type-dependent.
>> @@ -3366,7 +3366,7 @@ bool Sema::DeduceFunctionTypeFromReturnE
>>      //   statement with a non-type-dependent operand.
>>      assert(AT->isDeduced() && "should have deduced to dependent type");
>>      return false;
>> -  }
>> +  }
>>
>>    if (RetExpr) {
>>      //  Otherwise, [...] deduce a value for U using the rules of template
>>
>> Modified: cfe/trunk/lib/Sema/SemaStmtAsm.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaStmtAsm.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Sema/SemaStmtAsm.cpp (original)
>> +++ cfe/trunk/lib/Sema/SemaStmtAsm.cpp Mon Jul 30 12:24:48 2018
>> @@ -603,7 +603,7 @@ StmtResult Sema::ActOnGCCAsmStmt(SourceL
>>                                   Context.getTargetInfo(), Context);
>>    if (ConstraintLoc.isValid())
>>      return Diag(ConstraintLoc, diag::error_inoutput_conflict_with_clobber);
>> -
>> +
>>    return NS;
>>  }
>>
>>
>> Modified: cfe/trunk/lib/Sema/SemaTemplate.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaTemplate.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Sema/SemaTemplate.cpp (original)
>> +++ cfe/trunk/lib/Sema/SemaTemplate.cpp Mon Jul 30 12:24:48 2018
>> @@ -888,7 +888,7 @@ ParsedTemplateArgument Sema::ActOnTempla
>>
>>    // This is a normal type template argument. Note, if the type template
>>    // argument is an injected-class-name for a template, it has a dual nature
>> -  // and can be used as either a type or a template. We handle that in
>> +  // and can be used as either a type or a template. We handle that in
>>    // convertTypeTemplateArgumentToTemplate.
>>    return ParsedTemplateArgument(ParsedTemplateArgument::Type,
>>                                  ParsedType.get().getAsOpaquePtr(),
>> @@ -1044,14 +1044,14 @@ NamedDecl *Sema::ActOnNonTypeTemplatePar
>>    // Check that we have valid decl-specifiers specified.
>>    auto CheckValidDeclSpecifiers = [this, &D] {
>>      // C++ [temp.param]
>> -    // p1
>> +    // p1
>>      //   template-parameter:
>>      //     ...
>>      //     parameter-declaration
>> -    // p2
>> +    // p2
>>      //   ... A storage class shall not be specified in a template-parameter
>>      //   declaration.
>> -    // [dcl.typedef]p1:
>> +    // [dcl.typedef]p1:
>>      //   The typedef specifier [...] shall not be used in the decl-specifier-seq
>>      //   of a parameter-declaration
>>      const DeclSpec &DS = D.getDeclSpec();
>> @@ -1061,22 +1061,22 @@ NamedDecl *Sema::ActOnNonTypeTemplatePar
>>      };
>>      if (DS.getStorageClassSpec() != DeclSpec::SCS_unspecified)
>>        EmitDiag(DS.getStorageClassSpecLoc());
>> -
>> +
>>      if (DS.getThreadStorageClassSpec() != TSCS_unspecified)
>>        EmitDiag(DS.getThreadStorageClassSpecLoc());
>> -
>> -    // [dcl.inline]p1:
>> -    //   The inline specifier can be applied only to the declaration or
>> +
>> +    // [dcl.inline]p1:
>> +    //   The inline specifier can be applied only to the declaration or
>>      //   definition of a variable or function.
>> -
>> +
>>      if (DS.isInlineSpecified())
>>        EmitDiag(DS.getInlineSpecLoc());
>> -
>> +
>>      // [dcl.constexpr]p1:
>> -    //   The constexpr specifier shall be applied only to the definition of a
>> -    //   variable or variable template or the declaration of a function or
>> +    //   The constexpr specifier shall be applied only to the definition of a
>> +    //   variable or variable template or the declaration of a function or
>>      //   function template.
>> -
>> +
>>      if (DS.isConstexprSpecified())
>>        EmitDiag(DS.getConstexprSpecLoc());
>>
>> @@ -1094,7 +1094,7 @@ NamedDecl *Sema::ActOnNonTypeTemplatePar
>>    };
>>
>>    CheckValidDeclSpecifiers();
>> -
>> +
>>    if (TInfo->getType()->isUndeducedType()) {
>>      Diag(D.getIdentifierLoc(),
>>           diag::warn_cxx14_compat_template_nontype_parm_auto_type)
>>
>> Modified: cfe/trunk/lib/Sema/SemaTemplateDeduction.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaTemplateDeduction.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Sema/SemaTemplateDeduction.cpp (original)
>> +++ cfe/trunk/lib/Sema/SemaTemplateDeduction.cpp Mon Jul 30 12:24:48 2018
>> @@ -4599,7 +4599,7 @@ bool Sema::DeduceReturnType(FunctionDecl
>>      CXXRecordDecl *Lambda = cast<CXXMethodDecl>(FD)->getParent();
>>      FunctionDecl *CallOp = Lambda->getLambdaCallOperator();
>>
>> -    // For a generic lambda, instantiate the call operator if needed.
>> +    // For a generic lambda, instantiate the call operator if needed.
>>      if (auto *Args = FD->getTemplateSpecializationArgs()) {
>>        CallOp = InstantiateFunctionDeclaration(
>>            CallOp->getDescribedFunctionTemplate(), Args, Loc);
>>
>> Modified: cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp (original)
>> +++ cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp Mon Jul 30 12:24:48 2018
>> @@ -52,7 +52,7 @@ using namespace sema;
>>  /// used to determine the proper set of template instantiation arguments for
>>  /// friend function template specializations.
>>  MultiLevelTemplateArgumentList
>> -Sema::getTemplateInstantiationArgs(NamedDecl *D,
>> +Sema::getTemplateInstantiationArgs(NamedDecl *D,
>>                                     const TemplateArgumentList *Innermost,
>>                                     bool RelativeToPrimary,
>>                                     const FunctionDecl *Pattern) {
>> @@ -61,7 +61,7 @@ Sema::getTemplateInstantiationArgs(Named
>>
>>    if (Innermost)
>>      Result.addOuterTemplateArguments(Innermost);
>> -
>> +
>>    DeclContext *Ctx = dyn_cast<DeclContext>(D);
>>    if (!Ctx) {
>>      Ctx = D->getDeclContext();
>> @@ -100,7 +100,7 @@ Sema::getTemplateInstantiationArgs(Named
>>      // use empty template parameter lists for all of the outer templates
>>      // to avoid performing any substitutions.
>>      if (Ctx->isTranslationUnit()) {
>> -      if (TemplateTemplateParmDecl *TTP
>> +      if (TemplateTemplateParmDecl *TTP
>>                                        = dyn_cast<TemplateTemplateParmDecl>(D)) {
>>          for (unsigned I = 0, N = TTP->getDepth() + 1; I != N; ++I)
>>            Result.addOuterTemplateArguments(None);
>> @@ -108,7 +108,7 @@ Sema::getTemplateInstantiationArgs(Named
>>        }
>>      }
>>    }
>> -
>> +
>>    while (!Ctx->isFileContext()) {
>>      // Add template arguments from a class template instantiation.
>>      if (ClassTemplateSpecializationDecl *Spec
>> @@ -119,8 +119,8 @@ Sema::getTemplateInstantiationArgs(Named
>>          break;
>>
>>        Result.addOuterTemplateArguments(&Spec->getTemplateInstantiationArgs());
>> -
>> -      // If this class template specialization was instantiated from a
>> +
>> +      // If this class template specialization was instantiated from a
>>        // specialized member that is a class template, we're done.
>>        assert(Spec->getSpecializedTemplate() && "No class template?");
>>        if (Spec->getSpecializedTemplate()->isMemberSpecialization())
>> @@ -129,11 +129,11 @@ Sema::getTemplateInstantiationArgs(Named
>>      // Add template arguments from a function template specialization.
>>      else if (FunctionDecl *Function = dyn_cast<FunctionDecl>(Ctx)) {
>>        if (!RelativeToPrimary &&
>> -          (Function->getTemplateSpecializationKind() ==
>> +          (Function->getTemplateSpecializationKind() ==
>>                                                    TSK_ExplicitSpecialization &&
>>             !Function->getClassScopeSpecializationPattern()))
>>          break;
>> -
>> +
>>        if (const TemplateArgumentList *TemplateArgs
>>              = Function->getTemplateSpecializationArgs()) {
>>          // Add the template arguments for this specialization.
>> @@ -154,7 +154,7 @@ Sema::getTemplateInstantiationArgs(Named
>>          // Add the "injected" template arguments.
>>          Result.addOuterTemplateArguments(FunTmpl->getInjectedTemplateArgs());
>>        }
>> -
>> +
>>        // If this is a friend declaration and it declares an entity at
>>        // namespace scope, take arguments from its lexical parent
>>        // instead of its semantic parent, unless of course the pattern we're
>> @@ -200,7 +200,7 @@ bool Sema::CodeSynthesisContext::isInsta
>>    case DeclaringSpecialMember:
>>    case DefiningSynthesizedFunction:
>>      return false;
>> -
>> +
>>    // This function should never be called when Kind's value is Memoization.
>>    case Memoization:
>>      break;
>> @@ -413,7 +413,7 @@ bool Sema::InstantiatingTemplate::CheckI
>>                                             SourceRange InstantiationRange) {
>>    assert(SemaRef.NonInstantiationEntries <=
>>           SemaRef.CodeSynthesisContexts.size());
>> -  if ((SemaRef.CodeSynthesisContexts.size() -
>> +  if ((SemaRef.CodeSynthesisContexts.size() -
>>            SemaRef.NonInstantiationEntries)
>>          <= SemaRef.getLangOpts().InstantiationDepth)
>>      return false;
>> @@ -517,9 +517,9 @@ void Sema::PrintInstantiationStack() {
>>        FunctionTemplateDecl *FnTmpl = cast<FunctionTemplateDecl>(Active->Entity);
>>        Diags.Report(Active->PointOfInstantiation,
>>                     diag::note_explicit_template_arg_substitution_here)
>> -        << FnTmpl
>> -        << getTemplateArgumentBindingsText(FnTmpl->getTemplateParameters(),
>> -                                           Active->TemplateArgs,
>> +        << FnTmpl
>> +        << getTemplateArgumentBindingsText(FnTmpl->getTemplateParameters(),
>> +                                           Active->TemplateArgs,
>>                                             Active->NumTemplateArgs)
>>          << Active->InstantiationRange;
>>        break;
>> @@ -531,8 +531,8 @@ void Sema::PrintInstantiationStack() {
>>          Diags.Report(Active->PointOfInstantiation,
>>                       diag::note_function_template_deduction_instantiation_here)
>>            << FnTmpl
>> -          << getTemplateArgumentBindingsText(FnTmpl->getTemplateParameters(),
>> -                                             Active->TemplateArgs,
>> +          << getTemplateArgumentBindingsText(FnTmpl->getTemplateParameters(),
>> +                                             Active->TemplateArgs,
>>                                               Active->NumTemplateArgs)
>>            << Active->InstantiationRange;
>>        } else {
>> @@ -556,7 +556,7 @@ void Sema::PrintInstantiationStack() {
>>          Diags.Report(Active->PointOfInstantiation,
>>                       diag::note_deduced_template_arg_substitution_here)
>>            << IsVar << IsTemplate << cast<NamedDecl>(Active->Entity)
>> -          << getTemplateArgumentBindingsText(Params, Active->TemplateArgs,
>> +          << getTemplateArgumentBindingsText(Params, Active->TemplateArgs,
>>                                               Active->NumTemplateArgs)
>>            << Active->InstantiationRange;
>>        }
>> @@ -596,8 +596,8 @@ void Sema::PrintInstantiationStack() {
>>                     diag::note_prior_template_arg_substitution)
>>          << isa<TemplateTemplateParmDecl>(Parm)
>>          << Name
>> -        << getTemplateArgumentBindingsText(TemplateParams,
>> -                                           Active->TemplateArgs,
>> +        << getTemplateArgumentBindingsText(TemplateParams,
>> +                                           Active->TemplateArgs,
>>                                             Active->NumTemplateArgs)
>>          << Active->InstantiationRange;
>>        break;
>> @@ -614,8 +614,8 @@ void Sema::PrintInstantiationStack() {
>>
>>        Diags.Report(Active->PointOfInstantiation,
>>                     diag::note_template_default_arg_checking)
>> -        << getTemplateArgumentBindingsText(TemplateParams,
>> -                                           Active->TemplateArgs,
>> +        << getTemplateArgumentBindingsText(TemplateParams,
>> +                                           Active->TemplateArgs,
>>                                             Active->NumTemplateArgs)
>>          << Active->InstantiationRange;
>>        break;
>> @@ -660,7 +660,7 @@ Optional<TemplateDeductionInfo *> Sema::
>>           Active = CodeSynthesisContexts.rbegin(),
>>           ActiveEnd = CodeSynthesisContexts.rend();
>>         Active != ActiveEnd;
>> -       ++Active)
>> +       ++Active)
>>    {
>>      switch (Active->Kind) {
>>      case CodeSynthesisContext::TemplateInstantiation:
>> @@ -678,7 +678,7 @@ Optional<TemplateDeductionInfo *> Sema::
>>      case CodeSynthesisContext::PriorTemplateArgumentSubstitution:
>>      case CodeSynthesisContext::DefaultTemplateArgumentChecking:
>>        // A default template argument instantiation and substitution into
>> -      // template parameters with arguments for prior parameters may or may
>> +      // template parameters with arguments for prior parameters may or may
>>        // not be a SFINAE context; look further up the stack.
>>        break;
>>
>> @@ -752,18 +752,18 @@ namespace {
>>                                   ArrayRef<UnexpandedParameterPack> Unexpanded,
>>                                   bool &ShouldExpand, bool &RetainExpansion,
>>                                   Optional<unsigned> &NumExpansions) {
>> -      return getSema().CheckParameterPacksForExpansion(EllipsisLoc,
>> +      return getSema().CheckParameterPacksForExpansion(EllipsisLoc,
>>                                                         PatternRange, Unexpanded,
>> -                                                       TemplateArgs,
>> +                                                       TemplateArgs,
>>                                                         ShouldExpand,
>>                                                         RetainExpansion,
>>                                                         NumExpansions);
>>      }
>>
>> -    void ExpandingFunctionParameterPack(ParmVarDecl *Pack) {
>> +    void ExpandingFunctionParameterPack(ParmVarDecl *Pack) {
>>        SemaRef.CurrentInstantiationScope->MakeInstantiatedLocalArgPack(Pack);
>>      }
>> -
>> +
>>      TemplateArgument ForgetPartiallySubstitutedPack() {
>>        TemplateArgument Result;
>>        if (NamedDecl *PartialPack
>> @@ -777,14 +777,14 @@ namespace {
>>            TemplateArgs.setArgument(Depth, Index, TemplateArgument());
>>          }
>>        }
>> -
>> +
>>        return Result;
>>      }
>> -
>> +
>>      void RememberPartiallySubstitutedPack(TemplateArgument Arg) {
>>        if (Arg.isNull())
>>          return;
>> -
>> +
>>        if (NamedDecl *PartialPack
>>              = SemaRef.CurrentInstantiationScope->getPartiallySubstitutedPack()){
>>          MultiLevelTemplateArgumentList &TemplateArgs
>> @@ -799,7 +799,7 @@ namespace {
>>      /// this declaration.
>>      Decl *TransformDecl(SourceLocation Loc, Decl *D);
>>
>> -    void transformAttrs(Decl *Old, Decl *New) {
>> +    void transformAttrs(Decl *Old, Decl *New) {
>>        SemaRef.InstantiateAttrs(TemplateArgs, Old, New);
>>      }
>>
>> @@ -817,7 +817,7 @@ namespace {
>>            NewMD->setInstantiationOfMemberFunction(OldMD,
>>                                                    TSK_ImplicitInstantiation);
>>        }
>> -
>> +
>>        SemaRef.CurrentInstantiationScope->InstantiatedLocal(Old, New);
>>
>>        // We recreated a local declaration, but not by instantiating it. There
>> @@ -825,7 +825,7 @@ namespace {
>>        if (auto *DC = dyn_cast<DeclContext>(Old))
>>          SemaRef.PerformDependentDiagnostics(DC, TemplateArgs);
>>      }
>> -
>> +
>>      /// Transform the definition of the given declaration by
>>      /// instantiating it.
>>      Decl *TransformDefinition(SourceLocation Loc, Decl *D);
>> @@ -833,20 +833,20 @@ namespace {
>>      /// Transform the first qualifier within a scope by instantiating the
>>      /// declaration.
>>      NamedDecl *TransformFirstQualifierInScope(NamedDecl *D, SourceLocation Loc);
>> -
>> +
>>      /// Rebuild the exception declaration and register the declaration
>>      /// as an instantiated local.
>> -    VarDecl *RebuildExceptionDecl(VarDecl *ExceptionDecl,
>> +    VarDecl *RebuildExceptionDecl(VarDecl *ExceptionDecl,
>>                                    TypeSourceInfo *Declarator,
>>                                    SourceLocation StartLoc,
>>                                    SourceLocation NameLoc,
>>                                    IdentifierInfo *Name);
>>
>> -    /// Rebuild the Objective-C exception declaration and register the
>> +    /// Rebuild the Objective-C exception declaration and register the
>>      /// declaration as an instantiated local.
>> -    VarDecl *RebuildObjCExceptionDecl(VarDecl *ExceptionDecl,
>> +    VarDecl *RebuildObjCExceptionDecl(VarDecl *ExceptionDecl,
>>                                        TypeSourceInfo *TSInfo, QualType T);
>> -
>> +
>>      /// Check for tag mismatches when instantiating an
>>      /// elaborated type.
>>      QualType RebuildElaboratedType(SourceLocation KeywordLoc,
>> @@ -921,11 +921,11 @@ namespace {
>>      TemplateParameterList *TransformTemplateParameterList(
>>                                TemplateParameterList *OrigTPL)  {
>>        if (!OrigTPL || !OrigTPL->size()) return OrigTPL;
>> -
>> +
>>        DeclContext *Owner = OrigTPL->getParam(0)->getDeclContext();
>> -      TemplateDeclInstantiator  DeclInstantiator(getSema(),
>> +      TemplateDeclInstantiator  DeclInstantiator(getSema(),
>>                          /* DeclContext *Owner */ Owner, TemplateArgs);
>> -      return DeclInstantiator.SubstTemplateParams(OrigTPL);
>> +      return DeclInstantiator.SubstTemplateParams(OrigTPL);
>>      }
>>    private:
>>      ExprResult transformNonTypeTemplateParmRef(NonTypeTemplateParmDecl *parm,
>> @@ -937,17 +937,17 @@ namespace {
>>  bool TemplateInstantiator::AlreadyTransformed(QualType T) {
>>    if (T.isNull())
>>      return true;
>> -
>> +
>>    if (T->isInstantiationDependentType() || T->isVariablyModifiedType())
>>      return false;
>> -
>> +
>>    getSema().MarkDeclarationsReferencedInType(Loc, T);
>>    return true;
>>  }
>>
>>  static TemplateArgument
>>  getPackSubstitutedTemplateArgument(Sema &S, TemplateArgument Arg) {
>> -  assert(S.ArgumentPackSubstitutionIndex >= 0);
>> +  assert(S.ArgumentPackSubstitutionIndex >= 0);
>>    assert(S.ArgumentPackSubstitutionIndex < (int)Arg.pack_size());
>>    Arg = Arg.pack_begin()[S.ArgumentPackSubstitutionIndex];
>>    if (Arg.isPackExpansion())
>> @@ -970,9 +970,9 @@ Decl *TemplateInstantiator::TransformDec
>>          return D;
>>
>>        TemplateArgument Arg = TemplateArgs(TTP->getDepth(), TTP->getPosition());
>> -
>> +
>>        if (TTP->isParameterPack()) {
>> -        assert(Arg.getKind() == TemplateArgument::Pack &&
>> +        assert(Arg.getKind() == TemplateArgument::Pack &&
>>                 "Missing argument pack");
>>          Arg = getPackSubstitutedTemplateArgument(getSema(), Arg);
>>        }
>> @@ -1000,22 +1000,22 @@ Decl *TemplateInstantiator::TransformDef
>>  }
>>
>>  NamedDecl *
>> -TemplateInstantiator::TransformFirstQualifierInScope(NamedDecl *D,
>> +TemplateInstantiator::TransformFirstQualifierInScope(NamedDecl *D,
>>                                                       SourceLocation Loc) {
>> -  // If the first part of the nested-name-specifier was a template type
>> +  // If the first part of the nested-name-specifier was a template type
>>    // parameter, instantiate that type parameter down to a tag type.
>>    if (TemplateTypeParmDecl *TTPD = dyn_cast_or_null<TemplateTypeParmDecl>(D)) {
>> -    const TemplateTypeParmType *TTP
>> +    const TemplateTypeParmType *TTP
>>        = cast<TemplateTypeParmType>(getSema().Context.getTypeDeclType(TTPD));
>> -
>> +
>>      if (TTP->getDepth() < TemplateArgs.getNumLevels()) {
>>        // FIXME: This needs testing w/ member access expressions.
>>        TemplateArgument Arg = TemplateArgs(TTP->getDepth(), TTP->getIndex());
>> -
>> +
>>        if (TTP->isParameterPack()) {
>> -        assert(Arg.getKind() == TemplateArgument::Pack &&
>> +        assert(Arg.getKind() == TemplateArgument::Pack &&
>>                 "Missing argument pack");
>> -
>> +
>>          if (getSema().ArgumentPackSubstitutionIndex == -1)
>>            return nullptr;
>>
>> @@ -1025,16 +1025,16 @@ TemplateInstantiator::TransformFirstQual
>>        QualType T = Arg.getAsType();
>>        if (T.isNull())
>>          return cast_or_null<NamedDecl>(TransformDecl(Loc, D));
>> -
>> +
>>        if (const TagType *Tag = T->getAs<TagType>())
>>          return Tag->getDecl();
>> -
>> +
>>        // The resulting type is not a tag; complain.
>>        getSema().Diag(Loc, diag::err_nested_name_spec_non_tag) << T;
>>        return nullptr;
>>      }
>>    }
>> -
>> +
>>    return cast_or_null<NamedDecl>(TransformDecl(Loc, D));
>>  }
>>
>> @@ -1051,8 +1051,8 @@ TemplateInstantiator::RebuildExceptionDe
>>    return Var;
>>  }
>>
>> -VarDecl *TemplateInstantiator::RebuildObjCExceptionDecl(VarDecl *ExceptionDecl,
>> -                                                        TypeSourceInfo *TSInfo,
>> +VarDecl *TemplateInstantiator::RebuildObjCExceptionDecl(VarDecl *ExceptionDecl,
>> +                                                        TypeSourceInfo *TSInfo,
>>                                                          QualType T) {
>>    VarDecl *Var = inherited::RebuildObjCExceptionDecl(ExceptionDecl, TSInfo, T);
>>    if (Var)
>> @@ -1107,13 +1107,13 @@ TemplateName TemplateInstantiator::Trans
>>        if (!TemplateArgs.hasTemplateArgument(TTP->getDepth(),
>>                                              TTP->getPosition()))
>>          return Name;
>> -
>> +
>>        TemplateArgument Arg = TemplateArgs(TTP->getDepth(), TTP->getPosition());
>> -
>> +
>>        if (TTP->isParameterPack()) {
>> -        assert(Arg.getKind() == TemplateArgument::Pack &&
>> +        assert(Arg.getKind() == TemplateArgument::Pack &&
>>                 "Missing argument pack");
>> -
>> +
>>          if (getSema().ArgumentPackSubstitutionIndex == -1) {
>>            // We have the template argument pack to substitute, but we're not
>>            // actually expanding the enclosing pack expansion yet. So, just
>> @@ -1123,7 +1123,7 @@ TemplateName TemplateInstantiator::Trans
>>
>>          Arg = getPackSubstitutedTemplateArgument(getSema(), Arg);
>>        }
>> -
>> +
>>        TemplateName Template = Arg.getAsTemplate().getNameToSubstitute();
>>        assert(!Template.isNull() && "Null template template argument");
>>        assert(!Template.getAsQualifiedTemplateName() &&
>> @@ -1133,12 +1133,12 @@ TemplateName TemplateInstantiator::Trans
>>        return Template;
>>      }
>>    }
>> -
>> +
>>    if (SubstTemplateTemplateParmPackStorage *SubstPack
>>        = Name.getAsSubstTemplateTemplateParmPack()) {
>>      if (getSema().ArgumentPackSubstitutionIndex == -1)
>>        return Name;
>> -
>> +
>>      TemplateArgument Arg = SubstPack->getArgumentPack();
>>      Arg = getPackSubstitutedTemplateArgument(getSema(), Arg);
>>      return Arg.getAsTemplate().getNameToSubstitute();
>> @@ -1149,7 +1149,7 @@ TemplateName TemplateInstantiator::Trans
>>                                            AllowInjectedClassName);
>>  }
>>
>> -ExprResult
>> +ExprResult
>>  TemplateInstantiator::TransformPredefinedExpr(PredefinedExpr *E) {
>>    if (!E->isTypeDependent())
>>      return E;
>> @@ -1187,15 +1187,15 @@ TemplateInstantiator::TransformTemplateP
>>    }
>>
>>    if (NTTP->isParameterPack()) {
>> -    assert(Arg.getKind() == TemplateArgument::Pack &&
>> +    assert(Arg.getKind() == TemplateArgument::Pack &&
>>             "Missing argument pack");
>> -
>> +
>>      if (getSema().ArgumentPackSubstitutionIndex == -1) {
>>        // We have an argument pack, but we can't select a particular argument
>>        // out of it yet. Therefore, we'll build an expression to hold on to that
>>        // argument pack.
>>        QualType TargetType = SemaRef.SubstType(NTTP->getType(), TemplateArgs,
>> -                                              E->getLocation(),
>> +                                              E->getLocation(),
>>                                                NTTP->getDeclName());
>>        if (TargetType.isNull())
>>          return ExprError();
>> @@ -1205,7 +1205,7 @@ TemplateInstantiator::TransformTemplateP
>>            TargetType->isReferenceType() ? VK_LValue : VK_RValue, NTTP,
>>            E->getLocation(), Arg);
>>      }
>> -
>> +
>>      Arg = getPackSubstitutedTemplateArgument(getSema(), Arg);
>>    }
>>
>> @@ -1260,12 +1260,12 @@ ExprResult TemplateInstantiator::transfo
>>        // Propagate NULL template argument.
>>        VD = nullptr;
>>      }
>> -
>> +
>>      // Derive the type we want the substituted decl to have.  This had
>>      // better be non-dependent, or these checks will have serious problems.
>>      if (parm->isExpandedParameterPack()) {
>>        type = parm->getExpansionType(SemaRef.ArgumentPackSubstitutionIndex);
>> -    } else if (parm->isParameterPack() &&
>> +    } else if (parm->isParameterPack() &&
>>                 isa<PackExpansionType>(parm->getType())) {
>>        type = SemaRef.SubstType(
>>                          cast<PackExpansionType>(parm->getType())->getPattern(),
>> @@ -1292,8 +1292,8 @@ ExprResult TemplateInstantiator::transfo
>>    return new (SemaRef.Context) SubstNonTypeTemplateParmExpr(
>>        type, resultExpr->getValueKind(), loc, parm, resultExpr);
>>  }
>> -
>> -ExprResult
>> +
>> +ExprResult
>>  TemplateInstantiator::TransformSubstNonTypeTemplateParmPackExpr(
>>                                            SubstNonTypeTemplateParmPackExpr *E) {
>>    if (getSema().ArgumentPackSubstitutionIndex == -1) {
>> @@ -1387,7 +1387,7 @@ TemplateInstantiator::TransformDeclRefEx
>>    if (NonTypeTemplateParmDecl *NTTP = dyn_cast<NonTypeTemplateParmDecl>(D)) {
>>      if (NTTP->getDepth() < TemplateArgs.getNumLevels())
>>        return TransformTemplateParmRefExpr(E, NTTP);
>> -
>> +
>>      // We have a non-type template parameter that isn't fully substituted;
>>      // FindInstantiatedDecl will find it in the local instantiation scope.
>>    }
>> @@ -1406,7 +1406,7 @@ ExprResult TemplateInstantiator::Transfo
>>               getDescribedFunctionTemplate() &&
>>           "Default arg expressions are never formed in dependent cases.");
>>    return SemaRef.BuildCXXDefaultArgExpr(E->getUsedLocation(),
>> -                           cast<FunctionDecl>(E->getParam()->getDeclContext()),
>> +                           cast<FunctionDecl>(E->getParam()->getDeclContext()),
>>                                          E->getParam());
>>  }
>>
>> @@ -1451,11 +1451,11 @@ TemplateInstantiator::TransformTemplateT
>>      }
>>
>>      TemplateArgument Arg = TemplateArgs(T->getDepth(), T->getIndex());
>> -
>> +
>>      if (T->isParameterPack()) {
>> -      assert(Arg.getKind() == TemplateArgument::Pack &&
>> +      assert(Arg.getKind() == TemplateArgument::Pack &&
>>               "Missing argument pack");
>> -
>> +
>>        if (getSema().ArgumentPackSubstitutionIndex == -1) {
>>          // We have the template argument pack, but we're not expanding the
>>          // enclosing pack expansion yet. Just save the template argument
>> @@ -1467,10 +1467,10 @@ TemplateInstantiator::TransformTemplateT
>>          NewTL.setNameLoc(TL.getNameLoc());
>>          return Result;
>>        }
>> -
>> +
>>        Arg = getPackSubstitutedTemplateArgument(getSema(), Arg);
>>      }
>> -
>> +
>>      assert(Arg.getKind() == TemplateArgument::Type &&
>>             "Template argument kind mismatch");
>>
>> @@ -1502,7 +1502,7 @@ TemplateInstantiator::TransformTemplateT
>>    return Result;
>>  }
>>
>> -QualType
>> +QualType
>>  TemplateInstantiator::TransformSubstTemplateTypeParmPackType(
>>                                                              TypeLocBuilder &TLB,
>>                                           SubstTemplateTypeParmPackTypeLoc TL) {
>> @@ -1565,8 +1565,8 @@ TypeSourceInfo *Sema::SubstType(TypeSour
>>    assert(!CodeSynthesisContexts.empty() &&
>>           "Cannot perform an instantiation without some context on the "
>>           "instantiation stack");
>> -
>> -  if (!T->getType()->isInstantiationDependentType() &&
>> +
>> +  if (!T->getType()->isInstantiationDependentType() &&
>>        !T->getType()->isVariablyModifiedType())
>>      return T;
>>
>> @@ -1582,11 +1582,11 @@ TypeSourceInfo *Sema::SubstType(TypeLoc
>>    assert(!CodeSynthesisContexts.empty() &&
>>           "Cannot perform an instantiation without some context on the "
>>           "instantiation stack");
>> -
>> +
>>    if (TL.getType().isNull())
>>      return nullptr;
>>
>> -  if (!TL.getType()->isInstantiationDependentType() &&
>> +  if (!TL.getType()->isInstantiationDependentType() &&
>>        !TL.getType()->isVariablyModifiedType()) {
>>      // FIXME: Make a copy of the TypeLoc data here, so that we can
>>      // return a new TypeSourceInfo. Inefficient!
>> @@ -1716,7 +1716,7 @@ void Sema::SubstExceptionSpec(FunctionDe
>>    UpdateExceptionSpec(New, ESI);
>>  }
>>
>> -ParmVarDecl *Sema::SubstParmVarDecl(ParmVarDecl *OldParm,
>> +ParmVarDecl *Sema::SubstParmVarDecl(ParmVarDecl *OldParm,
>>                              const MultiLevelTemplateArgumentList &TemplateArgs,
>>                                      int indexAdjustment,
>>                                      Optional<unsigned> NumExpansions,
>> @@ -1727,9 +1727,9 @@ ParmVarDecl *Sema::SubstParmVarDecl(Parm
>>    TypeLoc OldTL = OldDI->getTypeLoc();
>>    if (PackExpansionTypeLoc ExpansionTL = OldTL.getAs<PackExpansionTypeLoc>()) {
>>
>> -    // We have a function parameter pack. Substitute into the pattern of the
>> +    // We have a function parameter pack. Substitute into the pattern of the
>>      // expansion.
>> -    NewDI = SubstType(ExpansionTL.getPatternLoc(), TemplateArgs,
>> +    NewDI = SubstType(ExpansionTL.getPatternLoc(), TemplateArgs,
>>                        OldParm->getLocation(), OldParm->getDeclName());
>>      if (!NewDI)
>>        return nullptr;
>> @@ -1745,16 +1745,16 @@ ParmVarDecl *Sema::SubstParmVarDecl(Parm
>>        // itself is not a pack expansion type), so complain. This can occur when
>>        // the substitution goes through an alias template that "loses" the
>>        // pack expansion.
>> -      Diag(OldParm->getLocation(),
>> +      Diag(OldParm->getLocation(),
>>             diag::err_function_parameter_pack_without_parameter_packs)
>>          << NewDI->getType();
>>        return nullptr;
>> -    }
>> +    }
>>    } else {
>> -    NewDI = SubstType(OldDI, TemplateArgs, OldParm->getLocation(),
>> +    NewDI = SubstType(OldDI, TemplateArgs, OldParm->getLocation(),
>>                        OldParm->getDeclName());
>>    }
>> -
>> +
>>    if (!NewDI)
>>      return nullptr;
>>
>> @@ -1801,15 +1801,15 @@ ParmVarDecl *Sema::SubstParmVarDecl(Parm
>>    }
>>
>>    NewParm->setHasInheritedDefaultArg(OldParm->hasInheritedDefaultArg());
>> -
>> +
>>    if (OldParm->isParameterPack() && !NewParm->isParameterPack()) {
>>      // Add the new parameter to the instantiated parameter pack.
>>      CurrentInstantiationScope->InstantiatedLocalPackArg(OldParm, NewParm);
>>    } else {
>>      // Introduce an Old -> New mapping
>> -    CurrentInstantiationScope->InstantiatedLocal(OldParm, NewParm);
>> +    CurrentInstantiationScope->InstantiatedLocal(OldParm, NewParm);
>>    }
>> -
>> +
>>    // FIXME: OldParm may come from a FunctionProtoType, in which case CurContext
>>    // can be anything, is this right ?
>>    NewParm->setDeclContext(CurContext);
>> @@ -1819,7 +1819,7 @@ ParmVarDecl *Sema::SubstParmVarDecl(Parm
>>
>>    InstantiateAttrs(TemplateArgs, OldParm, NewParm);
>>
>> -  return NewParm;
>> +  return NewParm;
>>  }
>>
>>  /// Substitute the given template arguments into the given set of
>> @@ -1835,8 +1835,8 @@ bool Sema::SubstParmTypes(
>>    assert(!CodeSynthesisContexts.empty() &&
>>           "Cannot perform an instantiation without some context on the "
>>           "instantiation stack");
>> -
>> -  TemplateInstantiator Instantiator(*this, TemplateArgs, Loc,
>> +
>> +  TemplateInstantiator Instantiator(*this, TemplateArgs, Loc,
>>                                      DeclarationName());
>>    return Instantiator.TransformFunctionTypeParams(
>>        Loc, Params, nullptr, ExtParamInfos, ParamTypes, OutParams, ParamInfos);
>> @@ -1875,21 +1875,21 @@ Sema::SubstBaseSpecifiers(CXXRecordDecl
>>        bool ShouldExpand = false;
>>        bool RetainExpansion = false;
>>        Optional<unsigned> NumExpansions;
>> -      if (CheckParameterPacksForExpansion(Base.getEllipsisLoc(),
>> +      if (CheckParameterPacksForExpansion(Base.getEllipsisLoc(),
>>                                            Base.getSourceRange(),
>>                                            Unexpanded,
>> -                                          TemplateArgs, ShouldExpand,
>> +                                          TemplateArgs, ShouldExpand,
>>                                            RetainExpansion,
>>                                            NumExpansions)) {
>>          Invalid = true;
>>          continue;
>>        }
>> -
>> +
>>        // If we should expand this pack expansion now, do so.
>>        if (ShouldExpand) {
>>          for (unsigned I = 0; I != *NumExpansions; ++I) {
>>              Sema::ArgumentPackSubstitutionIndexRAII SubstIndex(*this, I);
>> -
>> +
>>            TypeSourceInfo *BaseTypeLoc = SubstType(Base.getTypeSourceInfo(),
>>                                                    TemplateArgs,
>>                                                Base.getSourceRange().getBegin(),
>> @@ -1898,7 +1898,7 @@ Sema::SubstBaseSpecifiers(CXXRecordDecl
>>              Invalid = true;
>>              continue;
>>            }
>> -
>> +
>>            if (CXXBaseSpecifier *InstantiatedBase
>>                  = CheckBaseSpecifier(Instantiation,
>>                                       Base.getSourceRange(),
>> @@ -1910,10 +1910,10 @@ Sema::SubstBaseSpecifiers(CXXRecordDecl
>>            else
>>              Invalid = true;
>>          }
>> -
>> +
>>          continue;
>>        }
>> -
>> +
>>        // The resulting base specifier will (still) be a pack expansion.
>>        EllipsisLoc = Base.getEllipsisLoc();
>>        Sema::ArgumentPackSubstitutionIndexRAII SubstIndex(*this, -1);
>> @@ -1927,7 +1927,7 @@ Sema::SubstBaseSpecifiers(CXXRecordDecl
>>                                Base.getSourceRange().getBegin(),
>>                                DeclarationName());
>>      }
>> -
>> +
>>      if (!BaseTypeLoc) {
>>        Invalid = true;
>>        continue;
>> @@ -1999,11 +1999,11 @@ Sema::InstantiateClass(SourceLocation Po
>>    Pattern = PatternDef;
>>
>>    // Record the point of instantiation.
>> -  if (MemberSpecializationInfo *MSInfo
>> +  if (MemberSpecializationInfo *MSInfo
>>          = Instantiation->getMemberSpecializationInfo()) {
>>      MSInfo->setTemplateSpecializationKind(TSK);
>>      MSInfo->setPointOfInstantiation(PointOfInstantiation);
>> -  } else if (ClassTemplateSpecializationDecl *Spec
>> +  } else if (ClassTemplateSpecializationDecl *Spec
>>          = dyn_cast<ClassTemplateSpecializationDecl>(Instantiation)) {
>>      Spec->setTemplateSpecializationKind(TSK);
>>      Spec->setPointOfInstantiation(PointOfInstantiation);
>> @@ -2563,15 +2563,15 @@ Sema::InstantiateClassMembers(SourceLoca
>>      if (auto *Function = dyn_cast<FunctionDecl>(D)) {
>>        if (FunctionDecl *Pattern
>>              = Function->getInstantiatedFromMemberFunction()) {
>> -        MemberSpecializationInfo *MSInfo
>> +        MemberSpecializationInfo *MSInfo
>>            = Function->getMemberSpecializationInfo();
>>          assert(MSInfo && "No member specialization information?");
>>          if (MSInfo->getTemplateSpecializationKind()
>>                                                   == TSK_ExplicitSpecialization)
>>            continue;
>> -
>> -        if (CheckSpecializationInstantiationRedecl(PointOfInstantiation, TSK,
>> -                                                   Function,
>> +
>> +        if (CheckSpecializationInstantiationRedecl(PointOfInstantiation, TSK,
>> +                                                   Function,
>>                                          MSInfo->getTemplateSpecializationKind(),
>>                                                MSInfo->getPointOfInstantiation(),
>>                                                     SuppressNew) ||
>> @@ -2610,31 +2610,31 @@ Sema::InstantiateClassMembers(SourceLoca
>>          if (MSInfo->getTemplateSpecializationKind()
>>                                                   == TSK_ExplicitSpecialization)
>>            continue;
>> -
>> -        if (CheckSpecializationInstantiationRedecl(PointOfInstantiation, TSK,
>> -                                                   Var,
>> +
>> +        if (CheckSpecializationInstantiationRedecl(PointOfInstantiation, TSK,
>> +                                                   Var,
>>                                          MSInfo->getTemplateSpecializationKind(),
>>                                                MSInfo->getPointOfInstantiation(),
>>                                                     SuppressNew) ||
>>              SuppressNew)
>>            continue;
>> -
>> +
>>          if (TSK == TSK_ExplicitInstantiationDefinition) {
>>            // C++0x [temp.explicit]p8:
>>            //   An explicit instantiation definition that names a class template
>> -          //   specialization explicitly instantiates the class template
>> -          //   specialization and is only an explicit instantiation definition
>> -          //   of members whose definition is visible at the point of
>> +          //   specialization explicitly instantiates the class template
>> +          //   specialization and is only an explicit instantiation definition
>> +          //   of members whose definition is visible at the point of
>>            //   instantiation.
>>            if (!Var->getInstantiatedFromStaticDataMember()->getDefinition())
>>              continue;
>> -
>> +
>>            Var->setTemplateSpecializationKind(TSK, PointOfInstantiation);
>>            InstantiateVariableDefinition(PointOfInstantiation, Var);
>>          } else {
>>            Var->setTemplateSpecializationKind(TSK, PointOfInstantiation);
>>          }
>> -      }
>> +      }
>>      } else if (auto *Record = dyn_cast<CXXRecordDecl>(D)) {
>>        // Always skip the injected-class-name, along with any
>>        // redeclarations of nested classes, since both would cause us
>> @@ -2644,10 +2644,10 @@ Sema::InstantiateClassMembers(SourceLoca
>>        if (Record->isInjectedClassName() || Record->getPreviousDecl() ||
>>            Record->isLambda())
>>          continue;
>> -
>> +
>>        MemberSpecializationInfo *MSInfo = Record->getMemberSpecializationInfo();
>>        assert(MSInfo && "No member specialization information?");
>> -
>> +
>>        if (MSInfo->getTemplateSpecializationKind()
>>                                                  == TSK_ExplicitSpecialization)
>>          continue;
>> @@ -2660,33 +2660,33 @@ Sema::InstantiateClassMembers(SourceLoca
>>          continue;
>>        }
>>
>> -      if (CheckSpecializationInstantiationRedecl(PointOfInstantiation, TSK,
>> -                                                 Record,
>> +      if (CheckSpecializationInstantiationRedecl(PointOfInstantiation, TSK,
>> +                                                 Record,
>>                                          MSInfo->getTemplateSpecializationKind(),
>>                                                MSInfo->getPointOfInstantiation(),
>>                                                   SuppressNew) ||
>>            SuppressNew)
>>          continue;
>> -
>> +
>>        CXXRecordDecl *Pattern = Record->getInstantiatedFromMemberClass();
>>        assert(Pattern && "Missing instantiated-from-template information");
>> -
>> +
>>        if (!Record->getDefinition()) {
>>          if (!Pattern->getDefinition()) {
>>            // C++0x [temp.explicit]p8:
>>            //   An explicit instantiation definition that names a class template
>> -          //   specialization explicitly instantiates the class template
>> -          //   specialization and is only an explicit instantiation definition
>> -          //   of members whose definition is visible at the point of
>> +          //   specialization explicitly instantiates the class template
>> +          //   specialization and is only an explicit instantiation definition
>> +          //   of members whose definition is visible at the point of
>>            //   instantiation.
>>            if (TSK == TSK_ExplicitInstantiationDeclaration) {
>>              MSInfo->setTemplateSpecializationKind(TSK);
>>              MSInfo->setPointOfInstantiation(PointOfInstantiation);
>>            }
>> -
>> +
>>            continue;
>>          }
>> -
>> +
>>          InstantiateClass(PointOfInstantiation, Record, Pattern,
>>                           TemplateArgs,
>>                           TSK);
>> @@ -2698,10 +2698,10 @@ Sema::InstantiateClassMembers(SourceLoca
>>            MarkVTableUsed(PointOfInstantiation, Record, true);
>>          }
>>        }
>> -
>> +
>>        Pattern = cast_or_null<CXXRecordDecl>(Record->getDefinition());
>>        if (Pattern)
>> -        InstantiateClassMembers(PointOfInstantiation, Pattern, TemplateArgs,
>> +        InstantiateClassMembers(PointOfInstantiation, Pattern, TemplateArgs,
>>                                  TSK);
>>      } else if (auto *Enum = dyn_cast<EnumDecl>(D)) {
>>        MemberSpecializationInfo *MSInfo = Enum->getMemberSpecializationInfo();
>> @@ -2816,10 +2816,10 @@ bool Sema::SubstExprs(ArrayRef<Expr *> E
>>
>>  NestedNameSpecifierLoc
>>  Sema::SubstNestedNameSpecifierLoc(NestedNameSpecifierLoc NNS,
>> -                        const MultiLevelTemplateArgumentList &TemplateArgs) {
>> +                        const MultiLevelTemplateArgumentList &TemplateArgs) {
>>    if (!NNS)
>>      return NestedNameSpecifierLoc();
>> -
>> +
>>    TemplateInstantiator Instantiator(*this, TemplateArgs, NNS.getBeginLoc(),
>>                                      DeclarationName());
>>    return Instantiator.TransformNestedNameSpecifierLoc(NNS);
>> @@ -2850,7 +2850,7 @@ bool Sema::Subst(const TemplateArgumentL
>>                   const MultiLevelTemplateArgumentList &TemplateArgs) {
>>    TemplateInstantiator Instantiator(*this, TemplateArgs, SourceLocation(),
>>                                      DeclarationName());
>> -
>> +
>>    return Instantiator.TransformTemplateArguments(Args, NumArgs, Result);
>>  }
>>
>> @@ -2884,7 +2884,7 @@ LocalInstantiationScope::findInstantiati
>>        LocalDeclsMap::iterator Found = Current->LocalDecls.find(CheckD);
>>        if (Found != Current->LocalDecls.end())
>>          return &Found->second;
>> -
>> +
>>        // If this is a tag declaration, it's possible that we need to look for
>>        // a previous declaration.
>>        if (const TagDecl *Tag = dyn_cast<TagDecl>(CheckD))
>> @@ -2892,8 +2892,8 @@ LocalInstantiationScope::findInstantiati
>>        else
>>          CheckD = nullptr;
>>      } while (CheckD);
>> -
>> -    // If we aren't combined with our outer scope, we're done.
>> +
>> +    // If we aren't combined with our outer scope, we're done.
>>      if (!Current->CombineWithOuterScope)
>>        break;
>>    }
>> @@ -2965,12 +2965,12 @@ void LocalInstantiationScope::MakeInstan
>>    ArgumentPacks.push_back(Pack);
>>  }
>>
>> -void LocalInstantiationScope::SetPartiallySubstitutedPack(NamedDecl *Pack,
>> +void LocalInstantiationScope::SetPartiallySubstitutedPack(NamedDecl *Pack,
>>                                            const TemplateArgument *ExplicitArgs,
>>                                                      unsigned NumExplicitArgs) {
>>    assert((!PartiallySubstitutedPack || PartiallySubstitutedPack == Pack) &&
>>           "Already have a partially-substituted pack");
>> -  assert((!PartiallySubstitutedPack
>> +  assert((!PartiallySubstitutedPack
>>            || NumArgsInPartiallySubstitutedPack == NumExplicitArgs) &&
>>           "Wrong number of arguments in partially-substituted pack");
>>    PartiallySubstitutedPack = Pack;
>> @@ -2985,15 +2985,15 @@ NamedDecl *LocalInstantiationScope::getP
>>      *ExplicitArgs = nullptr;
>>    if (NumExplicitArgs)
>>      *NumExplicitArgs = 0;
>> -
>> -  for (const LocalInstantiationScope *Current = this; Current;
>> +
>> +  for (const LocalInstantiationScope *Current = this; Current;
>>         Current = Current->Outer) {
>>      if (Current->PartiallySubstitutedPack) {
>>        if (ExplicitArgs)
>>          *ExplicitArgs = Current->ArgsInPartiallySubstitutedPack;
>>        if (NumExplicitArgs)
>>          *NumExplicitArgs = Current->NumArgsInPartiallySubstitutedPack;
>> -
>> +
>>        return Current->PartiallySubstitutedPack;
>>      }
>>
>>
>> Modified: cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp (original)
>> +++ cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp Mon Jul 30 12:24:48 2018
>> @@ -729,7 +729,7 @@ Decl *TemplateDeclInstantiator::VisitVar
>>                            DI, D->getStorageClass());
>>
>>    // In ARC, infer 'retaining' for variables of retainable type.
>> -  if (SemaRef.getLangOpts().ObjCAutoRefCount &&
>> +  if (SemaRef.getLangOpts().ObjCAutoRefCount &&
>>        SemaRef.inferObjCARCLifetime(Var))
>>      Var->setInvalidDecl();
>>
>> @@ -2056,7 +2056,7 @@ TemplateDeclInstantiator::VisitCXXMethod
>>    // previous declaration we just found.
>>    if (isFriend && Method->getPreviousDecl())
>>      Method->setAccess(Method->getPreviousDecl()->getAccess());
>> -  else
>> +  else
>>      Method->setAccess(D->getAccess());
>>    if (FunctionTemplate)
>>      FunctionTemplate->setAccess(Method->getAccess());
>> @@ -3417,7 +3417,7 @@ TemplateDeclInstantiator::SubstFunctionT
>>      ThisContext = cast<CXXRecordDecl>(Owner);
>>      ThisTypeQuals = Method->getTypeQualifiers();
>>    }
>> -
>> +
>>    TypeSourceInfo *NewTInfo
>>      = SemaRef.SubstFunctionDeclType(OldTInfo, TemplateArgs,
>>                                      D->getTypeSpecStartLoc(),
>> @@ -4890,14 +4890,14 @@ NamedDecl *Sema::FindInstantiatedDecl(So
>>                            const MultiLevelTemplateArgumentList &TemplateArgs,
>>                            bool FindingInstantiatedContext) {
>>    DeclContext *ParentDC = D->getDeclContext();
>> -  // FIXME: Parmeters of pointer to functions (y below) that are themselves
>> +  // FIXME: Parmeters of pointer to functions (y below) that are themselves
>>    // parameters (p below) can have their ParentDC set to the translation-unit
>> -  // - thus we can not consistently check if the ParentDC of such a parameter
>> +  // - thus we can not consistently check if the ParentDC of such a parameter
>>    // is Dependent or/and a FunctionOrMethod.
>> -  // For e.g. this code, during Template argument deduction tries to
>> +  // For e.g. this code, during Template argument deduction tries to
>>    // find an instantiated decl for (T y) when the ParentDC for y is
>> -  // the translation unit.
>> -  //   e.g. template <class T> void Foo(auto (*p)(T y) -> decltype(y())) {}
>> +  // the translation unit.
>> +  //   e.g. template <class T> void Foo(auto (*p)(T y) -> decltype(y())) {}
>>    //   float baz(float(*)()) { return 0.0; }
>>    //   Foo(baz);
>>    // The better fix here is perhaps to ensure that a ParmVarDecl, by the time
>>
>> Modified: cfe/trunk/lib/Sema/SemaTemplateVariadic.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaTemplateVariadic.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Sema/SemaTemplateVariadic.cpp (original)
>> +++ cfe/trunk/lib/Sema/SemaTemplateVariadic.cpp Mon Jul 30 12:24:48 2018
>> @@ -29,7 +29,7 @@ using namespace clang;
>>  namespace {
>>    /// A class that collects unexpanded parameter packs.
>>    class CollectUnexpandedParameterPacksVisitor :
>> -    public RecursiveASTVisitor<CollectUnexpandedParameterPacksVisitor>
>> +    public RecursiveASTVisitor<CollectUnexpandedParameterPacksVisitor>
>>    {
>>      typedef RecursiveASTVisitor<CollectUnexpandedParameterPacksVisitor>
>>        inherited;
>> @@ -58,7 +58,7 @@ namespace {
>>        if (T->getDepth() < DepthLimit)
>>          Unexpanded.push_back({T, Loc});
>>      }
>> -
>> +
>>    public:
>>      explicit CollectUnexpandedParameterPacksVisitor(
>>          SmallVectorImpl<UnexpandedParameterPack> &Unexpanded)
>> @@ -94,10 +94,10 @@ namespace {
>>      bool VisitDeclRefExpr(DeclRefExpr *E) {
>>        if (E->getDecl()->isParameterPack())
>>          addUnexpanded(E->getDecl(), E->getLocation());
>> -
>> +
>>        return true;
>>      }
>> -
>> +
>>      /// Record occurrences of template template parameter packs.
>>      bool TraverseTemplateName(TemplateName Template) {
>>        if (auto *TTP = dyn_cast_or_null<TemplateTemplateParmDecl>(
>> @@ -105,7 +105,7 @@ namespace {
>>          if (TTP->isParameterPack())
>>            addUnexpanded(TTP);
>>        }
>> -
>> +
>>        return inherited::TraverseTemplateName(Template);
>>      }
>>
>> @@ -131,7 +131,7 @@ namespace {
>>
>>      /// Suppress traversal into statements and expressions that
>>      /// do not contain unexpanded parameter packs.
>> -    bool TraverseStmt(Stmt *S) {
>> +    bool TraverseStmt(Stmt *S) {
>>        Expr *E = dyn_cast_or_null<Expr>(S);
>>        if ((E && E->containsUnexpandedParameterPack()) || InLambda)
>>          return inherited::TraverseStmt(S);
>> @@ -151,7 +151,7 @@ namespace {
>>      /// Suppress traversal into types with location information
>>      /// that do not contain unexpanded parameter packs.
>>      bool TraverseTypeLoc(TypeLoc TL) {
>> -      if ((!TL.getType().isNull() &&
>> +      if ((!TL.getType().isNull() &&
>>             TL.getType()->containsUnexpandedParameterPack()) ||
>>            InLambda)
>>          return inherited::TraverseTypeLoc(TL);
>> @@ -160,7 +160,7 @@ namespace {
>>      }
>>
>>      /// Suppress traversal of parameter packs.
>> -    bool TraverseDecl(Decl *D) {
>> +    bool TraverseDecl(Decl *D) {
>>        // A function parameter pack is a pack expansion, so cannot contain
>>        // an unexpanded parameter pack. Likewise for a template parameter
>>        // pack that contains any references to other packs.
>> @@ -215,7 +215,7 @@ namespace {
>>      bool TraverseTemplateArgumentLoc(const TemplateArgumentLoc &ArgLoc) {
>>        if (ArgLoc.getArgument().isPackExpansion())
>>          return true;
>> -
>> +
>>        return inherited::TraverseTemplateArgumentLoc(ArgLoc);
>>      }
>>
>> @@ -335,7 +335,7 @@ Sema::DiagnoseUnexpandedParameterPacks(S
>>        return false;
>>      }
>>    }
>> -
>> +
>>    SmallVector<SourceLocation, 4> Locations;
>>    SmallVector<IdentifierInfo *, 4> Names;
>>    llvm::SmallPtrSet<IdentifierInfo *, 4> NamesKnown;
>> @@ -365,11 +365,11 @@ Sema::DiagnoseUnexpandedParameterPacks(S
>>    return true;
>>  }
>>
>> -bool Sema::DiagnoseUnexpandedParameterPack(SourceLocation Loc,
>> +bool Sema::DiagnoseUnexpandedParameterPack(SourceLocation Loc,
>>                                             TypeSourceInfo *T,
>>                                           UnexpandedParameterPackContext UPPC) {
>>    // C++0x [temp.variadic]p5:
>> -  //   An appearance of a name of a parameter pack that is not expanded is
>> +  //   An appearance of a name of a parameter pack that is not expanded is
>>    //   ill-formed.
>>    if (!T->getType()->containsUnexpandedParameterPack())
>>      return false;
>> @@ -384,7 +384,7 @@ bool Sema::DiagnoseUnexpandedParameterPa
>>  bool Sema::DiagnoseUnexpandedParameterPack(Expr *E,
>>                                          UnexpandedParameterPackContext UPPC) {
>>    // C++0x [temp.variadic]p5:
>> -  //   An appearance of a name of a parameter pack that is not expanded is
>> +  //   An appearance of a name of a parameter pack that is not expanded is
>>    //   ill-formed.
>>    if (!E->containsUnexpandedParameterPack())
>>      return false;
>> @@ -398,9 +398,9 @@ bool Sema::DiagnoseUnexpandedParameterPa
>>  bool Sema::DiagnoseUnexpandedParameterPack(const CXXScopeSpec &SS,
>>                                          UnexpandedParameterPackContext UPPC) {
>>    // C++0x [temp.variadic]p5:
>> -  //   An appearance of a name of a parameter pack that is not expanded is
>> +  //   An appearance of a name of a parameter pack that is not expanded is
>>    //   ill-formed.
>> -  if (!SS.getScopeRep() ||
>> +  if (!SS.getScopeRep() ||
>>        !SS.getScopeRep()->containsUnexpandedParameterPack())
>>      return false;
>>
>> @@ -415,7 +415,7 @@ bool Sema::DiagnoseUnexpandedParameterPa
>>  bool Sema::DiagnoseUnexpandedParameterPack(const DeclarationNameInfo &NameInfo,
>>                                           UnexpandedParameterPackContext UPPC) {
>>    // C++0x [temp.variadic]p5:
>> -  //   An appearance of a name of a parameter pack that is not expanded is
>> +  //   An appearance of a name of a parameter pack that is not expanded is
>>    //   ill-formed.
>>    switch (NameInfo.getName().getNameKind()) {
>>    case DeclarationName::Identifier:
>> @@ -451,7 +451,7 @@ bool Sema::DiagnoseUnexpandedParameterPa
>>  bool Sema::DiagnoseUnexpandedParameterPack(SourceLocation Loc,
>>                                             TemplateName Template,
>>                                         UnexpandedParameterPackContext UPPC) {
>> -
>> +
>>    if (Template.isNull() || !Template.containsUnexpandedParameterPack())
>>      return false;
>>
>> @@ -464,10 +464,10 @@ bool Sema::DiagnoseUnexpandedParameterPa
>>
>>  bool Sema::DiagnoseUnexpandedParameterPack(TemplateArgumentLoc Arg,
>>                                           UnexpandedParameterPackContext UPPC) {
>> -  if (Arg.getArgument().isNull() ||
>> +  if (Arg.getArgument().isNull() ||
>>        !Arg.getArgument().containsUnexpandedParameterPack())
>>      return false;
>> -
>> +
>>    SmallVector<UnexpandedParameterPack, 2> Unexpanded;
>>    CollectUnexpandedParameterPacksVisitor(Unexpanded)
>>      .TraverseTemplateArgumentLoc(Arg);
>> @@ -489,12 +489,12 @@ void Sema::collectUnexpandedParameterPac
>>
>>  void Sema::collectUnexpandedParameterPacks(QualType T,
>>                     SmallVectorImpl<UnexpandedParameterPack> &Unexpanded) {
>> -  CollectUnexpandedParameterPacksVisitor(Unexpanded).TraverseType(T);
>> -}
>> +  CollectUnexpandedParameterPacksVisitor(Unexpanded).TraverseType(T);
>> +}
>>
>>  void Sema::collectUnexpandedParameterPacks(TypeLoc TL,
>>                     SmallVectorImpl<UnexpandedParameterPack> &Unexpanded) {
>> -  CollectUnexpandedParameterPacksVisitor(Unexpanded).TraverseTypeLoc(TL);
>> +  CollectUnexpandedParameterPacksVisitor(Unexpanded).TraverseTypeLoc(TL);
>>  }
>>
>>  void Sema::collectUnexpandedParameterPacks(
>> @@ -512,7 +512,7 @@ void Sema::collectUnexpandedParameterPac
>>  }
>>
>>
>> -ParsedTemplateArgument
>> +ParsedTemplateArgument
>>  Sema::ActOnPackExpansion(const ParsedTemplateArgument &Arg,
>>                           SourceLocation EllipsisLoc) {
>>    if (Arg.isInvalid())
>> @@ -524,7 +524,7 @@ Sema::ActOnPackExpansion(const ParsedTem
>>      if (Result.isInvalid())
>>        return ParsedTemplateArgument();
>>
>> -    return ParsedTemplateArgument(Arg.getKind(), Result.get().getAsOpaquePtr(),
>> +    return ParsedTemplateArgument(Arg.getKind(), Result.get().getAsOpaquePtr(),
>>                                    Arg.getLocation());
>>    }
>>
>> @@ -532,11 +532,11 @@ Sema::ActOnPackExpansion(const ParsedTem
>>      ExprResult Result = ActOnPackExpansion(Arg.getAsExpr(), EllipsisLoc);
>>      if (Result.isInvalid())
>>        return ParsedTemplateArgument();
>> -
>> -    return ParsedTemplateArgument(Arg.getKind(), Result.get(),
>> +
>> +    return ParsedTemplateArgument(Arg.getKind(), Result.get(),
>>                                    Arg.getLocation());
>>    }
>> -
>> +
>>    case ParsedTemplateArgument::Template:
>>      if (!Arg.getAsTemplate().get().containsUnexpandedParameterPack()) {
>>        SourceRange R(Arg.getLocation());
>> @@ -546,13 +546,13 @@ Sema::ActOnPackExpansion(const ParsedTem
>>          << R;
>>        return ParsedTemplateArgument();
>>      }
>> -
>> +
>>      return Arg.getTemplatePackExpansion(EllipsisLoc);
>>    }
>>    llvm_unreachable("Unhandled template argument kind?");
>>  }
>>
>> -TypeResult Sema::ActOnPackExpansion(ParsedType Type,
>> +TypeResult Sema::ActOnPackExpansion(ParsedType Type,
>>                                      SourceLocation EllipsisLoc) {
>>    TypeSourceInfo *TSInfo;
>>    GetTypeFromParser(Type, &TSInfo);
>> @@ -562,7 +562,7 @@ TypeResult Sema::ActOnPackExpansion(Pars
>>    TypeSourceInfo *TSResult = CheckPackExpansion(TSInfo, EllipsisLoc, None);
>>    if (!TSResult)
>>      return true;
>> -
>> +
>>    return CreateParsedType(TSResult->getType(), TSResult);
>>  }
>>
>> @@ -570,7 +570,7 @@ TypeSourceInfo *
>>  Sema::CheckPackExpansion(TypeSourceInfo *Pattern, SourceLocation EllipsisLoc,
>>                           Optional<unsigned> NumExpansions) {
>>    // Create the pack expansion type and source-location information.
>> -  QualType Result = CheckPackExpansion(Pattern->getType(),
>> +  QualType Result = CheckPackExpansion(Pattern->getType(),
>>                                         Pattern->getTypeLoc().getSourceRange(),
>>                                         EllipsisLoc, NumExpansions);
>>    if (Result.isNull())
>> @@ -608,7 +608,7 @@ ExprResult Sema::CheckPackExpansion(Expr
>>                                      Optional<unsigned> NumExpansions) {
>>    if (!Pattern)
>>      return ExprError();
>> -
>> +
>>    // C++0x [temp.variadic]p5:
>>    //   The pattern of a pack expansion shall name one or more
>>    //   parameter packs that are not expanded by a nested pack
>> @@ -618,7 +618,7 @@ ExprResult Sema::CheckPackExpansion(Expr
>>      << Pattern->getSourceRange();
>>      return ExprError();
>>    }
>> -
>> +
>>    // Create the pack expansion expression and source-location information.
>>    return new (Context)
>>      PackExpansionExpr(Context.DependentTy, Pattern, EllipsisLoc, NumExpansions);
>> @@ -643,7 +643,7 @@ bool Sema::CheckParameterPacksForExpansi
>>      unsigned Depth = 0, Index = 0;
>>      IdentifierInfo *Name;
>>      bool IsFunctionParameterPack = false;
>> -
>> +
>>      if (const TemplateTypeParmType *TTP
>>          = i->first.dyn_cast<const TemplateTypeParmType *>()) {
>>        Depth = TTP->getDepth();
>> @@ -658,13 +658,13 @@ bool Sema::CheckParameterPacksForExpansi
>>
>>        Name = ND->getIdentifier();
>>      }
>> -
>> +
>>      // Determine the size of this argument pack.
>> -    unsigned NewPackSize;
>> +    unsigned NewPackSize;
>>      if (IsFunctionParameterPack) {
>>        // Figure out whether we're instantiating to an argument pack or not.
>>        typedef LocalInstantiationScope::DeclArgumentPack DeclArgumentPack;
>> -
>> +
>>        llvm::PointerUnion<Decl *, DeclArgumentPack *> *Instantiation
>>          = CurrentInstantiationScope->findInstantiationOf(
>>                                          i->first.get<NamedDecl *>());
>> @@ -678,25 +678,25 @@ bool Sema::CheckParameterPacksForExpansi
>>          continue;
>>        }
>>      } else {
>> -      // If we don't have a template argument at this depth/index, then we
>> -      // cannot expand the pack expansion. Make a note of this, but we still
>> +      // If we don't have a template argument at this depth/index, then we
>> +      // cannot expand the pack expansion. Make a note of this, but we still
>>        // want to check any parameter packs we *do* have arguments for.
>>        if (Depth >= TemplateArgs.getNumLevels() ||
>>            !TemplateArgs.hasTemplateArgument(Depth, Index)) {
>>          ShouldExpand = false;
>>          continue;
>>        }
>> -
>> +
>>        // Determine the size of the argument pack.
>>        NewPackSize = TemplateArgs(Depth, Index).pack_size();
>>      }
>> -
>> +
>>      // C++0x [temp.arg.explicit]p9:
>> -    //   Template argument deduction can extend the sequence of template
>> +    //   Template argument deduction can extend the sequence of template
>>      //   arguments corresponding to a template parameter pack, even when the
>>      //   sequence contains explicitly specified template arguments.
>>      if (!IsFunctionParameterPack && CurrentInstantiationScope) {
>> -      if (NamedDecl *PartialPack
>> +      if (NamedDecl *PartialPack
>>                      = CurrentInstantiationScope->getPartiallySubstitutedPack()){
>>          unsigned PartialDepth, PartialIndex;
>>          std::tie(PartialDepth, PartialIndex) = getDepthAndIndex(PartialPack);
>> @@ -709,9 +709,9 @@ bool Sema::CheckParameterPacksForExpansi
>>          }
>>        }
>>      }
>> -
>> +
>>      if (!NumExpansions) {
>> -      // The is the first pack we've seen for which we have an argument.
>> +      // The is the first pack we've seen for which we have an argument.
>>        // Record it.
>>        NumExpansions = NewPackSize;
>>        FirstPack.first = Name;
>> @@ -719,10 +719,10 @@ bool Sema::CheckParameterPacksForExpansi
>>        HaveFirstPack = true;
>>        continue;
>>      }
>> -
>> +
>>      if (NewPackSize != *NumExpansions) {
>>        // C++0x [temp.variadic]p5:
>> -      //   All of the parameter packs expanded by a pack expansion shall have
>> +      //   All of the parameter packs expanded by a pack expansion shall have
>>        //   the same number of arguments specified.
>>        if (HaveFirstPack)
>>          Diag(EllipsisLoc, diag::err_pack_expansion_length_conflict)
>> @@ -772,17 +772,17 @@ Optional<unsigned> Sema::getNumArguments
>>      // Compute the depth and index for this parameter pack.
>>      unsigned Depth;
>>      unsigned Index;
>> -
>> +
>>      if (const TemplateTypeParmType *TTP
>>            = Unexpanded[I].first.dyn_cast<const TemplateTypeParmType *>()) {
>>        Depth = TTP->getDepth();
>>        Index = TTP->getIndex();
>> -    } else {
>> +    } else {
>>        NamedDecl *ND = Unexpanded[I].first.get<NamedDecl *>();
>>        if (isa<ParmVarDecl>(ND)) {
>>          // Function parameter pack.
>>          typedef LocalInstantiationScope::DeclArgumentPack DeclArgumentPack;
>> -
>> +
>>          llvm::PointerUnion<Decl *, DeclArgumentPack *> *Instantiation
>>            = CurrentInstantiationScope->findInstantiationOf(
>>                                          Unexpanded[I].first.get<NamedDecl *>());
>> @@ -804,13 +804,13 @@ Optional<unsigned> Sema::getNumArguments
>>        // The pattern refers to an unknown template argument. We're not ready to
>>        // expand this pack yet.
>>        return None;
>> -
>> +
>>      // Determine the size of the argument pack.
>>      unsigned Size = TemplateArgs(Depth, Index).pack_size();
>>      assert((!Result || *Result == Size) && "inconsistent pack sizes");
>>      Result = Size;
>>    }
>> -
>> +
>>    return Result;
>>  }
>>
>> @@ -826,14 +826,14 @@ bool Sema::containsUnexpandedParameterPa
>>        return true;
>>      break;
>>    }
>> -
>> +
>>    case TST_typeofExpr:
>>    case TST_decltype:
>> -    if (DS.getRepAsExpr() &&
>> +    if (DS.getRepAsExpr() &&
>>          DS.getRepAsExpr()->containsUnexpandedParameterPack())
>>        return true;
>>      break;
>> -
>> +
>>    case TST_unspecified:
>>    case TST_void:
>>    case TST_char:
>> @@ -879,7 +879,7 @@ bool Sema::containsUnexpandedParameterPa
>>      case DeclaratorChunk::BlockPointer:
>>        // These declarator chunks cannot contain any parameter packs.
>>        break;
>> -
>> +
>>      case DeclaratorChunk::Array:
>>        if (Chunk.Arr.NumElts &&
>>            Chunk.Arr.NumElts->containsUnexpandedParameterPack())
>> @@ -964,7 +964,7 @@ ExprResult Sema::ActOnSizeofParameterPac
>>    case LookupResult::Found:
>>      ParameterPack = R.getFoundDecl();
>>      break;
>> -
>> +
>>    case LookupResult::NotFound:
>>    case LookupResult::NotFoundInCurrentInstantiation:
>>      if (TypoCorrection Corrected =
>>
>> Modified: cfe/trunk/lib/Sema/SemaType.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaType.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Sema/SemaType.cpp (original)
>> +++ cfe/trunk/lib/Sema/SemaType.cpp Mon Jul 30 12:24:48 2018
>> @@ -2851,7 +2851,7 @@ static QualType GetDeclSpecTypeForDeclar
>>      case DeclaratorContext::ObjCParameterContext:
>>      case DeclaratorContext::ObjCResultContext:
>>      case DeclaratorContext::PrototypeContext:
>> -      Error = 0;
>> +      Error = 0;
>>        break;
>>      case DeclaratorContext::LambdaExprParameterContext:
>>        // In C++14, generic lambdas allow 'auto' in their parameters.
>> @@ -2859,7 +2859,7 @@ static QualType GetDeclSpecTypeForDeclar
>>            !Auto || Auto->getKeyword() != AutoTypeKeyword::Auto)
>>          Error = 16;
>>        else {
>> -        // If auto is mentioned in a lambda parameter context, convert it to a
>> +        // If auto is mentioned in a lambda parameter context, convert it to a
>>          // template parameter type.
>>          sema::LambdaScopeInfo *LSI = SemaRef.getCurLambda();
>>          assert(LSI && "No LambdaScopeInfo on the stack!");
>> @@ -2877,7 +2877,7 @@ static QualType GetDeclSpecTypeForDeclar
>>                  TemplateParameterDepth, AutoParameterPosition,
>>                  /*Identifier*/nullptr, false, IsParameterPack);
>>          LSI->AutoTemplateParams.push_back(CorrespondingTemplateParam);
>> -        // Replace the 'auto' in the function parameter with this invented
>> +        // Replace the 'auto' in the function parameter with this invented
>>          // template type parameter.
>>          // FIXME: Retain some type sugar to indicate that this was written
>>          // as 'auto'.
>> @@ -4440,7 +4440,7 @@ static TypeSourceInfo *GetFullTypeForDec
>>              S.Diag(D.getIdentifierLoc(), diag::err_opencl_invalid_return)
>>                  << T << 0 /*pointer hint*/;
>>              D.setInvalidType(true);
>> -          }
>> +          }
>>          } else if (!S.getLangOpts().HalfArgsAndReturns) {
>>            S.Diag(D.getIdentifierLoc(),
>>              diag::err_parameters_retval_cannot_have_fp16_type) << 1;
>> @@ -5332,7 +5332,7 @@ namespace {
>>          TL.copy(OldTL.castAs<TemplateSpecializationTypeLoc>());
>>          assert(TL.getRAngleLoc() == OldTL.castAs<TemplateSpecializationTypeLoc>().getRAngleLoc());
>>        }
>> -
>> +
>>      }
>>      void VisitTypeOfExprTypeLoc(TypeOfExprTypeLoc TL) {
>>        assert(DS.getTypeSpecType() == DeclSpec::TST_typeofExpr);
>> @@ -5627,11 +5627,11 @@ Sema::GetTypeSourceInfoForDeclarator(Dec
>>    }
>>
>>    for (unsigned i = 0, e = D.getNumTypeObjects(); i != e; ++i) {
>> -
>> +
>>      if (DependentAddressSpaceTypeLoc DASTL =
>>          CurrTL.getAs<DependentAddressSpaceTypeLoc>()) {
>>        fillDependentAddressSpaceTypeLoc(DASTL, D.getTypeObject(i).getAttrs());
>> -      CurrTL = DASTL.getPointeeTypeLoc().getUnqualifiedLoc();
>> +      CurrTL = DASTL.getPointeeTypeLoc().getUnqualifiedLoc();
>>      }
>>
>>      // An AtomicTypeLoc might be produced by an atomic qualifier in this
>> @@ -5727,13 +5727,13 @@ ParsedType Sema::ActOnObjCInstanceType(S
>>  // Type Attribute Processing
>>  //===----------------------------------------------------------------------===//
>>
>> -/// BuildAddressSpaceAttr - Builds a DependentAddressSpaceType if an expression
>> -/// is uninstantiated. If instantiated it will apply the appropriate address space
>> +/// BuildAddressSpaceAttr - Builds a DependentAddressSpaceType if an expression
>> +/// is uninstantiated. If instantiated it will apply the appropriate address space
>>  /// to the type. This function allows dependent template variables to be used in
>> -/// conjunction with the address_space attribute
>> +/// conjunction with the address_space attribute
>>  QualType Sema::BuildAddressSpaceAttr(QualType &T, Expr *AddrSpace,
>>                                       SourceLocation AttrLoc) {
>> -  if (!AddrSpace->isValueDependent()) {
>> +  if (!AddrSpace->isValueDependent()) {
>>
>>      llvm::APSInt addrSpace(32);
>>      if (!AddrSpace->isIntegerConstantExpr(addrSpace, Context)) {
>> @@ -5783,8 +5783,8 @@ QualType Sema::BuildAddressSpaceAttr(Qua
>>    }
>>
>>    // A check with similar intentions as checking if a type already has an
>> -  // address space except for on a dependent types, basically if the
>> -  // current type is already a DependentAddressSpaceType then its already
>> +  // address space except for on a dependent types, basically if the
>> +  // current type is already a DependentAddressSpaceType then its already
>>    // lined up to have another address space on it and we can't have
>>    // multiple address spaces on the one pointer indirection
>>    if (T->getAs<DependentAddressSpaceType>()) {
>> @@ -6116,7 +6116,7 @@ static bool handleObjCGCTypeAttr(TypePro
>>      attr.setInvalid();
>>      return true;
>>    }
>> -
>> +
>>    // Check the attribute arguments.
>>    if (!attr.isArgIdent(0)) {
>>      S.Diag(attr.getLoc(), diag::err_attribute_argument_type)
>> @@ -6327,7 +6327,7 @@ static bool handleMSPointerTypeQualifier
>>          << "'__sptr'" << "'__uptr'";
>>        return true;
>>      }
>> -
>> +
>>      Desugared = AT->getEquivalentType();
>>      AT = dyn_cast<AttributedType>(Desugared);
>>    }
>> @@ -6384,7 +6384,7 @@ bool Sema::checkNullabilityTypeSpecifier
>>            << FixItHint::CreateRemoval(nullabilityLoc);
>>
>>          break;
>> -      }
>> +      }
>>
>>        // Conflicting nullability.
>>        Diag(nullabilityLoc, diag::err_nullability_conflicting)
>> @@ -6430,7 +6430,7 @@ bool Sema::checkNullabilityTypeSpecifier
>>        << DiagNullabilityKind(nullability, isContextSensitive) << type;
>>      return true;
>>    }
>> -
>> +
>>    // For the context-sensitive keywords/Objective-C property
>>    // attributes, require that the type be a single-level pointer.
>>    if (isContextSensitive) {
>> @@ -6472,7 +6472,7 @@ bool Sema::checkObjCKindOfType(QualType
>>
>>    // Find out if it's an Objective-C object or object pointer type;
>>    const ObjCObjectPointerType *ptrType = type->getAs<ObjCObjectPointerType>();
>> -  const ObjCObjectType *objType = ptrType ? ptrType->getObjectType()
>> +  const ObjCObjectType *objType = ptrType ? ptrType->getObjectType()
>>                                            : type->getAs<ObjCObjectType>();
>>
>>    // If not, we can't apply __kindof.
>> @@ -6501,7 +6501,7 @@ bool Sema::checkObjCKindOfType(QualType
>>    }
>>
>>    // Build the attributed type to record where __kindof occurred.
>> -  type = Context.getAttributedType(AttributedType::attr_objc_kindof,
>> +  type = Context.getAttributedType(AttributedType::attr_objc_kindof,
>>                                     type,
>>                                     equivType);
>>
>> @@ -6601,7 +6601,7 @@ static bool distributeNullabilityTypeAtt
>>        }
>>
>>        return false;
>> -
>> +
>>      // Don't walk through these.
>>      case DeclaratorChunk::Reference:
>>      case DeclaratorChunk::Pipe:
>> @@ -6732,7 +6732,7 @@ static bool handleFunctionTypeAttr(TypeP
>>      if (S.CheckAttrTarget(attr) || S.CheckAttrNoArgs(attr))
>>        return true;
>>
>> -    // If this is not a function type, warning will be asserted by subject
>> +    // If this is not a function type, warning will be asserted by subject
>>      // check.
>>      if (!unwrapped.isFunctionType())
>>        return true;
>> @@ -7972,7 +7972,7 @@ static QualType getDecltypeForExpr(Sema
>>    } else if (auto *PE = dyn_cast<PredefinedExpr>(E)) {
>>      return PE->getType();
>>    }
>> -
>> +
>>    // C++11 [expr.lambda.prim]p18:
>>    //   Every occurrence of decltype((x)) where x is a possibly
>>    //   parenthesized id-expression that names an entity of automatic
>>
>> Modified: cfe/trunk/lib/Sema/TreeTransform.h
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/TreeTransform.h?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Sema/TreeTransform.h (original)
>> +++ cfe/trunk/lib/Sema/TreeTransform.h Mon Jul 30 12:24:48 2018
>> @@ -1815,7 +1815,7 @@ public:
>>    OMPClause *RebuildOMPNumTeamsClause(Expr *NumTeams, SourceLocation StartLoc,
>>                                        SourceLocation LParenLoc,
>>                                        SourceLocation EndLoc) {
>> -    return getSema().ActOnOpenMPNumTeamsClause(NumTeams, StartLoc, LParenLoc,
>> +    return getSema().ActOnOpenMPNumTeamsClause(NumTeams, StartLoc, LParenLoc,
>>                                                 EndLoc);
>>    }
>>
>> @@ -3033,7 +3033,7 @@ public:
>>                                            Sel, Method, LBracLoc, SelectorLocs,
>>                                            RBracLoc, Args);
>>
>> -
>> +
>>    }
>>
>>    /// Build a new Objective-C ivar reference expression.
>> @@ -6356,7 +6356,7 @@ TreeTransform<Derived>::TransformObjCObj
>>
>>          TypeLocBuilder TypeArgBuilder;
>>          TypeArgBuilder.reserve(PatternLoc.getFullDataSize());
>> -        QualType NewPatternType = getDerived().TransformType(TypeArgBuilder,
>> +        QualType NewPatternType = getDerived().TransformType(TypeArgBuilder,
>>                                                               PatternLoc);
>>          if (NewPatternType.isNull())
>>            return QualType();
>> @@ -10963,7 +10963,7 @@ TreeTransform<Derived>::TransformLambdaE
>>    TypeSourceInfo *NewCallOpTSI = nullptr;
>>    {
>>      TypeSourceInfo *OldCallOpTSI = E->getCallOperator()->getTypeSourceInfo();
>> -    FunctionProtoTypeLoc OldCallOpFPTL =
>> +    FunctionProtoTypeLoc OldCallOpFPTL =
>>          OldCallOpTSI->getTypeLoc().getAs<FunctionProtoTypeLoc>();
>>
>>      TypeLocBuilder NewCallOpTLBuilder;
>> @@ -11059,7 +11059,7 @@ TreeTransform<Derived>::TransformLambdaE
>>
>>      // Rebuild init-captures, including the implied field declaration.
>>      if (E->isInitCapture(C)) {
>> -      InitCaptureInfoTy InitExprTypePair =
>> +      InitCaptureInfoTy InitExprTypePair =
>>            InitCaptureExprsAndTypes[C - E->capture_begin()];
>>        ExprResult Init = InitExprTypePair.first;
>>        QualType InitQualType = InitExprTypePair.second;
>>
>> Modified: cfe/trunk/lib/Sema/TypeLocBuilder.h
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/TypeLocBuilder.h?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Sema/TypeLocBuilder.h (original)
>> +++ cfe/trunk/lib/Sema/TypeLocBuilder.h Mon Jul 30 12:24:48 2018
>> @@ -37,7 +37,7 @@ class TypeLocBuilder {
>>    /// The last type pushed on this builder.
>>    QualType LastTy;
>>  #endif
>> -
>> +
>>    /// The inline buffer.
>>    enum { BufferMaxAlignment = alignof(void *) };
>>    llvm::AlignedCharArray<BufferMaxAlignment, InlineCapacity> InlineBuffer;
>> @@ -81,7 +81,7 @@ class TypeLocBuilder {
>>  #endif
>>      Index = Capacity;
>>      NumBytesAtAlign4 = NumBytesAtAlign8 = 0;
>> -  }
>> +  }
>>
>>    /// Tell the TypeLocBuilder that the type it is storing has been
>>    /// modified in some safe way that doesn't affect type-location information.
>> @@ -90,7 +90,7 @@ class TypeLocBuilder {
>>      LastTy = T;
>>  #endif
>>    }
>> -
>> +
>>    /// Pushes space for a new TypeLoc of the given type.  Invalidates
>>    /// any TypeLocs previously retrieved from this builder.
>>    template <class TyLocType> TyLocType push(QualType T) {
>> @@ -112,13 +112,13 @@ class TypeLocBuilder {
>>      return DI;
>>    }
>>
>> -  /// Copies the type-location information to the given AST context and
>> +  /// Copies the type-location information to the given AST context and
>>    /// returns a \c TypeLoc referring into the AST context.
>>    TypeLoc getTypeLocInContext(ASTContext &Context, QualType T) {
>>  #ifndef NDEBUG
>>      assert(T == LastTy && "type doesn't match last type pushed!");
>>  #endif
>> -
>> +
>>      size_t FullDataSize = Capacity - Index;
>>      void *Mem = Context.Allocate(FullDataSize);
>>      memcpy(Mem, &Buffer[Index], FullDataSize);
>> @@ -135,7 +135,7 @@ private:
>>    /// Retrieve a temporary TypeLoc that refers into this \c TypeLocBuilder
>>    /// object.
>>    ///
>> -  /// The resulting \c TypeLoc should only be used so long as the
>> +  /// The resulting \c TypeLoc should only be used so long as the
>>    /// \c TypeLocBuilder is active and has not had more type information
>>    /// pushed into it.
>>    TypeLoc getTemporaryTypeLoc(QualType T) {
>>
>> Modified: cfe/trunk/lib/Serialization/ASTReader.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTReader.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Serialization/ASTReader.cpp (original)
>> +++ cfe/trunk/lib/Serialization/ASTReader.cpp Mon Jul 30 12:24:48 2018
>> @@ -6032,7 +6032,7 @@ QualType ASTReader::readTypeRecord(unsig
>>      }
>>      QualType ResultType = readType(*Loc.F, Record, Idx);
>>      FunctionType::ExtInfo Info(Record[1], Record[2], Record[3],
>> -                               (CallingConv)Record[4], Record[5], Record[6],
>> +                               (CallingConv)Record[4], Record[5], Record[6],
>>                                 Record[7]);
>>      return Context.getFunctionNoProtoType(ResultType, Info);
>>    }
>>
>> Modified: cfe/trunk/lib/Serialization/ASTReaderDecl.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTReaderDecl.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Serialization/ASTReaderDecl.cpp (original)
>> +++ cfe/trunk/lib/Serialization/ASTReaderDecl.cpp Mon Jul 30 12:24:48 2018
>> @@ -569,7 +569,7 @@ void ASTDeclReader::VisitDecl(Decl *D) {
>>      Reader.addPendingDeclContextInfo(D,
>>                                       SemaDCIDForTemplateParmDecl,
>>                                       LexicalDCIDForTemplateParmDecl);
>> -    D->setDeclContext(Reader.getContext().getTranslationUnitDecl());
>> +    D->setDeclContext(Reader.getContext().getTranslationUnitDecl());
>>    } else {
>>      auto *SemaDC = ReadDeclAs<DeclContext>();
>>      auto *LexicalDC = ReadDeclAs<DeclContext>();
>> @@ -701,7 +701,7 @@ void ASTDeclReader::VisitTypeAliasDecl(T
>>  ASTDeclReader::RedeclarableResult ASTDeclReader::VisitTagDecl(TagDecl *TD) {
>>    RedeclarableResult Redecl = VisitRedeclarable(TD);
>>    VisitTypeDecl(TD);
>> -
>> +
>>    TD->IdentifierNamespace = Record.readInt();
>>    TD->setTagKind((TagDecl::TagKind)Record.readInt());
>>    if (!isa<CXXRecordDecl>(TD))
>> @@ -710,7 +710,7 @@ ASTDeclReader::RedeclarableResult ASTDec
>>    TD->setFreeStanding(Record.readInt());
>>    TD->setCompleteDefinitionRequired(Record.readInt());
>>    TD->setBraceRange(ReadSourceRange());
>> -
>> +
>>    switch (Record.readInt()) {
>>    case 0:
>>      break;
>> @@ -1717,7 +1717,7 @@ void ASTDeclReader::ReadCXXDefinitionDat
>>        bool IsImplicit = Record.readInt();
>>        auto Kind = static_cast<LambdaCaptureKind>(Record.readInt());
>>        switch (Kind) {
>> -      case LCK_StarThis:
>> +      case LCK_StarThis:
>>        case LCK_This:
>>        case LCK_VLAType:
>>          *ToCapture++ = Capture(Loc, IsImplicit, Kind, nullptr,SourceLocation());
>> @@ -2691,8 +2691,8 @@ static bool isConsumerInterestedIn(ASTCo
>>        return false;
>>    }
>>
>> -  if (isa<FileScopeAsmDecl>(D) ||
>> -      isa<ObjCProtocolDecl>(D) ||
>> +  if (isa<FileScopeAsmDecl>(D) ||
>> +      isa<ObjCProtocolDecl>(D) ||
>>        isa<ObjCImplDecl>(D) ||
>>        isa<ImportDecl>(D) ||
>>        isa<PragmaCommentDecl>(D) ||
>> @@ -3274,7 +3274,7 @@ ASTDeclReader::FindExistingResult ASTDec
>>        }
>>      } UpToDate(Name.getAsIdentifierInfo());
>>
>> -    for (IdentifierResolver::iterator I = IdResolver.begin(Name),
>> +    for (IdentifierResolver::iterator I = IdResolver.begin(Name),
>>                                     IEnd = IdResolver.end();
>>           I != IEnd; ++I) {
>>        if (NamedDecl *Existing = getDeclForMerging(*I, TypedefNameForLinkage))
>> @@ -3759,7 +3759,7 @@ Decl *ASTReader::ReadDeclRecord(DeclID I
>>      Error("attempt to read a C++ ctor initializer record as a declaration");
>>      return nullptr;
>>    case DECL_IMPORT:
>> -    // Note: last entry of the ImportDecl record is the number of stored source
>> +    // Note: last entry of the ImportDecl record is the number of stored source
>>      // locations.
>>      D = ImportDecl::CreateDeserialized(Context, ID, Record.back());
>>      break;
>> @@ -3819,7 +3819,7 @@ Decl *ASTReader::ReadDeclRecord(DeclID I
>>      if (Class->isThisDeclarationADefinition() ||
>>          PendingDefinitions.count(Class))
>>        loadObjCCategories(ID, Class);
>> -
>> +
>>    // If we have deserialized a declaration that has a definition the
>>    // AST consumer might need to know about, queue it.
>>    // We don't pass it to the consumer immediately because we may be in recursive
>> @@ -3981,17 +3981,17 @@ namespace {
>>      llvm::DenseMap<DeclarationName, ObjCCategoryDecl *> NameCategoryMap;
>>      serialization::GlobalDeclID InterfaceID;
>>      unsigned PreviousGeneration;
>> -
>> +
>>      void add(ObjCCategoryDecl *Cat) {
>>        // Only process each category once.
>>        if (!Deserialized.erase(Cat))
>>          return;
>> -
>> +
>>        // Check for duplicate categories.
>>        if (Cat->getDeclName()) {
>>          ObjCCategoryDecl *&Existing = NameCategoryMap[Cat->getDeclName()];
>> -        if (Existing &&
>> -            Reader.getOwningModuleFile(Existing)
>> +        if (Existing &&
>> +            Reader.getOwningModuleFile(Existing)
>>                                            != Reader.getOwningModuleFile(Cat)) {
>>            // FIXME: We should not warn for duplicates in diamond:
>>            //
>> @@ -4001,8 +4001,8 @@ namespace {
>>            //  \  /    //
>>            //   MB     //
>>            //
>> -          // If there are duplicates in ML/MR, there will be warning when
>> -          // creating MB *and* when importing MB. We should not warn when
>> +          // If there are duplicates in ML/MR, there will be warning when
>> +          // creating MB *and* when importing MB. We should not warn when
>>            // importing.
>>            Reader.Diag(Cat->getLocation(), diag::warn_dup_category_def)
>>              << Interface->getDeclName() << Cat->getDeclName();
>> @@ -4012,7 +4012,7 @@ namespace {
>>            Existing = Cat;
>>          }
>>        }
>> -
>> +
>>        // Add this category to the end of the chain.
>>        if (Tail)
>>          ASTDeclReader::setNextObjCCategory(Tail, Cat);
>> @@ -4020,7 +4020,7 @@ namespace {
>>          Interface->setCategoryListRaw(Cat);
>>        Tail = Cat;
>>      }
>> -
>> +
>>    public:
>>      ObjCCategoriesVisitor(ASTReader &Reader,
>>                            ObjCInterfaceDecl *Interface,
>> @@ -4033,7 +4033,7 @@ namespace {
>>        for (auto *Cat : Interface->known_categories()) {
>>          if (Cat->getDeclName())
>>            NameCategoryMap[Cat->getDeclName()] = Cat;
>> -
>> +
>>          // Keep track of the tail of the category list.
>>          Tail = Cat;
>>        }
>> @@ -4044,8 +4044,8 @@ namespace {
>>        // this module file, we're done.
>>        if (M.Generation <= PreviousGeneration)
>>          return true;
>> -
>> -      // Map global ID of the definition down to the local ID used in this
>> +
>> +      // Map global ID of the definition down to the local ID used in this
>>        // module file. If there is no such mapping, we'll find nothing here
>>        // (or in any module it imports).
>>        DeclID LocalID = Reader.mapGlobalIDToModuleFileGlobalID(M, InterfaceID);
>> @@ -4057,7 +4057,7 @@ namespace {
>>        const ObjCCategoriesInfo Compare = { LocalID, 0 };
>>        const ObjCCategoriesInfo *Result
>>          = std::lower_bound(M.ObjCCategoriesMap,
>> -                           M.ObjCCategoriesMap + M.LocalNumObjCCategoriesInMap,
>> +                           M.ObjCCategoriesMap + M.LocalNumObjCCategoriesInMap,
>>                             Compare);
>>        if (Result == M.ObjCCategoriesMap + M.LocalNumObjCCategoriesInMap ||
>>            Result->DefinitionID != LocalID) {
>> @@ -4066,7 +4066,7 @@ namespace {
>>          // so suppress further lookup.
>>          return Reader.isDeclIDFromModule(InterfaceID, M);
>>        }
>> -
>> +
>>        // We found something. Dig out all of the categories.
>>        unsigned Offset = Result->Offset;
>>        unsigned N = M.ObjCCategories[Offset];
>>
>> Modified: cfe/trunk/lib/Serialization/ASTReaderInternals.h
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTReaderInternals.h?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Serialization/ASTReaderInternals.h (original)
>> +++ cfe/trunk/lib/Serialization/ASTReaderInternals.h Mon Jul 30 12:24:48 2018
>> @@ -33,7 +33,7 @@ struct HeaderFileInfo;
>>  class HeaderSearch;
>>  class IdentifierTable;
>>  class ObjCMethodDecl;
>> -
>> +
>>  namespace serialization {
>>
>>  class ModuleFile;
>> @@ -45,7 +45,7 @@ namespace reader {
>>  class ASTDeclContextNameLookupTrait {
>>    ASTReader &Reader;
>>    ModuleFile &F;
>> -
>> +
>>  public:
>>    // Maximum number of lookup tables we allow before condensing the tables.
>>    static const int MaxTables = 4;
>> @@ -141,31 +141,31 @@ public:
>>    }
>>
>>    static hash_value_type ComputeHash(const internal_key_type& a);
>> -
>> +
>>    static std::pair<unsigned, unsigned>
>>    ReadKeyDataLength(const unsigned char*& d);
>>
>>    // This hopefully will just get inlined and removed by the optimizer.
>>    static const internal_key_type&
>>    GetInternalKey(const external_key_type& x) { return x; }
>> -
>> +
>>    // This hopefully will just get inlined and removed by the optimizer.
>>    static const external_key_type&
>>    GetExternalKey(const internal_key_type& x) { return x; }
>>
>> -  static internal_key_type ReadKey(const unsigned char* d, unsigned n);
>> +  static internal_key_type ReadKey(const unsigned char* d, unsigned n);
>>  };
>>
>>  /// Class that performs lookup for an identifier stored in an AST file.
>>  class ASTIdentifierLookupTrait : public ASTIdentifierLookupTraitBase {
>>    ASTReader &Reader;
>>    ModuleFile &F;
>> -
>> +
>>    // If we know the IdentifierInfo in advance, it is here and we will
>>    // not build a new one. Used when deserializing information about an
>>    // identifier that was constructed before the AST file was read.
>>    IdentifierInfo *KnownII;
>> -
>> +
>>  public:
>>    using data_type = IdentifierInfo *;
>>
>> @@ -176,12 +176,12 @@ public:
>>    data_type ReadData(const internal_key_type& k,
>>                       const unsigned char* d,
>>                       unsigned DataLen);
>> -
>> +
>>    IdentID ReadIdentifierID(const unsigned char *d);
>>
>>    ASTReader &getReader() const { return Reader; }
>>  };
>> -
>> +
>>  /// The on-disk hash table used to contain information about
>>  /// all of the identifiers in the program.
>>  using ASTIdentifierLookupTable =
>> @@ -192,7 +192,7 @@ using ASTIdentifierLookupTable =
>>  class ASTSelectorLookupTrait {
>>    ASTReader &Reader;
>>    ModuleFile &F;
>> -
>> +
>>  public:
>>    struct data_type {
>>      SelectorID ID;
>> @@ -203,40 +203,40 @@ public:
>>      SmallVector<ObjCMethodDecl *, 2> Instance;
>>      SmallVector<ObjCMethodDecl *, 2> Factory;
>>    };
>> -
>> +
>>    using external_key_type = Selector;
>>    using internal_key_type = external_key_type;
>>    using hash_value_type = unsigned;
>>    using offset_type = unsigned;
>> -
>> +
>>    ASTSelectorLookupTrait(ASTReader &Reader, ModuleFile &F)
>>        : Reader(Reader), F(F) {}
>> -
>> +
>>    static bool EqualKey(const internal_key_type& a,
>>                         const internal_key_type& b) {
>>      return a == b;
>>    }
>> -
>> +
>>    static hash_value_type ComputeHash(Selector Sel);
>> -
>> +
>>    static const internal_key_type&
>>    GetInternalKey(const external_key_type& x) { return x; }
>> -
>> +
>>    static std::pair<unsigned, unsigned>
>>    ReadKeyDataLength(const unsigned char*& d);
>> -
>> +
>>    internal_key_type ReadKey(const unsigned char* d, unsigned);
>>    data_type ReadData(Selector, const unsigned char* d, unsigned DataLen);
>>  };
>> -
>> +
>>  /// The on-disk hash table used for the global method pool.
>>  using ASTSelectorLookupTable =
>>      llvm::OnDiskChainedHashTable<ASTSelectorLookupTrait>;
>> -
>> +
>>  /// Trait class used to search the on-disk hash table containing all of
>>  /// the header search information.
>>  ///
>> -/// The on-disk hash table contains a mapping from each header path to
>> +/// The on-disk hash table contains a mapping from each header path to
>>  /// information about that header (how many times it has been included, its
>>  /// controlling macro, etc.). Note that we actually hash based on the size
>>  /// and mtime, and support "deep" comparisons of file names based on current
>> @@ -259,31 +259,31 @@ public:
>>    };
>>
>>    using internal_key_ref = const internal_key_type &;
>> -
>> +
>>    using data_type = HeaderFileInfo;
>>    using hash_value_type = unsigned;
>>    using offset_type = unsigned;
>> -
>> +
>>    HeaderFileInfoTrait(ASTReader &Reader, ModuleFile &M, HeaderSearch *HS,
>>                        const char *FrameworkStrings)
>>        : Reader(Reader), M(M), HS(HS), FrameworkStrings(FrameworkStrings) {}
>> -
>> +
>>    static hash_value_type ComputeHash(internal_key_ref ikey);
>>    internal_key_type GetInternalKey(const FileEntry *FE);
>>    bool EqualKey(internal_key_ref a, internal_key_ref b);
>> -
>> +
>>    static std::pair<unsigned, unsigned>
>>    ReadKeyDataLength(const unsigned char*& d);
>> -
>> +
>>    static internal_key_type ReadKey(const unsigned char *d, unsigned);
>> -
>> +
>>    data_type ReadData(internal_key_ref,const unsigned char *d, unsigned DataLen);
>>  };
>>
>>  /// The on-disk hash table used for known header files.
>>  using HeaderFileInfoLookupTable =
>>      llvm::OnDiskChainedHashTable<HeaderFileInfoTrait>;
>> -
>> +
>>  } // namespace reader
>>
>>  } // namespace serialization
>>
>> Modified: cfe/trunk/lib/Serialization/ASTWriterDecl.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTWriterDecl.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Serialization/ASTWriterDecl.cpp (original)
>> +++ cfe/trunk/lib/Serialization/ASTWriterDecl.cpp Mon Jul 30 12:24:48 2018
>> @@ -271,7 +271,7 @@ void ASTDeclWriter::Visit(Decl *D) {
>>
>>    // Handle FunctionDecl's body here and write it after all other Stmts/Exprs
>>    // have been written. We want it last because we will not read it back when
>> -  // retrieving it from the AST, we'll just lazily set the offset.
>> +  // retrieving it from the AST, we'll just lazily set the offset.
>>    if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
>>      Record.push_back(FD->doesThisDeclarationHaveABody());
>>      if (FD->doesThisDeclarationHaveABody())
>> @@ -526,10 +526,10 @@ void ASTDeclWriter::VisitFunctionDecl(Fu
>>    VisitDeclaratorDecl(D);
>>    Record.AddDeclarationNameLoc(D->DNLoc, D->getDeclName());
>>    Record.push_back(D->getIdentifierNamespace());
>> -
>> +
>>    // FunctionDecl's body is handled last at ASTWriterDecl::Visit,
>>    // after everything else is written.
>> -
>> +
>>    Record.push_back((int)D->SClass); // FIXME: stable encoding
>>    Record.push_back(D->IsInline);
>>    Record.push_back(D->IsInlineSpecified);
>> @@ -576,10 +576,10 @@ void ASTDeclWriter::VisitFunctionDecl(Fu
>>
>>      Record.AddDeclRef(FTSInfo->getTemplate());
>>      Record.push_back(FTSInfo->getTemplateSpecializationKind());
>> -
>> +
>>      // Template arguments.
>>      Record.AddTemplateArgumentList(FTSInfo->TemplateArguments);
>> -
>> +
>>      // Template args as written.
>>      Record.push_back(FTSInfo->TemplateArgumentsAsWritten != nullptr);
>>      if (FTSInfo->TemplateArgumentsAsWritten) {
>> @@ -591,7 +591,7 @@ void ASTDeclWriter::VisitFunctionDecl(Fu
>>        Record.AddSourceLocation(FTSInfo->TemplateArgumentsAsWritten->LAngleLoc);
>>        Record.AddSourceLocation(FTSInfo->TemplateArgumentsAsWritten->RAngleLoc);
>>      }
>> -
>> +
>>      Record.AddSourceLocation(FTSInfo->getPointOfInstantiation());
>>
>>      if (D->isCanonicalDecl()) {
>> @@ -604,12 +604,12 @@ void ASTDeclWriter::VisitFunctionDecl(Fu
>>    case FunctionDecl::TK_DependentFunctionTemplateSpecialization: {
>>      DependentFunctionTemplateSpecializationInfo *
>>        DFTSInfo = D->getDependentSpecializationInfo();
>> -
>> +
>>      // Templates.
>>      Record.push_back(DFTSInfo->getNumTemplates());
>>      for (int i=0, e = DFTSInfo->getNumTemplates(); i != e; ++i)
>>        Record.AddDeclRef(DFTSInfo->getTemplate(i));
>> -
>> +
>>      // Templates args.
>>      Record.push_back(DFTSInfo->getNumTemplateArgs());
>>      for (int i=0, e = DFTSInfo->getNumTemplateArgs(); i != e; ++i)
>> @@ -707,7 +707,7 @@ void ASTDeclWriter::VisitObjCInterfaceDe
>>    if (D->isThisDeclarationADefinition()) {
>>      // Write the DefinitionData
>>      ObjCInterfaceDecl::DefinitionData &Data = D->data();
>> -
>> +
>>      Record.AddTypeSourceInfo(D->getSuperClassTInfo());
>>      Record.AddSourceLocation(D->getEndOfDefinitionLoc());
>>      Record.push_back(Data.HasDesignatedInitializers);
>> @@ -718,7 +718,7 @@ void ASTDeclWriter::VisitObjCInterfaceDe
>>        Record.AddDeclRef(P);
>>      for (const auto &PL : D->protocol_locs())
>>        Record.AddSourceLocation(PL);
>> -
>> +
>>      // Write out the protocols that are transitively referenced.
>>      Record.push_back(Data.AllReferencedProtocols.size());
>>      for (ObjCList<ObjCProtocolDecl>::iterator
>> @@ -727,17 +727,17 @@ void ASTDeclWriter::VisitObjCInterfaceDe
>>           P != PEnd; ++P)
>>        Record.AddDeclRef(*P);
>>
>> -
>> +
>>      if (ObjCCategoryDecl *Cat = D->getCategoryListRaw()) {
>>        // Ensure that we write out the set of categories for this class.
>>        Writer.ObjCClassesWithCategories.insert(D);
>> -
>> +
>>        // Make sure that the categories get serialized.
>>        for (; Cat; Cat = Cat->getNextClassCategoryRaw())
>>          (void)Writer.GetDeclRef(Cat);
>>      }
>> -  }
>> -
>> +  }
>> +
>>    Code = serialization::DECL_OBJC_INTERFACE;
>>  }
>>
>> @@ -765,7 +765,7 @@ void ASTDeclWriter::VisitObjCIvarDecl(Ob
>>  void ASTDeclWriter::VisitObjCProtocolDecl(ObjCProtocolDecl *D) {
>>    VisitRedeclarable(D);
>>    VisitObjCContainerDecl(D);
>> -
>> +
>>    Record.push_back(D->isThisDeclarationADefinition());
>>    if (D->isThisDeclarationADefinition()) {
>>      Record.push_back(D->protocol_size());
>> @@ -774,7 +774,7 @@ void ASTDeclWriter::VisitObjCProtocolDec
>>      for (const auto &PL : D->protocol_locs())
>>        Record.AddSourceLocation(PL);
>>    }
>> -
>> +
>>    Code = serialization::DECL_OBJC_PROTOCOL;
>>  }
>>
>> @@ -964,7 +964,7 @@ void ASTDeclWriter::VisitVarDecl(VarDecl
>>      if (ModulesCodegen)
>>        Writer.ModularCodegenDecls.push_back(Writer.GetDeclRef(D));
>>    }
>> -
>> +
>>    enum {
>>      VarNotTemplate = 0, VarTemplate, StaticDataMemberSpecialization
>>    };
>> @@ -1158,7 +1158,7 @@ void ASTDeclWriter::VisitNamespaceDecl(N
>>      Record.AddDeclRef(D->getAnonymousNamespace());
>>    Code = serialization::DECL_NAMESPACE;
>>
>> -  if (Writer.hasChain() && D->isAnonymousNamespace() &&
>> +  if (Writer.hasChain() && D->isAnonymousNamespace() &&
>>        D == D->getMostRecentDecl()) {
>>      // This is a most recent reopening of the anonymous namespace. If its parent
>>      // is in a previous PCH (or is the TU), mark that parent for update, because
>> @@ -1412,7 +1412,7 @@ void ASTDeclWriter::VisitRedeclarableTem
>>      if (D->getInstantiatedFromMemberTemplate())
>>        Record.push_back(D->isMemberSpecialization());
>>    }
>> -
>> +
>>    VisitTemplateDecl(D);
>>    Record.push_back(D->getIdentifierNamespace());
>>  }
>> @@ -1447,7 +1447,7 @@ void ASTDeclWriter::VisitClassTemplateSp
>>    Record.push_back(D->isCanonicalDecl());
>>
>>    if (D->isCanonicalDecl()) {
>> -    // When reading, we'll add it to the folding set of the following template.
>> +    // When reading, we'll add it to the folding set of the following template.
>>      Record.AddDeclRef(D->getSpecializedTemplate()->getCanonicalDecl());
>>    }
>>
>> @@ -1573,18 +1573,18 @@ void ASTDeclWriter::VisitNonTypeTemplate
>>    // memory.
>>    if (D->isExpandedParameterPack())
>>      Record.push_back(D->getNumExpansionTypes());
>> -
>> +
>>    VisitDeclaratorDecl(D);
>>    // TemplateParmPosition.
>>    Record.push_back(D->getDepth());
>>    Record.push_back(D->getPosition());
>> -
>> +
>>    if (D->isExpandedParameterPack()) {
>>      for (unsigned I = 0, N = D->getNumExpansionTypes(); I != N; ++I) {
>>        Record.AddTypeRef(D->getExpansionType(I));
>>        Record.AddTypeSourceInfo(D->getExpansionTypeSourceInfo(I));
>>      }
>> -
>> +
>>      Code = serialization::DECL_EXPANDED_NON_TYPE_TEMPLATE_PARM_PACK;
>>    } else {
>>      // Rest of NonTypeTemplateParmDecl.
>> @@ -1709,7 +1709,7 @@ void ASTDeclWriter::VisitRedeclarable(Re
>>        Record.AddDeclRef(FirstLocal);
>>      }
>>
>> -    // Make sure that we serialize both the previous and the most-recent
>> +    // Make sure that we serialize both the previous and the most-recent
>>      // declarations, which (transitively) ensures that all declarations in the
>>      // chain get serialized.
>>      //
>> @@ -2252,11 +2252,11 @@ void ASTWriter::WriteDecl(ASTContext &Co
>>    serialization::DeclID &IDR = DeclIDs[D];
>>    if (IDR == 0)
>>      IDR = NextDeclID++;
>> -
>> +
>>    ID = IDR;
>>
>>    assert(ID >= FirstDeclID && "invalid decl ID");
>> -
>> +
>>    RecordData Record;
>>    ASTDeclWriter W(*this, Context, Record);
>>
>>
>> Modified: cfe/trunk/lib/Serialization/ASTWriterStmt.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTWriterStmt.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Serialization/ASTWriterStmt.cpp (original)
>> +++ cfe/trunk/lib/Serialization/ASTWriterStmt.cpp Mon Jul 30 12:24:48 2018
>> @@ -247,7 +247,7 @@ void ASTStmtWriter::VisitGCCAsmStmt(GCCA
>>    Record.AddStmt(S->getAsmString());
>>
>>    // Outputs
>> -  for (unsigned I = 0, N = S->getNumOutputs(); I != N; ++I) {
>> +  for (unsigned I = 0, N = S->getNumOutputs(); I != N; ++I) {
>>      Record.AddIdentifierRef(S->getOutputIdentifier(I));
>>      Record.AddStmt(S->getOutputConstraintLiteral(I));
>>      Record.AddStmt(S->getOutputExpr(I));
>> @@ -1000,7 +1000,7 @@ void ASTStmtWriter::VisitObjCDictionaryL
>>        Record.push_back(NumExpansions);
>>      }
>>    }
>> -
>> +
>>    Record.AddDeclRef(E->getDictWithObjectsMethod());
>>    Record.AddSourceRange(E->getSourceRange());
>>    Code = serialization::EXPR_OBJC_DICTIONARY_LITERAL;
>> @@ -1064,7 +1064,7 @@ void ASTStmtWriter::VisitObjCPropertyRef
>>      Record.push_back(2);
>>      Record.AddDeclRef(E->getClassReceiver());
>>    }
>> -
>> +
>>    Code = serialization::EXPR_OBJC_PROPERTY_REF_EXPR;
>>  }
>>
>> @@ -1075,7 +1075,7 @@ void ASTStmtWriter::VisitObjCSubscriptRe
>>    Record.AddStmt(E->getKeyExpr());
>>    Record.AddDeclRef(E->getAtIndexMethodDecl());
>>    Record.AddDeclRef(E->setAtIndexMethodDecl());
>> -
>> +
>>    Code = serialization::EXPR_OBJC_SUBSCRIPT_REF_EXPR;
>>  }
>>
>> @@ -1108,9 +1108,9 @@ void ASTStmtWriter::VisitObjCMessageExpr
>>      Record.AddDeclRef(E->getMethodDecl());
>>    } else {
>>      Record.push_back(0);
>> -    Record.AddSelectorRef(E->getSelector());
>> +    Record.AddSelectorRef(E->getSelector());
>>    }
>> -
>> +
>>    Record.AddSourceLocation(E->getLeftLoc());
>>    Record.AddSourceLocation(E->getRightLoc());
>>
>> @@ -1296,14 +1296,14 @@ void ASTStmtWriter::VisitLambdaExpr(Lamb
>>    Record.push_back(E->ExplicitParams);
>>    Record.push_back(E->ExplicitResultType);
>>    Record.AddSourceLocation(E->ClosingBrace);
>> -
>> +
>>    // Add capture initializers.
>>    for (LambdaExpr::capture_init_iterator C = E->capture_init_begin(),
>>                                        CEnd = E->capture_init_end();
>>         C != CEnd; ++C) {
>>      Record.AddStmt(*C);
>>    }
>> -
>> +
>>    Code = serialization::EXPR_LAMBDA;
>>  }
>>
>> @@ -1450,7 +1450,7 @@ void ASTStmtWriter::VisitCXXDeleteExpr(C
>>    Record.AddDeclRef(E->getOperatorDelete());
>>    Record.AddStmt(E->getArgument());
>>    Record.AddSourceLocation(E->getSourceRange().getBegin());
>> -
>> +
>>    Code = serialization::EXPR_CXX_DELETE;
>>  }
>>
>> @@ -2691,7 +2691,7 @@ void ASTWriter::WriteSubStmt(Stmt *S) {
>>    RecordData Record;
>>    ASTStmtWriter Writer(*this, Record);
>>    ++NumStatements;
>> -
>> +
>>    if (!S) {
>>      Stream.EmitRecord(serialization::STMT_NULL_PTR, Record);
>>      return;
>> @@ -2724,7 +2724,7 @@ void ASTWriter::WriteSubStmt(Stmt *S) {
>>  #endif
>>
>>    Writer.Visit(S);
>> -
>> +
>>    uint64_t Offset = Writer.Emit();
>>    SubStmtEntries[S] = Offset;
>>  }
>> @@ -2739,7 +2739,7 @@ void ASTRecordWriter::FlushStmts() {
>>
>>    for (unsigned I = 0, N = StmtsToEmit.size(); I != N; ++I) {
>>      Writer->WriteSubStmt(StmtsToEmit[I]);
>> -
>> +
>>      assert(N == StmtsToEmit.size() && "record modified while being written!");
>>
>>      // Note that we are at the end of a full expression. Any
>>
>> Modified: cfe/trunk/lib/Serialization/Module.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/Module.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Serialization/Module.cpp (original)
>> +++ cfe/trunk/lib/Serialization/Module.cpp Mon Jul 30 12:24:48 2018
>> @@ -30,16 +30,16 @@ ModuleFile::~ModuleFile() {
>>  }
>>
>>  template<typename Key, typename Offset, unsigned InitialCapacity>
>> -static void
>> +static void
>>  dumpLocalRemap(StringRef Name,
>>                 const ContinuousRangeMap<Key, Offset, InitialCapacity> &Map) {
>>    if (Map.begin() == Map.end())
>>      return;
>> -
>> +
>>    using MapType = ContinuousRangeMap<Key, Offset, InitialCapacity>;
>>
>>    llvm::errs() << "  " << Name << ":\n";
>> -  for (typename MapType::const_iterator I = Map.begin(), IEnd = Map.end();
>> +  for (typename MapType::const_iterator I = Map.begin(), IEnd = Map.end();
>>         I != IEnd; ++I) {
>>      llvm::errs() << "    " << I->first << " -> " << I->second << "\n";
>>    }
>> @@ -56,12 +56,12 @@ LLVM_DUMP_METHOD void ModuleFile::dump()
>>      }
>>      llvm::errs() << "\n";
>>    }
>> -
>> +
>>    // Remapping tables.
>> -  llvm::errs() << "  Base source location offset: " << SLocEntryBaseOffset
>> +  llvm::errs() << "  Base source location offset: " << SLocEntryBaseOffset
>>                 << '\n';
>>    dumpLocalRemap("Source location offset local -> global map", SLocRemap);
>> -
>> +
>>    llvm::errs() << "  Base identifier ID: " << BaseIdentifierID << '\n'
>>                 << "  Number of identifiers: " << LocalNumIdentifiers << '\n';
>>    dumpLocalRemap("Identifier ID local -> global map", IdentifierRemap);
>> @@ -77,18 +77,18 @@ LLVM_DUMP_METHOD void ModuleFile::dump()
>>    llvm::errs() << "  Base selector ID: " << BaseSelectorID << '\n'
>>                 << "  Number of selectors: " << LocalNumSelectors << '\n';
>>    dumpLocalRemap("Selector ID local -> global map", SelectorRemap);
>> -
>> +
>>    llvm::errs() << "  Base preprocessed entity ID: " << BasePreprocessedEntityID
>> -               << '\n'
>> -               << "  Number of preprocessed entities: "
>> +               << '\n'
>> +               << "  Number of preprocessed entities: "
>>                 << NumPreprocessedEntities << '\n';
>> -  dumpLocalRemap("Preprocessed entity ID local -> global map",
>> +  dumpLocalRemap("Preprocessed entity ID local -> global map",
>>                   PreprocessedEntityRemap);
>> -
>> +
>>    llvm::errs() << "  Base type index: " << BaseTypeIndex << '\n'
>>                 << "  Number of types: " << LocalNumTypes << '\n';
>>    dumpLocalRemap("Type index local -> global map", TypeRemap);
>> -
>> +
>>    llvm::errs() << "  Base decl ID: " << BaseDeclID << '\n'
>>                 << "  Number of decls: " << LocalNumDecls << '\n';
>>    dumpLocalRemap("Decl ID local -> global map", DeclRemap);
>>
>> Modified: cfe/trunk/lib/Serialization/ModuleManager.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ModuleManager.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Serialization/ModuleManager.cpp (original)
>> +++ cfe/trunk/lib/Serialization/ModuleManager.cpp Mon Jul 30 12:24:48 2018
>> @@ -340,7 +340,7 @@ void ModuleManager::visit(llvm::function
>>      unsigned N = size();
>>      VisitOrder.clear();
>>      VisitOrder.reserve(N);
>> -
>> +
>>      // Record the number of incoming edges for each module. When we
>>      // encounter a module with no incoming edges, push it into the queue
>>      // to seed the queue.
>> @@ -477,21 +477,21 @@ namespace llvm {
>>      static ChildIteratorType child_end(NodeRef Node) {
>>        return Node->Imports.end();
>>      }
>> -
>> +
>>      static nodes_iterator nodes_begin(const ModuleManager &Manager) {
>>        return nodes_iterator(Manager.begin());
>>      }
>> -
>> +
>>      static nodes_iterator nodes_end(const ModuleManager &Manager) {
>>        return nodes_iterator(Manager.end());
>>      }
>>    };
>> -
>> +
>>    template<>
>>    struct DOTGraphTraits<ModuleManager> : public DefaultDOTGraphTraits {
>>      explicit DOTGraphTraits(bool IsSimple = false)
>>          : DefaultDOTGraphTraits(IsSimple) {}
>> -
>> +
>>      static bool renderGraphFromBottomUp() { return true; }
>>
>>      std::string getNodeLabel(ModuleFile *M, const ModuleManager&) {
>>
>> Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/MallocChecker.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/StaticAnalyzer/Checkers/MallocChecker.cpp (original)
>> +++ cfe/trunk/lib/StaticAnalyzer/Checkers/MallocChecker.cpp Mon Jul 30 12:24:48 2018
>> @@ -179,11 +179,11 @@ public:
>>          II_strdup(nullptr), II_win_strdup(nullptr), II_kmalloc(nullptr),
>>          II_if_nameindex(nullptr), II_if_freenameindex(nullptr),
>>          II_wcsdup(nullptr), II_win_wcsdup(nullptr), II_g_malloc(nullptr),
>> -        II_g_malloc0(nullptr), II_g_realloc(nullptr), II_g_try_malloc(nullptr),
>> -        II_g_try_malloc0(nullptr), II_g_try_realloc(nullptr),
>> -        II_g_free(nullptr), II_g_memdup(nullptr), II_g_malloc_n(nullptr),
>> -        II_g_malloc0_n(nullptr), II_g_realloc_n(nullptr),
>> -        II_g_try_malloc_n(nullptr), II_g_try_malloc0_n(nullptr),
>> +        II_g_malloc0(nullptr), II_g_realloc(nullptr), II_g_try_malloc(nullptr),
>> +        II_g_try_malloc0(nullptr), II_g_try_realloc(nullptr),
>> +        II_g_free(nullptr), II_g_memdup(nullptr), II_g_malloc_n(nullptr),
>> +        II_g_malloc0_n(nullptr), II_g_realloc_n(nullptr),
>> +        II_g_try_malloc_n(nullptr), II_g_try_malloc0_n(nullptr),
>>          II_g_try_realloc_n(nullptr) {}
>>
>>    /// In pessimistic mode, the checker assumes that it does not know which
>> @@ -248,11 +248,11 @@ private:
>>                           *II_realloc, *II_calloc, *II_valloc, *II_reallocf,
>>                           *II_strndup, *II_strdup, *II_win_strdup, *II_kmalloc,
>>                           *II_if_nameindex, *II_if_freenameindex, *II_wcsdup,
>> -                         *II_win_wcsdup, *II_g_malloc, *II_g_malloc0,
>> -                         *II_g_realloc, *II_g_try_malloc, *II_g_try_malloc0,
>> -                         *II_g_try_realloc, *II_g_free, *II_g_memdup,
>> -                         *II_g_malloc_n, *II_g_malloc0_n, *II_g_realloc_n,
>> -                         *II_g_try_malloc_n, *II_g_try_malloc0_n,
>> +                         *II_win_wcsdup, *II_g_malloc, *II_g_malloc0,
>> +                         *II_g_realloc, *II_g_try_malloc, *II_g_try_malloc0,
>> +                         *II_g_try_realloc, *II_g_free, *II_g_memdup,
>> +                         *II_g_malloc_n, *II_g_malloc0_n, *II_g_realloc_n,
>> +                         *II_g_try_malloc_n, *II_g_try_malloc0_n,
>>                           *II_g_try_realloc_n;
>>    mutable Optional<uint64_t> KernelZeroFlagVal;
>>
>> @@ -346,7 +346,7 @@ private:
>>
>>    ProgramStateRef ReallocMemAux(CheckerContext &C, const CallExpr *CE,
>>                                  bool FreesMemOnFailure,
>> -                                ProgramStateRef State,
>> +                                ProgramStateRef State,
>>                                  bool SuffixWithN = false) const;
>>    static SVal evalMulForBufferSize(CheckerContext &C, const Expr *Blocks,
>>                                     const Expr *BlockBytes);
>> @@ -652,7 +652,7 @@ bool MallocChecker::isCMemFunction(const
>>      initIdentifierInfo(C);
>>
>>      if (Family == AF_Malloc && CheckFree) {
>> -      if (FunI == II_free || FunI == II_realloc || FunI == II_reallocf ||
>> +      if (FunI == II_free || FunI == II_realloc || FunI == II_reallocf ||
>>            FunI == II_g_free)
>>          return true;
>>      }
>> @@ -662,12 +662,12 @@ bool MallocChecker::isCMemFunction(const
>>            FunI == II_calloc || FunI == II_valloc || FunI == II_strdup ||
>>            FunI == II_win_strdup || FunI == II_strndup || FunI == II_wcsdup ||
>>            FunI == II_win_wcsdup || FunI == II_kmalloc ||
>> -          FunI == II_g_malloc || FunI == II_g_malloc0 ||
>> -          FunI == II_g_realloc || FunI == II_g_try_malloc ||
>> +          FunI == II_g_malloc || FunI == II_g_malloc0 ||
>> +          FunI == II_g_realloc || FunI == II_g_try_malloc ||
>>            FunI == II_g_try_malloc0 || FunI == II_g_try_realloc ||
>> -          FunI == II_g_memdup || FunI == II_g_malloc_n ||
>> -          FunI == II_g_malloc0_n || FunI == II_g_realloc_n ||
>> -          FunI == II_g_try_malloc_n || FunI == II_g_try_malloc0_n ||
>> +          FunI == II_g_memdup || FunI == II_g_malloc_n ||
>> +          FunI == II_g_malloc0_n || FunI == II_g_realloc_n ||
>> +          FunI == II_g_try_malloc_n || FunI == II_g_try_malloc0_n ||
>>            FunI == II_g_try_realloc_n)
>>          return true;
>>      }
>> @@ -873,7 +873,7 @@ void MallocChecker::checkPostStmt(const
>>          return;
>>        State = MallocMemAux(C, CE, CE->getArg(0), UndefinedVal(), State);
>>        State = ProcessZeroAllocation(C, CE, 0, State);
>> -    } else if (FunI == II_realloc || FunI == II_g_realloc ||
>> +    } else if (FunI == II_realloc || FunI == II_g_realloc ||
>>                 FunI == II_g_try_realloc) {
>>        State = ReallocMemAux(C, CE, false, State);
>>        State = ProcessZeroAllocation(C, CE, 1, State);
>> @@ -936,7 +936,7 @@ void MallocChecker::checkPostStmt(const
>>          return;
>>        State = MallocMemAux(C, CE, CE->getArg(1), UndefinedVal(), State);
>>        State = ProcessZeroAllocation(C, CE, 1, State);
>> -    } else if (FunI == II_g_malloc_n || FunI == II_g_try_malloc_n ||
>> +    } else if (FunI == II_g_malloc_n || FunI == II_g_try_malloc_n ||
>>                 FunI == II_g_malloc0_n || FunI == II_g_try_malloc0_n) {
>>        if (CE->getNumArgs() < 2)
>>          return;
>>
>> Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp (original)
>> +++ cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp Mon Jul 30 12:24:48 2018
>> @@ -4000,7 +4000,7 @@ void RetainCountChecker::checkEndFunctio
>>    // Don't process anything within synthesized bodies.
>>    const LocationContext *LCtx = Pred->getLocationContext();
>>    if (LCtx->getAnalysisDeclContext()->isBodyAutosynthesized()) {
>> -    assert(!LCtx->inTopFrame());
>> +    assert(!LCtx->inTopFrame());
>>      return;
>>    }
>>
>>
>> Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp (original)
>> +++ cfe/trunk/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp Mon Jul 30 12:24:48 2018
>> @@ -129,7 +129,7 @@ bool StackAddrEscapeChecker::isSemaphore
>>    for (const auto &C : B.captures()) {
>>      const auto *T = C.getVariable()->getType()->getAs<TypedefType>();
>>      if (T && T->getDecl()->getIdentifier() == dispatch_semaphore_tII)
>> -      return true;
>> +      return true;
>>    }
>>    return false;
>>  }
>> @@ -175,9 +175,9 @@ void StackAddrEscapeChecker::checkAsyncE
>>    // There is a not-too-uncommon idiom
>>    // where a block passed to dispatch_async captures a semaphore
>>    // and then the thread (which called dispatch_async) is blocked on waiting
>> -  // for the completion of the execution of the block
>> -  // via dispatch_semaphore_wait. To avoid false-positives (for now)
>> -  // we ignore all the blocks which have captured
>> +  // for the completion of the execution of the block
>> +  // via dispatch_semaphore_wait. To avoid false-positives (for now)
>> +  // we ignore all the blocks which have captured
>>    // a variable of the type "dispatch_semaphore_t".
>>    if (isSemaphoreCaptured(*B.getDecl()))
>>      return;
>> @@ -263,7 +263,7 @@ void StackAddrEscapeChecker::checkPreStm
>>    if (const BlockDataRegion *B = dyn_cast<BlockDataRegion>(R))
>>      checkReturnedBlockCaptures(*B, C);
>>
>> -  if (!isa<StackSpaceRegion>(R->getMemorySpace()) ||
>> +  if (!isa<StackSpaceRegion>(R->getMemorySpace()) ||
>>        isNotInCurrentFrame(R, C) || isArcManagedBlock(R, C))
>>      return;
>>
>>
>> Modified: cfe/trunk/lib/StaticAnalyzer/Core/ExprEngine.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/ExprEngine.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/StaticAnalyzer/Core/ExprEngine.cpp (original)
>> +++ cfe/trunk/lib/StaticAnalyzer/Core/ExprEngine.cpp Mon Jul 30 12:24:48 2018
>> @@ -2338,7 +2338,7 @@ void ExprEngine::processSwitch(SwitchNod
>>      // Evaluate the LHS of the case value.
>>      llvm::APSInt V1 = Case->getLHS()->EvaluateKnownConstInt(getContext());
>>      assert(V1.getBitWidth() == getContext().getIntWidth(CondE->getType()));
>> -
>> +
>>      // Get the RHS of the case, if it exists.
>>      llvm::APSInt V2;
>>      if (const Expr *E = Case->getRHS())
>> @@ -2538,12 +2538,12 @@ void ExprEngine::VisitMemberExpr(const M
>>    ExplodedNodeSet CheckedSet;
>>    getCheckerManager().runCheckersForPreStmt(CheckedSet, Pred, M, *this);
>>
>> -  ExplodedNodeSet EvalSet;
>> -  ValueDecl *Member = M->getMemberDecl();
>> +  ExplodedNodeSet EvalSet;
>> +  ValueDecl *Member = M->getMemberDecl();
>>
>>    // Handle static member variables and enum constants accessed via
>>    // member syntax.
>> -  if (isa<VarDecl>(Member) || isa<EnumConstantDecl>(Member)) {
>> +  if (isa<VarDecl>(Member) || isa<EnumConstantDecl>(Member)) {
>>      for (const auto I : CheckedSet)
>>        VisitCommonDeclRefExpr(M, Member, I, EvalSet);
>>    } else {
>>
>> Modified: cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineC.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineC.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineC.cpp (original)
>> +++ cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineC.cpp Mon Jul 30 12:24:48 2018
>> @@ -684,7 +684,7 @@ void ExprEngine::VisitLogicalExpr(const
>>        // known to be false, 1 if the value is known to be true and a new symbol
>>        // when the assumption is unknown.
>>        nonloc::ConcreteInt Zero(getBasicVals().getValue(0, B->getType()));
>> -      X = evalBinOp(N->getState(), BO_NE,
>> +      X = evalBinOp(N->getState(), BO_NE,
>>                      svalBuilder.evalCast(RHSVal, B->getType(), RHS->getType()),
>>                      Zero, B->getType());
>>      }
>>
>> Modified: cfe/trunk/lib/StaticAnalyzer/Core/IssueHash.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/IssueHash.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/StaticAnalyzer/Core/IssueHash.cpp (original)
>> +++ cfe/trunk/lib/StaticAnalyzer/Core/IssueHash.cpp Mon Jul 30 12:24:48 2018
>> @@ -26,7 +26,7 @@
>>
>>  using namespace clang;
>>
>> -// Get a string representation of the parts of the signature that can be
>> +// Get a string representation of the parts of the signature that can be
>>  // overloaded on.
>>  static std::string GetSignature(const FunctionDecl *Target) {
>>    if (!Target)
>>
>> Modified: cfe/trunk/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp (original)
>> +++ cfe/trunk/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp Mon Jul 30 12:24:48 2018
>> @@ -440,7 +440,7 @@ static bool shouldRearrange(ProgramState
>>                              SymbolRef Sym, llvm::APSInt Int, QualType Ty) {
>>    return Sym->getType() == Ty &&
>>      (!BinaryOperator::isComparisonOp(Op) ||
>> -     (isWithinConstantOverflowBounds(Sym, State) &&
>> +     (isWithinConstantOverflowBounds(Sym, State) &&
>>        isWithinConstantOverflowBounds(Int)));
>>  }
>>
>>
>> Modified: cfe/trunk/lib/StaticAnalyzer/Core/Store.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/Store.cpp?rev=338291&r1=338290&r2=338291&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/StaticAnalyzer/Core/Store.cpp (original)
>> +++ cfe/trunk/lib/StaticAnalyzer/Core/Store.cpp Mon Jul 30 12:24:48 2018
>> @@ -448,10 +448,10 @@ SVal StoreManager::getLValueElement(Qual
>>    //  value. See also the similar FIXME in getLValueFieldOrIvar().
>>    if (Base.isUnknownOrUndef() || Base.getAs<loc::ConcreteInt>())
>>      return Base;
>> -
>> +
>>    if (Base.getAs<loc::GotoLabel>())
>>      return UnknownVal();
>> -
>> +
>>    const SubRegion *BaseRegion =
>>        Base.castAs<loc::MemRegionVal>().getRegionAs<SubRegion>();
>>
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


More information about the cfe-commits mailing list