Lines Matching defs:SCS
93 StandardConversionSequence &SCS,
100 StandardConversionSequence &SCS,
2176 StandardConversionSequence &SCS,
2183 /// types, use TryImplicitConversion. If a conversion exists, SCS will
2186 /// routine will return false and the value of SCS is unspecified.
2189 StandardConversionSequence &SCS,
2195 SCS.setAsIdentityConversion();
2196 SCS.IncompatibleObjC = false;
2197 SCS.setFromType(FromType);
2198 SCS.CopyConstructor = nullptr;
2218 SCS.setFromType(FromType);
2271 SCS.First = ICK_HLSL_Array_RValue;
2275 SCS.First = ICK_HLSL_Array_RValue;
2277 SCS.First = ICK_Identity;
2284 SCS.setAllToTypes(ToType);
2292 SCS.First = ICK_Lvalue_To_Rvalue;
2307 SCS.First = ICK_Array_To_Pointer;
2316 SCS.DeprecatedStringLiteralToCharPtr = true;
2322 SCS.Second = ICK_Identity;
2323 SCS.Third = ICK_Qualification;
2324 SCS.QualificationIncludesObjCLifetime = false;
2325 SCS.setAllToTypes(FromType);
2330 SCS.First = ICK_Function_To_Pointer;
2343 SCS.First = ICK_Identity;
2345 SCS.setToType(0, FromType);
2359 SCS.Second = ICK_Identity;
2362 SCS.Second = ICK_Integral_Promotion;
2366 SCS.Second = ICK_Floating_Promotion;
2370 SCS.Second = ICK_Complex_Promotion;
2378 SCS.Second = ICK_Boolean_Conversion;
2383 SCS.Second = ICK_Integral_Conversion;
2387 SCS.Second = ICK_Complex_Conversion;
2392 SCS.Second = ICK_Complex_Real;
2396 SCS.Second = ICK_Floating_Conversion;
2404 SCS.Second = ICK_Floating_Integral;
2407 SCS.Second = ICK_Block_Pointer_Conversion;
2410 SCS.Second = ICK_Writeback_Conversion;
2414 SCS.Second = ICK_Pointer_Conversion;
2415 SCS.IncompatibleObjC = IncompatibleObjC;
2420 SCS.Second = ICK_Pointer_Member;
2423 SCS.Second = SecondICK;
2424 SCS.Dimension = DimensionICK;
2429 SCS.Second = ICK_Compatible_Conversion;
2432 S, From, ToType, InOverloadResolution, SCS, CStyle)) {
2433 SCS.Second = ICK_TransparentUnionConversion;
2435 } else if (tryAtomicConversion(S, From, ToType, InOverloadResolution, SCS,
2443 SCS.Second = ICK_Zero_Event_Conversion;
2448 SCS.Second = ICK_Zero_Queue_Conversion;
2452 SCS.Second = ICK_Compatible_Conversion;
2458 SCS.Second = ICK_Fixed_Point_Conversion;
2462 SCS.Second = ICK_Identity;
2464 SCS.setToType(1, FromType);
2472 SCS.Third = ICK_Function_Conversion;
2475 SCS.Third = ICK_Qualification;
2476 SCS.QualificationIncludesObjCLifetime = ObjCLifetimeConversion;
2480 SCS.Third = ICK_Identity;
2496 SCS.setToType(2, FromType);
2532 SCS.Second = SecondConv;
2533 SCS.setToType(1, ToType);
2539 SCS.Third = ICK_Identity;
2540 SCS.setToType(2, ToType);
2548 StandardConversionSequence &SCS,
2558 if (IsStandardConversion(S, From, it->getType(), InOverloadResolution, SCS,
3739 /// If successful, updates \c SCS's second and third steps in the conversion
3743 StandardConversionSequence &SCS,
3755 SCS.Second = InnerSCS.Second;
3756 SCS.setToType(1, InnerSCS.getToType(1));
3757 SCS.Third = InnerSCS.Third;
3758 SCS.QualificationIncludesObjCLifetime
3760 SCS.setToType(2, InnerSCS.getToType(2));
4391 /// Returns kind of fixed enum promotion the \a SCS uses.
4393 getFixedEnumPromtion(Sema &S, const StandardConversionSequence &SCS) {
4395 if (SCS.Second != ICK_Integral_Promotion)
4398 QualType FromType = SCS.getFromType();
4407 if (S.Context.hasSameType(SCS.getToType(1), UnderlyingType))
5692 StandardConversionSequence &SCS = Result.isStandard() ? Result.Standard :
5694 SCS.ReferenceBinding = true;
5695 SCS.IsLvalueReference = ToType->isLValueReferenceType();
5696 SCS.BindsToRvalue = true;
5697 SCS.BindsToFunctionLvalue = false;
5698 SCS.BindsImplicitObjectArgumentWithoutRefQualifier = false;
5699 SCS.ObjCLifetimeConversionBinding = false;
6078 StandardConversionSequence &SCS) {
6082 switch (SCS.Second) {
6097 return SCS.getFromType()->isIntegralOrUnscopedEnumerationType() &&
6098 SCS.getToType(2)->isBooleanType();
6104 return SCS.getFromType()->isNullPtrType();
6173 StandardConversionSequence *SCS = nullptr;
6176 SCS = &ICS.Standard;
6180 SCS = &ICS.UserDefined.Before;
6182 SCS = &ICS.UserDefined.After;
6198 if (!CheckConvertedConstantConversions(S, *SCS)) {
6204 if (SCS->ReferenceBinding && !SCS->DirectBinding) {
6211 // 'SCS->DirectBinding' occurs to be set to 'true' despite it is not
6251 switch (SCS->getNarrowingKind(S.Context, Result.get(), PreNarrowingValue,
6410 static void dropPointerConversion(StandardConversionSequence &SCS) {
6411 if (SCS.Second == ICK_Pointer_Conversion) {
6412 SCS.Second = ICK_Identity;
6413 SCS.Dimension = ICK_Identity;
6414 SCS.Third = ICK_Identity;
6415 SCS.ToTypePtrs[2] = SCS.ToTypePtrs[1] = SCS.ToTypePtrs[0];