Lines Matching defs:Classes
1666 // Classes marked __declspec(dllimport) need vftables generated on the
2000 "should only emit vbtables for classes with vbtables");
2999 // If the classes use the same null representation, reinterpret_cast is a nop.
3283 // TypeInfo: Static classes that are returned by typeid.
3294 // BaseClassArray: Contains a list of classes in a hierarchy. BaseClassArray is
3409 llvm::GlobalVariable *getBaseClassDescriptor(const MSRTTIClass &Classes);
3411 getBaseClassArray(SmallVectorImpl<MSRTTIClass> &Classes);
3428 static void serializeClassHierarchy(SmallVectorImpl<MSRTTIClass> &Classes,
3430 Classes.push_back(MSRTTIClass(RD));
3432 serializeClassHierarchy(Classes, Base.getType()->getAsCXXRecordDecl());
3435 /// \brief Find ambiguity among base classes.
3437 detectAmbiguousBases(SmallVectorImpl<MSRTTIClass> &Classes) {
3441 for (MSRTTIClass *Class = &Classes.front(); Class <= &Classes.back();) {
3453 for (MSRTTIClass &Class : Classes)
3470 SmallVector<MSRTTIClass, 8> Classes;
3471 serializeClassHierarchy(Classes, RD);
3472 Classes.front().initialize(/*Parent=*/nullptr, /*Specifier=*/nullptr);
3473 detectAmbiguousBases(Classes);
3475 for (auto Class : Classes) {
3498 auto *Bases = getBaseClassArray(Classes);
3504 llvm::ConstantInt::get(CGM.IntTy, Classes.size()),
3514 MSRTTIBuilder::getBaseClassArray(SmallVectorImpl<MSRTTIClass> &Classes) {
3524 // adding +1 to Classes.size(). The sections have pointer alignment and are
3528 auto *ArrType = llvm::ArrayType::get(PtrType, Classes.size() + 1);
3538 for (MSRTTIClass &Class : Classes)
3758 // classes with no virtual bases, so try to emit it as an alias.
3838 // Constructors for classes which utilize virtual bases have an additional
4005 // pointers to private or protected or ambiguous classes
4019 SmallVector<MSRTTIClass, 8> Classes;
4020 serializeClassHierarchy(Classes, MostDerivedClass);
4021 Classes.front().initialize(/*Parent=*/nullptr, /*Specifier=*/nullptr);
4022 detectAmbiguousBases(Classes);
4023 for (const MSRTTIClass &Class : Classes) {
4058 // pointers to private or protected or ambiguous classes