1287516Sdim/*===-- atomic_signal_fence.c -----------------------------------------------=== 2287516Sdim * 3287516Sdim * The LLVM Compiler Infrastructure 4287516Sdim * 5287516Sdim * This file is dual licensed under the MIT and the University of Illinois Open 6287516Sdim * Source Licenses. See LICENSE.TXT for details. 7287516Sdim * 8287516Sdim *===------------------------------------------------------------------------=== 9287516Sdim * 10287516Sdim * This file implements atomic_signal_fence from C11's stdatomic.h. 11287516Sdim * 12287516Sdim *===------------------------------------------------------------------------=== 13287516Sdim */ 14287516Sdim 15296417Sdim#ifndef __has_include 16296417Sdim#define __has_include(inc) 0 17296417Sdim#endif 18296417Sdim 19296417Sdim#if __has_include(<stdatomic.h>) 20296417Sdim 21287516Sdim#include <stdatomic.h> 22287516Sdim#undef atomic_signal_fence 23287516Sdimvoid atomic_signal_fence(memory_order order) { 24287516Sdim __c11_atomic_signal_fence(order); 25287516Sdim} 26296417Sdim 27296417Sdim#endif 28