On Thu, 20 Aug 2020 at 22:55, Eduardo Habkost <ehabk...@redhat.com> wrote: > > While trying to convert TypeInfo declarations to the new > OBJECT_DECLARE* macros, I've stumbled on a few suspicious cases > where instance_size or class_size is not set, despite having type > checker macros that use a specific type. > > The ones with "WARNING" are abstract types (maybe not serious if > subclasses set the appropriate sizes). The ones with "ERROR" > don't seem to be abstract types. > > WARNING: hw/arm/armsse.c:1159:1: class_size should be set to > sizeof(ARMSSEClass)?
Seems like a bug, yes. Here the subclasses are simple leaf classes which (correctly) don't set class_size, so the abstract parent class must set class_size. > ERROR: hw/core/register.c:328:1: instance_size should be set to > sizeof(RegisterInfo)? Bug (we haven't noticed because the only thing that creates them is register_info() and it does object_initialize() into an existing struct rather than trying to object_new() it). thanks -- PMM