diff options
Diffstat (limited to 'gcc/ada/exp_ch13.adb')
-rw-r--r-- | gcc/ada/exp_ch13.adb | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/gcc/ada/exp_ch13.adb b/gcc/ada/exp_ch13.adb index 6e57f3beb77..bbc8458eff5 100644 --- a/gcc/ada/exp_ch13.adb +++ b/gcc/ada/exp_ch13.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- $Revision: 1.76 $ +-- $Revision$ -- -- -- Copyright (C) 1992-2001, Free Software Foundation, Inc. -- -- -- @@ -27,6 +27,7 @@ ------------------------------------------------------------------------------ with Atree; use Atree; +with Checks; use Checks; with Einfo; use Einfo; with Exp_Ch3; use Exp_Ch3; with Exp_Ch6; use Exp_Ch6; @@ -236,10 +237,20 @@ package body Exp_Ch13 is Decl : Node_Id; begin - if not Is_Type (E) and then not Is_Subprogram (E) then + -- For object, with address clause, check alignment is OK + + if Is_Object (E) then + Apply_Alignment_Check (E, N); + + -- Only other items requiring any front end action are + -- types and subprograms. + + elsif not Is_Type (E) and then not Is_Subprogram (E) then return; end if; + -- Here E is a type or a subprogram + E_Scope := Scope (E); -- If we are freezing entities defined in protected types, they @@ -304,11 +315,6 @@ package body Exp_Ch13 is elsif Is_Subprogram (E) then Freeze_Subprogram (N); - - -- No other entities require any front end freeze actions - - else - null; end if; -- Analyze actions generated by freezing. The init_proc contains |