reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/Sema/SemaTemplateDeduction.cpp
 1232                                             = dyn_cast<PackExpansionType>(Arg))
 1233     Arg = ArgExpansion->getPattern();
 1245     const ReferenceType *ArgRef = Arg->getAs<ReferenceType>();
 1247       Arg = ArgRef->getPointeeType();
 1249     if (ParamRef && ArgRef && S.Context.hasSameUnqualifiedType(Param, Arg)) {
 1270       Qualifiers ArgQuals = Arg.getQualifiers();
 1291     Arg = Arg.getUnqualifiedType();
 1291     Arg = Arg.getUnqualifiedType();
 1301                              Arg.getCVRQualifiers());
 1318       if (isForwardingReference(Param, 0) && Arg->isLValueReferenceType())
 1334     if (Arg->isPlaceholderType() ||
 1343     if (isa<ArrayType>(Arg)) {
 1345       Arg = S.Context.getUnqualifiedArrayType(Arg, Quals);
 1345       Arg = S.Context.getUnqualifiedArrayType(Arg, Quals);
 1347         Arg = S.Context.getQualifiedType(Arg, Quals);
 1347         Arg = S.Context.getQualifiedType(Arg, Quals);
 1355         hasInconsistentOrSupersetQualifiersOf(Param, Arg)) {
 1358       Info.SecondArg = TemplateArgument(Arg);
 1364     if (Arg->isFunctionType() && Param.hasQualifiers()) {
 1370     assert(Arg != S.Context.OverloadTy && "Unresolved overloaded function");
 1371     QualType DeducedType = Arg;
 1392       Info.SecondArg = TemplateArgument(Arg);
 1438   CanQualType CanArg = S.Context.getCanonicalType(Arg);
 1441       if (hasInconsistentOrSupersetQualifiersOf(Param, Arg))
 1447       if (!Arg.getQualifiers().compatiblyIncludes(Param.getQualifiers()))
 1453       Arg = S.Context.getUnqualifiedArrayType(Arg, Quals);
 1453       Arg = S.Context.getUnqualifiedArrayType(Arg, Quals);
 1454       Arg = S.Context.getQualifiedType(Arg, Param.getQualifiers());
 1454       Arg = S.Context.getQualifiedType(Arg, Param.getQualifiers());
 1456       if (Param.getCVRQualifiers() != Arg.getCVRQualifiers())
 1466                 : Param != Arg;
 1511         Arg = Arg.getUnqualifiedType();
 1511         Arg = Arg.getUnqualifiedType();
 1514       return Param == Arg? Sema::TDK_Success : Sema::TDK_NonDeducedMismatch;
 1518       if (const ComplexType *ComplexArg = Arg->getAs<ComplexType>())
 1528       if (const AtomicType *AtomicArg = Arg->getAs<AtomicType>())
 1539       if (const PointerType *PointerArg = Arg->getAs<PointerType>()) {
 1542                    = Arg->getAs<ObjCObjectPointerType>()) {
 1558           Arg->getAs<LValueReferenceType>();
 1570           Arg->getAs<RValueReferenceType>();
 1583         S.Context.getAsIncompleteArrayType(Arg);
 1597         S.Context.getAsConstantArrayType(Arg);
 1615       const ArrayType *ArrayArg = S.Context.getAsArrayType(Arg);
 1666         dyn_cast<FunctionProtoType>(Arg);
 1756       const RecordType *RecordT = Arg->getAs<RecordType>();
 1758         return DeduceTemplateArguments(S, TemplateParams, SpecParam, Arg, Info,
 1765           S, TemplateParams, SpecParam, Arg, Info, Deduced);
 1773       if (!S.isCompleteType(Info.getLocation(), Arg))
 1862       const MemberPointerType *MemPtrArg = dyn_cast<MemberPointerType>(Arg);
 1897       const BlockPointerType *BlockPtrArg = dyn_cast<BlockPointerType>(Arg);
 1913       if (const ExtVectorType *VectorArg = dyn_cast<ExtVectorType>(Arg)) {
 1926                                 = dyn_cast<DependentSizedExtVectorType>(Arg)) {
 1944       if (const auto *VectorArg = dyn_cast<VectorType>(Arg)) {
 1968       if (const auto *VectorArg = dyn_cast<DependentVectorType>(Arg)) {
 1996       if (const ExtVectorType *VectorArg = dyn_cast<ExtVectorType>(Arg)) {
 2022                                 = dyn_cast<DependentSizedExtVectorType>(Arg)) {
 2053               dyn_cast<DependentAddressSpaceType>(Arg)) {
 2072       if (isTargetAddressSpace(Arg.getAddressSpace())) {
 2075         ArgAddressSpace = toTargetAddressSpace(Arg.getAddressSpace());
 2081                     S.Context.removeAddrSpaceQualType(Arg), Info, Deduced, TDF))