SYM_PTR
[SYM_PTR] = "SYM_PTR",
if (type->type != SYM_PTR)
if (!left_type || left_type->type != SYM_PTR)
if (!right_type || right_type->type != SYM_PTR)
if (!left_type || left_type->type != SYM_PTR)
if (member_sym->type == SYM_PTR)
if (member_sym->type == SYM_PTR)
if (base->type != SYM_PTR)
if (!type || type->type != SYM_PTR)
if (rl_type(rl)->type != SYM_PTR && sval_is_negative(rl_min(rl)))
rl_type(rl)->type == SYM_PTR &&
if (type->type == SYM_PTR)
if (sym && sym->type == SYM_PTR) {
if (!left_type || left_type->type != SYM_PTR)
if (!type || type->type != SYM_PTR)
case SYM_PTR:
case SYM_PTR: case SYM_FN:
ret = alloc_symbol(unop->pos, SYM_PTR);
return type->type == SYM_PTR || type->type == SYM_ARRAY;
struct symbol *sym = alloc_symbol(ctype->pos, SYM_PTR);
ptr = alloc_symbol(s->pos, SYM_PTR);
struct symbol *ptr = alloc_symbol(expr->pos, SYM_PTR);
case SYM_PTR:
case SYM_PTR:
if (ctype->type == SYM_PTR)
[SYM_PTR] = TYPE_PTR,
if (t1 && t1->type != SYM_PTR) {
if (t2 && t2->type != SYM_PTR) {
case SYM_PTR:
case SYM_PTR:
struct symbol *ptr = alloc_symbol(token->pos, SYM_PTR);
case SYM_PTR:
[SYM_PTR] = "ptr.",
(type->type == SYM_PTR ||
if (type && type->type == SYM_PTR)
if (!type || type->type != SYM_PTR)
if (!type || type->type != SYM_PTR)
if (type->type != SYM_PTR && type->type != SYM_ARRAY)
if (!type || type->type != SYM_PTR)
if (type->type != SYM_PTR && type->type != SYM_ARRAY)
if (type->type == SYM_PTR)
if (!base_sym || base_sym->type != SYM_PTR)
if (type->type != SYM_ARRAY && type->type != SYM_PTR)
if (type->type != SYM_PTR)
if (type->type != SYM_BASETYPE && type->type != SYM_PTR)
if (type->type != SYM_PTR)
if (!type || (type->type != SYM_PTR && type->type != SYM_ARRAY))
if (!type || type->type != SYM_PTR)
if (type->type != SYM_PTR && type->type != SYM_ARRAY)
if (!type || type->type != SYM_PTR)
if (!type || type->type != SYM_PTR)
if (!type || type->type != SYM_PTR)
if (base_type && base_type->type == SYM_PTR)
if (!type || type->type != SYM_PTR)
if (type->type != SYM_PTR)
if (type->type != SYM_PTR)
if (!type || type->type != SYM_PTR)
if (get_real_base_type(arg)->type != SYM_PTR)
if (!type || type->type != SYM_PTR)
if (type && type->type == SYM_PTR)
if (!type || type->type != SYM_PTR)
if (rl_type(orig)->type == SYM_PTR &&
if (!type || type->type != SYM_PTR)
if (type->type != SYM_PTR)
if (type->type == SYM_PTR)
if (type && type->type == SYM_PTR)
if (type && type->type == SYM_PTR) {
if (type && type->type == SYM_PTR)
if (type->type == SYM_PTR || type->type == SYM_ARRAY) {
if (type->type == SYM_PTR || type->type == SYM_ARRAY) {
if (type->type == SYM_PTR || type->type == SYM_ARRAY) {
if (!type || type->type != SYM_PTR)
if (type->type != SYM_ARRAY && type->type != SYM_PTR)
if (type->type != SYM_PTR)
if (cur_func->type == SYM_PTR && sval.value == 0)
while (tmp && tmp->type == SYM_PTR)
if (!type || type->type != SYM_PTR)
if (!sym || sym->type != SYM_PTR)
if (type && type->type == SYM_PTR)
if (!left_type || left_type->type != SYM_PTR)
if (!right_type || right_type->type != SYM_PTR)
if (!type || type->type != SYM_PTR)
if (sval.type->type != SYM_PTR || sval.uvalue != MTAG_SEED)
if (type->type == SYM_PTR)
if (!estate_type(state) || estate_type(state)->type != SYM_PTR)
if (!type || (type->type != SYM_PTR && type->type != SYM_ARRAY))
if (rl_type(*list)->type == SYM_PTR) {
} else if (min.type->type == SYM_PTR) {
if (type->type != SYM_PTR && type->type != SYM_BASETYPE &&
if (type->type != SYM_PTR && type->type != SYM_ARRAY)
if (type->type == SYM_PTR) {
(left_type->type != SYM_PTR &&
if (type->type == SYM_PTR) {
return (sval.type->type == SYM_PTR || sval.type->type == SYM_ARRAY);
if (type->type == SYM_PTR)
if (left->type == SYM_PTR || left->type == SYM_ARRAY)
if (right->type == SYM_PTR || right->type == SYM_ARRAY)
if (sym->type == SYM_PTR)
if (sym->type != SYM_PTR && sym->type != SYM_ARRAY)
sym = alloc_symbol(expr->pos, SYM_PTR);
if (sym && sym->type == SYM_PTR)
if (!type || type->type != SYM_PTR)
if (!type || type->type != SYM_PTR)
if (!type || type->type != SYM_PTR)
if (one->type == SYM_PTR)
if (fn_type->type == SYM_PTR)
if (sub->type == SYM_PTR)
if (!sym || sym->type != SYM_PTR)
if (sym->type == SYM_PTR)
if (!sym || sym->type != SYM_PTR)
if (!type || type->type != SYM_PTR)
} else if (type->type == SYM_PTR) {
if (!type || type->type != SYM_PTR)
if (!type || type->type != SYM_PTR)
if (left_type->type != SYM_PTR &&
if (right_type->type != SYM_PTR &&
if (!left_type || left_type->type != SYM_PTR)
if (!type || type->type != SYM_PTR)
if (!type || type->type != SYM_PTR)
if (!type || type->type != SYM_PTR)
case SYM_PTR:
case SYM_PTR:
if (!base_type || base_type->type == SYM_PTR)
case SYM_PTR:
[SYM_PTR] = "pointer",
{ &string_ctype, SYM_PTR, 0, &bits_in_pointer, &pointer_alignment, &char_ctype },
{ &ptr_ctype, SYM_PTR, 0, &bits_in_pointer, &pointer_alignment, &void_ctype },
{ &null_ctype, SYM_PTR, 0, &bits_in_pointer, &pointer_alignment, &void_ctype },
{ &label_ctype, SYM_PTR, 0, &bits_in_pointer, &pointer_alignment, &void_ctype },
{ &lazy_ptr_ctype, SYM_PTR, 0, &bits_in_pointer, &pointer_alignment, &void_ctype },
{ &int_ptr_ctype, SYM_PTR, 0, &bits_in_pointer, &pointer_alignment, &int_ctype },
{ &uint_ptr_ctype, SYM_PTR, 0, &bits_in_pointer, &pointer_alignment, &uint_ctype },
{ &long_ptr_ctype, SYM_PTR, 0, &bits_in_pointer, &pointer_alignment, &long_ctype },
{ &ulong_ptr_ctype, SYM_PTR, 0, &bits_in_pointer, &pointer_alignment, &ulong_ctype },
{ &llong_ptr_ctype, SYM_PTR, 0, &bits_in_pointer, &pointer_alignment, &llong_ctype },
{ &ullong_ptr_ctype,SYM_PTR, 0, &bits_in_pointer, &pointer_alignment, &ullong_ctype },
{ &const_ptr_ctype, SYM_PTR, 0, &bits_in_pointer, &pointer_alignment, &const_void_ctype },
{ &const_string_ctype,SYM_PTR, 0, &bits_in_pointer, &pointer_alignment, &const_char_ctype },
if (sym->type == SYM_PTR)
return type->type == SYM_PTR || type->type == SYM_ARRAY || type->type == SYM_FN;
case SYM_PTR:
case SYM_PTR: