summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_pakd.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2005-01-03 15:43:24 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2005-01-03 15:43:24 +0000
commit5e8a2a99d4a054068ff5ba4e6d9192e7c88546b6 (patch)
treecc56ad2870547da06116c5f927b552a16d94614f /gcc/ada/exp_pakd.adb
parent63740d1a0b295bd19f3e92ee45b817cc932b5c4a (diff)
downloadgcc-5e8a2a99d4a054068ff5ba4e6d9192e7c88546b6.tar.gz
* ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
porting guide chapter (vms version). Revised doc title (removed "for native platforms") and subtitle. Add discussion on warning flag for obsolescent features. First we note that it applies to obsolete GNAT features, which was previously omitted. Second we contrast the behavior with that of the new Ada 2005 AI-368 restriction No_Obsolescent_Features. Preliminary rewriting of GNAT & libraries chapter in order to take into account default project locations & new project manager capabilities. * cstand.adb (Create_Operators): Clean up format and documentation of unary and binary operator result tables. No change in code, just reformatting and addition of comments. * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb, sem_ch2.adb: Minor reformatting * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads, sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to comments for Tree_Read and Tree_Write. * exp_attr.ads: Minor reformatting. * comperr.adb (Compiler_Abort): Add specialized message for GAP versions. * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check whether the ancestor type is private, as may be the case with nested instantiations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92852 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_pakd.adb')
-rw-r--r--gcc/ada/exp_pakd.adb5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ada/exp_pakd.adb b/gcc/ada/exp_pakd.adb
index ca0ce8358e5..1608e437214 100644
--- a/gcc/ada/exp_pakd.adb
+++ b/gcc/ada/exp_pakd.adb
@@ -851,12 +851,15 @@ package body Exp_Pakd is
-- If our immediate ancestor subtype is constrained, and it already
-- has a packed array type, then just share the same type, since the
- -- bounds must be the same.
+ -- bounds must be the same. If the ancestor is not an array type but
+ -- a private type, as can happen with multiple instantiations, create
+ -- a new packed type, to avoid privacy issues.
if Ekind (Typ) = E_Array_Subtype then
Ancest := Ancestor_Subtype (Typ);
if Present (Ancest)
+ and then Is_Array_Type (Ancest)
and then Is_Constrained (Ancest)
and then Present (Packed_Array_Type (Ancest))
then