diff options
-rw-r--r-- | ir_constant_expression.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/ir_constant_expression.cpp b/ir_constant_expression.cpp index 022692b9c9..8e9e74bb7d 100644 --- a/ir_constant_expression.cpp +++ b/ir_constant_expression.cpp @@ -566,9 +566,9 @@ ir_constant_visitor::visit(ir_dereference_array *ir) void ir_constant_visitor::visit(ir_dereference_record *ir) { - (void) ir; - value = NULL; - /* FINISHME: Other dereference modes. */ + ir_constant *v = ir->record->constant_expression_value(); + + this->value = (v != NULL) ? v->get_record_field(ir->field) : NULL; } |