diff options
author | fche <fche> | 2005-07-29 19:30:20 +0000 |
---|---|---|
committer | fche <fche> | 2005-07-29 19:30:20 +0000 |
commit | 398909a9aee8a55916e4b1cd8626826397250fc8 (patch) | |
tree | d1bacd907310efe5a00d7159829d919ac098c9b5 | |
parent | 044df7fa4377ecfa3202a925ff6c5b3a5d576186 (diff) | |
download | systemtap-steved-398909a9aee8a55916e4b1cd8626826397250fc8.tar.gz systemtap-steved-398909a9aee8a55916e4b1cd8626826397250fc8.tar.xz systemtap-steved-398909a9aee8a55916e4b1cd8626826397250fc8.zip |
2005-07-29 Frank Ch. Eigler <fche@redhat.com>
From Graydon Hoare <graydon@redhat.com:
* tapsets.cxx (var_expanding_copy_visitor): Correct lvalue cases.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | tapsets.cxx | 15 |
2 files changed, 14 insertions, 6 deletions
@@ -1,5 +1,10 @@ 2005-07-29 Frank Ch. Eigler <fche@redhat.com> + From Graydon Hoare <graydon@redhat.com: + * tapsets.cxx (var_expanding_copy_visitor): Correct lvalue cases. + +2005-07-29 Frank Ch. Eigler <fche@redhat.com> + * Makefile.am: Make sure stpd goes into libexec/systemtap/ * Makefile.in: Regenerated. diff --git a/tapsets.cxx b/tapsets.cxx index 824c4dd4..e6d1c7dd 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -1107,29 +1107,33 @@ var_expanding_copy_visitor void visit_pre_crement (pre_crement* e) { ++lval_depth; - e->operand->visit (this); + deep_copy_visitor::visit_pre_crement (e); --lval_depth; } void visit_post_crement (post_crement* e) { ++lval_depth; - e->operand->visit (this); + deep_copy_visitor::visit_post_crement (e); --lval_depth; } void visit_assignment (assignment* e) { + assignment* n = new assignment; + n->op = e->op; + n->tok = e->tok; ++lval_depth; - e->left->visit (this); + require <expression*> (this, &(n->left), e->left); --lval_depth; - e->right->visit (this); + require <expression*> (this, &(n->right), e->right); + provide <assignment*> (this, n); } void visit_delete_statement (delete_statement* s) { ++lval_depth; - s->value->visit (this); + deep_copy_visitor::visit_delete_statement (s); --lval_depth; } @@ -1428,7 +1432,6 @@ dwarf_builder::build(systemtap_session & sess, } - // ------------------------------------------------------------------------ // Standard tapset registry. // ------------------------------------------------------------------------ |