diff options
author | fche <fche> | 2006-09-05 02:08:52 +0000 |
---|---|---|
committer | fche <fche> | 2006-09-05 02:08:52 +0000 |
commit | 9b48ce88f4a8aebb8ad176f4e7fe6bbbe36e1fe7 (patch) | |
tree | dcf516db39087ad7e66dcd647cf9a122fa326a4b /elaborate.cxx | |
parent | 331edd21f3c4f79fb71456d5550d75657b34b80f (diff) | |
download | systemtap-steved-9b48ce88f4a8aebb8ad176f4e7fe6bbbe36e1fe7.tar.gz systemtap-steved-9b48ce88f4a8aebb8ad176f4e7fe6bbbe36e1fe7.tar.xz systemtap-steved-9b48ce88f4a8aebb8ad176f4e7fe6bbbe36e1fe7.zip |
2006-09-04 Frank Ch. Eigler <fche@elastic.org>
Improve unresolved target-symbol error messages.
* staptree.h (target_symbol): Add new field saved_conversion_error.
* elaborate.cxx (typeresolution_info::visit_target_symbol): Throw
that if found instead of generic error.
* tapsets.cxx (t_v_f_c_v::visit_target_symbol): Set it.
Diffstat (limited to 'elaborate.cxx')
-rw-r--r-- | elaborate.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/elaborate.cxx b/elaborate.cxx index 957f5ea5..3fa5dda0 100644 --- a/elaborate.cxx +++ b/elaborate.cxx @@ -2173,7 +2173,10 @@ typeresolution_info::visit_target_symbol (target_symbol* e) // later unused-expression-elimination pass didn't get rid of it // either. So we have a target symbol that is believed to be of // genuine use, yet unresolved by the provider. - throw semantic_error("unresolved target-symbol expression", e->tok); + if (e->saved_conversion_error) + throw (* (e->saved_conversion_error)); + else + throw semantic_error("unresolved target-symbol expression", e->tok); } |