Директивы определенные в реализации компилятора GNAT
Директивы определенные в реализации компилятора GNAT
Abort_Defer; | - | откладывает принудительное завершение до конца блока инструкций (должна быть помещена в начале блока инструкций) |
Ada_83; | - | использовать при компиляции исходного текста соглашения стандарта Ada83, даже если переключатели опций компилятора указывают обратное |
Ada_95; | - | использовать при компиляции исходного текста соглашения стандарта Ada95, даже если переключатели опций компилятора указывают обратное |
Annotate( identifier{, name|expression}); |
- | Добавить дополнительную информацию для внешних инструментальных средств |
Assert(
boolean_expression [, static_string_expression]); |
- | Вставить условие контрольной проверки |
Ast_Entry(entry_identifier); | - | Реализована только для OpenVMS |
C_Pass_By_Copy(
[Max_Size =>] static_integer_expression); |
- | При вызове функции Си, использовать передачу параметра по значению (не по ссылке), если это возможно |
Comment(static_string_expression); | - | То же самое, что и Ident |
Common_Object(
[Internal =>] local_name, [, [External =>] external_symbol] [, [Size =>] external_symbol] ) |
- | Для Фортрана. Создать переменную, которая использует общее пространство |
Complex_Representation( [Entity =>] local_name); |
- | Использовать формат комплексных чисел gcc (для повышения скорости вычислений) |
Component_Alignment(
[Form =>] alignment_choice [, [Name =>] type_local_name]); |
- | Указывает как должно осуществляться выравнивание компонентов записи |
CPP_Class([Entity =>] local_name); | - | Трактовать запись или тэговую запись как класс Си++ |
CPP_Constructor( [Entity =>] local_name); |
- | Трактовать импортируемую функцию как конструктор класса Си++ |
CPP_Destructor( [Entity =>] local_name); |
- | Трактовать импортируемую функцию как деструктор класса Си++ |
CPP_Virtual(
[Entity =>] entity, [, [Vtable_Ptr =>] vtable_entity,] [, [Position =>] static_integer_expression]); |
- | Импортировать виртуальную функцию Си++ |
CPP_Vtable(
[Entity =>] entity, [, [Vtable_Ptr =>] vtable_entity,] [, [Entry_Count =>] static_integer_expression]); |
- | Определить таблицу виртуальных функций |
Debug(procedure_call_statement); | - | Определить вызов отладочной процедуры |
Eliminate([Unit_Name =>] identifier); | - | Указать объект который не используется программой. Создается утлитой gnatelim |
Export_Exception(
[Internal =>] local_name, [, [External =>] external_symbol,] [, [Form =>] Ada | VMS] [, [Code =>] static_integer_expression]); |
- | Реализована только для OpenVMS |
Export_Function(
[Internal =>] local_name, [, [External =>] external_symbol] [, [Parameter_Types =>] parameter_types] [, [Result_Type =>] result_subtype_mark] [, [Mechanism =>] mechanism] [, [Result_Mechanism =>] mechanism_name]); |
- | Экспортировать Ада-функцию с указанием дополнительной информации по отношению к информации представленной директивой Export |
Export_Object(
[Internal =>] local_name, [, [External =>] external_symbol] [, [Size =>] external_symbol]); |
- | Экспортировать тэговую запись Ады с указанием дополнительной информации по отношению к информации представленной директивой Export |
Export_Procedure(
[Internal =>] local_name, [, [External =>] external_symbol] [, [Parameter_Types =>] parameter_types] [, [Result_Type =>] result_subtype_mark] [, [Mechanism =>] mechanism]); |
- | Экспортировать Ада-процедуру с указанием дополнительной информации по отношению к информации представленной директивой Export |
Export_Valued_Procedure(
[Internal =>] local_name, [, [External =>] external_symbol] [, [Parameter_Types =>] parameter_types] [, [Result_Type =>] result_subtype_mark] [, [Mechanism =>] mechanism]); |
- | Экспортировать Ада-функцию обладающую побочными эффектами с указанием дополнительной информации по отношению к информации представленной директивой Export |
Extend_System([Name =>] identifier); | - | устарела |
External_Name_Casing(
Uppercase | Lowercase [, Uppercase | Lowercase | As_Is]); |
- | Установить режим перевода в символы верхнего регистра для импорта в регистрозависимый язык. Может быть установлено в Uppercase, Lowercase или As_Is (по-умолчанию для gnst). |
Finalize_Storage_Only(
first_subtype_local_name); |
- | Не выполнять очистку (Finalize) для объектов описанных на уровне библиотеки. Изначально предназначено для внутреннего использования в реализации компилятора gnat. |
Float_Representation(float_rep); | - | Реализована только для OpenVMS |
Ident(static_string_expression); | - | Строка идентификации объектного файла (в Linux, значения не имеет) |
Import_Exception(
[Internal =>] local_name, [, [External =>] external_symbol,] [, [Form =>] Ada | VMS] [, [Code =>] static_integer_expression]); |
- | Реализована только для OpenVMS |
Import_Function(
[Internal =>] local_name, [, [External =>] external_symbol] [, [Parameter_Types =>] parameter_types] [, [Result_Type =>] result_subtype_mark] [, [Mechanism =>] mechanism] [, [Result_Mechanism =>] mechanism_name] [, [First_Optional_Parameter =>] identifier]); |
- | Импортирует функцию, описанную средствами другого языка программирования, для использования ее в Ада-программе. При этом указывает дополнительную информацию по отношению к информации представленной директивой Import. |
Import_Object(
[Internal =>] local_name, [, [External =>] external_symbol] [, [Size =>] external_symbol]); |
- | Импортирует объект, описанный средствами другого языка программирования, для использования его в Ада-программе. При этом указывает дополнительную информацию по отношению к информации представленной директивой Import. |
Import_Procedure(
[Internal =>] local_name, [, [External =>] external_symbol] [, [Parameter_Types =>] parameter_types] [, [Mechanism =>] mechanism] [, [First_Optional_Parameter =>] identifier]); |
- | Импортирует процедуру, описанную средствами другого языка программирования, для использования ее в Ада-программе. При этом указывает дополнительную информацию по отношению к информации представленной директивой Import. |
Import_Valued_Procedure(
[Internal =>] local_name, [, [External =>] external_symbol] [, [Parameter_Types =>] parameter_types] [, [Mechanism =>] mechanism] [, [First_Optional_Parameter =>] identifier]); |
- | Импортирует функцию обладающую побочными эффектами, которая описана средствами другого языка программирования, для использования ее в Ада-программе. При этом указывает дополнительную информацию по отношению к информации представленной директивой Import. |
Inline_Always(name[, name]); | - | Указывает, на необходимость выполнения межмодульной inline-подстановки не зависимо от состояния переключателей опций компилятора. |
Inline_Generic(generic_package_name); | - | Введена для совместимости с другими Ада-компиляторами |
Interface(
[Convention =>] convention_identifier, [Entity =>] local_name [, [External_Name =>] static_string_expression], [, [Link_Name =>] static_string_expression]); |
- | Введена для совместимости с другими Ада-компиляторами |
Interface_Name(
[Entity =>] local_name [, [External_Name =>] static_string_expression] [, [Link_Name =>] static_string_expression]); |
- | Введена для совместимости с другими Ада-компиляторами |
Linker_Alias(
[Entity =>] local_name [Alias =>] static_string_expression); |
- | Определяет альтернативный компоновщик (linker) для указанного пакета (или другого компонуемого модуля). |
Linker_Section(
[Entity =>] local_name [Section =>] static_string_expression); |
- | Указание компоновщику gcc использовать соответствующую секцию для указанного имени |
Long_Float(float_format); | - | Реализована только для OpenVMS |
Machine_Attribute(
[Attribute_Name =>] string_expression, [Entity =>] local_name); |
- | Определяет атрибуты машины для gcc. |
Main_Storage(
main_storage_option [, main_storage_option]); |
- | Реализована только для OpenVMS |
No_Run_Time; | - | Указать компилятору gnat не использовать библиотеку времени выполнения (например, в случае написания драйвера устройства). |
No_Return(procedure_local_name); | - | Указывает процедуру, которая преднамеренно не возвращает управление. Предназначена для подавления предупреждающих сообщений компилятора. |
Passive([Semaphore | No]); | - | Введена для совместимости с другими Ада-компиляторами |
Polling(On | Off); | - | Если включена, то разрешает опрос исключений |
Propagate_Exceptions(subprogram_local_name); | - | Определяет импортированную подпрограмму, которая будет обрабатывать исключения Ады (без потерь производительности). |
Psect_Object(
[Internal =>] local_name, [, [External =>] external_symbol] [, [Size =>] external_symbol]); |
- | То же самое, что и Common_Object. |
Pure_Function([Entity =>] function_local_name); | - | Указывает, что функция не имеет побочных эффектов. |
Ravenscar; | - | Устанавливает политику реального времени RAVENSCAR |
Restricted_Run_Time; | - | Подобно директиве Ravenscar, устанавливает некоторые ограничения на программирование задач реального времени |
Share_Generic(name {, name}); | - | Введена для совместимости с другими Ада-компиляторами |
Source_File_Name(
[Unit_Name =>] unit_name, [FNAME_DESIG =>] string_literal); |
- | Переопределяет традиционные для реализации компилятора gnat правила именования файлов. |
Source_Reference(
integer_literal, string_literal); |
- | Применяется для совместного использования с утилитой gnatchop. |
Stream_Convert(
[Entity =>] type_local_name, [Read =>] function_name, [Write =>] function name); |
- | Упрощает создание подпрограмм потокового ввода/вывода для указанного типа данных |
Style_Checks(
string_literal | ALL_CHECKS | On | Off [, local_name]); |
- | Указывает реализации компилятора gnat выполнять проверку стиля оформления исходных текстов (если включено в процессе компиляции). |
Subtitle([Subtitle =>] string_literal); | - | Введена для совместимости с другими Ада-компиляторами |
Suppress_All; | - | Введена для совместимости с другими Ада-компиляторами |
Suppress_Initialization([Entity =>] type_name); | - | Запретить инициализацию переменных указанного типа данных |
Task_Info(expression); | - | Определяет информацию о задаче. |
Task_Name(string_expression); | - |
Определяет имя задачи.
Примечание: отсутствует в реализации GNAT V 3p. |
Task_Storage(
[Task_Type =>] local_name, [Top_Guard =>] static_integer_expression); |
- | Определяет "охранное" пространство для задачи. |
Time_Slice(static_duration_expression); | - | Определяет квант времени задачи (tasking time slice) для главной программы |
Title(titling_option [, titling option]); | - | Введена для совместимости с другими Ада-компиляторами |
Unchecked_Union(first_subtype_local_name); | - | Трактовать запись как тип объединения (union) языка Си. |
Unimplemented_Unit; | - | Предназначена для использования в не законченных модулях. Порождает генерацию ошибки при компиляции такого модуля. |
Unreserve_All_Interrupts; | - | Позволяет переназначение прерываний, которые обычно обрабатываются реализацией компилятора gnat (например SIGINT). |
Unsuppress(identifier [, [On =>] name]); | - | Обладает эффектом, противоположным директиве Suppress. |
Use_VADS_Size | - | Для старого Ада-кода. атрибут 'Size эквивалентен атрибуту 'VADS_Size. |
Warnings(On | Off [, local_name]); | - | Включает или выключает генерацию предупредительных сообщений компилятором. |
Weak_External([Entity =>] local_name); | - | Определяет объект, который не должен распознаваться компоновщиком. |
Содержание раздела