6.59.3 MeP Pragmas
custom io_volatile (on|off)- Переопределяет параметр командной строки
-mio-volatileдля текущего файла. Обратите внимание, что для совместимости с будущими версиями GCC этот параметр следует использовать только один раз перед любымиioпеременными в каждом файле. -
GCC coprocessor availableregisters - Указывает, какие регистры сопроцессора доступны для распределения регистров. registers может быть одним регистром, диапазоном регистров, разделенным эллипсами, или перечислением через запятую. Пример:
#pragma GCC coprocessor available $c0...$c10, $c28
-
GCC coprocessor call_savedregisters - Указывает, какие регистры сопроцессора должны сохраняться и восстанавливаться любой функцией, использующей их. registers может быть одним регистром, диапазоном регистров, разделенным эллипсами, или перечислением через запятую. Пример:
#pragma GCC coprocessor call_saved $c4...$c6, $c31
-
GCC coprocessor subclass '(A|B|C|D)' =registers - Создаёт и определяет класс регистров. Эти классы регистров могут использоваться встроенными
asmконструкциями. registers может быть одним регистром, диапазоном регистров, разделенным эллипсами, или перечислением через запятую. Пример:#pragma GCC coprocessor subclass 'B' = $c2, $c4, $c6 asm ("cpfoo %0" : "=B" (x)); -
GCC disinterruptname,name... - Для указанных функций компилятор добавляет код для отключения прерываний на время выполнения этих функций. Если какие-либо функции с таким именем не найдены в исходном коде, выводится предупреждение о том, что данный директива не используется. Примеры:
#pragma disinterrupt foo #pragma disinterrupt bar, grill int foo () { ... } -
GCC callname,name... - Для указанных функций компилятор всегда использует модель вызова с косвенной адресацией регистров при вызове этих функций. Примеры:
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.4/gcc/MeP-Pragmas.html