aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_ch11.adb
AgeCommit message (Collapse)AuthorFilesLines
2020-07-27[Ada] Use membership tests in front-endArnaud Charlet1-7/+5
gcc/ada/ * aspects.adb, atree.adb, atree.ads, checks.adb, contracts.adb, einfo.adb, errout.adb, exp_aggr.adb, exp_attr.adb, exp_cg.adb, exp_ch11.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb, exp_ch9.adb, exp_dbug.adb, exp_disp.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb, exp_put_image.adb, exp_smem.adb, exp_tss.adb, exp_unst.adb, exp_util.adb, freeze.adb, ghost.adb, gnat1drv.adb, inline.adb, lib-writ.adb, lib-xref-spark_specific.adb, lib-xref.adb, namet.adb, namet.ads, nlists.adb, par-ch10.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par-prag.adb, par-util.adb, par_sco.adb, pprint.adb, repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb, sem.adb, sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_dim.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb, sem_scil.adb, sem_type.adb, sem_util.adb, sem_warn.adb, sinfo.adb, sinfo.ads, sprint.adb, styleg.adb, tbuild.adb, treepr.adb (Nkind_In, Nam_In, Ekind_In): Removed, replaced by membership tests.
2020-06-08[Ada] Remove processing of SPARK_05 restrictionArnaud Charlet1-10/+0
2020-06-08 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * exp_aggr.adb, exp_ch6.adb, par-ch11.adb, par-ch6.adb, par-ch7.adb, par-prag.adb, restrict.adb, restrict.ads, scans.ads, scng.adb, sem_aggr.adb, sem_attr.adb, sem_ch11.adb, sem_ch12.adb, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb, sem_util.ads, snames.ads-tmpl, gnatbind.adb, libgnat/s-rident.ads, doc/gnat_rm/standard_and_implementation_defined_restrictions.rst: Remove processing of SPARK_05 restriction. * gnat_rm.texi: Regenerate. * opt.ads: Remove processing of old checksum which is now handled by gprbuild directly.
2020-06-02[Ada] Bump copyright yearArnaud Charlet1-1/+1
2020-06-02 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * ada_get_targ.adb: Bump copyright year. * adabkend.adb: Likewise. * adabkend.ads: Likewise. * adadecode.c: Likewise. * adadecode.h: Likewise. * adaint.c: Likewise. * adaint.h: Likewise. * affinity.c: Likewise. * ali-util.adb: Likewise. * ali-util.ads: Likewise. * ali.adb: Likewise. * ali.ads: Likewise. * alloc.ads: Likewise. * argv-lynxos178-raven-cert.c: Likewise. * argv.c: Likewise. * aspects.adb: Likewise. * aspects.ads: Likewise. * atree.adb: Likewise. * atree.ads: Likewise. * atree.h: Likewise. * aux-io.c: Likewise. * back_end.adb: Likewise. * back_end.ads: Likewise. * bcheck.adb: Likewise. * bcheck.ads: Likewise. * binde.adb: Likewise. * binde.ads: Likewise. * binderr.adb: Likewise. * binderr.ads: Likewise. * bindgen.adb: Likewise. * bindgen.ads: Likewise. * bindo-augmentors.adb: Likewise. * bindo-augmentors.ads: Likewise. * bindo-builders.adb: Likewise. * bindo-builders.ads: Likewise. * bindo-diagnostics.adb: Likewise. * bindo-diagnostics.ads: Likewise. * bindo-elaborators.adb: Likewise. * bindo-elaborators.ads: Likewise. * bindo-graphs.adb: Likewise. * bindo-graphs.ads: Likewise. * bindo-units.adb: Likewise. * bindo-units.ads: Likewise. * bindo-validators.adb: Likewise. * bindo-validators.ads: Likewise. * bindo-writers.adb: Likewise. * bindo-writers.ads: Likewise. * bindo.adb: Likewise. * bindo.ads: Likewise. * bindusg.adb: Likewise. * bindusg.ads: Likewise. * butil.adb: Likewise. * butil.ads: Likewise. * cal.c: Likewise. * casing.adb: Likewise. * casing.ads: Likewise. * ceinfo.adb: Likewise. * checks.adb: Likewise. * checks.ads: Likewise. * cio.c: Likewise. * clean.adb: Likewise. * clean.ads: Likewise. * comperr.adb: Likewise. * comperr.ads: Likewise. * contracts.adb: Likewise. * contracts.ads: Likewise. * csets.adb: Likewise. * csets.ads: Likewise. * csinfo.adb: Likewise. * cstand.adb: Likewise. * cstand.ads: Likewise. * cstreams.c: Likewise. * ctrl_c.c: Likewise. * debug.adb: Likewise. * debug.ads: Likewise. * debug_a.adb: Likewise. * debug_a.ads: Likewise. * einfo.adb: Likewise. * einfo.ads: Likewise. * elists.adb: Likewise. * elists.ads: Likewise. * elists.h: Likewise. * env.c: Likewise. * env.h: Likewise. * err_vars.ads: Likewise. * errno.c: Likewise. * errout.adb: Likewise. * errout.ads: Likewise. * erroutc.adb: Likewise. * erroutc.ads: Likewise. * errutil.adb: Likewise. * errutil.ads: Likewise. * eval_fat.adb: Likewise. * eval_fat.ads: Likewise. * exit.c: Likewise. * exp_aggr.adb: Likewise. * exp_aggr.ads: Likewise. * exp_atag.adb: Likewise. * exp_atag.ads: Likewise. * exp_attr.adb: Likewise. * exp_attr.ads: Likewise. * exp_cg.adb: Likewise. * exp_cg.ads: Likewise. * exp_ch10.ads: Likewise. * exp_ch11.adb: Likewise. * exp_ch11.ads: Likewise. * exp_ch12.adb: Likewise. * exp_ch12.ads: Likewise. * exp_ch13.adb: Likewise. * exp_ch13.ads: Likewise. * exp_ch2.adb: Likewise. * exp_ch2.ads: Likewise. * exp_ch3.adb: Likewise. * exp_ch3.ads: Likewise. * exp_ch4.adb: Likewise. * exp_ch4.ads: Likewise. * exp_ch5.adb: Likewise. * exp_ch5.ads: Likewise. * exp_ch6.adb: Likewise. * exp_ch6.ads: Likewise. * exp_ch7.adb: Likewise. * exp_ch7.ads: Likewise. * exp_ch8.adb: Likewise. * exp_ch8.ads: Likewise. * exp_ch9.adb: Likewise. * exp_ch9.ads: Likewise. * exp_code.adb: Likewise. * exp_code.ads: Likewise. * exp_dbug.adb: Likewise. * exp_dbug.ads: Likewise. * exp_disp.adb: Likewise. * exp_disp.ads: Likewise. * exp_dist.adb: Likewise. * exp_dist.ads: Likewise. * exp_fixd.adb: Likewise. * exp_fixd.ads: Likewise. * exp_imgv.adb: Likewise. * exp_imgv.ads: Likewise. * exp_intr.adb: Likewise. * exp_intr.ads: Likewise. * exp_pakd.adb: Likewise. * exp_pakd.ads: Likewise. * exp_prag.adb: Likewise. * exp_prag.ads: Likewise. * exp_sel.adb: Likewise. * exp_sel.ads: Likewise. * exp_smem.adb: Likewise. * exp_smem.ads: Likewise. * exp_spark.adb: Likewise. * exp_spark.ads: Likewise. * exp_strm.adb: Likewise. * exp_strm.ads: Likewise. * exp_tss.adb: Likewise. * exp_tss.ads: Likewise. * exp_unst.adb: Likewise. * exp_unst.ads: Likewise. * exp_util.adb: Likewise. * exp_util.ads: Likewise. * expander.adb: Likewise. * expander.ads: Likewise. * expect.c: Likewise. * fe.h: Likewise. * final.c: Likewise. * fmap.adb: Likewise. * fmap.ads: Likewise. * fname-sf.adb: Likewise. * fname-sf.ads: Likewise. * fname-uf.adb: Likewise. * fname-uf.ads: Likewise. * fname.adb: Likewise. * fname.ads: Likewise. * freeze.adb: Likewise. * freeze.ads: Likewise. * frontend.adb: Likewise. * frontend.ads: Likewise. * get_scos.adb: Likewise. * get_scos.ads: Likewise. * get_targ.adb: Likewise. * get_targ.ads: Likewise. * ghost.adb: Likewise. * ghost.ads: Likewise. * gnat1drv.adb: Likewise. * gnat1drv.ads: Likewise. * gnatbind.adb: Likewise. * gnatbind.ads: Likewise. * gnatchop.adb: Likewise. * gnatclean.adb: Likewise. * gnatcmd.adb: Likewise. * gnatcmd.ads: Likewise. * gnatdll.adb: Likewise. * gnatfind.adb: Likewise. * gnatkr.adb: Likewise. * gnatkr.ads: Likewise. * gnatlink.adb: Likewise. * gnatlink.ads: Likewise. * gnatls.adb: Likewise. * gnatls.ads: Likewise. * gnatmake.adb: Likewise. * gnatmake.ads: Likewise. * gnatname.adb: Likewise. * gnatname.ads: Likewise. * gnatprep.adb: Likewise. * gnatprep.ads: Likewise. * gnatvsn.adb: Likewise. * gnatxref.adb: Likewise. * gprep.adb: Likewise. * gprep.ads: Likewise. * gsocket.h: Likewise. * hostparm.ads: Likewise. * impunit.adb: Likewise. * impunit.ads: Likewise. * indepsw-aix.adb: Likewise. * indepsw-darwin.adb: Likewise. * indepsw-gnu.adb: Likewise. * indepsw.adb: Likewise. * indepsw.ads: Likewise. * init.c: Likewise. * initialize.c: Likewise. * inline.adb: Likewise. * inline.ads: Likewise. * itypes.adb: Likewise. * itypes.ads: Likewise. * krunch.adb: Likewise. * krunch.ads: Likewise. * layout.adb: Likewise. * layout.ads: Likewise. * lib-list.adb: Likewise. * lib-load.adb: Likewise. * lib-load.ads: Likewise. * lib-sort.adb: Likewise. * lib-util.adb: Likewise. * lib-util.ads: Likewise. * lib-writ.adb: Likewise. * lib-writ.ads: Likewise. * lib-xref-spark_specific.adb: Likewise. * lib-xref.adb: Likewise. * lib-xref.ads: Likewise. * lib.adb: Likewise. * lib.ads: Likewise. * libgnarl/a-astaco.adb: Likewise. * libgnarl/a-dispat.adb: Likewise. * libgnarl/a-dynpri.adb: Likewise. * libgnarl/a-etgrbu.ads: Likewise. * libgnarl/a-exetim__darwin.adb: Likewise. * libgnarl/a-exetim__default.ads: Likewise. * libgnarl/a-exetim__mingw.adb: Likewise. * libgnarl/a-exetim__mingw.ads: Likewise. * libgnarl/a-exetim__posix.adb: Likewise. * libgnarl/a-interr.adb: Likewise. * libgnarl/a-interr.ads: Likewise. * libgnarl/a-intnam.ads: Likewise. * libgnarl/a-intnam__aix.ads: Likewise. * libgnarl/a-intnam__darwin.ads: Likewise. * libgnarl/a-intnam__dragonfly.ads: Likewise. * libgnarl/a-intnam__dummy.ads: Likewise. * libgnarl/a-intnam__freebsd.ads: Likewise. * libgnarl/a-intnam__hpux.ads: Likewise. * libgnarl/a-intnam__linux.ads: Likewise. * libgnarl/a-intnam__lynxos.ads: Likewise. * libgnarl/a-intnam__mingw.ads: Likewise. * libgnarl/a-intnam__qnx.ads: Likewise. * libgnarl/a-intnam__rtems.ads: Likewise. * libgnarl/a-intnam__solaris.ads: Likewise. * libgnarl/a-intnam__vxworks.ads: Likewise. * libgnarl/a-reatim.adb: Likewise. * libgnarl/a-reatim.ads: Likewise. * libgnarl/a-retide.adb: Likewise. * libgnarl/a-retide.ads: Likewise. * libgnarl/a-rttiev.adb: Likewise. * libgnarl/a-rttiev.ads: Likewise. * libgnarl/a-synbar.adb: Likewise. * libgnarl/a-synbar.ads: Likewise. * libgnarl/a-synbar__posix.adb: Likewise. * libgnarl/a-synbar__posix.ads: Likewise. * libgnarl/a-sytaco.adb: Likewise. * libgnarl/a-sytaco.ads: Likewise. * libgnarl/a-tasatt.adb: Likewise. * libgnarl/a-tasatt.ads: Likewise. * libgnarl/a-taside.adb: Likewise. * libgnarl/a-taside.ads: Likewise. * libgnarl/a-taster.adb: Likewise. * libgnarl/g-boubuf.adb: Likewise. * libgnarl/g-boubuf.ads: Likewise. * libgnarl/g-boumai.ads: Likewise. * libgnarl/g-semaph.adb: Likewise. * libgnarl/g-semaph.ads: Likewise. * libgnarl/g-signal.adb: Likewise. * libgnarl/g-signal.ads: Likewise. * libgnarl/g-tastus.ads: Likewise. * libgnarl/g-thread.adb: Likewise. * libgnarl/g-thread.ads: Likewise. * libgnarl/i-vxinco.adb: Likewise. * libgnarl/i-vxinco.ads: Likewise. * libgnarl/s-inmaop.ads: Likewise. * libgnarl/s-inmaop__dummy.adb: Likewise. * libgnarl/s-inmaop__posix.adb: Likewise. * libgnarl/s-inmaop__vxworks.adb: Likewise. * libgnarl/s-interr.adb: Likewise. * libgnarl/s-interr.ads: Likewise. * libgnarl/s-interr__dummy.adb: Likewise. * libgnarl/s-interr__hwint.adb: Likewise. * libgnarl/s-interr__sigaction.adb: Likewise. * libgnarl/s-interr__vxworks.adb: Likewise. * libgnarl/s-intman.ads: Likewise. * libgnarl/s-intman__android.adb: Likewise. * libgnarl/s-intman__dummy.adb: Likewise. * libgnarl/s-intman__lynxos.adb: Likewise. * libgnarl/s-intman__mingw.adb: Likewise. * libgnarl/s-intman__posix.adb: Likewise. * libgnarl/s-intman__qnx.adb: Likewise. * libgnarl/s-intman__solaris.adb: Likewise. * libgnarl/s-intman__susv3.adb: Likewise. * libgnarl/s-intman__vxworks.adb: Likewise. * libgnarl/s-intman__vxworks.ads: Likewise. * libgnarl/s-linux.ads: Likewise. * libgnarl/s-linux__alpha.ads: Likewise. * libgnarl/s-linux__android.ads: Likewise. * libgnarl/s-linux__hppa.ads: Likewise. * libgnarl/s-linux__mips.ads: Likewise. * libgnarl/s-linux__riscv.ads: Likewise. * libgnarl/s-linux__sparc.ads: Likewise. * libgnarl/s-linux__x32.ads: Likewise. * libgnarl/s-mudido.adb: Likewise. * libgnarl/s-mudido__affinity.adb: Likewise. * libgnarl/s-osinte__aix.adb: Likewise. * libgnarl/s-osinte__aix.ads: Likewise. * libgnarl/s-osinte__android.adb: Likewise. * libgnarl/s-osinte__android.ads: Likewise. * libgnarl/s-osinte__darwin.adb: Likewise. * libgnarl/s-osinte__darwin.ads: Likewise. * libgnarl/s-osinte__dragonfly.adb: Likewise. * libgnarl/s-osinte__dragonfly.ads: Likewise. * libgnarl/s-osinte__dummy.ads: Likewise. * libgnarl/s-osinte__freebsd.adb: Likewise. * libgnarl/s-osinte__freebsd.ads: Likewise. * libgnarl/s-osinte__gnu.adb: Likewise. * libgnarl/s-osinte__gnu.ads: Likewise. * libgnarl/s-osinte__hpux-dce.adb: Likewise. * libgnarl/s-osinte__hpux-dce.ads: Likewise. * libgnarl/s-osinte__hpux.ads: Likewise. * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise. * libgnarl/s-osinte__linux.ads: Likewise. * libgnarl/s-osinte__lynxos178.adb: Likewise. * libgnarl/s-osinte__lynxos178e.ads: Likewise. * libgnarl/s-osinte__mingw.ads: Likewise. * libgnarl/s-osinte__posix.adb: Likewise. * libgnarl/s-osinte__qnx.adb: Likewise. * libgnarl/s-osinte__qnx.ads: Likewise. * libgnarl/s-osinte__rtems.adb: Likewise. * libgnarl/s-osinte__rtems.ads: Likewise. * libgnarl/s-osinte__solaris.adb: Likewise. * libgnarl/s-osinte__solaris.ads: Likewise. * libgnarl/s-osinte__vxworks.adb: Likewise. * libgnarl/s-osinte__vxworks.ads: Likewise. * libgnarl/s-osinte__x32.adb: Likewise. * libgnarl/s-proinf.adb: Likewise. * libgnarl/s-proinf.ads: Likewise. * libgnarl/s-qnx.ads: Likewise. * libgnarl/s-solita.adb: Likewise. * libgnarl/s-solita.ads: Likewise. * libgnarl/s-stusta.adb: Likewise. * libgnarl/s-stusta.ads: Likewise. * libgnarl/s-taasde.adb: Likewise. * libgnarl/s-taasde.ads: Likewise. * libgnarl/s-tadeca.adb: Likewise. * libgnarl/s-tadeca.ads: Likewise. * libgnarl/s-tadert.adb: Likewise. * libgnarl/s-tadert.ads: Likewise. * libgnarl/s-taenca.adb: Likewise. * libgnarl/s-taenca.ads: Likewise. * libgnarl/s-taprob.adb: Likewise. * libgnarl/s-taprob.ads: Likewise. * libgnarl/s-taprop.ads: Likewise. * libgnarl/s-taprop__dummy.adb: Likewise. * libgnarl/s-taprop__hpux-dce.adb: Likewise. * libgnarl/s-taprop__linux.adb: Likewise. * libgnarl/s-taprop__mingw.adb: Likewise. * libgnarl/s-taprop__posix.adb: Likewise. * libgnarl/s-taprop__qnx.adb: Likewise. * libgnarl/s-taprop__solaris.adb: Likewise. * libgnarl/s-taprop__vxworks.adb: Likewise. * libgnarl/s-tarest.adb: Likewise. * libgnarl/s-tarest.ads: Likewise. * libgnarl/s-tasdeb.adb: Likewise. * libgnarl/s-tasdeb.ads: Likewise. * libgnarl/s-tasinf.adb: Likewise. * libgnarl/s-tasinf.ads: Likewise. * libgnarl/s-tasinf__linux.adb: Likewise. * libgnarl/s-tasinf__linux.ads: Likewise. * libgnarl/s-tasinf__mingw.adb: Likewise. * libgnarl/s-tasinf__mingw.ads: Likewise. * libgnarl/s-tasinf__solaris.adb: Likewise. * libgnarl/s-tasinf__solaris.ads: Likewise. * libgnarl/s-tasinf__vxworks.ads: Likewise. * libgnarl/s-tasini.adb: Likewise. * libgnarl/s-tasini.ads: Likewise. * libgnarl/s-taskin.adb: Likewise. * libgnarl/s-taskin.ads: Likewise. * libgnarl/s-taspri__dummy.ads: Likewise. * libgnarl/s-taspri__hpux-dce.ads: Likewise. * libgnarl/s-taspri__lynxos.ads: Likewise. * libgnarl/s-taspri__mingw.ads: Likewise. * libgnarl/s-taspri__posix-noaltstack.ads: Likewise. * libgnarl/s-taspri__posix.ads: Likewise. * libgnarl/s-taspri__solaris.ads: Likewise. * libgnarl/s-taspri__vxworks.ads: Likewise. * libgnarl/s-tasque.adb: Likewise. * libgnarl/s-tasque.ads: Likewise. * libgnarl/s-tasren.adb: Likewise. * libgnarl/s-tasren.ads: Likewise. * libgnarl/s-tasres.ads: Likewise. * libgnarl/s-tassta.adb: Likewise. * libgnarl/s-tassta.ads: Likewise. * libgnarl/s-tasuti.adb: Likewise. * libgnarl/s-tasuti.ads: Likewise. * libgnarl/s-tataat.adb: Likewise. * libgnarl/s-tataat.ads: Likewise. * libgnarl/s-tpinop.adb: Likewise. * libgnarl/s-tpinop.ads: Likewise. * libgnarl/s-tpoaal.adb: Likewise. * libgnarl/s-tpoben.adb: Likewise. * libgnarl/s-tpoben.ads: Likewise. * libgnarl/s-tpobmu.adb: Likewise. * libgnarl/s-tpobmu.ads: Likewise. * libgnarl/s-tpobop.adb: Likewise. * libgnarl/s-tpobop.ads: Likewise. * libgnarl/s-tpopmo.adb: Likewise. * libgnarl/s-tpopsp__posix-foreign.adb: Likewise. * libgnarl/s-tpopsp__posix.adb: Likewise. * libgnarl/s-tpopsp__solaris.adb: Likewise. * libgnarl/s-tpopsp__tls.adb: Likewise. * libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise. * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise. * libgnarl/s-tpopsp__vxworks.adb: Likewise. * libgnarl/s-tporft.adb: Likewise. * libgnarl/s-tposen.adb: Likewise. * libgnarl/s-tposen.ads: Likewise. * libgnarl/s-vxwext.adb: Likewise. * libgnarl/s-vxwext.ads: Likewise. * libgnarl/s-vxwext__kernel-smp.adb: Likewise. * libgnarl/s-vxwext__kernel.adb: Likewise. * libgnarl/s-vxwext__kernel.ads: Likewise. * libgnarl/s-vxwext__noints.adb: Likewise. * libgnarl/s-vxwext__rtp-smp.adb: Likewise. * libgnarl/s-vxwext__rtp.adb: Likewise. * libgnarl/s-vxwext__rtp.ads: Likewise. * libgnarl/s-vxwext__vthreads.ads: Likewise. * libgnarl/s-vxwork__aarch64.ads: Likewise. * libgnarl/s-vxwork__arm.ads: Likewise. * libgnarl/s-vxwork__ppc.ads: Likewise. * libgnarl/s-vxwork__x86.ads: Likewise. * libgnarl/thread.c: Likewise. * libgnat/a-assert.adb: Likewise. * libgnat/a-assert.ads: Likewise. * libgnat/a-btgbso.adb: Likewise. * libgnat/a-btgbso.ads: Likewise. * libgnat/a-calari.adb: Likewise. * libgnat/a-calari.ads: Likewise. * libgnat/a-calcon.adb: Likewise. * libgnat/a-calcon.ads: Likewise. * libgnat/a-caldel.adb: Likewise. * libgnat/a-caldel.ads: Likewise. * libgnat/a-calend.adb: Likewise. * libgnat/a-calend.ads: Likewise. * libgnat/a-calfor.adb: Likewise. * libgnat/a-calfor.ads: Likewise. * libgnat/a-catizo.adb: Likewise. * libgnat/a-cbdlli.adb: Likewise. * libgnat/a-cbdlli.ads: Likewise. * libgnat/a-cbhama.adb: Likewise. * libgnat/a-cbhama.ads: Likewise. * libgnat/a-cbhase.adb: Likewise. * libgnat/a-cbhase.ads: Likewise. * libgnat/a-cbmutr.adb: Likewise. * libgnat/a-cbmutr.ads: Likewise. * libgnat/a-cborma.adb: Likewise. * libgnat/a-cborma.ads: Likewise. * libgnat/a-cborse.adb: Likewise. * libgnat/a-cborse.ads: Likewise. * libgnat/a-cbprqu.adb: Likewise. * libgnat/a-cbprqu.ads: Likewise. * libgnat/a-cbsyqu.adb: Likewise. * libgnat/a-cbsyqu.ads: Likewise. * libgnat/a-cdlili.adb: Likewise. * libgnat/a-cdlili.ads: Likewise. * libgnat/a-cfdlli.adb: Likewise. * libgnat/a-cfdlli.ads: Likewise. * libgnat/a-cfhama.adb: Likewise. * libgnat/a-cfhama.ads: Likewise. * libgnat/a-cfhase.adb: Likewise. * libgnat/a-cfhase.ads: Likewise. * libgnat/a-cfinve.adb: Likewise. * libgnat/a-cfinve.ads: Likewise. * libgnat/a-cforma.adb: Likewise. * libgnat/a-cforma.ads: Likewise. * libgnat/a-cforse.adb: Likewise. * libgnat/a-cforse.ads: Likewise. * libgnat/a-cgaaso.adb: Likewise. * libgnat/a-cgaaso.ads: Likewise. * libgnat/a-cgarso.adb: Likewise. * libgnat/a-cgcaso.adb: Likewise. * libgnat/a-chacon.adb: Likewise. * libgnat/a-chacon.ads: Likewise. * libgnat/a-chahan.adb: Likewise. * libgnat/a-chahan.ads: Likewise. * libgnat/a-chlat9.ads: Likewise. * libgnat/a-chtgbk.adb: Likewise. * libgnat/a-chtgbk.ads: Likewise. * libgnat/a-chtgbo.adb: Likewise. * libgnat/a-chtgbo.ads: Likewise. * libgnat/a-chtgke.adb: Likewise. * libgnat/a-chtgke.ads: Likewise. * libgnat/a-chtgop.adb: Likewise. * libgnat/a-chtgop.ads: Likewise. * libgnat/a-chzla1.ads: Likewise. * libgnat/a-chzla9.ads: Likewise. * libgnat/a-cidlli.adb: Likewise. * libgnat/a-cidlli.ads: Likewise. * libgnat/a-cihama.adb: Likewise. * libgnat/a-cihama.ads: Likewise. * libgnat/a-cihase.adb: Likewise. * libgnat/a-cihase.ads: Likewise. * libgnat/a-cimutr.adb: Likewise. * libgnat/a-cimutr.ads: Likewise. * libgnat/a-ciorma.adb: Likewise. * libgnat/a-ciorma.ads: Likewise. * libgnat/a-ciormu.adb: Likewise. * libgnat/a-ciormu.ads: Likewise. * libgnat/a-ciorse.adb: Likewise. * libgnat/a-ciorse.ads: Likewise. * libgnat/a-clrefi.adb: Likewise. * libgnat/a-clrefi.ads: Likewise. * libgnat/a-coboho.adb: Likewise. * libgnat/a-coboho.ads: Likewise. * libgnat/a-cobove.adb: Likewise. * libgnat/a-cobove.ads: Likewise. * libgnat/a-cofove.adb: Likewise. * libgnat/a-cofove.ads: Likewise. * libgnat/a-cofuba.adb: Likewise. * libgnat/a-cofuba.ads: Likewise. * libgnat/a-cofuma.adb: Likewise. * libgnat/a-cofuma.ads: Likewise. * libgnat/a-cofuse.adb: Likewise. * libgnat/a-cofuse.ads: Likewise. * libgnat/a-cofuve.adb: Likewise. * libgnat/a-cofuve.ads: Likewise. * libgnat/a-cogeso.adb: Likewise. * libgnat/a-cogeso.ads: Likewise. * libgnat/a-cohama.adb: Likewise. * libgnat/a-cohama.ads: Likewise. * libgnat/a-cohase.adb: Likewise. * libgnat/a-cohase.ads: Likewise. * libgnat/a-cohata.ads: Likewise. * libgnat/a-coinho.adb: Likewise. * libgnat/a-coinho.ads: Likewise. * libgnat/a-coinho__shared.adb: Likewise. * libgnat/a-coinho__shared.ads: Likewise. * libgnat/a-coinve.adb: Likewise. * libgnat/a-coinve.ads: Likewise. * libgnat/a-colien.adb: Likewise. * libgnat/a-colien.ads: Likewise. * libgnat/a-colire.adb: Likewise. * libgnat/a-colire.ads: Likewise. * libgnat/a-comlin.adb: Likewise. * libgnat/a-comlin.ads: Likewise. * libgnat/a-comutr.adb: Likewise. * libgnat/a-comutr.ads: Likewise. * libgnat/a-conhel.adb: Likewise. * libgnat/a-conhel.ads: Likewise. * libgnat/a-convec.adb: Likewise. * libgnat/a-convec.ads: Likewise. * libgnat/a-coorma.adb: Likewise. * libgnat/a-coorma.ads: Likewise. * libgnat/a-coormu.adb: Likewise. * libgnat/a-coormu.ads: Likewise. * libgnat/a-coorse.adb: Likewise. * libgnat/a-coorse.ads: Likewise. * libgnat/a-coprnu.adb: Likewise. * libgnat/a-coprnu.ads: Likewise. * libgnat/a-crbltr.ads: Likewise. * libgnat/a-crbtgk.adb: Likewise. * libgnat/a-crbtgk.ads: Likewise. * libgnat/a-crbtgo.adb: Likewise. * libgnat/a-crbtgo.ads: Likewise. * libgnat/a-crdlli.adb: Likewise. * libgnat/a-crdlli.ads: Likewise. * libgnat/a-csquin.ads: Likewise. * libgnat/a-cuprqu.adb: Likewise. * libgnat/a-cuprqu.ads: Likewise. * libgnat/a-cusyqu.adb: Likewise. * libgnat/a-cusyqu.ads: Likewise. * libgnat/a-cwila1.ads: Likewise. * libgnat/a-cwila9.ads: Likewise. * libgnat/a-decima.adb: Likewise. * libgnat/a-decima.ads: Likewise. * libgnat/a-dhfina.adb: Likewise. * libgnat/a-dhfina.ads: Likewise. * libgnat/a-diocst.adb: Likewise. * libgnat/a-diocst.ads: Likewise. * libgnat/a-direct.adb: Likewise. * libgnat/a-direct.ads: Likewise. * libgnat/a-direio.adb: Likewise. * libgnat/a-direio.ads: Likewise. * libgnat/a-dirval.adb: Likewise. * libgnat/a-dirval.ads: Likewise. * libgnat/a-dirval__mingw.adb: Likewise. * libgnat/a-einuoc.adb: Likewise. * libgnat/a-einuoc.ads: Likewise. * libgnat/a-elchha.adb: Likewise. * libgnat/a-elchha.ads: Likewise. * libgnat/a-elchha__vxworks-ppc-full.adb: Likewise. * libgnat/a-envvar.adb: Likewise. * libgnat/a-excach.adb: Likewise. * libgnat/a-except.adb: Likewise. * libgnat/a-except.ads: Likewise. * libgnat/a-excpol.adb: Likewise. * libgnat/a-excpol__abort.adb: Likewise. * libgnat/a-exctra.adb: Likewise. * libgnat/a-exctra.ads: Likewise. * libgnat/a-exexda.adb: Likewise. * libgnat/a-exexpr.adb: Likewise. * libgnat/a-exextr.adb: Likewise. * libgnat/a-exstat.adb: Likewise. * libgnat/a-finali.adb: Likewise. * libgnat/a-finali.ads: Likewise. * libgnat/a-locale.adb: Likewise. * libgnat/a-locale.ads: Likewise. * libgnat/a-nbnbin.adb: Likewise. * libgnat/a-nbnbin__gmp.adb: Likewise. * libgnat/a-nbnbre.adb: Likewise. * libgnat/a-ngcefu.adb: Likewise. * libgnat/a-ngcoar.adb: Likewise. * libgnat/a-ngcoty.adb: Likewise. * libgnat/a-ngcoty.ads: Likewise. * libgnat/a-ngelfu.adb: Likewise. * libgnat/a-ngelfu.ads: Likewise. * libgnat/a-ngrear.adb: Likewise. * libgnat/a-ngrear.ads: Likewise. * libgnat/a-nudira.adb: Likewise. * libgnat/a-nudira.ads: Likewise. * libgnat/a-nuflra.adb: Likewise. * libgnat/a-nuflra.ads: Likewise. * libgnat/a-numaux.ads: Likewise. * libgnat/a-numaux__darwin.adb: Likewise. * libgnat/a-numaux__darwin.ads: Likewise. * libgnat/a-numaux__libc-x86.ads: Likewise. * libgnat/a-numaux__vxworks.ads: Likewise. * libgnat/a-numaux__x86.adb: Likewise. * libgnat/a-numaux__x86.ads: Likewise. * libgnat/a-rbtgbk.adb: Likewise. * libgnat/a-rbtgbk.ads: Likewise. * libgnat/a-rbtgbo.adb: Likewise. * libgnat/a-rbtgbo.ads: Likewise. * libgnat/a-rbtgso.adb: Likewise. * libgnat/a-rbtgso.ads: Likewise. * libgnat/a-sbecin.adb: Likewise. * libgnat/a-sbecin.ads: Likewise. * libgnat/a-sbhcin.adb: Likewise. * libgnat/a-sbhcin.ads: Likewise. * libgnat/a-sblcin.adb: Likewise. * libgnat/a-sblcin.ads: Likewise. * libgnat/a-secain.adb: Likewise. * libgnat/a-secain.ads: Likewise. * libgnat/a-sequio.adb: Likewise. * libgnat/a-sequio.ads: Likewise. * libgnat/a-sfecin.ads: Likewise. * libgnat/a-sfhcin.ads: Likewise. * libgnat/a-sflcin.ads: Likewise. * libgnat/a-shcain.adb: Likewise. * libgnat/a-shcain.ads: Likewise. * libgnat/a-siocst.adb: Likewise. * libgnat/a-siocst.ads: Likewise. * libgnat/a-slcain.adb: Likewise. * libgnat/a-slcain.ads: Likewise. * libgnat/a-ssicst.adb: Likewise. * libgnat/a-ssicst.ads: Likewise. * libgnat/a-stboha.adb: Likewise. * libgnat/a-stmaco.ads: Likewise. * libgnat/a-storio.adb: Likewise. * libgnat/a-strbou.adb: Likewise. * libgnat/a-strbou.ads: Likewise. * libgnat/a-stream.adb: Likewise. * libgnat/a-stream.ads: Likewise. * libgnat/a-strfix.adb: Likewise. * libgnat/a-strhas.adb: Likewise. * libgnat/a-strmap.adb: Likewise. * libgnat/a-strmap.ads: Likewise. * libgnat/a-strsea.adb: Likewise. * libgnat/a-strsea.ads: Likewise. * libgnat/a-strsup.adb: Likewise. * libgnat/a-strsup.ads: Likewise. * libgnat/a-strunb.adb: Likewise. * libgnat/a-strunb.ads: Likewise. * libgnat/a-strunb__shared.adb: Likewise. * libgnat/a-strunb__shared.ads: Likewise. * libgnat/a-ststio.adb: Likewise. * libgnat/a-ststio.ads: Likewise. * libgnat/a-stunau.adb: Likewise. * libgnat/a-stunau.ads: Likewise. * libgnat/a-stunau__shared.adb: Likewise. * libgnat/a-stunha.adb: Likewise. * libgnat/a-stuten.adb: Likewise. * libgnat/a-stwibo.adb: Likewise. * libgnat/a-stwibo.ads: Likewise. * libgnat/a-stwifi.adb: Likewise. * libgnat/a-stwiha.adb: Likewise. * libgnat/a-stwima.adb: Likewise. * libgnat/a-stwima.ads: Likewise. * libgnat/a-stwise.adb: Likewise. * libgnat/a-stwise.ads: Likewise. * libgnat/a-stwisu.adb: Likewise. * libgnat/a-stwisu.ads: Likewise. * libgnat/a-stwiun.adb: Likewise. * libgnat/a-stwiun.ads: Likewise. * libgnat/a-stwiun__shared.adb: Likewise. * libgnat/a-stwiun__shared.ads: Likewise. * libgnat/a-stzbou.adb: Likewise. * libgnat/a-stzbou.ads: Likewise. * libgnat/a-stzfix.adb: Likewise. * libgnat/a-stzhas.adb: Likewise. * libgnat/a-stzmap.adb: Likewise. * libgnat/a-stzmap.ads: Likewise. * libgnat/a-stzsea.adb: Likewise. * libgnat/a-stzsea.ads: Likewise. * libgnat/a-stzsup.adb: Likewise. * libgnat/a-stzsup.ads: Likewise. * libgnat/a-stzunb.adb: Likewise. * libgnat/a-stzunb.ads: Likewise. * libgnat/a-stzunb__shared.adb: Likewise. * libgnat/a-stzunb__shared.ads: Likewise. * libgnat/a-suecin.adb: Likewise. * libgnat/a-suecin.ads: Likewise. * libgnat/a-suenco.adb: Likewise. * libgnat/a-suenst.adb: Likewise. * libgnat/a-suewst.adb: Likewise. * libgnat/a-suezst.adb: Likewise. * libgnat/a-suhcin.adb: Likewise. * libgnat/a-suhcin.ads: Likewise. * libgnat/a-sulcin.adb: Likewise. * libgnat/a-sulcin.ads: Likewise. * libgnat/a-suteio.adb: Likewise. * libgnat/a-suteio.ads: Likewise. * libgnat/a-suteio__shared.adb: Likewise. * libgnat/a-swbwha.adb: Likewise. * libgnat/a-swmwco.ads: Likewise. * libgnat/a-swunau.adb: Likewise. * libgnat/a-swunau.ads: Likewise. * libgnat/a-swunau__shared.adb: Likewise. * libgnat/a-swuwha.adb: Likewise. * libgnat/a-swuwti.adb: Likewise. * libgnat/a-swuwti.ads: Likewise. * libgnat/a-swuwti__shared.adb: Likewise. * libgnat/a-szbzha.adb: Likewise. * libgnat/a-szmzco.ads: Likewise. * libgnat/a-szunau.adb: Likewise. * libgnat/a-szunau.ads: Likewise. * libgnat/a-szunau__shared.adb: Likewise. * libgnat/a-szuzha.adb: Likewise. * libgnat/a-szuzti.adb: Likewise. * libgnat/a-szuzti.ads: Likewise. * libgnat/a-szuzti__shared.adb: Likewise. * libgnat/a-tags.adb: Likewise. * libgnat/a-tags.ads: Likewise. * libgnat/a-teioed.adb: Likewise. * libgnat/a-teioed.ads: Likewise. * libgnat/a-textio.adb: Likewise. * libgnat/a-textio.ads: Likewise. * libgnat/a-tiboio.adb: Likewise. * libgnat/a-ticoau.adb: Likewise. * libgnat/a-ticoau.ads: Likewise. * libgnat/a-ticoio.adb: Likewise. * libgnat/a-ticoio.ads: Likewise. * libgnat/a-tideau.adb: Likewise. * libgnat/a-tideau.ads: Likewise. * libgnat/a-tideio.adb: Likewise. * libgnat/a-tideio.ads: Likewise. * libgnat/a-tienau.adb: Likewise. * libgnat/a-tienau.ads: Likewise. * libgnat/a-tienio.adb: Likewise. * libgnat/a-tifiio.adb: Likewise. * libgnat/a-tiflau.adb: Likewise. * libgnat/a-tiflau.ads: Likewise. * libgnat/a-tiflio.adb: Likewise. * libgnat/a-tiflio.ads: Likewise. * libgnat/a-tigeau.adb: Likewise. * libgnat/a-tigeau.ads: Likewise. * libgnat/a-tigeli.adb: Likewise. * libgnat/a-tiinau.adb: Likewise. * libgnat/a-tiinau.ads: Likewise. * libgnat/a-tiinio.adb: Likewise. * libgnat/a-tiinio.ads: Likewise. * libgnat/a-timoau.adb: Likewise. * libgnat/a-timoau.ads: Likewise. * libgnat/a-timoio.adb: Likewise. * libgnat/a-timoio.ads: Likewise. * libgnat/a-tiocst.adb: Likewise. * libgnat/a-tiocst.ads: Likewise. * libgnat/a-tirsfi.adb: Likewise. * libgnat/a-tirsfi.ads: Likewise. * libgnat/a-titest.adb: Likewise. * libgnat/a-undesu.adb: Likewise. * libgnat/a-wichha.adb: Likewise. * libgnat/a-wichun.adb: Likewise. * libgnat/a-wichun.ads: Likewise. * libgnat/a-witeio.adb: Likewise. * libgnat/a-witeio.ads: Likewise. * libgnat/a-wrstfi.adb: Likewise. * libgnat/a-wrstfi.ads: Likewise. * libgnat/a-wtcoau.adb: Likewise. * libgnat/a-wtcoau.ads: Likewise. * libgnat/a-wtcoio.adb: Likewise. * libgnat/a-wtcstr.adb: Likewise. * libgnat/a-wtcstr.ads: Likewise. * libgnat/a-wtdeau.adb: Likewise. * libgnat/a-wtdeau.ads: Likewise. * libgnat/a-wtdeio.adb: Likewise. * libgnat/a-wtedit.adb: Likewise. * libgnat/a-wtedit.ads: Likewise. * libgnat/a-wtenau.adb: Likewise. * libgnat/a-wtenau.ads: Likewise. * libgnat/a-wtenio.adb: Likewise. * libgnat/a-wtfiio.adb: Likewise. * libgnat/a-wtflau.adb: Likewise. * libgnat/a-wtflau.ads: Likewise. * libgnat/a-wtflio.adb: Likewise. * libgnat/a-wtgeau.adb: Likewise. * libgnat/a-wtgeau.ads: Likewise. * libgnat/a-wtinau.adb: Likewise. * libgnat/a-wtinau.ads: Likewise. * libgnat/a-wtinio.adb: Likewise. * libgnat/a-wtmoau.adb: Likewise. * libgnat/a-wtmoau.ads: Likewise. * libgnat/a-wtmoio.adb: Likewise. * libgnat/a-wtmoio.ads: Likewise. * libgnat/a-wttest.adb: Likewise. * libgnat/a-wwboio.adb: Likewise. * libgnat/a-zchhan.adb: Likewise. * libgnat/a-zchuni.adb: Likewise. * libgnat/a-zchuni.ads: Likewise. * libgnat/a-zrstfi.adb: Likewise. * libgnat/a-zrstfi.ads: Likewise. * libgnat/a-ztcoau.adb: Likewise. * libgnat/a-ztcoio.adb: Likewise. * libgnat/a-ztcstr.adb: Likewise. * libgnat/a-ztcstr.ads: Likewise. * libgnat/a-ztdeau.adb: Likewise. * libgnat/a-ztdeau.ads: Likewise. * libgnat/a-ztdeio.adb: Likewise. * libgnat/a-ztedit.adb: Likewise. * libgnat/a-ztedit.ads: Likewise. * libgnat/a-ztenau.adb: Likewise. * libgnat/a-ztenau.ads: Likewise. * libgnat/a-ztenio.adb: Likewise. * libgnat/a-ztexio.adb: Likewise. * libgnat/a-ztexio.ads: Likewise. * libgnat/a-ztfiio.adb: Likewise. * libgnat/a-ztflau.adb: Likewise. * libgnat/a-ztflau.ads: Likewise. * libgnat/a-ztflio.adb: Likewise. * libgnat/a-ztgeau.adb: Likewise. * libgnat/a-ztgeau.ads: Likewise. * libgnat/a-ztinau.adb: Likewise. * libgnat/a-ztinau.ads: Likewise. * libgnat/a-ztinio.adb: Likewise. * libgnat/a-ztmoau.adb: Likewise. * libgnat/a-ztmoau.ads: Likewise. * libgnat/a-ztmoio.adb: Likewise. * libgnat/a-zttest.adb: Likewise. * libgnat/a-zzboio.adb: Likewise. * libgnat/g-allein.ads: Likewise. * libgnat/g-alleve.adb: Likewise. * libgnat/g-alleve.ads: Likewise. * libgnat/g-alleve__hard.adb: Likewise. * libgnat/g-alleve__hard.ads: Likewise. * libgnat/g-altcon.adb: Likewise. * libgnat/g-altcon.ads: Likewise. * libgnat/g-altive.ads: Likewise. * libgnat/g-alveop.adb: Likewise. * libgnat/g-alveop.ads: Likewise. * libgnat/g-alvety.ads: Likewise. * libgnat/g-alvevi.ads: Likewise. * libgnat/g-arrspl.adb: Likewise. * libgnat/g-arrspl.ads: Likewise. * libgnat/g-awk.adb: Likewise. * libgnat/g-awk.ads: Likewise. * libgnat/g-binenv.adb: Likewise. * libgnat/g-binenv.ads: Likewise. * libgnat/g-brapre.ads: Likewise. * libgnat/g-bubsor.adb: Likewise. * libgnat/g-bubsor.ads: Likewise. * libgnat/g-busora.adb: Likewise. * libgnat/g-busora.ads: Likewise. * libgnat/g-busorg.adb: Likewise. * libgnat/g-busorg.ads: Likewise. * libgnat/g-byorma.adb: Likewise. * libgnat/g-byorma.ads: Likewise. * libgnat/g-bytswa.adb: Likewise. * libgnat/g-bytswa.ads: Likewise. * libgnat/g-calend.adb: Likewise. * libgnat/g-calend.ads: Likewise. * libgnat/g-casuti.adb: Likewise. * libgnat/g-casuti.ads: Likewise. * libgnat/g-catiio.adb: Likewise. * libgnat/g-catiio.ads: Likewise. * libgnat/g-cgi.adb: Likewise. * libgnat/g-cgi.ads: Likewise. * libgnat/g-cgicoo.adb: Likewise. * libgnat/g-cgicoo.ads: Likewise. * libgnat/g-cgideb.adb: Likewise. * libgnat/g-cgideb.ads: Likewise. * libgnat/g-comlin.adb: Likewise. * libgnat/g-comlin.ads: Likewise. * libgnat/g-comver.adb: Likewise. * libgnat/g-comver.ads: Likewise. * libgnat/g-cppexc.adb: Likewise. * libgnat/g-cppexc.ads: Likewise. * libgnat/g-crc32.adb: Likewise. * libgnat/g-crc32.ads: Likewise. * libgnat/g-ctrl_c.adb: Likewise. * libgnat/g-ctrl_c.ads: Likewise. * libgnat/g-curexc.ads: Likewise. * libgnat/g-debpoo.adb: Likewise. * libgnat/g-debpoo.ads: Likewise. * libgnat/g-debuti.adb: Likewise. * libgnat/g-debuti.ads: Likewise. * libgnat/g-decstr.adb: Likewise. * libgnat/g-decstr.ads: Likewise. * libgnat/g-deutst.ads: Likewise. * libgnat/g-diopit.adb: Likewise. * libgnat/g-diopit.ads: Likewise. * libgnat/g-dirope.adb: Likewise. * libgnat/g-dirope.ads: Likewise. * libgnat/g-dynhta.adb: Likewise. * libgnat/g-dynhta.ads: Likewise. * libgnat/g-dyntab.adb: Likewise. * libgnat/g-dyntab.ads: Likewise. * libgnat/g-eacodu.adb: Likewise. * libgnat/g-encstr.adb: Likewise. * libgnat/g-encstr.ads: Likewise. * libgnat/g-enutst.ads: Likewise. * libgnat/g-excact.adb: Likewise. * libgnat/g-excact.ads: Likewise. * libgnat/g-except.ads: Likewise. * libgnat/g-exctra.adb: Likewise. * libgnat/g-exctra.ads: Likewise. * libgnat/g-expect.adb: Likewise. * libgnat/g-expect.ads: Likewise. * libgnat/g-exptty.adb: Likewise. * libgnat/g-exptty.ads: Likewise. * libgnat/g-flocon.ads: Likewise. * libgnat/g-forstr.adb: Likewise. * libgnat/g-forstr.ads: Likewise. * libgnat/g-graphs.adb: Likewise. * libgnat/g-graphs.ads: Likewise. * libgnat/g-heasor.adb: Likewise. * libgnat/g-heasor.ads: Likewise. * libgnat/g-hesora.adb: Likewise. * libgnat/g-hesora.ads: Likewise. * libgnat/g-hesorg.adb: Likewise. * libgnat/g-hesorg.ads: Likewise. * libgnat/g-htable.adb: Likewise. * libgnat/g-htable.ads: Likewise. * libgnat/g-io-put__vxworks.adb: Likewise. * libgnat/g-io.adb: Likewise. * libgnat/g-io.ads: Likewise. * libgnat/g-io_aux.adb: Likewise. * libgnat/g-io_aux.ads: Likewise. * libgnat/g-lists.adb: Likewise. * libgnat/g-lists.ads: Likewise. * libgnat/g-locfil.adb: Likewise. * libgnat/g-locfil.ads: Likewise. * libgnat/g-mbdira.adb: Likewise. * libgnat/g-mbdira.ads: Likewise. * libgnat/g-mbflra.adb: Likewise. * libgnat/g-mbflra.ads: Likewise. * libgnat/g-md5.adb: Likewise. * libgnat/g-md5.ads: Likewise. * libgnat/g-memdum.adb: Likewise. * libgnat/g-memdum.ads: Likewise. * libgnat/g-moreex.adb: Likewise. * libgnat/g-moreex.ads: Likewise. * libgnat/g-os_lib.adb: Likewise. * libgnat/g-os_lib.ads: Likewise. * libgnat/g-pehage.adb: Likewise. * libgnat/g-pehage.ads: Likewise. * libgnat/g-rannum.adb: Likewise. * libgnat/g-rannum.ads: Likewise. * libgnat/g-regexp.adb: Likewise. * libgnat/g-regexp.ads: Likewise. * libgnat/g-regist.adb: Likewise. * libgnat/g-regist.ads: Likewise. * libgnat/g-regpat.adb: Likewise. * libgnat/g-regpat.ads: Likewise. * libgnat/g-rewdat.adb: Likewise. * libgnat/g-rewdat.ads: Likewise. * libgnat/g-sechas.adb: Likewise. * libgnat/g-sechas.ads: Likewise. * libgnat/g-sehamd.adb: Likewise. * libgnat/g-sehamd.ads: Likewise. * libgnat/g-sehash.adb: Likewise. * libgnat/g-sehash.ads: Likewise. * libgnat/g-sercom.adb: Likewise. * libgnat/g-sercom.ads: Likewise. * libgnat/g-sercom__linux.adb: Likewise. * libgnat/g-sercom__mingw.adb: Likewise. * libgnat/g-sestin.ads: Likewise. * libgnat/g-sets.adb: Likewise. * libgnat/g-sets.ads: Likewise. * libgnat/g-sha1.adb: Likewise. * libgnat/g-sha1.ads: Likewise. * libgnat/g-sha224.ads: Likewise. * libgnat/g-sha256.ads: Likewise. * libgnat/g-sha384.ads: Likewise. * libgnat/g-sha512.ads: Likewise. * libgnat/g-shsh32.adb: Likewise. * libgnat/g-shsh32.ads: Likewise. * libgnat/g-shsh64.adb: Likewise. * libgnat/g-shsh64.ads: Likewise. * libgnat/g-shshco.adb: Likewise. * libgnat/g-shshco.ads: Likewise. * libgnat/g-soccon.ads: Likewise. * libgnat/g-socket.adb: Likewise. * libgnat/g-socket.ads: Likewise. * libgnat/g-socket__dummy.adb: Likewise. * libgnat/g-socket__dummy.ads: Likewise. * libgnat/g-socthi.adb: Likewise. * libgnat/g-socthi.ads: Likewise. * libgnat/g-socthi__dummy.adb: Likewise. * libgnat/g-socthi__dummy.ads: Likewise. * libgnat/g-socthi__mingw.adb: Likewise. * libgnat/g-socthi__mingw.ads: Likewise. * libgnat/g-socthi__vxworks.adb: Likewise. * libgnat/g-socthi__vxworks.ads: Likewise. * libgnat/g-soliop.ads: Likewise. * libgnat/g-soliop__lynxos.ads: Likewise. * libgnat/g-soliop__mingw.ads: Likewise. * libgnat/g-soliop__qnx.ads: Likewise. * libgnat/g-soliop__solaris.ads: Likewise. * libgnat/g-sothco.adb: Likewise. * libgnat/g-sothco.ads: Likewise. * libgnat/g-sothco__dummy.adb: Likewise. * libgnat/g-sothco__dummy.ads: Likewise. * libgnat/g-souinf.ads: Likewise. * libgnat/g-spchge.adb: Likewise. * libgnat/g-spchge.ads: Likewise. * libgnat/g-speche.adb: Likewise. * libgnat/g-speche.ads: Likewise. * libgnat/g-spipat.adb: Likewise. * libgnat/g-spipat.ads: Likewise. * libgnat/g-spitbo.adb: Likewise. * libgnat/g-spitbo.ads: Likewise. * libgnat/g-sptabo.ads: Likewise. * libgnat/g-sptain.ads: Likewise. * libgnat/g-sptavs.ads: Likewise. * libgnat/g-sse.ads: Likewise. * libgnat/g-ssvety.ads: Likewise. * libgnat/g-sthcso.adb: Likewise. * libgnat/g-stheme.adb: Likewise. * libgnat/g-strhas.ads: Likewise. * libgnat/g-string.adb: Likewise. * libgnat/g-string.ads: Likewise. * libgnat/g-strspl.ads: Likewise. * libgnat/g-stseme.adb: Likewise. * libgnat/g-stsifd__sockets.adb: Likewise. * libgnat/g-table.adb: Likewise. * libgnat/g-table.ads: Likewise. * libgnat/g-tasloc.adb: Likewise. * libgnat/g-tasloc.ads: Likewise. * libgnat/g-timsta.adb: Likewise. * libgnat/g-timsta.ads: Likewise. * libgnat/g-traceb.adb: Likewise. * libgnat/g-traceb.ads: Likewise. * libgnat/g-trasym.adb: Likewise. * libgnat/g-trasym.ads: Likewise. * libgnat/g-tty.adb: Likewise. * libgnat/g-tty.ads: Likewise. * libgnat/g-u3spch.adb: Likewise. * libgnat/g-u3spch.ads: Likewise. * libgnat/g-utf_32.adb: Likewise. * libgnat/g-utf_32.ads: Likewise. * libgnat/g-wispch.adb: Likewise. * libgnat/g-wispch.ads: Likewise. * libgnat/g-wistsp.ads: Likewise. * libgnat/g-zspche.adb: Likewise. * libgnat/g-zspche.ads: Likewise. * libgnat/g-zstspl.ads: Likewise. * libgnat/gnat.ads: Likewise. * libgnat/i-c.adb: Likewise. * libgnat/i-cexten.ads: Likewise. * libgnat/i-cobol.adb: Likewise. * libgnat/i-cobol.ads: Likewise. * libgnat/i-cpoint.adb: Likewise. * libgnat/i-cpoint.ads: Likewise. * libgnat/i-cstrea.adb: Likewise. * libgnat/i-cstrea.ads: Likewise. * libgnat/i-cstrin.adb: Likewise. * libgnat/i-cstrin.ads: Likewise. * libgnat/i-fortra.adb: Likewise. * libgnat/i-pacdec.adb: Likewise. * libgnat/i-pacdec.ads: Likewise. * libgnat/i-vxwoio.adb: Likewise. * libgnat/i-vxwoio.ads: Likewise. * libgnat/i-vxwork.ads: Likewise. * libgnat/i-vxwork__x86.ads: Likewise. * libgnat/interfac.ads: Likewise. * libgnat/memtrack.adb: Likewise. * libgnat/s-addima.adb: Likewise. * libgnat/s-addima.ads: Likewise. * libgnat/s-addope.adb: Likewise. * libgnat/s-addope.ads: Likewise. * libgnat/s-aotase.adb: Likewise. * libgnat/s-aotase.ads: Likewise. * libgnat/s-arit64.adb: Likewise. * libgnat/s-arit64.ads: Likewise. * libgnat/s-assert.adb: Likewise. * libgnat/s-assert.ads: Likewise. * libgnat/s-atacco.adb: Likewise. * libgnat/s-atacco.ads: Likewise. * libgnat/s-atocou.adb: Likewise. * libgnat/s-atocou.ads: Likewise. * libgnat/s-atocou__builtin.adb: Likewise. * libgnat/s-atocou__x86.adb: Likewise. * libgnat/s-atoope.ads: Likewise. * libgnat/s-atopar.adb: Likewise. * libgnat/s-atopar.ads: Likewise. * libgnat/s-atopex.adb: Likewise. * libgnat/s-atopex.ads: Likewise. * libgnat/s-atopri.adb: Likewise. * libgnat/s-atopri.ads: Likewise. * libgnat/s-auxdec.adb: Likewise. * libgnat/s-auxdec.ads: Likewise. * libgnat/s-bignum.adb: Likewise. * libgnat/s-bignum.ads: Likewise. * libgnat/s-bitfie.ads: Likewise. * libgnat/s-bitops.adb: Likewise. * libgnat/s-bitops.ads: Likewise. * libgnat/s-bituti.adb: Likewise. * libgnat/s-bituti.ads: Likewise. * libgnat/s-boarop.ads: Likewise. * libgnat/s-boustr.adb: Likewise. * libgnat/s-boustr.ads: Likewise. * libgnat/s-bytswa.ads: Likewise. * libgnat/s-carsi8.adb: Likewise. * libgnat/s-carsi8.ads: Likewise. * libgnat/s-carun8.adb: Likewise. * libgnat/s-carun8.ads: Likewise. * libgnat/s-casi16.adb: Likewise. * libgnat/s-casi16.ads: Likewise. * libgnat/s-casi32.adb: Likewise. * libgnat/s-casi32.ads: Likewise. * libgnat/s-casi64.adb: Likewise. * libgnat/s-casi64.ads: Likewise. * libgnat/s-casuti.adb: Likewise. * libgnat/s-casuti.ads: Likewise. * libgnat/s-caun16.adb: Likewise. * libgnat/s-caun16.ads: Likewise. * libgnat/s-caun32.adb: Likewise. * libgnat/s-caun32.ads: Likewise. * libgnat/s-caun64.adb: Likewise. * libgnat/s-caun64.ads: Likewise. * libgnat/s-chepoo.ads: Likewise. * libgnat/s-commun.adb: Likewise. * libgnat/s-commun.ads: Likewise. * libgnat/s-conca2.adb: Likewise. * libgnat/s-conca2.ads: Likewise. * libgnat/s-conca3.adb: Likewise. * libgnat/s-conca3.ads: Likewise. * libgnat/s-conca4.adb: Likewise. * libgnat/s-conca4.ads: Likewise. * libgnat/s-conca5.adb: Likewise. * libgnat/s-conca5.ads: Likewise. * libgnat/s-conca6.adb: Likewise. * libgnat/s-conca6.ads: Likewise. * libgnat/s-conca7.adb: Likewise. * libgnat/s-conca7.ads: Likewise. * libgnat/s-conca8.adb: Likewise. * libgnat/s-conca8.ads: Likewise. * libgnat/s-conca9.adb: Likewise. * libgnat/s-conca9.ads: Likewise. * libgnat/s-crc32.adb: Likewise. * libgnat/s-crc32.ads: Likewise. * libgnat/s-crtl.ads: Likewise. * libgnat/s-dfmkio.ads: Likewise. * libgnat/s-dfmopr.ads: Likewise. * libgnat/s-dgmgop.ads: Likewise. * libgnat/s-diflio.adb: Likewise. * libgnat/s-diflio.ads: Likewise. * libgnat/s-diflmk.ads: Likewise. * libgnat/s-digemk.ads: Likewise. * libgnat/s-diinio.adb: Likewise. * libgnat/s-diinio.ads: Likewise. * libgnat/s-dilomk.ads: Likewise. * libgnat/s-dim.ads: Likewise. * libgnat/s-dimkio.ads: Likewise. * libgnat/s-dimmks.ads: Likewise. * libgnat/s-direio.adb: Likewise. * libgnat/s-direio.ads: Likewise. * libgnat/s-dlmkio.ads: Likewise. * libgnat/s-dlmopr.ads: Likewise. * libgnat/s-dmotpr.ads: Likewise. * libgnat/s-dsaser.ads: Likewise. * libgnat/s-dwalin.adb: Likewise. * libgnat/s-dwalin.ads: Likewise. * libgnat/s-elaall.adb: Likewise. * libgnat/s-elaall.ads: Likewise. * libgnat/s-excdeb.adb: Likewise. * libgnat/s-excdeb.ads: Likewise. * libgnat/s-except.adb: Likewise. * libgnat/s-except.ads: Likewise. * libgnat/s-excmac__arm.adb: Likewise. * libgnat/s-excmac__arm.ads: Likewise. * libgnat/s-excmac__gcc.adb: Likewise. * libgnat/s-excmac__gcc.ads: Likewise. * libgnat/s-exctab.adb: Likewise. * libgnat/s-exctab.ads: Likewise. * libgnat/s-exctra.adb: Likewise. * libgnat/s-exctra.ads: Likewise. * libgnat/s-exnint.adb: Likewise. * libgnat/s-exnint.ads: Likewise. * libgnat/s-exnllf.adb: Likewise. * libgnat/s-exnllf.ads: Likewise. * libgnat/s-exnlli.adb: Likewise. * libgnat/s-exnlli.ads: Likewise. * libgnat/s-expint.adb: Likewise. * libgnat/s-expint.ads: Likewise. * libgnat/s-explli.adb: Likewise. * libgnat/s-explli.ads: Likewise. * libgnat/s-expllu.adb: Likewise. * libgnat/s-expllu.ads: Likewise. * libgnat/s-expmod.adb: Likewise. * libgnat/s-expmod.ads: Likewise. * libgnat/s-expuns.adb: Likewise. * libgnat/s-expuns.ads: Likewise. * libgnat/s-fatflt.ads: Likewise. * libgnat/s-fatgen.adb: Likewise. * libgnat/s-fatgen.ads: Likewise. * libgnat/s-fatlfl.ads: Likewise. * libgnat/s-fatllf.ads: Likewise. * libgnat/s-fatsfl.ads: Likewise. * libgnat/s-ficobl.ads: Likewise. * libgnat/s-filatt.ads: Likewise. * libgnat/s-fileio.adb: Likewise. * libgnat/s-fileio.ads: Likewise. * libgnat/s-finmas.adb: Likewise. * libgnat/s-finmas.ads: Likewise. * libgnat/s-finroo.adb: Likewise. * libgnat/s-finroo.ads: Likewise. * libgnat/s-flocon.adb: Likewise. * libgnat/s-flocon.ads: Likewise. * libgnat/s-flocon__none.adb: Likewise. * libgnat/s-fore.adb: Likewise. * libgnat/s-fore.ads: Likewise. * libgnat/s-gearop.adb: Likewise. * libgnat/s-gearop.ads: Likewise. * libgnat/s-genbig.adb: Likewise. * libgnat/s-genbig.ads: Likewise. * libgnat/s-geveop.adb: Likewise. * libgnat/s-geveop.ads: Likewise. * libgnat/s-gloloc.adb: Likewise. * libgnat/s-gloloc.ads: Likewise. * libgnat/s-gloloc__mingw.adb: Likewise. * libgnat/s-htable.adb: Likewise. * libgnat/s-htable.ads: Likewise. * libgnat/s-imenne.adb: Likewise. * libgnat/s-imenne.ads: Likewise. * libgnat/s-imgbiu.adb: Likewise. * libgnat/s-imgbiu.ads: Likewise. * libgnat/s-imgboo.adb: Likewise. * libgnat/s-imgboo.ads: Likewise. * libgnat/s-imgcha.adb: Likewise. * libgnat/s-imgcha.ads: Likewise. * libgnat/s-imgdec.adb: Likewise. * libgnat/s-imgdec.ads: Likewise. * libgnat/s-imgenu.adb: Likewise. * libgnat/s-imgenu.ads: Likewise. * libgnat/s-imgint.adb: Likewise. * libgnat/s-imgint.ads: Likewise. * libgnat/s-imgllb.adb: Likewise. * libgnat/s-imgllb.ads: Likewise. * libgnat/s-imglld.adb: Likewise. * libgnat/s-imglld.ads: Likewise. * libgnat/s-imglli.adb: Likewise. * libgnat/s-imglli.ads: Likewise. * libgnat/s-imgllu.adb: Likewise. * libgnat/s-imgllu.ads: Likewise. * libgnat/s-imgllw.adb: Likewise. * libgnat/s-imgllw.ads: Likewise. * libgnat/s-imgrea.adb: Likewise. * libgnat/s-imgrea.ads: Likewise. * libgnat/s-imguns.adb: Likewise. * libgnat/s-imguns.ads: Likewise. * libgnat/s-imgwch.adb: Likewise. * libgnat/s-imgwch.ads: Likewise. * libgnat/s-imgwiu.adb: Likewise. * libgnat/s-imgwiu.ads: Likewise. * libgnat/s-io.adb: Likewise. * libgnat/s-io.ads: Likewise. * libgnat/s-llflex.ads: Likewise. * libgnat/s-maccod.ads: Likewise. * libgnat/s-mantis.adb: Likewise. * libgnat/s-mantis.ads: Likewise. * libgnat/s-mastop.adb: Likewise. * libgnat/s-mastop.ads: Likewise. * libgnat/s-memcop.ads: Likewise. * libgnat/s-memory.adb: Likewise. * libgnat/s-memory.ads: Likewise. * libgnat/s-mmap.adb: Likewise. * libgnat/s-mmap.ads: Likewise. * libgnat/s-mmauni__long.ads: Likewise. * libgnat/s-mmosin__mingw.adb: Likewise. * libgnat/s-mmosin__mingw.ads: Likewise. * libgnat/s-mmosin__unix.adb: Likewise. * libgnat/s-mmosin__unix.ads: Likewise. * libgnat/s-multip.adb: Likewise. * libgnat/s-objrea.adb: Likewise. * libgnat/s-objrea.ads: Likewise. * libgnat/s-optide.adb: Likewise. * libgnat/s-os_lib.adb: Likewise. * libgnat/s-os_lib.ads: Likewise. * libgnat/s-osprim.ads: Likewise. * libgnat/s-osprim__darwin.adb: Likewise. * libgnat/s-osprim__lynxos.ads: Likewise. * libgnat/s-osprim__mingw.adb: Likewise. * libgnat/s-osprim__posix.adb: Likewise. * libgnat/s-osprim__posix2008.adb: Likewise. * libgnat/s-osprim__rtems.adb: Likewise. * libgnat/s-osprim__solaris.adb: Likewise. * libgnat/s-osprim__unix.adb: Likewise. * libgnat/s-osprim__vxworks.adb: Likewise. * libgnat/s-osprim__x32.adb: Likewise. * libgnat/s-osvers__vxworks-653.ads: Likewise. * libgnat/s-pack03.adb: Likewise. * libgnat/s-pack03.ads: Likewise. * libgnat/s-pack05.adb: Likewise. * libgnat/s-pack05.ads: Likewise. * libgnat/s-pack06.adb: Likewise. * libgnat/s-pack06.ads: Likewise. * libgnat/s-pack07.adb: Likewise. * libgnat/s-pack07.ads: Likewise. * libgnat/s-pack09.adb: Likewise. * libgnat/s-pack09.ads: Likewise. * libgnat/s-pack10.adb: Likewise. * libgnat/s-pack10.ads: Likewise. * libgnat/s-pack11.adb: Likewise. * libgnat/s-pack11.ads: Likewise. * libgnat/s-pack12.adb: Likewise. * libgnat/s-pack12.ads: Likewise. * libgnat/s-pack13.adb: Likewise. * libgnat/s-pack13.ads: Likewise. * libgnat/s-pack14.adb: Likewise. * libgnat/s-pack14.ads: Likewise. * libgnat/s-pack15.adb: Likewise. * libgnat/s-pack15.ads: Likewise. * libgnat/s-pack17.adb: Likewise. * libgnat/s-pack17.ads: Likewise. * libgnat/s-pack18.adb: Likewise. * libgnat/s-pack18.ads: Likewise. * libgnat/s-pack19.adb: Likewise. * libgnat/s-pack19.ads: Likewise. * libgnat/s-pack20.adb: Likewise. * libgnat/s-pack20.ads: Likewise. * libgnat/s-pack21.adb: Likewise. * libgnat/s-pack21.ads: Likewise. * libgnat/s-pack22.adb: Likewise. * libgnat/s-pack22.ads: Likewise. * libgnat/s-pack23.adb: Likewise. * libgnat/s-pack23.ads: Likewise. * libgnat/s-pack24.adb: Likewise. * libgnat/s-pack24.ads: Likewise. * libgnat/s-pack25.adb: Likewise. * libgnat/s-pack25.ads: Likewise. * libgnat/s-pack26.adb: Likewise. * libgnat/s-pack26.ads: Likewise. * libgnat/s-pack27.adb: Likewise. * libgnat/s-pack27.ads: Likewise. * libgnat/s-pack28.adb: Likewise. * libgnat/s-pack28.ads: Likewise. * libgnat/s-pack29.adb: Likewise. * libgnat/s-pack29.ads: Likewise. * libgnat/s-pack30.adb: Likewise. * libgnat/s-pack30.ads: Likewise. * libgnat/s-pack31.adb: Likewise. * libgnat/s-pack31.ads: Likewise. * libgnat/s-pack33.adb: Likewise. * libgnat/s-pack33.ads: Likewise. * libgnat/s-pack34.adb: Likewise. * libgnat/s-pack34.ads: Likewise. * libgnat/s-pack35.adb: Likewise. * libgnat/s-pack35.ads: Likewise. * libgnat/s-pack36.adb: Likewise. * libgnat/s-pack36.ads: Likewise. * libgnat/s-pack37.adb: Likewise. * libgnat/s-pack37.ads: Likewise. * libgnat/s-pack38.adb: Likewise. * libgnat/s-pack38.ads: Likewise. * libgnat/s-pack39.adb: Likewise. * libgnat/s-pack39.ads: Likewise. * libgnat/s-pack40.adb: Likewise. * libgnat/s-pack40.ads: Likewise. * libgnat/s-pack41.adb: Likewise. * libgnat/s-pack41.ads: Likewise. * libgnat/s-pack42.adb: Likewise. * libgnat/s-pack42.ads: Likewise. * libgnat/s-pack43.adb: Likewise. * libgnat/s-pack43.ads: Likewise. * libgnat/s-pack44.adb: Likewise. * libgnat/s-pack44.ads: Likewise. * libgnat/s-pack45.adb: Likewise. * libgnat/s-pack45.ads: Likewise. * libgnat/s-pack46.adb: Likewise. * libgnat/s-pack46.ads: Likewise. * libgnat/s-pack47.adb: Likewise. * libgnat/s-pack47.ads: Likewise. * libgnat/s-pack48.adb: Likewise. * libgnat/s-pack48.ads: Likewise. * libgnat/s-pack49.adb: Likewise. * libgnat/s-pack49.ads: Likewise. * libgnat/s-pack50.adb: Likewise. * libgnat/s-pack50.ads: Likewise. * libgnat/s-pack51.adb: Likewise. * libgnat/s-pack51.ads: Likewise. * libgnat/s-pack52.adb: Likewise. * libgnat/s-pack52.ads: Likewise. * libgnat/s-pack53.adb: Likewise. * libgnat/s-pack53.ads: Likewise. * libgnat/s-pack54.adb: Likewise. * libgnat/s-pack54.ads: Likewise. * libgnat/s-pack55.adb: Likewise. * libgnat/s-pack55.ads: Likewise. * libgnat/s-pack56.adb: Likewise. * libgnat/s-pack56.ads: Likewise. * libgnat/s-pack57.adb: Likewise. * libgnat/s-pack57.ads: Likewise. * libgnat/s-pack58.adb: Likewise. * libgnat/s-pack58.ads: Likewise. * libgnat/s-pack59.adb: Likewise. * libgnat/s-pack59.ads: Likewise. * libgnat/s-pack60.adb: Likewise. * libgnat/s-pack60.ads: Likewise. * libgnat/s-pack61.adb: Likewise. * libgnat/s-pack61.ads: Likewise. * libgnat/s-pack62.adb: Likewise. * libgnat/s-pack62.ads: Likewise. * libgnat/s-pack63.adb: Likewise. * libgnat/s-pack63.ads: Likewise. * libgnat/s-parame.adb: Likewise. * libgnat/s-parame.ads: Likewise. * libgnat/s-parame__ae653.ads: Likewise. * libgnat/s-parame__hpux.ads: Likewise. * libgnat/s-parame__rtems.adb: Likewise. * libgnat/s-parame__vxworks.adb: Likewise. * libgnat/s-parame__vxworks.ads: Likewise. * libgnat/s-parint.adb: Likewise. * libgnat/s-parint.ads: Likewise. * libgnat/s-pooglo.adb: Likewise. * libgnat/s-pooglo.ads: Likewise. * libgnat/s-pooloc.adb: Likewise. * libgnat/s-pooloc.ads: Likewise. * libgnat/s-poosiz.adb: Likewise. * libgnat/s-poosiz.ads: Likewise. * libgnat/s-powtab.ads: Likewise. * libgnat/s-purexc.ads: Likewise. * libgnat/s-rannum.adb: Likewise. * libgnat/s-rannum.ads: Likewise. * libgnat/s-ransee.adb: Likewise. * libgnat/s-ransee.ads: Likewise. * libgnat/s-regexp.adb: Likewise. * libgnat/s-regexp.ads: Likewise. * libgnat/s-regpat.adb: Likewise. * libgnat/s-regpat.ads: Likewise. * libgnat/s-resfil.adb: Likewise. * libgnat/s-resfil.ads: Likewise. * libgnat/s-restri.adb: Likewise. * libgnat/s-restri.ads: Likewise. * libgnat/s-rident.ads: Likewise. * libgnat/s-rpc.adb: Likewise. * libgnat/s-rpc.ads: Likewise. * libgnat/s-scaval.adb: Likewise. * libgnat/s-scaval.ads: Likewise. * libgnat/s-secsta.adb: Likewise. * libgnat/s-secsta.ads: Likewise. * libgnat/s-sequio.adb: Likewise. * libgnat/s-sequio.ads: Likewise. * libgnat/s-shasto.adb: Likewise. * libgnat/s-shasto.ads: Likewise. * libgnat/s-soflin.adb: Likewise. * libgnat/s-soflin.ads: Likewise. * libgnat/s-soliin.adb: Likewise. * libgnat/s-soliin.ads: Likewise. * libgnat/s-sopco3.adb: Likewise. * libgnat/s-sopco3.ads: Likewise. * libgnat/s-sopco4.adb: Likewise. * libgnat/s-sopco4.ads: Likewise. * libgnat/s-sopco5.adb: Likewise. * libgnat/s-sopco5.ads: Likewise. * libgnat/s-spsufi.adb: Likewise. * libgnat/s-spsufi.ads: Likewise. * libgnat/s-stache.adb: Likewise. * libgnat/s-stache.ads: Likewise. * libgnat/s-stalib.adb: Likewise. * libgnat/s-stalib.ads: Likewise. * libgnat/s-stausa.adb: Likewise. * libgnat/s-stausa.ads: Likewise. * libgnat/s-stchop.adb: Likewise. * libgnat/s-stchop.ads: Likewise. * libgnat/s-stchop__limit.ads: Likewise. * libgnat/s-stchop__rtems.adb: Likewise. * libgnat/s-stchop__vxworks.adb: Likewise. * libgnat/s-stoele.adb: Likewise. * libgnat/s-stoele.ads: Likewise. * libgnat/s-stopoo.adb: Likewise. * libgnat/s-stopoo.ads: Likewise. * libgnat/s-stposu.adb: Likewise. * libgnat/s-stposu.ads: Likewise. * libgnat/s-stratt.adb: Likewise. * libgnat/s-stratt.ads: Likewise. * libgnat/s-stratt__xdr.adb: Likewise. * libgnat/s-strcom.adb: Likewise. * libgnat/s-strcom.ads: Likewise. * libgnat/s-strhas.adb: Likewise. * libgnat/s-strhas.ads: Likewise. * libgnat/s-string.adb: Likewise. * libgnat/s-string.ads: Likewise. * libgnat/s-strops.adb: Likewise. * libgnat/s-strops.ads: Likewise. * libgnat/s-ststop.adb: Likewise. * libgnat/s-ststop.ads: Likewise. * libgnat/s-tasloc.adb: Likewise. * libgnat/s-tasloc.ads: Likewise. * libgnat/s-thread.ads: Likewise. * libgnat/s-thread__ae653.adb: Likewise. * libgnat/s-traceb.adb: Likewise. * libgnat/s-traceb.ads: Likewise. * libgnat/s-traceb__hpux.adb: Likewise. * libgnat/s-traceb__mastop.adb: Likewise. * libgnat/s-traent.adb: Likewise. * libgnat/s-traent.ads: Likewise. * libgnat/s-trasym.adb: Likewise. * libgnat/s-trasym.ads: Likewise. * libgnat/s-trasym__dwarf.adb: Likewise. * libgnat/s-tsmona.adb: Likewise. * libgnat/s-tsmona__linux.adb: Likewise. * libgnat/s-tsmona__mingw.adb: Likewise. * libgnat/s-unstyp.ads: Likewise. * libgnat/s-utf_32.adb: Likewise. * libgnat/s-utf_32.ads: Likewise. * libgnat/s-valboo.adb: Likewise. * libgnat/s-valboo.ads: Likewise. * libgnat/s-valcha.adb: Likewise. * libgnat/s-valcha.ads: Likewise. * libgnat/s-valdec.adb: Likewise. * libgnat/s-valdec.ads: Likewise. * libgnat/s-valenu.adb: Likewise. * libgnat/s-valenu.ads: Likewise. * libgnat/s-valint.adb: Likewise. * libgnat/s-valint.ads: Likewise. * libgnat/s-vallld.adb: Likewise. * libgnat/s-vallld.ads: Likewise. * libgnat/s-vallli.adb: Likewise. * libgnat/s-vallli.ads: Likewise. * libgnat/s-valllu.adb: Likewise. * libgnat/s-valllu.ads: Likewise. * libgnat/s-valrea.adb: Likewise. * libgnat/s-valrea.ads: Likewise. * libgnat/s-valuns.adb: Likewise. * libgnat/s-valuns.ads: Likewise. * libgnat/s-valuti.adb: Likewise. * libgnat/s-valuti.ads: Likewise. * libgnat/s-valwch.adb: Likewise. * libgnat/s-valwch.ads: Likewise. * libgnat/s-veboop.adb: Likewise. * libgnat/s-veboop.ads: Likewise. * libgnat/s-vector.ads: Likewise. * libgnat/s-vercon.adb: Likewise. * libgnat/s-vercon.ads: Likewise. * libgnat/s-wchcnv.adb: Likewise. * libgnat/s-wchcnv.ads: Likewise. * libgnat/s-wchcon.adb: Likewise. * libgnat/s-wchcon.ads: Likewise. * libgnat/s-wchjis.adb: Likewise. * libgnat/s-wchjis.ads: Likewise. * libgnat/s-wchstw.adb: Likewise. * libgnat/s-wchstw.ads: Likewise. * libgnat/s-wchwts.adb: Likewise. * libgnat/s-wchwts.ads: Likewise. * libgnat/s-widboo.adb: Likewise. * libgnat/s-widboo.ads: Likewise. * libgnat/s-widcha.adb: Likewise. * libgnat/s-widcha.ads: Likewise. * libgnat/s-widenu.adb: Likewise. * libgnat/s-widenu.ads: Likewise. * libgnat/s-widlli.adb: Likewise. * libgnat/s-widlli.ads: Likewise. * libgnat/s-widllu.adb: Likewise. * libgnat/s-widllu.ads: Likewise. * libgnat/s-widwch.adb: Likewise. * libgnat/s-widwch.ads: Likewise. * libgnat/s-win32.ads: Likewise. * libgnat/s-winext.ads: Likewise. * libgnat/s-wwdcha.adb: Likewise. * libgnat/s-wwdcha.ads: Likewise. * libgnat/s-wwdenu.adb: Likewise. * libgnat/s-wwdenu.ads: Likewise. * libgnat/s-wwdwch.adb: Likewise. * libgnat/s-wwdwch.ads: Likewise. * libgnat/system-aix.ads: Likewise. * libgnat/system-darwin-arm.ads: Likewise. * libgnat/system-darwin-ppc.ads: Likewise. * libgnat/system-darwin-x86.ads: Likewise. * libgnat/system-djgpp.ads: Likewise. * libgnat/system-dragonfly-x86_64.ads: Likewise. * libgnat/system-freebsd.ads: Likewise. * libgnat/system-hpux-ia64.ads: Likewise. * libgnat/system-hpux.ads: Likewise. * libgnat/system-linux-alpha.ads: Likewise. * libgnat/system-linux-arm.ads: Likewise. * libgnat/system-linux-hppa.ads: Likewise. * libgnat/system-linux-ia64.ads: Likewise. * libgnat/system-linux-m68k.ads: Likewise. * libgnat/system-linux-mips.ads: Likewise. * libgnat/system-linux-ppc.ads: Likewise. * libgnat/system-linux-riscv.ads: Likewise. * libgnat/system-linux-s390.ads: Likewise. * libgnat/system-linux-sh4.ads: Likewise. * libgnat/system-linux-sparc.ads: Likewise. * libgnat/system-linux-x86.ads: Likewise. * libgnat/system-lynxos178-ppc.ads: Likewise. * libgnat/system-lynxos178-x86.ads: Likewise. * libgnat/system-mingw.ads: Likewise. * libgnat/system-qnx-aarch64.ads: Likewise. * libgnat/system-rtems.ads: Likewise. * libgnat/system-solaris-sparc.ads: Likewise. * libgnat/system-solaris-x86.ads: Likewise. * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise. * libgnat/system-vxworks-arm-rtp.ads: Likewise. * libgnat/system-vxworks-arm.ads: Likewise. * libgnat/system-vxworks-e500-kernel.ads: Likewise. * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise. * libgnat/system-vxworks-e500-rtp.ads: Likewise. * libgnat/system-vxworks-e500-vthread.ads: Likewise. * libgnat/system-vxworks-ppc-kernel.ads: Likewise. * libgnat/system-vxworks-ppc-ravenscar.ads: Likewise. * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise. * libgnat/system-vxworks-ppc-rtp.ads: Likewise. * libgnat/system-vxworks-ppc-vthread.ads: Likewise. * libgnat/system-vxworks-ppc.ads: Likewise. * libgnat/system-vxworks-x86-kernel.ads: Likewise. * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise. * libgnat/system-vxworks-x86-rtp.ads: Likewise. * libgnat/system-vxworks-x86-vthread.ads: Likewise. * libgnat/system-vxworks-x86.ads: Likewise. * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-aarch64.ads: Likewise. * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-arm.ads: Likewise. * libgnat/system-vxworks7-e500-kernel.ads: Likewise. * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-e500-rtp.ads: Likewise. * libgnat/system-vxworks7-ppc-kernel.ads: Likewise. * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-ppc-rtp.ads: Likewise. * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise. * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-x86-kernel.ads: Likewise. * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-x86-rtp.ads: Likewise. * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise. * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise. * libgnat/system.ads: Likewise. * link.c: Likewise. * live.adb: Likewise. * live.ads: Likewise. * locales.c: Likewise. * make.adb: Likewise. * make.ads: Likewise. * make_util.adb: Likewise. * make_util.ads: Likewise. * makeusg.adb: Likewise. * makeusg.ads: Likewise. * mdll-fil.adb: Likewise. * mdll-fil.ads: Likewise. * mdll-utl.adb: Likewise. * mdll-utl.ads: Likewise. * mdll.adb: Likewise. * mdll.ads: Likewise. * mingw32.h: Likewise. * mkdir.c: Likewise. * namet-sp.adb: Likewise. * namet-sp.ads: Likewise. * namet.adb: Likewise. * namet.ads: Likewise. * namet.h: Likewise. * nlists.adb: Likewise. * nlists.ads: Likewise. * nlists.h: Likewise. * opt.adb: Likewise. * opt.ads: Likewise. * osint-b.adb: Likewise. * osint-b.ads: Likewise. * osint-c.adb: Likewise. * osint-c.ads: Likewise. * osint-l.adb: Likewise. * osint-l.ads: Likewise. * osint-m.adb: Likewise. * osint-m.ads: Likewise. * osint.adb: Likewise. * osint.ads: Likewise. * output.adb: Likewise. * output.ads: Likewise. * par-ch10.adb: Likewise. * par-ch11.adb: Likewise. * par-ch12.adb: Likewise. * par-ch13.adb: Likewise. * par-ch2.adb: Likewise. * par-ch3.adb: Likewise. * par-ch4.adb: Likewise. * par-ch5.adb: Likewise. * par-ch6.adb: Likewise. * par-ch7.adb: Likewise. * par-ch8.adb: Likewise. * par-ch9.adb: Likewise. * par-endh.adb: Likewise. * par-labl.adb: Likewise. * par-load.adb: Likewise. * par-prag.adb: Likewise. * par-sync.adb: Likewise. * par-tchk.adb: Likewise. * par-util.adb: Likewise. * par.adb: Likewise. * par.ads: Likewise. * par_sco.adb: Likewise. * par_sco.ads: Likewise. * pprint.adb: Likewise. * pprint.ads: Likewise. * prep.adb: Likewise. * prep.ads: Likewise. * prepcomp.adb: Likewise. * prepcomp.ads: Likewise. * put_scos.adb: Likewise. * put_scos.ads: Likewise. * raise-gcc.c: Likewise. * raise.c: Likewise. * raise.h: Likewise. * repinfo-input.adb: Likewise. * repinfo-input.ads: Likewise. * repinfo.adb: Likewise. * repinfo.ads: Likewise. * repinfo.h: Likewise. * restrict.adb: Likewise. * restrict.ads: Likewise. * rident.ads: Likewise. * rtfinal.c: Likewise. * rtinit.c: Likewise. * rtsfind.adb: Likewise. * rtsfind.ads: Likewise. * runtime.h: Likewise. * s-oscons-tmplt.c: Likewise. * sa_messages.adb: Likewise. * sa_messages.ads: Likewise. * scans.adb: Likewise. * scans.ads: Likewise. * scil_ll.adb: Likewise. * scil_ll.ads: Likewise. * scn.adb: Likewise. * scn.ads: Likewise. * scng.adb: Likewise. * scng.ads: Likewise. * scos.adb: Likewise. * scos.ads: Likewise. * scos.h: Likewise. * sdefault.ads: Likewise. * seh_init.c: Likewise. * sem.adb: Likewise. * sem.ads: Likewise. * sem_aggr.adb: Likewise. * sem_aggr.ads: Likewise. * sem_attr.adb: Likewise. * sem_attr.ads: Likewise. * sem_aux.adb: Likewise. * sem_aux.ads: Likewise. * sem_case.adb: Likewise. * sem_case.ads: Likewise. * sem_cat.adb: Likewise. * sem_cat.ads: Likewise. * sem_ch10.adb: Likewise. * sem_ch10.ads: Likewise. * sem_ch11.adb: Likewise. * sem_ch11.ads: Likewise. * sem_ch12.adb: Likewise. * sem_ch12.ads: Likewise. * sem_ch13.adb: Likewise. * sem_ch13.ads: Likewise. * sem_ch2.adb: Likewise. * sem_ch2.ads: Likewise. * sem_ch3.adb: Likewise. * sem_ch3.ads: Likewise. * sem_ch4.adb: Likewise. * sem_ch4.ads: Likewise. * sem_ch5.adb: Likewise. * sem_ch5.ads: Likewise. * sem_ch6.adb: Likewise. * sem_ch6.ads: Likewise. * sem_ch7.adb: Likewise. * sem_ch7.ads: Likewise. * sem_ch8.adb: Likewise. * sem_ch8.ads: Likewise. * sem_ch9.adb: Likewise. * sem_ch9.ads: Likewise. * sem_dim.adb: Likewise. * sem_dim.ads: Likewise. * sem_disp.adb: Likewise. * sem_disp.ads: Likewise. * sem_dist.adb: Likewise. * sem_dist.ads: Likewise. * sem_elab.adb: Likewise. * sem_elab.ads: Likewise. * sem_elim.adb: Likewise. * sem_elim.ads: Likewise. * sem_eval.adb: Likewise. * sem_eval.ads: Likewise. * sem_intr.adb: Likewise. * sem_intr.ads: Likewise. * sem_mech.adb: Likewise. * sem_mech.ads: Likewise. * sem_prag.adb: Likewise. * sem_prag.ads: Likewise. * sem_res.adb: Likewise. * sem_res.ads: Likewise. * sem_scil.adb: Likewise. * sem_scil.ads: Likewise. * sem_smem.adb: Likewise. * sem_smem.ads: Likewise. * sem_type.adb: Likewise. * sem_type.ads: Likewise. * sem_util.adb: Likewise. * sem_util.ads: Likewise. * sem_warn.adb: Likewise. * sem_warn.ads: Likewise. * set_targ.adb: Likewise. * set_targ.ads: Likewise. * sfn_scan.adb: Likewise. * sfn_scan.ads: Likewise. * sigtramp-armdroid.c: Likewise. * sigtramp-ios.c: Likewise. * sigtramp-qnx.c: Likewise. * sigtramp-vxworks.c: Likewise. * sigtramp.h: Likewise. * sinfo-cn.adb: Likewise. * sinfo-cn.ads: Likewise. * sinfo.adb: Likewise. * sinfo.ads: Likewise. * sinput-c.adb: Likewise. * sinput-c.ads: Likewise. * sinput-d.adb: Likewise. * sinput-d.ads: Likewise. * sinput-l.adb: Likewise. * sinput-l.ads: Likewise. * sinput.adb: Likewise. * sinput.ads: Likewise. * socket.c: Likewise. * spark_xrefs.adb: Likewise. * spark_xrefs.ads: Likewise. * sprint.adb: Likewise. * sprint.ads: Likewise. * stand.adb: Likewise. * stand.ads: Likewise. * stringt.adb: Likewise. * stringt.ads: Likewise. * stringt.h: Likewise. * style.adb: Likewise. * style.ads: Likewise. * styleg.adb: Likewise. * styleg.ads: Likewise. * stylesw.adb: Likewise. * stylesw.ads: Likewise. * switch-b.adb: Likewise. * switch-b.ads: Likewise. * switch-c.adb: Likewise. * switch-c.ads: Likewise. * switch-m.adb: Likewise. * switch-m.ads: Likewise. * switch.adb: Likewise. * switch.ads: Likewise. * symbols.adb: Likewise. * symbols.ads: Likewise. * sysdep.c: Likewise. * table.adb: Likewise. * table.ads: Likewise. * targext.c: Likewise. * targparm.adb: Likewise. * targparm.ads: Likewise. * tbuild.adb: Likewise. * tbuild.ads: Likewise. * tempdir.adb: Likewise. * tempdir.ads: Likewise. * terminals.c: Likewise. * tracebak.c: Likewise. * tree_gen.adb: Likewise. * tree_gen.ads: Likewise. * tree_in.adb: Likewise. * tree_in.ads: Likewise. * tree_io.adb: Likewise. * tree_io.ads: Likewise. * treepr.adb: Likewise. * treepr.ads: Likewise. * ttypes.ads: Likewise. * types.adb: Likewise. * types.ads: Likewise. * types.h: Likewise. * uintp.adb: Likewise. * uintp.ads: Likewise. * uintp.h: Likewise. * uname.adb: Likewise. * uname.ads: Likewise. * urealp.adb: Likewise. * urealp.ads: Likewise. * urealp.h: Likewise. * usage.adb: Likewise. * usage.ads: Likewise. * validsw.adb: Likewise. * validsw.ads: Likewise. * warnsw.adb: Likewise. * warnsw.ads: Likewise. * widechar.adb: Likewise. * widechar.ads: Likewise. * xeinfo.adb: Likewise. * xnmake.adb: Likewise. * xoscons.adb: Likewise. * xr_tabls.adb: Likewise. * xr_tabls.ads: Likewise. * xref_lib.adb: Likewise. * xref_lib.ads: Likewise. * xsinfo.adb: Likewise. * xsnamest.adb: Likewise. * xtreeprs.adb: Likewise. * xutil.adb: Likewise. * xutil.ads: Likewise.
2019-01-08[Ada] Bump copyright years to 2019Pierre-Marie de Rodat1-1/+1
From-SVN: r267683
2018-01-11[Ada] Bump copyright notices to 2018Arnaud Charlet1-1/+1
2018-01-11 Arnaud Charlet <charlet@adacore.com> gcc/ada/ Bump copyright notices to 2018. From-SVN: r256519
2017-04-25[multiple changes]Arnaud Charlet1-2/+18
2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Add_Internal_Interface_Entities): Move Has_Non_Trivial_Precondition to sem_util. for use elsewhere. Improve error message on operations that inherit non-conforming classwide preconditions from ancestor and progenitor. * sem_util.ads, sem_util.adb (Has_Non_Trivial_Precondition): moved here from sem_ch3. * sem_ch8.adb (Analyze_Subprogram_Renaming): Implement legality check given in RM 6.1.1 (17) concerning renamings of overriding operations that inherits class-wide preconditions from ancestor or progenitor. 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Code cleanup. (Build_Adjust_Statements): Code cleanup. (Build_Finalizer): Update the initialization of Exceptions_OK. (Build_Finalize_Statements): Code cleanup. (Build_Initialize_Statements): Code cleanup. (Make_Deep_Array_Body): Update the initialization of Exceptions_OK. (Make_Deep_Record_Body): Update the initialization of Exceptions_OK. (Process_Object_Declaration): Generate a null exception handler only when exceptions are allowed. (Process_Transients_In_Scope): Update the initialization of Exceptions_OK. * exp_util.ads, exp_util.adb (Exceptions_In_Finalization_OK): New routine. * sem_ch11.adb (Analyze_Exception_Handlers): Do not check any restrictions when the handler is internally generated and the mode is warnings. 2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Has_Non_Trivial_Precondition): New predicate to enforce legality rule on classwide preconditions inherited from both an ancestor and a progenitor (RM 6.1.1 (10-13). * sem_disp.adb (Check_Dispatching_Context): A call to an abstract subprogram need not be dispatching if it appears in a precondition for an abstract or null subprogram. 2017-04-25 Gary Dismukes <dismukes@adacore.com> * sem_ch10.adb: Minor typo fix. From-SVN: r247192
2017-01-13atree.adb (Allocate_Initialize_Node): A newly created node is no longer ↵Hristian Kirtchev1-8/+0
marked as Ghost at this level. 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> * atree.adb (Allocate_Initialize_Node): A newly created node is no longer marked as Ghost at this level. (Mark_New_Ghost_Node): New routine. (New_Copy): Mark the copy as Ghost. (New_Entity): Mark the entity as Ghost. (New_Node): Mark the node as Ghost. * einfo.adb (Is_Checked_Ghost_Entity): This attribute can now apply to unanalyzed entities. (Is_Ignored_Ghost_Entity): This attribute can now apply to unanalyzed entities. (Set_Is_Checked_Ghost_Entity): This attribute now applies to all entities as well as unanalyzed entities. (Set_Is_Ignored_Ghost_Entity): This attribute now applies to all entities as well as unanalyzed entities. * expander.adb Add with and use clauses for Ghost. (Expand): Install and revert the Ghost region associated with the node being expanded. * exp_ch3.adb (Expand_Freeze_Array_Type): Remove all Ghost-related code. (Expand_Freeze_Class_Wide_Type): Remoe all Ghost-related code. (Expand_Freeze_Enumeration_Type): Remove all Ghost-related code. (Expand_Freeze_Record_Type): Remove all Ghost-related code. (Freeze_Type): Install and revert the Ghost region associated with the type being frozen. * exp_ch5.adb Remove with and use clauses for Ghost. (Expand_N_Assignment_Statement): Remove all Ghost-related code. * exp_ch6.adb Remove with and use clauses for Ghost. (Expand_N_Procedure_Call_Statement): Remove all Ghost-relatd code. (Expand_N_Subprogram_Body): Remove all Ghost-related code. * exp_ch7.adb (Build_Invariant_Procedure_Body): Install and revert the Ghost region of the working type. (Build_Invariant_Procedure_Declaration): Install and revert the Ghost region of the working type. (Expand_N_Package_Body): Remove all Ghost-related code. * exp_ch8.adb Remove with and use clauses for Ghost. (Expand_N_Exception_Renaming_Declaration): Remove all Ghost-related code. (Expand_N_Object_Renaming_Declaration): Remove all Ghost-related code. (Expand_N_Package_Renaming_Declaration): Remove all Ghost-related code. (Expand_N_Subprogram_Renaming_Declaration): Remove all Ghost-related code. * exp_ch13.adb Remove with and use clauses for Ghost. (Expand_N_Freeze_Entity): Remove all Ghost-related code. * exp_disp.adb (Make_DT): Install and revert the Ghost region of the tagged type. Move the generation of various entities within the Ghost region of the type. * exp_prag.adb Remove with and use clauses for Ghost. (Expand_Pragma_Check): Remove all Ghost-related code. (Expand_Pragma_Contract_Cases): Remove all Ghost-related code. (Expand_Pragma_Initial_Condition): Remove all Ghost-related code. (Expand_Pragma_Loop_Variant): Remove all Ghost-related code. * exp_util.adb (Build_DIC_Procedure_Body): Install and revert the Ghost region of the working types. (Build_DIC_Procedure_Declaration): Install and revert the Ghost region of the working type. (Make_Invariant_Call): Install and revert the Ghost region of the associated type. (Make_Predicate_Call): Reimplemented. Install and revert the Ghost region of the associated type. * freeze.adb (Freeze_Entity): Install and revert the Ghost region of the entity being frozen. (New_Freeze_Node): Removed. * ghost.adb Remove with and use clauses for Opt. (Check_Ghost_Completion): Update the parameter profile and all references to formal parameters. (Ghost_Entity): Update the comment on usage. (Install_Ghost_Mode): New routines. (Is_Ghost_Assignment): New routine. (Is_Ghost_Declaration): New routine. (Is_Ghost_Pragma): New routine. (Is_Ghost_Procedure_Call): New routine. (Is_Ghost_Renaming): Removed. (Is_OK_Declaration): Reimplemented. (Is_OK_Pragma): Reimplemented. (Is_OK_Statement): Reimplemented. (Is_Subject_To_Ghost): Update the comment on usage. (Mark_And_Set_Ghost_Assignment): New routine. (Mark_And_Set_Ghost_Body): New routine. (Mark_And_Set_Ghost_Completion): New routine. (Mark_And_Set_Ghost_Declaration): New routine. (Mark_And_Set_Ghost_Instantiation): New routine. (Mark_And_Set_Ghost_Procedure_Call): New routine. (Mark_Full_View_As_Ghost): Removed. (Mark_Ghost_Declaration_Or_Body): New routine. (Mark_Ghost_Pragma): New routine. (Mark_Ghost_Renaming): New routine. (Mark_Pragma_As_Ghost): Removed. (Mark_Renaming_As_Ghost): Removed. (Propagate_Ignored_Ghost_Code): Update the comment on usage. (Prune_Node): Freeze nodes no longer need special pruning, they are processed by the general ignored Ghost code mechanism. (Restore_Ghost_Mode): New routine. (Set_Ghost_Mode): Reimplemented. (Set_Ghost_Mode_From_Entity): Removed. * ghost.ads Add with and use clauses for Ghost. (Check_Ghost_Completion): Update the parameter profile along with the comment on usage. (Install_Ghost_Mode): New routine. (Is_Ghost_Assignment): New routine. (Is_Ghost_Declaration): New routine. (Is_Ghost_Pragma): New routine. (Is_Ghost_Procedure_Call): New routine. (Mark_And_Set_Ghost_Assignment): New routine. (Mark_And_Set_Ghost_Body): New routine. (Mark_And_Set_Ghost_Completion): New routine. (Mark_And_Set_Ghost_Declaration): New routine. (Mark_And_Set_Ghost_Instantiation): New routine. (Mark_And_Set_Ghost_Procedure_Call): New routine. (Mark_Full_View_As_Ghost): Removed. (Mark_Ghost_Pragma): New routine. (Mark_Ghost_Renaming): New routine. (Mark_Pragma_As_Ghost): Removed. (Mark_Renaming_As_Ghost): Removed. (Restore_Ghost_Mode): New routine. (Set_Ghost_Mode): Redefined. (Set_Ghost_Mode_From_Entity): Removed. * sem.adb (Analyze): Install and revert the Ghost region of the node being analyzed. (Do_Analyze): Change the way a clean Ghost region is installed and reverted. * sem_ch3.adb (Analyze_Full_Type_Declaration): Remove all Ghost-related code. (Analyze_Incomplete_Type_Decl): Remove all Ghost-related code. (Analyze_Number_Declaration): Remove all Ghost-related code. (Analyze_Object_Declaration): Install and revert the Ghost region of a deferred object declaration's completion. (Array_Type_Declaration): Remove all Ghost-related code. (Build_Derived_Type): Update the comment on the propagation of Ghost attributes from a parent to a derived type. (Derive_Subprogram): Remove all Ghost-related code. (Make_Class_Wide_Type): Remove all Ghost-related code. (Make_Implicit_Base): Remove all Ghost-related code. (Process_Full_View): Install and revert the Ghost region of the partial view. There is no longer need to check the Ghost completion here. * sem_ch5.adb (Analyze_Assignment): Install and revert the Ghost region of the left hand side. * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Remove all Ghost-related code. (Analyze_Expression_Function): Remove all Ghost-related code. (Analyze_Generic_Subprogram_Body): Remove all Ghost-related code. (Analyze_Procedure_Call): Install and revert the Ghost region of the procedure being called. (Analyze_Subprogram_Body_Helper): Install and revert the Ghost region of the spec or body. (Analyze_Subprogram_Declaration): Remove all Ghost-related code. (Build_Subprogram_Declaration): Remove all Ghost-related code. (Find_Corresponding_Spec): Remove all Ghost-related code. (Process_Formals): Remove all Ghost-related code. * sem_ch7.adb (Analyze_Package_Body_Helper): Install and revert the Ghost region of the spec. (Analyze_Package_Declaration): Remove all Ghost-related code. * sem_ch8.adb (Analyze_Exception_Renaming): Mark a renaming as Ghost when it aliases a Ghost entity. (Analyze_Generic_Renaming): Mark a renaming as Ghost when it aliases a Ghost entity. (Analyze_Object_Renaming): Mark a renaming as Ghost when it aliases a Ghost entity. (Analyze_Package_Renaming): Mark a renaming as Ghost when it aliases a Ghost entity. (Analyze_Subprogram_Renaming): Mark a renaming as Ghost when it aliases a Ghost entity. * sem_ch11.adb Remove with and use clauses for Ghost. (Analyze_Exception_Declaration): Remove all Ghost-related code. * sem_ch12.adb (Analyze_Generic_Package_Declaration): Remove all Ghost-related code. (Analyze_Generic_Subprogram_Declaration): Remove all Ghost-related code. (Analyze_Package_Instantiation): Install and revert the Ghost region of the package instantiation. (Analyze_Subprogram_Instantiation): Install and revert the Ghost region of the subprogram instantiation. (Instantiate_Package_Body): Code clean up. Install and revert the Ghost region of the package body. (Instantiate_Subprogram_Body): Code clean up. Install and revert the Ghost region of the subprogram body. * sem_ch13.adb (Build_Predicate_Functions): Install and revert the Ghost region of the related type. (Build_Predicate_Function_Declaration): Code clean up. Install and rever the Ghost region of the related type. * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Install and revert the Ghost region of the pragma. (Analyze_Initial_Condition_In_Decl_Part): Install and revert the Ghost region of the pragma. (Analyze_Pragma): Install and revert the Ghost region of various pragmas. Mark a pragma as Ghost when it is related to a Ghost entity or encloses a Ghost entity. (Analyze_Pre_Post_Condition): Install and revert the Ghost region of the pragma. (Analyze_Pre_Post_Condition_In_Decl_Part): Install and revert the Ghost region of the pragma. * sem_res.adb (Resolve): Remove all Ghost-related code. * sem_util.adb (Is_Declaration): Reimplemented. (Is_Declaration_Other_Than_Renaming): New routine. * sem_util.ads (Is_Declaration_Other_Than_Renaming): New routine. * sinfo.adb (Is_Checked_Ghost_Pragma): New routine. (Is_Ghost_Pragma): Removed. (Is_Ignored_Ghost_Pragma): New routine. (Set_Is_Checked_Ghost_Pragma): New routine. (Set_Is_Ghost_Pragma): Removed. (Set_Is_Ignored_Ghost_Pragma): New routine. * sinfo.ads: Update the documentation on Ghost mode and Ghost regions. New attributes Is_Checked_Ghost_Pragma and Is_Ignored_Ghost_Pragma along with usages in nodes. Remove attribute Is_Ghost_Pragma along with usages in nodes. (Is_Checked_Ghost_Pragma): New routine along with pragma Inline. (Is_Ghost_Pragma): Removed along with pragma Inline. (Is_Ignored_Ghost_Pragma): New routine along with pragma Inline. (Set_Is_Checked_Ghost_Pragma): New routine along with pragma Inline. (Set_Is_Ghost_Pragma): Removed along with pragma Inline. (Set_Is_Ignored_Ghost_Pragma): New routine along with pragma Inline. From-SVN: r244395
2016-04-27[multiple changes]Arnaud Charlet1-8/+9
2016-04-27 Arnaud Charlet <charlet@adacore.com> * s-rident.ads: Make No_Implicit_Loops non partition wide. 2016-04-27 Arnaud Charlet <charlet@adacore.com> * sem_ch11.adb (Analyze_Handled_Statements): check useless assignments also in entries and task bodies, not only in procedures and declaration blocks. * sem_ch5.adb (Analyze_Block_Statement): check useless assignements in declaration blocks as part of processing their handled statement sequence, just like it was done for procedures and now is also done for entries and task bodies. * sem_warn.adb (Warn_On_Useless_Assignment): detect boundries of entries and task bodies just like of procedures. 2016-04-27 Hristian Kirtchev <kirtchev@adacore.com> * sem_util.adb (Is_Volatile_Function): Recognize a function declared within a protected type as well as the protected/unprotected version of a function. From-SVN: r235491
2016-04-20[multiple changes]Arnaud Charlet1-6/+7
2016-04-20 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb Flag286 is now used as Is_Exception_Handler. (Is_Exception_Handler): New routine. (Set_Is_Exception_Handler): New routine. (Write_Entity_Flags): Output the status of Is_Exception_Handler. * einfo.ads New attribute Is_Exception_Handler along with occurrences in entities. (Is_Exception_Handler): New routine along with pragma Inline. (Set_Is_Exception_Handler): New routine along with pragma Inline. * exp_ch7.adb (Make_Transient_Block): Ignore blocks generated for exception handlers with a choice parameter. * sem_ch11.adb (Analyze_Exception_Handlers): Mark the scope generated for a choice parameter as an exception handler. 2016-04-20 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Build_Derived_Access_Type): Remove dead code. (Constrain_Discriminated_Type): In an instance, if the type has unknown discriminants, use its full view. (Process_Subtype): Check that the base type is private before adding subtype to Private_Dependents list. 2016-04-20 Bob Duff <duff@adacore.com> * sem_ch13.adb: Minor comment fix. From-SVN: r235264
2015-10-20[multiple changes]Arnaud Charlet1-2/+7
2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch11.adb (Analyze_Handled_Statements): If the scope is a postcondition subprogram, do not check for useless assignments because there are no source references in such a body, and the call will lose deferred references from the enclosing subprogram. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb: nalyze_Attribute_Definition_Clause, case 'Address): If either object is controlled the overlay is erroneous, but analysis must be completed so that back-end sees address clause and completes code generation. Improve text of warning. 2015-10-20 Thomas Quinot <quinot@adacore.com> * exp_ch4.adb: Minor reformatting. From-SVN: r229072
2015-10-16exp_ch3.adb (Expand_N_Full_Type_Declaration): Do not capture, set and ↵Hristian Kirtchev1-14/+2
restore the Ghost mode. 2015-10-16 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch3.adb (Expand_N_Full_Type_Declaration): Do not capture, set and restore the Ghost mode. (Expand_N_Object_Declaration): Do not capture, set and restore the Ghost mode. (Freeze_Type): Redo the capture and restore of the Ghost mode. (Restore_Globals): Removed. * exp_ch5.adb (Expand_N_Assignment_Statement): Redo the capture and restore of the Ghost mode. (Restore_Globals): Removed. * exp_ch6.adb (Expand_N_Procedure_Call_Statement): Redo the capture and restore of the Ghost mode. (Expand_N_Subprogram_Body): Redo the capture, set and restore of the Ghost mode. (Expand_N_Subprogram_Declaration): Do not capture, set and restore the Ghost mode. (Restore_Globals): Removed. * exp_ch7.adb (Expand_N_Package_Body): Redo the capture, set and restore of the Ghost mode. (Expand_N_Package_Declaration): Do not capture, set and restore the Ghost mode. * exp_ch8.adb (Expand_N_Exception_Renaming_Declaration): Redo the capture and restore of the Ghost mode. (Expand_N_Object_Renaming_Declaration): Redo the capture and restore of the Ghost mode. (Expand_N_Package_Renaming_Declaration): Redo the capture and restore of the Ghost mode. (Expand_N_Subprogram_Renaming_Declaration): Redo the capture and restore of the Ghost mode. * exp_ch11.adb Remove with and use clauses for Ghost. (Expand_N_Exception_Declaration): Do not capture, set and restore the Ghost mode. * exp_disp.adb (Make_DT): Redo the capture and restore of the Ghost mode. (Restore_Globals): Removed. * exp_prag.adb (Expand_Pragma_Check): Do not capture, set and restore the Ghost mode. (Expand_Pragma_Contract_Cases): Redo the capture and restore of the Ghost mode. Preserve the original context of contract cases by setting / resetting the In_Assertion_Expr counter. (Expand_Pragma_Initial_Condition): Redo the capture and restore of the Ghost mode. (Expand_Pragma_Loop_Variant): Redo the capture and restore of the Ghost mode. (Restore_Globals): Removed. * exp_util.adb (Make_Predicate_Call): Redo the capture and restore of the Ghost mode. (Restore_Globals): Removed. * freeze.adb (Freeze_Entity): Redo the capture and restore of the Ghost mode. (Restore_Globals): Removed. * ghost.adb (Check_Ghost_Context): Remove the RM reference from the error message. (Is_OK_Statement): Account for statements that appear in assertion expressions. (Is_Subject_To_Ghost): Moved from spec. * ghost.ads (Is_Subject_To_Ghost): Moved to body. * rtsfind.ads (Load_RTU): Redo the capture and restore of the Ghost mode. * sem.adb Add with and use clauses for Ghost. (Analyze): Redo the capture and restore of the Ghost mode. Set the Ghost mode when analyzing a declaration. (Do_Analyze): Redo the capture and restore of the Ghost mode. * sem_ch3.adb (Analyze_Full_Type_Declaration): Do not capture, set and restore the Ghost mode. (Analyze_Incomplete_Type_Decl): Do not capture, set and restore the Ghost mode. (Analyze_Number_Declaration): Do not capture, set and restore the Ghost mode. (Analyze_Object_Declaration): Do not capture, set and restore the Ghost mode. (Analyze_Private_Extension_Declaration): Do not capture, set and restore the Ghost mode. (Analyze_Subtype_Declaration): Do not capture, set and restore the Ghost mode. (Restore_Globals): Removed. * sem_ch5.adb (Analyze_Assignment): Redo the capture and restore of the Ghost mode. (Restore_Globals): Removed. * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Do not capture, set and restore the Ghost mode. (Analyze_Procedure_Call): Redo the capture and restore of the Ghost mode. (Analyze_Subprogram_Body_Helper): Redo the capture and restore of the Ghost mode. (Analyze_Subprogram_Declaration): Do not capture, set and restore the Ghost mode. (Restore_Globals): Removed. * sem_ch7.adb (Analyze_Package_Body_Helper): Redo the capture and restore of the Ghost mode. (Analyze_Package_Declaration): Do not capture, set and restore the Ghost mode. (Analyze_Private_Type_Declaration): Do not capture, set and restore the Ghost mode. (Restore_Globals): Removed. * sem_ch8.adb (Analyze_Exception_Renaming): Do not capture, set and restore the Ghost mode. (Analyze_Generic_Renaming): Do not capture, set and restore the Ghost mode. (Analyze_Object_Renaming): Do not capture, set and restore the Ghost mode. (Analyze_Package_Renaming): Do not capture, set and restore the Ghost mode. (Analyze_Subprogram_Renaming): Do not capture, set and restore the Ghost mode. (Restore_Globals): Removed. * sem_ch11.adb (Analyze_Exception_Declaration): Do not capture, set and restore the Ghost mode. * sem_ch12.adb (Analyze_Generic_Package_Declaration): Do not capture, set and restore the Ghost mode. (Analyze_Generic_Subprogram_Declaration): Do not capture, set and restore the Ghost mode. * sem_ch13.adb (Build_Invariant_Procedure_Declaration): Redo the capture and restore of the Ghost mode. * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Redo the capture and restore of the Ghost mode. (Analyze_External_Property_In_Decl_Part): Redo the capture and restore of the Ghost mode. (Analyze_Initial_Condition_In_Decl_Part): Redo the capture and restore of the Ghost mode. (Analyze_Pragma): Do not capture, set and restore the Ghost mode for Assert. Redo the capture and restore of the Ghost mode for Check. Do not capture and restore the Ghost mode for Invariant. (Analyze_Pre_Post_Condition_In_Decl_Part): Redo the capture and restore of the Ghost mode. * sem_res.adb (Resolve): Capture, set and restore the Ghost mode when resolving a declaration. * sem_util.adb (Build_Default_Init_Cond_Procedure_Body): Redo the capture and restore of the Ghost mode. (Build_Default_Init_Cond_Procedure_Declaration): Redo the capture and restore of the Ghost mode. From-SVN: r228871
2015-05-26[multiple changes]Arnaud Charlet1-2/+2
2015-05-26 Robert Dewar <dewar@adacore.com> * exp_prag.adb, sem_ch3.adb, sem_ch5.adb, exp_ch11.adb, ghost.adb, exp_ch6.adb, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, sem_ch13.adb, exp_ch3.adb: Minor reformatting. 2015-05-26 Bob Duff <duff@adacore.com> * treepr.adb: Minor improvement to debugging routines (pp, pn) robustness. Rearrange the code so passing a nonexistent Node_Id prints "No such node" rather than crashing, and causing gdb to generate confusing messages. 2015-05-26 Gary Dismukes <dismukes@adacore.com> * sem_util.adb: Minor typo fix. 2015-05-26 Yannick Moy <moy@adacore.com> * sem_aux.adb (Subprogram_Body_Entity): Deal with subprogram stubs. From-SVN: r223685
2015-05-26exp_ch3.adb (Expand_N_Full_Type_Declaration): Capture, set and restore the ↵Hristian Kirtchev1-1/+7
Ghost mode. 2015-05-26 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch3.adb (Expand_N_Full_Type_Declaration): Capture, set and restore the Ghost mode. (Expand_N_Object_Declaration): Capture, set and restore the Ghost mode. (Freeze_Type): Update the call to Set_Ghost_Mode. (Restore_Globals): New routine. * exp_ch5.adb Add with and use clauses for Ghost. (Expand_N_Assignment_Statement): Capture, set and restore the Ghost mode. (Restore_Globals): New routine. * exp_ch6.adb Add with and use clauses for Ghost. (Expand_N_Procedure_Call_Statement): Capture, set and restore the Ghost mode. (Expand_N_Subprogram_Body): Code cleanup. Capture, set and restore the Ghost mode. (Expand_N_Subprogram_Declaration): Capture, set and restore the Ghost mode. (Restore_Globals): New routine. * exp_ch7.adb Add with and use clauses for Ghost. (Expand_N_Package_Body): Capture, set and restore the Ghost mode. (Expand_N_Package_Declaration): Capture, set and restore the Ghost mode. (Wrap_HSS_In_Block): Create a proper identifier for the block. * exp_ch8.adb Add with and use clauses for Ghost. (Expand_N_Exception_Renaming_Declaration): Code cleanup. Capture, set and restore the Ghost mode. (Expand_N_Object_Renaming_Declaration): Capture, set and restore the Ghost mode. (Expand_N_Package_Renaming_Declaration): Capture, set and restore the Ghost mode. (Expand_N_Subprogram_Renaming_Declaration): Capture, set and restore the Ghost mode. * exp_ch11.adb (Expand_N_Exception_Declaration): Code cleanup. Capture, set and restore the Ghost mode. * exp_disp.adb (Make_DT): Update the call to Set_Ghost_Mode. Do not initialize the dispatch table slot of a Ghost subprogram. * exp_prag.adb Add with and use clauses for Ghost. (Expand_Pragma_Check): Capture, set and restore the Ghost mode. (Expand_Pragma_Contract_Cases): Capture, set and restore the Ghost mode. (Expand_Pragma_Initial_Condition): Capture, set and restore the Ghost mode. (Expand_Pragma_Loop_Variant): Capture, set and restore the Ghost mode. (Restore_Globals): New routine. * exp_util.adb Add with and use clauses for Ghost. (Make_Predicate_Call): Code cleanup. Capture, set and restore the Ghost mode. (Restore_Globals): New routine. * freeze.adb (Freeze_Entity): Code cleanup. Update the call to Set_Ghost_Mode. * ghost.adb Add with and use clause for Sem_Prag. (Check_Ghost_Completion): Code cleanup. (Check_Ghost_Overriding): New routine. (Check_Ghost_Policy): Code cleanup. (Ghost_Entity): New routine. (Is_Ghost_Declaration): Removed. (Is_Ghost_Statement_Or_Pragma): Removed. (Is_OK_Context): Reimplemented. (Is_OK_Declaration): New routine. (Is_OK_Pragma): New routine. (Is_OK_Statement): New routine. (Mark_Full_View_As_Ghost): New routine. (Mark_Pragma_As_Ghost): New routine. (Mark_Renaming_As_Ghost): New routine. (Propagate_Ignored_Ghost_Code): Update the comment on usage. (Set_From_Entity): New routine. (Set_From_Policy): New routine. (Set_Ghost_Mode): This routine now handles pragmas and freeze nodes. (Set_Ghost_Mode_For_Freeze): Removed. (Set_Ghost_Mode_From_Entity): New routine. (Set_Ghost_Mode_From_Policy): Removed. * ghost.ads (Check_Ghost_Overriding): New routine. (Mark_Full_View_As_Ghost): New routine. (Mark_Pragma_As_Ghost): New routine. (Mark_Renaming_As_Ghost): New routine. (Set_Ghost_Mode): Update the parameter profile. Update the comment on usage. (Set_Ghost_Mode_For_Freeze): Removed. (Set_Ghost_Mode_From_Entity): New routine. * sem_ch3.adb (Analyze_Full_Type_Declaration): Capture and restore the Ghost mode. Mark a type as Ghost regardless of whether it comes from source. (Analyze_Incomplete_Type_Decl): Capture, set and restore the Ghost mode. (Analyze_Number_Declaration): Capture and restore the Ghost mode. (Analyze_Object_Declaration): Capture and restore the Ghost mode. (Analyze_Private_Extension_Declaration): Capture and restore the Ghost mode. (Analyze_Subtype_Declaration): Capture and restore the Ghost mode. (Process_Full_View): The full view inherits all Ghost-related attributes from the private view. (Restore_Globals): New routine. * sem_ch5.adb (Analyze_Assignment): Capture and restore the Ghost mode. (Restore_Globals): New routine. * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Code cleanup. Capture and restore the Ghost mode. Mark a subprogram as Ghost regarless of whether it comes from source. (Analyze_Procedure_Call): Capture and restore the Ghost mode. (Analyze_Subprogram_Body_Helper): Capture and restore the Ghost mode. (Analyze_Subprogram_Declaration): Capture and restore the Ghost mode. (New_Overloaded_Entity): Ensure that a parent subprogram and an overriding subprogram have compatible Ghost policies. * sem_ch7.adb (Analyze_Package_Body_Helper): Capture and restore the Ghost mode. (Analyze_Package_Declaration): Capture and restore the Ghost mode. Mark a package as Ghost when it is declared in a Ghost region. (Analyze_Private_Type_Declaration): Capture and restore the Ghost mode. (Restore_Globals): New routine. * sem_ch8.adb (Analyze_Exception_Renaming): Code reformatting. Capture and restore the Ghost mode. A renaming becomes Ghost when its name references a Ghost entity. (Analyze_Generic_Renaming): Capture and restore the Ghost mode. A renaming becomes Ghost when its name references a Ghost entity. (Analyze_Object_Renaming): Capture and restore the Ghost mode. A renaming becomes Ghost when its name references a Ghost entity. (Analyze_Package_Renaming): Capture and restore the Ghost mode. A renaming becomes Ghost when its name references a Ghost entity. (Analyze_Subprogram_Renaming): Capture and restore the Ghost mode. A renaming becomes Ghost when its name references a Ghost entity. * sem_ch11.adb (Analyze_Exception_Declaration): Capture, set and restore the Ghost mode. * sem_ch12.adb (Analyze_Generic_Package_Declaration): Capture and restore the Ghost mode. (Analyze_Generic_Subprogram_Declaration): Capture and restore the Ghost mode. * sem_ch13.adb Add with and use clauses for Ghost. (Add_Invariant): New routine. (Add_Invariants): Factor out code. (Add_Predicate): New routine. (Add_Predicates): Factor out code. (Build_Invariant_Procedure_Declaration): Code cleanup. Capture, set and restore the Ghost mode. (Build_Invariant_Procedure): Code cleanup. (Build_Predicate_Functions): Capture, set and restore the Ghost mode. Mark the generated functions as Ghost. * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Capture, set and restore the Ghost mode. (Analyze_External_Property_In_Decl_Part): Capture, set and restore the Ghost mode. (Analyze_Initial_Condition_In_Decl_Part): Capture, set and restore the Ghost mode. (Analyze_Pragma): Code cleanup. Capture, set and restore the Ghost mode. Flag pragmas Linker_Section, No_Return, Unmodified, Unreferenced and Unreferenced_Objects as illegal when it applies to both Ghost and living arguments. Pragma Ghost cannot apply to synchronized objects. (Check_Kind): Moved to the spec of Sem_Prag. (Process_Inline): Flag the pragma as illegal when it applies to both Ghost and living arguments. (Restore_Globals): New routine. * sem_prag.ads Add pragma Default_Initial_Condition to table Assertion_Expression_Pragma. Add new table Is_Aspect_Specifying_Pragma. (Check_Kind): Moved from body of Sem_Prag. * sem_util.adb Add with and use clauses for Ghost. (Build_Default_Init_Cond_Procedure_Body): Capture, set and restore the Ghost mode. (Build_Default_Init_Cond_Procedure_Declaration): Capture, set and restore the Ghost mode. Mark the default initial condition procedure as Ghost when it is declared in a Ghost region. (Is_Renaming_Declaration): New routine. (Policy_In_List): Account for the single argument version of Check_Pragma. * sem_util.ads (Is_Renaming_Declaration): New routine. * sinfo.adb (Is_Ghost_Pragma): New routine. (Set_Is_Ghost_Pragma): New routine. * sinfo.ads New attribute Is_Ghost_Pragma. (Is_Ghost_Pragma): New routine along with pragma Inline. (Set_Is_Ghost_Pragma): New routine along with pragma Inline. From-SVN: r223684
2015-01-072015-01-07 Hristian Kirtchev <kirtchev@adacore.com>Hristian Kirtchev1-2/+10
* alloc.ads Alphabetize several declarations. Add constants Ignored_Ghost_Units_Initial and Ignored_Ghost_Units_Increment. * atree.adb Add with and use clauses for Opt. (Allocate_Initialize_Node): Mark a node as ignored Ghost if it is created in an ignored Ghost region. (Ekind_In): New variant. (Is_Ignored_Ghost_Node): New routine. (Set_Is_Ignored_Ghost_Node): New routine. * atree.adb Aplhabetize several subprograms declarations. Flag Spare0 is now known as Is_Ignored_Ghost_Node. (Ekind_In): New variant. (Is_Ignored_Ghost_Node): New routine. (Set_Is_Ignored_Ghost_Node): New routine. * einfo.adb: Flag 279 is now known as Contains_Ignored_Ghost_Code. (Contains_Ignored_Ghost_Code): New routine. (Set_Contains_Ignored_Ghost_Code): New routine. (Set_Is_Checked_Ghost_Entity, Set_Is_Ignored_Ghost_Entity): It is now possible to set this property on an unanalyzed entity. (Write_Entity_Flags): Output the status of flag Contains_Ignored_Ghost_Code. * einfo.ads New attribute Contains_Ignored_Ghost_Code along with usage in nodes. (Contains_Ignored_Ghost_Code): New routine along with pragma Inline. (Set_Contains_Ignored_Ghost_Code): New routine along with pragma Inline. * exp_ch3.adb Add with and use clauses for Ghost. (Freeze_Type): Capture/restore the value of Ghost_Mode on entry/exit. Set the Ghost_Mode in effect. (Restore_Globals): New routine. * exp_ch7.adb (Process_Declarations): Do not process a context that invoves an ignored Ghost entity. * exp_dbug.adb (Qualify_All_Entity_Names): Skip an ignored Ghost construct that has been rewritten as a null statement. * exp_disp.adb Add with and use clauses for Ghost. (Make_DT): Capture/restore the value of Ghost_Mode on entry/exit. Set the Ghost_Mode in effect. (Restore_Globals): New routine. * exp_util.adb (Requires_Cleanup_Actions): An ignored Ghost entity does not require any clean up. Add two missing cases that deal with block statements. * freeze.adb Add with and use clauses for Ghost. (Freeze_Entity): Capture/restore the value of Ghost_Mode on entry/exit. Set the Ghost_Mode in effect. (Restore_Globals): New routine. * frontend.adb Add with and use clauses for Ghost. Remove any ignored Ghost code from all units that qualify. * ghost.adb New unit. * ghost.ads New unit. * gnat1drv.adb Add with clause for Ghost. Initialize and lock the table in package Ghost. * lib.ads: Alphabetize several subprogram declarations. * lib-xref.adb (Output_References): Do not generate reference information for ignored Ghost entities. * opt.ads Add new type Ghost_Mode_Type and new global variable Ghost_Mode. * rtsfind.adb (Load_RTU): Provide a clean environment when loading a runtime unit. * sem.adb (Analyze): Capture/restore the value of Ghost_Mode on entry/exit as the node may set a different mode. (Do_Analyze): Capture/restore the value of Ghost_Mode on entry/exit as the unit may be withed from a unit with a different Ghost mode. * sem_ch3.adb Add with and use clauses for Ghost. (Analyze_Full_Type_Declaration, Analyze_Incomplete_Type_Decl, Analyze_Number_Declaration, Analyze_Private_Extension_Declaration, Analyze_Subtype_Declaration): Set the Ghost_Mode in effect. Mark the entity as Ghost when there is a Ghost_Mode in effect. (Array_Type_Declaration): The implicit base type inherits the "ghostness" from the array type. (Derive_Subprogram): The alias inherits the "ghostness" from the parent subprogram. (Make_Implicit_Base): The implicit base type inherits the "ghostness" from the parent type. * sem_ch5.adb Add with and use clauses for Ghost. (Analyze_Assignment): Set the Ghost_Mode in effect. * sem_ch6.adb Add with and use clauses for Ghost. (Analyze_Abstract_Subprogram_Declaration, Analyze_Procedure_Call, Analyze_Subprogram_Body_Helper, Analyze_Subprogram_Declaration): Set the Ghost_Mode in effect. Mark the entity as Ghost when there is a Ghost_Mode in effect. * sem_ch7.adb Add with and use clauses for Ghost. (Analyze_Package_Body_Helper, Analyze_Package_Declaration, Analyze_Private_Type_Declaration): Set the Ghost_Mode in effect. Mark the entity as Ghost when there is a Ghost_Mode in effect. * sem_ch8.adb Add with and use clauses for Ghost. (Analyze_Exception_Renaming, Analyze_Generic_Renaming, Analyze_Object_Renaming, Analyze_Package_Renaming, Analyze_Subprogram_Renaming): Set the Ghost_Mode in effect. Mark the entity as Ghost when there is a Ghost_Mode in effect. (Find_Type): Check the Ghost context of a type. * sem_ch11.adb Add with and use clauses for Ghost. (Analyze_Exception_Declaration): Set the Ghost_Mode in effect. Mark the entity as Ghost when there is a Ghost_Mode in effect. * sem_ch12.adb Add with and use clauses for Ghost. (Analyze_Generic_Package_Declaration, Analyze_Generic_Subprogram_Declaration): Set the Ghost_Mode in effect. Mark the entity as Ghost when there is a Ghost_Mode in effect. * sem_prag.adb Add with and use clauses for Ghost. (Analyze_Pragma): Ghost-related checks are triggered when there is a Ghost mode in effect. (Create_Abstract_State): Mark the entity as Ghost when there is a Ghost_Mode in effect. * sem_res.adb Add with and use clauses for Ghost. (Check_Ghost_Context): Removed. * sem_util.adb (Check_Ghost_Completion): Removed. (Check_Ghost_Derivation): Removed. (Incomplete_Or_Partial_View): Add a guard in case the entity has not been analyzed yet and does carry a scope. (Is_Declaration): New routine. (Is_Ghost_Entity): Removed. (Is_Ghost_Statement_Or_Pragma): Removed. (Is_Subject_To_Ghost): Removed. (Set_Is_Ghost_Entity): Removed. (Within_Ghost_Scope): Removed. * sem_util.adb (Check_Ghost_Completion): Removed. (Check_Ghost_Derivation): Removed. (Is_Declaration): New routine. (Is_Ghost_Entity): Removed. (Is_Ghost_Statement_Or_Pragma): Removed. (Is_Subject_To_Ghost): Removed. (Set_Is_Ghost_Entity): Removed. (Within_Ghost_Scope): Removed. * sinfo.ads Add a section on Ghost mode. * treepr.adb (Print_Header_Flag): New routine. (Print_Node_Header): Factor out code. Output flag Is_Ignored_Ghost_Node. * gcc-interface/Make-lang.in: Add dependency for unit Ghost. From-SVN: r219280
2015-01-06[multiple changes]Arnaud Charlet1-12/+9
2015-01-06 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb: Sloc of wrapper is that of instantiation. 2015-01-06 Robert Dewar <dewar@adacore.com> * sem_ch11.adb: Minor reformatting. 2015-01-06 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Get_Assoc_Expr): New routine internal to Build_Array_Aggr_Code, used to initialized components covered by a box association. If the component type is scalar and has a default aspect, use it to initialize such components. 2015-01-06 Pascal Obry <obry@adacore.com> * rtinit.c (__gnat_runtime_initialize): Add a parameter to control the setup of the exception handler. * initialize.c: Remove unused declaration. * bindgen.adb: Always call __gnat_runtime_initialize and pass whether the exeception handler must be set or not. From-SVN: r219251
2014-10-312014-10-31 Hristian Kirtchev <kirtchev@adacore.com>Arnaud Charlet1-0/+7
* aspects.adb Add an entry for aspect Ghost in table Canonical_Aspect. * aspects.ads Add an entry for aspect Ghost in tables Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names and Implementation_Defined_Aspect. * einfo.adb: Flags 277 and 278 are now in use. (Is_Checked_Ghost_Entity): New routine. (Is_Ghost_Entity): Removed. (Is_Ghost_Subprogram): Removed. (Is_Ignored_Ghost_Entity): New routine. (Set_Is_Checked_Ghost_Entity): New routine. (Set_Is_Ignored_Ghost_Entity): New routine. (Write_Entity_Flags): Output flags Is_Checked_Ghost_Entity and Is_Ignored_Ghost_Entity. * einfo.ads: Add new flags Is_Checked_Ghost_Entity and Is_Ignored_Ghost_Entity along with usage in nodes. (Is_Checked_Ghost_Entity): New routine and pragma Inline. (Is_Ghost_Entity): Removed along with synthesized flag description and usage in nodes. (Is_Ghost_Subprogram): Removed along with synthesized flag description and usage in nodes. (Is_Ignored_Ghost_Entity): New routine and pragma Inline. (Set_Is_Checked_Ghost_Entity): New routine and pragma Inline. (Set_Is_Ignored_Ghost_Entity): New routine and pragma Inline. * freeze.adb (Freeze_Entity): A Ghost type cannot be effectively volatile. * par-prag.adb Pragma Ghost does not need special handling by the parser. * repinfo.adb (List_Mechanisms): Remove the entry for convention Ghost. * sem_attr.adb (Analyze_Access_Attribute): Remove obsolete check. * sem_ch3.adb (Analyze_Full_Type_Declaration): Mark the type as Ghost when its enclosing context is Ghost. (Analyze_Incomplete_Type_Decl): Mark the type as Ghost when its enclosing context is Ghost. (Analyze_Number_Declaration): Mark the number as Ghost when its enclosing context is Ghost. (Analyze_Object_Declaration): Mark the object as Ghost when its enclosing context is Ghost. Verify the Ghost policy between initial declaration and completion of a deferred constant. (Analyze_Object_Contract): A Ghost variable cannot be effectively volatile, imported or exported. (Build_Derived_Record_Type): Mark a type extension as Ghost when it implements a Ghost interface. (Build_Record_Type): Inherit volatility and "ghostness" from the parent type. (Check_Completion): A Ghost entity declared in a non-Ghost package does not require completion in a body. (Implements_Ghost_Interface): New routine. (Process_Full_View): Inherit "ghostness" from the partial view. Verify the Ghost policy between the partial and full views. Verify the completion of a Ghost type extension. * sem_ch4.adb (Check_Ghost_Subprogram_Call): Removed. * sem_ch5.adb (Analyze_Assignment): Analyze the left hand side first. * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Mark the subprogram as Ghost when its enclosing context is Ghost. (Analyze_Generic_Subprogram_Body): Mark the generic body as Ghost when its enclosing context is Ghost. Verify the Ghost policy between the spec and body. (Analyze_Subprogram_Body_Helper): Mark the body as Ghost when its enclosing context is Ghost. Verify the Ghost policy between the spec and body. (Check_Conformance): A Ghost subprogram profile and a non-Ghost subprogram profile are not subtype conformant. (Convention_Of): Removed. * sem_ch7.adb (Analyze_Package_Body_Helper): Inherit the "ghostness" from the spec. Verify the Ghost policy between the spec and body. (Analyze_Private_Type_Declaration): Mark the type as Ghost when its enclosing context is Ghost. (Requires_Completion_In_Body): New routine. (Unit_Requires_Body): Use Requires_Completion_In_Body. (Unit_Requires_Body_Info): Rename formal parameter P to Pack_Id, update comment on usage and all uses of P in the body. Use Requires_Completion_In_Body. * sem_ch7.ads (Unit_Requires_Body): Rename formal parameter P to Pack_Id, update comment on usage and all uses of P in the body. * sem_ch8.adb (Analyze_Exception_Renaming): Inherit the "ghostness" from the renamed excention. (Analyze_Generic_Renaming): Inherit the "ghostness" from the renamed generic subprogram. (Analyze_Object_Renaming): Inherit the "ghostness" from the renamed object. (Analyze_Package_Renaming): Inherit the "ghostness" from the renamed package. (Analyze_Subprogram_Renaming): Inherit the "ghostness" from the renamed subprogram. * sem_ch11.adb (Analyze_Exception_Declaration): Mark an exception as Ghost when its enclosing context is Ghost. * sem_ch12.adb (Analyze_Generic_Package_Declaration, Analyze_Generic_Subprogram_Declaration): Mark an exception as Ghost when its enclosing context is Ghost. (Preanalyze_Actuals): Remove obsolete check. * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for aspect Ghost. (Check_Aspect_At_Freeze_Point): Aspects Depends and Global do no need special checking at freeze point. (Insert_After_SPARK_Mode): Update comment on usage. * sem_mech.adb (Set_Mechanisms): Remove the entry for convention Ghost. * sem_prag.adb Add an entry for pragma Ghost in table Sig_Flags. (Analyze_Abstract_State): Update the grammar of the pragma. Add formal parameter Pack_Id along with comment on usage. Mark an abstract state as Ghost when its enclosing context is Ghost. Add processing for option Ghost. (Analyze_Constituent): Verify that a Ghost abstract state is refined by Ghost constituents. (Analyze_Pragma): "Ghost" is now a valid policy. Add checks related to the use and placement of Check_Policy Ghost. Add processing for pragma Ghost. (Check_Ghost_Constituent): New routine. (Is_Valid_Assertion_Kind): "Ghost" is now a valid assertion. (Process_Convention): Remove obsolete check. (Set_Convention_From_Pragma): Remove the processing for convention Ghost. * sem_res.adb (Check_Ghost_Context): New routine. (Resolve_Call): Verify that a reference to a Ghost entity appears in a suitable context. Verify the Ghost polity between point of declaration and point of use. (Resolve_Entity_Name): Verify that a reference to a Ghost entity appears in a suitable context. Verify the Ghost polity between point of declaration and point of use. * sem_util.adb (Check_Ghost_Completion): New routine. (Check_Ghost_Derivation): New routine. (Incomplete_Or_Partial_View): New routine. (Incomplete_Or_Private_View): Removed. (Is_Ghost_Entity): New routine. (Is_Ghost_Statement_Or_Pragma): New routine. (Is_Subject_To_Ghost): New routine. (Policy_In_Effect): New routine. (Set_Is_Ghost_Entity): New routine. (Within_Ghost_Scope): New routine. * sem_util.ads (Check_Ghost_Completion): New routine. (Check_Ghost_Derivation): New routine. (Incomplete_Or_Partial_View): New routine. (Incomplete_Or_Private_View): Removed. (Is_Ghost_Entity): New routine. (Is_Ghost_Statement_Or_Pragma): New routine. (Is_Subject_To_Ghost): New routine. (Policy_In_Effect): New routine. (Set_Is_Ghost_Entity): New routine. (Within_Ghost_Scope): New routine. * snames.adb-tmpl (Get_Convention_Id): Remove the entry for convention Ghost. (Get_Convention_Name): Remove the entry for convention Ghost. * snames.ads-tmpl Remove the convention id for Ghost. Add a pragma id for Ghost. 2014-10-31 Sergey Rybin <rybin@adacore.com frybin> * gnat_ugn.texi: Add description of --RTS option for ASIS tools. From-SVN: r216981
2014-08-04[multiple changes]Arnaud Charlet1-3/+3
2014-08-04 Yannick Moy <moy@adacore.com> * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_ch7.adb, sem_ch9.adb, sem_ch12.adb, sem_util.adb, sem_util.ads, sem_res.adb, sem_attr.adb, exp_ch6.adb, sem_ch4.adb, restrict.adb, restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb: Update some subprogram names to refer to SPARK_05 instead of SPARK. 2014-08-04 Robert Dewar <dewar@adacore.com> * sem.ads: Minor reformatting. * sem_ch13.adb (Analyze_Aspect_External_Or_Link_Name): Minor reformatting. (Analyze_Aspect_Specifications, case Convention): Put External_Name before Link_Name when constructing pragma. From-SVN: r213537
2014-08-01gnatchop.adb, [...]: Minor reformatting.Robert Dewar1-2/+0
2014-08-01 Robert Dewar <dewar@adacore.com> * gnatchop.adb, gnatcmd.adb, make.adb, mlib-prj.adb, bindgen.adb, mlib.ads, butil.adb, clean.adb, binde.adb, gnatls.adb, gnatname.adb, osint.adb, krunch.adb: Minor reformatting. 2014-08-01 Robert Dewar <dewar@adacore.com> * inline.adb, inline.ads, fe.h, einfo.adb, einfo.ads, sem_util.adb, sem_util.ads, exp_ch4.adb, exp_ch11.adb, exp_ch6.adb, cstand.adb, sem_mech.adb, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, snames.ads-tmpl: Remove VMS-specific code. From-SVN: r213414
2014-06-13lib.ads, [...] (Is_Compiler_Unit): Removed.Robert Dewar1-2/+2
2014-06-13 Robert Dewar <dewar@adacore.com> * lib.ads, lib.adb, lib-writ.adb, lib-load.adb (Is_Compiler_Unit): Removed. * opt.ads (Compiler_Unit): New flag. * par-ch5.adb (Test_Statement_Required): Call Check_Compiler_Unit for null statement sequence (not allowed in compiler unit). * par-prag.adb (Prag): Handle Compiler_Unit[_Warning] during parsing. * restrict.ads, restrict.adb (Check_Compiler_Unit): New version and new calling sequence. * sem_ch11.adb, sem_ch3.adb, sem_ch4.adb: New calling sequence for Check_Compiler_Unit. * sem_ch6.adb (Analyze_Extended_Return_Statement): Call Check_Compiler_Unit (this construct is not allowed in compiler units). * sem_prag.adb (Analyze_Pragma, case Compiler_Unit[_Warning]): Set Opt.Compiler_Unit. From-SVN: r211617
2014-02-25[multiple changes]Arnaud Charlet1-2/+4
2014-02-25 Robert Dewar <dewar@adacore.com> * exp_ch7.adb, sem_util.adb, sem_util.ads, exp_ch6.adb: Minor reformatting. 2014-02-25 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Freeze_Entity): If the return type of a function is a limited view, and the non-limited view has not been seen yet, defer freezing to some later point. 2014-02-25 Robert Dewar <dewar@adacore.com> * sem_ch3.adb: Minor reformatting. 2014-02-25 Robert Dewar <dewar@adacore.com> * s-excdeb.ads, s-except.ads, s-exctab.adb, s-exctab.ads, s-finmas.ads, s-htable.adb, s-htable.ads, s-imenne.adb, s-imenne.ads, s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-memory-vms_64.adb, s-memory-vms_64.ads, s-memory.adb, s-memory.ads, s-os_lib.adb, s-os_lib.ads, s-parame.adb, s-parame.ads, s-purexc.ads, s-restri.adb, s-restri.ads, s-rident.ads, s-secsta.adb, s-secsta.ads, s-soflin.adb, s-soflin.ads, s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads, s-sopco5.adb, s-sopco5.ads, s-spsufi.ads, s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads, s-strcom.adb, s-strcom.ads, s-strhas.adb, s-string.adb, s-string.ads, s-strops.adb, s-strops.ads, s-ststop.adb, s-ststop.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads, s-unstyp.ads, s-utf_32.adb, s-utf_32.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchcon.adb, s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_prag.adb, snames.ads-tmpl: Change Compiler_Unit everywhere to Compiler_Unit_Warning. From-SVN: r208135
2014-02-20[multiple changes]Arnaud Charlet1-2/+4
2014-02-20 Robert Dewar <dewar@adacore.com> * a-cborma.adb, a-cbhama.adb, a-cbdlli.adb, a-cbmutr.adb: Use pragma Unmodified rather than Warnings (Off). Make comments uniform in the four affected units. 2014-02-20 Robert Dewar <dewar@adacore.com> * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Object_Size): For non-scalar types allow any value that is a multiple of 8. * gnat_rm.texi: Document Object_Size for composites more clearly. 2014-02-20 Yannick Moy <moy@adacore.com> * sem_util.ads, sem_util.adb (Default_Initialization): Remove function. 2014-02-20 Ed Schonberg <schonberg@adacore.com> * stand.ads: Raise_Type: new predefined entity, used as the type of a Raise_Expression prior to resolution. * cstand.adb: Build entity for Raise_Type. * sem_ch11.adb (Analyze_Raise_Expression): use Raise_Type as the initial type of the node. * sem_type.adb (Covers): Raise_Type is compatible with all other types. * sem_res.adb (Resolve): Remove special handling of Any_Type on Raise_Expression nodes. (Resolve_Raise_Expression): Signal ambiguity if the type of the context is still Raise_Type. From-SVN: r207950
2014-01-23[multiple changes]Arnaud Charlet1-9/+0
2014-01-23 Robert Dewar <dewar@adacore.com> * exp_util.adb, sinfo.adb, sinfo.ads, sem.adb, sem_res.adb, expander.adb, exp_ch11.adb, exp_ch11.ads, sem_ch11.adb, sem_ch11.ads, sprint.adb, sprint.ads: Remove unused node N_Subprogram_Info. 2014-01-23 Emmanuel Briot <briot@adacore.com> * prj-conf.adb (Get_Or_Create_Configuration_File): call On_Load_Config later. 2014-01-23 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch3.adb (Analyze_Declarations): Do not generate the spec of the late primitive in ASIS mode. Add two comments to explain the special cases when the expansion is not performed. 2014-01-23 Robert Dewar <dewar@adacore.com> * sem_util.adb (Note_Possible_Modification): Fix error of misbehaving for implicit dereference cases in -gnatc mode. 2014-01-23 Emmanuel Briot <briot@adacore.com> * prj-pars.adb: Minor reformatting. From-SVN: r206980
2014-01-20[multiple changes]Arnaud Charlet1-0/+8
2014-01-20 Pascal Obry <obry@adacore.com> * s-win32.ads (FreeLibrary): New import. 2014-01-20 Robert Dewar <dewar@adacore.com> * sem_res.adb, sem_cat.adb: Minor reformatting. * sem_ch11.adb (Analyze_Raise_Statement): Only give warning about assigning to OUT parameters for the current subprogram scope. * exp_ch4.adb: Minor reformatting. 2014-01-20 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb (Process_Transient_Object, Find_Enclosing_Contexts): If the top-level if-expression that generated the transient object is an actual in a call, the proper Hook_Context is a construct enclosing the call. * einfo.ads: Indicate that Related_Expression is used to link a loop variable to the container expression over which the loop takes place. (Analyze_Iterator_Specification): Set the Related_Expression of the loop variable in a container element iterator. (Note_Possible_Modification): If the variable is the loop variable in a container element iterator, indicate that the enclosing container is also modified. 2014-01-20 Hristian Kirtchev <kirtchev@adacore.com> * aspects.adb (Move_Or_Merge_Aspects): Reimplemented. From-SVN: r206824
2013-10-14[multiple changes]Arnaud Charlet1-0/+1
2013-10-14 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Dependency_Clause): Add new local variable Non_Null_Output_Seen. Update the call to Analyze_Input_Output. (Analyze_Input_Item): Streamline the detection mechanism of null and non-null items. (Analyze_Input_List): Add new local variable Non_Null_Input_Seen. Update all calls to Analyze_Input_Output. (Analyze_Input_Output): Add new formal parameter Non_Null_Seen and update the related comment on usage. Update the recursive call to itself. Attribute 'Result is now treated as a non-null item. Detect mixes of null and non-null items. (Analyze_Initialization_Item): Streamline the detection mechanism of null and non-null items. 2013-10-14 Vincent Celier <celier@adacore.com> * projects.texi: Add documentation for the new project level attribute Library_Rpath_Options. 2013-10-14 Tristan Gingold <gingold@adacore.com> * a-exexpr-gcc.adb (Set_Exception_Parameter): New procedure. (Set_Foreign_Occurrence): New procedure, extracted from Setup_Current_Excep. * exp_ch11.adb (Expand_Exception_Handlers): Do not expand choice parameter in case of zcx. * sem_ch11.adb (Analyze_Exception_Handlers): Need debug info for the choice parameter. * raise-gcc.c: Add comments. From-SVN: r203552
2013-10-10[multiple changes]Arnaud Charlet1-2/+7
2013-10-10 Robert Dewar <dewar@adacore.com> * par-ch6.adb (Check_Junk_Semicolon_Before_Return): Remove junk code. 2013-10-10 Javier Miranda <miranda@adacore.com> * sem_ch13.adb (Freeze_Entity_Checks): Avoid loosing errors on CPP entities in -gnatc mode. 2013-10-10 Robert Dewar <dewar@adacore.com> * sem_ch5.adb (Analyze_If_Statement): Only diagnose redundant if from source. 2013-10-10 Robert Dewar <dewar@adacore.com> * restrict.adb (Check_SPARK_Restriction): Refine test (don't automatically go to the original node). * sem_ch11.adb (Analyze_Raise_Statement): Only raise statements that come from source violate SPARK restrictions. (Analyze_Raise_xxx_Error): Same fix. * sem_ch3.adb (Analyze_Object_Declaration): Check OK SPARK initialization on original node, not on possibly rewritten expression. * sem_ch4.adb (Analyze_If_Expression): Only if expressions that come from source violate SPARK mode restrictions. 2013-10-10 Robert Dewar <dewar@adacore.com> * gnat_ugn.texi: Fix confusing documentation for -gnatyM. From-SVN: r203374
2013-04-11exp_ch11.ads, [...] (Expand_N_Raise_Expression): New procedure.Robert Dewar1-1/+55
2013-04-11 Robert Dewar <dewar@adacore.com> * exp_ch11.ads, exp_ch11.adb (Expand_N_Raise_Expression): New procedure. * exp_util.adb (Insert_Actions): Add entry for N_Raise_Expression. * expander.adb: Add call to Expand_N_Raise_Expression. * par-ch11.adb (P_Raise_Expression): New procedure. * par-ch4.adb (P_Relation): Handle Raise_Expression. * par.adb (P_Raise_Expression): New procedure. * sem.adb: Add handling for N_Raise_Expression. * sem_ch11.ads, sem_ch11.adb (Analyze_Raise_Expression): New procedure. * sem_res.adb (Resolve): Add handling for N_Raise_Expression. * sinfo.ads, sinfo.adb (N_Raise_Expression): New node. * sprint.adb (Sprint_Node_Actual): Add handling for N_Raise_Expression. * stand.ads (Any_Type): Document use with N_Raise_Expression. From-SVN: r197764
2013-01-02errout.adb (Set_Msg_Insertion_Warning): Correct typo causing tests to fail ↵Robert Dewar1-11/+10
if insertion sequence is at end of message... 2013-01-02 Robert Dewar <dewar@adacore.com> * errout.adb (Set_Msg_Insertion_Warning): Correct typo causing tests to fail if insertion sequence is at end of message string. * opt.ads: Minor comment fixes and additions. * sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch13.adb: Add tags to warning messages. * sem_ch6.ads, sem_ch6.adb (Cannot_Inline): Deal with warning message tags. Add tags to warning messages. From-SVN: r194785
2011-08-05[multiple changes]Arnaud Charlet1-1/+4
2011-08-05 Thomas Quinot <quinot@adacore.com> * sem_ch11.adb: Add comment. 2011-08-05 Robert Dewar <dewar@adacore.com> * exp_util.adb: Minor comment fix. 2011-08-05 Robert Dewar <dewar@adacore.com> * scng.adb (Error_Unterminated_String): Improve flag position when comma present. 2011-08-05 Matthew Heaney <heaney@adacore.com> * Makefile.rtl, impunit.adb: Added a-cbmutr.ad[sb] (bounded multiway tree containers). * a-cbmutr.ads, a-cbmutr.adb: This is the new Ada 2012 unit for bounded multiway tree containers. 2011-08-05 Robert Dewar <dewar@adacore.com> * styleg.adb (Check_Comment): Implement comment spacing of 1 or 2 * stylesw.adb: Implement -gnatyC to control comment spacing * stylesw.ads (Style_Check_Comments_Spacing): New switch (set by -gnatyc/C). * usage.adb: Add line for -gnatyC. 2011-08-05 Robert Dewar <dewar@adacore.com> * gnat_ugn.texi: Document -gnatyC for J505-006 * vms_data.ads: Implement COMMENTS1/COMMENTS2 (retaining COMMENTS as a synonym for COMMENTS2). From-SVN: r177453
2011-08-05par_sco.adb, [...]: Minor reformatting.Robert Dewar1-9/+38
2011-08-05 Robert Dewar <dewar@adacore.com> * par_sco.adb, sem_ch3.adb, scos.ads, a-iteint.ads, sem_ch12.adb, a-cimutr.adb, a-cimutr.ads, sem_util.ads, sem_res.adb, a-fihema.adb, sem_ch4.adb, lib-xref-alfa.adb, exp_disp.adb, a-comutr.adb, a-comutr.ads, lib-xref.adb: Minor reformatting. 2011-08-05 Robert Dewar <dewar@adacore.com> * sem_ch11.adb (Analyze_Raise_Statement): Kill assignment to formal warning if there is an exception handler present. From-SVN: r177451
2011-08-04[multiple changes]Arnaud Charlet1-1/+0
2011-08-04 Yannick Moy <moy@adacore.com> * alfa.adb, alfa.ads (Get_Entity_For_Decl): remove function, partial duplicate of Defining_Entity (Get_Unique_Entity_For_Decl): rename function into Unique_Defining_Entity * einfo.adb, einfo.ads (Is_In_ALFA, Body_Is_In_ALFA): remove flags (Formal_Proof_On): remove synthesized flag * cstand.adb, sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb, sem_util.adb, sem_util.ads, stand.ads: Remove treatment associated to entities in ALFA * sem_prag.adb (Analyze_Pragma): remove special treatment for pragma Annotate (Formal_Proof) 2011-08-04 Emmanuel Briot <briot@adacore.com> * prj-env.adb (Create_Config_Pragmas_File): fix handling of multi-unit source files with non-standard naming schemes, in imported projects From-SVN: r177353
2011-08-04[multiple changes]Arnaud Charlet1-1/+1
2011-08-04 Javier Miranda <miranda@adacore.com> * exp_strm.adb (Build_Array_Input_Function): if the array type is constrained, do not attempt to build a subtype of it. 2011-08-04 Yannick Moy <moy@adacore.com> * errout.ads Change comments: remove 'R'M as an example where quotes are needed; add ALFA as another case where quotes are not needed * erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another case where quotes are not needed. * sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb: Remove all occurrences of 'A'L'F'A 2011-08-04 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb: check legality of invariant pragma. From-SVN: r177335
2011-08-04[multiple changes]Arnaud Charlet1-1/+1
2011-08-04 Yannick Moy <moy@adacore.com> * einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram entities whose body contains an Annotate pragma which forces formal proof on this body. * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to Mark_Non_ALFA_Subprogram to pass in a message and node. * sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate (Forma_Proof, On) which sets the flag Formal_Proof_On in the surrounding subprogram. * sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram, Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked as not in ALFA is annotated with Formal_Proof being On, then an error is issued based on the additional parameters for message and node. * snames.ads-tmpl (Name_Formal_Proof): new name for annotation. * gcc-interface/Make-lang.in: Update dependencies. 2011-08-04 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate Finalize_Address when CodePeer is enabled. 2011-08-04 Pascal Obry <obry@adacore.com> * adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as the latter returns a pointer to a static buffer which is deallocated at the end of the routine. From-SVN: r177328
2011-08-04[multiple changes]Arnaud Charlet1-2/+3
2011-08-04 Robert Dewar <dewar@adacore.com> * par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb, exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb, exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb, exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb, sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb, sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb: Minor reformatting and code reorganization. 2011-08-04 Emmanuel Briot <briot@adacore.com> * projects.texi: Added doc for aggregate projects. From-SVN: r177320
2011-08-03sem_ch11.adb (Analyze_Raise_xxx_Error): do not mark such nodes as not in ALFA.Yannick Moy1-1/+0
2011-08-03 Yannick Moy <moy@adacore.com> * sem_ch11.adb (Analyze_Raise_xxx_Error): do not mark such nodes as not in ALFA. Instead, they are considered as assertions to prove. * sem_ch4.adb (Analyze_Conditional_Expression): do not always mark such nodes as not in ALFA. Instead, include conditional expressions in ALFA if they have no ELSE part, or if they occur in pre- and postconditions, where the Condition cannot have side-effects in ALFA (Analyze_Membership_Op): do not mark such nodes as not in ALFA (Analyze_Type_Conversion): do not always mark such nodes as not in ALFA. Instead, include type conversion between scalar types in ALFA. * sem_ch6.adb (Process_Formals): correctly mark a parameter in ALFA if-and-only-if its type is in ALFA. From-SVN: r177285
2011-08-03a-except.adb, [...] (Raise_From_Controlled_Operation): Rewritten to create ↵Hristian Kirtchev1-9/+0
the message strings when... 2011-08-03 Hristian Kirtchev <kirtchev@adacore.com> * a-except.adb, a-except-2005.adb (Raise_From_Controlled_Operation): Rewritten to create the message strings when the exception is not raised by an abort during finalization. * a-except.ads, a-except-2005.ads: Add pragma Export for procedure Raise_From_Controlled_Operation and update its associated comment. * a-fihema.ads, a-fihema.adb: New GNAT unit. Ada.Finalization.Heap_Management provides key functionality associated with controlled objects on the heap, their creation, finalization and reclamation. Type Finalization_Collection is effectively a wrapper which sits ontop of a storage pool and performs all necessary bookkeeping for all the objects it contains. Each access-to-controlled or access-to-class-wide type receives a collection as part of its expansion. The compiler generates buffer code and invokes Allocate / Deallocate to create and destroy allocated controlled objects. * a-finali.adb ("="): Removed. * a-finali.ads ("="): Removed. Controlled types no longer carry hidden fields Prev and Next. * ali.adb (Scan_ALI): Add parsing code to process PF / Has_Finalizer. A library unit with at least one controlled object on the library level has a special finalizer which is invoked by the binder. To signal this, ali files carry field PF. * ali.ads: New field in type Unit_Record called Has_Finalizer. Add associated comment on field usage. * a-tags.adb (Get_RC_Offset): Removed. (Needs_Finalization): New routine. * a-tags.ads: Update the structure of the GNAT dispatch tables. Dispatch tables now carry field Needs_Finalization which provides runtime indication whether a type is controlled or has controlled components or both. Remove field RC_Offset. (Get_RC_Offset): Removed along with its associated pragma Export. Since tagged types with controlled components no longer carry hidden field _controller, the special mechanism to retrieve its location is no longer needed. (Needs_Finalization): New routine. * atree.ads, atree.adb (Elist24): New routine. (Set_Elist24): New routine. * atree.h: Add a define clause for Elist24. * bindgen.adb New library-level variable Lib_Final_Built. (Gen_Adafinal_Ada): Reimplemented. Depending on the restrictions or the presence of a VM target, the routine generates calls to the proper library finalization routine. (Gen_Adainit_Ada): Import Finalize_Library_Objects only on non-VM targets. Set the correct library finalization routine depending on whether the library has controlled objects or this is a VM compilation. (Gen_Finalize_Library_Ada): New routine. This procedure generates calls to library-level finalizers of compiled units in reverse order of elaboration. It also produces exception management code and reraises a potential exception after all units have been finalized. (Gen_Finalize_Library_C): New routine. This procedure generates calls to library-level finalizers of compiled units in reverse order of elaboration. (Gen_Finalize_Library_Defs_C): New routine. This procedure generates the definitions of all library-level finalizers available to the compilation (Gen_Main_Ada): Directly call Adafinal which now contails all target dependent code. (Gen_Main_C): Add new local constant Needs_Library_Finalization. Call System.Standard_Library.Adafinal directly. If the library needs finalization actions, create the sequence of finalization calls. (Gen_Output_File_Ada): Alphabetize local variables and constants. Generate a with clause for System.Soft_Links when compiling for a VM. Remove the code which imports System.Standard_Library.Adafinal as Do_Finalize. Generate the library finalization routine. (Gen_Output_File_C): Add new local constant Needs_Library_Finalization. If the library needs finalization actions, create all the definitions of library- level finalizers. (Has_Finalizer): New routine. Determines whether at least one compiled unit has a library-level finalizer. Add type Qualification_Mode. (Set_Unit_Name): Add a formal which controls the replacement of a dot. * einfo.adb: New usage of field 15 as Return_Flag. Remove Finalization_Chain_Entity from the usages of field 19. Remove Associated_Final_Chain from the usages of field 23. New usage of field 23 as Associated_Collection. New usage of field 24 as Finalizer. New usage of flag 252 as Is_Processed_Transient. (Associated_Final_Chain): Removed. (Associated_Collection): New routine. (Finalization_Chain_Entity): Removed. (Finalizer): New routine. (Is_Finalizer): New routine. (Is_Processed_Transient): New routine. (Return_Flag): New routine. (Set_Associated_Final_Chain): Removed. (Set_Associated_Collection): New routine. (Set_Finalization_Chain_Entity): Removed. (Set_Finalizer): New routine. (Set_Is_Processed_Transient): New routine. (Set_Return_Flag): New routine. (Write_Entity_Flags): Include Is_Processed_Transient to the list of displayed flags. (Write_Field8_Name): Alphabetize the output. (Write_Field11_Name): Alphabetize the output. (Write_Field12_Name): Alphabetize the output. (Write_Field13_Name): Alphabetize the output. (Write_Field14_Name): Alphabetize the output. (Write_Field15_Name): Alphabetize the output. (Write_Field16_Name): Alphabetize the output. (Write_Field17_Name): Alphabetize the output. (Write_Field18_Name): Alphabetize the output. (Write_Field19_Name): Alphabetize the output. Remove the output of Finalization_Chain_Entity. (Write_Field20_Name): Alphabetize the output. (Write_Field21_Name): Alphabetize the output. (Write_Field22_Name): Alphabetize the output. (Write_Field23_Name): Alphabetize the output. Remove the output of Associated_Final_Chain. Add output for Associated_Collection. (Write_Field24_Name): Alphabetize the output. (Write_Field25_Name): Add output for Finalizer. (Write_Field26_Name): Alphabetize the output. (Write_Field27_Name): Alphabetize the output. (Write_Field28_Name): Alphabetize the output. * einfo.ads: Add new field description for Associated_Collection and its uses in nodes. Remove Associated_Final_Chain and its uses in nodes. Remove Finalization_Chain_Entity and its uses in nodes. Add new field description for Finalizer and its uses in nodes. Add new synthesized attribute Is_Finalizer. Add new flag description for Is_Processed_Transient and its uses in nodes. Add new field description for Return_Flag and its uses in nodes. (Associated_Final_Chain): Removed along with its pragma Inline. (Associated_Collection): New routine and pragma Inline. (Finalization_Chain_Entity): Removed along with its pragma Inline. (Finalizer): New routine and pragma Inline. (Is_Finalizer): New routine and pragma Inline. (Is_Processed_Transient): New routine and pragma Inline. (Return_Flag): New routine and pragma Inline. (Set_Associated_Final_Chain): Removed along with its pragma Inline. (Set_Associated_Collection): New routine and pragma Inline. (Set_Finalization_Chain_Entity): Removed along with its pragma Inline. (Set_Finalizer): New routine and pragma Inline. (Set_Is_Processed_Transient): New routine and pragma Inline. (Set_Return_Flag): New routine and pragma Inline. * exp_aggr.adb: Alphabetize subprograms. (Build_Array_Aggr_Code): Remove formal Flist and its associated comment. (Build_Record_Aggr_Code): Remove formals Flist and Obj along with their associated comments. Remove local variables External_Final_List and Attach. Rename Ctrl_Stuff_Done to Finalization_Done. Rename local variable A to Ancestor. Remove the retrieval of finalization lists. Update the call to Make_Adjust_Call. (Convert_Aggr_In_Allocator): Remove the retrieval of finalization lists. Update the call to Late_Expansion. (Convert_Aggr_In_Assignment): Update the call to Late_Expansion. (Convert_Aggr_In_Object_Decl): Update the call to Late_Expansion. (Gen_Assign): Remove the retrieval of the finalization list used to build the assignment. Update the calls to Make_Init_Call and Make_Adjust_Call. (Gen_Ctrl_Actions_For_Aggr): Renamed to Generate_Finalization_Actions. Remove the mechanism to determine attachment levels and finalization list retrieval. Remove the processing for coextensions. (Init_Controller): Removed. Controllers no longer exist. (Late_Expansion): Remove formals Flist and Obj along with their associated comments. Update the calls to Build_Record_Aggr_Code and Build_Array_Aggr_Code. * exp_ch13.adb (Expand_N_Free_Statement): New routine. (Expand_N_Freeze_Entity): Add special processing for finalizers which appear in entry bodies, protected subprograms and task bodies. * exp_ch13.ads (Expand_N_Free_Statement): New routine. * exp_ch3.adb (Add_Final_Chain): Removed. (Build_Array_Init_Proc): Alphabetize local variables. (Build_Assignment): Alphabetize local variables. Update the call to Maked_Adjust_Call. (Build_Class_Wide_Master): Rename local variables to better reflect their role. (Build_Discriminant_Assignments): Code reformatting. (Build_Init_Call_Thru): Code reformatting. (Build_Init_Procedure): Code reformatting. Generate a special version of Deep_Finalize which is capable of finalizing all initialized components and ignore the rest. (Build_Init_Statements): Rename local variables to better reflect their role. Reimplement the mechanism to include the creation and update of an index variable called a "counter". It is used as a bookmark for tracing initialized and non-initialized components. (Build_Initialization_Call): Remove local variable Controller_Typ. Alphabetize all local variables. Remove the initialization of the record controller and update the call to Make_Init_Call. (Build_Record_Init_Proc): Rename formal Pe to Rec_Ent. New local variable Counter. (Constrain_Array): Alphabetize. (Expand_Freeze_Array_Type): Create a collection instead of a finalization list. (Expand_Freeze_Class_Wide_Type): New routine. Creates TSS primitive Finalize_Address which is used in conjunction with allocated controlled objects. (Expand_N_Object_Declaration): Remove the creation of a finalization list for anonymous access types. Update the calls to Make_Init_Call and Make_Adjust_Call. (Expand_Freeze_Record_Type): Remove local variable Flist. Remove the retrieval of finalization lists. Remove the expansion of the record controller. Create TSS primitive Finalize_Address used in conjunction with controlled objects on the heap. Create finalization collections for access-to-controlled record components. (Expand_Record_Controller): Removed. (Freeze_Type): Remove the freezing of record controllers. Freezing of class-wide types now requires additional processing. Create finalization collections for access-to-controlled types. (Increment_Counter): New routine. (Make_Counter): New routine. (Make_Eq_If): Remove the mention of Name_uController. (Make_Predefined_Primitive_Specs): There is no longer need to skip types coming from System.Finalization_Root. (Predef_Deep_Spec): Reimplemented to reflect the new parameter profiles. (Predefined_Primitive_Bodies): There is no longer need to skip types coming from System.Finalization_Root. (Stream_Operation_OK): Do not generate stream routines for type Ada.Finalization.Heap_Management.Finalization_Collection. * exp_ch3.ads: Alphabetize subprograms. * exp_ch4.adb: Remove with and use clause for Sem_Ch8. Add with and use clause for Lib. (Complete_Coextension_Finalization): Removed. (Complete_Controlled_Allocation): New routine. Create a finalization collection for anonymous access-to-controlled types. Create a custom Allocate which interfaces with the back end and the machinery in Heap_Management. (Expand_Allocator_Expression): Add necessary calls to Complete_Controlled_Allocation. Remove the retrieval of finalization lists. Update the calls to Make_Adjust_Call. Generate a call to Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate the associated collection. (Expand_N_Allocator): Remove the processing for dynamic coextensions. Code clean up. Remove the retrieval of finalization lists and attachment levels. Update the call to Make_Init_Call. Generate a call to Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate the associated collection. (Get_Allocator_Final_List): Removed. Finalization lists are not available. (Suitable_Element): Remove the mention of Name_uController. * exp_ch5.adb: Remove with and use clauses for Ttypes and Uintp. (Make_Tag_Ctrl_Assignment): Rewritten to simply do a finalization of the left hand side, carry out the assignment and adjust the left hand side. * exp_ch6.adb (Add_Final_List_Actual_To_Build_In_Place_Call): Removed. (Add_Collection_Actual_To_Build_In_Place_Call): New routine. (BIP_Formal_Suffix): Rename BIP_Final_List and BIPfinallist to BIP_Collection and BIPcollection. (Build_Heap_Allocator): New routine used to allocate the return object of a build-in-place function onto a collection. (Expand_Ctrl_Function_Call): Moved from Exp_Ch7. (Expand_Call): Do not replace direct calls to Deep routines with their aliases. (Expand_N_Extended_Return_Statement): Give all variables shorter names and update their occurrences. Add a special return flag to monitor the [ab]normal execution of the function. The flag is set right before the return statement. Rewrite the mechanism used to allocate a build-in-place return object on the heap or on a storage pool. (Is_Direct_Deep_Call): New routine. (Make_Build_In_Place_Call_In_Allocator): Add a collection to a build-in-place function call instead of a final list. Build a call to Set_Finalize_Address_Ptr to decorate the associated collection. (Make_Build_In_Place_Call_In_Anonymous_Context): Create a temporary in order to name the build-in-place function call's result for later finalization. Add a collection to a build-in-place function call instead of a final list. (Make_Build_In_Place_Call_In_Assignment): Add a collection to a build-in-place function call instead of a final list. Remove the code which moves one final list and transforms it into the actual in a nested build-in-place call. (Make_Build_In_Place_Call_In_Object_Declaration): Add a collection to a build-in-place function call instead of a final list. (Move_Final_List): Removed. (Needs_BIP_Collection): New routine. (Needs_BIP_Final_List): Removed. * exp_ch6.ads: Replace BIP_Final_List with BIP_Collection in enumeration type BIP_Formal_Kind. Update the related comment. (Needs_BIP_Collection): New routine. (Needs_BIP_Final_List): Removed. * exp_ch7.adb: Add with and use clauses for Elists, Exp_Ch6, Stringt and Ttypes. Remove with and use clauses for Sem_Type. Alphabetize the majority of subprograms in this unit. Add Name_Finalize_Address to array Name_Of and TSS_Finalize_Address to array Deep_Name_Of. (Build_Adjust_Or_Finalize_Statements): Create the adjust or finalization statements for an array type. (Build_Adjust_Statements): Create the adjust statements for a record type. (Build_Cleanup_Statements): New routine. A procedure which given any construct containing asynchronous calls, references to _master, or is a task body, a task allocation or a protected body produces the necessary runtime calls to clean up these constructs. (Build_Exception_Handler): New routine. (Build_Final_List): Removed. (Build_Finalization_Collection): New routine. A core procedure which creates a collection to service heap allocated controlled objects associated with an access-to-controlled type. (Build_Finalize_Statements): Create the finalization statements for a record types. (Build_Finalizer): New routine. A core procedure which given any construct with declarations and/or statements detects all objects which need any type of clean up (controlled objects, protected objects) and generates all necessary code to clean up the said objects in the proper order. (Build_Finalizer_Call): New routine. (Build_Initialize_Statements): Create the initialization statements for an array type. The generated routine contains code to finalize partially initialized arrays. (Build_Object_Declarations): New routine. (Build_Raise_Statement): New routine. (Clean_Simple_Protected_Objects): Removed. (Controller_Component): Removed. (Enclosing_Function): New routine. (Expand_Cleanup_Actions): Create a finalizer for a construct which has either declarations or statements or both. (Expand_N_Package_Body): Create a finalizer for a non-generic package. (Expand_N_Package_Declaration): Create a finalizer for a non-generic package. (Find_Final_List): Removed. (Global_Flist_Ref): Removed. (In_Finalization_Root): Removed. (Insert_Actions_In_Scope_Around): Determine the range of the transient scope in terms of tree nodes. Process all transient variables within that range. (Make_Adjust_Call): Rewritten. There is no longer an attach call generated after the adjust. (Make_Attach_Call): Removed. (Make_Call): New routine. (Make_Clean): Removed. (Make_Deep_Array_Body): Rewritten to simply invoke the appropriate build routines. (Make_Deep_Proc): Rewritten to generate the new profile signature used in Deep routines. (Make_Deep_Record_Body): Rewritten to simply invoke the appropriate build routines. (Make_Final_Call): Modified to simply create a call to either Deep_Finalize or Finalize. (Make_Finalize_Address_Body): New routine. (Make_Finalize_Address_Stmts): New routine. A function which produces TSS primitive Finalize_Address used in conjunction with heap allocated controlled objects. (Make_Handler_For_Ctrl_Operation): Add specialized code for .NET/JVM. (Make_Init_Call): Rewritten. There is no longer an attach call generated after initialization. (Make_Local_Deep_Finalize): New routine. (Make_Set_Finalize_Address_Ptr_Call): New routine. (Make_Transient_Block): Remove the finalization list retrieval and manipulation. (Needs_Finalization): Moved to Exp_Util. (Parent_Field_Type): New routine. (Preprocess_Components): New routine. (Process_Transient_Objects): New routine. (Wrap_HSS_In_Block): New routine. (Wrap_Transient_Declaration): Remove finalization list management and controller insertion. (Wrap_Transient_Expression): Code reformatting. (Wrap_Transient_Statement): Code reformatting. * exp_ch7.ads (Build_Final_List): Removed. (Build_Finalization_Collection): New routine. (Build_Raise_Statement): New routine. (Controller_Component): Removed. (Expand_Ctrl_Function_Call): Moved to Exp_Ch6. (Find_Final_List): Removed. (In_Finalization_Root): Removed. (Is_Simple_Protected_Type): Update related comment. (Make_Adjust_Call): New parameter profile and associated comments. (Make_Attach_Call): Removed. (Make_Final_Call): New parameter profile and associated comments. (Make_Finalize_Address_Body): New routine. (Make_Init_Call): New parameter profile and associated comments. (Make_Local_Deep_Finalize): New routine. (Make_Set_Finalize_Address_Ptr_Call): New routine. (Needs_Finalization): Moved to Exp_Util. * exp_ch9.adb (Add_Object_Pointer): Code reformatting. (Expand_N_Protected_Body): Remove the handling of finalization lists. (Find_Protection_Type): Moved to Exp_Util. * exp_disp.adb: Remove with and use clauses for Exp_Ch7. (Make_DT): Update sequence of dispatch table initialization. Remove the initialization of field RC_Offset. Add initialization of field Needs_ Finalization. * exp_intr.adb (Expand_Unc_Deallocation): Code reformatting. Reimplement how an object is first finalized, then deallocated. * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Code reformatting. * exp_tss.ads: Add special suffix for TSS primitive Finalize_Address. Register TSS_Finalize_Address with type TSS_Names. * exp_util.adb (Build_Allocate_Deallocate_Proc): New routine. This core procedure provides the interface between an allocation / deallocation and the support machinery in Ada.Finalization.Heap_Management. (Find_Init_Call): Code reformatting. (Find_Init_Call_In_List): Code reformatting. (Find_Protection_Type): Moved from Exp_Ch9. (Find_Prim_Op): Reimplement to add preference of recovered primitive. (Has_Controlled_Coextensions): Removed. (Has_Controlled_Objects): New routine. (In_Library_Level_Package_Body): New routine. (Insert_Action_After): New routine. (Is_Finalizable_Transient): New routine. This predicate determines whether an object declaration is one of the many variants of controlled transients. (Is_Null_Access_BIP_Func_Call): New routine. (Is_Non_BIP_Func_Call): New routine. (Is_Related_To_Func_Return): New routine. (Needs_Finalization): Moved from Exp_Ch7. * exp_util.ads (Build_Allocate_Deallocate_Proc): New routine. (Find_Protection_Type): Moved from Exp_Ch9. (Has_Controlled_Coextensions): Removed. (Has_Controlled_Objects): New routine. (In_Library_Level_Package_Body): New routine. (Insert_Action_After): New routine. (Is_Finalizable_Transient): New routine. (Is_Null_Access_BIP_Func_Call): New routine. (Is_Non_BIP_Func_Call): New routine. (Is_Related_To_Func_Return): New routine. (Needs_Finalization): Moved from Exp_ch7. * expander.adb (Expand): Add a case for N_Free_Statement. * freeze.adb (Freeze_All): Replace the generation of a finalization list with a collection for access-to-controlled types. (Freeze_Entity): Code reformatting. (Freeze_Record_Type): Remove the freezing of a record controller component. (Freeze_Subprogram): Code reformatting. * inline.adb (Cleanup_Scopes): Remove the reset of the scope finalization list. * lib-writ.adb (Write_Unit_Information): Output "PF" when a package has a library-level finalizer. * lib-writ.ads: Add "PF" to the sequence of unit attributes. * a-filico.ads, a-filico.adb, s-finimp.ads, s-finimp.adb: Removed. * Makefile.rtl: Remove a-filico and s-finimp from the list of object files. Add a-fihema to the list of object files. * par-ch4.adb: Alphabetize the associations in type Is_Parameterless_Attribute. * rtsfind.ads: Ada.Finalization_List.Controller and System.Finalization_Implementation are no longer a GNAT unit. Update the range of type Ada_Finalization_Child. Remove the following recoverable entities: RE_Attach_To_Final_List RE_Deep_Tag_Attach RE_Finalize_List RE_Finalize_One RE_Finalizable_Ptr_Ptr RE_Global_Final_List RE_Limited_Record_Controller RE_List_Controller RE_Move_Final_List RE_Record_Controller RE_Simple_List_Controller Add the following recoverable entities: RE_Add_Offset_To_Address RE_Allocate RE_Base_Pool RE_Deallocate RE_Exception_Identity RE_Finalization_Collection RE_Finalization_Collection_Ptr RE_Needs_Finalization RE_Save_Library_Occurrence RE_Set_Finalize_Address_Ptr RE_Set_Storage_Pool_Ptr RE_Storage_Count * sem_aggr.adb (Resolve_Record_Aggregate): Remove mention of Name_uController. * sem_aux.adb (First_Discriminant): Remove mention of Name_uController. (First_Stored_Discriminant): Remove the mention of Name_uController. * sem_aux.ads: Comment reformatting. * sem_ch10.adb (Build_Chain): Signal the class-wide creation machinery to redecorate an already existing class-wide type. (Decorate_Tagged_Type): New parameter profile and associated comment. Create a "shadow class-wide type" for a shadow entity. * sem_ch11.adb (Analyze_Exception_Handlers): Remove the dubious setting of the final chain along with the associated comment. * sem_ch3.adb (Access_Type_Declaration): Add new local variable Full_Desig and set it to the full view of the designated type. Initialize the finalization collection to empty. (Build_Derived_Record_Type): Alphabetize local variables. Code reformatting. (Collect_Fixed_Components): Remove the mention of Name_uController. (Create_Constrained_Components): Remove the mention of Name_uController. (Make_Class_Wide_Type): Add specialized code to redecorate an existing class-wide type of a shadow entity. (Process_Full_View): Update the machinery which marks type Limited_Controlled's entity as limited. * sem_ch4.adb (Analyze_One_Call): Code reformatting. * sem_ch6.adb (Create_Extra_Formals): Do not generate a finalization list, instead make a collection build-in-place formal. * sem_ch8.adb (Analyze_Object_Renaming): Look at the available view of a designated type in order to establish a match between the renaming and the renamed entity. (Find_Selected_Component): Add guard to prevent spurious exceptions from being raised on .NET/JVM. * sem_disp.adb (Check_Dispatching_Operation): Include Finalize_Address to the list of primitive that need special processing. Update arrays C_Names and D_Names. (Replace_Types): Handle class-wide types. * sem_elab.adb (Check_A_Call): Since Deep_Initialize now has a different parameter profile, look at the first formal. * sem_prag.adb: Remove with and use clauses for Exp_Ch7. Add with and use clauses for Exp_Util. * sem_res.adb: Remove with and use clauses for Elists. (Propagate_Coextensions): Removed. (Resolve_Allocator): Do not propagate the list of coextensions from one allocator to another. * sem_util.adb (Build_Actual_Subtype_Of_Component): Rename variable Deaccessed_T to Desig_Typ. (Enter_Name): Remove the mention of Name_uController. (Gather_Components): Remove the mention of Name_uController. (Incomplete_Or_Private_View): New routine. (Is_Coextension_Root): Removed. (Is_Fully_Initialized_Type): Remove the mention of Name_uController. * sem_util.ads (Incomplete_Or_Private_View): New routine. (Is_Coextension_Root): Removed. * s-finroo.ads: Remove with clause for Ada.Unchecked_Conversion. Controlled types are now derived from a null tagged record. Remove types Finalizable_Ptr, Finalizable and Empty_Root_Controlled. * sinfo.adb (Coextensions): Removed. (Set_Coextensions): Removed. * sinfo.ads: Remove Coextensions from the explanation of node fields and its uses in nodes. Update the field usage of N_Allocator. (Coextensions): Removed along with its pragma Inline. (Set_Coextensions): Removed along with its pragma Inline. * snames.ads-tmpl: Remove names Name_uClean Name_uController Name_uFinal_List Name_uLocal_Final_List Name_Finalization_Root Name_Next Name_Prev Add names Name_uFinalizer Name_Finalize_Address * s-pooglo.adb (Allocate): Add overriding indicator. (Deallocate): Add overriding indicator. (Storage_Size): Add overriding indicator. * s-soflin.adb (Adafinal_NT): Invoke Finalize_Library_Objects rather than Finalize_Global_List. (Null_Finalize_Global_List): Removed. (Save_Library_Occurrence): New routine. * s-soflin.ads: Remove variable Finalize_Global_List along with its initialization. Add variable Finalize_Library_Objects along with its pragma Export. Add variables Library_Exception and Library_Exception_Set along with their pragma Export. (Null_Finalize_Global_List): Removed. (Save_Library_Occurrence): New routine. * s-tassta.adb (Finalize_Global_Tasks): Call Finalize_Library_Objects rather than Finalize_Global_List. * tbuild.adb (Unchecked_Convert_To): Capture and set the parent field of the constructed node. From-SVN: r177275
2011-08-02[multiple changes]Arnaud Charlet1-2/+2
2011-08-02 Yannick Moy <moy@adacore.com> * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem.ads, sem_util.adb, sem_util.ads, sem_res.adb, sem_ch2.adb, sem_ch4.adb, sem_ch6.adb, sem_ch11.adb: Add semantic flag In_Pre_Post_Expression to indicate that we are in a precondition or postcondition. This is used in Mark_Non_ALFA_Subprogram (renaming of Mark_Non_ALFA_Subprogram_Body) to decide whether to flag the spec or body of the current subprogram as not in ALFA. 2011-08-02 Fabien Chouteau <chouteau@adacore.com> * impunit.adb: Add Ada.Execution_Time.Interrupts in the Ada2012 package list. * a-extiin.ads: New file. 2011-08-02 Bob Duff <duff@adacore.com> * a-direct.adb (Rename): Implement AI05-0231-1. In particular, Rename now raises Name_Error instead of Use_Error in certain cases. The other parts of this AI were already implemented properly. From-SVN: r177187
2011-08-02sem_ch3.adb, [...]: Protect call to Current_Subprogram which might be costly ↵Yannick Moy1-2/+2
when repeated. 2011-08-02 Yannick Moy <moy@adacore.com> * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb, sem_util.ads, sem_res.adb, sem_ch2.adb, sem_ch4.adb, sem_ch6.adb, sem_ch11.adb: Protect call to Current_Subprogram which might be costly when repeated. Rename Current_Subprogram_Is_Not_In_ALFA into Mark_Non_ALFA_Subprogram_Body. Split body of Mark_Non_ALFA_Subprogram_Body to get body small and inlined. From-SVN: r177182
2011-08-02einfo.adb, einfo.ads (Body_Is_In_ALFA, [...]): get/set for new flag denoting ↵Yannick Moy1-0/+2
which subprogram bodies are in ALFA 2011-08-02 Yannick Moy <moy@adacore.com> * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set for new flag denoting which subprogram bodies are in ALFA * restrict.adb, sem_ch7.adb: Update comment * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch9.adb, sem_res.adb: Add calls to Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs. * sem_ch6.adb (Analyze_Function_Return): add calls to Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the middle of the body, and extended return. (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument False when missing return. (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA to True for subprograms whose spec is in ALFA. Remove later on the flag on the entity used for a subprogram body when there exists a separate declaration. * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA): if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to False, otherwise do nothing. From-SVN: r177177
2011-08-02sem_aggr.adb, [...]: cleanup of SPARK modeYannick Moy1-3/+3
2011-08-02 Yannick Moy <moy@adacore.com> * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb, errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb, restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, opt.ads: cleanup of SPARK mode From-SVN: r177175
2011-08-02errout.adb, errout.ads (Check_Formal_Restriction): new procedure which ↵Yannick Moy1-17/+2
issues an error in formal mode if... 2011-08-02 Yannick Moy <moy@adacore.com> * errout.adb, errout.ads (Check_Formal_Restriction): new procedure which issues an error in formal mode if its argument node is originally from source * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type has a discriminant specification so that it does not include the case of derived types (Derived_Type_Declaration): move here the test that a derived type has a discriminant specification * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the first element of a component association before accessing its choices (presence of component association is not enough) * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram declaration is a library item before accessing the next element in a list, as library items are not member of lists * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use Check_Formal_Restriction whenever possible. From-SVN: r177099
2011-08-02sem_ch12.adb, [...]: New calling sequence for Analyze_Aspect_SpecificationsRobert Dewar1-2/+4
2011-08-02 Robert Dewar <dewar@adacore.com> * sem_ch12.adb, sem_ch11.adb: New calling sequence for Analyze_Aspect_Specifications * sem_ch13.adb (Analyze_Aspect_Specifications): New handling for boolean aspects * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling sequence for Analyze_Aspect_Specifications * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used 2011-08-02 Robert Dewar <dewar@adacore.com> * freeze.adb (Freeze_Entity): Remove handling of delayed boolean aspects, since these no longer exist. 2011-08-02 Robert Dewar <dewar@adacore.com> * par-ch13.adb (Aspect_Specifications_Present): Always return false on semicolon, do not try to see if there are aspects following it. * par-ch3.adb (P_Declarative_Items): Better message for unexpected aspect spec. From-SVN: r177095
2011-08-01err_vars.ads (Error_Msg_Lang, [...]): new variables for insertion character ~~Yannick Moy1-2/+2
2011-08-01 Yannick Moy <moy@adacore.com> * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for insertion character ~~ * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures (Set_Error_Msg_Lang): new procedure which fixes the language for use with insertion character ~~ (Set_Msg_Text): treat insertion character ~~ * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to Formal_Error_Msg_... procedures by equivalent Error_Msg_... procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make errors related to the formal language restriction not serious (insertion character |). * par.adb (Par): set formal language for error messages if needed * sem_ch6.adb (Check_Missing_Return): take into account possible generated statements at the end of the function * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and enumeration value to define a new pragma SPARK_95 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default, SPARK_Version): new type and variables to store the SPARK version (none by default). (SPARK_Mode): return True when SPARK_Version is set * par-prag.adb: Correct indentation (Prag): take Pragma_SPARK_95 into account * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95 into account. From-SVN: r177056
2011-08-01[multiple changes]Arnaud Charlet1-0/+18
2011-08-01 Javier Miranda <miranda@adacore.com> * sem_ch7.adb (Uninstall_Declarations): Remove useless code. * einfo.ads (Access_Disp_Table): Fix documentation. (Dispatch_Table_Wrappers): Fix documentation. * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers, Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions to enforce the documentation of this attribute. (Set_Is_Interface): Cleanup the assertion. * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate the Underlying_Type entity before reading attribute Access_Disp_Table. * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion): Locate the Underlying_Type before reading attribute Access_Disp_Table. * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate the Underlying_Type entity before reading attribute Access_Disp_Table. * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration): Locate the Underlying_Type entity before reading attribute Access_Disp_Table. 2011-08-01 Ed Schonberg <schonberg@adacore.com> * s-poosiz.ads: Additional overriding indicators. 2011-08-01 Yannick Moy <moy@adacore.com> * sem_ch5.adb (Analyze_Exit_Statement): add return after error in formal mode. (Analyze_Iteration_Scheme): issue error in formal mode when loop parameter specification does not include a subtype mark. * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in formal mode on abstract subprogram. (Analyze_Subprogram_Specification): issue error in formal mode on user-defined operator. (Process_Formals): issue error in formal mode on access parameter and default expression. * sem_ch9.adb (Analyze_Abort_Statement, Analyze_Accept_Statement, Analyze_Asynchronous_Select, Analyze_Conditional_Entry_Call, Analyze_Delay_Relative, Analyze_Delay_Until, Analyze_Entry_Call_Alternative, Analyze_Requeue, Analyze_Selective_Accept, Analyze_Timed_Entry_Call): issue error in formal mode on such constructs * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error): issue error in formal mode on user-defined raise statement. From-SVN: r177047
2010-10-11[multiple changes]Arnaud Charlet1-2/+1
2010-10-11 Robert Dewar <dewar@adacore.com> * g-htable.ads (Get_First): New procedural version for Simple_HTable (Get_Next): New procedural version for Simple_HTable * s-htable.adb (Get_First): New procedural version for Simple_HTable (Get_Next): New procedural version for Simple_HTable * s-htable.ads (Get_First): New procedural version for Simple_HTable (Get_Next): New procedural version for Simple_HTable 2010-10-11 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb (Propagate_Discriminants): To gather the components of a variant part, use the association list of the subaggregate, which already includes the values of the needed discriminants. 2010-10-11 Robert Dewar <dewar@adacore.com> * aspects.ads, aspects.adb: Changes to accomodate aspect delay (Tree_Write): New procedure. * atree.ads, atree.adb: Flag3 is now Has_Aspects and applies to all nodes. * atree.h: Flag3 is now Has_Aspects and applies to all nodes * debug.adb: Add debug flag gnatd.A * einfo.adb (Has_Delayed_Aspects): New flag (Get_Rep_Item_For_Entity): New function * einfo.ads (Has_Delayed_Aspects): New flag (Get_Rep_Item_For_Entity): New function * exp_ch13.adb (Expand_N_Freeze_Entity): Insert delayed aspects into tree. * exp_ch3.adb, exp_ch6.adb, exp_ch9.adb, exp_disp.adb: New calling sequence for Freeze_Entity. * freeze.ads, freeze.adb (Freeze_Entity): Takes node rather than source ptr. All calls are changed to this new interface. (Freeze_And_Append): Same change (Freeze_Entity): Evaluate deferred aspects * sem_attr.adb: New calling sequence for Freeze_Entity (Eval_Attribute): Don't try to evaluate attributes of unfrozen types when we are in spec expression preanalysis mode. * sem_ch10.adb: New calling sequence for Freeze_Entity * sem_ch11.adb: Simplify analysis of aspect specifications now that the flag Has_Aspects applies to all nodes (no need to save aspects). * sem_ch12.adb: Simplify analysis of aspect specifications now that the flag Has_Aspects applies to all nodes (no need to save aspects). * sem_ch13.adb (Analyze_Aspect_Specifications): Major rewrite to accomodate delaying aspect evaluation to the freeze point. (Duplicate_Clause): Simplify using Get_Rep_Item_For_Entity, and also accomodate delayed aspects. (Rep_Item_Too_Late): Deal with delayed aspects case * sem_ch13.ads (Rep_Item_Too_Late): Document handling of delayed aspects * sem_ch3.adb (Analyze_Subtype_Declaration): Make sure that generic actual types are properly frozen (this is needed because of the new check in Eval_Attribute that declines to evaluate attributes for unfrozen types). Simplify analysis of aspect specifications now that the flag Has_Aspects applies to all nodes (no need to save aspects). * sem_ch3.ads (Preanalyze_Spec_Expression): Note use for delayed aspects * sem_ch5.adb: Simplify analysis of aspect specifications now that the flag Has_Aspects applies to all nodes (no need to save aspects). New calling sequence for Freeze_Entity. * sem_ch9.adb, sem_ch7.adb, sem_ch6.adb: Simplify analysis of aspect specifications now that the flag Has_Aspects applies to all nodes (no need to save aspects). New calling sequence for Freeze_Entity * sem_prag.adb (Check_Duplicate_Pragma): Simplify using Get_Rep_Item_For_Entity (Get_Pragma_Arg): Moved to Sinfo * sinfo.ads, sinfo.adb (Aspect_Rep_Item_: New field (Is_Delayed_Aspect): New flag (Next_Rep_Item): Document use for aspects (Get_Pragma_Arg): Moved here from Sem_Prag * sprint.adb (Sprint_Aspect_Specifications): Now called after semicolon is output and removes semicolon (simplifies interface). (Sprint_Node_Actual): Simplify handling of aspects now that Has_Aspects applies to any node. * tree_gen.adb: Write contents of Aspect_Specifications hash table * tree_in.adb: Read and initialize Aspect_Specifications hash table * treepr.adb (Print_Node): Print Has_Aspects flag (Print_Node): Print Aspect_Specifications in Has_Aspects set * xtreeprs.adb: Remove obsolete references to Flag1,2,3 From-SVN: r165300
2010-10-11[multiple changes]Arnaud Charlet1-0/+4
2010-10-11 Robert Dewar <dewar@adacore.com> * aspects.ads, aspects.adb: Major revision of this package for 2nd stage of aspects implementation. * gcc-interface/Make-lang.in: Add entry for aspects.o * gcc-interface/Makefile.in: Add aspects.o to GNATMAKE_OBJS * par-ch13.adb (Aspect_Specifications_Present): New function (P_Aspect_Specifications): New procedure * par-ch3.adb (P_Type_Declaration): Handle aspect specifications (P_Derived_Type_Def_Or_Private_Ext_Decl): Handle aspect specifications (P_Identifier_Declarations): Handle aspect specifications (P_Component_Items): Handle aspect specifications (P_Subtype_Declaration): Handle aspect specifications * par-ch6.adb (P_Subprogram): Handle aspect specifications * par-ch9.adb (P_Entry_Declaration): Handle aspect specifications * par.adb (Aspect_Specifications_Present): New function (P_Aspect_Specifications): New procedure * sem.adb (Analyze_Full_Type_Declaration): New name for Analyze_Type_Declaration. (Analyze_Formal_Package_Declaration): New name (add _Declaration) (Analyze_Formal_Subprogram_Declaration): New name (add _Declaration) (Analyze_Protected_Type_Declaration): New name (add _Declaration) (Analyze_Single_Protected_Declaration): New name (add _Declaration) (Analyze_Single_Task_Declaration): New name (add _Declaration) (Analyze_Task_Type_Declaration): New name (add _Declaration) * sem_cat.adb (Analyze_Full_Type_Declaration): New name for Analyze_Type_Declaration. * sem_ch11.adb (Analyze_Exception_Declaration): Analyze aspect specifications. * sem_ch12.adb (Analyze_Formal_Object_Declaration): Handle aspect specifications. (Analyze_Formal_Package_Declaration): New name (add _Declaration) (Analyze_Formal_Package_Declaration): Handle aspect specifications (Analyze_Formal_Subprogram_Declaration): New name (add _Declaration) (Analyze_Formal_Subprogram_Declaration): Handle aspect specifications (Analyze_Formal_Type_Declaration): Handle aspect specifications (Analyze_Generic_Package_Declaration): Handle aspect specifications (Analyze_Generic_Subprogram_Declaration): Handle aspect specifications (Analyze_Package_Instantiation): Handle aspect specifications (Analyze_Subprogram_Instantiation): Handle aspect specifications * sem_ch12.ads (Analyze_Formal_Package_Declaration): New name (add _Declaration). (Analyze_Formal_Subprogram_Declaration): New name (add _Declaration) * sem_ch13.adb (Analyze_Aspect_Specifications): New procedure (Duplicate_Clause): New function, calls to this function are added to processing for all aspects. * sem_ch13.ads (Analyze_Aspect_Specifications): New procedure * sem_ch3.adb (Analyze_Full_Type_Declaration): New name for Analyze_Type_Declaration. * sem_ch3.ads (Analyze_Full_Type_Declaration): New name for Analyze_Type_Declaration. * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Analyze aspect specifications. (Analyze_Subprogram_Declaration): Analyze aspect specifications * sem_ch7.adb (Analyze_Package_Declaration): Analyze aspect specifications. (Analyze_Private_Type_Declaration): Analyze aspect specifications * sem_ch9.adb (Analyze_Protected_Type_Declaration): Analyze aspect specifications. (Analyze_Protected_Type_Declaration): New name (add _Declaration) (Analyze_Single_Protected_Declaration): Analyze aspect specifications (Analyze_Single_Protected_Declaration): New name (add _Declaration) (Analyze_Single_Task_Declaration): Analyze aspect specifications (Analyze_Single_Task_Declaration): New name (add _Declaration) (Analyze_Task_Type_Declaration): Analyze aspect specifications (Analyze_Task_Type_Declaration): New name (add _Declaration) * sem_ch9.ads (Analyze_Protected_Type_Declaration): New name (add _Declaration). (Analyze_Single_Protected_Declaration): New name (add _Declaration) (Analyze_Single_Task_Declaration): New name (add _Declaration) (Analyze_Task_Type_Declaration): New name (add _Declaration) * sem_prag.adb: Use Get_Pragma_Arg systematically so that we do not have to generate unnecessary pragma argument associations (this matches the doc). Throughout do changes to accomodate aspect specifications, including specializing messages, handling the case of not going through all homonyms, and allowing for cancellation. * sinfo.ads, sinfo.adb: Clean up obsolete documentation for Flag1,2,3 (Aspect_Cancel): New flag (From_Aspect_Specification): New flag (First_Aspect): Removed flag (Last_Aspect): Removed flag * sprint.adb (Sprint_Aspect_Specifications): New procedure (Sprint_Node_Actual): Add calls to Sprint_Aspect_Specifications 2010-10-11 Bob Duff <duff@adacore.com> * sem_res.adb (Resolve_Actuals): Minor change to warning messages so they match in Ada 95, 2005, and 2012 modes, in the case where the language didn't change. Same thing for the run-time exception message. 2010-10-11 Javier Miranda <miranda@adacore.com> * debug.adb Document that switch -gnatd.p enables the CIL verifier. 2010-10-11 Robert Dewar <dewar@adacore.com> * s-htable.adb: Minor reformatting. From-SVN: r165299
2010-08-10a-chahan.ads: Add comments on handling of obsolescent entries.Robert Dewar1-0/+8
2010-08-10 Robert Dewar <dewar@adacore.com> * a-chahan.ads: Add comments on handling of obsolescent entries. * opt.ads: Add Ada_2005 and Ada_2012 renamings for versions. * restrict.adb (Check_Obsolescent_2005_Entity): New procedure. * restrict.ads (Check_Obsolescent_2005_Entity): New procedure. * sem_attr.adb (Analyze_Access_Attribute): Call Check_Obsolescent_2005_Entity to check for access to obsolescent Ada.Characters.Handling subprogram. (Analyze_Attribute, case Class): Applying Class to untagged incomplete type is obsolescent in Ada 2005. (Analyze_Attribute, case Constrained): Better placement of flag when flagged as obsolescent feature. (Analyze_Attribute, case Storage_Size): Use with tasks is obsolescent * sem_ch10.adb (Analyze_With_Clause): With of renamings such as Text_IO is an obsolescent feature. * sem_ch11.adb (Analyze_Raise_Statement): Numeric_Error is obsolescent feature. * sem_ch8.adb (Analyze_Subprogram_Renaming): Call Check_Obsolescent_2005_Entity to check for renaming obsolete Ada.Characters.Handling subprogram. * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Check for obsolescent restrictions in Ada 2005. (Analyze_Pragma, case Suppress): Entity arg is obsolescent in Ada 2005 (Analyze_Pragma, case Interface): Interface is obsolescent in Ada 2005 * sem_res.adb (Resolve_Call): Call Check_Obsolescent_2005_Entity to check for obsolescent references to Ada.Characters.Handling subprograms 2010-08-10 Robert Dewar <dewar@adacore.com> * einfo.adb, einfo.ads: Fix bad -gnatdt output for incomplete type. 2010-08-10 Robert Dewar <dewar@adacore.com> * errout.ads: Add VMS table entries for 2005, 12, 2012 switches * par-ch4.adb: Change wording of Ada 2012 messages * vms_data.ads: Add VMS entries for /2005, /12, /2012 From-SVN: r163063
2010-06-18par-labl.adb, [...]: Fix copyright notices.Arnaud Charlet1-1/+1
* par-labl.adb, restrict.adb, s-osinte-hpux-dce.ads, sem_ch11.adb, exp_pakd.adb, s-filofl.ads, par-endh.adb, exp_intr.adb, sem_cat.adb, sem_case.adb, exp_ch11.adb: Fix copyright notices. From-SVN: r160982
2009-07-10[multiple changes]Arnaud Charlet1-0/+3
2009-07-10 Thomas Quinot <quinot@adacore.com> * exp_ch7.adb: Update comments. 2009-07-10 Arnaud Charlet <charlet@adacore.com> * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod clause if -gnatI is set instead of crashing. 2009-07-10 Ed Schonberg <schonberg@adacore.com> * sem_ch11.adb (Same_Expression): Null is always equal to itself. Additional work to remove redundant successive raise statements, in this case access checks. 2009-07-10 Vincent Celier <celier@adacore.com> * make.adb (Compile): Always create a deep copy of the mapping file argument (-gnatem=...) as it may be deallocate/reallocate by Normalize_Arguments. 2009-07-10 Javier Miranda <miranda@adacore.com> * einfo.adb (Directly_Designated_Type): Add assertion. * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on access types before using attribute Directly_Designated_Type. 2009-07-10 Emmanuel Briot <briot@adacore.com> * prj.ads: Minor typo fix 2009-07-10 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need special treatment. * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten subprogram is a function call, resolve properly, to ensure that extra actuals are added as needed. From-SVN: r149474
2009-07-10sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise statements ↵Ed Schonberg1-1/+52
with the same condition. 2009-07-10 Ed Schonberg <schonberg@adacore.com> * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise statements with the same condition. From-SVN: r149462
2009-04-10sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for undocumented formal.Thomas Quinot1-1/+1
2009-04-10 Thomas Quinot <quinot@adacore.com> * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for undocumented formal. Minor reformatting * a-direio.ads: Fix typo in comment * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb, errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb: Use uniform phrasing for comment at start of subprogram body. * xsnamest.adb: Add note to explain why we use specific names for the newly generated files instead of generating snames.{ads,adb,h} directly From-SVN: r145918