- if (simgrid::mc::execute(
- member->location_expression, &state))
- xbt_die("Error evaluating DWARF expression");
- if (state.stack_size == 0)
- xbt_die("No value on the stack");
- else
- return (void *) state.stack[state.stack_size - 1];
+ ExpressionStack stack;
+ stack.push((ExpressionStack::value_type) base);
+ simgrid::dwarf::execute(member->location_expression, state, stack);
+ return (void*) stack.top();
+}
+
+}