From 38fd9c0aede86d99834dcc693370255652230a75 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Wed, 28 May 2008 17:11:00 -0700 Subject: Make sure that return statements don't override existing errors. --- ChangeLog | 6 ++++++ translate.cxx | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/ChangeLog b/ChangeLog index 28c34519..d0247242 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-05-28 Josh Stone + + PR 6529 + * translate.cxx (c_unparser::visit_return_statement): Make sure we + notice errors from evaluating return values. + 2008-05-28 David Smith * tapsets.cxx (utrace_derived_probe_group::emit_module_decls): diff --git a/translate.cxx b/translate.cxx index 1782abd1..58fa9182 100644 --- a/translate.cxx +++ b/translate.cxx @@ -2738,6 +2738,10 @@ c_unparser::visit_return_statement (return_statement* s) "vs", s->tok); c_assign ("l->__retvalue", s->value, "return value"); + + // make sure we reports errors from computing s->value + visit_statement (s, 0, false); + o->newline() << "c->last_error = \"\";"; // NB: last_error needs to get reset to NULL in the caller // probe/function -- cgit