Lines Matching refs:Context
98 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
100 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
102 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
105 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
111 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
126 return IsStructurallyEquivalent(Context, Name1.getCXXNameType(), in IsStructurallyEquivalent()
131 Context, Name1.getCXXDeductionGuideTemplate()->getDeclName(), in IsStructurallyEquivalent()
134 return IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
162 StructuralEquivalenceContext &Context; member in __anonb3c3ee740111::StmtComparer
169 return IsStructurallyEquivalent(Context, E1->getLabel(), E2->getLabel()); in IsStmtEquivalent()
194 return IsStructurallyEquivalent(Context, Callee1, Callee2); in IsStmtEquivalent()
217 if (!IsStructurallyEquivalent(Context, DE1->getDeclName(), in IsStmtEquivalent()
220 return IsStructurallyEquivalent(Context, DE1->getQualifier(), in IsStmtEquivalent()
225 return IsStructurallyEquivalent(Context, E1->getType(), E2->getType()); in IsStmtEquivalent()
247 if (!IsStructurallyEquivalent(Context, (*Child1)->getType(), in IsStmtEquivalent()
257 return IsStructurallyEquivalent(Context, CastE1->getType(), in IsStmtEquivalent()
266 return IsStructurallyEquivalent(Context, E1->getFoundDecl(), in IsStmtEquivalent()
292 return IsStructurallyEquivalent(Context, E1->getParameter(), in IsStmtEquivalent()
298 return IsStructurallyEquivalent(Context, E1->getArgumentPack(), in IsStmtEquivalent()
313 if (!IsStructurallyEquivalent(Context, (*Child1)->getType(), in IsStmtEquivalent()
324 return IsStructurallyEquivalent(Context, E1->getTypeOfArgument(), in IsStmtEquivalent()
355 StmtComparer(StructuralEquivalenceContext &C) : Context(C) {} in StmtComparer()
385 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
391 StmtComparer Comparer(Context); in IsStructurallyEquivalent()
403 if (!IsStructurallyEquivalent(Context, *Child1, *Child2)) in IsStructurallyEquivalent()
419 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
431 if (!IsStructurallyEquivalent(Context, Prefix1, Prefix2)) in IsStructurallyEquivalent()
439 return IsStructurallyEquivalent(Context, NNS1->getAsNamespace(), in IsStructurallyEquivalent()
442 return IsStructurallyEquivalent(Context, NNS1->getAsNamespaceAlias(), in IsStructurallyEquivalent()
446 return IsStructurallyEquivalent(Context, QualType(NNS1->getAsType(), 0), in IsStructurallyEquivalent()
451 return IsStructurallyEquivalent(Context, NNS1->getAsRecordDecl(), in IsStructurallyEquivalent()
457 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
463 if (!IsStructurallyEquivalent(Context, TemplateDeclN1, TemplateDeclN2)) in IsStructurallyEquivalent()
482 if (!IsStructurallyEquivalent(Context, *I1, *I2)) in IsStructurallyEquivalent()
496 if (!IsStructurallyEquivalent(Context, DN1->getQualifier(), in IsStructurallyEquivalent()
511 return IsStructurallyEquivalent(Context, P1->getArgumentPack(), in IsStructurallyEquivalent()
513 IsStructurallyEquivalent(Context, P1->getParameterPack(), in IsStructurallyEquivalent()
530 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
541 return IsStructurallyEquivalent(Context, Arg1.getAsType(), Arg2.getAsType()); in IsStructurallyEquivalent()
544 if (!IsStructurallyEquivalent(Context, Arg1.getIntegralType(), in IsStructurallyEquivalent()
552 return IsStructurallyEquivalent(Context, Arg1.getAsDecl(), Arg2.getAsDecl()); in IsStructurallyEquivalent()
558 return IsStructurallyEquivalent(Context, Arg1.getAsTemplate(), in IsStructurallyEquivalent()
562 return IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
567 return IsStructurallyEquivalent(Context, Arg1.getAsExpr(), in IsStructurallyEquivalent()
575 if (!IsStructurallyEquivalent(Context, Arg1.pack_begin()[I], in IsStructurallyEquivalent()
587 static bool IsArrayStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsArrayStructurallyEquivalent() argument
590 if (!IsStructurallyEquivalent(Context, Array1->getElementType(), in IsArrayStructurallyEquivalent()
604 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
628 static bool IsEquivalentExceptionSpec(StructuralEquivalenceContext &Context, in IsEquivalentExceptionSpec() argument
644 if (!IsStructurallyEquivalent(Context, Proto1->getExceptionType(I), in IsEquivalentExceptionSpec()
649 if (!IsStructurallyEquivalent(Context, Proto1->getNoexceptExpr(), in IsEquivalentExceptionSpec()
658 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
666 if (!Context.StrictTypeSpelling) { in IsStructurallyEquivalent()
669 T1 = Context.FromCtx.getCanonicalType(T1); in IsStructurallyEquivalent()
670 T2 = Context.ToCtx.getCanonicalType(T2); in IsStructurallyEquivalent()
699 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
707 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
714 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
721 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
735 if (!IsStructurallyEquivalent(Context, Ref1->getPointeeTypeAsWritten(), in IsStructurallyEquivalent()
744 if (!IsStructurallyEquivalent(Context, MemPtr1->getPointeeType(), in IsStructurallyEquivalent()
747 if (!IsStructurallyEquivalent(Context, QualType(MemPtr1->getClass(), 0), in IsStructurallyEquivalent()
759 if (!IsArrayStructurallyEquivalent(Context, Array1, Array2)) in IsStructurallyEquivalent()
765 if (!IsArrayStructurallyEquivalent(Context, cast<ArrayType>(T1), in IsStructurallyEquivalent()
773 if (!IsStructurallyEquivalent(Context, Array1->getSizeExpr(), in IsStructurallyEquivalent()
777 if (!IsArrayStructurallyEquivalent(Context, Array1, Array2)) in IsStructurallyEquivalent()
786 if (!IsStructurallyEquivalent(Context, Array1->getSizeExpr(), in IsStructurallyEquivalent()
790 if (!IsArrayStructurallyEquivalent(Context, Array1, Array2)) in IsStructurallyEquivalent()
799 if (!IsStructurallyEquivalent(Context, DepAddressSpace1->getAddrSpaceExpr(), in IsStructurallyEquivalent()
802 if (!IsStructurallyEquivalent(Context, DepAddressSpace1->getPointeeType(), in IsStructurallyEquivalent()
812 if (!IsStructurallyEquivalent(Context, Vec1->getSizeExpr(), in IsStructurallyEquivalent()
815 if (!IsStructurallyEquivalent(Context, Vec1->getElementType(), in IsStructurallyEquivalent()
826 if (!IsStructurallyEquivalent(Context, Vec1->getSizeExpr(), in IsStructurallyEquivalent()
829 if (!IsStructurallyEquivalent(Context, Vec1->getElementType(), in IsStructurallyEquivalent()
839 if (!IsStructurallyEquivalent(Context, Vec1->getElementType(), in IsStructurallyEquivalent()
854 if (!IsStructurallyEquivalent(Context, Mat1->getRowExpr(), in IsStructurallyEquivalent()
856 !IsStructurallyEquivalent(Context, Mat1->getColumnExpr(), in IsStructurallyEquivalent()
858 !IsStructurallyEquivalent(Context, Mat1->getElementType(), in IsStructurallyEquivalent()
869 if (!IsStructurallyEquivalent(Context, Mat1->getElementType(), in IsStructurallyEquivalent()
884 if (!IsStructurallyEquivalent(Context, Proto1->getParamType(I), in IsStructurallyEquivalent()
896 cast<FunctionProtoType>(OrigT1.getDesugaredType(Context.FromCtx)); in IsStructurallyEquivalent()
898 cast<FunctionProtoType>(OrigT2.getDesugaredType(Context.ToCtx)); in IsStructurallyEquivalent()
899 if (!IsEquivalentExceptionSpec(Context, OrigProto1, OrigProto2)) in IsStructurallyEquivalent()
909 if (!IsStructurallyEquivalent(Context, Function1->getReturnType(), in IsStructurallyEquivalent()
912 if (!IsStructurallyEquivalent(Context, Function1->getExtInfo(), in IsStructurallyEquivalent()
919 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
926 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
931 Context, cast<AttributedType>(T1)->getEquivalentType(), in IsStructurallyEquivalent()
938 Context, cast<BTFTagAttributedType>(T1)->getWrappedType(), in IsStructurallyEquivalent()
944 if (!IsStructurallyEquivalent(Context, cast<ParenType>(T1)->getInnerType(), in IsStructurallyEquivalent()
951 Context, cast<MacroQualifiedType>(T1)->getUnderlyingType(), in IsStructurallyEquivalent()
957 if (!IsStructurallyEquivalent(Context, cast<UsingType>(T1)->getFoundDecl(), in IsStructurallyEquivalent()
963 if (!IsStructurallyEquivalent(Context, cast<TypedefType>(T1)->getDecl(), in IsStructurallyEquivalent()
970 Context, cast<TypeOfExprType>(T1)->getUnderlyingExpr(), in IsStructurallyEquivalent()
976 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
984 Context, cast<UnaryTransformType>(T1)->getUnderlyingType(), in IsStructurallyEquivalent()
990 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
999 if (!IsStructurallyEquivalent(Context, Auto1->getDeducedType(), in IsStructurallyEquivalent()
1015 if (!IsStructurallyEquivalent(Context, Auto1Args[I], Auto2Args[I])) in IsStructurallyEquivalent()
1025 if (!IsStructurallyEquivalent(Context, DT1->getTemplateName(), in IsStructurallyEquivalent()
1028 if (!IsStructurallyEquivalent(Context, DT1->getDeducedType(), in IsStructurallyEquivalent()
1036 if (!IsStructurallyEquivalent(Context, cast<TagType>(T1)->getDecl(), in IsStructurallyEquivalent()
1058 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
1062 if (!IsStructurallyEquivalent(Context, Subst1->getReplacementType(), in IsStructurallyEquivalent()
1071 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
1075 if (!IsStructurallyEquivalent(Context, Subst1->getArgumentPack(), in IsStructurallyEquivalent()
1084 if (!IsStructurallyEquivalent(Context, Spec1->getTemplateName(), in IsStructurallyEquivalent()
1090 if (!IsStructurallyEquivalent(Context, Spec1->getArg(I), in IsStructurallyEquivalent()
1103 if (!IsStructurallyEquivalent(Context, Elab1->getQualifier(), in IsStructurallyEquivalent()
1106 if (!IsStructurallyEquivalent(Context, Elab1->getNamedType(), in IsStructurallyEquivalent()
1115 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
1125 if (!IsStructurallyEquivalent(Context, Typename1->getQualifier(), in IsStructurallyEquivalent()
1138 if (!IsStructurallyEquivalent(Context, Spec1->getQualifier(), in IsStructurallyEquivalent()
1147 if (!IsStructurallyEquivalent(Context, Spec1->getArg(I), in IsStructurallyEquivalent()
1155 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
1164 if (!IsStructurallyEquivalent(Context, Iface1->getDecl(), in IsStructurallyEquivalent()
1173 if (!IsStructurallyEquivalent(Context, Obj1->getDecl(), Obj2->getDecl())) in IsStructurallyEquivalent()
1179 if (!IsStructurallyEquivalent(Context, Obj1->getProtocol(I), in IsStructurallyEquivalent()
1189 if (!IsStructurallyEquivalent(Context, Obj1->getBaseType(), in IsStructurallyEquivalent()
1195 if (!IsStructurallyEquivalent(Context, Obj1->getProtocol(I), in IsStructurallyEquivalent()
1205 if (!IsStructurallyEquivalent(Context, Ptr1->getPointeeType(), in IsStructurallyEquivalent()
1212 if (!IsStructurallyEquivalent(Context, cast<AtomicType>(T1)->getValueType(), in IsStructurallyEquivalent()
1218 if (!IsStructurallyEquivalent(Context, cast<PipeType>(T1)->getElementType(), in IsStructurallyEquivalent()
1236 !IsStructurallyEquivalent(Context, Int1->getNumBitsExpr(), in IsStructurallyEquivalent()
1246 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1258 return IsStructurallyEquivalent(Context, D1, D2); in IsStructurallyEquivalent()
1265 if (Context.Complain) { in IsStructurallyEquivalent()
1266 Context.Diag2( in IsStructurallyEquivalent()
1268 Context.getApplicableDiagnostic(diag::err_odr_tag_type_inconsistent)) in IsStructurallyEquivalent()
1270 Context.Diag2(Field2->getLocation(), diag::note_odr_field_name) in IsStructurallyEquivalent()
1272 Context.Diag1(Field1->getLocation(), diag::note_odr_field_name) in IsStructurallyEquivalent()
1278 if (!IsStructurallyEquivalent(Context, Field1->getType(), in IsStructurallyEquivalent()
1280 if (Context.Complain) { in IsStructurallyEquivalent()
1281 Context.Diag2( in IsStructurallyEquivalent()
1283 Context.getApplicableDiagnostic(diag::err_odr_tag_type_inconsistent)) in IsStructurallyEquivalent()
1285 Context.Diag2(Field2->getLocation(), diag::note_odr_field) in IsStructurallyEquivalent()
1287 Context.Diag1(Field1->getLocation(), diag::note_odr_field) in IsStructurallyEquivalent()
1294 return IsStructurallyEquivalent(Context, Field1->getBitWidth(), in IsStructurallyEquivalent()
1301 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1304 return IsStructurallyEquivalent(Context, Field1, Field2, in IsStructurallyEquivalent()
1305 Context.ToCtx.getTypeDeclType(Owner2)); in IsStructurallyEquivalent()
1309 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1340 if (!IsStructurallyEquivalent(Context, Conversion1->getConversionType(), in IsStructurallyEquivalent()
1353 if (!::IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
1362 IsStructurallyEquivalentLambdas(StructuralEquivalenceContext &Context, in IsStructurallyEquivalentLambdas() argument
1366 if (!IsStructurallyEquivalent(Context, D1->getLambdaCallOperator(), in IsStructurallyEquivalentLambdas()
1410 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1424 if (Context.Complain) { in IsStructurallyEquivalent()
1425 Context.Diag2(D2->getLocation(), Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1427 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1428 Context.Diag1(D1->getLocation(), diag::note_odr_tag_kind_here) in IsStructurallyEquivalent()
1460 if (!IsStructurallyEquivalent(Context, Spec1->getSpecializedTemplate(), in IsStructurallyEquivalent()
1469 if (!IsStructurallyEquivalent(Context, Spec1->getTemplateArgs().get(I), in IsStructurallyEquivalent()
1491 if (Context.EqKind == StructuralEquivalenceKind::Minimal) in IsStructurallyEquivalent()
1510 if (!IsStructurallyEquivalentLambdas(Context, D1CXX, D2CXX)) in IsStructurallyEquivalent()
1515 if (Context.Complain) { in IsStructurallyEquivalent()
1516 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1517 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1519 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1520 Context.Diag2(D2->getLocation(), diag::note_odr_number_of_bases) in IsStructurallyEquivalent()
1522 Context.Diag1(D1->getLocation(), diag::note_odr_number_of_bases) in IsStructurallyEquivalent()
1533 if (!IsStructurallyEquivalent(Context, Base1->getType(), in IsStructurallyEquivalent()
1535 if (Context.Complain) { in IsStructurallyEquivalent()
1536 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1537 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1539 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1540 Context.Diag2(Base2->getBeginLoc(), diag::note_odr_base) in IsStructurallyEquivalent()
1542 Context.Diag1(Base1->getBeginLoc(), diag::note_odr_base) in IsStructurallyEquivalent()
1550 if (Context.Complain) { in IsStructurallyEquivalent()
1551 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1552 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1554 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1555 Context.Diag2(Base2->getBeginLoc(), diag::note_odr_virtual_base) in IsStructurallyEquivalent()
1557 Context.Diag1(Base1->getBeginLoc(), diag::note_odr_base) in IsStructurallyEquivalent()
1571 if (Context.Complain) { in IsStructurallyEquivalent()
1572 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1573 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1575 << Context.ToCtx.getTypeDeclType(D2CXX); in IsStructurallyEquivalent()
1576 Context.Diag1((*Friend1)->getFriendLoc(), diag::note_odr_friend); in IsStructurallyEquivalent()
1577 Context.Diag2(D2->getLocation(), diag::note_odr_missing_friend); in IsStructurallyEquivalent()
1582 if (!IsStructurallyEquivalent(Context, *Friend1, *Friend2)) { in IsStructurallyEquivalent()
1583 if (Context.Complain) { in IsStructurallyEquivalent()
1584 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1585 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1587 << Context.ToCtx.getTypeDeclType(D2CXX); in IsStructurallyEquivalent()
1588 Context.Diag1((*Friend1)->getFriendLoc(), diag::note_odr_friend); in IsStructurallyEquivalent()
1589 Context.Diag2((*Friend2)->getFriendLoc(), diag::note_odr_friend); in IsStructurallyEquivalent()
1596 if (Context.Complain) { in IsStructurallyEquivalent()
1597 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1598 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1600 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1601 Context.Diag2((*Friend2)->getFriendLoc(), diag::note_odr_friend); in IsStructurallyEquivalent()
1602 Context.Diag1(D1->getLocation(), diag::note_odr_missing_friend); in IsStructurallyEquivalent()
1607 if (Context.Complain) { in IsStructurallyEquivalent()
1608 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1609 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1611 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1613 Context.Diag1(Base1->getBeginLoc(), diag::note_odr_base) in IsStructurallyEquivalent()
1615 Context.Diag2(D2->getLocation(), diag::note_odr_missing_base); in IsStructurallyEquivalent()
1622 QualType D2Type = Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1629 if (Context.Complain) { in IsStructurallyEquivalent()
1630 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1631 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1633 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1634 Context.Diag1(Field1->getLocation(), diag::note_odr_field) in IsStructurallyEquivalent()
1636 Context.Diag2(D2->getLocation(), diag::note_odr_missing_field); in IsStructurallyEquivalent()
1641 if (!IsStructurallyEquivalent(Context, *Field1, *Field2, D2Type)) in IsStructurallyEquivalent()
1646 if (Context.Complain) { in IsStructurallyEquivalent()
1647 Context.Diag2(D2->getLocation(), Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1649 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1650 Context.Diag2(Field2->getLocation(), diag::note_odr_field) in IsStructurallyEquivalent()
1652 Context.Diag1(D1->getLocation(), diag::note_odr_missing_field); in IsStructurallyEquivalent()
1660 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1676 return IsStructurallyEquivalent(Context, D1->getInitExpr(), in IsStructurallyEquivalent()
1681 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1707 if (Context.Complain) { in IsStructurallyEquivalent()
1708 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1709 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1711 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1712 Context.Diag1(EC1->getLocation(), diag::note_odr_enumerator) in IsStructurallyEquivalent()
1714 Context.Diag2(D2->getLocation(), diag::note_odr_missing_enumerator); in IsStructurallyEquivalent()
1723 if (Context.Complain) { in IsStructurallyEquivalent()
1724 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1725 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1727 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1728 Context.Diag2(EC2->getLocation(), diag::note_odr_enumerator) in IsStructurallyEquivalent()
1730 Context.Diag1(EC1->getLocation(), diag::note_odr_enumerator) in IsStructurallyEquivalent()
1738 if (Context.Complain) { in IsStructurallyEquivalent()
1739 Context.Diag2(D2->getLocation(), Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1741 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1742 Context.Diag2(EC2->getLocation(), diag::note_odr_enumerator) in IsStructurallyEquivalent()
1744 Context.Diag1(D1->getLocation(), diag::note_odr_missing_enumerator); in IsStructurallyEquivalent()
1752 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1756 if (Context.Complain) { in IsStructurallyEquivalent()
1757 Context.Diag2(Params2->getTemplateLoc(), in IsStructurallyEquivalent()
1758 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1761 Context.Diag1(Params1->getTemplateLoc(), in IsStructurallyEquivalent()
1769 if (Context.Complain) { in IsStructurallyEquivalent()
1770 Context.Diag2(Params2->getParam(I)->getLocation(), in IsStructurallyEquivalent()
1771 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1773 Context.Diag1(Params1->getParam(I)->getLocation(), in IsStructurallyEquivalent()
1779 if (!IsStructurallyEquivalent(Context, Params1->getParam(I), in IsStructurallyEquivalent()
1787 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1791 if (Context.Complain) { in IsStructurallyEquivalent()
1792 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1793 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1796 Context.Diag1(D1->getLocation(), diag::note_odr_parameter_pack_non_pack) in IsStructurallyEquivalent()
1805 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1809 if (Context.Complain) { in IsStructurallyEquivalent()
1810 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1811 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1814 Context.Diag1(D1->getLocation(), diag::note_odr_parameter_pack_non_pack) in IsStructurallyEquivalent()
1821 if (!IsStructurallyEquivalent(Context, D1->getType(), D2->getType())) { in IsStructurallyEquivalent()
1822 if (Context.Complain) { in IsStructurallyEquivalent()
1823 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1824 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1827 Context.Diag1(D1->getLocation(), diag::note_odr_value_here) in IsStructurallyEquivalent()
1836 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1840 if (Context.Complain) { in IsStructurallyEquivalent()
1841 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1842 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1845 Context.Diag1(D1->getLocation(), diag::note_odr_parameter_pack_non_pack) in IsStructurallyEquivalent()
1852 return IsStructurallyEquivalent(Context, D1->getTemplateParameters(), in IsStructurallyEquivalent()
1867 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1871 if (!IsTemplateDeclCommonStructurallyEquivalent(Context, D1, D2)) in IsStructurallyEquivalent()
1875 return IsStructurallyEquivalent(Context, D1->getTemplatedDecl(), in IsStructurallyEquivalent()
1879 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1883 if (!IsTemplateDeclCommonStructurallyEquivalent(Context, D1, D2)) in IsStructurallyEquivalent()
1887 return IsStructurallyEquivalent(Context, D1->getTemplatedDecl()->getType(), in IsStructurallyEquivalent()
1891 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1895 if (!IsTemplateDeclCommonStructurallyEquivalent(Context, D1, D2)) in IsStructurallyEquivalent()
1899 return IsStructurallyEquivalent(Context, D1->getConstraintExpr(), in IsStructurallyEquivalent()
1903 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1910 return IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
1914 return IsStructurallyEquivalent(Context, D1->getFriendDecl(), in IsStructurallyEquivalent()
1919 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1924 return IsStructurallyEquivalent(Context, D1->getUnderlyingType(), in IsStructurallyEquivalent()
1928 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1941 if (!IsStructurallyEquivalent(Context, D1->getType(), D2->getType())) in IsStructurallyEquivalent()
1947 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1953 return IsStructurallyEquivalent(Context, cast<FieldDecl>(D1), in IsStructurallyEquivalent()
1957 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1960 Context.ToCtx.getObjCInterfaceType(D2->getContainingInterface()); in IsStructurallyEquivalent()
1961 return IsStructurallyEquivalent(Context, D1, D2, Owner2Type); in IsStructurallyEquivalent()
1964 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1990 if (!IsStructurallyEquivalent(Context, Method1->getReturnType(), in IsStructurallyEquivalent()
2003 if (!IsStructurallyEquivalent(Context, *ParamT1, *ParamT2)) in IsStructurallyEquivalent()
2010 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
2036 QualType D2Type = Context.ToCtx.getObjCInterfaceType(D2->getClassInterface()); in IsStructurallyEquivalent()
2044 if (!IsStructurallyEquivalent(Context, *Ivar1, *Ivar2, D2Type)) in IsStructurallyEquivalent()
2058 if (!IsStructurallyEquivalent(Context, *Method1, *Method2)) in IsStructurallyEquivalent()
2068 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
2078 if (Context.NonEquivalentDecls.count(P)) in IsStructurallyEquivalent()
2084 bool Inserted = Context.VisitedDecls.insert(P).second; in IsStructurallyEquivalent()
2088 Context.DeclsToCheck.push(P); in IsStructurallyEquivalent()
2113 ASTContext &Context = Anon->getASTContext(); in findUntaggedStructOrUnionIndex() local
2114 QualType AnonTy = Context.getRecordType(Anon); in findUntaggedStructOrUnionIndex()
2127 if (Context.hasSameType(F->getType(), AnonTy)) in findUntaggedStructOrUnionIndex()
2143 if (Context.hasSameType(FieldType, AnonTy)) in findUntaggedStructOrUnionIndex()