OSDN Git Service

2008-05-20 Ed Schonberg <schonberg@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 20 May 2008 12:45:38 +0000 (12:45 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 20 May 2008 12:45:38 +0000 (12:45 +0000)
* exp_ch5.adb (Expand_Assign_Record): Within an initialization
procedure for a derived type retrieve the discriminant values from the
parent using the corresponding discriminant.
(Expand_N_Assignment_Statement): Skip generation of implicit
if-statement associated with controlled types if we are
compiling with restriction No_Finalization.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135622 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/exp_ch5.adb

index 0018a67..00ab0d6 100644 (file)
@@ -1886,8 +1886,11 @@ package body Exp_Ch5 is
                --       <code for controlled and/or tagged assignment>
                --    end if;
 
+               --  Skip this if Restriction (No_Finalization) is active
+
                if not Statically_Different (Lhs, Rhs)
                  and then Expand_Ctrl_Actions
+                 and then not Restriction_Active (No_Finalization)
                then
                   L := New_List (
                     Make_Implicit_If_Statement (N,