Lines Matching defs:SCS
56 StandardConversionSequence &SCS,
63 StandardConversionSequence &SCS,
1299 StandardConversionSequence &SCS,
1303 /// conversion sequence (C++ [conv], C++ [over.ics.scs]) from the
1306 /// types, use TryImplicitConversion. If a conversion exists, SCS will
1309 /// routine will return false and the value of SCS is unspecified.
1312 StandardConversionSequence &SCS,
1318 SCS.setAsIdentityConversion();
1319 SCS
1320 SCS.IncompatibleObjC = false;
1321 SCS.setFromType(FromType);
1322 SCS.CopyConstructor = 0;
1395 SCS.First = ICK_Lvalue_To_Rvalue;
1410 SCS.First = ICK_Array_To_Pointer;
1419 SCS.DeprecatedStringLiteralToCharPtr = true;
1425 SCS.Second = ICK_Identity;
1426 SCS.Third = ICK_Qualification;
1427 SCS.QualificationIncludesObjCLifetime = false;
1428 SCS.setAllToTypes(FromType);
1433 SCS.First = ICK_Function_To_Pointer;
1441 SCS.First = ICK_Identity;
1443 SCS.setToType(0, FromType);
1456 SCS.Second = ICK_Identity;
1459 SCS.Second = ICK_Integral_Promotion;
1463 SCS.Second = ICK_Floating_Promotion;
1467 SCS.Second = ICK_Complex_Promotion;
1476 SCS.Second = ICK_Boolean_Conversion;
1481 SCS.Second = ICK_Integral_Conversion;
1485 SCS.Second = ICK_Complex_Conversion;
1490 SCS.Second = ICK_Complex_Real;
1494 SCS.Second = ICK_Floating_Conversion;
1501 SCS.Second = ICK_Floating_Integral;
1504 SCS.Second = ICK_Block_Pointer_Conversion;
1507 SCS.Second = ICK_Writeback_Conversion;
1511 SCS.Second = ICK_Pointer_Conversion;
1512 SCS.IncompatibleObjC = IncompatibleObjC;
1517 SCS.Second = ICK_Pointer_Member;
1519 SCS.Second = SecondICK;
1524 SCS.Second = ICK_Compatible_Conversion;
1528 SCS.Second = ICK_NoReturn_Adjustment;
1531 SCS, CStyle)) {
1532 SCS.Second = ICK_TransparentUnionConversion;
1534 } else if (tryAtomicConversion(S, From, ToType, InOverloadResolution, SCS,
1541 SCS.Second = ICK_Identity;
1543 SCS.setToType(1, FromType);
1551 SCS.Third = ICK_Qualification;
1552 SCS.QualificationIncludesObjCLifetime = ObjCLifetimeConversion;
1558 SCS.Third = ICK_Identity;
1575 SCS.setToType(2, FromType);
1589 StandardConversionSequence &SCS,
1601 if (IsStandardConversion(S, From, it->getType(), InOverloadResolution, SCS,
2780 /// If successful, updates \c SCS's second and third steps in the conversion
2784 StandardConversionSequence &SCS,
2796 SCS.Second = InnerSCS.Second;
2797 SCS.setToType(1, InnerSCS.getToType(1));
2798 SCS.Third = InnerSCS.Third;
2799 SCS.QualificationIncludesObjCLifetime
2801 SCS.setToType(2, InnerSCS.getToType(2));
4459 StandardConversionSequence &SCS = Result.isStandard() ? Result.Standard :
4461 SCS.ReferenceBinding = true;
4462 SCS.IsLvalueReference = ToType->isLValueReferenceType();
4463 SCS.BindsToRvalue = true;
4464 SCS.BindsToFunctionLvalue = false;
4465 SCS.BindsImplicitObjectArgumentWithoutRefQualifier = false;
4466 SCS.ObjCLifetimeConversionBinding = false;
4756 StandardConversionSequence &SCS) {
4760 switch (SCS.Second) {
4770 return SCS.getFromType()->isIntegralOrUnscopedEnumerationType() &&
4771 SCS.getToType(2)->isBooleanType();
4830 StandardConversionSequence *SCS = 0;
4837 SCS = &ICS.Standard;
4846 SCS = &ICS.UserDefined.After;
4867 switch (SCS->getNarrowingKind(Context, Result.get(), PreNarrowingValue,
4925 static void dropPointerConversion(StandardConversionSequence &SCS) {
4926 if (SCS.Second == ICK_Pointer_Conversion) {
4927 SCS.Second = ICK_Identity;
4928 SCS.Third = ICK_Identity;
4929 SCS.ToTypePtrs[2] = SCS.ToTypePtrs[1] = SCS.ToTypePtrs[0];