summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/expression.h13
-rw-r--r--src/evaluate.c4
2 files changed, 4 insertions, 13 deletions
diff --git a/include/expression.h b/include/expression.h
index 66c215a2..f0eb7993 100644
--- a/include/expression.h
+++ b/include/expression.h
@@ -133,16 +133,14 @@ struct expr_ops {
/**
* enum expr_flags
*
- * @EXPR_F_PRIMARY: primary expression
* @EXPR_F_CONSTANT: constant expression
* @EXPR_F_SINGLETON: singleton (implies primary and constant)
* @EXPR_F_INTERVAL_END: set member ends an open interval
*/
enum expr_flags {
- EXPR_F_PRIMARY = 0x1,
- EXPR_F_CONSTANT = 0x2,
- EXPR_F_SINGLETON = 0x4,
- EXPR_F_INTERVAL_END = 0x8,
+ EXPR_F_CONSTANT = 0x1,
+ EXPR_F_SINGLETON = 0x2,
+ EXPR_F_INTERVAL_END = 0x4,
};
#include <payload.h>
@@ -269,11 +267,6 @@ extern int expr_binary_error(struct eval_ctx *ctx,
#define expr_error(ctx, expr, fmt, args...) \
expr_binary_error(ctx, expr, NULL, fmt, ## args)
-static inline bool expr_is_primary(const struct expr *expr)
-{
- return expr->flags & EXPR_F_PRIMARY ? true : false;
-}
-
static inline bool expr_is_constant(const struct expr *expr)
{
return expr->flags & EXPR_F_CONSTANT ? true : false;
diff --git a/src/evaluate.c b/src/evaluate.c
index 7aee41b3..638a0fcb 100644
--- a/src/evaluate.c
+++ b/src/evaluate.c
@@ -253,9 +253,7 @@ static int expr_evaluate_value(struct eval_ctx *ctx, struct expr **expr)
*/
static int expr_evaluate_primary(struct eval_ctx *ctx, struct expr **expr)
{
- ctx->ectx.dtype = (*expr)->dtype;
- ctx->ectx.len = (*expr)->len;
- (*expr)->flags |= EXPR_F_PRIMARY;
+ expr_set_context(&ctx->ectx, (*expr)->dtype, (*expr)->len);
return 0;
}