]> git.ipfire.org Git - thirdparty/gcc.git/commit
[PATCH] [PATCH] Avoid integer overflow in gcc.dg/cpp/charconst-3.c (PR testsuite...
authorMikael Pettersson <mikpelinux@gmail.com>
Sun, 29 Sep 2024 16:15:55 +0000 (10:15 -0600)
committerJeff Law <jlaw@ventanamicro.com>
Sun, 29 Sep 2024 16:15:55 +0000 (10:15 -0600)
commit0cd24b06d130d99bd86e5e03a01c38047413a92e
tree1d9a963a055ff2059fc7e18ee968a99d2dc84043
parenta0f1f504b2c49a3695b91d3323d2e2419ef970db
[PATCH] [PATCH] Avoid integer overflow in gcc.dg/cpp/charconst-3.c (PR testsuite/116806)

The intermediate expression (unsigned char) '\234' * scale overflows
int on int16 targets, causing the test case to fail there.  Fixed by
performing the arithmetic in unsigned type, as suggested by Andrew Pinski.

Regression tested on x86_64-pc-linux-gnu, and on an out-of-tree 16-bit
target with simulator.  Manually checked the generated code for pdp11
and xstormy16.

Ok for trunk? (I don't have commit rights so I'd need help committing it.)

gcc/testsuite/

PR testsuite/116806
* gcc.dg/cpp/charconst-3.c: Perform arithmetic in unsigned
type to avoid integer overflow.
gcc/testsuite/gcc.dg/cpp/charconst-3.c