diff options
Diffstat (limited to 'tapsets.cxx')
-rw-r--r-- | tapsets.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/tapsets.cxx b/tapsets.cxx index 57429cbd..0ad6d5cf 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -2616,12 +2616,15 @@ var_expanding_copy_visitor::visit_target_symbol (target_symbol *e) bool lvalue = is_active_lvalue(e); if (lvalue && !q.sess.guru_mode) - throw semantic_error("Illegal target variable access", e->tok); + throw semantic_error("write to target variable not permitted", e->tok); string fname = (string(lvalue ? "set" : "get") + "_" + e->base_name.substr(1) + "_" + lex_cast<string>(tick++)); + if (q.has_return) + throw semantic_error ("target variables not available to .return probes"); + try { ec->code = q.dw.literal_stmt_for_local (scope_die, |