freeze.adb (Freeze_Entity): Remove check for preelaborable initialization of a full view.
2007-09-26 Gary Dismukes <dismukes@adacore.com>
* freeze.adb (Freeze_Entity): Remove check for preelaborable
initialization of a full view. This is moved to
Analyze_Package_Specification.
* sem_ch7.adb (Analyze_Package_Specification): Add check for
preelaborable initialization of a full view in entity loop.
(Uninstall_Declarations): If entity is a use-visible compilation unit,
its child units are use-visible only if they are visible child units.
* sem_util.adb (Is_Preelaborable_Expression): New function to determine
whether an expression can be used within a type declaration that
requires preelaborable init.
(Check_Components): Replace inline code that does partial checking for
preelaborable default expressions with call to
Is_Preelaborable_Expression.
(Has_Preelaborable_Initialization): In the case of a generic actual
subtype, (that is, Is_Generic_Actual is True), return the result of
applying Has_Preelaborable_Initialization to the generic actual's base
type.