op_t
const struct op_t *op;
op_t y_op;
typeok_scalar_strict_bool(op_t op, const mod_t *mp, int arg,
is_typeok_strict_bool_binary(op_t op,
typeok_strict_bool_binary_compatible(op_t op, int arg,
op_t op = tn->tn_op;
tnode_t *build_binary(tnode_t *, op_t, bool, tnode_t *);
tnode_t *build_unary(op_t, bool, tnode_t *);
tnode_t *build_member_access(tnode_t *, op_t, bool, sbuf_t *);
bool typeok(op_t, const function_call *, int,
tnode_t *promote(op_t, bool, tnode_t *);
tnode_t *convert(op_t, int, type_t *, tnode_t *);
void convert_constant(op_t, int, const type_t *, val_t *, val_t *);
int lex_operator(int, op_t);
bool typeok_scalar_strict_bool(op_t, const mod_t *, int,
lex_operator(int t, op_t o)
op_t tn_op;
op_name(op_t op)
check_nonportable_char_comparison(op_t op,
check_integer_comparison(op_t op, tnode_t *ln, tnode_t *rn)
apply_usual_arithmetic_conversions(op_t op, tnode_t *tn, tspec_t t)
balance(op_t op, tnode_t **lnp, tnode_t **rnp)
fold_unsigned_integer(op_t op, uint64_t l, uint64_t r,
fold_signed_integer(op_t op, int64_t l, int64_t r,
build_struct_access(op_t op, bool sys, tnode_t *ln, tnode_t *rn)
op_t nop = rn->tn_type->t_bitfield ? FSEL : INDIR;
build_prepost_incdec(op_t op, bool sys, tnode_t *ln)
build_plus_minus(op_t op, bool sys, tnode_t *ln, tnode_t *rn)
build_bit_shift(op_t op, bool sys, tnode_t *ln, tnode_t *rn)
is_assignment(op_t op)
build_assignment(op_t op, bool sys, tnode_t *ln, tnode_t *rn)
build_real_imag(op_t op, bool sys, tnode_t *ln)
is_confusing_precedence(op_t op, const tnode_t *operand, op_t *cop)
op_t oop = operand->tn_op;
op_t cop;
build_binary(tnode_t *ln, op_t op, bool sys, tnode_t *rn)
build_unary(op_t op, bool sys, tnode_t *tn)
struct_or_union_member(tnode_t *tn, op_t op, sym_t *msym)
build_member_access(tnode_t *ln, op_t op, bool sys, sbuf_t *member)
typeok_incdec(op_t op, const tnode_t *tn, const type_t *tp)
typeok_address(op_t op, const tnode_t *tn, const type_t *tp, tspec_t t)
warn_incompatible_types(op_t op,
typeok_plus(op_t op,
typeok_minus(op_t op,
warn_incompatible_pointers(op_t op, const type_t *ltp, const type_t *rtp)
check_pointer_comparison(op_t op, const tnode_t *ln, const tnode_t *rn)
typeok_compare(op_t op,
typeok_assign(op_t op, const tnode_t *ln, const type_t *ltp, tspec_t lt)
typeok_scalar(op_t op, const mod_t *mp,
check_assign_void_pointer(op_t op, int arg,
check_assign_void_pointer_compat(op_t op, const function_call *call, int arg,
check_assign_pointer_integer(op_t op, int arg,
check_assign_pointer(op_t op, int arg,
warn_assign(op_t op, int arg,
check_assign_types_compatible(op_t op, const function_call *call, int arg,
op_t op = tn->tn_op;
typeok_op(op_t op, const function_call *call, int arg,
check_bad_enum_operation(op_t op, const tnode_t *ln, const tnode_t *rn)
check_enum_type_mismatch(op_t op, int arg, const tnode_t *ln, const tnode_t *rn)
check_enum_int_mismatch(op_t op, int arg, const tnode_t *ln, const tnode_t *rn)
typeok_enum(op_t op, const mod_t *mp, int arg,
typeok(op_t op, const function_call *call, int arg,
promote(op_t op, bool farg, tnode_t *tn)
op_t op, int arg, const type_t *tp, const tnode_t *tn)
op_t op, int arg, const type_t *tp, const tnode_t *tn)
convert_integer_from_integer(op_t op, int arg, tspec_t nt, tspec_t ot,
convert_integer_from_pointer(op_t op, tspec_t nt, type_t *tp, tnode_t *tn)
convert(op_t op, int arg, type_t *tp, tnode_t *tn)
convert_constant_from_floating(op_t op, int arg, const type_t *ntp,
warn_constant_truncated(op_t op, const val_t *v)
uint64_t xmask, op_t op)
const type_t *tp, op_t op)
convert_constant_check_range_signed(op_t op, int arg,
warn_constant_check_range_truncated(op_t op, int arg, const type_t *tp,
warn_constant_check_range_loss(op_t op, int arg, const type_t *tp,
op_t op, int arg, const val_t *v, val_t *nv)
convert_constant(op_t op, int arg, const type_t *ntp, val_t *nv, val_t *ov)
check_expr_op(op_t op, const tnode_t *ln, bool szof, bool fcall, bool eqwarn)
op_t op = tn->tn_op;
build_op(op_t op, bool sys, type_t *type, tnode_t *ln, tnode_t *rn)