-
Notifications
You must be signed in to change notification settings - Fork 52
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e31dc84
commit d3e03ba
Showing
13 changed files
with
400 additions
and
86 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
// Copyright (c) Microsoft Corporation. All rights reserved. | ||
// | ||
// C11 atomic support routines: extern inline defitions | ||
#include <vcruntime_c11_atomic_support.h> | ||
|
||
extern inline void _Check_memory_order(const unsigned int _Order); | ||
extern inline void _Atomic_thread_fence(const unsigned int _Order); | ||
|
||
extern inline void _Atomic_store8(volatile char* _Ptr, char _Desired, int _Order); | ||
extern inline void _Atomic_store16(volatile short* _Ptr, short _Desired, int _Order); | ||
extern inline void _Atomic_store32(volatile int* _Ptr, int _Desired, int _Order); | ||
extern inline void _Atomic_store64(volatile long long* _Ptr, long long _Desired, int _Order); | ||
|
||
extern inline char _Atomic_load8(const volatile char* _Ptr, int _Order); | ||
extern inline short _Atomic_load16(const volatile short* _Ptr, int _Order); | ||
extern inline int _Atomic_load32(const volatile int* _Ptr, int _Order); | ||
extern inline long long _Atomic_load64(const volatile long long* _Ptr, int _Order); | ||
|
||
extern inline _Bool _Atomic_compare_exchange_strong8(volatile char* _Ptr, char* _Expected, char _Desired, int _Order); | ||
extern inline _Bool _Atomic_compare_exchange_strong16( | ||
volatile short* _Ptr, short* _Expected, short _Desired, int _Order); | ||
extern inline _Bool _Atomic_compare_exchange_strong32(volatile int* _Ptr, int* _Expected, int _Desired, int _Order); | ||
extern inline _Bool _Atomic_compare_exchange_strong64( | ||
volatile long long* _Ptr, long long* _Expected, long long _Desired, int _Order); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.