]> sourceware.org Git - systemtap.git/commitdiff
2007-03-07 Frank Ch. Eigler <fche@elastic.org>
authorfche <fche>
Wed, 7 Mar 2007 15:45:23 +0000 (15:45 +0000)
committerfche <fche>
Wed, 7 Mar 2007 15:45:23 +0000 (15:45 +0000)
PR 4166.
* tapsets.cxx (translate_components): Throw an exception rather
then suffer an assertion failure for $ptr[index] expressions.

ChangeLog
tapsets.cxx

index ff13b4a6f175ad11afbab0321b77b2e6666df585..45e854f8ed33a292092edf34ddcf2709ed8b7031 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-03-07  Frank Ch. Eigler  <fche@elastic.org>
+
+       PR 4166.
+       * tapsets.cxx (translate_components): Throw an exception rather
+       then suffer an assertion failure for $ptr[index] expressions.
+
 2007-03-05  David Smith  <dsmith@redhat.com>
 
        * systemtap.spec.in: Made example perl script non-executable so
index a156ca7fc9e6500016b592789b1ffbe0e2a05104..2ca2457393827be6af41b441b175edc6753c1742 100644 (file)
@@ -1440,7 +1440,9 @@ struct dwflpp
 
          case DW_TAG_pointer_type:
            if (components[i].first == target_symbol::comp_literal_array_index)
-             goto subscript;
+              throw semantic_error ("cannot index pointer");
+            // XXX: of course, we should support this the same way C does,
+            // by explicit pointer arithmetic etc.
 
            c_translate_pointer (pool, 1, module_bias, die, tail);
            break;
@@ -1448,7 +1450,6 @@ struct dwflpp
          case DW_TAG_array_type:
            if (components[i].first == target_symbol::comp_literal_array_index)
              {
-             subscript:
                c_translate_array (pool, 1, module_bias, die, tail,
                                   NULL, lex_cast<Dwarf_Word>(components[i].second));
                ++i;
This page took 0.044713 seconds and 5 git commands to generate.