The compiler may build modular integer subtypes whose base type is private
in the context of instantiations, but we want to be able to get the Modulus.
gcc/ada/ChangeLog:
* einfo.ads (Modulus): Change to implementation base type only.
* gen_il-gen-gen_entities.adb (Modular_Integer_Kind): Change type
of Modulus field to Impl_Base_Type_Only.
-- subprogram or the formal's Extra_Accessibility - whichever one is
-- lesser. The Minimum_Accessibility field then points to this object.
--- Modulus [base type only]
+-- Modulus [implementation base type only]
-- Defined in modular types. Contains the modulus. For the binary case,
-- this will be a power of 2, but if Non_Binary_Modulus is set, then it
-- will not be a power of 2.
-- created for the base type, and this is the first named subtype).
Ab (Modular_Integer_Kind, Integer_Kind,
- (Sm (Modulus, Uint, Base_Type_Only),
+ (Sm (Modulus, Uint, Impl_Base_Type_Only),
Sm (Original_Array_Type, Node_Id)));
Cc (E_Modular_Integer_Type, Modular_Integer_Kind);