SYM_STRUCT
[SYM_STRUCT] = "SYM_STRUCT",
case SYM_STRUCT:
if (!left_type || left_type->type != SYM_STRUCT)
if (!left_type || left_type->type != SYM_STRUCT)
if (ignore_structs && member_sym->type == SYM_STRUCT) {
if (ignore_structs && member_sym->type == SYM_STRUCT) {
if (arg->type == SYM_STRUCT)
return type->type == SYM_STRUCT && type->ident && !strcmp(type->ident->name, tag);
if (type->type == SYM_STRUCT)
if (type->type != SYM_STRUCT)
if (type->type != SYM_STRUCT)
if (!type || type->type != SYM_STRUCT)
if (sym->type != SYM_STRUCT)
if (!type || type->type != SYM_STRUCT)
if (!type || type->type != SYM_STRUCT)
if (base_type && base_type->type == SYM_STRUCT) {
if (!left_type || left_type->type != SYM_STRUCT)
if (size_type->type != SYM_STRUCT)
if (!type || type->type != SYM_STRUCT)
base_type->type == SYM_STRUCT ||
if (type->type == SYM_STRUCT) {
case SYM_STRUCT:
case SYM_STRUCT:
if (type->type != SYM_STRUCT && type->type != SYM_UNION)
case SYM_STRUCT: case SYM_UNION: //case SYM_ENUM:
if (ctype->type != SYM_UNION && ctype->type != SYM_STRUCT)
if (!ctype || (ctype->type != SYM_STRUCT && ctype->type != SYM_UNION)) {
const char *type = ctype->type == SYM_STRUCT ? "struct" : "union";
if (ctype->type != SYM_STRUCT && ctype->type != SYM_UNION) {
[SYM_STRUCT] = TYPE_COMPOUND,
case SYM_STRUCT:
if (ctx->ctype.base_type && ctx->ctype.base_type->type == SYM_STRUCT)
case SYM_STRUCT:
return struct_union_enum_specifier(SYM_STRUCT, token, ctx, parse_struct_declaration);
case SYM_STRUCT:
case SYM_STRUCT:
[SYM_STRUCT] = "strt",
if (!type || type->type != SYM_STRUCT)
if (type->type != SYM_STRUCT)
if (!type || type->type != SYM_STRUCT)
if (!type || type->type != SYM_STRUCT)
if (!sym || sym->type != SYM_STRUCT)
if (type->type == SYM_STRUCT)
if (!base_sym || base_sym->type != SYM_STRUCT)
if (type->type != SYM_STRUCT &&
if (!type || !type->ident || type->type != SYM_STRUCT)
if (!type || type->type != SYM_STRUCT)
if (type->type != SYM_STRUCT) {
if (!type || type->type != SYM_STRUCT)
if (tmp_type && tmp_type->type == SYM_STRUCT)
if (param_type && param_type->type == SYM_STRUCT)
if (!type || type->type != SYM_STRUCT)
if (!type || type->type != SYM_STRUCT)
if (type->type == SYM_UNION || type->type == SYM_STRUCT) {
if (type->type == SYM_UNION || type->type == SYM_STRUCT) {
(struct_type->type != SYM_STRUCT && struct_type->type != SYM_UNION))
} else if (get_real_base_type(sym)->type == SYM_STRUCT) {
if (!type || type->type != SYM_STRUCT || !type->ident)
if (struct_type->type != SYM_STRUCT || !struct_type->ident)
if (!sym || sym->type != SYM_STRUCT || !sym->ident)
if (tmp && (tmp->type == SYM_STRUCT || tmp->type == SYM_UNION)) {
if (type->type == SYM_UNION || type->type == SYM_STRUCT) {
if (type->type == SYM_UNION || type->type == SYM_STRUCT) {
if (type->type == SYM_STRUCT || type->type == SYM_UNION) {
if (!sym || sym->type != SYM_STRUCT || !sym->ident)
if (left_type->type != SYM_STRUCT &&
if (type->type != SYM_STRUCT)
if (type->type == SYM_STRUCT ||
if (!type || type->type != SYM_STRUCT)
if (type->type == SYM_UNION || type->type == SYM_STRUCT) {
if (type->type == SYM_UNION || type->type == SYM_STRUCT) {
left_type->type != SYM_STRUCT))
if (type->type == SYM_STRUCT)
if (!type || type->type != SYM_STRUCT)
if (type && type->type == SYM_STRUCT)
} else if (type->type == SYM_STRUCT) {
if (!type || type->type != SYM_STRUCT)
if (!type || type->type != SYM_STRUCT)
if (left_type->type == SYM_STRUCT && left_type == right_type)
if (!left_type || left_type->type != SYM_STRUCT)
if (type && type->type == SYM_STRUCT)
if (type && (type->type == SYM_ARRAY || type->type == SYM_STRUCT))
if (type && type->type == SYM_STRUCT)
case SYM_STRUCT:
case SYM_STRUCT: case SYM_UNION: case SYM_ARRAY:
case SYM_STRUCT:
case SYM_STRUCT:
[SYM_STRUCT] = "struct",
if (m & MOD_INLINE || t == SYM_STRUCT || t == SYM_UNION /*|| t == SYM_ENUM*/)