4b490c1ec5
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.
1452 lines
56 KiB
Ada
1452 lines
56 KiB
Ada
------------------------------------------------------------------------------
|
|
-- --
|
|
-- GNAT COMPILER COMPONENTS --
|
|
-- --
|
|
-- A L I --
|
|
-- --
|
|
-- S p e c --
|
|
-- --
|
|
-- Copyright (C) 1992-2020, Free Software Foundation, Inc. --
|
|
-- --
|
|
-- GNAT is free software; you can redistribute it and/or modify it under --
|
|
-- terms of the GNU General Public License as published by the Free Soft- --
|
|
-- ware Foundation; either version 3, or (at your option) any later ver- --
|
|
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
|
|
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
|
|
-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
|
|
-- for more details. You should have received a copy of the GNU General --
|
|
-- Public License distributed with GNAT; see file COPYING3. If not, go to --
|
|
-- http://www.gnu.org/licenses for a complete copy of the license. --
|
|
-- --
|
|
-- GNAT was originally developed by the GNAT team at New York University. --
|
|
-- Extensive contributions were provided by Ada Core Technologies Inc. --
|
|
-- --
|
|
------------------------------------------------------------------------------
|
|
|
|
-- This package defines the internal data structures used for representation
|
|
-- of Ada Library Information (ALI) acquired from the ALI files generated by
|
|
-- the front end.
|
|
|
|
with Casing; use Casing;
|
|
with Gnatvsn; use Gnatvsn;
|
|
with Namet; use Namet;
|
|
with Rident; use Rident;
|
|
with Table;
|
|
with Types; use Types;
|
|
|
|
with GNAT.Dynamic_Tables;
|
|
with GNAT.HTable; use GNAT.HTable;
|
|
|
|
package ALI is
|
|
|
|
--------------
|
|
-- Id Types --
|
|
--------------
|
|
|
|
type ALI_Id is range 0 .. 99_999_999;
|
|
-- Id values used for ALIs table entries
|
|
|
|
type Unit_Id is range 0 .. 99_999_999;
|
|
-- Id values used for Unit table entries
|
|
|
|
type With_Id is range 0 .. 99_999_999;
|
|
-- Id values used for Withs table entries
|
|
|
|
type Arg_Id is range 0 .. 99_999_999;
|
|
-- Id values used for argument table entries
|
|
|
|
type Sdep_Id is range 0 .. 99_999_999;
|
|
-- Id values used for Sdep table entries
|
|
|
|
type Source_Id is range 0 .. 99_999_999;
|
|
-- Id values used for Source table entries
|
|
|
|
type Interrupt_State_Id is range 0 .. 99_999_999;
|
|
-- Id values used for Interrupt_State table entries
|
|
|
|
type Priority_Specific_Dispatching_Id is range 0 .. 99_999_999;
|
|
-- Id values used for Priority_Specific_Dispatching table entries
|
|
|
|
type Invocation_Construct_Id is range 0 .. 99_999_999;
|
|
-- Id values used for Invocation_Constructs table entries
|
|
|
|
type Invocation_Relation_Id is range 0 .. 99_999_999;
|
|
-- Id values used for Invocation_Relations table entries
|
|
|
|
type Invocation_Signature_Id is range 0 .. 99_999_999;
|
|
-- Id values used for Invocation_Signatures table entries
|
|
|
|
function Present (IC_Id : Invocation_Construct_Id) return Boolean;
|
|
pragma Inline (Present);
|
|
-- Determine whether invocation construct IC_Id exists
|
|
|
|
function Present (IR_Id : Invocation_Relation_Id) return Boolean;
|
|
pragma Inline (Present);
|
|
-- Determine whether invocation relation IR_Id exists
|
|
|
|
function Present (IS_Id : Invocation_Signature_Id) return Boolean;
|
|
pragma Inline (Present);
|
|
-- Determine whether invocation signature IS_Id exists
|
|
|
|
function Present (Dep : Sdep_Id) return Boolean;
|
|
pragma Inline (Present);
|
|
-- Determine whether dependant Dep exists
|
|
|
|
function Present (U_Id : Unit_Id) return Boolean;
|
|
pragma Inline (Present);
|
|
-- Determine whether unit U_Id exists
|
|
|
|
function Present (W_Id : With_Id) return Boolean;
|
|
pragma Inline (Present);
|
|
-- Determine whether with W_Id exists
|
|
|
|
--------------------
|
|
-- ALI File Table --
|
|
--------------------
|
|
|
|
-- Each ALI file read generates an entry in the ALIs table
|
|
|
|
No_ALI_Id : constant ALI_Id := ALI_Id'First;
|
|
-- Special value indicating no ALI entry
|
|
|
|
First_ALI_Entry : constant ALI_Id := No_ALI_Id + 1;
|
|
-- Id of first actual entry in table
|
|
|
|
-- The following type enumerates all possible invocation-graph encoding
|
|
-- kinds.
|
|
|
|
type Invocation_Graph_Encoding_Kind is
|
|
(Endpoints_Encoding,
|
|
-- The invocation construct and relation lines contain information for
|
|
-- the start construct and end target found on an invocation-graph path.
|
|
|
|
Full_Path_Encoding,
|
|
-- The invocation construct and relation lines contain information for
|
|
-- all constructs and targets found on a invocation-graph path.
|
|
|
|
No_Encoding);
|
|
|
|
type Main_Program_Type is (None, Proc, Func);
|
|
-- Indicator of whether unit can be used as main program
|
|
|
|
type ALIs_Record is record
|
|
Afile : File_Name_Type;
|
|
-- Name of ALI file
|
|
|
|
Ofile_Full_Name : File_Name_Type;
|
|
-- Full name of object file corresponding to the ALI file
|
|
|
|
Sfile : File_Name_Type;
|
|
-- Name of source file that generates this ALI file (which is equal
|
|
-- to the name of the source file in the first unit table entry for
|
|
-- this ALI file, since the body if present is always first).
|
|
|
|
Ver : String (1 .. Ver_Len_Max);
|
|
-- Value of library version (V line in ALI file). Not set if
|
|
-- V lines are ignored as a result of the Ignore_Lines parameter.
|
|
|
|
Ver_Len : Natural;
|
|
-- Length of characters stored in Ver. Not set if V lines are ignored as
|
|
-- a result of the Ignore_Lines parameter.
|
|
|
|
SAL_Interface : Boolean;
|
|
-- Set True when this is an interface to a standalone library
|
|
|
|
First_Unit : Unit_Id;
|
|
-- Id of first Unit table entry for this file
|
|
|
|
Last_Unit : Unit_Id;
|
|
-- Id of last Unit table entry for this file
|
|
|
|
First_Sdep : Sdep_Id;
|
|
-- Id of first Sdep table entry for this file
|
|
|
|
Last_Sdep : Sdep_Id;
|
|
-- Id of last Sdep table entry for this file
|
|
|
|
Main_Program : Main_Program_Type;
|
|
-- Indicator of whether first unit can be used as main program. Not set
|
|
-- if 'M' appears in Ignore_Lines.
|
|
|
|
Main_Priority : Int;
|
|
-- Indicates priority value if Main_Program field indicates that this
|
|
-- can be a main program. A value of -1 (No_Main_Priority) indicates
|
|
-- that no parameter was found, or no M line was present. Not set if
|
|
-- 'M' appears in Ignore_Lines.
|
|
|
|
Main_CPU : Int;
|
|
-- Indicates processor if Main_Program field indicates that this can
|
|
-- be a main program. A value of -1 (No_Main_CPU) indicates that no C
|
|
-- parameter was found, or no M line was present. Not set if 'M' appears
|
|
-- in Ignore_Lines.
|
|
|
|
Time_Slice_Value : Int;
|
|
-- Indicates value of time slice parameter from T=xxx on main program
|
|
-- line. A value of -1 indicates that no T=xxx parameter was found, or
|
|
-- no M line was present. Not set if 'M' appears in Ignore_Lines.
|
|
|
|
WC_Encoding : Character;
|
|
-- Wide character encoding if main procedure. Otherwise not relevant.
|
|
-- Not set if 'M' appears in Ignore_Lines.
|
|
|
|
Locking_Policy : Character;
|
|
-- Indicates locking policy for units in this file. Space means tasking
|
|
-- was not used, or that no Locking_Policy pragma was present or that
|
|
-- this is a language defined unit. Otherwise set to first character
|
|
-- (upper case) of policy name. Not set if 'P' appears in Ignore_Lines.
|
|
|
|
Partition_Elaboration_Policy : Character;
|
|
-- Indicates partition elaboration policy for units in this file. Space
|
|
-- means that no Partition_Elaboration_Policy pragma was present or that
|
|
-- this is a language defined unit. Otherwise set to first character
|
|
-- (upper case) of policy name. Not set if 'P' appears in Ignore_Lines.
|
|
|
|
Queuing_Policy : Character;
|
|
-- Indicates queuing policy for units in this file. Space means tasking
|
|
-- was not used, or that no Queuing_Policy pragma was present or that
|
|
-- this is a language defined unit. Otherwise set to first character
|
|
-- (upper case) of policy name. Not set if 'P' appears in Ignore_Lines.
|
|
|
|
Task_Dispatching_Policy : Character;
|
|
-- Indicates task dispatching policy for units in this file. Space means
|
|
-- tasking was not used, or that no Task_Dispatching_Policy pragma was
|
|
-- present or that this is a language defined unit. Otherwise set to
|
|
-- first character (upper case) of policy name. Not set if 'P' appears
|
|
-- in Ignore_Lines.
|
|
|
|
Compile_Errors : Boolean;
|
|
-- Set to True if compile errors for unit. Note that No_Object will
|
|
-- always be set as well in this case. Not set if 'P' appears in
|
|
-- Ignore_Lines.
|
|
|
|
GNATprove_Mode : Boolean;
|
|
-- Set to True if ALI and object file produced in GNATprove_Mode as
|
|
-- signalled by GP appearing on the P line. Not set if 'P' appears in
|
|
-- Ignore_Lines.
|
|
|
|
No_Component_Reordering : Boolean;
|
|
-- Set to True if file was compiled with a configuration pragma file
|
|
-- containing pragma No_Component_Reordering. Not set if 'P' appears
|
|
-- in Ignore_Lines.
|
|
|
|
No_Object : Boolean;
|
|
-- Set to True if no object file generated. Not set if 'P' appears in
|
|
-- Ignore_Lines.
|
|
|
|
Normalize_Scalars : Boolean;
|
|
-- Set to True if file was compiled with Normalize_Scalars. Not set if
|
|
-- 'P' appears in Ignore_Lines.
|
|
|
|
SSO_Default : Character;
|
|
-- Set to 'H' or 'L' if file was compiled with a configuration pragma
|
|
-- file containing Default_Scalar_Storage_Order (High/Low_Order_First).
|
|
-- Set to ' ' if neither pragma was present. Not set if 'P' appears in
|
|
-- Ignore_Lines.
|
|
|
|
Unit_Exception_Table : Boolean;
|
|
-- Set to True if unit exception table pointer generated. Not set if 'P'
|
|
-- appears in Ignore_Lines.
|
|
|
|
Frontend_Exceptions : Boolean;
|
|
-- Set to True if file was compiled with front-end exceptions. Not set
|
|
-- if 'P' appears in Ignore_Lines.
|
|
|
|
Zero_Cost_Exceptions : Boolean;
|
|
-- Set to True if file was compiled with zero cost exceptions. Not set
|
|
-- if 'P' appears in Ignore_Lines.
|
|
|
|
Restrictions : Restrictions_Info;
|
|
-- Restrictions information reconstructed from R lines
|
|
|
|
First_Interrupt_State : Interrupt_State_Id;
|
|
Last_Interrupt_State : Interrupt_State_Id'Base;
|
|
-- These point to the first and last entries in the interrupt state
|
|
-- table for this unit. If no entries, then Last_Interrupt_State =
|
|
-- First_Interrupt_State - 1 (that's why the 'Base reference is there,
|
|
-- it can be one less than the lower bound of the subtype). Not set if
|
|
-- 'I' appears in Ignore_Lines
|
|
|
|
First_Specific_Dispatching : Priority_Specific_Dispatching_Id;
|
|
Last_Specific_Dispatching : Priority_Specific_Dispatching_Id'Base;
|
|
-- These point to the first and last entries in the priority specific
|
|
-- dispatching table for this unit. If there are no entries, then
|
|
-- Last_Specific_Dispatching = First_Specific_Dispatching - 1. That
|
|
-- is why the 'Base reference is there, it can be one less than the
|
|
-- lower bound of the subtype. Not set if 'S' appears in Ignore_Lines.
|
|
|
|
Invocation_Graph_Encoding : Invocation_Graph_Encoding_Kind;
|
|
-- The encoding format used to capture information about the invocation
|
|
-- constructs and relations within the corresponding ALI file of this
|
|
-- unit.
|
|
end record;
|
|
|
|
No_Main_Priority : constant Int := -1;
|
|
-- Code for no main priority set
|
|
|
|
No_Main_CPU : constant Int := -1;
|
|
-- Code for no main cpu set
|
|
|
|
package ALIs is new Table.Table (
|
|
Table_Component_Type => ALIs_Record,
|
|
Table_Index_Type => ALI_Id,
|
|
Table_Low_Bound => First_ALI_Entry,
|
|
Table_Initial => 500,
|
|
Table_Increment => 200,
|
|
Table_Name => "ALIs");
|
|
|
|
----------------
|
|
-- Unit Table --
|
|
----------------
|
|
|
|
-- Each unit within an ALI file generates an entry in the unit table
|
|
|
|
No_Unit_Id : constant Unit_Id := Unit_Id'First;
|
|
-- Special value indicating no unit table entry
|
|
|
|
First_Unit_Entry : constant Unit_Id := No_Unit_Id + 1;
|
|
-- Id of first actual entry in table
|
|
|
|
type Unit_Type is (Is_Spec, Is_Body, Is_Spec_Only, Is_Body_Only);
|
|
-- Indicates type of entry, if both body and spec appear in the ALI file,
|
|
-- then the first unit is marked Is_Body, and the second is marked Is_Spec.
|
|
-- If only a spec appears, then it is marked as Is_Spec_Only, and if only
|
|
-- a body appears, then it is marked Is_Body_Only).
|
|
|
|
subtype Version_String is String (1 .. 8);
|
|
-- Version string, taken from unit record
|
|
|
|
type Unit_Record is record
|
|
My_ALI : ALI_Id;
|
|
-- Corresponding ALI entry
|
|
|
|
Uname : Unit_Name_Type;
|
|
-- Name of Unit
|
|
|
|
Sfile : File_Name_Type;
|
|
-- Name of source file
|
|
|
|
Preelab : Boolean;
|
|
-- Indicates presence of PR parameter for a preelaborated package
|
|
|
|
No_Elab : Boolean;
|
|
-- Indicates presence of NE parameter for a unit that has does not
|
|
-- have an elaboration routine (since it has no elaboration code).
|
|
|
|
Pure : Boolean;
|
|
-- Indicates presence of PU parameter for a package having pragma Pure
|
|
|
|
Dynamic_Elab : Boolean;
|
|
-- Set to True if the unit was compiled with dynamic elaboration checks
|
|
-- (i.e. either -gnatE or pragma Elaboration_Checks (RM) was used to
|
|
-- compile the unit).
|
|
|
|
Elaborate_Body : Boolean;
|
|
-- Indicates presence of EB parameter for a package which has a pragma
|
|
-- Elaborate_Body, and also for generic package instantiations.
|
|
|
|
Set_Elab_Entity : Boolean;
|
|
-- Indicates presence of EE parameter for a unit which has an
|
|
-- elaboration entity which must be set true as part of the
|
|
-- elaboration of the unit.
|
|
|
|
Has_RACW : Boolean;
|
|
-- Indicates presence of RA parameter for a package that declares at
|
|
-- least one Remote Access to Class_Wide (RACW) object.
|
|
|
|
Remote_Types : Boolean;
|
|
-- Indicates presence of RT parameter for a package which has a
|
|
-- pragma Remote_Types.
|
|
|
|
Serious_Errors : Boolean;
|
|
-- Indicates presence of SE parameter indicating that compilation of
|
|
-- the unit encountered as serious error.
|
|
|
|
Shared_Passive : Boolean;
|
|
-- Indicates presence of SP parameter for a package which has a pragma
|
|
-- Shared_Passive.
|
|
|
|
RCI : Boolean;
|
|
-- Indicates presence of RC parameter for a package which has a pragma
|
|
-- Remote_Call_Interface.
|
|
|
|
Predefined : Boolean;
|
|
-- Indicates if unit is language predefined (or a child of such a unit)
|
|
|
|
Internal : Boolean;
|
|
-- Indicates if unit is an internal unit (or a child of such a unit)
|
|
|
|
First_With : With_Id;
|
|
-- Id of first withs table entry for this file
|
|
|
|
Last_With : With_Id;
|
|
-- Id of last withs table entry for this file
|
|
|
|
First_Arg : Arg_Id;
|
|
-- Id of first args table entry for this file
|
|
|
|
Last_Arg : Arg_Id;
|
|
-- Id of last args table entry for this file
|
|
|
|
First_Invocation_Construct : Invocation_Construct_Id;
|
|
-- Id of the first invocation construct for this unit
|
|
|
|
Last_Invocation_Construct : Invocation_Construct_Id;
|
|
-- Id of the last invocation construct for this unit
|
|
|
|
First_Invocation_Relation : Invocation_Relation_Id;
|
|
-- Id of the first invocation relation for this unit
|
|
|
|
Last_Invocation_Relation : Invocation_Relation_Id;
|
|
-- Id of the last invocation relation for this unit
|
|
|
|
Utype : Unit_Type;
|
|
-- Type of entry
|
|
|
|
Is_Generic : Boolean;
|
|
-- True for generic unit (i.e. a generic declaration, or a generic
|
|
-- body). False for a non-generic unit.
|
|
|
|
Unit_Kind : Character;
|
|
-- Indicates the nature of the unit. 'p' for Packages and 's' for
|
|
-- subprograms.
|
|
|
|
Version : Version_String;
|
|
-- Version of unit
|
|
|
|
Icasing : Casing_Type;
|
|
-- Indicates casing of identifiers in source file for this unit. This
|
|
-- is used for informational output, and also for constructing the main
|
|
-- unit if it is being built in Ada.
|
|
|
|
Kcasing : Casing_Type;
|
|
-- Indicates casing of keywords in source file for this unit. This is
|
|
-- used for informational output, and also for constructing the main
|
|
-- unit if it is being built in Ada.
|
|
|
|
Elab_Position : Nat;
|
|
-- Initialized to zero. Set non-zero when a unit is chosen and
|
|
-- placed in the elaboration order. The value represents the
|
|
-- ordinal position in the elaboration order.
|
|
|
|
Init_Scalars : Boolean;
|
|
-- Set True if IS qualifier appears in ALI file, indicating that
|
|
-- an Initialize_Scalars pragma applies to the unit.
|
|
|
|
SAL_Interface : Boolean;
|
|
-- Set True when this is an interface to a standalone library
|
|
|
|
Directly_Scanned : Boolean;
|
|
-- True iff it is a unit from an ALI file specified to gnatbind
|
|
|
|
Body_Needed_For_SAL : Boolean;
|
|
-- Indicates that the source for the body of the unit (subprogram,
|
|
-- package, or generic unit) must be included in a standalone library.
|
|
|
|
Elaborate_Body_Desirable : Boolean;
|
|
-- Indicates that the front end elaboration circuitry decided that it
|
|
-- would be a good idea if this package had Elaborate_Body. The binder
|
|
-- will attempt, but does not promise, to place the elaboration call
|
|
-- for the body right after the call for the spec, or at least as close
|
|
-- together as possible.
|
|
|
|
Optimize_Alignment : Character;
|
|
-- Optimize_Alignment setting. Set to L/S/T/O for OL/OS/OT/OO present.
|
|
|
|
Has_Finalizer : Boolean;
|
|
-- Indicates whether a package body or a spec has a library-level
|
|
-- finalization routine.
|
|
|
|
Primary_Stack_Count : Int;
|
|
-- Indicates the number of task objects declared in this unit that have
|
|
-- default sized primary stacks.
|
|
|
|
Sec_Stack_Count : Int;
|
|
-- Indicates the number of task objects declared in this unit that have
|
|
-- default sized secondary stacks.
|
|
end record;
|
|
|
|
package Units is new Table.Table (
|
|
Table_Component_Type => Unit_Record,
|
|
Table_Index_Type => Unit_Id,
|
|
Table_Low_Bound => First_Unit_Entry,
|
|
Table_Initial => 100,
|
|
Table_Increment => 200,
|
|
Table_Name => "Unit");
|
|
|
|
package Unit_Id_Tables is new GNAT.Dynamic_Tables
|
|
(Table_Component_Type => Unit_Id,
|
|
Table_Index_Type => Nat,
|
|
Table_Low_Bound => 1,
|
|
Table_Initial => 500,
|
|
Table_Increment => 200);
|
|
|
|
subtype Unit_Id_Table is Unit_Id_Tables.Instance;
|
|
subtype Unit_Id_Array is Unit_Id_Tables.Table_Type;
|
|
|
|
---------------------------
|
|
-- Interrupt State Table --
|
|
---------------------------
|
|
|
|
-- An entry is made in this table for each I (interrupt state) line
|
|
-- encountered in the input ALI file. The First/Last_Interrupt_Id
|
|
-- fields of the ALI file entry show the range of entries defined
|
|
-- within a particular ALI file.
|
|
|
|
type Interrupt_State_Record is record
|
|
Interrupt_Id : Nat;
|
|
-- Id from interrupt state entry
|
|
|
|
Interrupt_State : Character;
|
|
-- State from interrupt state entry ('u'/'r'/'s')
|
|
|
|
IS_Pragma_Line : Nat;
|
|
-- Line number of Interrupt_State pragma
|
|
end record;
|
|
|
|
package Interrupt_States is new Table.Table (
|
|
Table_Component_Type => Interrupt_State_Record,
|
|
Table_Index_Type => Interrupt_State_Id'Base,
|
|
Table_Low_Bound => Interrupt_State_Id'First,
|
|
Table_Initial => 100,
|
|
Table_Increment => 200,
|
|
Table_Name => "Interrupt_States");
|
|
|
|
-----------------------------------------
|
|
-- Priority Specific Dispatching Table --
|
|
-----------------------------------------
|
|
|
|
-- An entry is made in this table for each S (priority specific
|
|
-- dispatching) line encountered in the input ALI file. The
|
|
-- First/Last_Specific_Dispatching_Id fields of the ALI file
|
|
-- entry show the range of entries defined within a particular
|
|
-- ALI file.
|
|
|
|
type Specific_Dispatching_Record is record
|
|
Dispatching_Policy : Character;
|
|
-- First character (upper case) of the corresponding policy name
|
|
|
|
First_Priority : Nat;
|
|
-- Lower bound of the priority range to which the specified dispatching
|
|
-- policy applies.
|
|
|
|
Last_Priority : Nat;
|
|
-- Upper bound of the priority range to which the specified dispatching
|
|
-- policy applies.
|
|
|
|
PSD_Pragma_Line : Nat;
|
|
-- Line number of Priority_Specific_Dispatching pragma
|
|
end record;
|
|
|
|
package Specific_Dispatching is new Table.Table (
|
|
Table_Component_Type => Specific_Dispatching_Record,
|
|
Table_Index_Type => Priority_Specific_Dispatching_Id'Base,
|
|
Table_Low_Bound => Priority_Specific_Dispatching_Id'First,
|
|
Table_Initial => 100,
|
|
Table_Increment => 200,
|
|
Table_Name => "Priority_Specific_Dispatching");
|
|
|
|
--------------
|
|
-- Switches --
|
|
--------------
|
|
|
|
-- These switches record status information about ali files that
|
|
-- have been read, for quick reference without searching tables.
|
|
|
|
-- Note: a switch will be left set at its default value if the line
|
|
-- which might otherwise set it is ignored (from Ignore_Lines).
|
|
|
|
Dynamic_Elaboration_Checks_Specified : Boolean := False;
|
|
-- Set to False by Initialize_ALI. Set to True if Scan_ALI reads
|
|
-- a unit for which dynamic elaboration checking is enabled.
|
|
|
|
Frontend_Exceptions_Specified : Boolean := False;
|
|
-- Set to False by Initialize_ALI. Set to True if an ali file is read that
|
|
-- has a P line specifying the generation of front-end exceptions.
|
|
|
|
GNATprove_Mode_Specified : Boolean := False;
|
|
-- Set to True if an ali file was produced in GNATprove mode.
|
|
|
|
Initialize_Scalars_Used : Boolean := False;
|
|
-- Set True if an ali file contains the Initialize_Scalars flag
|
|
|
|
Locking_Policy_Specified : Character := ' ';
|
|
-- Set to blank by Initialize_ALI. Set to the appropriate locking policy
|
|
-- character if an ali file contains a P line setting the locking policy.
|
|
|
|
No_Normalize_Scalars_Specified : Boolean := False;
|
|
-- Set to False by Initialize_ALI. Set to True if an ali file indicates
|
|
-- that the file was compiled without normalize scalars.
|
|
|
|
No_Component_Reordering_Specified : Boolean := False;
|
|
-- Set to False by Initialize_ALI. Set to True if an ali file contains
|
|
-- the No_Component_Reordering flag.
|
|
|
|
No_Object_Specified : Boolean := False;
|
|
-- Set to False by Initialize_ALI. Set to True if an ali file contains
|
|
-- the No_Object flag.
|
|
|
|
Normalize_Scalars_Specified : Boolean := False;
|
|
-- Set to False by Initialize_ALI. Set to True if an ali file indicates
|
|
-- that the file was compiled in Normalize_Scalars mode.
|
|
|
|
Partition_Elaboration_Policy_Specified : Character := ' ';
|
|
-- Set to blank by Initialize_ALI. Set to the appropriate partition
|
|
-- elaboration policy character if an ali file contains a P line setting
|
|
-- the policy.
|
|
|
|
Queuing_Policy_Specified : Character := ' ';
|
|
-- Set to blank by Initialize_ALI. Set to the appropriate queuing policy
|
|
-- character if an ali file contains a P line setting the queuing policy.
|
|
|
|
Cumulative_Restrictions : Restrictions_Info := No_Restrictions;
|
|
-- This variable records the cumulative contributions of R lines in all
|
|
-- ali files, showing whether a restriction pragma exists anywhere, and
|
|
-- accumulating the aggregate knowledge of violations.
|
|
|
|
SSO_Default_Specified : Boolean := False;
|
|
-- Set to True if at least one ALI file contains an OH/OL flag indicating
|
|
-- that it was compiled with a configuration pragmas file containing the
|
|
-- pragma Default_Scalar_Storage_Order (OH/OL present in ALI file P line).
|
|
|
|
Stack_Check_Switch_Set : Boolean := False;
|
|
-- Set to True if at least one ALI file contains '-fstack-check' in its
|
|
-- argument list.
|
|
|
|
Task_Dispatching_Policy_Specified : Character := ' ';
|
|
-- Set to blank by Initialize_ALI. Set to the appropriate task dispatching
|
|
-- policy character if an ali file contains a P line setting the
|
|
-- task dispatching policy.
|
|
|
|
Unreserve_All_Interrupts_Specified : Boolean := False;
|
|
-- Set to False by Initialize_ALI. Set to True if an ali file is read that
|
|
-- has P line specifying unreserve all interrupts mode.
|
|
|
|
Zero_Cost_Exceptions_Specified : Boolean := False;
|
|
-- Set to False by Initialize_ALI. Set to True if an ali file is read that
|
|
-- has a P line specifying the generation of zero cost exceptions.
|
|
|
|
-----------------
|
|
-- Withs Table --
|
|
-----------------
|
|
|
|
-- Each With line (W line) in an ALI file generates a Withs table entry
|
|
|
|
-- Note: there will be no entries in this table if 'W' lines are ignored
|
|
|
|
No_With_Id : constant With_Id := With_Id'First;
|
|
-- Special value indicating no withs table entry
|
|
|
|
First_With_Entry : constant With_Id := No_With_Id + 1;
|
|
-- Id of first actual entry in table
|
|
|
|
type With_Record is record
|
|
Uname : Unit_Name_Type;
|
|
-- Name of Unit
|
|
|
|
Sfile : File_Name_Type;
|
|
-- Name of source file, set to No_File in generic case
|
|
|
|
Afile : File_Name_Type;
|
|
-- Name of ALI file, set to No_File in generic case
|
|
|
|
Elaborate : Boolean;
|
|
-- Indicates presence of E parameter
|
|
|
|
Elaborate_All : Boolean;
|
|
-- Indicates presence of EA parameter
|
|
|
|
Elab_All_Desirable : Boolean;
|
|
-- Indicates presence of AD parameter
|
|
|
|
Elab_Desirable : Boolean;
|
|
-- Indicates presence of ED parameter
|
|
|
|
SAL_Interface : Boolean := False;
|
|
-- True if the Unit is an Interface of a Stand-Alone Library
|
|
|
|
Implicit_With : Boolean := False;
|
|
-- True if this is an implicit with generated by the compiler
|
|
|
|
Limited_With : Boolean := False;
|
|
-- True if this is a limited_with_clause
|
|
end record;
|
|
|
|
package Withs is new Table.Table (
|
|
Table_Component_Type => With_Record,
|
|
Table_Index_Type => With_Id,
|
|
Table_Low_Bound => First_With_Entry,
|
|
Table_Initial => 5000,
|
|
Table_Increment => 200,
|
|
Table_Name => "Withs");
|
|
|
|
---------------------
|
|
-- Arguments Table --
|
|
---------------------
|
|
|
|
-- Each Arg line (A line) in an ALI file generates an Args table entry
|
|
|
|
-- Note: there will be no entries in this table if 'A' lines are ignored
|
|
|
|
No_Arg_Id : constant Arg_Id := Arg_Id'First;
|
|
-- Special value indicating no args table entry
|
|
|
|
First_Arg_Entry : constant Arg_Id := No_Arg_Id + 1;
|
|
-- Id of first actual entry in table
|
|
|
|
package Args is new Table.Table (
|
|
Table_Component_Type => String_Ptr,
|
|
Table_Index_Type => Arg_Id,
|
|
Table_Low_Bound => First_Arg_Entry,
|
|
Table_Initial => 1000,
|
|
Table_Increment => 100,
|
|
Table_Name => "Args");
|
|
|
|
--------------------------
|
|
-- Linker_Options Table --
|
|
--------------------------
|
|
|
|
-- If an ALI file has one of more Linker_Options lines, then a single
|
|
-- entry is made in this table. If more than one Linker_Options lines
|
|
-- appears in a given ALI file, then the arguments are concatenated
|
|
-- to form the entry in this table, using a NUL character as the
|
|
-- separator, and a final NUL character is appended to the end.
|
|
|
|
-- Note: there will be no entries in this table if 'L' lines are ignored
|
|
|
|
type Linker_Option_Record is record
|
|
Name : Name_Id;
|
|
-- Name entry containing concatenated list of Linker_Options
|
|
-- arguments separated by NUL and ended by NUL as described above.
|
|
|
|
Unit : Unit_Id;
|
|
-- Unit_Id for the entry
|
|
|
|
Internal_File : Boolean;
|
|
-- Set True if the linker options are from an internal file. This is
|
|
-- used to insert certain standard entries after all the user entries
|
|
-- but before the entries from the run-time.
|
|
end record;
|
|
|
|
-- The indexes of active entries in this table range from 1 to the value of
|
|
-- Linker_Options.Last. The zeroth element is for convenience if the table
|
|
-- needs to be sorted.
|
|
|
|
package Linker_Options is new Table.Table (
|
|
Table_Component_Type => Linker_Option_Record,
|
|
Table_Index_Type => Integer,
|
|
Table_Low_Bound => 0,
|
|
Table_Initial => 200,
|
|
Table_Increment => 400,
|
|
Table_Name => "Linker_Options");
|
|
|
|
-----------------
|
|
-- Notes Table --
|
|
-----------------
|
|
|
|
-- The notes table records entries from N lines
|
|
|
|
type Notes_Record is record
|
|
Pragma_Type : Character;
|
|
-- 'A', 'C', 'I', 'S', 'T' for Annotate/Comment/Ident/Subtitle/Title
|
|
|
|
Pragma_Line : Nat;
|
|
-- Line number of pragma
|
|
|
|
Pragma_Col : Nat;
|
|
-- Column number of pragma
|
|
|
|
Pragma_Source_File : File_Name_Type;
|
|
-- Source file of pragma
|
|
|
|
Pragma_Args : Name_Id;
|
|
-- Pragma arguments. No_Name if no arguments, otherwise a single
|
|
-- name table entry consisting of all the characters on the notes
|
|
-- line from the first non-blank character following the source
|
|
-- location to the last character on the line.
|
|
end record;
|
|
|
|
-- The indexes of active entries in this table range from 1 to the value of
|
|
-- Notes.Last. The zeroth element is for convenience if the table needs to
|
|
-- be sorted.
|
|
|
|
package Notes is new Table.Table (
|
|
Table_Component_Type => Notes_Record,
|
|
Table_Index_Type => Integer,
|
|
Table_Low_Bound => 0,
|
|
Table_Initial => 200,
|
|
Table_Increment => 400,
|
|
Table_Name => "Notes");
|
|
|
|
-------------------------------------------
|
|
-- External Version Reference Hash Table --
|
|
-------------------------------------------
|
|
|
|
-- This hash table keeps track of external version reference strings
|
|
-- as read from E lines in the ali file. The stored values do not
|
|
-- include the terminating quote characters.
|
|
|
|
-- Note: there will be no entries in this table if 'E' lines are ignored
|
|
|
|
type Vindex is range 0 .. 98;
|
|
-- Type to define range of headers
|
|
|
|
function SHash (S : String_Ptr) return Vindex;
|
|
-- Hash function for this table
|
|
|
|
function SEq (F1, F2 : String_Ptr) return Boolean;
|
|
-- Equality function for this table
|
|
|
|
package Version_Ref is new Simple_HTable (
|
|
Header_Num => Vindex,
|
|
Element => Boolean,
|
|
No_Element => False,
|
|
Key => String_Ptr,
|
|
Hash => SHash,
|
|
Equal => SEq);
|
|
|
|
-------------------------
|
|
-- No_Dependency Table --
|
|
-------------------------
|
|
|
|
-- Each R line for a No_Dependency Restriction generates an entry in
|
|
-- this No_Dependency table.
|
|
|
|
type No_Dep_Record is record
|
|
ALI_File : ALI_Id;
|
|
-- ALI File containing the entry
|
|
|
|
No_Dep_Unit : Name_Id;
|
|
-- Id for names table entry including entire name, including periods
|
|
end record;
|
|
|
|
package No_Deps is new Table.Table (
|
|
Table_Component_Type => No_Dep_Record,
|
|
Table_Index_Type => Integer,
|
|
Table_Low_Bound => 0,
|
|
Table_Initial => 200,
|
|
Table_Increment => 400,
|
|
Table_Name => "No_Deps");
|
|
|
|
------------------------------------
|
|
-- Sdep (Source Dependency) Table --
|
|
------------------------------------
|
|
|
|
-- Each source dependency (D line) in an ALI file generates an entry in the
|
|
-- Sdep table.
|
|
|
|
-- Note: there will be no entries in this table if 'D' lines are ignored
|
|
|
|
No_Sdep_Id : constant Sdep_Id := Sdep_Id'First;
|
|
-- Special value indicating no Sdep table entry
|
|
|
|
First_Sdep_Entry : Sdep_Id := No_Sdep_Id + 1;
|
|
-- Id of first Sdep entry for current ali file. This is initialized to the
|
|
-- first Sdep entry in the table, and then incremented appropriately as
|
|
-- successive ALI files are scanned.
|
|
|
|
type Sdep_Record is record
|
|
Sfile : File_Name_Type;
|
|
-- Name of source file
|
|
|
|
Stamp : Time_Stamp_Type;
|
|
-- Time stamp value. Note that this will be all zero characters for the
|
|
-- dummy entries for missing or non-dependent files.
|
|
|
|
Checksum : Word;
|
|
-- Checksum value. Note that this will be all zero characters for the
|
|
-- dummy entries for missing or non-dependent files
|
|
|
|
Dummy_Entry : Boolean;
|
|
-- Set True for dummy entries that correspond to missing files or files
|
|
-- where no dependency relationship exists.
|
|
|
|
Subunit_Name : Name_Id;
|
|
-- Name_Id for subunit name if present, else No_Name
|
|
|
|
Unit_Name : Name_Id;
|
|
-- Name_Id for the unit name if not a subunit (No_Name for a subunit)
|
|
|
|
Rfile : File_Name_Type;
|
|
-- Reference file name. Same as Sfile unless a Source_Reference pragma
|
|
-- was used, in which case it reflects the name used in the pragma.
|
|
|
|
Start_Line : Nat;
|
|
-- Starting line number in file. Always 1, unless a Source_Reference
|
|
-- pragma was used, in which case it reflects the line number value
|
|
-- given in the pragma.
|
|
|
|
end record;
|
|
|
|
package Sdep is new Table.Table (
|
|
Table_Component_Type => Sdep_Record,
|
|
Table_Index_Type => Sdep_Id,
|
|
Table_Low_Bound => First_Sdep_Entry,
|
|
Table_Initial => 5000,
|
|
Table_Increment => 200,
|
|
Table_Name => "Sdep");
|
|
|
|
----------------------------
|
|
-- Use of Name Table Info --
|
|
----------------------------
|
|
|
|
-- All unit names and file names are entered into the Names table. The Info
|
|
-- fields of these entries are used as follows:
|
|
|
|
-- Unit name Info field has Unit_Id of unit table entry
|
|
-- ALI file name Info field has ALI_Id of ALI table entry
|
|
-- Source file name Info field has Source_Id of source table entry
|
|
|
|
--------------------------
|
|
-- Cross-Reference Data --
|
|
--------------------------
|
|
|
|
-- The following table records cross-reference sections, there is one entry
|
|
-- for each X header line in the ALI file for an xref section.
|
|
|
|
-- Note: there will be no entries in this table if 'X' lines are ignored
|
|
|
|
type Xref_Section_Record is record
|
|
File_Num : Sdep_Id;
|
|
-- Dependency number for file (entry in Sdep.Table)
|
|
|
|
File_Name : File_Name_Type;
|
|
-- Name of file
|
|
|
|
First_Entity : Nat;
|
|
-- First entry in Xref_Entity table
|
|
|
|
Last_Entity : Nat;
|
|
-- Last entry in Xref_Entity table
|
|
end record;
|
|
|
|
package Xref_Section is new Table.Table (
|
|
Table_Component_Type => Xref_Section_Record,
|
|
Table_Index_Type => Nat,
|
|
Table_Low_Bound => 1,
|
|
Table_Initial => 50,
|
|
Table_Increment => 300,
|
|
Table_Name => "Xref_Section");
|
|
|
|
-- The following is used to indicate whether a typeref field is present
|
|
-- for the entity, and if so what kind of typeref field.
|
|
|
|
type Tref_Kind is (
|
|
Tref_None, -- No typeref present
|
|
Tref_Access, -- Access type typeref (points to designated type)
|
|
Tref_Derived, -- Derived type typeref (points to parent type)
|
|
Tref_Type); -- All other cases
|
|
|
|
type Visibility_Kind is
|
|
(Global, -- Library level entity
|
|
Static, -- Static C/C++ entity
|
|
Other); -- Local and other entity
|
|
|
|
-- The following table records entities for which xrefs are recorded
|
|
|
|
type Xref_Entity_Record is record
|
|
Line : Pos;
|
|
-- Line number of definition
|
|
|
|
Etype : Character;
|
|
-- Set to the identification character for the entity. See section
|
|
-- "Cross-Reference Entity Identifiers" in lib-xref.ads for details.
|
|
|
|
Col : Pos;
|
|
-- Column number of definition
|
|
|
|
Visibility : Visibility_Kind;
|
|
-- Visibility of entity
|
|
|
|
Entity : Name_Id;
|
|
-- Name of entity
|
|
|
|
Iref_File_Num : Sdep_Id;
|
|
-- This field is set to the dependency reference for the file containing
|
|
-- the generic entity that this one instantiates, or to No_Sdep_Id if
|
|
-- the current entity is not an instantiation
|
|
|
|
Iref_Line : Nat;
|
|
-- This field is set to the line number in Iref_File_Num of the generic
|
|
-- entity that this one instantiates, or to zero if the current entity
|
|
-- is not an instantiation.
|
|
|
|
Rref_Line : Nat;
|
|
-- This field is set to the line number of a renaming reference if
|
|
-- one is present, or to zero if no renaming reference is present
|
|
|
|
Rref_Col : Nat;
|
|
-- This field is set to the column number of a renaming reference
|
|
-- if one is present, or to zero if no renaming reference is present.
|
|
|
|
Tref : Tref_Kind;
|
|
-- Indicates if a typeref is present, and if so what kind. Set to
|
|
-- Tref_None if no typeref field is present.
|
|
|
|
Tref_File_Num : Sdep_Id;
|
|
-- This field is set to No_Sdep_Id if no typeref is present, or
|
|
-- if the typeref refers to an entity in standard. Otherwise it
|
|
-- it is the dependency reference for the file containing the
|
|
-- declaration of the typeref entity.
|
|
|
|
Tref_Line : Nat;
|
|
-- This field is set to zero if no typeref is present, or if the
|
|
-- typeref refers to an entity in standard. Otherwise it contains
|
|
-- the line number of the declaration of the typeref entity.
|
|
|
|
Tref_Type : Character;
|
|
-- This field is set to blank if no typeref is present, or if the
|
|
-- typeref refers to an entity in standard. Otherwise it contains
|
|
-- the identification character for the typeref entity. See section
|
|
-- "Cross-Reference Entity Identifiers" in lib-xref.ads for details.
|
|
|
|
Tref_Col : Nat;
|
|
-- This field is set to zero if no typeref is present, or if the
|
|
-- typeref refers to an entity in standard. Otherwise it contains
|
|
-- the column number of the declaration of the parent type.
|
|
|
|
Tref_Standard_Entity : Name_Id;
|
|
-- This field is set to No_Name if no typeref is present or if the
|
|
-- typeref refers to a declared entity rather than an entity in
|
|
-- package Standard. If there is a typeref that references an
|
|
-- entity in package Standard, then this field is a Name_Id
|
|
-- reference for the entity name.
|
|
|
|
Oref_File_Num : Sdep_Id;
|
|
-- This field is set to No_Sdep_Id if the entity doesn't override any
|
|
-- other entity, or to the dependency reference for the overridden
|
|
-- entity.
|
|
|
|
Oref_Line : Nat;
|
|
Oref_Col : Nat;
|
|
-- These two fields are set to the line and column of the overridden
|
|
-- entity.
|
|
|
|
First_Xref : Nat;
|
|
-- Index into Xref table of first cross-reference
|
|
|
|
Last_Xref : Nat;
|
|
-- Index into Xref table of last cross-reference. The value in
|
|
-- Last_Xref can be less than the First_Xref value to indicate
|
|
-- that no entries are present in the Xref Table.
|
|
end record;
|
|
|
|
package Xref_Entity is new Table.Table (
|
|
Table_Component_Type => Xref_Entity_Record,
|
|
Table_Index_Type => Nat,
|
|
Table_Low_Bound => 1,
|
|
Table_Initial => 500,
|
|
Table_Increment => 300,
|
|
Table_Name => "Xref_Entity");
|
|
|
|
Array_Index_Reference : constant Character := '*';
|
|
Interface_Reference : constant Character := 'I';
|
|
-- Some special types of references. In the ALI file itself, these
|
|
-- are output as attributes of the entity, not as references, but
|
|
-- there is no provision in Xref_Entity_Record for storing multiple
|
|
-- such references.
|
|
|
|
-- The following table records actual cross-references
|
|
|
|
type Xref_Record is record
|
|
File_Num : Sdep_Id;
|
|
-- Set to the file dependency number for the cross-reference. Note
|
|
-- that if no file entry is present explicitly, this is just a copy
|
|
-- of the reference for the current cross-reference section.
|
|
|
|
Line : Nat;
|
|
-- Line number for the reference. This is zero when referencing a
|
|
-- predefined entity, but in this case Name is set.
|
|
|
|
Rtype : Character;
|
|
-- Indicates type of reference, using code used in ALI file:
|
|
-- r = reference
|
|
-- m = modification
|
|
-- b = body entity
|
|
-- c = completion of private or incomplete type
|
|
-- x = type extension
|
|
-- i = implicit reference
|
|
-- Array_Index_Reference = reference to the index of an array
|
|
-- Interface_Reference = reference to an interface implemented
|
|
-- by the type
|
|
-- See description in lib-xref.ads for further details
|
|
|
|
Col : Nat;
|
|
-- Column number for the reference
|
|
|
|
Name : Name_Id := No_Name;
|
|
-- This is only used when referencing a predefined entity. Currently,
|
|
-- this only occurs for array indexes.
|
|
|
|
-- Note: for instantiation references, Rtype is set to ' ', and Col is
|
|
-- set to zero. One or more such entries can follow any other reference.
|
|
-- When there is more than one such entry, this is to be read as:
|
|
-- e.g. ref1 ref2 ref3
|
|
-- ref1 is a reference to an entity that was instantied at ref2.
|
|
-- ref2 itself is also the result of an instantiation, that took
|
|
-- place at ref3
|
|
|
|
Imported_Lang : Name_Id := No_Name;
|
|
Imported_Name : Name_Id := No_Name;
|
|
-- Language and name of imported entity reference
|
|
end record;
|
|
|
|
package Xref is new Table.Table (
|
|
Table_Component_Type => Xref_Record,
|
|
Table_Index_Type => Nat,
|
|
Table_Low_Bound => 1,
|
|
Table_Initial => 2000,
|
|
Table_Increment => 300,
|
|
Table_Name => "Xref");
|
|
|
|
----------------------------
|
|
-- Invocation Graph Types --
|
|
----------------------------
|
|
|
|
-- The following type identifies an invocation construct
|
|
|
|
No_Invocation_Construct : constant Invocation_Construct_Id :=
|
|
Invocation_Construct_Id'First;
|
|
First_Invocation_Construct : constant Invocation_Construct_Id :=
|
|
No_Invocation_Construct + 1;
|
|
|
|
-- The following type identifies an invocation relation
|
|
|
|
No_Invocation_Relation : constant Invocation_Relation_Id :=
|
|
Invocation_Relation_Id'First;
|
|
First_Invocation_Relation : constant Invocation_Relation_Id :=
|
|
No_Invocation_Relation + 1;
|
|
|
|
-- The following type identifies an invocation signature
|
|
|
|
No_Invocation_Signature : constant Invocation_Signature_Id :=
|
|
Invocation_Signature_Id'First;
|
|
First_Invocation_Signature : constant Invocation_Signature_Id :=
|
|
No_Invocation_Signature + 1;
|
|
|
|
-- The following type enumerates all possible placements of an invocation
|
|
-- construct's spec and body with respect to the unit it is declared in.
|
|
|
|
type Declaration_Placement_Kind is
|
|
(In_Body,
|
|
-- The declaration of the invocation construct is within the body of the
|
|
-- unit it is declared in.
|
|
|
|
In_Spec,
|
|
-- The declaration of the invocation construct is within the spec of the
|
|
-- unit it is declared in.
|
|
|
|
No_Declaration_Placement);
|
|
-- The invocation construct does not have a declaration
|
|
|
|
-- The following type enumerates all possible invocation construct kinds
|
|
|
|
type Invocation_Construct_Kind is
|
|
(Elaborate_Body_Procedure,
|
|
-- The invocation construct denotes the procedure which elaborates a
|
|
-- package body.
|
|
|
|
Elaborate_Spec_Procedure,
|
|
-- The invocation construct denotes the procedure which elaborates a
|
|
-- package spec.
|
|
|
|
Regular_Construct);
|
|
-- The invocation construct is a normal invocation construct
|
|
|
|
-- The following type enumerates all possible invocation kinds
|
|
|
|
type Invocation_Kind is
|
|
(Accept_Alternative,
|
|
Access_Taken,
|
|
Call,
|
|
Controlled_Adjustment,
|
|
Controlled_Finalization,
|
|
Controlled_Initialization,
|
|
Default_Initial_Condition_Verification,
|
|
Initial_Condition_Verification,
|
|
Instantiation,
|
|
Internal_Controlled_Adjustment,
|
|
Internal_Controlled_Finalization,
|
|
Internal_Controlled_Initialization,
|
|
Invariant_Verification,
|
|
Postcondition_Verification,
|
|
Protected_Entry_Call,
|
|
Protected_Subprogram_Call,
|
|
Task_Activation,
|
|
Task_Entry_Call,
|
|
Type_Initialization,
|
|
No_Invocation);
|
|
|
|
subtype Internal_Controlled_Invocation_Kind is Invocation_Kind range
|
|
Internal_Controlled_Adjustment ..
|
|
-- Internal_Controlled_Finalization
|
|
Internal_Controlled_Initialization;
|
|
|
|
-- The following type enumerates all possible invocation-graph ALI lines
|
|
|
|
type Invocation_Graph_Line_Kind is
|
|
(Invocation_Construct_Line,
|
|
Invocation_Graph_Attributes_Line,
|
|
Invocation_Relation_Line);
|
|
|
|
----------------------------------
|
|
-- Invocation Graph Subprograms --
|
|
----------------------------------
|
|
|
|
procedure Add_Invocation_Construct
|
|
(Body_Placement : Declaration_Placement_Kind;
|
|
Kind : Invocation_Construct_Kind;
|
|
Signature : Invocation_Signature_Id;
|
|
Spec_Placement : Declaration_Placement_Kind;
|
|
Update_Units : Boolean := True);
|
|
pragma Inline (Add_Invocation_Construct);
|
|
-- Add a new invocation construct described by its attributes. Update_Units
|
|
-- should be set when this addition must be reflected in the attributes of
|
|
-- the current unit.
|
|
|
|
procedure Add_Invocation_Relation
|
|
(Extra : Name_Id;
|
|
Invoker : Invocation_Signature_Id;
|
|
Kind : Invocation_Kind;
|
|
Target : Invocation_Signature_Id;
|
|
Update_Units : Boolean := True);
|
|
pragma Inline (Add_Invocation_Relation);
|
|
-- Add a new invocation relation described by its attributes. Update_Units
|
|
-- should be set when this addition must be reflected in the attributes of
|
|
-- the current unit.
|
|
|
|
function Body_Placement
|
|
(IC_Id : Invocation_Construct_Id) return Declaration_Placement_Kind;
|
|
pragma Inline (Body_Placement);
|
|
-- Obtain the location of invocation construct IC_Id's body with respect to
|
|
-- the unit where it is declared.
|
|
|
|
function Code_To_Declaration_Placement_Kind
|
|
(Code : Character) return Declaration_Placement_Kind;
|
|
pragma Inline (Code_To_Declaration_Placement_Kind);
|
|
-- Obtain the declaration placement kind of character encoding Code
|
|
|
|
function Code_To_Invocation_Construct_Kind
|
|
(Code : Character) return Invocation_Construct_Kind;
|
|
pragma Inline (Code_To_Invocation_Construct_Kind);
|
|
-- Obtain the invocation construct kind of character encoding Code
|
|
|
|
function Code_To_Invocation_Graph_Encoding_Kind
|
|
(Code : Character) return Invocation_Graph_Encoding_Kind;
|
|
pragma Inline (Code_To_Invocation_Graph_Encoding_Kind);
|
|
-- Obtain the invocation-graph encoding kind of character encoding Code
|
|
|
|
function Code_To_Invocation_Kind
|
|
(Code : Character) return Invocation_Kind;
|
|
pragma Inline (Code_To_Invocation_Kind);
|
|
-- Obtain the invocation kind of character encoding Code
|
|
|
|
function Code_To_Invocation_Graph_Line_Kind
|
|
(Code : Character) return Invocation_Graph_Line_Kind;
|
|
pragma Inline (Code_To_Invocation_Graph_Line_Kind);
|
|
-- Obtain the invocation-graph line kind of character encoding Code
|
|
|
|
function Column (IS_Id : Invocation_Signature_Id) return Nat;
|
|
pragma Inline (Column);
|
|
-- Obtain the column number of invocation signature IS_Id
|
|
|
|
function Declaration_Placement_Kind_To_Code
|
|
(Kind : Declaration_Placement_Kind) return Character;
|
|
pragma Inline (Declaration_Placement_Kind_To_Code);
|
|
-- Obtain the character encoding of declaration placement kind Kind
|
|
|
|
function Extra (IR_Id : Invocation_Relation_Id) return Name_Id;
|
|
pragma Inline (Extra);
|
|
-- Obtain the name of the additional entity used in error diagnostics for
|
|
-- invocation relation IR_Id.
|
|
|
|
type Invocation_Construct_Processor_Ptr is
|
|
access procedure (IC_Id : Invocation_Construct_Id);
|
|
|
|
procedure For_Each_Invocation_Construct
|
|
(Processor : Invocation_Construct_Processor_Ptr);
|
|
pragma Inline (For_Each_Invocation_Construct);
|
|
-- Invoke Processor on each invocation construct
|
|
|
|
procedure For_Each_Invocation_Construct
|
|
(U_Id : Unit_Id;
|
|
Processor : Invocation_Construct_Processor_Ptr);
|
|
pragma Inline (For_Each_Invocation_Construct);
|
|
-- Invoke Processor on each invocation construct of unit U_Id
|
|
|
|
type Invocation_Relation_Processor_Ptr is
|
|
access procedure (IR_Id : Invocation_Relation_Id);
|
|
|
|
procedure For_Each_Invocation_Relation
|
|
(Processor : Invocation_Relation_Processor_Ptr);
|
|
pragma Inline (For_Each_Invocation_Relation);
|
|
-- Invoke Processor on each invocation relation
|
|
|
|
procedure For_Each_Invocation_Relation
|
|
(U_Id : Unit_Id;
|
|
Processor : Invocation_Relation_Processor_Ptr);
|
|
pragma Inline (For_Each_Invocation_Relation);
|
|
-- Invoke Processor on each invocation relation of unit U_Id
|
|
|
|
function Invocation_Construct_Kind_To_Code
|
|
(Kind : Invocation_Construct_Kind) return Character;
|
|
pragma Inline (Invocation_Construct_Kind_To_Code);
|
|
-- Obtain the character encoding of invocation kind Kind
|
|
|
|
function Invocation_Graph_Encoding return Invocation_Graph_Encoding_Kind;
|
|
pragma Inline (Invocation_Graph_Encoding);
|
|
-- Obtain the encoding format used to capture information about the
|
|
-- invocation constructs and relations within the ALI file of the main
|
|
-- unit.
|
|
|
|
function Invocation_Graph_Encoding_Kind_To_Code
|
|
(Kind : Invocation_Graph_Encoding_Kind) return Character;
|
|
pragma Inline (Invocation_Graph_Encoding_Kind_To_Code);
|
|
-- Obtain the character encoding for invocation-graph encoding kind Kind
|
|
|
|
function Invocation_Graph_Line_Kind_To_Code
|
|
(Kind : Invocation_Graph_Line_Kind) return Character;
|
|
pragma Inline (Invocation_Graph_Line_Kind_To_Code);
|
|
-- Obtain the character encoding for invocation line kind Kind
|
|
|
|
function Invocation_Kind_To_Code
|
|
(Kind : Invocation_Kind) return Character;
|
|
pragma Inline (Invocation_Kind_To_Code);
|
|
-- Obtain the character encoding of invocation kind Kind
|
|
|
|
function Invocation_Signature_Of
|
|
(Column : Nat;
|
|
Line : Nat;
|
|
Locations : Name_Id;
|
|
Name : Name_Id;
|
|
Scope : Name_Id) return Invocation_Signature_Id;
|
|
pragma Inline (Invocation_Signature_Of);
|
|
-- Obtain the invocation signature that corresponds to the input attributes
|
|
|
|
function Invoker
|
|
(IR_Id : Invocation_Relation_Id) return Invocation_Signature_Id;
|
|
pragma Inline (Invoker);
|
|
-- Obtain the signature of the invocation relation IR_Id's invoker
|
|
|
|
function Kind
|
|
(IC_Id : Invocation_Construct_Id) return Invocation_Construct_Kind;
|
|
pragma Inline (Kind);
|
|
-- Obtain the nature of invocation construct IC_Id
|
|
|
|
function Kind
|
|
(IR_Id : Invocation_Relation_Id) return Invocation_Kind;
|
|
pragma Inline (Kind);
|
|
-- Obtain the nature of invocation relation IR_Id
|
|
|
|
function Line (IS_Id : Invocation_Signature_Id) return Nat;
|
|
pragma Inline (Line);
|
|
-- Obtain the line number of invocation signature IS_Id
|
|
|
|
function Locations (IS_Id : Invocation_Signature_Id) return Name_Id;
|
|
pragma Inline (Locations);
|
|
-- Obtain the sequence of column and line numbers within nested instances
|
|
-- of invocation signature IS_Id
|
|
|
|
function Name (IS_Id : Invocation_Signature_Id) return Name_Id;
|
|
pragma Inline (Name);
|
|
-- Obtain the name of invocation signature IS_Id
|
|
|
|
function Scope (IS_Id : Invocation_Signature_Id) return Name_Id;
|
|
pragma Inline (Scope);
|
|
-- Obtain the scope of invocation signature IS_Id
|
|
|
|
procedure Set_Invocation_Graph_Encoding
|
|
(Kind : Invocation_Graph_Encoding_Kind;
|
|
Update_Units : Boolean := True);
|
|
pragma Inline (Set_Invocation_Graph_Encoding);
|
|
-- Set the encoding format used to capture information about the invocation
|
|
-- constructs and relations within the ALI file of the main unit to Kind.
|
|
-- Update_Units should be set when this action must be reflected in the
|
|
-- attributes of the current unit.
|
|
|
|
function Signature
|
|
(IC_Id : Invocation_Construct_Id) return Invocation_Signature_Id;
|
|
pragma Inline (Signature);
|
|
-- Obtain the signature of invocation construct IC_Id
|
|
|
|
function Spec_Placement
|
|
(IC_Id : Invocation_Construct_Id) return Declaration_Placement_Kind;
|
|
pragma Inline (Spec_Placement);
|
|
-- Obtain the location of invocation construct IC_Id's spec with respect to
|
|
-- the unit where it is declared.
|
|
|
|
function Target
|
|
(IR_Id : Invocation_Relation_Id) return Invocation_Signature_Id;
|
|
pragma Inline (Target);
|
|
-- Obtain the signature of the invocation relation IR_Id's target
|
|
|
|
--------------------------------------
|
|
-- Subprograms for Reading ALI File --
|
|
--------------------------------------
|
|
|
|
procedure Initialize_ALI;
|
|
-- Initialize the ALI tables. Also resets all switch values to defaults
|
|
|
|
function Scan_ALI
|
|
(F : File_Name_Type;
|
|
T : Text_Buffer_Ptr;
|
|
Ignore_ED : Boolean;
|
|
Err : Boolean;
|
|
Read_Xref : Boolean := False;
|
|
Read_Lines : String := "";
|
|
Ignore_Lines : String := "X";
|
|
Ignore_Errors : Boolean := False;
|
|
Directly_Scanned : Boolean := False) return ALI_Id;
|
|
-- Given the text, T, of an ALI file, F, scan and store the information
|
|
-- from the file, and return the Id of the resulting entry in the ALI
|
|
-- table. Switch settings may be modified as described above in the
|
|
-- switch description settings.
|
|
--
|
|
-- Ignore_ED is normally False. If set to True, it indicates that
|
|
-- all AD/ED (elaboration desirable) indications in the ALI file are
|
|
-- to be ignored. This parameter is obsolete now that the -f switch
|
|
-- is removed from gnatbind, and should be removed ???
|
|
--
|
|
-- Err determines the action taken on an incorrectly formatted file.
|
|
-- If Err is False, then an error message is output, and the program
|
|
-- is terminated. If Err is True, then no error message is output,
|
|
-- and No_ALI_Id is returned.
|
|
--
|
|
-- Ignore_Lines requests that Scan_ALI ignore any lines that start
|
|
-- with any given key character. The default value of X causes all
|
|
-- Xref lines to be ignored. The corresponding data in the ALI
|
|
-- tables will not be filled in this case. It is not possible
|
|
-- to ignore U (unit) lines, they are always read.
|
|
--
|
|
-- Read_Lines requests that Scan_ALI process only lines that start
|
|
-- with one of the given characters. The corresponding data in the
|
|
-- ALI file for any characters not given in the list will not be
|
|
-- set. The default value of the null string indicates that all
|
|
-- lines should be read (unless Ignore_Lines is specified). U
|
|
-- (unit) lines are always read regardless of the value of this
|
|
-- parameter.
|
|
--
|
|
-- Note: either Ignore_Lines or Read_Lines should be non-null, but not
|
|
-- both. If both are provided then only the Read_Lines value is used,
|
|
-- and the Ignore_Lines parameter is ignored.
|
|
--
|
|
-- Read_Xref is set True to read and acquire the cross-reference
|
|
-- information. If Read_XREF is set to True, then the effect is to ignore
|
|
-- all lines other than U, W, D and X lines and the Ignore_Lines and
|
|
-- Read_Lines parameters are ignored (i.e. the use of True for Read_XREF
|
|
-- is equivalent to specifying an argument of "UWDX" for Read_Lines.
|
|
--
|
|
-- Ignore_Errors is normally False. If it is set True, then Scan_ALI
|
|
-- will do its best to scan through a file and extract all information
|
|
-- it can, even if there are errors. In this case Err is only set if
|
|
-- Scan_ALI was completely unable to process the file (e.g. it did not
|
|
-- look like an ALI file at all). Ignore_Errors is intended to improve
|
|
-- the downward compatibility of new compilers with old tools.
|
|
--
|
|
-- Directly_Scanned is normally False. If it is set to True, then the
|
|
-- units (spec and/or body) corresponding to the ALI file are marked as
|
|
-- such. It is used to decide for what units gnatbind should generate
|
|
-- the symbols corresponding to 'Version or 'Body_Version in
|
|
-- Stand-Alone Libraries.
|
|
|
|
end ALI;
|