summaryrefslogtreecommitdiffstats
path: root/tapsets.cxx
diff options
context:
space:
mode:
authorJosh Stone <jistone@redhat.com>2009-04-27 14:29:19 -0700
committerJosh Stone <jistone@redhat.com>2009-04-27 14:48:56 -0700
commit27805741410ddb1e62f451cd8a71ad5b92ed7dd8 (patch)
tree6bd5d99aa6ae8005af4f80a25070e8a0c62c87be /tapsets.cxx
parent975a582b1274eb66088466a66a2eb2c3a70cf766 (diff)
downloadsystemtap-steved-27805741410ddb1e62f451cd8a71ad5b92ed7dd8.tar.gz
systemtap-steved-27805741410ddb1e62f451cd8a71ad5b92ed7dd8.tar.xz
systemtap-steved-27805741410ddb1e62f451cd8a71ad5b92ed7dd8.zip
Warn if trying to dereference an enum
In translate_components, give a cleaner warning about trying to dereference an enum type, rather than "unexpected type tag".
Diffstat (limited to 'tapsets.cxx')
-rw-r--r--tapsets.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/tapsets.cxx b/tapsets.cxx
index bc8df243..976540ed 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -2090,6 +2090,13 @@ struct dwflpp
++i;
break;
+ case DW_TAG_enumeration_type:
+ throw semantic_error ("field '"
+ + e->components[i].second
+ + "' vs. enum type "
+ + string(dwarf_diename_integrate (die) ?: "<anonymous type>"),
+ e->tok);
+ break;
case DW_TAG_base_type:
throw semantic_error ("field '"
+ e->components[i].second