[multiple changes]
2010-10-07 Robert Dewar <dewar@adacore.com> * sem_prag.adb, sem_ch13.adb: Implement AI05-0012-1/02. * gcc-interface/Make-lang.in: Update dependencies. 2010-10-07 Ed Schonberg <schonberg@adacore.com> * sem_ch12.ad: (Instantiate_Object): For an in-out formal of a child unit, if the type of the formal is declared in a parent unit and is not a formal itself, the actual must be located from an enclosing parent instance by normal visibility. 2010-10-07 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Analyze_Allocator): In Ada 2012, a null_exclusion indicator is illegal for an uninitialized allocator. From-SVN: r165110
This commit is contained in:
parent
4e4edb3b3a
commit
518ade91f4
@ -1,3 +1,20 @@
|
||||
2010-10-07 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* sem_prag.adb, sem_ch13.adb: Implement AI05-0012-1/02.
|
||||
* gcc-interface/Make-lang.in: Update dependencies.
|
||||
|
||||
2010-10-07 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* sem_ch12.ad: (Instantiate_Object): For an in-out formal of a child
|
||||
unit, if the type of the formal is declared in a parent unit and is not
|
||||
a formal itself, the actual must be located from an enclosing parent
|
||||
instance by normal visibility.
|
||||
|
||||
2010-10-07 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* sem_ch4.adb (Analyze_Allocator): In Ada 2012, a null_exclusion
|
||||
indicator is illegal for an uninitialized allocator.
|
||||
|
||||
2010-10-07 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* sem_prag.adb (Analyze_Attribute_Definition_Clause, case
|
||||
|
@ -1360,7 +1360,8 @@ ada/atree.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/back_end.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/a-uncdea.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
|
||||
ada/back_end.ads ada/back_end.adb ada/casing.ads ada/debug.ads \
|
||||
ada/einfo.ads ada/einfo.adb ada/elists.ads ada/fname.ads ada/gnat.ads \
|
||||
ada/einfo.ads ada/einfo.adb ada/elists.ads ada/err_vars.ads \
|
||||
ada/errout.ads ada/erroutc.ads ada/fname.ads ada/gnat.ads \
|
||||
ada/g-hesorg.ads ada/g-htable.ads ada/gnatvsn.ads ada/hostparm.ads \
|
||||
ada/lib.ads ada/lib.adb ada/lib-list.adb ada/lib-sort.adb ada/namet.ads \
|
||||
ada/nlists.ads ada/nlists.adb ada/opt.ads ada/osint.ads ada/osint-c.ads \
|
||||
@ -1878,7 +1879,7 @@ ada/exp_ch4.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/exp_ch5.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/a-uncdea.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
|
||||
ada/casing.ads ada/checks.ads ada/checks.adb ada/csets.ads \
|
||||
ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads ada/elists.adb \
|
||||
ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
|
||||
ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/eval_fat.ads \
|
||||
ada/exp_aggr.ads ada/exp_atag.ads ada/exp_ch11.ads ada/exp_ch2.ads \
|
||||
ada/exp_ch4.ads ada/exp_ch5.ads ada/exp_ch5.adb ada/exp_ch6.ads \
|
||||
@ -2317,14 +2318,14 @@ ada/exp_tss.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
|
||||
ada/exp_util.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/a-uncdea.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
|
||||
ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
|
||||
ada/einfo.adb ada/elists.ads ada/elists.adb ada/err_vars.ads \
|
||||
ada/errout.ads ada/erroutc.ads ada/eval_fat.ads ada/exp_aggr.ads \
|
||||
ada/exp_ch11.ads ada/exp_ch6.ads ada/exp_ch7.ads ada/exp_disp.ads \
|
||||
ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb ada/fname.ads \
|
||||
ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
|
||||
ada/g-hesorg.ads ada/g-htable.ads ada/hostparm.ads ada/inline.ads \
|
||||
ada/interfac.ads ada/itypes.ads ada/lib.ads ada/lib.adb \
|
||||
ada/casing.ads ada/casing.adb ada/checks.ads ada/csets.ads \
|
||||
ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads ada/elists.adb \
|
||||
ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/eval_fat.ads \
|
||||
ada/exp_aggr.ads ada/exp_ch11.ads ada/exp_ch6.ads ada/exp_ch7.ads \
|
||||
ada/exp_disp.ads ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb \
|
||||
ada/fname.ads ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads \
|
||||
ada/gnat.ads ada/g-hesorg.ads ada/g-htable.ads ada/hostparm.ads \
|
||||
ada/inline.ads ada/interfac.ads ada/itypes.ads ada/lib.ads ada/lib.adb \
|
||||
ada/lib-list.adb ada/lib-sort.adb ada/lib-xref.ads ada/namet.ads \
|
||||
ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb \
|
||||
ada/opt.ads ada/output.ads ada/restrict.ads ada/restrict.adb \
|
||||
@ -2335,16 +2336,17 @@ ada/exp_util.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads ada/sinfo.ads \
|
||||
ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
|
||||
ada/stringt.ads ada/stringt.adb ada/style.ads ada/styleg.ads \
|
||||
ada/styleg.adb ada/stylesw.ads ada/system.ads ada/s-crc32.ads \
|
||||
ada/s-exctab.ads ada/s-htable.ads ada/s-imenne.ads ada/s-memory.ads \
|
||||
ada/s-os_lib.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
|
||||
ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
|
||||
ada/s-stoele.adb ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads \
|
||||
ada/s-utf_32.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
|
||||
ada/targparm.ads ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
|
||||
ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
|
||||
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
|
||||
ada/validsw.ads ada/widechar.ads
|
||||
ada/styleg.adb ada/stylesw.ads ada/system.ads ada/s-carun8.ads \
|
||||
ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imenne.ads \
|
||||
ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads ada/s-rident.ads \
|
||||
ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
|
||||
ada/s-stoele.ads ada/s-stoele.adb ada/s-string.ads ada/s-traent.ads \
|
||||
ada/s-unstyp.ads ada/s-utf_32.ads ada/s-wchcon.ads ada/table.ads \
|
||||
ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tbuild.adb \
|
||||
ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/types.adb \
|
||||
ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
|
||||
ada/unchdeal.ads ada/urealp.ads ada/urealp.adb ada/validsw.ads \
|
||||
ada/widechar.ads
|
||||
|
||||
ada/exp_vfpt.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/a-uncdea.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
|
||||
@ -3468,26 +3470,32 @@ ada/sem_ch13.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/a-uncdea.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
|
||||
ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
|
||||
ada/einfo.adb ada/elists.ads ada/elists.adb ada/err_vars.ads \
|
||||
ada/errout.ads ada/erroutc.ads ada/exp_disp.ads ada/exp_dist.ads \
|
||||
ada/exp_tss.ads ada/exp_util.ads ada/fname.ads ada/fname-uf.ads \
|
||||
ada/get_targ.ads ada/gnat.ads ada/g-hesorg.ads ada/g-hesorg.adb \
|
||||
ada/g-htable.ads ada/hostparm.ads ada/lib.ads ada/lib.adb \
|
||||
ada/errout.ads ada/erroutc.ads ada/eval_fat.ads ada/exp_ch11.ads \
|
||||
ada/exp_disp.ads ada/exp_dist.ads ada/exp_tss.ads ada/exp_util.ads \
|
||||
ada/fname.ads ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads \
|
||||
ada/gnat.ads ada/g-hesorg.ads ada/g-hesorg.adb ada/g-htable.ads \
|
||||
ada/hostparm.ads ada/interfac.ads ada/lib.ads ada/lib.adb \
|
||||
ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb ada/lib-xref.ads \
|
||||
ada/namet.ads ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb \
|
||||
ada/opt.ads ada/output.ads ada/restrict.ads ada/rident.ads \
|
||||
ada/rtsfind.ads ada/rtsfind.adb ada/sem.ads ada/sem_aux.ads \
|
||||
ada/sem_ch13.ads ada/sem_ch13.adb ada/sem_ch3.ads ada/sem_ch7.ads \
|
||||
ada/sem_ch8.ads ada/sem_dist.ads ada/sem_eval.ads ada/sem_res.ads \
|
||||
ada/sem_type.ads ada/sem_util.ads ada/sem_warn.ads ada/sinfo.ads \
|
||||
ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
|
||||
ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
|
||||
ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
|
||||
ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
|
||||
ada/rident.ads ada/rtsfind.ads ada/rtsfind.adb ada/scans.ads \
|
||||
ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads ada/sem_attr.ads \
|
||||
ada/sem_aux.ads ada/sem_cat.ads ada/sem_ch13.ads ada/sem_ch13.adb \
|
||||
ada/sem_ch3.ads ada/sem_ch6.ads ada/sem_ch7.ads ada/sem_ch8.ads \
|
||||
ada/sem_disp.ads ada/sem_dist.ads ada/sem_eval.ads ada/sem_eval.adb \
|
||||
ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb \
|
||||
ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
|
||||
ada/snames.ads ada/stand.ads ada/stringt.ads ada/stringt.adb \
|
||||
ada/style.ads ada/styleg.ads ada/styleg.adb ada/stylesw.ads \
|
||||
ada/system.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
|
||||
ada/s-imenne.ads ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads \
|
||||
ada/s-rident.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
|
||||
ada/s-stoele.ads ada/s-stoele.adb ada/s-string.ads ada/s-traent.ads \
|
||||
ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
|
||||
ada/targparm.ads ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
|
||||
ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
|
||||
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb
|
||||
ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
|
||||
ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-string.ads \
|
||||
ada/s-traent.ads ada/s-unstyp.ads ada/s-utf_32.ads ada/s-wchcon.ads \
|
||||
ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
|
||||
ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
|
||||
ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
|
||||
ada/unchdeal.ads ada/urealp.ads ada/urealp.adb ada/widechar.ads
|
||||
|
||||
ada/sem_ch2.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/a-uncdea.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
|
||||
@ -3872,15 +3880,16 @@ ada/sem_intr.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/gnat.ads ada/g-hesorg.ads ada/g-htable.ads ada/hostparm.ads \
|
||||
ada/lib.ads ada/lib.adb ada/lib-list.adb ada/lib-sort.adb ada/namet.ads \
|
||||
ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/opt.ads ada/output.ads \
|
||||
ada/rident.ads ada/sem_eval.ads ada/sem_intr.ads ada/sem_intr.adb \
|
||||
ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
|
||||
ada/snames.ads ada/stand.ads ada/stringt.ads ada/stringt.adb \
|
||||
ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imenne.ads \
|
||||
ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads ada/s-rident.ads \
|
||||
ada/s-stalib.ads ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads \
|
||||
ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
|
||||
ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
|
||||
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads
|
||||
ada/rident.ads ada/sem_aux.ads ada/sem_aux.adb ada/sem_eval.ads \
|
||||
ada/sem_intr.ads ada/sem_intr.adb ada/sem_util.ads ada/sinfo.ads \
|
||||
ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
|
||||
ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-exctab.ads \
|
||||
ada/s-htable.ads ada/s-imenne.ads ada/s-memory.ads ada/s-os_lib.ads \
|
||||
ada/s-parame.ads ada/s-rident.ads ada/s-stalib.ads ada/s-string.ads \
|
||||
ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
|
||||
ada/table.adb ada/targparm.ads ada/tree_io.ads ada/types.ads \
|
||||
ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
|
||||
ada/unchdeal.ads ada/urealp.ads
|
||||
|
||||
ada/sem_mech.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/a-uncdea.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
|
||||
@ -4029,35 +4038,34 @@ ada/sem_type.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
|
||||
ada/sem_util.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/a-uncdea.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
|
||||
ada/casing.ads ada/casing.adb ada/checks.ads ada/csets.ads \
|
||||
ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads ada/elists.adb \
|
||||
ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/eval_fat.ads \
|
||||
ada/exp_ch11.ads ada/exp_disp.ads ada/exp_dist.ads ada/exp_tss.ads \
|
||||
ada/exp_util.ads ada/fname.ads ada/fname-uf.ads ada/freeze.ads \
|
||||
ada/get_targ.ads ada/gnat.ads ada/g-hesorg.ads ada/g-htable.ads \
|
||||
ada/hostparm.ads ada/interfac.ads ada/lib.ads ada/lib.adb \
|
||||
ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb ada/lib-xref.ads \
|
||||
ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
|
||||
ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
|
||||
ada/rident.ads ada/rtsfind.ads ada/rtsfind.adb ada/scans.ads \
|
||||
ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads ada/sem_attr.ads \
|
||||
ada/sem_aux.ads ada/sem_cat.ads ada/sem_ch6.ads ada/sem_ch7.ads \
|
||||
ada/sem_ch8.ads ada/sem_disp.ads ada/sem_dist.ads ada/sem_eval.ads \
|
||||
ada/sem_eval.adb ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads \
|
||||
ada/sem_util.adb ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb \
|
||||
ada/sinput.ads ada/sinput.adb ada/snames.ads ada/stand.ads \
|
||||
ada/stringt.ads ada/stringt.adb ada/style.ads ada/styleg.ads \
|
||||
ada/styleg.adb ada/stylesw.ads ada/system.ads ada/s-carun8.ads \
|
||||
ada/s-crc32.ads ada/s-crc32.adb ada/s-exctab.ads ada/s-htable.ads \
|
||||
ada/s-htable.adb ada/s-imenne.ads ada/s-memory.ads ada/s-os_lib.ads \
|
||||
ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
|
||||
ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
|
||||
ada/s-strhas.ads ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads \
|
||||
ada/s-utf_32.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
|
||||
ada/targparm.ads ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
|
||||
ada/ttypes.ads ada/types.ads ada/types.adb ada/uintp.ads ada/uintp.adb \
|
||||
ada/uname.ads ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \
|
||||
ada/urealp.adb ada/widechar.ads
|
||||
ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
|
||||
ada/einfo.adb ada/elists.ads ada/elists.adb ada/err_vars.ads \
|
||||
ada/errout.ads ada/erroutc.ads ada/eval_fat.ads ada/exp_ch11.ads \
|
||||
ada/exp_disp.ads ada/exp_dist.ads ada/exp_tss.ads ada/exp_util.ads \
|
||||
ada/fname.ads ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads \
|
||||
ada/gnat.ads ada/g-hesorg.ads ada/g-htable.ads ada/hostparm.ads \
|
||||
ada/interfac.ads ada/lib.ads ada/lib.adb ada/lib-list.adb \
|
||||
ada/lib-load.ads ada/lib-sort.adb ada/lib-xref.ads ada/namet.ads \
|
||||
ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb \
|
||||
ada/opt.ads ada/output.ads ada/restrict.ads ada/rident.ads \
|
||||
ada/rtsfind.ads ada/rtsfind.adb ada/scans.ads ada/scn.ads ada/scng.ads \
|
||||
ada/scng.adb ada/sem.ads ada/sem_attr.ads ada/sem_aux.ads \
|
||||
ada/sem_cat.ads ada/sem_ch6.ads ada/sem_ch7.ads ada/sem_ch8.ads \
|
||||
ada/sem_disp.ads ada/sem_dist.ads ada/sem_eval.ads ada/sem_eval.adb \
|
||||
ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb \
|
||||
ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
|
||||
ada/sinput.adb ada/snames.ads ada/stand.ads ada/stringt.ads \
|
||||
ada/stringt.adb ada/style.ads ada/styleg.ads ada/styleg.adb \
|
||||
ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-crc32.adb \
|
||||
ada/s-exctab.ads ada/s-htable.ads ada/s-htable.adb ada/s-imenne.ads \
|
||||
ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads ada/s-rident.ads \
|
||||
ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
|
||||
ada/s-stoele.ads ada/s-stoele.adb ada/s-strhas.ads ada/s-string.ads \
|
||||
ada/s-traent.ads ada/s-unstyp.ads ada/s-utf_32.ads ada/s-wchcon.ads \
|
||||
ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
|
||||
ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
|
||||
ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
|
||||
ada/unchdeal.ads ada/urealp.ads ada/urealp.adb ada/widechar.ads
|
||||
|
||||
ada/sem_vfpt.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/a-uncdea.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
|
||||
|
@ -8329,6 +8329,25 @@ package body Sem_Ch12 is
|
||||
Ftyp :=
|
||||
Get_Instance_Of (Etype (Defining_Identifier (Analyzed_Formal)));
|
||||
|
||||
-- If the type of the formal is not itself a formal, and the
|
||||
-- current unit is a child unit, the formal type must be declared
|
||||
-- in a parent, and must be retrieved by visibility.
|
||||
|
||||
if Ftyp = Orig_Ftyp
|
||||
and then Is_Generic_Unit (Scope (Ftyp))
|
||||
and then
|
||||
Is_Child_Unit (Scope (Defining_Identifier (Analyzed_Formal)))
|
||||
then
|
||||
declare
|
||||
Temp : constant Node_Id :=
|
||||
New_Copy_Tree (Subtype_Mark (Analyzed_Formal));
|
||||
begin
|
||||
Set_Entity (Temp, Empty);
|
||||
Find_Type (Temp);
|
||||
Ftyp := Entity (Temp);
|
||||
end;
|
||||
end if;
|
||||
|
||||
if Is_Private_Type (Ftyp)
|
||||
and then not Is_Private_Type (Etype (Actual))
|
||||
and then (Base_Type (Full_View (Ftyp)) = Base_Type (Etype (Actual))
|
||||
|
@ -1355,13 +1355,24 @@ package body Sem_Ch13 is
|
||||
then
|
||||
Ignore := True;
|
||||
|
||||
-- Cannot give component size for aliased/atomic types
|
||||
-- Cannot give component size for aliased/atomic components
|
||||
|
||||
elsif Has_Aliased_Components (Btype) then
|
||||
elsif Has_Aliased_Components (Btype)
|
||||
or else Is_Aliased (Ctyp)
|
||||
then
|
||||
Complain_CS ("aliased");
|
||||
|
||||
elsif Has_Atomic_Components (Btype) then
|
||||
elsif Has_Atomic_Components (Btype)
|
||||
or else Is_Atomic (Ctyp)
|
||||
then
|
||||
Complain_CS ("atomic");
|
||||
|
||||
-- Warn for case of atomic type
|
||||
|
||||
elsif Is_Atomic (Btype) then
|
||||
Error_Msg_NE
|
||||
("non-atomic components of type& may not be accessible "
|
||||
& "by separate tasks?", N, Btype);
|
||||
end if;
|
||||
|
||||
-- For the biased case, build a declaration for a subtype
|
||||
|
@ -507,13 +507,21 @@ package body Sem_Ch4 is
|
||||
-- be a null object, and we can insert an unconditional raise
|
||||
-- before the allocator.
|
||||
|
||||
-- Ada2012 (AI-104) : a not null indication here is altogether
|
||||
-- illegal.
|
||||
|
||||
if Can_Never_Be_Null (Type_Id) then
|
||||
declare
|
||||
Not_Null_Check : constant Node_Id :=
|
||||
Make_Raise_Constraint_Error (Sloc (E),
|
||||
Reason => CE_Null_Not_Allowed);
|
||||
begin
|
||||
if Expander_Active then
|
||||
if Ada_Version >= Ada_12 then
|
||||
Error_Msg_N
|
||||
("an uninitialized allocator cannot have"
|
||||
& " a null exclusion", N);
|
||||
|
||||
elsif Expander_Active then
|
||||
Insert_Action (N, Not_Null_Check);
|
||||
Analyze (Not_Null_Check);
|
||||
else
|
||||
|
@ -5948,9 +5948,6 @@ package body Sem_Prag is
|
||||
|
||||
if Nkind (D) /= N_Object_Declaration then
|
||||
E := Base_Type (E);
|
||||
Ctyp := Component_Type (E);
|
||||
else
|
||||
Ctyp := Component_Type (Base_Type (Etype (E)));
|
||||
end if;
|
||||
|
||||
Set_Has_Volatile_Components (E);
|
||||
@ -5961,6 +5958,12 @@ package body Sem_Prag is
|
||||
if Is_Packed (E) then
|
||||
Set_Is_Packed (E, False);
|
||||
|
||||
if Is_Array_Type (E) then
|
||||
Ctyp := Component_Type (E);
|
||||
else
|
||||
Ctyp := Component_Type (Etype (E));
|
||||
end if;
|
||||
|
||||
if not (Known_Static_Esize (Ctyp)
|
||||
and then Known_Static_RM_Size (Ctyp)
|
||||
and then Esize (Ctyp) = RM_Size (Ctyp))
|
||||
@ -9919,7 +9922,7 @@ package body Sem_Prag is
|
||||
and then (Esize (Ctyp) = 8 or else
|
||||
Esize (Ctyp) = 16 or else
|
||||
Esize (Ctyp) = 32 or else
|
||||
Esize (Ctyp) >= 64)
|
||||
Esize (Ctyp) = 64)
|
||||
then
|
||||
Ignore := True;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user