]> sourceware.org Git - systemtap.git/commitdiff
Handle implicit_pointer within translate_base_ref
authorRichard Henderson <rth@redhat.com>
Mon, 24 Jul 2017 18:13:46 +0000 (11:13 -0700)
committerRichard Henderson <rth@redhat.com>
Mon, 24 Jul 2017 18:13:46 +0000 (11:13 -0700)
dwflpp.cxx

index 66dfae2c0f2ab3df85cdf25838c08dce2158f5ab..9b517ddb7b6cf03cd6bb21707f3a3985168acda8 100644 (file)
@@ -3594,7 +3594,17 @@ dwflpp::translate_base_ref (location_context &ctx, Dwarf_Word byte_size,
                            ctx.e->tok);
 
     case loc_implicit_pointer:
+      if (loc->offset != 0)
+       throw SEMANTIC_ERROR (_("cannot handle offset into implicit pointer"),
+                             ctx.e->tok);
+      loc = loc->target;
+      if (loc)
+       {
+         ctx.locations.push_back(loc);
+         goto restart;
+       }
       throw SEMANTIC_ERROR (_("pointer optimized out"), ctx.e->tok);
+
     case loc_unavailable:
       throw SEMANTIC_ERROR (_("location not available"), ctx.e->tok);
     default:
This page took 1.80455 seconds and 5 git commands to generate.