From ce10591c2048cc3c5e4979b15e14fecc2a384968 Mon Sep 17 00:00:00 2001 From: fche Date: Mon, 30 May 2005 21:28:44 +0000 Subject: 2005-05-30 Frank Ch. Eigler 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. --- testsuite/transok/three.stp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100755 testsuite/transok/three.stp (limited to 'testsuite/transok') diff --git a/testsuite/transok/three.stp b/testsuite/transok/three.stp new file mode 100755 index 00000000..ce94531c --- /dev/null +++ b/testsuite/transok/three.stp @@ -0,0 +1,27 @@ +#! stap + +function f1 (a, b) { + c = 1; + d = "hello"; + # poo[c] = bab[d] = "hi" + bab = "hi"; + bab = poo[c]; + return 0 +} + +function f2 () { + return f1 (4, "zoo"); +} + +global koo +global poo, bab + +probe z { + f2 (); + koo = 1 +} + +probe x,y { + f2 (); + f1 (f1 (3, "foo"), "canoe") +} -- cgit