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