summaryrefslogtreecommitdiffstats
path: root/loc2c-test.c
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2009-06-24 11:38:40 +0200
committerMark Wielaard <mjw@redhat.com>2009-06-24 11:40:58 +0200
commit123ed3dad4423edf313f3218b3d63804b7edfc47 (patch)
tree293ec8d52f843a63713c719478962c6edd0a1820 /loc2c-test.c
parent5f4c8c6ef761b6150d2d7d38fd601bec633f80f4 (diff)
downloadsystemtap-steved-123ed3dad4423edf313f3218b3d63804b7edfc47.tar.gz
systemtap-steved-123ed3dad4423edf313f3218b3d63804b7edfc47.tar.xz
systemtap-steved-123ed3dad4423edf313f3218b3d63804b7edfc47.zip
loc2c-test resolve through const and volatile types.
* loc2c-test.c (handle_variable): Resolve through DW_TAG_const_type and DW_TAG_volatile_type typetags.
Diffstat (limited to 'loc2c-test.c')
-rw-r--r--loc2c-test.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/loc2c-test.c b/loc2c-test.c
index a584c024..01edc805 100644
--- a/loc2c-test.c
+++ b/loc2c-test.c
@@ -255,7 +255,9 @@ handle_variable (Dwarf_Die *scopes, int nscopes, int out,
if (typedie == NULL)
error (2, 0, _("cannot get type of field: %s"), dwarf_errmsg (-1));
typetag = dwarf_tag (typedie);
- if (typetag != DW_TAG_typedef)
+ if (typetag != DW_TAG_typedef &&
+ typetag != DW_TAG_const_type &&
+ typetag != DW_TAG_volatile_type)
break;
if (dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem) == NULL)
error (2, 0, _("cannot get type of field: %s"), dwarf_errmsg (-1));