summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_ch13.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/exp_ch13.adb')
-rw-r--r--gcc/ada/exp_ch13.adb20
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