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