Директивы определенные в реализации компилятора 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 3.13p. |
||
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); | - | Определяет объект, который не должен распознаваться компоновщиком. |
Copyright (C) А.Гавва | V-0.4w май 2004 |