1/*===-- atomic_flag_clear_explicit.c ----------------------------------------=== 2 * 3 * The LLVM Compiler Infrastructure 4 * 5 * This file is dual licensed under the MIT and the University of Illinois Open 6 * Source Licenses. See LICENSE.TXT for details. 7 * 8 *===------------------------------------------------------------------------=== 9 * 10 * This file implements atomic_flag_clear_explicit from C11's stdatomic.h. 11 * 12 *===------------------------------------------------------------------------=== 13 */ 14 15#ifndef __has_include 16#define __has_include(inc) 0 17#endif 18 19#if __has_include(<stdatomic.h>) 20 21#include <stdatomic.h> 22#undef atomic_flag_clear_explicit 23void atomic_flag_clear_explicit(volatile atomic_flag *object, 24 memory_order order) { 25 __c11_atomic_store(&(object)->_Value, 0, order); 26} 27 28#endif 29