summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Stone <jistone@redhat.com>2010-03-04 18:05:06 -0800
committerJosh Stone <jistone@redhat.com>2010-03-04 18:05:06 -0800
commitb26c8b318e9e3baa8b4038538bcb45cf6077571c (patch)
tree3ae4727891ebd3074dabdd147c5958272d4c0606
parentaa0be91ff9cdd708d2b501fb0dbf4cd070408b9e (diff)
downloadsystemtap-steved-b26c8b318e9e3baa8b4038538bcb45cf6077571c.tar.gz
systemtap-steved-b26c8b318e9e3baa8b4038538bcb45cf6077571c.tar.xz
systemtap-steved-b26c8b318e9e3baa8b4038538bcb45cf6077571c.zip
PR11346: Make @defined() independent of --skip-badvars
* tapsets.cxx (dwarf_var_expanding_visitor::visit_target_symbol): Don't squash target_symbol errors in the operand of @defined().
-rw-r--r--tapsets.cxx6
1 files changed, 3 insertions, 3 deletions
diff --git a/tapsets.cxx b/tapsets.cxx
index 90dedbe9..40835cae 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -2608,9 +2608,9 @@ dwarf_var_expanding_visitor::visit_target_symbol (target_symbol *e)
}
catch (const semantic_error& er)
{
- // NB: with --skip-badvars, @defined() still wins in that it may expand to 0
- // for nonexistent $variables.
- if (!q.sess.skip_badvars)
+ // NB: @defined() should maintain the same behavior whether or not
+ // --skip-badvars is enabled, so don't zero its errors. PR11346
+ if (!q.sess.skip_badvars || defined_being_checked)
{
// We suppress this error message, and pass the unresolved
// target_symbol to the next pass. We hope that this value ends