Lines Matching refs:Standard
191 /// StandardConversionSequence - Set the standard conversion
209 /// getRank - Retrieve the rank of this standard conversion sequence
225 /// used as part of the ranking of standard conversion sequences
245 /// used as part of the ranking of standard conversion sequences (C++
300 /// Check if this standard conversion sequence represents a narrowing
304 /// \param Converted The result of applying this standard conversion sequence.
483 /// dump - Print this standard conversion sequence to standard
522 /// dump - Print this user-defined conversion sequence to standard
540 /// dump - Print this implicit conversion sequence to standard
548 OS << "Standard conversion: ";
549 Standard.dump();
1319 /// Produces an implicit conversion sequence for when a standard conversion
1363 // Turn this into a "standard" conversion sequence, so that it
1364 // gets ranked with standard conversion sequences.
1367 ICS.Standard.setAsIdentityConversion();
1368 ICS.Standard.setFromType(From->getType());
1369 ICS.Standard.setAllToTypes(ToType);
1370 ICS.Standard.CopyConstructor = Constructor;
1371 ICS.Standard.FoundCopyConstructor = Found;
1373 ICS.Standard.Second = ICK_Derived_To_Base;
1406 /// describe the initialization of f from i, which will be a standard
1434 ICS.Standard, CStyle, AllowObjCWritebackConversion)){
1456 ICS.Standard.setAsIdentityConversion();
1457 ICS.Standard.setFromType(FromType);
1458 ICS.Standard.setAllToTypes(ToType);
1464 ICS.Standard.CopyConstructor = nullptr;
1468 ICS.Standard.Second = ICK_Derived_To_Base;
1678 /// IsStandardConversion - Determines whether there is a standard
1680 /// expression From to the type ToType. Standard conversion sequences
1683 /// contain the standard conversion sequence required to perform this
1693 // Standard conversions (C++ [conv])
1699 // There are no standard conversions for class types in C++, so
1727 // otherwise, only a boolean conversion is standard
1934 // tryAtomicConversion has updated the standard conversion sequence
3370 // Record the standard conversion we used and the conversion function.
3550 // Record the standard conversion we used and the conversion function.
3555 // constructor (12.3.1), the initial standard conversion
3567 User.Before = Best->Conversions[0].Standard;
3584 // conversion function (12.3.2), the initial standard
3587 User.Before = Best->Conversions[0].Standard;
3594 // The second standard conversion sequence converts the
3730 return (ICS.isStandard() && ICS.Standard.DeprecatedStringLiteralToCharPtr) ||
3745 // -- a standard conversion sequence (13.3.3.1.1) is a better
3762 // standard. For example:
3817 // Standard conversion sequence S1 is a better conversion sequence than
3818 // standard conversion sequence S2 if [...]
3820 ICS1.Standard, ICS2.Standard);
3825 // constructor and if the second standard conversion sequence of
3826 // U1 is better than the second standard conversion sequence of
3842 // Per 13.3.3.2p3, compare the given standard conversion sequences to
3901 // time of this writing) break the standard definition of std::forward
3942 /// CompareStandardConversionSequences - Compare two standard
3950 // Standard conversion sequence S1 is a better conversion sequence
3951 // than standard conversion sequence S2 if (C++ 13.3.3.2p3):
4121 // as clang will do in standard mode.
4172 /// CompareQualificationConversions - Compares two standard conversion
4189 // FIXME: the example in the standard doesn't use a qualification
4260 // Check that the winning standard conversion sequence isn't using
4280 /// CompareDerivedToBaseConversions - Compares two standard conversion
4538 // "pointer to cv1 T1" via a standard conversion sequence.
4540 // Check for standard conversions we can apply to pointers: derived-to-base
4688 // second standard conversion sequence either an identity
4696 ICS.UserDefined.Before = Best->Conversions[0].Standard;
4761 ICS.Standard.First = ICK_Identity;
4764 ICS.Standard.Second = (RefConv & Sema::ReferenceConversions::DerivedToBase)
4772 ICS.Standard.Third = (RefConv &
4776 ICS.Standard.setFromType(T2);
4777 ICS.Standard.setToType(0, T2);
4778 ICS.Standard.setToType(1, T1);
4779 ICS.Standard.setToType(2, T1);
4780 ICS.Standard.ReferenceBinding = true;
4781 ICS.Standard.DirectBinding = BindsDirectly;
4782 ICS.Standard.IsLvalueReference = !isRValRef;
4783 ICS.Standard.BindsToFunctionLvalue = T2->isFunctionType();
4784 ICS.Standard.BindsToRvalue = InitCategory.isRValue();
4785 ICS.Standard.BindsImplicitObjectArgumentWithoutRefQualifier = false;
4786 ICS.Standard.ObjCLifetimeConversionBinding =
4788 ICS.Standard.CopyConstructor = nullptr;
4789 ICS.Standard.DeprecatedStringLiteralToCharPtr = false;
4858 // standard library implementors; therefore, we need the xvalue check here.
4880 // and the second standard conversion sequence of the
4958 ICS.Standard.ReferenceBinding = true;
4959 ICS.Standard.IsLvalueReference = !isRValRef;
4960 ICS.Standard.BindsToFunctionLvalue = false;
4961 ICS.Standard.BindsToRvalue = true;
4962 ICS.Standard.BindsImplicitObjectArgumentWithoutRefQualifier = false;
4963 ICS.Standard.ObjCLifetimeConversionBinding = false;
4971 // standard conversion sequence cannot be formed if it requires [...]
5045 Result.Standard.setAsIdentityConversion();
5046 Result.Standard.setFromType(ToType);
5047 Result.Standard.setAllToTypes(ToType);
5098 Result.Standard.setAsIdentityConversion();
5099 Result.Standard.setFromType(ToType);
5100 Result.Standard.setAllToTypes(ToType);
5155 // The standard is notoriously unclear here, since 13.3.3.1.4 doesn't
5202 StandardConversionSequence &SCS = Result.isStandard() ? Result.Standard :
5233 Result.Standard.setAsIdentityConversion();
5234 Result.Standard.setFromType(ToType);
5235 Result.Standard.setAllToTypes(ToType);
5401 ICS.Standard.setAsIdentityConversion();
5402 ICS.Standard.Second = SecondKind;
5403 ICS.Standard.setFromType(FromType);
5404 ICS.Standard.setAllToTypes(ImplicitParamType);
5405 ICS.Standard.ReferenceBinding = true;
5406 ICS.Standard.DirectBinding = true;
5407 ICS.Standard.IsLvalueReference = Method->getRefQualifier() != RQ_RValue;
5408 ICS.Standard.BindsToFunctionLvalue = false;
5409 ICS.Standard.BindsToRvalue = FromClassification.isRValue();
5410 ICS.Standard.BindsImplicitObjectArgumentWithoutRefQualifier
5489 if (ICS.Standard.Second == ICK_Derived_To_Base) {
5652 SCS = &ICS.Standard;
5821 /// dropPointerConversions - If the given standard conversion sequence
5860 dropPointerConversion(ICS.Standard);
6538 ConversionState.Standard.Second ==
7402 Candidate.FinalConversion = ICS.Standard;
7406 // conversion function template, the second standard conversion sequence
7409 GetConversionRank(ICS.Standard.Second) != ICR_Exact_Match) {
7417 // the second standard conversion sequence of the user-defined
7421 ICS.Standard.First == ICK_Lvalue_To_Rvalue) {
7435 "Can only end up with a standard conversion sequence or failure");
7548 // first conversion is ObjectInit's standard conversion (which is
7551 Candidate.Conversions[0].UserDefined.Before = ObjectInit.Standard;
8148 /// operator overloads from the standard to a candidate set.
9563 // should take precedence in preference, e.g. the standard-defined preferences
9629 ICS.Standard.Second == ICK_Incompatible_Pointer_Conversion;
9705 // (see 8.5, 13.3.1.5) and the standard conversion sequence
9708 // conversion sequence than the standard conversion sequence
9715 // other. This only distinguishes the results in non-standard, extension
13532 // a hack. The standard requires that we do overload resolution between the