bc: fix handling of 'return' not in functions, and 'define f()<newline>{...}'
[oweals/busybox.git] / testsuite / bc_misc2.bc
1 define x() {
2 "x"
3 return ( 1 )
4 }
5 define y() {
6 "y"
7 return (2)
8 }
9 define z() {
10 "z"
11 return (3)
12 }
13
14 if ( x() == y() ) {1}
15 1
16 if ( x() <= y() ) {2}
17 if ( y() >= x() ) {3}
18 if ( x() != y() ) {4}
19 if ( x() < y() ) {5}
20 if ( y() > x() ) {6}
21
22 if ( x() == z() ) {11}
23 11
24 if ( x() <= z() ) {12}
25 if ( z() >= x() ) {13}
26 if ( x() != z() ) {14}
27 if ( x() < z() ) {15}
28 if ( z() > x() ) {16}
29
30 x = -10
31 while (x <= 0) {
32         x
33         if (x == -5) break;
34         x += 1
35 }
36
37 define u() {
38         auto a[];
39         return a[0]
40 }
41
42 u()
43
44 if (x == -4) x else x - 4