]> git.ipfire.org Git - thirdparty/bash.git/blame - tests/arith6.sub
Bash-4.3 patch 7
[thirdparty/bash.git] / tests / arith6.sub
CommitLineData
ac50fbac
CR
1function reorder
2{
3 (( x[1] < x && (x=x[1], x[1]=$x) ))
4 echo "${x[@]}"
5}
6
7x=(123 456)
8reorder
9x=(456 123)
10reorder
11
12unset x
13unset -f reorder
14
15function reorder
16{
17 (( x[1] < x[0] && (x=x[1], x[1]=$x) ))
18 echo "${x[@]}"
19}
20
21x=(123 456)
22reorder
23x=(456 123)
24reorder
25
26unset x
27unset -f reorder
28
29function reorder
30{
31 (( x[1] < x[0] && (x[0]=x[1], x[1]=$x) ))
32 echo "${x[@]}"
33}
34
35x=(123 456)
36reorder
37x=(456 123)
38reorder
39
40unset -f reorder
41
42n=0 ; (( (a[n]=++n)<7&&a[0])); echo "${a[@]:1}"
43
44n=0 a="(a[n]=++n)<7&&a[0]"; ((a[0])); echo "${a[@]:1}"
45
46n=0 a="(a[n]=n++)<7&&a"; ((a)); echo "${a[@]:1}"
47
48# bugs with lvalue caching and pointer aliasing through bash-4.2
49echo $(( a=(y[0] + y[1]) & 0xff, b=(y[2] + y[3]) & 0xff, a << 8 | b))
50echo $a, $b
51((a = y[0], b = 1 ))
52echo $a, $b