Home | History | Annotate | Download | only in Sema

Lines Matching refs:Conversion

1250   //   - every constructor call and implicit conversion used in initializing the
1738 /// conversion (where Derived and Base are class types) is
1739 /// well-formed, meaning that the conversion is unambiguous (and
1754 // the Derived to Base conversion exists, because here we need to
1760 "Can only be used with a derived-to-base conversion");
1784 // We know that the derived-to-base conversion is ambiguous, and
1793 assert(StillOkay && "Can only be used with a derived-to-base conversion");
3543 "Conversion of invented variable cannot fail!");
6918 /// well-formednes of the conversion function declarator @p D with
6922 /// well-formed type for the conversion operator.
6927 // type of a conversion function (8.3.5) is "function taking no
6928 // parameter returning conversion-type-id."
6943 // Conversion functions don't have return types, but the parser will
7047 // The conversion-type-id shall not represent a function type nor
7060 // of the errors above fired) and with the conversion type as the
7065 // C++0x explicit conversion operators.
7075 /// the declaration of the given C++ conversion function. This routine
7076 /// is responsible for recording the conversion function in the C++
7078 Decl *Sema::ActOnConversionDeclarator(CXXConversionDecl *Conversion) {
7079 assert(Conversion && "Expected to receive a conversion function declaration");
7081 CXXRecordDecl *ClassDecl = cast<CXXRecordDecl>(Conversion->getDeclContext());
7083 // Make sure we aren't redeclaring the conversion function.
7084 QualType ConvType = Context.getCanonicalType(Conversion->getConversionType());
7087 // [...] A conversion function is never used to convert a
7092 // FIXME: Suppress this warning if the conversion function ends up being a
7098 if (Conversion->getTemplateSpecializationKind() != TSK_Undeclared &&
7099 Conversion->getTemplateSpecializationKind() != TSK_ExplicitSpecialization)
7104 Diag(Conversion->getLocation(), diag::warn_conv_to_self_not_used)
7106 else if (IsDerivedFrom(Conversion->getLocation(), ClassType, ConvType))
7107 Diag(Conversion->getLocation(), diag::warn_conv_to_base_not_used)
7110 Diag(Conversion->getLocation(), diag::warn_conv_to_void_not_used)
7115 = Conversion->getDescribedFunctionTemplate())
7118 return Conversion;
11151 // If we are defining a specialization of a conversion to function-ptr
11168 "Conversion operator must have a corresponding call operator");
11173 // For both the conversion and static-invoker template specializations
11186 "Must have deduced template arguments from Conversion Operator");
11197 // Construct the body of the conversion function { return __invoke; }.
11243 // behavior. Note that only the general conversion function does this
11257 // Create the return statement that returns the block from the conversion
11266 // Set the body of the conversion function.
13013 // Check if we the conversion from derived to base is valid.