[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Arithmetic expression: evaluation order bug
From: |
Steffen Nurpmeso |
Subject: |
Re: Arithmetic expression: evaluation order bug |
Date: |
Thu, 29 Dec 2022 18:46:46 +0100 |
User-agent: |
s-nail v14.9.24-383-g2889cb06b9 |
Alain D D Williams wrote in
<20221229173548.GW16276@phcomp.co.uk>:
|On Thu, Dec 29, 2022 at 06:23:09PM +0100, Steffen Nurpmeso wrote:
|> Hello.
|>
|> Name: bash
|> Path: /usr/ports/core
|> Version: 5.2.15
|> Release: 1
|>
|> $ i=10 j=20;echo $(( i += j += i += j ));echo $i,$j
|> 60
|> 60,50
|> $ i=10 j=20;echo $(( i += j += i += i ));echo $i,$j
|> 50
|> 50,40
|
|You are modifying something that is used elsewhere in an expression. \
|I am not
|surprised that you do not get what you expect; others might expect \
|something
|different.
|
|At most there should be a note in the documentation that this sort of thing
|leads to undefined behaviour -- that is what happens in other languages.
|
|This is very much not a bug in bash.
I very much disagree. My mailer's $(()) evaluator also does this
right. (And busybox's one, if it gets accepted.)
|C does it differently. I would not be surprised to see different C \
|compilers
|produce different results or different results with different levels of
|optimisation.
Come on. Be a brave man.
--steffen
|
|Der Kragenbaer, The moon bear,
|der holt sich munter he cheerfully and one by one
|einen nach dem anderen runter wa.ks himself off
|(By Robert Gernhardt)
- Arithmetic expression: evaluation order bug, Steffen Nurpmeso, 2022/12/29
- Re: Arithmetic expression: evaluation order bug, Alain D D Williams, 2022/12/29
- Re: Arithmetic expression: evaluation order bug,
Steffen Nurpmeso <=
- Re: Arithmetic expression: evaluation order bug, Emanuele Torre, 2022/12/29
- Re: Arithmetic expression: evaluation order bug, Alain D D Williams, 2022/12/29
- Re: Arithmetic expression: evaluation order bug, Steffen Nurpmeso, 2022/12/29
- Re: Arithmetic expression: evaluation order bug, Alain D D Williams, 2022/12/29
- Re: Arithmetic expression: evaluation order bug, Andreas Schwab, 2022/12/29
- Re: Arithmetic expression: evaluation order bug, Steffen Nurpmeso, 2022/12/29
- Re: Arithmetic expression: evaluation order bug, Andreas Schwab, 2022/12/29
- Re: Arithmetic expression: evaluation order bug, Steffen Nurpmeso, 2022/12/29
- Re: Arithmetic expression: evaluation order bug, Andreas Schwab, 2022/12/29
- Re: Arithmetic expression: evaluation order bug, Steffen Nurpmeso, 2022/12/29