https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109806

--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
That ICE is because layout_class_type calls c_build_bitfield_integer_type with
width of 0 and that type is then seen by ranger for some reason:
#7  0x0000000000c4eee1 in layout_class_type (t=<record_type 0x7fffea2ee348
timespec>, virtuals_p=0x7fffffffd4c8)
    at ../../gcc/cp/class.cc:6858
6853              tree ftype = TREE_TYPE (field);
6854              width = tree_to_uhwi (DECL_SIZE (field));
6855              if (width != TYPE_PRECISION (ftype))
6856                {
6857                  TREE_TYPE (field)
6858                    = c_build_bitfield_integer_type (width,
6859                                                     TYPE_UNSIGNED
(ftype));
6860                  TREE_TYPE (field)
6861                    = cp_build_qualified_type (TREE_TYPE (field),
6862                                               cp_type_quals (ftype));
I think unnamed bitfields are just padding and shouldn't have this called.

Reply via email to