On Mon, Feb 01, 2016 at 03:30:49AM +0100, Nicolai Stange wrote: > Currently, the expression evaluation code explicitly opts out from > constness at evaluation if certain criteria regarding the subexpressions > are not matched. > > Instead of this active opt-out, we want to have subexpression constness > attributes to get propagated from child expressions to their parents in > the future. > > A prerequisite is that each expression's ->constexpr_flags is in a defined > state at all times. > > Set ->constexpr_flags to CONSTEXPR_FLAG_NONE at expression allocation time, > i.e. in alloc_expression() as well as in alloc_const_expression(). > > Signed-off-by: Nicolai Stange <nicstange@xxxxxxxxx> > --- > expression.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/expression.h b/expression.h > index 3725a73..8a943a4 100644 > --- a/expression.h > +++ b/expression.h > @@ -255,6 +255,7 @@ static inline struct expression *alloc_expression(struct position pos, int type) > struct expression *expr = __alloc_expression(0); > expr->type = type; > expr->pos = pos; > + expr->constexpr_flags = CONSTEXPR_FLAG_NONE; > return expr; > } > > @@ -265,6 +266,7 @@ static inline struct expression *alloc_const_expression(struct position pos, int > expr->pos = pos; > expr->value = value; > expr->ctype = &int_ctype; > + expr->constexpr_flags = CONSTEXPR_FLAG_NONE; > return expr; > } Fine for me. Feel free to add Reviewed-by: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html