Lines Matching refs:SCS
74 StandardConversionSequence &SCS,
81 StandardConversionSequence &SCS,
1428 StandardConversionSequence &SCS,
1432 /// conversion sequence (C++ [conv], C++ [over.ics.scs]) from the
1435 /// types, use TryImplicitConversion. If a conversion exists, SCS will
1438 /// routine will return false and the value of SCS is unspecified.
1441 StandardConversionSequence &SCS,
1447 SCS.setAsIdentityConversion();
1448 SCS.IncompatibleObjC = false;
1449 SCS.setFromType(FromType);
1450 SCS.CopyConstructor = nullptr;
1470 SCS.setFromType(FromType);
1521 SCS.First = ICK_Lvalue_To_Rvalue;
1536 SCS.First = ICK_Array_To_Pointer;
1545 SCS.DeprecatedStringLiteralToCharPtr = true;
1551 SCS.Second = ICK_Identity;
1552 SCS.Third = ICK_Qualification;
1553 SCS.QualificationIncludesObjCLifetime = false;
1554 SCS.setAllToTypes(FromType);
1559 SCS.First = ICK_Function_To_Pointer;
1572 SCS.First = ICK_Identity;
1574 SCS.setToType(0, FromType);
1587 SCS.Second = ICK_Identity;
1590 SCS.Second = ICK_Integral_Promotion;
1594 SCS.Second = ICK_Floating_Promotion;
1598 SCS.Second = ICK_Complex_Promotion;
1607 SCS.Second = ICK_Boolean_Conversion;
1612 SCS.Second = ICK_Integral_Conversion;
1616 SCS.Second = ICK_Complex_Conversion;
1621 SCS.Second = ICK_Complex_Real;
1625 SCS.Second = ICK_Floating_Conversion;
1632 SCS.Second = ICK_Floating_Integral;
1635 SCS.Second = ICK_Block_Pointer_Conversion;
1638 SCS.Second = ICK_Writeback_Conversion;
1642 SCS.Second = ICK_Pointer_Conversion;
1643 SCS.IncompatibleObjC = IncompatibleObjC;
1648 SCS.Second = ICK_Pointer_Member;
1650 SCS.Second = SecondICK;
1655 SCS.Second = ICK_Compatible_Conversion;
1659 SCS.Second = ICK_NoReturn_Adjustment;
1662 SCS, CStyle)) {
1663 SCS.Second = ICK_TransparentUnionConversion;
1665 } else if (tryAtomicConversion(S, From, ToType, InOverloadResolution, SCS,
1673 SCS.Second = ICK_Zero_Event_Conversion;
1677 SCS.Second = ICK_Identity;
1679 SCS.setToType(1, FromType);
1687 SCS.Third = ICK_Qualification;
1688 SCS.QualificationIncludesObjCLifetime = ObjCLifetimeConversion;
1694 SCS.Third = ICK_Identity;
1709 SCS.setToType(2, FromType);
1727 SCS.setAllToTypes(ToType);
1730 SCS.First = ICK_C_Only_Conversion;
1731 SCS.Second = ICK_C_Only_Conversion;
1732 SCS.Third = ICK_C_Only_Conversion;
1740 StandardConversionSequence &SCS,
1750 if (IsStandardConversion(S, From, it->getType(), InOverloadResolution, SCS,
2936 /// If successful, updates \c SCS's second and third steps in the conversion
2940 StandardConversionSequence &SCS,
2952 SCS.Second = InnerSCS.Second;
2953 SCS.setToType(1, InnerSCS.getToType(1));
2954 SCS.Third = InnerSCS.Third;
2955 SCS.QualificationIncludesObjCLifetime
2957 SCS.setToType(2, InnerSCS.getToType(2));
4709 StandardConversionSequence &SCS = Result.isStandard() ? Result.Standard :
4711 SCS.ReferenceBinding = true;
4712 SCS.IsLvalueReference = ToType->isLValueReferenceType();
4713 SCS.BindsToRvalue = true;
4714 SCS.BindsToFunctionLvalue = false;
4715 SCS.BindsImplicitObjectArgumentWithoutRefQualifier = false;
4716 SCS.ObjCLifetimeConversionBinding = false;
5006 StandardConversionSequence &SCS) {
5010 switch (SCS.Second) {
5025 return SCS.getFromType()->isIntegralOrUnscopedEnumerationType() &&
5026 SCS.getToType(2)->isBooleanType();
5032 return SCS.getFromType()->isNullPtrType();
5090 StandardConversionSequence *SCS = nullptr;
5093 SCS = &ICS.Standard;
5098 SCS = &ICS.UserDefined.After;
5113 if (!CheckConvertedConstantConversions(S, *SCS)) {
5119 if (SCS->ReferenceBinding && !SCS->DirectBinding) {
5133 switch (SCS->getNarrowingKind(S.Context, Result.get(), PreNarrowingValue,
5208 static void dropPointerConversion(StandardConversionSequence &SCS) {
5209 if (SCS.Second == ICK_Pointer_Conversion) {
5210 SCS.Second = ICK_Identity;
5211 SCS.Third = ICK_Identity;
5212 SCS.ToTypePtrs[2] = SCS.ToTypePtrs[1] = SCS.ToTypePtrs[0];