1 //===- subzero/crosstest/test_sync_atomic.h - Test prototypes ---*- C++ -*-===// 2 // 3 // The Subzero Code Generator 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 // 10 // This file declares the function prototypes for cross testing atomic 11 // intrinsics. 12 // 13 //===----------------------------------------------------------------------===// 14 15 #include "test_sync_atomic.def" 16 17 #define X(inst, type) \ 18 type test_##inst(bool fetch_first, volatile type *ptr, type a); \ 19 type test_alloca_##inst(bool fetch, volatile type *ptr, type a); \ 20 type test_const_##inst(bool fetch, volatile type *ptr, type ignored); 21 22 FOR_ALL_RMWOP_TYPES(X) 23 #undef X 24 25 #define X(type) \ 26 type test_val_cmp_swap(volatile type *ptr, type oldval, type newval); \ 27 type test_val_cmp_swap_loop(volatile type *ptr, type oldval, type newval); 28 29 ATOMIC_TYPE_TABLE 30 #undef X 31