Hi,

As PR116148#c7 shows, fam-in-union-alone-in-struct-2.c still
fails on hppa which is a BE environment, but by checking more
(also confirmed by John in PR116148#c12), it's due to that
signedness of plain char on hppa is signed therefore the value
of with_fam_3_v.a[7] "8f" get sign extended as "ffffff8f" then
the verification will fail.  This patch is to change plain char
with unsigned char to avoid that.

Tested well powerpc64-linux-gnu (BE) and powerpc64le-linux-gnu
(LE), also confirmed to work on hppa by John.

Is it ok for trunk?

BR,
Kewen
-----
        PR testsuite/116148

gcc/testsuite/ChangeLog:

        * c-c++-common/fam-in-union-alone-in-struct-2.c: Change the type of
        member a[] of union with_fam_3 with unsigned char.
---
 gcc/testsuite/c-c++-common/fam-in-union-alone-in-struct-2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/testsuite/c-c++-common/fam-in-union-alone-in-struct-2.c 
b/gcc/testsuite/c-c++-common/fam-in-union-alone-in-struct-2.c
index 3743f9e7dac..920b4c4b7a7 100644
--- a/gcc/testsuite/c-c++-common/fam-in-union-alone-in-struct-2.c
+++ b/gcc/testsuite/c-c++-common/fam-in-union-alone-in-struct-2.c
@@ -14,7 +14,7 @@ union with_fam_2 {
 } with_fam_2_v = {.a = 0x1f2f3f4f};

 union with_fam_3 {
-  char a[];
+  unsigned char a[];
   int b[];
 } with_fam_3_v = {.b = {0x1f2f3f4f, 0x5f6f7f7f}};

--
2.39.1

Reply via email to