Lines Matching defs:SCS

98                                  StandardConversionSequence &SCS,
105 StandardConversionSequence &SCS,
2067 StandardConversionSequence &SCS,
2074 /// types, use TryImplicitConversion. If a conversion exists, SCS will
2077 /// routine will return false and the value of SCS is unspecified.
2080 StandardConversionSequence &SCS,
2086 SCS.setAsIdentityConversion();
2087 SCS.IncompatibleObjC = false;
2088 SCS.setFromType(FromType);
2089 SCS.CopyConstructor = nullptr;
2109 SCS.setFromType(FromType);
2155 SCS.First = ICK_Lvalue_To_Rvalue;
2178 SCS.First = ICK_HLSL_Array_RValue;
2179 SCS.setAllToTypes(ToType);
2183 SCS.First = ICK_Array_To_Pointer;
2192 SCS.DeprecatedStringLiteralToCharPtr = true;
2198 SCS.Second = ICK_Identity;
2199 SCS.Third = ICK_Qualification;
2200 SCS.QualificationIncludesObjCLifetime = false;
2201 SCS.setAllToTypes(FromType);
2206 SCS.First = ICK_Function_To_Pointer;
2219 SCS.First = ICK_Identity;
2221 SCS.setToType(0, FromType);
2235 SCS.Second = ICK_Identity;
2238 SCS.Second = ICK_Integral_Promotion;
2242 SCS.Second = ICK_Floating_Promotion;
2246 SCS.Second = ICK_Complex_Promotion;
2254 SCS.Second = ICK_Boolean_Conversion;
2259 SCS.Second = ICK_Integral_Conversion;
2263 SCS.Second = ICK_Complex_Conversion;
2268 SCS.Second = ICK_Complex_Real;
2272 SCS.Second = ICK_Floating_Conversion;
2280 SCS.Second = ICK_Floating_Integral;
2283 SCS.Second = ICK_Block_Pointer_Conversion;
2286 SCS.Second = ICK_Writeback_Conversion;
2290 SCS.Second = ICK_Pointer_Conversion;
2291 SCS.IncompatibleObjC = IncompatibleObjC;
2296 SCS.Second = ICK_Pointer_Member;
2299 SCS.Second = SecondICK;
2300 SCS.Dimension = DimensionICK;
2305 SCS.Second = ICK_Compatible_Conversion;
2308 S, From, ToType, InOverloadResolution, SCS, CStyle)) {
2309 SCS.Second = ICK_TransparentUnionConversion;
2311 } else if (tryAtomicConversion(S, From, ToType, InOverloadResolution, SCS,
2319 SCS.Second = ICK_Zero_Event_Conversion;
2324 SCS.Second = ICK_Zero_Queue_Conversion;
2328 SCS.Second = ICK_Compatible_Conversion;
2334 SCS.Second = ICK_Fixed_Point_Conversion;
2338 SCS.Second = ICK_Identity;
2340 SCS.setToType(1, FromType);
2348 SCS.Third = ICK_Function_Conversion;
2351 SCS.Third = ICK_Qualification;
2352 SCS.QualificationIncludesObjCLifetime = ObjCLifetimeConversion;
2356 SCS.Third = ICK_Identity;
2372 SCS.setToType(2, FromType);
2408 SCS.Second = SecondConv;
2409 SCS.setToType(1, ToType);
2415 SCS.Third = ICK_Identity;
2416 SCS.setToType(2, ToType);
2424 StandardConversionSequence &SCS,
2434 if (IsStandardConversion(S, From, it->getType(), InOverloadResolution, SCS,
3613 /// If successful, updates \c SCS's second and third steps in the conversion
3617 StandardConversionSequence &SCS,
3629 SCS.Second = InnerSCS.Second;
3630 SCS.setToType(1, InnerSCS.getToType(1));
3631 SCS.Third = InnerSCS.Third;
3632 SCS.QualificationIncludesObjCLifetime
3634 SCS.setToType(2, InnerSCS.getToType(2));
4265 /// Returns kind of fixed enum promotion the \a SCS uses.
4267 getFixedEnumPromtion(Sema &S, const StandardConversionSequence &SCS) {
4269 if (SCS.Second != ICK_Integral_Promotion)
4272 QualType FromType = SCS.getFromType();
4281 if (S.Context.hasSameType(SCS.getToType(1), UnderlyingType))
5566 StandardConversionSequence &SCS = Result.isStandard() ? Result.Standard :
5568 SCS.ReferenceBinding = true;
5569 SCS.IsLvalueReference = ToType->isLValueReferenceType();
5570 SCS.BindsToRvalue = true;
5571 SCS.BindsToFunctionLvalue = false;
5572 SCS.BindsImplicitObjectArgumentWithoutRefQualifier = false;
5573 SCS.ObjCLifetimeConversionBinding = false;
5948 StandardConversionSequence &SCS) {
5952 switch (SCS.Second) {
5967 return SCS.getFromType()->isIntegralOrUnscopedEnumerationType() &&
5968 SCS.getToType(2)->isBooleanType();
5974 return SCS.getFromType()->isNullPtrType();
6043 StandardConversionSequence *SCS = nullptr;
6046 SCS = &ICS.Standard;
6050 SCS = &ICS.UserDefined.Before;
6052 SCS = &ICS.UserDefined.After;
6068 if (!CheckConvertedConstantConversions(S, *SCS)) {
6074 if (SCS->ReferenceBinding && !SCS->DirectBinding) {
6081 // 'SCS->DirectBinding' occurs to be set to 'true' despite it is not
6118 switch (SCS->getNarrowingKind(S.Context, Result.get(), PreNarrowingValue,
6270 static void dropPointerConversion(StandardConversionSequence &SCS) {
6271 if (SCS.Second == ICK_Pointer_Conversion) {
6272 SCS.Second = ICK_Identity;
6273 SCS.Dimension = ICK_Identity;
6274 SCS.Third = ICK_Identity;
6275 SCS.ToTypePtrs[2] = SCS.ToTypePtrs[1] = SCS.ToTypePtrs[0];