aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary Dismukes <dismukes@gnat.com>2001-12-05 02:00:43 +0000
committerGeert Bosch <bosch@gcc.gnu.org>2001-12-05 03:00:43 +0100
commit0815d36a987898b2e76fabb53f76d895be7769ad (patch)
tree6aa894fba53b92b9e38282a7dd6c7f0563a74e08
parentedc0f304c72f55b1087bd15ae221273fc524a328 (diff)
downloadgcc-0815d36a987898b2e76fabb53f76d895be7769ad.zip
gcc-0815d36a987898b2e76fabb53f76d895be7769ad.tar.gz
gcc-0815d36a987898b2e76fabb53f76d895be7769ad.tar.bz2
* layout.adb:
(Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size. (Discrimify): Go back to setting the Etypes of the selected component because the Vname component does not exist at this point and will fail name resolution. Also set Analyzed. Remove with and use of Sem_Res. From-SVN: r47648
-rw-r--r--gcc/ada/ChangeLog9
-rw-r--r--gcc/ada/layout.adb12
2 files changed, 18 insertions, 3 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 4e5301a..ec31744 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,12 @@
+2001-12-04 Gary Dismukes <dismukes@gnat.com>
+
+ * layout.adb:
+ (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
+ (Discrimify): Go back to setting the Etypes of the selected component
+ because the Vname component does not exist at this point and will
+ fail name resolution. Also set Analyzed.
+ Remove with and use of Sem_Res.
+
2001-12-04 Arnaud Charlet <charlet@gnat.com>
* Makefile.in: (HIE_SOURCES): add s-fat*.
diff --git a/gcc/ada/layout.adb b/gcc/ada/layout.adb
index f4c1754..b3c5401 100644
--- a/gcc/ada/layout.adb
+++ b/gcc/ada/layout.adb
@@ -39,7 +39,7 @@ with Repinfo; use Repinfo;
with Sem; use Sem;
with Sem_Ch13; use Sem_Ch13;
with Sem_Eval; use Sem_Eval;
-with Sem_Res; use Sem_Res;
+-- with Sem_Res; use Sem_Res;
with Sem_Util; use Sem_Util;
with Sinfo; use Sinfo;
with Snames; use Snames;
@@ -638,7 +638,7 @@ package body Layout is
end if;
end Min_Discrim;
- -- Start of processing for Layout_Array_Type
+ -- Start of processing for Get_Max_Size
begin
pragma Assert (Size_Depends_On_Discriminant (E));
@@ -903,7 +903,13 @@ package body Layout is
Prefix => Make_Identifier (Loc, Chars => Vname),
Selector_Name => New_Occurrence_Of (Entity (N), Loc));
- Analyze_And_Resolve (N, Typ);
+ -- Set the Etype attributes of the selected name and its prefix.
+ -- Analyze_And_Resolve can't be called here because the Vname
+ -- entity denoted by the prefix will not yet exist (it's created
+ -- by SO_Ref_From_Expr, called at the end of Layout_Array_Type).
+
+ Set_Etype (Prefix (N), Vtyp);
+ Set_Etype (N, Typ);
end if;
end Discrimify;