6.4.1.15 Атрибуты функций M32R/D
В бэкенде M32R/D поддерживаются следующие атрибуты функций:
-
interrupt -
Используйте этот атрибут, чтобы указать, что заданная функция является обработчиком прерывания. При наличии этого атрибута компилятор генерирует последовательности входа в функцию и выхода из неё, подходящие для использования в обработчике прерывания.
-
model (model-name) -
Для M32R/D используйте этот атрибут, чтобы задать адресуемость объекта и кода, генерируемого для функции. Идентификатор model-name принимает одно из значений
small,mediumилиlarge, соответствующих каждой из моделей кода.Объекты малой модели находятся в нижних 16 МБ памяти (поэтому их адреса можно загружать инструкцией
ld24) и вызываются инструкциейbl.Объекты средней модели могут находиться в любом месте 32-разрядного адресного пространства (компилятор генерирует инструкции
seth/add3для загрузки их адресов) и вызываются инструкциейbl.Объекты большой модели могут находиться в любом месте 32-разрядного адресного пространства (компилятор генерирует инструкции
seth/add3для загрузки их адресов), но могут быть недоступны для инструкцииbl(компилятор генерирует гораздо более медленную последовательность инструкцийseth/add3/jl).
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-15.3.0/gcc/M32R_002fD-Function-Attributes.html