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

References

tools/clang/lib/AST/ASTStructuralEquivalence.cpp
  437   if (T1.isNull() || T2.isNull())
  438     return T1.isNull() && T2.isNull();
  441   QualType OrigT2 = T2;
  447     T2 = Context.ToCtx.getCanonicalType(T2);
  447     T2 = Context.ToCtx.getCanonicalType(T2);
  450   if (T1.getQualifiers() != T2.getQualifiers())
  455   if (T1->getTypeClass() != T2->getTypeClass()) {
  459         T2->getTypeClass() == Type::FunctionNoProto)
  462              T2->getTypeClass() == Type::FunctionProto)
  471     if (cast<BuiltinType>(T1)->getKind() != cast<BuiltinType>(T2)->getKind())
  478                                   cast<ComplexType>(T2)->getElementType()))
  486                                   cast<AdjustedType>(T2)->getOriginalType()))
  493                                   cast<PointerType>(T2)->getPointeeType()))
  500                                   cast<BlockPointerType>(T2)->getPointeeType()))
  507     const auto *Ref2 = cast<ReferenceType>(T2);
  520     const auto *MemPtr2 = cast<MemberPointerType>(T2);
  532     const auto *Array2 = cast<ConstantArrayType>(T2);
  543                                        cast<ArrayType>(T2)))
  549     const auto *Array2 = cast<VariableArrayType>(T2);
  562     const auto *Array2 = cast<DependentSizedArrayType>(T2);
  575     const auto *DepAddressSpace2 = cast<DependentAddressSpaceType>(T2);
  588     const auto *Vec2 = cast<DependentSizedExtVectorType>(T2);
  600     const auto *Vec2 = cast<DependentVectorType>(T2);
  615     const auto *Vec2 = cast<VectorType>(T2);
  628     const auto *Proto2 = cast<FunctionProtoType>(T2);
  657     const auto *Function2 = cast<FunctionType>(T2);
  670                                   cast<UnresolvedUsingType>(T2)->getDecl()))
  677                                   cast<AttributedType>(T2)->getModifiedType()))
  681             cast<AttributedType>(T2)->getEquivalentType()))
  687                                   cast<ParenType>(T2)->getInnerType()))
  694             cast<MacroQualifiedType>(T2)->getUnderlyingType()))
  700                                   cast<TypedefType>(T2)->getDecl()))
  707             cast<TypeOfExprType>(T2)->getUnderlyingExpr()))
  714                                   cast<TypeOfType>(T2)->getUnderlyingType()))
  721             cast<UnaryTransformType>(T2)->getUnderlyingType()))
  728                                   cast<DecltypeType>(T2)->getUnderlyingExpr()))
  734                                   cast<AutoType>(T2)->getDeducedType()))
  740     const auto *DT2 = cast<DeducedTemplateSpecializationType>(T2);
  753                                   cast<TagType>(T2)->getDecl()))
  759     const auto *Parm2 = cast<TemplateTypeParmType>(T2);
  773     const auto *Subst2 = cast<SubstTemplateTypeParmType>(T2);
  786     const auto *Subst2 = cast<SubstTemplateTypeParmPackType>(T2);
  799     const auto *Spec2 = cast<TemplateSpecializationType>(T2);
  815     const auto *Elab2 = cast<ElaboratedType>(T2);
  830     const auto *Inj2 = cast<InjectedClassNameType>(T2);
  840     const auto *Typename2 = cast<DependentNameType>(T2);
  853     const auto *Spec2 = cast<DependentTemplateSpecializationType>(T2);
  873                                   cast<PackExpansionType>(T2)->getPattern()))
  879     const auto *Iface2 = cast<ObjCInterfaceType>(T2);
  888     const auto *Obj2 = cast<ObjCTypeParamType>(T2);
  904     const auto *Obj2 = cast<ObjCObjectType>(T2);
  920     const auto *Ptr2 = cast<ObjCObjectPointerType>(T2);
  929                                   cast<AtomicType>(T2)->getValueType()))
  935                                   cast<PipeType>(T2)->getElementType()))