summaryrefslogtreecommitdiffstats
path: root/spec/rtems/basedefs/if/compiler-memory-barrier.yml
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rtems/basedefs/if/compiler-memory-barrier.yml')
-rw-r--r--spec/rtems/basedefs/if/compiler-memory-barrier.yml28
1 files changed, 28 insertions, 0 deletions
diff --git a/spec/rtems/basedefs/if/compiler-memory-barrier.yml b/spec/rtems/basedefs/if/compiler-memory-barrier.yml
new file mode 100644
index 00000000..709eb350
--- /dev/null
+++ b/spec/rtems/basedefs/if/compiler-memory-barrier.yml
@@ -0,0 +1,28 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ This macro forbids the compiler to reorder read and write commands around it.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+definition:
+ default: |
+ do { } while ( 0 )
+ variants:
+ - definition: |
+ ${/compiler/if/asm:/name} volatile( "" ::: "memory" )
+ enabled-by:
+ - defined(${/compiler/if/gnuc:/name})
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_COMPILER_MEMORY_BARRIER
+notes: null
+params: []
+return:
+ return: null
+ return-values: []
+type: interface