widl: Fix the EXPR_ADDRESSOF case in resolve_expression.
Gerald Pfeifer
gerald at pfeifer.com
Mon Jun 29 17:21:08 CDT 2015
So, this is a case where either indentation is incorrect (and the
code weird) or this should be a compound statement (and then I am
not sure why we need the assignment given that !result.is_variable).
Gerald
---
tools/widl/expr.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tools/widl/expr.c b/tools/widl/expr.c
index 7012382..2d79983 100644
--- a/tools/widl/expr.c
+++ b/tools/widl/expr.c
@@ -568,10 +568,12 @@ static struct expression_type resolve_expression(const struct expr_loc *expr_loc
case EXPR_ADDRESSOF:
result = resolve_expression(expr_loc, cont_type, e->ref);
if (!result.is_variable)
+ {
error_loc_info(&expr_loc->v->loc_info, "address-of operator applied to non-variable type in expression%s%s\n",
expr_loc->attr ? " for attribute " : "",
expr_loc->attr ? expr_loc->attr : "");
result.is_variable = FALSE;
+ }
result.is_temporary = TRUE;
result.type = type_new_pointer(RPC_FC_UP, result.type, NULL);
break;
--
2.4.2
More information about the wine-patches
mailing list