add a special order for volatile loads and stores
[c11tester.git] / impatomic.cc
index c10c43e596682a960896f1cef7380e1dea5de9f7..a25518030544acde77e682aaf6938ad4852265c1 100644 (file)
@@ -2,6 +2,7 @@
 #include "common.h"
 #include "model.h"
 #include "threads-model.h"
+#include "action.h"
 
 namespace std {
 
@@ -16,7 +17,7 @@ bool atomic_flag_test_and_set( volatile atomic_flag* __a__ )
 { return atomic_flag_test_and_set_explicit( __a__, memory_order_seq_cst ); }
 
 void atomic_flag_clear_explicit
-( volatile atomic_flag* __a__, memory_order __x__ )
+       ( volatile atomic_flag* __a__, memory_order __x__ )
 {
        volatile bool * __p__ = &((__a__)->__f__);
        model->switch_to_master(new ModelAction(ATOMIC_WRITE, __x__, (void *) __p__, false));
@@ -25,11 +26,15 @@ void atomic_flag_clear_explicit
 void atomic_flag_clear( volatile atomic_flag* __a__ )
 { atomic_flag_clear_explicit( __a__, memory_order_seq_cst ); }
 
-void __atomic_flag_wait__( volatile atomic_flag* __a__ )
-{ while ( atomic_flag_test_and_set( __a__ ) ); }
+void __atomic_flag_wait__( volatile atomic_flag* __a__ ) {
+       while ( atomic_flag_test_and_set( __a__ ) )
+               ;
+}
 
 void __atomic_flag_wait_explicit__( volatile atomic_flag* __a__,
-                                    memory_order __x__ )
-{ while ( atomic_flag_test_and_set_explicit( __a__, __x__ ) ); }
+                                                                                                                                               memory_order __x__ ) {
+       while ( atomic_flag_test_and_set_explicit( __a__, __x__ ))
+               ;
+}
 
 }