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 __anon8e65f7780111::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()
529 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
540 return IsStructurallyEquivalent(Context, Arg1.getAsType(), Arg2.getAsType()); in IsStructurallyEquivalent()
543 if (!IsStructurallyEquivalent(Context, Arg1.getIntegralType(), in IsStructurallyEquivalent()
551 return IsStructurallyEquivalent(Context, Arg1.getAsDecl(), Arg2.getAsDecl()); in IsStructurallyEquivalent()
557 return IsStructurallyEquivalent(Context, Arg1.getAsTemplate(), in IsStructurallyEquivalent()
561 return IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
566 return IsStructurallyEquivalent(Context, Arg1.getAsExpr(), in IsStructurallyEquivalent()
574 if (!IsStructurallyEquivalent(Context, Arg1.pack_begin()[I], in IsStructurallyEquivalent()
586 static bool IsArrayStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsArrayStructurallyEquivalent() argument
589 if (!IsStructurallyEquivalent(Context, Array1->getElementType(), in IsArrayStructurallyEquivalent()
603 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
627 static bool IsEquivalentExceptionSpec(StructuralEquivalenceContext &Context, in IsEquivalentExceptionSpec() argument
643 if (!IsStructurallyEquivalent(Context, Proto1->getExceptionType(I), in IsEquivalentExceptionSpec()
648 if (!IsStructurallyEquivalent(Context, Proto1->getNoexceptExpr(), in IsEquivalentExceptionSpec()
657 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
665 if (!Context.StrictTypeSpelling) { in IsStructurallyEquivalent()
668 T1 = Context.FromCtx.getCanonicalType(T1); in IsStructurallyEquivalent()
669 T2 = Context.ToCtx.getCanonicalType(T2); in IsStructurallyEquivalent()
698 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
706 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
713 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
720 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
734 if (!IsStructurallyEquivalent(Context, Ref1->getPointeeTypeAsWritten(), in IsStructurallyEquivalent()
743 if (!IsStructurallyEquivalent(Context, MemPtr1->getPointeeType(), in IsStructurallyEquivalent()
746 if (!IsStructurallyEquivalent(Context, QualType(MemPtr1->getClass(), 0), in IsStructurallyEquivalent()
758 if (!IsArrayStructurallyEquivalent(Context, Array1, Array2)) in IsStructurallyEquivalent()
764 if (!IsArrayStructurallyEquivalent(Context, cast<ArrayType>(T1), in IsStructurallyEquivalent()
772 if (!IsStructurallyEquivalent(Context, Array1->getSizeExpr(), in IsStructurallyEquivalent()
776 if (!IsArrayStructurallyEquivalent(Context, Array1, Array2)) in IsStructurallyEquivalent()
785 if (!IsStructurallyEquivalent(Context, Array1->getSizeExpr(), in IsStructurallyEquivalent()
789 if (!IsArrayStructurallyEquivalent(Context, Array1, Array2)) in IsStructurallyEquivalent()
798 if (!IsStructurallyEquivalent(Context, DepAddressSpace1->getAddrSpaceExpr(), in IsStructurallyEquivalent()
801 if (!IsStructurallyEquivalent(Context, DepAddressSpace1->getPointeeType(), in IsStructurallyEquivalent()
811 if (!IsStructurallyEquivalent(Context, Vec1->getSizeExpr(), in IsStructurallyEquivalent()
814 if (!IsStructurallyEquivalent(Context, Vec1->getElementType(), in IsStructurallyEquivalent()
825 if (!IsStructurallyEquivalent(Context, Vec1->getSizeExpr(), in IsStructurallyEquivalent()
828 if (!IsStructurallyEquivalent(Context, Vec1->getElementType(), in IsStructurallyEquivalent()
838 if (!IsStructurallyEquivalent(Context, Vec1->getElementType(), in IsStructurallyEquivalent()
853 if (!IsStructurallyEquivalent(Context, Mat1->getRowExpr(), in IsStructurallyEquivalent()
855 !IsStructurallyEquivalent(Context, Mat1->getColumnExpr(), in IsStructurallyEquivalent()
857 !IsStructurallyEquivalent(Context, Mat1->getElementType(), in IsStructurallyEquivalent()
868 if (!IsStructurallyEquivalent(Context, Mat1->getElementType(), in IsStructurallyEquivalent()
883 if (!IsStructurallyEquivalent(Context, Proto1->getParamType(I), in IsStructurallyEquivalent()
895 cast<FunctionProtoType>(OrigT1.getDesugaredType(Context.FromCtx)); in IsStructurallyEquivalent()
897 cast<FunctionProtoType>(OrigT2.getDesugaredType(Context.ToCtx)); in IsStructurallyEquivalent()
898 if (!IsEquivalentExceptionSpec(Context, OrigProto1, OrigProto2)) in IsStructurallyEquivalent()
908 if (!IsStructurallyEquivalent(Context, Function1->getReturnType(), in IsStructurallyEquivalent()
911 if (!IsStructurallyEquivalent(Context, Function1->getExtInfo(), in IsStructurallyEquivalent()
918 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
925 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
930 Context, cast<AttributedType>(T1)->getEquivalentType(), in IsStructurallyEquivalent()
936 if (!IsStructurallyEquivalent(Context, cast<ParenType>(T1)->getInnerType(), in IsStructurallyEquivalent()
943 Context, cast<MacroQualifiedType>(T1)->getUnderlyingType(), in IsStructurallyEquivalent()
949 if (!IsStructurallyEquivalent(Context, cast<TypedefType>(T1)->getDecl(), in IsStructurallyEquivalent()
956 Context, cast<TypeOfExprType>(T1)->getUnderlyingExpr(), in IsStructurallyEquivalent()
962 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
970 Context, cast<UnaryTransformType>(T1)->getUnderlyingType(), in IsStructurallyEquivalent()
976 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
985 if (!IsStructurallyEquivalent(Context, Auto1->getDeducedType(), in IsStructurallyEquivalent()
1001 if (!IsStructurallyEquivalent(Context, Auto1Args[I], Auto2Args[I])) in IsStructurallyEquivalent()
1011 if (!IsStructurallyEquivalent(Context, DT1->getTemplateName(), in IsStructurallyEquivalent()
1014 if (!IsStructurallyEquivalent(Context, DT1->getDeducedType(), in IsStructurallyEquivalent()
1022 if (!IsStructurallyEquivalent(Context, cast<TagType>(T1)->getDecl(), in IsStructurallyEquivalent()
1044 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
1048 if (!IsStructurallyEquivalent(Context, Subst1->getReplacementType(), in IsStructurallyEquivalent()
1057 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
1061 if (!IsStructurallyEquivalent(Context, Subst1->getArgumentPack(), in IsStructurallyEquivalent()
1070 if (!IsStructurallyEquivalent(Context, Spec1->getTemplateName(), in IsStructurallyEquivalent()
1076 if (!IsStructurallyEquivalent(Context, Spec1->getArg(I), in IsStructurallyEquivalent()
1089 if (!IsStructurallyEquivalent(Context, Elab1->getQualifier(), in IsStructurallyEquivalent()
1092 if (!IsStructurallyEquivalent(Context, Elab1->getNamedType(), in IsStructurallyEquivalent()
1101 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
1111 if (!IsStructurallyEquivalent(Context, Typename1->getQualifier(), in IsStructurallyEquivalent()
1124 if (!IsStructurallyEquivalent(Context, Spec1->getQualifier(), in IsStructurallyEquivalent()
1133 if (!IsStructurallyEquivalent(Context, Spec1->getArg(I), in IsStructurallyEquivalent()
1141 if (!IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
1150 if (!IsStructurallyEquivalent(Context, Iface1->getDecl(), in IsStructurallyEquivalent()
1159 if (!IsStructurallyEquivalent(Context, Obj1->getDecl(), Obj2->getDecl())) in IsStructurallyEquivalent()
1165 if (!IsStructurallyEquivalent(Context, Obj1->getProtocol(I), in IsStructurallyEquivalent()
1175 if (!IsStructurallyEquivalent(Context, Obj1->getBaseType(), in IsStructurallyEquivalent()
1181 if (!IsStructurallyEquivalent(Context, Obj1->getProtocol(I), in IsStructurallyEquivalent()
1191 if (!IsStructurallyEquivalent(Context, Ptr1->getPointeeType(), in IsStructurallyEquivalent()
1198 if (!IsStructurallyEquivalent(Context, cast<AtomicType>(T1)->getValueType(), in IsStructurallyEquivalent()
1204 if (!IsStructurallyEquivalent(Context, cast<PipeType>(T1)->getElementType(), in IsStructurallyEquivalent()
1222 !IsStructurallyEquivalent(Context, Int1->getNumBitsExpr(), in IsStructurallyEquivalent()
1232 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1243 return IsStructurallyEquivalent(Context, D1, D2); in IsStructurallyEquivalent()
1250 if (Context.Complain) { in IsStructurallyEquivalent()
1251 Context.Diag2( in IsStructurallyEquivalent()
1253 Context.getApplicableDiagnostic(diag::err_odr_tag_type_inconsistent)) in IsStructurallyEquivalent()
1254 << Context.ToCtx.getTypeDeclType(Owner2); in IsStructurallyEquivalent()
1255 Context.Diag2(Field2->getLocation(), diag::note_odr_field_name) in IsStructurallyEquivalent()
1257 Context.Diag1(Field1->getLocation(), diag::note_odr_field_name) in IsStructurallyEquivalent()
1263 if (!IsStructurallyEquivalent(Context, Field1->getType(), in IsStructurallyEquivalent()
1265 if (Context.Complain) { in IsStructurallyEquivalent()
1266 Context.Diag2( in IsStructurallyEquivalent()
1268 Context.getApplicableDiagnostic(diag::err_odr_tag_type_inconsistent)) in IsStructurallyEquivalent()
1269 << Context.ToCtx.getTypeDeclType(Owner2); in IsStructurallyEquivalent()
1270 Context.Diag2(Field2->getLocation(), diag::note_odr_field) in IsStructurallyEquivalent()
1272 Context.Diag1(Field1->getLocation(), diag::note_odr_field) in IsStructurallyEquivalent()
1279 return IsStructurallyEquivalent(Context, Field1->getBitWidth(), in IsStructurallyEquivalent()
1286 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1317 if (!IsStructurallyEquivalent(Context, Conversion1->getConversionType(), in IsStructurallyEquivalent()
1330 if (!::IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
1339 IsStructurallyEquivalentLambdas(StructuralEquivalenceContext &Context, in IsStructurallyEquivalentLambdas() argument
1343 if (!IsStructurallyEquivalent(Context, D1->getLambdaCallOperator(), in IsStructurallyEquivalentLambdas()
1351 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1365 if (Context.Complain) { in IsStructurallyEquivalent()
1366 Context.Diag2(D2->getLocation(), Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1368 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1369 Context.Diag1(D1->getLocation(), diag::note_odr_tag_kind_here) in IsStructurallyEquivalent()
1395 if (!IsStructurallyEquivalent(Context, Spec1->getSpecializedTemplate(), in IsStructurallyEquivalent()
1404 if (!IsStructurallyEquivalent(Context, Spec1->getTemplateArgs().get(I), in IsStructurallyEquivalent()
1426 if (Context.EqKind == StructuralEquivalenceKind::Minimal) in IsStructurallyEquivalent()
1445 if (!IsStructurallyEquivalentLambdas(Context, D1CXX, D2CXX)) in IsStructurallyEquivalent()
1450 if (Context.Complain) { in IsStructurallyEquivalent()
1451 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1452 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1454 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1455 Context.Diag2(D2->getLocation(), diag::note_odr_number_of_bases) in IsStructurallyEquivalent()
1457 Context.Diag1(D1->getLocation(), diag::note_odr_number_of_bases) in IsStructurallyEquivalent()
1468 if (!IsStructurallyEquivalent(Context, Base1->getType(), in IsStructurallyEquivalent()
1470 if (Context.Complain) { in IsStructurallyEquivalent()
1471 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1472 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1474 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1475 Context.Diag2(Base2->getBeginLoc(), diag::note_odr_base) in IsStructurallyEquivalent()
1477 Context.Diag1(Base1->getBeginLoc(), diag::note_odr_base) in IsStructurallyEquivalent()
1485 if (Context.Complain) { in IsStructurallyEquivalent()
1486 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1487 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1489 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1490 Context.Diag2(Base2->getBeginLoc(), diag::note_odr_virtual_base) in IsStructurallyEquivalent()
1492 Context.Diag1(Base1->getBeginLoc(), diag::note_odr_base) in IsStructurallyEquivalent()
1506 if (Context.Complain) { in IsStructurallyEquivalent()
1507 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1508 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1510 << Context.ToCtx.getTypeDeclType(D2CXX); in IsStructurallyEquivalent()
1511 Context.Diag1((*Friend1)->getFriendLoc(), diag::note_odr_friend); in IsStructurallyEquivalent()
1512 Context.Diag2(D2->getLocation(), diag::note_odr_missing_friend); in IsStructurallyEquivalent()
1517 if (!IsStructurallyEquivalent(Context, *Friend1, *Friend2)) { in IsStructurallyEquivalent()
1518 if (Context.Complain) { in IsStructurallyEquivalent()
1519 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1520 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1522 << Context.ToCtx.getTypeDeclType(D2CXX); in IsStructurallyEquivalent()
1523 Context.Diag1((*Friend1)->getFriendLoc(), diag::note_odr_friend); in IsStructurallyEquivalent()
1524 Context.Diag2((*Friend2)->getFriendLoc(), diag::note_odr_friend); in IsStructurallyEquivalent()
1531 if (Context.Complain) { in IsStructurallyEquivalent()
1532 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1533 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1535 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1536 Context.Diag2((*Friend2)->getFriendLoc(), diag::note_odr_friend); in IsStructurallyEquivalent()
1537 Context.Diag1(D1->getLocation(), diag::note_odr_missing_friend); in IsStructurallyEquivalent()
1542 if (Context.Complain) { in IsStructurallyEquivalent()
1543 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1544 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1546 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1548 Context.Diag1(Base1->getBeginLoc(), diag::note_odr_base) in IsStructurallyEquivalent()
1550 Context.Diag2(D2->getLocation(), diag::note_odr_missing_base); in IsStructurallyEquivalent()
1563 if (Context.Complain) { in IsStructurallyEquivalent()
1564 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1565 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1567 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1568 Context.Diag1(Field1->getLocation(), diag::note_odr_field) in IsStructurallyEquivalent()
1570 Context.Diag2(D2->getLocation(), diag::note_odr_missing_field); in IsStructurallyEquivalent()
1575 if (!IsStructurallyEquivalent(Context, *Field1, *Field2)) in IsStructurallyEquivalent()
1580 if (Context.Complain) { in IsStructurallyEquivalent()
1581 Context.Diag2(D2->getLocation(), Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1583 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1584 Context.Diag2(Field2->getLocation(), diag::note_odr_field) in IsStructurallyEquivalent()
1586 Context.Diag1(D1->getLocation(), diag::note_odr_missing_field); in IsStructurallyEquivalent()
1595 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1621 if (Context.Complain) { in IsStructurallyEquivalent()
1622 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1623 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1625 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1626 Context.Diag1(EC1->getLocation(), diag::note_odr_enumerator) in IsStructurallyEquivalent()
1628 Context.Diag2(D2->getLocation(), diag::note_odr_missing_enumerator); in IsStructurallyEquivalent()
1637 if (Context.Complain) { in IsStructurallyEquivalent()
1638 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1639 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1641 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1642 Context.Diag2(EC2->getLocation(), diag::note_odr_enumerator) in IsStructurallyEquivalent()
1644 Context.Diag1(EC1->getLocation(), diag::note_odr_enumerator) in IsStructurallyEquivalent()
1652 if (Context.Complain) { in IsStructurallyEquivalent()
1653 Context.Diag2(D2->getLocation(), Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1655 << Context.ToCtx.getTypeDeclType(D2); in IsStructurallyEquivalent()
1656 Context.Diag2(EC2->getLocation(), diag::note_odr_enumerator) in IsStructurallyEquivalent()
1658 Context.Diag1(D1->getLocation(), diag::note_odr_missing_enumerator); in IsStructurallyEquivalent()
1666 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1670 if (Context.Complain) { in IsStructurallyEquivalent()
1671 Context.Diag2(Params2->getTemplateLoc(), in IsStructurallyEquivalent()
1672 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1675 Context.Diag1(Params1->getTemplateLoc(), in IsStructurallyEquivalent()
1683 if (Context.Complain) { in IsStructurallyEquivalent()
1684 Context.Diag2(Params2->getParam(I)->getLocation(), in IsStructurallyEquivalent()
1685 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1687 Context.Diag1(Params1->getParam(I)->getLocation(), in IsStructurallyEquivalent()
1693 if (!IsStructurallyEquivalent(Context, Params1->getParam(I), in IsStructurallyEquivalent()
1701 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1705 if (Context.Complain) { in IsStructurallyEquivalent()
1706 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1707 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1710 Context.Diag1(D1->getLocation(), diag::note_odr_parameter_pack_non_pack) in IsStructurallyEquivalent()
1719 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1723 if (Context.Complain) { in IsStructurallyEquivalent()
1724 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1725 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1728 Context.Diag1(D1->getLocation(), diag::note_odr_parameter_pack_non_pack) in IsStructurallyEquivalent()
1735 if (!IsStructurallyEquivalent(Context, D1->getType(), D2->getType())) { in IsStructurallyEquivalent()
1736 if (Context.Complain) { in IsStructurallyEquivalent()
1737 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1738 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1741 Context.Diag1(D1->getLocation(), diag::note_odr_value_here) in IsStructurallyEquivalent()
1750 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1754 if (Context.Complain) { in IsStructurallyEquivalent()
1755 Context.Diag2(D2->getLocation(), in IsStructurallyEquivalent()
1756 Context.getApplicableDiagnostic( in IsStructurallyEquivalent()
1759 Context.Diag1(D1->getLocation(), diag::note_odr_parameter_pack_non_pack) in IsStructurallyEquivalent()
1766 return IsStructurallyEquivalent(Context, D1->getTemplateParameters(), in IsStructurallyEquivalent()
1781 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1785 if (!IsTemplateDeclCommonStructurallyEquivalent(Context, D1, D2)) in IsStructurallyEquivalent()
1789 return IsStructurallyEquivalent(Context, D1->getTemplatedDecl(), in IsStructurallyEquivalent()
1793 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1797 if (!IsTemplateDeclCommonStructurallyEquivalent(Context, D1, D2)) in IsStructurallyEquivalent()
1801 return IsStructurallyEquivalent(Context, D1->getTemplatedDecl()->getType(), in IsStructurallyEquivalent()
1805 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1809 if (!IsTemplateDeclCommonStructurallyEquivalent(Context, D1, D2)) in IsStructurallyEquivalent()
1813 return IsStructurallyEquivalent(Context, D1->getConstraintExpr(), in IsStructurallyEquivalent()
1817 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1824 return IsStructurallyEquivalent(Context, in IsStructurallyEquivalent()
1828 return IsStructurallyEquivalent(Context, D1->getFriendDecl(), in IsStructurallyEquivalent()
1833 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1838 return IsStructurallyEquivalent(Context, D1->getUnderlyingType(), in IsStructurallyEquivalent()
1842 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1855 if (!IsStructurallyEquivalent(Context, D1->getType(), D2->getType())) in IsStructurallyEquivalent()
1862 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, in IsStructurallyEquivalent() argument
1872 if (Context.NonEquivalentDecls.count(P)) in IsStructurallyEquivalent()
1878 bool Inserted = Context.VisitedDecls.insert(P).second; in IsStructurallyEquivalent()
1882 Context.DeclsToCheck.push(P); in IsStructurallyEquivalent()
1907 ASTContext &Context = Anon->getASTContext(); in findUntaggedStructOrUnionIndex() local
1908 QualType AnonTy = Context.getRecordType(Anon); in findUntaggedStructOrUnionIndex()
1921 if (Context.hasSameType(F->getType(), AnonTy)) in findUntaggedStructOrUnionIndex()
1937 if (Context.hasSameType(FieldType, AnonTy)) in findUntaggedStructOrUnionIndex()