summaryrefslogtreecommitdiffstats
path: root/staptree.h
diff options
context:
space:
mode:
authorfche <fche>2008-03-03 21:36:50 +0000
committerfche <fche>2008-03-03 21:36:50 +0000
commitb0be9bdb8c6972d847cad50a1e699f1fa806ad99 (patch)
tree66b3e148a84447d69f1340447c5edba8bf2055cd /staptree.h
parentaae3e9a9a9cb64560070de2d1de30b08252b1e81 (diff)
downloadsystemtap-steved-b0be9bdb8c6972d847cad50a1e699f1fa806ad99.tar.gz
systemtap-steved-b0be9bdb8c6972d847cad50a1e699f1fa806ad99.tar.xz
systemtap-steved-b0be9bdb8c6972d847cad50a1e699f1fa806ad99.zip
PR5516: assignment to $pointers
2008-03-03 Frank Ch. Eigler <fche@elastic.org> PR5516 * elaborate.cxx (symbol_fetcher, dead_assignment_remover): Support unresolved $target lvalues. Propagate pretty error messages. * staptree.cxx (varuse_collecting_visitor target_symbol): Ditto. * staptree.h: Corresponding decl. * loc2c.c: c_translate_pointer_store: New function. * loc2c.h: Corresponding decl. * tapsets.cxx (dwflpp::translate_final_fetch_or_store): Call it for $target pointer assignments. 2008-03-03 Frank Ch. Eigler <fche@elastic.org> PR5516 * buildok/twentynine.stp: New test.
Diffstat (limited to 'staptree.h')
-rw-r--r--staptree.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/staptree.h b/staptree.h
index acb56719..136472fd 100644
--- a/staptree.h
+++ b/staptree.h
@@ -222,7 +222,7 @@ struct symbol:
};
-struct target_symbol : public expression
+struct target_symbol: public symbol
{
enum component_type
{
@@ -749,6 +749,7 @@ struct varuse_collecting_visitor: public functioncall_traversing_visitor
void visit_print_format (print_format *e);
void visit_assignment (assignment *e);
void visit_arrayindex (arrayindex *e);
+ void visit_target_symbol (target_symbol *e);
void visit_symbol (symbol *e);
void visit_pre_crement (pre_crement *e);
void visit_post_crement (post_crement *e);