Lines Matching defs:value
65 expr->value = 0;
85 long long value = expr->value;
88 if (!(value & mask))
94 return (value & andmask) | ormask;
102 long long value, mask, signmask;
108 // For pointers and integers, we can just move the value around
112 expr->value = old->value;
116 // expand it to the full "long long" value
117 value = get_longlong(old);
122 expr->value = !!value;
123 if (!conservative && value != 0 && value != 1)
124 warning(old->pos, "odd constant _Bool cast (%llx becomes 1)", value);
131 expr->value = value & mask;
143 if (value & dropped) {
144 if (!(value & oldsignmask) || !(value & signmask) || (value & dropped) != dropped)
145 warning(old->pos, "cast truncates bits from constant value (%llx becomes %llx)",
146 value & oldmask,
147 value & mask);
153 value = (long long)old->fvalue;
200 r = right->value;
207 l = left->value; r = right->value;
293 expr->value = v & mask;
315 l = left->value; r = right->value;
323 case '<': expr->value = sl < sr; break;
324 case '>': expr->value = sl > sr; break;
325 case SPECIAL_LTE: expr->value = sl <= sr; break;
326 case SPECIAL_GTE: expr->value = sl >= sr; break;
327 case SPECIAL_EQUAL: expr->value = l == r; break;
328 case SPECIAL_NOTEQUAL: expr->value = l != r; break;
329 case SPECIAL_UNSIGNED_LT:expr->value = l < r; break;
330 case SPECIAL_UNSIGNED_GT:expr->value = l > r; break;
331 case SPECIAL_UNSIGNED_LTE:expr->value = l <= r; break;
332 case SPECIAL_UNSIGNED_GTE:expr->value = l >= r; break;
399 case '<': expr->value = l < r; break;
400 case '>': expr->value = l > r; break;
401 case SPECIAL_LTE: expr->value = l <= r; break;
402 case SPECIAL_GTE: expr->value = l >= r; break;
403 case SPECIAL_EQUAL: expr->value = l == r; break;
404 case SPECIAL_NOTEQUAL: expr->value = l != r; break;
434 if (!left->value) {
436 expr->value = 0;
441 if (left->value) {
443 expr->value = 1;
454 * We know the left value doesn't matter, since
458 expr->value = right->value != 0;
530 expr->value = compare_types(op, left->symbol, right->symbol);
552 if (!cond->value)
632 // lookup a suitable default initializer value at the requested offset
635 static struct expression value;
656 value.type = EXPR_VALUE;
658 value.type = EXPR_FVALUE;
662 value.ctype = type;
663 return &value;
667 * Look up a trustable initializer value at the requested offset.
669 * Return NULL if no such value can be found or statically trusted.
673 struct expression *value;
677 value = sym->initializer;
678 if (!value)
680 if (value->type == EXPR_INITIALIZER) {
682 FOR_EACH_PTR(value->expr_list, entry) {
695 value = default_initializer(sym, offset);
697 return value;
726 offset += right->value;
733 struct expression *value = constant_symbol_value(sym, offset);
736 if (value && value->ctype) {
737 if (ctype->bit_size != value->ctype->bit_size)
739 if (value->type == EXPR_VALUE) {
742 if (is_bitfield_type(value->ctype))
745 expr->value = value->value;
748 } else if (value->type == EXPR_FVALUE) {
752 expr->fvalue = value->fvalue;
773 v = op->value;
786 expr->value = v & mask;
1072 // an array with some default value and then override
1184 expr->value = 0;
1228 simple = expr->value ? stmt->if_true : stmt->if_false;
1376 long long value, mask;
1397 value = expr->value;
1400 if (value & mask) {
1404 value = value | mask | ~(mask-1);
1406 return value;
1447 return expr->value != 0;
1461 return expr->type == EXPR_VALUE && !expr->value;