Lines Matching refs:MSRTTIClass
3598 struct MSRTTIClass { struct
3606 MSRTTIClass(const CXXRecordDecl *RD) : RD(RD) {} in MSRTTIClass() function
3607 uint32_t initialize(const MSRTTIClass *Parent,
3610 MSRTTIClass *getFirstChild() { return this + 1; } in getFirstChild() argument
3611 static MSRTTIClass *getNextChild(MSRTTIClass *Child) { in getNextChild() argument
3620 uint32_t MSRTTIClass::initialize(const MSRTTIClass *Parent, in initialize()
3642 MSRTTIClass *Child = getFirstChild(); in initialize()
3682 llvm::GlobalVariable *getBaseClassDescriptor(const MSRTTIClass &Classes);
3684 getBaseClassArray(SmallVectorImpl<MSRTTIClass> &Classes);
3701 static void serializeClassHierarchy(SmallVectorImpl<MSRTTIClass> &Classes, in serializeClassHierarchy()
3703 Classes.push_back(MSRTTIClass(RD)); in serializeClassHierarchy()
3710 detectAmbiguousBases(SmallVectorImpl<MSRTTIClass> &Classes) { in detectAmbiguousBases()
3714 for (MSRTTIClass *Class = &Classes.front(); Class <= &Classes.back();) { in detectAmbiguousBases()
3715 if ((Class->Flags & MSRTTIClass::IsVirtual) && in detectAmbiguousBases()
3717 Class = MSRTTIClass::getNextChild(Class); in detectAmbiguousBases()
3726 for (MSRTTIClass &Class : Classes) in detectAmbiguousBases()
3728 Class.Flags |= MSRTTIClass::IsAmbiguous; in detectAmbiguousBases()
3743 SmallVector<MSRTTIClass, 8> Classes; in getClassHierarchyDescriptor()
3753 if (Class.Flags & MSRTTIClass::IsAmbiguous) in getClassHierarchyDescriptor()
3787 MSRTTIBuilder::getBaseClassArray(SmallVectorImpl<MSRTTIClass> &Classes) { in getBaseClassArray()
3811 for (MSRTTIClass &Class : Classes) in getBaseClassArray()
3820 MSRTTIBuilder::getBaseClassDescriptor(const MSRTTIClass &Class) { in getBaseClassDescriptor()
4289 SmallVector<MSRTTIClass, 8> Classes; in getCatchableTypeArray()
4293 for (const MSRTTIClass &Class : Classes) { in getCatchableTypeArray()
4296 (MSRTTIClass::IsPrivateOnPath | MSRTTIClass::IsAmbiguous)) in getCatchableTypeArray()