Spec-Zone.ru › GCC 10

Next: PRU Pragmas, Previous: M32C Pragmas, Up: Pragmas Принятые GCC [Содержание][Индекс]

6.62.4 MeP Pragmas ¶

custom io_volatile (on|off)

Переопределяет параметр командной строки -mio-volatile для текущего файла. Обратите внимание, что для совместимости с будущими версиями GCC этот параметр следует использовать только один раз перед любыми io переменными в каждом файле.

GCC coprocessor available registers

Указывает, какие регистры сопроцессора доступны распределителю регистров. registers может быть одиночным регистром, диапазоном регистров, разделенным эллипсами, или запятой, разделённым списком этих регистров. Пример:

#pragma GCC coprocessor available $c0...$c10, $c28
GCC coprocessor call_saved registers

Указывает, какие регистры сопроцессора должны сохраняться и восстанавливаться любой функцией, использующей их. 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 disinterrupt name , name …

Для указанных функций компилятор добавляет код для отключения прерываний на время выполнения этих функций. Если какие-либо функции с таким именем не встречены в исходном коде, выводится предупреждение о том, что директива не используется. Примеры:

#pragma disinterrupt foo
#pragma disinterrupt bar, grill
int foo () { … }
GCC call name , name …

Для указанных функций компилятор всегда использует модель вызова с косвенной адресацией регистра при вызове этих функций. Примеры:

extern int foo ();
#pragma call foo

Next: PRU Pragmas, Previous: M32C Pragmas, Up: Pragmas Принятые GCC [Содержание][Индекс]

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API