Lines Matching defs:expr
895 struct expression *expr = sym->initializer;
898 if (expr->type != EXPR_VALUE)
900 ctype = expr->ctype;
901 val = get_expression_value(expr);
903 expr->ctype = &int_ctype;
906 cast_value(expr, base_type, expr, ctype);
907 expr->ctype = base_type;
921 struct expression *expr = NULL;
930 next = constant_expression(next->next, &expr);
931 lastval = get_expression_value(expr);
933 if (expr && expr->ctype)
934 ctype = expr->ctype;
943 if (!expr) {
944 expr = alloc_expression(token->pos, EXPR_VALUE);
945 expr->value = lastval;
946 expr->ctype = ctype;
952 sym->initializer = expr;
984 warning(expr->pos, "mixed bitwiseness");
987 sparse_error(expr->pos, "incompatible restricted type");
988 info(expr->pos, " expected: %s", show_typename(base_type));
989 info(expr->pos, " got: %s", show_typename(ctype));
1085 struct expression *expr = NULL;
1087 token = parens_expression(token, &expr, "in attribute");
1103 struct expression *expr = NULL;
1106 token = parens_expression(token, &expr, "in attribute");
1107 if (expr)
1108 alignment = const_expression_value(expr);
1161 struct expression *expr = NULL;
1168 next = primary_expression(token, &expr);
1169 if (expr->type != EXPR_VALUE)
1171 as = numerical_address_space(expr->value);
1317 struct expression *expr = NULL;
1323 token = parens_expression(token, &expr, "in attribute");
1408 struct expression *expr = NULL;
1409 token = parens_expression(token, &expr, "after _Alignas");
1410 if (!expr)
1412 alignment = const_expression_value(expr);
1601 struct expression *expr = NULL;
1617 token = assignment_expression(token, &expr);
1619 sym->array_size = expr;
1629 struct expression *expr;
1642 token = string_expression(token, &expr, "asm name");
1849 struct expression *expr;
1857 return conditional_expression(token->next, &expr);
1861 token = conditional_expression(token->next, &expr);
1862 width = const_expression_value(expr);
2000 token = parens_expression(token, &op->expr, "in asm parameter");
2009 struct expression *expr;
2012 token = primary_expression(token->next, &expr);
2013 if (expr)
2014 add_expression(clobbers, expr);
2094 static struct statement *make_statement(struct expression *expr)
2098 if (!expr)
2100 stmt = alloc_statement(expr->pos, STMT_EXPRESSION);
2101 stmt->expression = expr;
2277 struct expression *expr;
2281 token = parens_expression(token->next, &expr, "after 'while'");
2284 stmt->iterator_pre_condition = expr;
2294 struct expression *expr;
2303 token = parens_expression(token, &expr, "after 'do-while'");
2305 stmt->iterator_post_condition = expr;
2600 struct expression *expr = alloc_expression(token->pos, EXPR_IDENTIFIER);
2601 expr->expr_ident = token->ident;
2602 return expr;
2608 struct expression *expr = alloc_expression(from->pos, EXPR_INDEX);
2617 expr->idx_from = idx_from;
2618 expr->idx_to = idx_to;
2619 return expr;
2632 struct expression *expr = identifier_expression(token);
2635 token = initializer(&expr->ident_expression, next->next);
2636 if (expr->ident_expression)
2637 *ep = expr;
2643 struct expression *expr = identifier_expression(next);
2644 *tail = expr;
2645 tail = &expr->ident_expression;
2649 struct expression *from = NULL, *to = NULL, *expr;
2657 expr = index_expression(from, to);
2658 *tail = expr;
2659 tail = &expr->idx_expression;
2684 struct expression *expr;
2687 token = single_initializer(&expr, token);
2688 if (!expr)
2690 add_expression(list, expr);
2701 struct expression *expr = alloc_expression(token->pos, EXPR_INITIALIZER);
2702 *tree = expr;
2709 expr->zero_init = 1;
2713 token = initializer_list(&expr->expr_list, token->next);