| //===- subzero/crosstest/test_sync_atomic.h - Test prototypes ---*- C++ -*-===// | 
 | // | 
 | //                        The Subzero Code Generator | 
 | // | 
 | // This file is distributed under the University of Illinois Open Source | 
 | // License. See LICENSE.TXT for details. | 
 | // | 
 | //===----------------------------------------------------------------------===// | 
 | // | 
 | // This file declares the function prototypes for cross testing atomic | 
 | // intrinsics. | 
 | // | 
 | //===----------------------------------------------------------------------===// | 
 |  | 
 | #include "test_sync_atomic.def" | 
 |  | 
 | #define X(inst, type)                                                          \ | 
 |   type test_##inst(bool fetch_first, volatile type *ptr, type a);              \ | 
 |   type test_alloca_##inst(bool fetch, volatile type *ptr, type a);             \ | 
 |   type test_const_##inst(bool fetch, volatile type *ptr, type ignored); | 
 |  | 
 | FOR_ALL_RMWOP_TYPES(X) | 
 | #undef X | 
 |  | 
 | #define X(type)                                                                \ | 
 |   type test_val_cmp_swap(volatile type *ptr, type oldval, type newval);        \ | 
 |   type test_val_cmp_swap_loop(volatile type *ptr, type oldval, type newval); | 
 |  | 
 | ATOMIC_TYPE_TABLE | 
 | #undef X |