* sem_res.adb, sinput-l.adb: Minor reformatting.
2010-10-04 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate a tag
check when the target object is an interface since the expression of
the right hand side must only cover the interface.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164935
138bc75d-0d04-0410-961f-
82ee72b054a4
+2010-10-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb, sinput-l.adb: Minor reformatting.
+
+2010-10-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate a tag
+ check when the target object is an interface since the expression of
+ the right hand side must only cover the interface.
+
2010-10-04 Vincent Celier <celier@adacore.com>
* frontend.adb: Set Lib.Parsing_Main_Extended_Source to True before
if Is_Class_Wide_Type (Typ)
and then Is_Tagged_Type (Typ)
and then Is_Tagged_Type (Underlying_Type (Etype (Rhs)))
+
+ -- Do not generate a tag check when the target object is
+ -- an interface since the expression of the right hand
+ -- side must only cover the interface.
+
+ and then not Is_Interface (Typ)
then
Append_To (L,
Make_Raise_Constraint_Error (Loc,
(Etype (Entity (Orig_N)) = Orig_T
or else
(Ekind (Entity (Orig_N)) = E_Loop_Parameter
- and then Covers (Orig_T, Etype (Entity (Orig_N))))))
+ and then Covers (Orig_T, Etype (Entity (Orig_N))))))
- -- If not an entity, then type of expression must match
+ -- If not an entity, then type of expression must match
or else Etype (Orig_N) = Orig_T
then
-- the source has been modified by the preprocessing. Only
-- do that for the main unit (spec, body and subunits).
- if Generate_Processed_File and then
- Modified and then
+ if Generate_Processed_File
+ and then Modified
+ and then
((Compiler_State = Parsing
- and then Parsing_Main_Extended_Source)
- or else
- (Compiler_State = Analyzing
- and then Analysing_Subunit_Of_Main))
+ and then Parsing_Main_Extended_Source)
+ or else
+ (Compiler_State = Analyzing
+ and then Analysing_Subunit_Of_Main))
then
declare
FD : File_Descriptor;