MeP Pragmas

6.59.3 MeP Pragmas

custom io_volatile (on|off)
Overrides the command-line option -mio-volatile for the current file. Note that for compatibility with future GCC releases, this option should only be used once before any io variables in each file.
GCC coprocessor available registers
Specifies which coprocessor registers are available to the register allocator. registers may be a single register, register range separated by ellipses, or comma-separated list of those. Example:
#pragma GCC coprocessor available $c0...$c10, $c28
GCC coprocessor call_saved registers
Specifies which coprocessor registers are to be saved and restored by any function using them. registers may be a single register, register range separated by ellipses, or comma-separated list of those. Example:
#pragma GCC coprocessor call_saved $c4...$c6, $c31
GCC coprocessor subclass '(A|B|C|D)' = registers
Creates and defines a register class. These register classes can be used by inline asm constructs. registers may be a single register, register range separated by ellipses, or comma-separated list of those. Example:
#pragma GCC coprocessor subclass 'B' = $c2, $c4, $c6

asm ("cpfoo %0" : "=B" (x));
GCC disinterrupt name , name ...
For the named functions, the compiler adds code to disable interrupts for the duration of those functions. If any functions so named are not encountered in the source, a warning is emitted that the pragma is not used. Examples:
#pragma disinterrupt foo
#pragma disinterrupt bar, grill
int foo () { ... }
GCC call name , name ...
For the named functions, the compiler always uses a register-indirect call model when calling the named functions. Examples:
extern int foo ();
#pragma call foo

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-4.9.3/gcc/MeP-Pragmas.html

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部