X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=entity.c;h=528e3a15d949cc11fe4a8a2f23a4736bf683d0d3;hb=23ebb996cbe0f5d2c74184d1cfb783cb2a529a13;hp=d828c8af8a60df33a2b1f2a6504d6c819b45930d;hpb=52be172c7dedb4935dde8df39e466bb442e7579e;p=cparser diff --git a/entity.c b/entity.c index d828c8a..528e3a1 100644 --- a/entity.c +++ b/entity.c @@ -43,7 +43,6 @@ const char *get_entity_kind_name(entity_kind_t kind) case ENTITY_LOCAL_LABEL: return "local label"; case ENTITY_TYPEDEF: return "typedef"; case ENTITY_NAMESPACE: return "namespace"; - case ENTITY_INVALID: break; } panic("Invalid entity kind encountered in get_entity_kind_name"); @@ -105,3 +104,13 @@ elf_visibility_tag_t get_elf_visibility_from_string(const char *string) return ELF_VISIBILITY_ERROR; } } + +entity_t *skip_unnamed_bitfields(entity_t *entry) +{ + for (; entry != NULL; entry = entry->base.next) { + assert(entry->kind == ENTITY_COMPOUND_MEMBER); + if (!entry->compound_member.bitfield || entry->base.symbol != NULL) + break; + } + return entry; +}