Lines Matching refs:T2

98                                      QualType T1, QualType T2);
794 QualType T1, QualType T2) { in IsStructurallyEquivalent() argument
795 if (T1.isNull() || T2.isNull()) in IsStructurallyEquivalent()
796 return T1.isNull() && T2.isNull(); in IsStructurallyEquivalent()
799 QualType OrigT2 = T2; in IsStructurallyEquivalent()
805 T2 = Context.ToCtx.getCanonicalType(T2); in IsStructurallyEquivalent()
808 if (T1.getQualifiers() != T2.getQualifiers()) in IsStructurallyEquivalent()
813 if (T1->getTypeClass() != T2->getTypeClass()) { in IsStructurallyEquivalent()
817 T2->getTypeClass() == Type::FunctionNoProto) in IsStructurallyEquivalent()
820 T2->getTypeClass() == Type::FunctionProto) in IsStructurallyEquivalent()
829 if (cast<BuiltinType>(T1)->getKind() != cast<BuiltinType>(T2)->getKind()) in IsStructurallyEquivalent()
836 cast<ComplexType>(T2)->getElementType())) in IsStructurallyEquivalent()
844 cast<AdjustedType>(T2)->getOriginalType())) in IsStructurallyEquivalent()
851 cast<PointerType>(T2)->getPointeeType())) in IsStructurallyEquivalent()
858 cast<BlockPointerType>(T2)->getPointeeType())) in IsStructurallyEquivalent()
865 const auto *Ref2 = cast<ReferenceType>(T2); in IsStructurallyEquivalent()
878 const auto *MemPtr2 = cast<MemberPointerType>(T2); in IsStructurallyEquivalent()
890 const auto *Array2 = cast<ConstantArrayType>(T2); in IsStructurallyEquivalent()
901 cast<ArrayType>(T2))) in IsStructurallyEquivalent()
907 const auto *Array2 = cast<VariableArrayType>(T2); in IsStructurallyEquivalent()
920 const auto *Array2 = cast<DependentSizedArrayType>(T2); in IsStructurallyEquivalent()
933 const auto *DepAddressSpace2 = cast<DependentAddressSpaceType>(T2); in IsStructurallyEquivalent()
946 const auto *Vec2 = cast<DependentSizedExtVectorType>(T2); in IsStructurallyEquivalent()
958 const auto *Vec2 = cast<DependentVectorType>(T2); in IsStructurallyEquivalent()
973 const auto *Vec2 = cast<VectorType>(T2); in IsStructurallyEquivalent()
986 const DependentSizedMatrixType *Mat2 = cast<DependentSizedMatrixType>(T2); in IsStructurallyEquivalent()
1001 const ConstantMatrixType *Mat2 = cast<ConstantMatrixType>(T2); in IsStructurallyEquivalent()
1014 const auto *Proto2 = cast<FunctionProtoType>(T2); in IsStructurallyEquivalent()
1043 const auto *Function2 = cast<FunctionType>(T2); in IsStructurallyEquivalent()
1056 cast<UnresolvedUsingType>(T2)->getDecl())) in IsStructurallyEquivalent()
1063 cast<AttributedType>(T2)->getModifiedType())) in IsStructurallyEquivalent()
1067 cast<AttributedType>(T2)->getEquivalentType())) in IsStructurallyEquivalent()
1074 cast<BTFTagAttributedType>(T2)->getWrappedType())) in IsStructurallyEquivalent()
1080 cast<ParenType>(T2)->getInnerType())) in IsStructurallyEquivalent()
1087 cast<MacroQualifiedType>(T2)->getUnderlyingType())) in IsStructurallyEquivalent()
1093 cast<UsingType>(T2)->getFoundDecl())) in IsStructurallyEquivalent()
1097 cast<UsingType>(T2)->getUnderlyingType())) in IsStructurallyEquivalent()
1103 cast<TypedefType>(T2)->getDecl()) || in IsStructurallyEquivalent()
1105 cast<TypedefType>(T2)->desugar())) in IsStructurallyEquivalent()
1112 cast<TypeOfExprType>(T2)->getUnderlyingExpr())) in IsStructurallyEquivalent()
1119 cast<TypeOfType>(T2)->getUnmodifiedType())) in IsStructurallyEquivalent()
1126 cast<UnaryTransformType>(T2)->getUnderlyingType())) in IsStructurallyEquivalent()
1133 cast<DecltypeType>(T2)->getUnderlyingExpr())) in IsStructurallyEquivalent()
1139 auto *Auto2 = cast<AutoType>(T2); in IsStructurallyEquivalent()
1159 const auto *DT2 = cast<DeducedTemplateSpecializationType>(T2); in IsStructurallyEquivalent()
1172 cast<TagType>(T2)->getDecl())) in IsStructurallyEquivalent()
1178 const auto *Parm2 = cast<TemplateTypeParmType>(T2); in IsStructurallyEquivalent()
1193 const auto *Subst2 = cast<SubstTemplateTypeParmType>(T2); in IsStructurallyEquivalent()
1209 const auto *Subst2 = cast<SubstTemplateTypeParmPackType>(T2); in IsStructurallyEquivalent()
1223 const auto *Spec2 = cast<TemplateSpecializationType>(T2); in IsStructurallyEquivalent()
1235 const auto *Elab2 = cast<ElaboratedType>(T2); in IsStructurallyEquivalent()
1252 const auto *Inj2 = cast<InjectedClassNameType>(T2); in IsStructurallyEquivalent()
1262 const auto *Typename2 = cast<DependentNameType>(T2); in IsStructurallyEquivalent()
1275 const auto *Spec2 = cast<DependentTemplateSpecializationType>(T2); in IsStructurallyEquivalent()
1291 cast<PackExpansionType>(T2)->getPattern())) in IsStructurallyEquivalent()
1297 const auto *Iface2 = cast<ObjCInterfaceType>(T2); in IsStructurallyEquivalent()
1306 const auto *Obj2 = cast<ObjCTypeParamType>(T2); in IsStructurallyEquivalent()
1322 const auto *Obj2 = cast<ObjCObjectType>(T2); in IsStructurallyEquivalent()
1338 const auto *Ptr2 = cast<ObjCObjectPointerType>(T2); in IsStructurallyEquivalent()
1347 cast<AtomicType>(T2)->getValueType())) in IsStructurallyEquivalent()
1353 cast<PipeType>(T2)->getElementType())) in IsStructurallyEquivalent()
1358 const auto *Int2 = cast<BitIntType>(T2); in IsStructurallyEquivalent()
1367 const auto *Int2 = cast<DependentBitIntType>(T2); in IsStructurallyEquivalent()
2393 bool StructuralEquivalenceContext::IsEquivalent(QualType T1, QualType T2) { in IsEquivalent() argument
2396 if (!::IsStructurallyEquivalent(*this, T1, T2)) in IsEquivalent()