diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2010-02-25 13:33:28 -0500 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2010-02-25 13:38:50 -0500 |
commit | c69a87e094e5e66daee8399838c8475f023ddc04 (patch) | |
tree | 4136d58cbebed28ccd40d3d983aac8179ed6ce1f /staptree.h | |
parent | e7227e90cd1414b2d02884617da0346134892526 (diff) | |
download | systemtap-steved-c69a87e094e5e66daee8399838c8475f023ddc04.tar.gz systemtap-steved-c69a87e094e5e66daee8399838c8475f023ddc04.tar.xz systemtap-steved-c69a87e094e5e66daee8399838c8475f023ddc04.zip |
PR11005: @defined part 2: clarify/standardize internal handling of unresolvable $variables
* staptree.cxx (target_symbol::chain): New function.
* staptree.h: Declare it.
* (*): Use it instead of hand-chaining to target_symbol->saved_conversion_error.
* tapset-mark.cxx (*::visit_target_symbol): Chain resolution error object,
do not throw.
* tapset-procfs.cxx (*::visit_target_symbol): Ditto.
* tapset-utrace.cxx (*::visit_target_symbol): Ditto.
* tapsets.cxx (*::visit_target_symbol): Ditto.
(*::visit_defined_op): Explain & enforce the above.
* testsuite/semok/thirtysix.stp: Expand.
* testsuite/systemtap.base/sdt_misc.exp: Bonus fix: make work with blddir != srcdir.
Diffstat (limited to 'staptree.h')
-rw-r--r-- | staptree.h | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -255,8 +255,9 @@ struct target_symbol: public symbol std::string base_name; std::vector<component> components; std::string probe_context_var; // NB: this being set implies that target_symbol is *resolved* - semantic_error* saved_conversion_error; + semantic_error* saved_conversion_error; // hand-made linked list target_symbol(): addressof(false), saved_conversion_error (0) {} + void chain (semantic_error* e); void print (std::ostream& o) const; void visit (visitor* u); void visit_components (visitor* u); |