Lines Matching defs:SCS
73 StandardConversionSequence &SCS,
80 StandardConversionSequence &SCS,
1420 StandardConversionSequence &SCS,
1424 /// conversion sequence (C++ [conv], C++ [over.ics.scs]) from the
1427 /// types, use TryImplicitConversion. If a conversion exists, SCS will
1430 /// routine will return false and the value of SCS is unspecified.
1433 StandardConversionSequence &SCS,
1439 SCS.setAsIdentityConversion();
1440 SCS.IncompatibleObjC = false;
1441 SCS.setFromType(FromType);
1442 SCS.CopyConstructor = nullptr;
1515 SCS.First = ICK_Lvalue_To_Rvalue;
1530 SCS.First = ICK_Array_To_Pointer;
1539 SCS.DeprecatedStringLiteralToCharPtr = true;
1545 SCS.Second = ICK_Identity;
1546 SCS.Third = ICK_Qualification;
1547 SCS.QualificationIncludesObjCLifetime = false;
1548 SCS.setAllToTypes(FromType);
1553 SCS.First = ICK_Function_To_Pointer;
1561 SCS.First = ICK_Identity;
1563 SCS.setToType(0, FromType);
1576 SCS.Second = ICK_Identity;
1579 SCS.Second = ICK_Integral_Promotion;
1583 SCS.Second = ICK_Floating_Promotion;
1587 SCS.Second = ICK_Complex_Promotion;
1596 SCS.Second = ICK_Boolean_Conversion;
1601 SCS.Second = ICK_Integral_Conversion;
1605 SCS.Second = ICK_Complex_Conversion;
1610 SCS.Second = ICK_Complex_Real;
1614 SCS.Second = ICK_Floating_Conversion;
1621 SCS.Second = ICK_Floating_Integral;
1624 SCS.Second = ICK_Block_Pointer_Conversion;
1627 SCS.Second = ICK_Writeback_Conversion;
1631 SCS.Second = ICK_Pointer_Conversion;
1632 SCS.IncompatibleObjC = IncompatibleObjC;
1637 SCS.Second = ICK_Pointer_Member;
1639 SCS.Second = SecondICK;
1644 SCS.Second = ICK_Compatible_Conversion;
1648 SCS.Second = ICK_NoReturn_Adjustment;
1651 SCS, CStyle)) {
1652 SCS.Second = ICK_TransparentUnionConversion;
1654 } else if (tryAtomicConversion(S, From, ToType, InOverloadResolution, SCS,
1662 SCS.Second = ICK_Zero_Event_Conversion;
1666 SCS.Second = ICK_Identity;
1668 SCS.setToType(1, FromType);
1676 SCS.Third = ICK_Qualification;
1677 SCS.QualificationIncludesObjCLifetime = ObjCLifetimeConversion;
1683 SCS.Third = ICK_Identity;
1698 SCS.setToType(2, FromType);
1712 StandardConversionSequence &SCS,
1722 if (IsStandardConversion(S, From, it->getType(), InOverloadResolution, SCS,
2903 /// If successful, updates \c SCS's second and third steps in the conversion
2907 StandardConversionSequence &SCS,
2919 SCS.Second = InnerSCS.Second;
2920 SCS.setToType(1, InnerSCS.getToType(1));
2921 SCS.Third = InnerSCS.Third;
2922 SCS.QualificationIncludesObjCLifetime
2924 SCS.setToType(2, InnerSCS.getToType(2));
4629 StandardConversionSequence &SCS = Result.isStandard() ? Result.Standard :
4631 SCS.ReferenceBinding = true;
4632 SCS.IsLvalueReference = ToType->isLValueReferenceType();
4633 SCS.BindsToRvalue = true;
4634 SCS.BindsToFunctionLvalue = false;
4635 SCS.BindsImplicitObjectArgumentWithoutRefQualifier = false;
4636 SCS.ObjCLifetimeConversionBinding = false;
4924 StandardConversionSequence &SCS) {
4928 switch (SCS.Second) {
4939 return SCS.getFromType()->isIntegralOrUnscopedEnumerationType() &&
4940 SCS.getToType(2)->isBooleanType();
4999 StandardConversionSequence *SCS = nullptr;
5006 SCS = &ICS.Standard;
5015 SCS = &ICS.UserDefined.After;
5036 switch (SCS->getNarrowingKind(Context, Result.get(), PreNarrowingValue,
5090 static void dropPointerConversion(StandardConversionSequence &SCS) {
5091 if (SCS.Second == ICK_Pointer_Conversion) {
5092 SCS.Second = ICK_Identity;
5093 SCS.Third = ICK_Identity;
5094 SCS.ToTypePtrs[2] = SCS.ToTypePtrs[1] = SCS.ToTypePtrs[0];