From 3ddca462736ddb7385b51f03631fd77501a3d852 Mon Sep 17 00:00:00 2001 From: Ed Schonberg Date: Tue, 20 May 2008 14:45:38 +0200 Subject: [PATCH] exp_ch5.adb (Expand_Assign_Record): Within an initialization procedure for a derived type retrieve the discriminant... 2008-05-20 Ed Schonberg * 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. From-SVN: r135622 --- gcc/ada/exp_ch5.adb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gcc/ada/exp_ch5.adb b/gcc/ada/exp_ch5.adb index 0018a673522..00ab0d6fa9d 100644 --- a/gcc/ada/exp_ch5.adb +++ b/gcc/ada/exp_ch5.adb @@ -1886,8 +1886,11 @@ package body Exp_Ch5 is -- -- 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, -- 2.30.2