diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7d061c807c..26cf18edb8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2017-12-08 Sergio Durigan Junior + + * dtrace-probe.c (dtrace_process_dof_probe): Do not declare a new + "expression_up" inside the TRY block. + 2017-12-08 Yao Qi * breakpoint.c (update_watchpoint): Call diff --git a/gdb/dtrace-probe.c b/gdb/dtrace-probe.c index 1c88f89054..3314445f98 100644 --- a/gdb/dtrace-probe.c +++ b/gdb/dtrace-probe.c @@ -486,17 +486,16 @@ dtrace_process_dof_probe (struct objfile *objfile, TRY { - expression_up expr - = parse_expression_with_language (type_str.c_str (), - language_c); + expr = parse_expression_with_language (type_str.c_str (), + language_c); } CATCH (ex, RETURN_MASK_ERROR) { } END_CATCH - if (expr != NULL && expr->elts[0].opcode == OP_TYPE) - type = expr->elts[1].type; + if (expr != NULL && expr.get ()->elts[0].opcode == OP_TYPE) + type = expr.get ()->elts[1].type; args.emplace_back (type, std::move (type_str), std::move (expr)); }