diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 1c0d5002f33..b75fad2b026 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,13 @@ +2009-07-22 Ed Schonberg + + * freeze.adb (Freeze_Entity): Do not generate extra formal for function + in initialization expression if function does not have convention Ada. + +2009-07-22 Sergey Rybin + + * gnat_ugn.texi, vms_data.ads: Add qualifier for new gnatpp option + '--separate-label' to control label layout. + 2009-07-22 Robert Dewar * exp_tss.ads, sem_eval.adb: Minor reformatting diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb index d0c9718abbf..b4cc4edd2f4 100644 --- a/gcc/ada/freeze.adb +++ b/gcc/ada/freeze.adb @@ -4125,7 +4125,8 @@ package body Freeze is -- is frozen, but a function call may appear in an initialization proc. -- before the declaration is frozen. We need to generate the extra -- formals, if any, to ensure that the expansion of the call includes - -- the proper actuals. + -- the proper actuals. This only applies to Ada subprograms, not to + -- imported ones. Desig_Typ := Empty; @@ -4152,6 +4153,7 @@ package body Freeze is if Present (Nam) and then Ekind (Nam) = E_Function and then Nkind (Parent (N)) = N_Function_Call + and then Convention (Nam) = Convention_Ada then Create_Extra_Formals (Nam); end if; diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi index 24e7867d6e8..df99d910756 100644 --- a/gcc/ada/gnat_ugn.texi +++ b/gcc/ada/gnat_ugn.texi @@ -16316,6 +16316,10 @@ stops. Do not place the keyword @code{is} on a separate line in a subprogram body in case if the spec occupies more then one line. +@cindex @option{^--separate-label^/SEPARATE_LABEL^} (@command{gnatpp}) +@item ^--separate-label^/SEPARATE_LABEL^ +Place the satemement label(s) and the statement itself on separate lines. + @cindex @option{^--separate-loop-then^/SEPARATE_LOOP_THEN^} (@command{gnatpp}) @item ^--separate-loop-then^/SEPARATE_LOOP_THEN^ Place the keyword @code{loop} in FOR and WHILE loop statements and the diff --git a/gcc/ada/vms_data.ads b/gcc/ada/vms_data.ads index eae2058e06f..3e917743943 100644 --- a/gcc/ada/vms_data.ads +++ b/gcc/ada/vms_data.ads @@ -5755,6 +5755,12 @@ package VMS_Data is -- Do not place the IS keyword on a separate line in a subprogram body in -- case if the specification occupies more then one line. + S_Pretty_Sep_Label : aliased constant S := "/SEPARATE_LABEL " & + "--separate-label"; + -- /SEPARATE_LABEL + -- + -- Place statement label(s) and the statement itself on separate lines. + S_Pretty_Sep_Loop_Then : aliased constant S := "/SEPARATE_LOOP_THEN " & "--separate-loop-then"; -- /SEPARATE_LOOP_THEN @@ -6141,6 +6147,7 @@ package VMS_Data is S_Pretty_Project 'Access, S_Pretty_RTS 'Access, S_Pretty_Search 'Access, + S_Pretty_Sep_Label 'Access, S_Pretty_Sep_Loop_Then 'Access, S_Pretty_N_Sep_Loop_Then 'Access, S_Pretty_Subdirs 'Access,