fix gcc.dg/sync-2.c for ppc

Richard Henderson rth@twiddle.net
Fri Jun 17 21:01:00 GMT 2005


Silly unsigned chars.

Does Darwin use a signed char or something?  Sorta surprising that
Geoff would commit a test that doesn't work on ppc...


r~


        * gcc.dg/sync-2.c (do_qi): Cast negative results to char.

Index: gcc.dg/sync-2.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/sync-2.c,v
retrieving revision 1.2
diff -u -p -r1.2 sync-2.c
--- gcc.dg/sync-2.c	3 Jun 2005 02:35:59 -0000	1.2
+++ gcc.dg/sync-2.c	17 Jun 2005 20:56:40 -0000
@@ -23,7 +23,7 @@ do_qi (void)
     abort ();
   if (__sync_fetch_and_sub(AI+7, 12) != 0)
     abort ();
-  if (__sync_fetch_and_and(AI+8, 7) != -1)
+  if (__sync_fetch_and_and(AI+8, 7) != (char)-1)
     abort ();
   if (__sync_fetch_and_or(AI+9, 8) != 0)
     abort ();
@@ -34,7 +34,7 @@ do_qi (void)
 
   if (__sync_add_and_fetch(AI+12, 1) != 1)
     abort ();
-  if (__sync_sub_and_fetch(AI+13, 12) != -12)
+  if (__sync_sub_and_fetch(AI+13, 12) != (char)-12)
     abort ();
   if (__sync_and_and_fetch(AI+14, 7) != 7)
     abort ();



More information about the Gcc-patches mailing list