Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:Base

99   // Base class type info flags.
101 /// BCTI_Virtual - Base class is virtual.
104 /// BCTI_Public - Base class is public.
350 // public, non-virtual base at offset zero (i.e. the derived class is dynamic
351 // iff the base is)", according to Itanium C++ ABI, 2.95p6b.
357 // Get the base.
358 CXXRecordDecl::base_class_const_iterator Base = RD->bases_begin();
360 // Check that the base is not virtual.
361 if (Base->isVirtual())
364 // Check that the base is public.
365 if (Base->getAccessSpecifier() != AS_public)
368 // Check that the class is dynamic iff the base is.
370 cast<CXXRecordDecl>(Base->getType()->getAs<RecordType>()->getDecl());
392 #define TYPE(Class, Base)
393 #define ABSTRACT_TYPE(Class, Base)
394 #define NON_CANONICAL_UNLESS_DEPENDENT_TYPE(Class, Base) case Type::Class:
395 #define NON_CANONICAL_TYPE(Class, Base) case Type::Class:
396 #define DEPENDENT_TYPE(Class, Base) case Type::Class:
590 #define TYPE(Class, Base)
591 #define ABSTRACT_TYPE(Class, Base)
592 #define NON_CANONICAL_UNLESS_DEPENDENT_TYPE(Class, Base) case Type::Class:
593 #define NON_CANONICAL_TYPE(Class, Base) case Type::Class:
594 #define DEPENDENT_TYPE(Class, Base) case Type::Class:
756 // type_info structure for the base type,
774 static unsigned ComputeVMIClassTypeInfoFlags(const CXXBaseSpecifier *Base,
780 cast<CXXRecordDecl>(Base->getType()->getAs<RecordType>()->getDecl());
782 if (Base->isVirtual()) {
784 // If this virtual base has been seen before, then the class is diamond
791 // Mark the virtual base as seen.
796 // If this non-virtual base has been seen before, then the class has non-
803 // Mark the non-virtual base as seen.
843 // __base_count is a word with the number of direct proper base class
853 // Now add the base class descriptions.
856 // __base_info[] is an array of base class descriptions -- one for every
857 // direct proper base. Each description is of the type:
872 const CXXBaseSpecifier *Base = I;
874 // The __base_type member points to the RTTI for the base type.
875 Fields.push_back(RTTIBuilder(CGM).BuildTypeInfo(Base->getType()));
878 cast<CXXRecordDecl>(Base->getType()->getAs<RecordType>()->getDecl());
883 // For a non-virtual base, this is the offset in the object of the base
884 // subobject. For a virtual base, this is the offset in the virtual table of
885 // the virtual base offset for the virtual base referenced (negative).
887 if (Base->isVirtual())
899 if (Base->isVirtual())
901 if (Base->getAccessSpecifier() == AS_public)