From 313b2f74ad5b3e54dc1b24d15f29e7bbe9548305 Mon Sep 17 00:00:00 2001 From: graydon Date: Wed, 20 Jul 2005 23:51:17 +0000 Subject: 2005-07-20 Graydon Hoare * elaborate.{cxx,h} (find_array): Remove. (find_scalar): Rename to find_var, add array support. * staptree.{cxx,h} (vardecl::compatible_arity): New method. * translate.cxx: Refactor, add array read/write support. * testsuite/transok/three.stp: Uncomment array uses. * testsuite/transok/seven.stp: New test of array r/w. --- testsuite/transok/seven.stp | 19 +++++++++++++++++++ testsuite/transok/three.stp | 4 +++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100755 testsuite/transok/seven.stp (limited to 'testsuite') diff --git a/testsuite/transok/seven.stp b/testsuite/transok/seven.stp new file mode 100755 index 00000000..0c0e00d7 --- /dev/null +++ b/testsuite/transok/seven.stp @@ -0,0 +1,19 @@ +#! stap -p3 +# +# run at -p4 if you want to test the array temporary +# subexpression variable assignment order is good + +global foo, bar + +probe begin +{ + x = 10 + foo["hello"] = 25 + foo["hello"]++ + ++foo["hello"] + x = foo["hello"] + foo["yo"] *= bar[x, foo["hello"], "goodbye"]++; + printk("hello from systemtap") +} + + diff --git a/testsuite/transok/three.stp b/testsuite/transok/three.stp index 475b832f..6e99b640 100755 --- a/testsuite/transok/three.stp +++ b/testsuite/transok/three.stp @@ -1,11 +1,13 @@ #! stap -p3 +global poo + function f1 (a, b) { c = 1; d = "hello"; # poo[c] = bab[d] = "hi" bab = "hi"; - # bab = poo[c]; + bab = poo[c]; return 0 } -- cgit