https://gcc.gnu.org/g:f3f1f9c1982cca783321c7c1adfc2481e35445b1
commit f3f1f9c1982cca783321c7c1adfc2481e35445b1 Author: Alexandre Oliva <ol...@adacore.com> Date: Tue Dec 17 03:09:30 2024 -0300 ifcombine field merge: adjust testcases [PR118025] There was a thinko in the testcase field-merge-9.c: I overcorrected it for big-endian. As a bonus, I'm including stdbool.h in field-merge-12.c, because I used bool without the header there. for gcc/testsuite/ChangeLog PR testsuite/118025 * field-merge-9.c (q): Drop overcorrection for big-endian. * field-merge-12.c: Include stdbool.h. Diff: --- gcc/testsuite/gcc.dg/field-merge-12.c | 2 ++ gcc/testsuite/gcc.dg/field-merge-9.c | 4 +--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/testsuite/gcc.dg/field-merge-12.c b/gcc/testsuite/gcc.dg/field-merge-12.c index 7056eb607e90..2c1e71ef6923 100644 --- a/gcc/testsuite/gcc.dg/field-merge-12.c +++ b/gcc/testsuite/gcc.dg/field-merge-12.c @@ -4,6 +4,8 @@ /* Check that we don't crash when trying to handle masks that don't match the width of the original type. */ +#include <stdbool.h> + struct s { long long q; }; diff --git a/gcc/testsuite/gcc.dg/field-merge-9.c b/gcc/testsuite/gcc.dg/field-merge-9.c index b9e08d8fa37d..04df54c2b74e 100644 --- a/gcc/testsuite/gcc.dg/field-merge-9.c +++ b/gcc/testsuite/gcc.dg/field-merge-9.c @@ -17,9 +17,7 @@ struct s2 { static const char le = __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ ? 1 : 0; struct s1 p = { { -!le , -le }, 42 }; -struct s2 q = { (le - ? -2 << (__CHAR_BIT__ - 1) - : -1 & ((1 << (__CHAR_BIT__ - 1) << 1) - 1)), 42 }; +struct s2 q = { -2 << (__CHAR_BIT__ - 1), 42 }; void f (void) { if (0