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

Reply via email to