summaryrefslogtreecommitdiffstats
path: root/staptree.cxx
diff options
context:
space:
mode:
authorfche <fche>2008-01-18 13:07:13 +0000
committerfche <fche>2008-01-18 13:07:13 +0000
commit5d23847db6a2b8ccacc992f76a1e387898047236 (patch)
tree2ef39e93d085222699019ca65a4b04fe5d598407 /staptree.cxx
parentc7bcf4514f821aafb8540ebe60f308c0bad1f2b6 (diff)
downloadsystemtap-steved-5d23847db6a2b8ccacc992f76a1e387898047236.tar.gz
systemtap-steved-5d23847db6a2b8ccacc992f76a1e387898047236.tar.xz
systemtap-steved-5d23847db6a2b8ccacc992f76a1e387898047236.zip
PR 4936: probe pont conditions part 2; reorg in prep for full rewriting
2008-01-17 Frank Ch. Eigler <fche@elastic.org> PR 4935. Reorganize probe condition implementation. * elaborate.cxx (add_condition): New function. (derived_probe): Remove condition member. (derived_probe ctors): Assert non-null incoming probe/location ptrs. (insert_condition_statement): Remove; turn into ... (semantic_pass_conditions): New pass-2 subpass. (semantic_pass_symbols, visit_symbol, visit_functioncall, find_var): Detect some condition-related error cases. (match_key): Change type to exp_type from tok_type. Update callers. (alias_expansion_builder): Propagate probe conditions. * staptree.cxx (probe): Remove condition field and related functions. * tapsets.cxx (dwarf_derived_probe ctor): Compute replacement wildcard-expanded probe_point preserving more of the original location. (mark_derived_probe ctor): Make similar to others - take location rather than condition parameters. * translate.cxx (emit_common_header): Tweak ordering of tmpcounter traversal and hashkey expression generation. * elaborate.h: Corresponding changes. 2008-01-17 Frank Ch. Eigler <fche@elastic.org> PR 4935. * semko/forty.stp, fortyone.stp, fortytwo.stp: New tests. * semok/twentynine.stp: Weaken test since condition expressions have become more tightly constrained.
Diffstat (limited to 'staptree.cxx')
-rw-r--r--staptree.cxx22
1 files changed, 1 insertions, 21 deletions
diff --git a/staptree.cxx b/staptree.cxx
index 8cd9ca83..ed2bc00e 100644
--- a/staptree.cxx
+++ b/staptree.cxx
@@ -89,7 +89,7 @@ probe_point::probe_point ():
unsigned probe::last_probeidx = 0;
probe::probe ():
- body (0), tok (0), condition (0)
+ body (0), tok (0)
{
this->name = string ("probe_") + lex_cast<string>(last_probeidx ++);
}
@@ -899,26 +899,6 @@ probe::collect_derivation_chain (std::vector<derived_probe*> &probes_list)
probes_list.push_back((derived_probe*)this);
}
-void
-probe::add_condition (expression* e)
-{
- if (e)
- {
- if (this->condition)
- {
- logical_and_expr *la = new logical_and_expr ();
- la->op = "&&";
- la->left = this->condition;
- la->right = e;
- la->tok = e->tok;
- this->condition = la;
- }
- else
- {
- this->condition = e;
- }
- }
-}
void probe_point::print (ostream& o) const
{