summaryrefslogtreecommitdiffstats
path: root/tapsets.cxx
diff options
context:
space:
mode:
authorddomingo <ddomingo@redhat.com>2008-10-02 23:26:24 +1000
committerddomingo <ddomingo@redhat.com>2008-10-02 23:26:24 +1000
commit06af1f31b5cf2eacfee45d780d59059f56270a55 (patch)
tree0ca2c98fbd1f094553e9eefc6cf1ab7a75a1eb18 /tapsets.cxx
parent4125a78ae5fc99abb8606bf0eda2a08b3e2d300c (diff)
parentcaf566cb319004a314b09ea6fd6781941db89f8e (diff)
downloadsystemtap-steved-06af1f31b5cf2eacfee45d780d59059f56270a55.tar.gz
systemtap-steved-06af1f31b5cf2eacfee45d780d59059f56270a55.tar.xz
systemtap-steved-06af1f31b5cf2eacfee45d780d59059f56270a55.zip
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap
Diffstat (limited to 'tapsets.cxx')
-rw-r--r--tapsets.cxx6
1 files changed, 4 insertions, 2 deletions
diff --git a/tapsets.cxx b/tapsets.cxx
index b1475997..a5a62c7a 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -2241,7 +2241,8 @@ struct dwflpp
{
die = dwarf_formref_die (&attr_mem, &vardie);
stringstream alternatives;
- print_members(die,alternatives);
+ if (die != NULL)
+ print_members(die,alternatives);
throw semantic_error("unable to find local '" + local + "'"
+ " near pc " + lex_cast_hex<string>(pc)
+ (alternatives.str() == "" ? "" : (" (alternatives:" + alternatives.str () + ")")));
@@ -2317,7 +2318,8 @@ struct dwflpp
{
die = dwarf_formref_die (&attr_mem, vardie);
stringstream alternatives;
- print_members(die,alternatives);
+ if (die != NULL)
+ print_members(die,alternatives);
throw semantic_error("unable to find return value"
" near pc " + lex_cast_hex<string>(pc)
+ (alternatives.str() == "" ? "" : (" (alternatives:" + alternatives.str () + ")")));