diff options
Diffstat (limited to 'spec/rtems/basedefs/if/obfuscate-variable.yml')
-rw-r--r-- | spec/rtems/basedefs/if/obfuscate-variable.yml | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/spec/rtems/basedefs/if/obfuscate-variable.yml b/spec/rtems/basedefs/if/obfuscate-variable.yml new file mode 100644 index 00000000..7ad18bef --- /dev/null +++ b/spec/rtems/basedefs/if/obfuscate-variable.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Obfuscates the variable so that the compiler cannot perform optimizations + based on the variable value. +copyrights: +- Copyright (C) 2016, 2018 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: | + (void) (_var) + variants: + - definition: | + ${/compiler/if/asm:/name}( "" : "+r" ( _var ) ) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: | + The variable must be simple enough to fit into a register. +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_OBFUSCATE_VARIABLE +notes: null +params: +- description: | + is the variable to obfuscate. + dir: null + name: _var +return: + return: null + return-values: [] +type: interface |