|
16 | 16 | #endif
|
17 | 17 |
|
18 | 18 | #define _LIBCPP_CHECK_STORE_MEMORY_ORDER(__m) \
|
19 |
| - _LIBCPP_DIAGNOSE_WARNING(__m == memory_order_consume || __m == memory_order_acquire || __m == memory_order_acq_rel, \ |
20 |
| - "memory order argument to atomic operation is invalid") |
| 19 | + _LIBCPP_DIAGNOSE_IF( \ |
| 20 | + "atomic-memory-ordering", \ |
| 21 | + "warning", \ |
| 22 | + "memory order argument to atomic operation is invalid", \ |
| 23 | + __m == memory_order_consume || __m == memory_order_acquire || __m == memory_order_acq_rel) |
21 | 24 |
|
22 | 25 | #define _LIBCPP_CHECK_LOAD_MEMORY_ORDER(__m) \
|
23 |
| - _LIBCPP_DIAGNOSE_WARNING(__m == memory_order_release || __m == memory_order_acq_rel, \ |
24 |
| - "memory order argument to atomic operation is invalid") |
| 26 | + _LIBCPP_DIAGNOSE_IF( \ |
| 27 | + "atomic-memory-ordering", \ |
| 28 | + "warning", \ |
| 29 | + "memory order argument to atomic operation is invalid", \ |
| 30 | + __m == memory_order_release || __m == memory_order_acq_rel) |
25 | 31 |
|
26 | 32 | #define _LIBCPP_CHECK_EXCHANGE_MEMORY_ORDER(__m, __f) \
|
27 |
| - _LIBCPP_DIAGNOSE_WARNING(__f == memory_order_release || __f == memory_order_acq_rel, \ |
28 |
| - "memory order argument to atomic operation is invalid") |
| 33 | + _LIBCPP_DIAGNOSE_IF( \ |
| 34 | + "atomic-memory-ordering", \ |
| 35 | + "warning", \ |
| 36 | + "memory order argument to atomic operation is invalid", \ |
| 37 | + __f == memory_order_release || __f == memory_order_acq_rel) |
29 | 38 |
|
30 | 39 | #define _LIBCPP_CHECK_WAIT_MEMORY_ORDER(__m) \
|
31 |
| - _LIBCPP_DIAGNOSE_WARNING(__m == memory_order_release || __m == memory_order_acq_rel, \ |
32 |
| - "memory order argument to atomic operation is invalid") |
| 40 | + _LIBCPP_DIAGNOSE_IF( \ |
| 41 | + "atomic-memory-ordering", \ |
| 42 | + "warning", \ |
| 43 | + "memory order argument to atomic operation is invalid", \ |
| 44 | + __m == memory_order_release || __m == memory_order_acq_rel) |
33 | 45 |
|
34 | 46 | #endif // _LIBCPP___ATOMIC_CHECK_MEMORY_ORDER_H
|
0 commit comments