aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/dtrace-probe.c9
2 files changed, 9 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 7d061c8..26cf18e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2017-12-08 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * dtrace-probe.c (dtrace_process_dof_probe): Do not declare a new
+ "expression_up" inside the TRY block.
+
2017-12-08 Yao Qi <yao.qi@linaro.org>
* breakpoint.c (update_watchpoint): Call
diff --git a/gdb/dtrace-probe.c b/gdb/dtrace-probe.c
index 1c88f89..3314445 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));
}