Справочник Ada 2005
H.1 Предикат Normalize_Scalars
Данный предикат гарантирует, что незаинициализированный скалярный объект получает предсказуемое значение, но, по возможности, находящееся вне допустимого диапазона.
Синтаксис
Форма предиката Normalize_Scalars такова:
pragma Normalize_Scalars;
Правила после компиляции
Предикат Normalize_Scalars является конфигурационным. Он применяется ко всем единицам компиляции, включённым в партицию.
Требования к документации
Если применяется предикат Normalize_Scalars, реализация должна документировать неявные начальные значения для скалярных подтипов и идентифицировать каждый случай, в котором такое значение используется и не является недопустимым представлением.
Рекомендации для реализации
Всякий раз, когда это возможно, неявные начальные значения для скалярного подтипа должны быть недопустимым представлением (см. 13.9.1).
ПРИМЕЧАНИЯ
2 Требование инициализации применяется к незаинициализированным скалярным объектам, которые являются подкомпонентами составных объектов, к выделенным объектам и к самостоятельным объектам. Оно также относится к скалярным параметрам out. Скалярные подкомпоненты составных параметров out инициализируются соответствующей частью фактического значения благодаря 6.4.1.
3 Требование инициализации не применяется к скаляру, для которого указан предикат Import, поскольку инициализация импортированного объекта выполняется исключительно средой внешнего языка (см. B.1).
4 Использование предиката Normalize_Scalars в сочетании с предикатом Restrictions(No_Exceptions) может привести к ошибочному выполнению (см. H.4).