summaryrefslogtreecommitdiffstats
path: root/testsuite/semok
diff options
context:
space:
mode:
authorfche <fche>2005-05-30 21:28:44 +0000
committerfche <fche>2005-05-30 21:28:44 +0000
commitce10591c2048cc3c5e4979b15e14fecc2a384968 (patch)
tree09b4a09692e1810809091ad474e35e0b3f752a81 /testsuite/semok
parent4383d78cedb616af407f35c996c4eff808704ea6 (diff)
downloadsystemtap-steved-ce10591c2048cc3c5e4979b15e14fecc2a384968.tar.gz
systemtap-steved-ce10591c2048cc3c5e4979b15e14fecc2a384968.tar.xz
systemtap-steved-ce10591c2048cc3c5e4979b15e14fecc2a384968.zip
2005-05-30 Frank Ch. Eigler <fche@redhat.com>
More fully parse & elaborate "expr in array" construct. * staptree.h (array_in): Make this unary. Update .cxx to match. * parse.cxx (parse_array_in): Rewrite. (parse_symbol_plain): Removed. Update .h to match. * elaborate.cxx (typeresolution_info::visit_array_in): New function. (find_array): Tentatively, accept arity=0. * translate.cxx (c_unparser::c_assign): New functions to eliminate much ugly duplication. Use throughout. (visit_symbol): Correct function formal argument search. (c_tmpcounter*::visit): Add missing recursion in several functions. * testsuite/*: Add new tests for array-in construct. Add the first "transok" test. * Makefile.am: Add transok tests. * Makefile.in: Regenerated.
Diffstat (limited to 'testsuite/semok')
-rwxr-xr-xtestsuite/semok/seven.stp4
-rwxr-xr-xtestsuite/semok/ten.stp10
2 files changed, 12 insertions, 2 deletions
diff --git a/testsuite/semok/seven.stp b/testsuite/semok/seven.stp
index 8351c1e2..b9ce8cb9 100755
--- a/testsuite/semok/seven.stp
+++ b/testsuite/semok/seven.stp
@@ -7,7 +7,7 @@ function printk (s) { str=s.""; return 0 } # to become a built-in
function search (key)
{
- if (1) # (key in ar1)
+ if (key in ar1)
{ ar1[key] ++; return ar2[ar1[key]] }
else
return "no can do" # implies ar2[]: string
@@ -22,6 +22,6 @@ probe syscall("zamboni")
probe end
{
# for (key in ar2)
- if (1) # (key in ar2)
+ if (key in ar2)
printk ("this: " . string (key) . " was " . ar2[key])
}
diff --git a/testsuite/semok/ten.stp b/testsuite/semok/ten.stp
new file mode 100755
index 00000000..d56c2a4a
--- /dev/null
+++ b/testsuite/semok/ten.stp
@@ -0,0 +1,10 @@
+#! stap -p1
+
+global a1, a2, a3
+
+probe all
+{
+ a = "1" in a1;
+ a = ("1", a) in a2;
+ a = (a, a+a, a1[a], a2[0+a]) in a3;
+}