xref: /aosp_15_r20/external/bc/tests/fuzzing/bc_inputs1/array.bc (revision 5a6e848804d15c18a0125914844ee4eb0bda4fcf)
1*5a6e8488SAndroid Build Coastguard Worker#! /usr/bin/bc -q
2*5a6e8488SAndroid Build Coastguard Worker
3*5a6e8488SAndroid Build Coastguard Workerdefine z(a[]) {
4*5a6e8488SAndroid Build Coastguard Worker	for (i = 0; i < l; ++i) {
5*5a6e8488SAndroid Build Coastguard Worker		a[i]
6*5a6e8488SAndroid Build Coastguard Worker	}
7*5a6e8488SAndroid Build Coastguard Worker}
8*5a6e8488SAndroid Build Coastguard Worker
9*5a6e8488SAndroid Build Coastguard Workerdefine x(a[]) {
10*5a6e8488SAndroid Build Coastguard Worker
11*5a6e8488SAndroid Build Coastguard Worker	# Test for separate vars and arrays.
12*5a6e8488SAndroid Build Coastguard Worker	auto a
13*5a6e8488SAndroid Build Coastguard Worker
14*5a6e8488SAndroid Build Coastguard Worker	for (a = 0; a < l; ++a) {
15*5a6e8488SAndroid Build Coastguard Worker		a[a] = -a
16*5a6e8488SAndroid Build Coastguard Worker	}
17*5a6e8488SAndroid Build Coastguard Worker
18*5a6e8488SAndroid Build Coastguard Worker	z(a[])
19*5a6e8488SAndroid Build Coastguard Worker}
20*5a6e8488SAndroid Build Coastguard Worker
21*5a6e8488SAndroid Build Coastguard Workerdefine g(x[], y[]) {
22*5a6e8488SAndroid Build Coastguard Worker	return x[0] - y[0]
23*5a6e8488SAndroid Build Coastguard Worker}
24*5a6e8488SAndroid Build Coastguard Worker
25*5a6e8488SAndroid Build Coastguard Workerdefine h(y[], x[]) {
26*5a6e8488SAndroid Build Coastguard Worker	return g(x[], y[])
27*5a6e8488SAndroid Build Coastguard Worker}
28*5a6e8488SAndroid Build Coastguard Worker
29*5a6e8488SAndroid Build Coastguard Workerdefine m(*x[], *y[]) {
30*5a6e8488SAndroid Build Coastguard Worker	return x[0] / y[0]
31*5a6e8488SAndroid Build Coastguard Worker}
32*5a6e8488SAndroid Build Coastguard Worker
33*5a6e8488SAndroid Build Coastguard Workerdefine n(*y[], *x[]) {
34*5a6e8488SAndroid Build Coastguard Worker	return m(x[], y[])
35*5a6e8488SAndroid Build Coastguard Worker}
36*5a6e8488SAndroid Build Coastguard Worker
37*5a6e8488SAndroid Build Coastguard Workerfor (i = 0; i < 101; ++i) {
38*5a6e8488SAndroid Build Coastguard Worker	a[i] = i
39*5a6e8488SAndroid Build Coastguard Worker}
40*5a6e8488SAndroid Build Coastguard Worker
41*5a6e8488SAndroid Build Coastguard Workera[104] = 204
42*5a6e8488SAndroid Build Coastguard Worker
43*5a6e8488SAndroid Build Coastguard Workerl = length(a[])
44*5a6e8488SAndroid Build Coastguard Worker
45*5a6e8488SAndroid Build Coastguard Workerfor (i = 0; i <= l; ++i) {
46*5a6e8488SAndroid Build Coastguard Worker	a[i]
47*5a6e8488SAndroid Build Coastguard Worker}
48*5a6e8488SAndroid Build Coastguard Worker
49*5a6e8488SAndroid Build Coastguard Workerz(a[])
50*5a6e8488SAndroid Build Coastguard Workerx(a[])
51*5a6e8488SAndroid Build Coastguard Workerz(a[])
52*5a6e8488SAndroid Build Coastguard Workerl
53*5a6e8488SAndroid Build Coastguard Worker
54*5a6e8488SAndroid Build Coastguard Workerx[0] = 5
55*5a6e8488SAndroid Build Coastguard Workery[0] = 4
56*5a6e8488SAndroid Build Coastguard Worker
57*5a6e8488SAndroid Build Coastguard Workerh(x[], y[])
58*5a6e8488SAndroid Build Coastguard Workern(x[], y[])
59*5a6e8488SAndroid Build Coastguard Worker
60*5a6e8488SAndroid Build Coastguard Workerhalt
61