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