Lines Matching defs:target
43 #include "target.h"
308 static int cast_flags(struct expression *expr, struct expression *target);
1298 struct symbol *target = expr->left->ctype;
1301 int tclass = classify_type(target, &t);
1314 expr->right = cast_to(expr->right, target);
1325 target = integer_promotion(t);
1332 if (target->bit_size > source->bit_size)
1338 /* source and target would better be identical restricted */
1344 expr->right = cast_to(expr->right, target);
1361 target = usual_conversions(op, expr->left, expr->right,
1362 tclass, sclass, target, source);
1364 expr->right = cast_to(expr->right, target);
1389 static int check_assignment_types(struct symbol *target, struct expression **rp,
1394 int tclass = classify_type(target, &t);
1402 if (!restricted_value(*rp, target))
1462 /* It's OK if the target is more volatile or const than the source */
1463 /* It's OK if the source is more pure/noreturn than the target */
1486 *rp = cast_to(*rp, target);
1490 static int compatible_assignment_types(struct expression *expr, struct symbol *target,
1495 if (!check_assignment_types(target, rp, &typediff)) {
1498 info(expr->pos, " expected %s", show_typename(target));
1500 *rp = cast_to(*rp, target);
1507 static int compatible_transparent_union(struct symbol *target,
1511 classify_type(target, &t);
1524 static int compatible_argument_type(struct expression *expr, struct symbol *target,
1527 if (compatible_transparent_union(target, rp))
1530 return compatible_assignment_types(expr, target, rp, where);
1806 struct symbol *ctype = op->ctype, *node, *target;
1821 target = ctype->ctype.base_type;
1831 examine_symbol_type(target);
1833 node->ctype.modifiers = target->ctype.modifiers & MOD_SPECIFIER;
1856 node->bit_size = target->bit_size;
1857 node->array_size = target->array_size;
1887 struct symbol *target = examine_pointer_target(ctype);
1888 if (!is_function(target))
1889 multiply = bits_to_bytes(target->bit_size);
2336 struct symbol *ctype, *target;
2342 target = argtype;
2343 if (!target) {
2357 } else if (!target->forced_arg){
2359 examine_symbol_type(target);
2361 compatible_argument_type(expr, target, p, where);