summaryrefslogtreecommitdiffstats
path: root/testsuite/semok/ten.stp
diff options
context:
space:
mode:
authorfche <fche>2005-06-02 19:43:55 +0000
committerfche <fche>2005-06-02 19:43:55 +0000
commit69c68955b910a9f284fa25b9ebb30eff5c040e0b (patch)
tree3fa502458891d0b54150d678368f7a2dee18fa0f /testsuite/semok/ten.stp
parentf37b5c92191dd81aad57ade2899a4999099a3e35 (diff)
downloadsystemtap-steved-69c68955b910a9f284fa25b9ebb30eff5c040e0b.tar.gz
systemtap-steved-69c68955b910a9f284fa25b9ebb30eff5c040e0b.tar.xz
systemtap-steved-69c68955b910a9f284fa25b9ebb30eff5c040e0b.zip
2005-06-02 Frank Ch. Eigler <fche@redhat.com>
Parse foreach construct. Added fuller copyright notices throughout. * staptree.h (foreach_loop): New tree node type. * staptree.cxx: Print it, visit it, love it, leave it. * parse.cxx: Parse it. (parse_stmt_block): Don't require ";" separators between statements. (parse_array_in): Use [] as index group operator instead of (). * elaborate.cxx (visit_foreach_loop): New code. * translate.cxx: Slightly tighten errorcount/actioncount handling. * main.cxx: Accept "-" as script file name standing for stdin. (visit_arrayindex): Switch to simpler set_arity call. * configure.ac: Generate DATE macro. * Makefile.in, configure, config.in: Regenerated. * testsuite/*: New/updated tests for syntax changes, foreach ().
Diffstat (limited to 'testsuite/semok/ten.stp')
-rwxr-xr-xtestsuite/semok/ten.stp19
1 files changed, 12 insertions, 7 deletions
diff --git a/testsuite/semok/ten.stp b/testsuite/semok/ten.stp
index d56c2a4a..bb353a9f 100755
--- a/testsuite/semok/ten.stp
+++ b/testsuite/semok/ten.stp
@@ -1,10 +1,15 @@
-#! stap -p1
+#! stap -p2
-global a1, a2, a3
+global arr,rra
-probe all
-{
- a = "1" in a1;
- a = ("1", a) in a2;
- a = (a, a+a, a1[a], a2[0+a]) in a3;
+probe begin {
+ arr["key"]=0
+ rra[0]="value"
+}
+probe end {
+ # confirm that typechecking works the same way for all array indexing
+ if (k in arr) { k.""; arr[k]+0 }
+ foreach (l in arr) { l.""; arr[l]+0 }
+ if (m in rra) { m+0; rra[m]."" }
+ foreach (n in rra) { n+0; rra[n]."" }
}