OSDN Git Service

Update gcc.dg/atomic-flag.c test for non-boolean TAS targets.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / atomic-flag.c
index 771df2c..1b76832 100644 (file)
@@ -1,27 +1,25 @@
 /* Test __atomic routines for existence and execution.  */
 /* { dg-do run } */
 
 /* Test __atomic routines for existence and execution.  */
 /* { dg-do run } */
 
-#include <stdbool.h>
-
 /* Test that __atomic_test_and_set and __atomic_clear builtins execute.  */
 
 extern void abort(void);
 /* Test that __atomic_test_and_set and __atomic_clear builtins execute.  */
 
 extern void abort(void);
-bool a;
+unsigned char a;
 
 main ()
 {
 
 main ()
 {
-  bool b;
+  int b;
 
   __atomic_clear (&a, __ATOMIC_RELAXED);
   if (a != 0)
     abort ();
 
   b = __atomic_test_and_set (&a, __ATOMIC_SEQ_CST);
 
   __atomic_clear (&a, __ATOMIC_RELAXED);
   if (a != 0)
     abort ();
 
   b = __atomic_test_and_set (&a, __ATOMIC_SEQ_CST);
-  if (a != 1 || b != 0)
+  if (a != __GCC_ATOMIC_TEST_AND_SET_TRUEVAL || b != 0)
     abort ();
 
   b = __atomic_test_and_set (&a, __ATOMIC_ACQ_REL);
     abort ();
 
   b = __atomic_test_and_set (&a, __ATOMIC_ACQ_REL);
-  if (b != 1 || a != 1)
+  if (a != __GCC_ATOMIC_TEST_AND_SET_TRUEVAL || b != 1)
     abort ();
 
   __atomic_clear (&a, __ATOMIC_SEQ_CST);
     abort ();
 
   __atomic_clear (&a, __ATOMIC_SEQ_CST);