2011-08-05 Yannick Moy <moy@adacore.com>
* sem_ch12.adb (Analyze_Package_Instantiation,
Need_Subprogram_Instance_Body): do not generate instance bodies in ALFA
mode.
2011-08-05 Ed Schonberg <schonberg@adacore.com>
* sem_type.adb (Specific_Type): in an instance, the type-specific
operand of an equality check that involves null may have a private
type. Use full view to determine legality of construct.
From-SVN: r177444
+2011-08-05 Yannick Moy <moy@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation,
+ Need_Subprogram_Instance_Body): do not generate instance bodies in ALFA
+ mode.
+
+2011-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_type.adb (Specific_Type): in an instance, the type-specific
+ operand of an equality check that involves null may have a private
+ type. Use full view to determine legality of construct.
+
2011-08-05 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
or else Might_Inline_Subp)
and then not Is_Actual_Pack
and then not Inline_Now
+ and then not ALFA_Mode
and then (Operating_Mode = Generate_Code
or else (Operating_Mode = Check_Semantics
and then ASIS_Mode));
if (Is_In_Main_Unit (N)
or else Is_Inlined (Subp)
or else Is_Inlined (Alias (Subp)))
+ and then not ALFA_Mode
and then (Operating_Mode = Generate_Code
or else (Operating_Mode = Check_Semantics
and then ASIS_Mode))
then
return T1;
+ -- In an instance, the specific type may have a private view. Use full
+ -- view to check legality.
+
+ elsif T2 = Any_Access
+ and then Is_Private_Type (T1)
+ and then Present (Full_View (T1))
+ and then Is_Access_Type (Full_View (T1))
+ and then In_Instance
+ then
+ return T1;
+
elsif T2 = Any_Composite
and then Is_Aggregate_Type (T1)
then