-- operator on private type might not be visible and won't be
-- resolved.
- else pragma Assert (Is_RTE (Base_Type (Typ), RE_Big_Integer));
+ else pragma Assert (Is_RTE (Base_Type (Typ), RE_Big_Integer)
+ or else
+ Is_RTE (Base_Type (Typ), RO_GH_Big_Integer)
+ or else
+ Is_RTE (Base_Type (Typ), RO_SP_Big_Integer));
return
Make_Function_Call (Loc,
Name =>
subtype Interfaces_C_Descendant is Interfaces_Descendant
range Interfaces_C_Strings .. Interfaces_C_Strings;
+ subtype SPARK_Descendant is RTU_Id
+ range SPARK_Big_Integers .. SPARK_Big_Integers;
+
subtype System_Descendant is RTU_Id
range System_Address_To_Access_Conversions .. System_Tasking_Stages;
Name_Buffer (13) := '.';
end if;
+ elsif U_Id in SPARK_Descendant then
+ Name_Buffer (6) := '.';
+
elsif U_Id in System_Descendant then
Name_Buffer (7) := '.';
Interfaces_C_Strings,
+ -- Package SPARK
+
+ SPARK,
+
+ -- Children of SPARK
+
+ SPARK_Big_Integers,
+
-- Package System
System,
RE_Big_Integer, -- Ada.Numerics.Big_Numbers.Big_Integers
RO_GH_Big_Integer, -- Ada.Numerics.Big_Numbers.Big_Integers_Ghost
+ RO_SP_Big_Integer, -- SPARK.Big_Integers
RE_Names, -- Ada.Interrupts.Names
RE_Big_Integer => Ada_Numerics_Big_Numbers_Big_Integers,
RO_GH_Big_Integer => Ada_Numerics_Big_Numbers_Big_Integers_Ghost,
+ RO_SP_Big_Integer => SPARK_Big_Integers,
RE_Names => Ada_Interrupts_Names,
or else
Is_RTE (Base_Type (Etype (Expression (Variant))),
RO_GH_Big_Integer)
+ or else
+ Is_RTE (Base_Type (Etype (Expression (Variant))),
+ RO_SP_Big_Integer)
then
if Chars (Variant) = Name_Increases then
Error_Msg_N
Is_RTE (Base_Type (Etype (Expr)), RE_Big_Integer)
or else
Is_RTE (Base_Type (Etype (Expr)), RO_GH_Big_Integer)
+ or else
+ Is_RTE (Base_Type (Etype (Expr)), RO_SP_Big_Integer)
then
if Chars (Direction) = Name_Increases then
Error_Msg_N