On 9/5/26 8:58 PM, Matt Turner wrote:
The i370/s390 and vax sdiv_qrnnd macros expand n1 and n0 without
parentheses, so an argument containing a comma or an assignment is
misparsed. Every other use of these parameters in the file is already
parenthesized; libgcrypt fixed the same two sites in its copy.
Both blocks are 32-bit only and no in-tree caller passes such an
expression, so this is a latent bug fixed by inspection. The i370/s390
block compiles to identical assembly before and after with
s390x-linux-gnu-gcc -m31; there is no vax compiler here.
include/ChangeLog:
* longlong.h [__i370__, __s390__, __mvs__] (sdiv_qrnnd): Wrap
the n1 and n0 macro parameters in parentheses.
[__vax__] (sdiv_qrnnd): Likewise.
Thanks. I've pushed this to the trunk.
jeff