Home | History | Annotate | Download | only in Sema

Lines Matching refs:Bases

1184       assert(RD->getNumVBases() == 0 && "constexpr ctor with virtual bases");
1204 // always initialized so do not need to be checked. Dependent bases
1315 /// class, including looking at dependent bases.
1322 for (const auto &I : Current->bases()) {
1377 // bases. For non-dependent bases, the check for completeness below handles
1529 /// Use small set to collect indirect bases. As this is only used
1533 /// \brief Recursively add the bases of Type. Don't add Type itself.
1543 // Iterate over its bases.
1544 for (const auto &BaseSpec : Decl->bases()) {
1556 bool Sema::AttachBaseSpecifiers(CXXRecordDecl *Class, CXXBaseSpecifier **Bases,
1567 // Used to track indirect bases so we can see if a direct base is
1576 = Context.getCanonicalType(Bases[idx]->getType());
1584 Diag(Bases[idx]->getLocStart(),
1587 << Bases[idx]->getSourceRange();
1591 Context.Deallocate(Bases[idx]);
1596 KnownBase = Bases[idx];
1597 Bases[NumGoodBases++] = Bases[idx];
1599 // Note this base's direct & indirect bases, if there could be ambiguity.
1608 // The Microsoft extension __interface does not permit bases that
1622 Class->setBases(Bases, NumGoodBases);
1626 QualType BaseType = Bases[idx]->getType();
1639 Diag(Bases[idx]->getLocStart (), diag::warn_inaccessible_base_class)
1641 << Bases[idx]->getSourceRange();
1643 assert(Bases[idx]->isVirtual());
1648 Context.Deallocate(Bases[idx]);
1657 void Sema::ActOnBaseSpecifiers(Decl *ClassDecl, CXXBaseSpecifier **Bases,
1659 if (!ClassDecl || !Bases || !NumBases)
1663 AttachBaseSpecifiers(cast<CXXRecordDecl>(ClassDecl), Bases, NumBases);
1732 // Now add all bases.
2641 for (auto I : RD->bases())
2750 for (const auto &Base : ClassDecl->bases()) {
2761 // there are no virtual bases.
3242 // If the class has any dependent bases, then it's possible that
3927 // Keep track of the direct virtual bases.
3929 for (auto &I : ClassDecl->bases()) {
3934 // Push virtual bases before others.
3969 // Non-virtual bases.
3970 for (auto &Base : ClassDecl->bases()) {
4093 // Build the list of bases and members in the order that they'll
4100 // 1. Virtual bases.
4104 // 2. Non-virtual bases.
4105 for (const auto &Base : ClassDecl->bases()) {
4347 // Bases.
4348 for (const auto &Base : ClassDecl->bases()) {
4349 // Bases are always records in a well-formed non-dependent class.
4352 // Remember direct virtual bases.
4377 // Virtual bases.
4379 // Bases are always records in a well-formed non-dependent class.
4382 // Ignore direct virtual bases.
4788 // FIXME: MSVC's docs say all bases must be exportable, but this doesn't
5134 for (const auto &B : ClassDecl->bases()) {
5844 for (auto &BI : RD->bases())
5849 // Per DR1611, do not consider virtual bases of constructors of abstract
6215 for (const auto &BI : RD->bases())
6252 // Check for virtual bases. We already know that the corresponding
6253 // member in all bases is trivial, so vbases must all be direct.
6364 CXXBasePaths Paths(/*FindAmbiguities=*/true, // true to look in all bases.
7943 for (auto &Base : Derived->bases()) {
8469 llvm::SmallPtrSet<const CXXRecordDecl *, 4> Bases;
8470 auto Collect = [&Bases](const CXXRecordDecl *Base) {
8471 Bases.insert(Base);
8475 // Collect all bases. Return false if we find a dependent base.
8481 auto IsNotBase = [&Bases](const CXXRecordDecl *Base) {
8482 return !Bases.count(Base);
8486 // of its bases is present in the base set of the current context.
8487 if (Bases.count(cast<CXXRecordDecl>(NamedContext)) ||
8739 for (const auto &B : ClassDecl->bases()) {
8806 for (const auto &B : ClassDecl->bases()) {
9271 for (const auto &BaseIt : ClassDecl->bases())
9326 for (const auto &B : ClassDecl->bases()) {
9984 // attempts to deduplicate calls to assignment operators of virtual bases are
9989 for (const auto &Base : ClassDecl->bases()) {
10024 // constructor rules. Note that virtual bases are not taken into account
10209 for (auto &Base : ClassDecl->bases()) {
10377 // attempts to deduplicate calls to assignment operators of virtual bases are
10383 // virtual bases, but it can still be user-declared and explicitly defaulted.
10384 for (const auto &Base : ClassDecl->bases()) {
10491 /// with virtual bases. Such a move assignment might move-assign the virtual
10509 for (auto &BI : Class->bases()) {
10538 // multiple distinct direct bases of Class, diagnose it. (If it
10560 // Only walk over bases that have defaulted move assignment operators.
10567 for (auto &BI : Base->bases())
10632 for (auto &Base : ClassDecl->bases()) {
10815 for (const auto &Base : ClassDecl->bases()) {
10816 // Virtual bases are handled below.
10982 for (const auto &B : ClassDecl->bases()) {
13348 // Only classes that have virtual bases need a VTT.
13352 for (const auto &I : RD->bases()) {