Spec-Zone.ru › GCC 6

6.61.4 MeP Директивы

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

Далее: Директивы RS/6000 и PowerPC, Предыдущее: Директивы M32C, Наверх: Директивы [Содержание][Индекс]

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

Spec-Zone.ru

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