aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_ch10.adb
AgeCommit message (Collapse)AuthorFilesLines
2020-10-15[Ada] Spurious visibility on private with packageArnaud Charlet1-6/+8
gcc/ada/ * sem_ch10.adb (Install_With_Clause): Fix implementation of Ada 2005 AI-262 by taking into account generic packages. Minor reformatting. * libgnat/a-cbhase.ads, libgnat/a-cbhase.adb: Remove use clause on runtime unit spec.
2020-07-27[Ada] Use membership tests in front-endArnaud Charlet1-80/+72
gcc/ada/ * aspects.adb, atree.adb, atree.ads, checks.adb, contracts.adb, einfo.adb, errout.adb, exp_aggr.adb, exp_attr.adb, exp_cg.adb, exp_ch11.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb, exp_ch9.adb, exp_dbug.adb, exp_disp.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb, exp_put_image.adb, exp_smem.adb, exp_tss.adb, exp_unst.adb, exp_util.adb, freeze.adb, ghost.adb, gnat1drv.adb, inline.adb, lib-writ.adb, lib-xref-spark_specific.adb, lib-xref.adb, namet.adb, namet.ads, nlists.adb, par-ch10.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par-prag.adb, par-util.adb, par_sco.adb, pprint.adb, repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb, sem.adb, sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_dim.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb, sem_scil.adb, sem_type.adb, sem_util.adb, sem_warn.adb, sinfo.adb, sinfo.ads, sprint.adb, styleg.adb, tbuild.adb, treepr.adb (Nkind_In, Nam_In, Ekind_In): Removed, replaced by membership tests.
2020-07-07[Ada] Use Is_Generic_Subprogram where possiblePiotr Trojanek1-1/+1
gcc/ada/ * einfo.adb, sem_ch10.adb, sem_ch12.adb, sem_ch8.adb: Use Is_Generic_Subprogram.
2020-06-17[Ada] ACATS 4.1H - BA12018 - Missed errors for private withArnaud Charlet1-4/+8
2020-06-17 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * sem_ch10.adb (Expand_With_Clause): Add missing handling of N_Generic_Subprogram_Declaration, N_Subprogram_Declaration, N_Subprogram_Body.
2020-06-12[Ada] Enable Put_Image in pre-Ada-2020 modesBob Duff1-10/+1
2020-06-12 Bob Duff <duff@adacore.com> gcc/ada/ * exp_attr.adb (Put_Image): Remove assertion. This assertion is False in mixed-Ada-version programs. * exp_put_image.adb (Tagged_Put_Image_Enabled): New flag to make it easy to experiment with Put_Image on tagged types. False in this version. (Enable_Put_Image): Enable in pre-2020. Workarounds: Disable for tagged types if Tagged_Put_Image_Enabled is False. Disable for access-to-subprogram types. Disable if errors have been detected, or Sink is unavailable. (Preload_Sink): Move all conditionals here, from Sem_Ch10, so they can be nearby related code in Enable_Put_Image. Load Sink only if we have seen a tagged type. This removes the dilemma about calling Preload_Sink when compiling the compiler, which caused unwanted dependences. * exp_put_image.ads (Preload_Sink): New formal Compilation_Unit, needed to move all conditionals here, from Sem_Ch10. * libgnat/a-stouut.adb (Put_UTF_8): Make this suitable for inlining, so we don't get warnings about inlining in some tests. And so it can be inlined! * opt.ads (Tagged_Seen): New flag (see Preload_Sink). * scng.adb (Scan): Set new Tagged_Seen flag. * sem_ch10.adb (Analyze_Compilation_Unit): Move conditionals and comments regarding Preload_Sink into Preload_Sink.
2020-06-12[Ada] Put_Image: preload type Sink, change what types have it enabledBob Duff1-0/+12
2020-06-12 Bob Duff <duff@adacore.com> gcc/ada/ * exp_put_image.ads, exp_put_image.adb (Preload_Sink): Procedure for preloading type Sink. This has the side effect of loading various dependents, including Ada.Strings.UTF_Encoding. (Enable_Put_Image): Disable Put_Image in pre-2020 versions of Ada. This limitation can probably be lifted later. Enable for tagged types except in predefined units. Disable for CPP types; Put_Image is legal, just prints the type name. * sem_attr.adb (Check_Put_Image_Attribute): Don't complain about Put_Image of CPP types; instead call the "unknown" version of Put_Image. * sem_ch10.adb (Analyze_Compilation_Unit): Call Preload_Sink.
2020-06-10[Ada] Remove more references to ASISArnaud Charlet1-2/+1
2020-06-10 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * atree.adb, contracts.adb, debug.adb, freeze.adb, repinfo-input.adb, repinfo.adb, sem_attr.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_disp.adb, sem_eval.adb, sem_prag.adb: Remove more references to ASIS.
2020-06-05[Ada] Minor wording changes wrt Ada 202xArnaud Charlet1-1/+1
2020-06-05 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * par-ch3.adb, par-ch4.adb, scng.adb, sem_aggr.adb, sem_ch10.adb, sem_ch12.adb, sem_prag.adb: Update wording: change Ada_2020 to Ada 2020 in comments and mention -gnat2020 instead of -gnatX switch.
2020-06-03[Ada] Spurious ineffective with clause warnings on use type clauseJustin Squirek1-7/+18
2020-06-03 Justin Squirek <squirek@adacore.com> gcc/ada/ * sem_ch10.adb (Process_Body_Clauses): Add loop to interate through all prefixes in a use_type clause so that all packages in the expanded name get examined for effectiveness.
2020-06-02[Ada] Remove ASIS_ModeArnaud Charlet1-33/+12
2020-06-02 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * atree.ads, checks.adb, contracts.adb, debug.adb, einfo.ads, exp_ch3.adb, exp_util.adb, expander.ads, expander.adb, frontend.adb, gnat1drv.adb, itypes.adb, lib.ads, namet.ads, opt.adb, opt.ads, par-prag.adb, repinfo.ads, sem_aggr.adb, sem_aux.ads, sem_case.ads, sem_ch10.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_dim.adb, sem_elab.adb, sem_prag.adb, sem_prag.ads, sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, stand.ads, tree_io.ads: Remove references to ASIS_Mode.
2020-06-02[Ada] Bump copyright yearArnaud Charlet1-1/+1
2020-06-02 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * ada_get_targ.adb: Bump copyright year. * adabkend.adb: Likewise. * adabkend.ads: Likewise. * adadecode.c: Likewise. * adadecode.h: Likewise. * adaint.c: Likewise. * adaint.h: Likewise. * affinity.c: Likewise. * ali-util.adb: Likewise. * ali-util.ads: Likewise. * ali.adb: Likewise. * ali.ads: Likewise. * alloc.ads: Likewise. * argv-lynxos178-raven-cert.c: Likewise. * argv.c: Likewise. * aspects.adb: Likewise. * aspects.ads: Likewise. * atree.adb: Likewise. * atree.ads: Likewise. * atree.h: Likewise. * aux-io.c: Likewise. * back_end.adb: Likewise. * back_end.ads: Likewise. * bcheck.adb: Likewise. * bcheck.ads: Likewise. * binde.adb: Likewise. * binde.ads: Likewise. * binderr.adb: Likewise. * binderr.ads: Likewise. * bindgen.adb: Likewise. * bindgen.ads: Likewise. * bindo-augmentors.adb: Likewise. * bindo-augmentors.ads: Likewise. * bindo-builders.adb: Likewise. * bindo-builders.ads: Likewise. * bindo-diagnostics.adb: Likewise. * bindo-diagnostics.ads: Likewise. * bindo-elaborators.adb: Likewise. * bindo-elaborators.ads: Likewise. * bindo-graphs.adb: Likewise. * bindo-graphs.ads: Likewise. * bindo-units.adb: Likewise. * bindo-units.ads: Likewise. * bindo-validators.adb: Likewise. * bindo-validators.ads: Likewise. * bindo-writers.adb: Likewise. * bindo-writers.ads: Likewise. * bindo.adb: Likewise. * bindo.ads: Likewise. * bindusg.adb: Likewise. * bindusg.ads: Likewise. * butil.adb: Likewise. * butil.ads: Likewise. * cal.c: Likewise. * casing.adb: Likewise. * casing.ads: Likewise. * ceinfo.adb: Likewise. * checks.adb: Likewise. * checks.ads: Likewise. * cio.c: Likewise. * clean.adb: Likewise. * clean.ads: Likewise. * comperr.adb: Likewise. * comperr.ads: Likewise. * contracts.adb: Likewise. * contracts.ads: Likewise. * csets.adb: Likewise. * csets.ads: Likewise. * csinfo.adb: Likewise. * cstand.adb: Likewise. * cstand.ads: Likewise. * cstreams.c: Likewise. * ctrl_c.c: Likewise. * debug.adb: Likewise. * debug.ads: Likewise. * debug_a.adb: Likewise. * debug_a.ads: Likewise. * einfo.adb: Likewise. * einfo.ads: Likewise. * elists.adb: Likewise. * elists.ads: Likewise. * elists.h: Likewise. * env.c: Likewise. * env.h: Likewise. * err_vars.ads: Likewise. * errno.c: Likewise. * errout.adb: Likewise. * errout.ads: Likewise. * erroutc.adb: Likewise. * erroutc.ads: Likewise. * errutil.adb: Likewise. * errutil.ads: Likewise. * eval_fat.adb: Likewise. * eval_fat.ads: Likewise. * exit.c: Likewise. * exp_aggr.adb: Likewise. * exp_aggr.ads: Likewise. * exp_atag.adb: Likewise. * exp_atag.ads: Likewise. * exp_attr.adb: Likewise. * exp_attr.ads: Likewise. * exp_cg.adb: Likewise. * exp_cg.ads: Likewise. * exp_ch10.ads: Likewise. * exp_ch11.adb: Likewise. * exp_ch11.ads: Likewise. * exp_ch12.adb: Likewise. * exp_ch12.ads: Likewise. * exp_ch13.adb: Likewise. * exp_ch13.ads: Likewise. * exp_ch2.adb: Likewise. * exp_ch2.ads: Likewise. * exp_ch3.adb: Likewise. * exp_ch3.ads: Likewise. * exp_ch4.adb: Likewise. * exp_ch4.ads: Likewise. * exp_ch5.adb: Likewise. * exp_ch5.ads: Likewise. * exp_ch6.adb: Likewise. * exp_ch6.ads: Likewise. * exp_ch7.adb: Likewise. * exp_ch7.ads: Likewise. * exp_ch8.adb: Likewise. * exp_ch8.ads: Likewise. * exp_ch9.adb: Likewise. * exp_ch9.ads: Likewise. * exp_code.adb: Likewise. * exp_code.ads: Likewise. * exp_dbug.adb: Likewise. * exp_dbug.ads: Likewise. * exp_disp.adb: Likewise. * exp_disp.ads: Likewise. * exp_dist.adb: Likewise. * exp_dist.ads: Likewise. * exp_fixd.adb: Likewise. * exp_fixd.ads: Likewise. * exp_imgv.adb: Likewise. * exp_imgv.ads: Likewise. * exp_intr.adb: Likewise. * exp_intr.ads: Likewise. * exp_pakd.adb: Likewise. * exp_pakd.ads: Likewise. * exp_prag.adb: Likewise. * exp_prag.ads: Likewise. * exp_sel.adb: Likewise. * exp_sel.ads: Likewise. * exp_smem.adb: Likewise. * exp_smem.ads: Likewise. * exp_spark.adb: Likewise. * exp_spark.ads: Likewise. * exp_strm.adb: Likewise. * exp_strm.ads: Likewise. * exp_tss.adb: Likewise. * exp_tss.ads: Likewise. * exp_unst.adb: Likewise. * exp_unst.ads: Likewise. * exp_util.adb: Likewise. * exp_util.ads: Likewise. * expander.adb: Likewise. * expander.ads: Likewise. * expect.c: Likewise. * fe.h: Likewise. * final.c: Likewise. * fmap.adb: Likewise. * fmap.ads: Likewise. * fname-sf.adb: Likewise. * fname-sf.ads: Likewise. * fname-uf.adb: Likewise. * fname-uf.ads: Likewise. * fname.adb: Likewise. * fname.ads: Likewise. * freeze.adb: Likewise. * freeze.ads: Likewise. * frontend.adb: Likewise. * frontend.ads: Likewise. * get_scos.adb: Likewise. * get_scos.ads: Likewise. * get_targ.adb: Likewise. * get_targ.ads: Likewise. * ghost.adb: Likewise. * ghost.ads: Likewise. * gnat1drv.adb: Likewise. * gnat1drv.ads: Likewise. * gnatbind.adb: Likewise. * gnatbind.ads: Likewise. * gnatchop.adb: Likewise. * gnatclean.adb: Likewise. * gnatcmd.adb: Likewise. * gnatcmd.ads: Likewise. * gnatdll.adb: Likewise. * gnatfind.adb: Likewise. * gnatkr.adb: Likewise. * gnatkr.ads: Likewise. * gnatlink.adb: Likewise. * gnatlink.ads: Likewise. * gnatls.adb: Likewise. * gnatls.ads: Likewise. * gnatmake.adb: Likewise. * gnatmake.ads: Likewise. * gnatname.adb: Likewise. * gnatname.ads: Likewise. * gnatprep.adb: Likewise. * gnatprep.ads: Likewise. * gnatvsn.adb: Likewise. * gnatxref.adb: Likewise. * gprep.adb: Likewise. * gprep.ads: Likewise. * gsocket.h: Likewise. * hostparm.ads: Likewise. * impunit.adb: Likewise. * impunit.ads: Likewise. * indepsw-aix.adb: Likewise. * indepsw-darwin.adb: Likewise. * indepsw-gnu.adb: Likewise. * indepsw.adb: Likewise. * indepsw.ads: Likewise. * init.c: Likewise. * initialize.c: Likewise. * inline.adb: Likewise. * inline.ads: Likewise. * itypes.adb: Likewise. * itypes.ads: Likewise. * krunch.adb: Likewise. * krunch.ads: Likewise. * layout.adb: Likewise. * layout.ads: Likewise. * lib-list.adb: Likewise. * lib-load.adb: Likewise. * lib-load.ads: Likewise. * lib-sort.adb: Likewise. * lib-util.adb: Likewise. * lib-util.ads: Likewise. * lib-writ.adb: Likewise. * lib-writ.ads: Likewise. * lib-xref-spark_specific.adb: Likewise. * lib-xref.adb: Likewise. * lib-xref.ads: Likewise. * lib.adb: Likewise. * lib.ads: Likewise. * libgnarl/a-astaco.adb: Likewise. * libgnarl/a-dispat.adb: Likewise. * libgnarl/a-dynpri.adb: Likewise. * libgnarl/a-etgrbu.ads: Likewise. * libgnarl/a-exetim__darwin.adb: Likewise. * libgnarl/a-exetim__default.ads: Likewise. * libgnarl/a-exetim__mingw.adb: Likewise. * libgnarl/a-exetim__mingw.ads: Likewise. * libgnarl/a-exetim__posix.adb: Likewise. * libgnarl/a-interr.adb: Likewise. * libgnarl/a-interr.ads: Likewise. * libgnarl/a-intnam.ads: Likewise. * libgnarl/a-intnam__aix.ads: Likewise. * libgnarl/a-intnam__darwin.ads: Likewise. * libgnarl/a-intnam__dragonfly.ads: Likewise. * libgnarl/a-intnam__dummy.ads: Likewise. * libgnarl/a-intnam__freebsd.ads: Likewise. * libgnarl/a-intnam__hpux.ads: Likewise. * libgnarl/a-intnam__linux.ads: Likewise. * libgnarl/a-intnam__lynxos.ads: Likewise. * libgnarl/a-intnam__mingw.ads: Likewise. * libgnarl/a-intnam__qnx.ads: Likewise. * libgnarl/a-intnam__rtems.ads: Likewise. * libgnarl/a-intnam__solaris.ads: Likewise. * libgnarl/a-intnam__vxworks.ads: Likewise. * libgnarl/a-reatim.adb: Likewise. * libgnarl/a-reatim.ads: Likewise. * libgnarl/a-retide.adb: Likewise. * libgnarl/a-retide.ads: Likewise. * libgnarl/a-rttiev.adb: Likewise. * libgnarl/a-rttiev.ads: Likewise. * libgnarl/a-synbar.adb: Likewise. * libgnarl/a-synbar.ads: Likewise. * libgnarl/a-synbar__posix.adb: Likewise. * libgnarl/a-synbar__posix.ads: Likewise. * libgnarl/a-sytaco.adb: Likewise. * libgnarl/a-sytaco.ads: Likewise. * libgnarl/a-tasatt.adb: Likewise. * libgnarl/a-tasatt.ads: Likewise. * libgnarl/a-taside.adb: Likewise. * libgnarl/a-taside.ads: Likewise. * libgnarl/a-taster.adb: Likewise. * libgnarl/g-boubuf.adb: Likewise. * libgnarl/g-boubuf.ads: Likewise. * libgnarl/g-boumai.ads: Likewise. * libgnarl/g-semaph.adb: Likewise. * libgnarl/g-semaph.ads: Likewise. * libgnarl/g-signal.adb: Likewise. * libgnarl/g-signal.ads: Likewise. * libgnarl/g-tastus.ads: Likewise. * libgnarl/g-thread.adb: Likewise. * libgnarl/g-thread.ads: Likewise. * libgnarl/i-vxinco.adb: Likewise. * libgnarl/i-vxinco.ads: Likewise. * libgnarl/s-inmaop.ads: Likewise. * libgnarl/s-inmaop__dummy.adb: Likewise. * libgnarl/s-inmaop__posix.adb: Likewise. * libgnarl/s-inmaop__vxworks.adb: Likewise. * libgnarl/s-interr.adb: Likewise. * libgnarl/s-interr.ads: Likewise. * libgnarl/s-interr__dummy.adb: Likewise. * libgnarl/s-interr__hwint.adb: Likewise. * libgnarl/s-interr__sigaction.adb: Likewise. * libgnarl/s-interr__vxworks.adb: Likewise. * libgnarl/s-intman.ads: Likewise. * libgnarl/s-intman__android.adb: Likewise. * libgnarl/s-intman__dummy.adb: Likewise. * libgnarl/s-intman__lynxos.adb: Likewise. * libgnarl/s-intman__mingw.adb: Likewise. * libgnarl/s-intman__posix.adb: Likewise. * libgnarl/s-intman__qnx.adb: Likewise. * libgnarl/s-intman__solaris.adb: Likewise. * libgnarl/s-intman__susv3.adb: Likewise. * libgnarl/s-intman__vxworks.adb: Likewise. * libgnarl/s-intman__vxworks.ads: Likewise. * libgnarl/s-linux.ads: Likewise. * libgnarl/s-linux__alpha.ads: Likewise. * libgnarl/s-linux__android.ads: Likewise. * libgnarl/s-linux__hppa.ads: Likewise. * libgnarl/s-linux__mips.ads: Likewise. * libgnarl/s-linux__riscv.ads: Likewise. * libgnarl/s-linux__sparc.ads: Likewise. * libgnarl/s-linux__x32.ads: Likewise. * libgnarl/s-mudido.adb: Likewise. * libgnarl/s-mudido__affinity.adb: Likewise. * libgnarl/s-osinte__aix.adb: Likewise. * libgnarl/s-osinte__aix.ads: Likewise. * libgnarl/s-osinte__android.adb: Likewise. * libgnarl/s-osinte__android.ads: Likewise. * libgnarl/s-osinte__darwin.adb: Likewise. * libgnarl/s-osinte__darwin.ads: Likewise. * libgnarl/s-osinte__dragonfly.adb: Likewise. * libgnarl/s-osinte__dragonfly.ads: Likewise. * libgnarl/s-osinte__dummy.ads: Likewise. * libgnarl/s-osinte__freebsd.adb: Likewise. * libgnarl/s-osinte__freebsd.ads: Likewise. * libgnarl/s-osinte__gnu.adb: Likewise. * libgnarl/s-osinte__gnu.ads: Likewise. * libgnarl/s-osinte__hpux-dce.adb: Likewise. * libgnarl/s-osinte__hpux-dce.ads: Likewise. * libgnarl/s-osinte__hpux.ads: Likewise. * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise. * libgnarl/s-osinte__linux.ads: Likewise. * libgnarl/s-osinte__lynxos178.adb: Likewise. * libgnarl/s-osinte__lynxos178e.ads: Likewise. * libgnarl/s-osinte__mingw.ads: Likewise. * libgnarl/s-osinte__posix.adb: Likewise. * libgnarl/s-osinte__qnx.adb: Likewise. * libgnarl/s-osinte__qnx.ads: Likewise. * libgnarl/s-osinte__rtems.adb: Likewise. * libgnarl/s-osinte__rtems.ads: Likewise. * libgnarl/s-osinte__solaris.adb: Likewise. * libgnarl/s-osinte__solaris.ads: Likewise. * libgnarl/s-osinte__vxworks.adb: Likewise. * libgnarl/s-osinte__vxworks.ads: Likewise. * libgnarl/s-osinte__x32.adb: Likewise. * libgnarl/s-proinf.adb: Likewise. * libgnarl/s-proinf.ads: Likewise. * libgnarl/s-qnx.ads: Likewise. * libgnarl/s-solita.adb: Likewise. * libgnarl/s-solita.ads: Likewise. * libgnarl/s-stusta.adb: Likewise. * libgnarl/s-stusta.ads: Likewise. * libgnarl/s-taasde.adb: Likewise. * libgnarl/s-taasde.ads: Likewise. * libgnarl/s-tadeca.adb: Likewise. * libgnarl/s-tadeca.ads: Likewise. * libgnarl/s-tadert.adb: Likewise. * libgnarl/s-tadert.ads: Likewise. * libgnarl/s-taenca.adb: Likewise. * libgnarl/s-taenca.ads: Likewise. * libgnarl/s-taprob.adb: Likewise. * libgnarl/s-taprob.ads: Likewise. * libgnarl/s-taprop.ads: Likewise. * libgnarl/s-taprop__dummy.adb: Likewise. * libgnarl/s-taprop__hpux-dce.adb: Likewise. * libgnarl/s-taprop__linux.adb: Likewise. * libgnarl/s-taprop__mingw.adb: Likewise. * libgnarl/s-taprop__posix.adb: Likewise. * libgnarl/s-taprop__qnx.adb: Likewise. * libgnarl/s-taprop__solaris.adb: Likewise. * libgnarl/s-taprop__vxworks.adb: Likewise. * libgnarl/s-tarest.adb: Likewise. * libgnarl/s-tarest.ads: Likewise. * libgnarl/s-tasdeb.adb: Likewise. * libgnarl/s-tasdeb.ads: Likewise. * libgnarl/s-tasinf.adb: Likewise. * libgnarl/s-tasinf.ads: Likewise. * libgnarl/s-tasinf__linux.adb: Likewise. * libgnarl/s-tasinf__linux.ads: Likewise. * libgnarl/s-tasinf__mingw.adb: Likewise. * libgnarl/s-tasinf__mingw.ads: Likewise. * libgnarl/s-tasinf__solaris.adb: Likewise. * libgnarl/s-tasinf__solaris.ads: Likewise. * libgnarl/s-tasinf__vxworks.ads: Likewise. * libgnarl/s-tasini.adb: Likewise. * libgnarl/s-tasini.ads: Likewise. * libgnarl/s-taskin.adb: Likewise. * libgnarl/s-taskin.ads: Likewise. * libgnarl/s-taspri__dummy.ads: Likewise. * libgnarl/s-taspri__hpux-dce.ads: Likewise. * libgnarl/s-taspri__lynxos.ads: Likewise. * libgnarl/s-taspri__mingw.ads: Likewise. * libgnarl/s-taspri__posix-noaltstack.ads: Likewise. * libgnarl/s-taspri__posix.ads: Likewise. * libgnarl/s-taspri__solaris.ads: Likewise. * libgnarl/s-taspri__vxworks.ads: Likewise. * libgnarl/s-tasque.adb: Likewise. * libgnarl/s-tasque.ads: Likewise. * libgnarl/s-tasren.adb: Likewise. * libgnarl/s-tasren.ads: Likewise. * libgnarl/s-tasres.ads: Likewise. * libgnarl/s-tassta.adb: Likewise. * libgnarl/s-tassta.ads: Likewise. * libgnarl/s-tasuti.adb: Likewise. * libgnarl/s-tasuti.ads: Likewise. * libgnarl/s-tataat.adb: Likewise. * libgnarl/s-tataat.ads: Likewise. * libgnarl/s-tpinop.adb: Likewise. * libgnarl/s-tpinop.ads: Likewise. * libgnarl/s-tpoaal.adb: Likewise. * libgnarl/s-tpoben.adb: Likewise. * libgnarl/s-tpoben.ads: Likewise. * libgnarl/s-tpobmu.adb: Likewise. * libgnarl/s-tpobmu.ads: Likewise. * libgnarl/s-tpobop.adb: Likewise. * libgnarl/s-tpobop.ads: Likewise. * libgnarl/s-tpopmo.adb: Likewise. * libgnarl/s-tpopsp__posix-foreign.adb: Likewise. * libgnarl/s-tpopsp__posix.adb: Likewise. * libgnarl/s-tpopsp__solaris.adb: Likewise. * libgnarl/s-tpopsp__tls.adb: Likewise. * libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise. * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise. * libgnarl/s-tpopsp__vxworks.adb: Likewise. * libgnarl/s-tporft.adb: Likewise. * libgnarl/s-tposen.adb: Likewise. * libgnarl/s-tposen.ads: Likewise. * libgnarl/s-vxwext.adb: Likewise. * libgnarl/s-vxwext.ads: Likewise. * libgnarl/s-vxwext__kernel-smp.adb: Likewise. * libgnarl/s-vxwext__kernel.adb: Likewise. * libgnarl/s-vxwext__kernel.ads: Likewise. * libgnarl/s-vxwext__noints.adb: Likewise. * libgnarl/s-vxwext__rtp-smp.adb: Likewise. * libgnarl/s-vxwext__rtp.adb: Likewise. * libgnarl/s-vxwext__rtp.ads: Likewise. * libgnarl/s-vxwext__vthreads.ads: Likewise. * libgnarl/s-vxwork__aarch64.ads: Likewise. * libgnarl/s-vxwork__arm.ads: Likewise. * libgnarl/s-vxwork__ppc.ads: Likewise. * libgnarl/s-vxwork__x86.ads: Likewise. * libgnarl/thread.c: Likewise. * libgnat/a-assert.adb: Likewise. * libgnat/a-assert.ads: Likewise. * libgnat/a-btgbso.adb: Likewise. * libgnat/a-btgbso.ads: Likewise. * libgnat/a-calari.adb: Likewise. * libgnat/a-calari.ads: Likewise. * libgnat/a-calcon.adb: Likewise. * libgnat/a-calcon.ads: Likewise. * libgnat/a-caldel.adb: Likewise. * libgnat/a-caldel.ads: Likewise. * libgnat/a-calend.adb: Likewise. * libgnat/a-calend.ads: Likewise. * libgnat/a-calfor.adb: Likewise. * libgnat/a-calfor.ads: Likewise. * libgnat/a-catizo.adb: Likewise. * libgnat/a-cbdlli.adb: Likewise. * libgnat/a-cbdlli.ads: Likewise. * libgnat/a-cbhama.adb: Likewise. * libgnat/a-cbhama.ads: Likewise. * libgnat/a-cbhase.adb: Likewise. * libgnat/a-cbhase.ads: Likewise. * libgnat/a-cbmutr.adb: Likewise. * libgnat/a-cbmutr.ads: Likewise. * libgnat/a-cborma.adb: Likewise. * libgnat/a-cborma.ads: Likewise. * libgnat/a-cborse.adb: Likewise. * libgnat/a-cborse.ads: Likewise. * libgnat/a-cbprqu.adb: Likewise. * libgnat/a-cbprqu.ads: Likewise. * libgnat/a-cbsyqu.adb: Likewise. * libgnat/a-cbsyqu.ads: Likewise. * libgnat/a-cdlili.adb: Likewise. * libgnat/a-cdlili.ads: Likewise. * libgnat/a-cfdlli.adb: Likewise. * libgnat/a-cfdlli.ads: Likewise. * libgnat/a-cfhama.adb: Likewise. * libgnat/a-cfhama.ads: Likewise. * libgnat/a-cfhase.adb: Likewise. * libgnat/a-cfhase.ads: Likewise. * libgnat/a-cfinve.adb: Likewise. * libgnat/a-cfinve.ads: Likewise. * libgnat/a-cforma.adb: Likewise. * libgnat/a-cforma.ads: Likewise. * libgnat/a-cforse.adb: Likewise. * libgnat/a-cforse.ads: Likewise. * libgnat/a-cgaaso.adb: Likewise. * libgnat/a-cgaaso.ads: Likewise. * libgnat/a-cgarso.adb: Likewise. * libgnat/a-cgcaso.adb: Likewise. * libgnat/a-chacon.adb: Likewise. * libgnat/a-chacon.ads: Likewise. * libgnat/a-chahan.adb: Likewise. * libgnat/a-chahan.ads: Likewise. * libgnat/a-chlat9.ads: Likewise. * libgnat/a-chtgbk.adb: Likewise. * libgnat/a-chtgbk.ads: Likewise. * libgnat/a-chtgbo.adb: Likewise. * libgnat/a-chtgbo.ads: Likewise. * libgnat/a-chtgke.adb: Likewise. * libgnat/a-chtgke.ads: Likewise. * libgnat/a-chtgop.adb: Likewise. * libgnat/a-chtgop.ads: Likewise. * libgnat/a-chzla1.ads: Likewise. * libgnat/a-chzla9.ads: Likewise. * libgnat/a-cidlli.adb: Likewise. * libgnat/a-cidlli.ads: Likewise. * libgnat/a-cihama.adb: Likewise. * libgnat/a-cihama.ads: Likewise. * libgnat/a-cihase.adb: Likewise. * libgnat/a-cihase.ads: Likewise. * libgnat/a-cimutr.adb: Likewise. * libgnat/a-cimutr.ads: Likewise. * libgnat/a-ciorma.adb: Likewise. * libgnat/a-ciorma.ads: Likewise. * libgnat/a-ciormu.adb: Likewise. * libgnat/a-ciormu.ads: Likewise. * libgnat/a-ciorse.adb: Likewise. * libgnat/a-ciorse.ads: Likewise. * libgnat/a-clrefi.adb: Likewise. * libgnat/a-clrefi.ads: Likewise. * libgnat/a-coboho.adb: Likewise. * libgnat/a-coboho.ads: Likewise. * libgnat/a-cobove.adb: Likewise. * libgnat/a-cobove.ads: Likewise. * libgnat/a-cofove.adb: Likewise. * libgnat/a-cofove.ads: Likewise. * libgnat/a-cofuba.adb: Likewise. * libgnat/a-cofuba.ads: Likewise. * libgnat/a-cofuma.adb: Likewise. * libgnat/a-cofuma.ads: Likewise. * libgnat/a-cofuse.adb: Likewise. * libgnat/a-cofuse.ads: Likewise. * libgnat/a-cofuve.adb: Likewise. * libgnat/a-cofuve.ads: Likewise. * libgnat/a-cogeso.adb: Likewise. * libgnat/a-cogeso.ads: Likewise. * libgnat/a-cohama.adb: Likewise. * libgnat/a-cohama.ads: Likewise. * libgnat/a-cohase.adb: Likewise. * libgnat/a-cohase.ads: Likewise. * libgnat/a-cohata.ads: Likewise. * libgnat/a-coinho.adb: Likewise. * libgnat/a-coinho.ads: Likewise. * libgnat/a-coinho__shared.adb: Likewise. * libgnat/a-coinho__shared.ads: Likewise. * libgnat/a-coinve.adb: Likewise. * libgnat/a-coinve.ads: Likewise. * libgnat/a-colien.adb: Likewise. * libgnat/a-colien.ads: Likewise. * libgnat/a-colire.adb: Likewise. * libgnat/a-colire.ads: Likewise. * libgnat/a-comlin.adb: Likewise. * libgnat/a-comlin.ads: Likewise. * libgnat/a-comutr.adb: Likewise. * libgnat/a-comutr.ads: Likewise. * libgnat/a-conhel.adb: Likewise. * libgnat/a-conhel.ads: Likewise. * libgnat/a-convec.adb: Likewise. * libgnat/a-convec.ads: Likewise. * libgnat/a-coorma.adb: Likewise. * libgnat/a-coorma.ads: Likewise. * libgnat/a-coormu.adb: Likewise. * libgnat/a-coormu.ads: Likewise. * libgnat/a-coorse.adb: Likewise. * libgnat/a-coorse.ads: Likewise. * libgnat/a-coprnu.adb: Likewise. * libgnat/a-coprnu.ads: Likewise. * libgnat/a-crbltr.ads: Likewise. * libgnat/a-crbtgk.adb: Likewise. * libgnat/a-crbtgk.ads: Likewise. * libgnat/a-crbtgo.adb: Likewise. * libgnat/a-crbtgo.ads: Likewise. * libgnat/a-crdlli.adb: Likewise. * libgnat/a-crdlli.ads: Likewise. * libgnat/a-csquin.ads: Likewise. * libgnat/a-cuprqu.adb: Likewise. * libgnat/a-cuprqu.ads: Likewise. * libgnat/a-cusyqu.adb: Likewise. * libgnat/a-cusyqu.ads: Likewise. * libgnat/a-cwila1.ads: Likewise. * libgnat/a-cwila9.ads: Likewise. * libgnat/a-decima.adb: Likewise. * libgnat/a-decima.ads: Likewise. * libgnat/a-dhfina.adb: Likewise. * libgnat/a-dhfina.ads: Likewise. * libgnat/a-diocst.adb: Likewise. * libgnat/a-diocst.ads: Likewise. * libgnat/a-direct.adb: Likewise. * libgnat/a-direct.ads: Likewise. * libgnat/a-direio.adb: Likewise. * libgnat/a-direio.ads: Likewise. * libgnat/a-dirval.adb: Likewise. * libgnat/a-dirval.ads: Likewise. * libgnat/a-dirval__mingw.adb: Likewise. * libgnat/a-einuoc.adb: Likewise. * libgnat/a-einuoc.ads: Likewise. * libgnat/a-elchha.adb: Likewise. * libgnat/a-elchha.ads: Likewise. * libgnat/a-elchha__vxworks-ppc-full.adb: Likewise. * libgnat/a-envvar.adb: Likewise. * libgnat/a-excach.adb: Likewise. * libgnat/a-except.adb: Likewise. * libgnat/a-except.ads: Likewise. * libgnat/a-excpol.adb: Likewise. * libgnat/a-excpol__abort.adb: Likewise. * libgnat/a-exctra.adb: Likewise. * libgnat/a-exctra.ads: Likewise. * libgnat/a-exexda.adb: Likewise. * libgnat/a-exexpr.adb: Likewise. * libgnat/a-exextr.adb: Likewise. * libgnat/a-exstat.adb: Likewise. * libgnat/a-finali.adb: Likewise. * libgnat/a-finali.ads: Likewise. * libgnat/a-locale.adb: Likewise. * libgnat/a-locale.ads: Likewise. * libgnat/a-nbnbin.adb: Likewise. * libgnat/a-nbnbin__gmp.adb: Likewise. * libgnat/a-nbnbre.adb: Likewise. * libgnat/a-ngcefu.adb: Likewise. * libgnat/a-ngcoar.adb: Likewise. * libgnat/a-ngcoty.adb: Likewise. * libgnat/a-ngcoty.ads: Likewise. * libgnat/a-ngelfu.adb: Likewise. * libgnat/a-ngelfu.ads: Likewise. * libgnat/a-ngrear.adb: Likewise. * libgnat/a-ngrear.ads: Likewise. * libgnat/a-nudira.adb: Likewise. * libgnat/a-nudira.ads: Likewise. * libgnat/a-nuflra.adb: Likewise. * libgnat/a-nuflra.ads: Likewise. * libgnat/a-numaux.ads: Likewise. * libgnat/a-numaux__darwin.adb: Likewise. * libgnat/a-numaux__darwin.ads: Likewise. * libgnat/a-numaux__libc-x86.ads: Likewise. * libgnat/a-numaux__vxworks.ads: Likewise. * libgnat/a-numaux__x86.adb: Likewise. * libgnat/a-numaux__x86.ads: Likewise. * libgnat/a-rbtgbk.adb: Likewise. * libgnat/a-rbtgbk.ads: Likewise. * libgnat/a-rbtgbo.adb: Likewise. * libgnat/a-rbtgbo.ads: Likewise. * libgnat/a-rbtgso.adb: Likewise. * libgnat/a-rbtgso.ads: Likewise. * libgnat/a-sbecin.adb: Likewise. * libgnat/a-sbecin.ads: Likewise. * libgnat/a-sbhcin.adb: Likewise. * libgnat/a-sbhcin.ads: Likewise. * libgnat/a-sblcin.adb: Likewise. * libgnat/a-sblcin.ads: Likewise. * libgnat/a-secain.adb: Likewise. * libgnat/a-secain.ads: Likewise. * libgnat/a-sequio.adb: Likewise. * libgnat/a-sequio.ads: Likewise. * libgnat/a-sfecin.ads: Likewise. * libgnat/a-sfhcin.ads: Likewise. * libgnat/a-sflcin.ads: Likewise. * libgnat/a-shcain.adb: Likewise. * libgnat/a-shcain.ads: Likewise. * libgnat/a-siocst.adb: Likewise. * libgnat/a-siocst.ads: Likewise. * libgnat/a-slcain.adb: Likewise. * libgnat/a-slcain.ads: Likewise. * libgnat/a-ssicst.adb: Likewise. * libgnat/a-ssicst.ads: Likewise. * libgnat/a-stboha.adb: Likewise. * libgnat/a-stmaco.ads: Likewise. * libgnat/a-storio.adb: Likewise. * libgnat/a-strbou.adb: Likewise. * libgnat/a-strbou.ads: Likewise. * libgnat/a-stream.adb: Likewise. * libgnat/a-stream.ads: Likewise. * libgnat/a-strfix.adb: Likewise. * libgnat/a-strhas.adb: Likewise. * libgnat/a-strmap.adb: Likewise. * libgnat/a-strmap.ads: Likewise. * libgnat/a-strsea.adb: Likewise. * libgnat/a-strsea.ads: Likewise. * libgnat/a-strsup.adb: Likewise. * libgnat/a-strsup.ads: Likewise. * libgnat/a-strunb.adb: Likewise. * libgnat/a-strunb.ads: Likewise. * libgnat/a-strunb__shared.adb: Likewise. * libgnat/a-strunb__shared.ads: Likewise. * libgnat/a-ststio.adb: Likewise. * libgnat/a-ststio.ads: Likewise. * libgnat/a-stunau.adb: Likewise. * libgnat/a-stunau.ads: Likewise. * libgnat/a-stunau__shared.adb: Likewise. * libgnat/a-stunha.adb: Likewise. * libgnat/a-stuten.adb: Likewise. * libgnat/a-stwibo.adb: Likewise. * libgnat/a-stwibo.ads: Likewise. * libgnat/a-stwifi.adb: Likewise. * libgnat/a-stwiha.adb: Likewise. * libgnat/a-stwima.adb: Likewise. * libgnat/a-stwima.ads: Likewise. * libgnat/a-stwise.adb: Likewise. * libgnat/a-stwise.ads: Likewise. * libgnat/a-stwisu.adb: Likewise. * libgnat/a-stwisu.ads: Likewise. * libgnat/a-stwiun.adb: Likewise. * libgnat/a-stwiun.ads: Likewise. * libgnat/a-stwiun__shared.adb: Likewise. * libgnat/a-stwiun__shared.ads: Likewise. * libgnat/a-stzbou.adb: Likewise. * libgnat/a-stzbou.ads: Likewise. * libgnat/a-stzfix.adb: Likewise. * libgnat/a-stzhas.adb: Likewise. * libgnat/a-stzmap.adb: Likewise. * libgnat/a-stzmap.ads: Likewise. * libgnat/a-stzsea.adb: Likewise. * libgnat/a-stzsea.ads: Likewise. * libgnat/a-stzsup.adb: Likewise. * libgnat/a-stzsup.ads: Likewise. * libgnat/a-stzunb.adb: Likewise. * libgnat/a-stzunb.ads: Likewise. * libgnat/a-stzunb__shared.adb: Likewise. * libgnat/a-stzunb__shared.ads: Likewise. * libgnat/a-suecin.adb: Likewise. * libgnat/a-suecin.ads: Likewise. * libgnat/a-suenco.adb: Likewise. * libgnat/a-suenst.adb: Likewise. * libgnat/a-suewst.adb: Likewise. * libgnat/a-suezst.adb: Likewise. * libgnat/a-suhcin.adb: Likewise. * libgnat/a-suhcin.ads: Likewise. * libgnat/a-sulcin.adb: Likewise. * libgnat/a-sulcin.ads: Likewise. * libgnat/a-suteio.adb: Likewise. * libgnat/a-suteio.ads: Likewise. * libgnat/a-suteio__shared.adb: Likewise. * libgnat/a-swbwha.adb: Likewise. * libgnat/a-swmwco.ads: Likewise. * libgnat/a-swunau.adb: Likewise. * libgnat/a-swunau.ads: Likewise. * libgnat/a-swunau__shared.adb: Likewise. * libgnat/a-swuwha.adb: Likewise. * libgnat/a-swuwti.adb: Likewise. * libgnat/a-swuwti.ads: Likewise. * libgnat/a-swuwti__shared.adb: Likewise. * libgnat/a-szbzha.adb: Likewise. * libgnat/a-szmzco.ads: Likewise. * libgnat/a-szunau.adb: Likewise. * libgnat/a-szunau.ads: Likewise. * libgnat/a-szunau__shared.adb: Likewise. * libgnat/a-szuzha.adb: Likewise. * libgnat/a-szuzti.adb: Likewise. * libgnat/a-szuzti.ads: Likewise. * libgnat/a-szuzti__shared.adb: Likewise. * libgnat/a-tags.adb: Likewise. * libgnat/a-tags.ads: Likewise. * libgnat/a-teioed.adb: Likewise. * libgnat/a-teioed.ads: Likewise. * libgnat/a-textio.adb: Likewise. * libgnat/a-textio.ads: Likewise. * libgnat/a-tiboio.adb: Likewise. * libgnat/a-ticoau.adb: Likewise. * libgnat/a-ticoau.ads: Likewise. * libgnat/a-ticoio.adb: Likewise. * libgnat/a-ticoio.ads: Likewise. * libgnat/a-tideau.adb: Likewise. * libgnat/a-tideau.ads: Likewise. * libgnat/a-tideio.adb: Likewise. * libgnat/a-tideio.ads: Likewise. * libgnat/a-tienau.adb: Likewise. * libgnat/a-tienau.ads: Likewise. * libgnat/a-tienio.adb: Likewise. * libgnat/a-tifiio.adb: Likewise. * libgnat/a-tiflau.adb: Likewise. * libgnat/a-tiflau.ads: Likewise. * libgnat/a-tiflio.adb: Likewise. * libgnat/a-tiflio.ads: Likewise. * libgnat/a-tigeau.adb: Likewise. * libgnat/a-tigeau.ads: Likewise. * libgnat/a-tigeli.adb: Likewise. * libgnat/a-tiinau.adb: Likewise. * libgnat/a-tiinau.ads: Likewise. * libgnat/a-tiinio.adb: Likewise. * libgnat/a-tiinio.ads: Likewise. * libgnat/a-timoau.adb: Likewise. * libgnat/a-timoau.ads: Likewise. * libgnat/a-timoio.adb: Likewise. * libgnat/a-timoio.ads: Likewise. * libgnat/a-tiocst.adb: Likewise. * libgnat/a-tiocst.ads: Likewise. * libgnat/a-tirsfi.adb: Likewise. * libgnat/a-tirsfi.ads: Likewise. * libgnat/a-titest.adb: Likewise. * libgnat/a-undesu.adb: Likewise. * libgnat/a-wichha.adb: Likewise. * libgnat/a-wichun.adb: Likewise. * libgnat/a-wichun.ads: Likewise. * libgnat/a-witeio.adb: Likewise. * libgnat/a-witeio.ads: Likewise. * libgnat/a-wrstfi.adb: Likewise. * libgnat/a-wrstfi.ads: Likewise. * libgnat/a-wtcoau.adb: Likewise. * libgnat/a-wtcoau.ads: Likewise. * libgnat/a-wtcoio.adb: Likewise. * libgnat/a-wtcstr.adb: Likewise. * libgnat/a-wtcstr.ads: Likewise. * libgnat/a-wtdeau.adb: Likewise. * libgnat/a-wtdeau.ads: Likewise. * libgnat/a-wtdeio.adb: Likewise. * libgnat/a-wtedit.adb: Likewise. * libgnat/a-wtedit.ads: Likewise. * libgnat/a-wtenau.adb: Likewise. * libgnat/a-wtenau.ads: Likewise. * libgnat/a-wtenio.adb: Likewise. * libgnat/a-wtfiio.adb: Likewise. * libgnat/a-wtflau.adb: Likewise. * libgnat/a-wtflau.ads: Likewise. * libgnat/a-wtflio.adb: Likewise. * libgnat/a-wtgeau.adb: Likewise. * libgnat/a-wtgeau.ads: Likewise. * libgnat/a-wtinau.adb: Likewise. * libgnat/a-wtinau.ads: Likewise. * libgnat/a-wtinio.adb: Likewise. * libgnat/a-wtmoau.adb: Likewise. * libgnat/a-wtmoau.ads: Likewise. * libgnat/a-wtmoio.adb: Likewise. * libgnat/a-wtmoio.ads: Likewise. * libgnat/a-wttest.adb: Likewise. * libgnat/a-wwboio.adb: Likewise. * libgnat/a-zchhan.adb: Likewise. * libgnat/a-zchuni.adb: Likewise. * libgnat/a-zchuni.ads: Likewise. * libgnat/a-zrstfi.adb: Likewise. * libgnat/a-zrstfi.ads: Likewise. * libgnat/a-ztcoau.adb: Likewise. * libgnat/a-ztcoio.adb: Likewise. * libgnat/a-ztcstr.adb: Likewise. * libgnat/a-ztcstr.ads: Likewise. * libgnat/a-ztdeau.adb: Likewise. * libgnat/a-ztdeau.ads: Likewise. * libgnat/a-ztdeio.adb: Likewise. * libgnat/a-ztedit.adb: Likewise. * libgnat/a-ztedit.ads: Likewise. * libgnat/a-ztenau.adb: Likewise. * libgnat/a-ztenau.ads: Likewise. * libgnat/a-ztenio.adb: Likewise. * libgnat/a-ztexio.adb: Likewise. * libgnat/a-ztexio.ads: Likewise. * libgnat/a-ztfiio.adb: Likewise. * libgnat/a-ztflau.adb: Likewise. * libgnat/a-ztflau.ads: Likewise. * libgnat/a-ztflio.adb: Likewise. * libgnat/a-ztgeau.adb: Likewise. * libgnat/a-ztgeau.ads: Likewise. * libgnat/a-ztinau.adb: Likewise. * libgnat/a-ztinau.ads: Likewise. * libgnat/a-ztinio.adb: Likewise. * libgnat/a-ztmoau.adb: Likewise. * libgnat/a-ztmoau.ads: Likewise. * libgnat/a-ztmoio.adb: Likewise. * libgnat/a-zttest.adb: Likewise. * libgnat/a-zzboio.adb: Likewise. * libgnat/g-allein.ads: Likewise. * libgnat/g-alleve.adb: Likewise. * libgnat/g-alleve.ads: Likewise. * libgnat/g-alleve__hard.adb: Likewise. * libgnat/g-alleve__hard.ads: Likewise. * libgnat/g-altcon.adb: Likewise. * libgnat/g-altcon.ads: Likewise. * libgnat/g-altive.ads: Likewise. * libgnat/g-alveop.adb: Likewise. * libgnat/g-alveop.ads: Likewise. * libgnat/g-alvety.ads: Likewise. * libgnat/g-alvevi.ads: Likewise. * libgnat/g-arrspl.adb: Likewise. * libgnat/g-arrspl.ads: Likewise. * libgnat/g-awk.adb: Likewise. * libgnat/g-awk.ads: Likewise. * libgnat/g-binenv.adb: Likewise. * libgnat/g-binenv.ads: Likewise. * libgnat/g-brapre.ads: Likewise. * libgnat/g-bubsor.adb: Likewise. * libgnat/g-bubsor.ads: Likewise. * libgnat/g-busora.adb: Likewise. * libgnat/g-busora.ads: Likewise. * libgnat/g-busorg.adb: Likewise. * libgnat/g-busorg.ads: Likewise. * libgnat/g-byorma.adb: Likewise. * libgnat/g-byorma.ads: Likewise. * libgnat/g-bytswa.adb: Likewise. * libgnat/g-bytswa.ads: Likewise. * libgnat/g-calend.adb: Likewise. * libgnat/g-calend.ads: Likewise. * libgnat/g-casuti.adb: Likewise. * libgnat/g-casuti.ads: Likewise. * libgnat/g-catiio.adb: Likewise. * libgnat/g-catiio.ads: Likewise. * libgnat/g-cgi.adb: Likewise. * libgnat/g-cgi.ads: Likewise. * libgnat/g-cgicoo.adb: Likewise. * libgnat/g-cgicoo.ads: Likewise. * libgnat/g-cgideb.adb: Likewise. * libgnat/g-cgideb.ads: Likewise. * libgnat/g-comlin.adb: Likewise. * libgnat/g-comlin.ads: Likewise. * libgnat/g-comver.adb: Likewise. * libgnat/g-comver.ads: Likewise. * libgnat/g-cppexc.adb: Likewise. * libgnat/g-cppexc.ads: Likewise. * libgnat/g-crc32.adb: Likewise. * libgnat/g-crc32.ads: Likewise. * libgnat/g-ctrl_c.adb: Likewise. * libgnat/g-ctrl_c.ads: Likewise. * libgnat/g-curexc.ads: Likewise. * libgnat/g-debpoo.adb: Likewise. * libgnat/g-debpoo.ads: Likewise. * libgnat/g-debuti.adb: Likewise. * libgnat/g-debuti.ads: Likewise. * libgnat/g-decstr.adb: Likewise. * libgnat/g-decstr.ads: Likewise. * libgnat/g-deutst.ads: Likewise. * libgnat/g-diopit.adb: Likewise. * libgnat/g-diopit.ads: Likewise. * libgnat/g-dirope.adb: Likewise. * libgnat/g-dirope.ads: Likewise. * libgnat/g-dynhta.adb: Likewise. * libgnat/g-dynhta.ads: Likewise. * libgnat/g-dyntab.adb: Likewise. * libgnat/g-dyntab.ads: Likewise. * libgnat/g-eacodu.adb: Likewise. * libgnat/g-encstr.adb: Likewise. * libgnat/g-encstr.ads: Likewise. * libgnat/g-enutst.ads: Likewise. * libgnat/g-excact.adb: Likewise. * libgnat/g-excact.ads: Likewise. * libgnat/g-except.ads: Likewise. * libgnat/g-exctra.adb: Likewise. * libgnat/g-exctra.ads: Likewise. * libgnat/g-expect.adb: Likewise. * libgnat/g-expect.ads: Likewise. * libgnat/g-exptty.adb: Likewise. * libgnat/g-exptty.ads: Likewise. * libgnat/g-flocon.ads: Likewise. * libgnat/g-forstr.adb: Likewise. * libgnat/g-forstr.ads: Likewise. * libgnat/g-graphs.adb: Likewise. * libgnat/g-graphs.ads: Likewise. * libgnat/g-heasor.adb: Likewise. * libgnat/g-heasor.ads: Likewise. * libgnat/g-hesora.adb: Likewise. * libgnat/g-hesora.ads: Likewise. * libgnat/g-hesorg.adb: Likewise. * libgnat/g-hesorg.ads: Likewise. * libgnat/g-htable.adb: Likewise. * libgnat/g-htable.ads: Likewise. * libgnat/g-io-put__vxworks.adb: Likewise. * libgnat/g-io.adb: Likewise. * libgnat/g-io.ads: Likewise. * libgnat/g-io_aux.adb: Likewise. * libgnat/g-io_aux.ads: Likewise. * libgnat/g-lists.adb: Likewise. * libgnat/g-lists.ads: Likewise. * libgnat/g-locfil.adb: Likewise. * libgnat/g-locfil.ads: Likewise. * libgnat/g-mbdira.adb: Likewise. * libgnat/g-mbdira.ads: Likewise. * libgnat/g-mbflra.adb: Likewise. * libgnat/g-mbflra.ads: Likewise. * libgnat/g-md5.adb: Likewise. * libgnat/g-md5.ads: Likewise. * libgnat/g-memdum.adb: Likewise. * libgnat/g-memdum.ads: Likewise. * libgnat/g-moreex.adb: Likewise. * libgnat/g-moreex.ads: Likewise. * libgnat/g-os_lib.adb: Likewise. * libgnat/g-os_lib.ads: Likewise. * libgnat/g-pehage.adb: Likewise. * libgnat/g-pehage.ads: Likewise. * libgnat/g-rannum.adb: Likewise. * libgnat/g-rannum.ads: Likewise. * libgnat/g-regexp.adb: Likewise. * libgnat/g-regexp.ads: Likewise. * libgnat/g-regist.adb: Likewise. * libgnat/g-regist.ads: Likewise. * libgnat/g-regpat.adb: Likewise. * libgnat/g-regpat.ads: Likewise. * libgnat/g-rewdat.adb: Likewise. * libgnat/g-rewdat.ads: Likewise. * libgnat/g-sechas.adb: Likewise. * libgnat/g-sechas.ads: Likewise. * libgnat/g-sehamd.adb: Likewise. * libgnat/g-sehamd.ads: Likewise. * libgnat/g-sehash.adb: Likewise. * libgnat/g-sehash.ads: Likewise. * libgnat/g-sercom.adb: Likewise. * libgnat/g-sercom.ads: Likewise. * libgnat/g-sercom__linux.adb: Likewise. * libgnat/g-sercom__mingw.adb: Likewise. * libgnat/g-sestin.ads: Likewise. * libgnat/g-sets.adb: Likewise. * libgnat/g-sets.ads: Likewise. * libgnat/g-sha1.adb: Likewise. * libgnat/g-sha1.ads: Likewise. * libgnat/g-sha224.ads: Likewise. * libgnat/g-sha256.ads: Likewise. * libgnat/g-sha384.ads: Likewise. * libgnat/g-sha512.ads: Likewise. * libgnat/g-shsh32.adb: Likewise. * libgnat/g-shsh32.ads: Likewise. * libgnat/g-shsh64.adb: Likewise. * libgnat/g-shsh64.ads: Likewise. * libgnat/g-shshco.adb: Likewise. * libgnat/g-shshco.ads: Likewise. * libgnat/g-soccon.ads: Likewise. * libgnat/g-socket.adb: Likewise. * libgnat/g-socket.ads: Likewise. * libgnat/g-socket__dummy.adb: Likewise. * libgnat/g-socket__dummy.ads: Likewise. * libgnat/g-socthi.adb: Likewise. * libgnat/g-socthi.ads: Likewise. * libgnat/g-socthi__dummy.adb: Likewise. * libgnat/g-socthi__dummy.ads: Likewise. * libgnat/g-socthi__mingw.adb: Likewise. * libgnat/g-socthi__mingw.ads: Likewise. * libgnat/g-socthi__vxworks.adb: Likewise. * libgnat/g-socthi__vxworks.ads: Likewise. * libgnat/g-soliop.ads: Likewise. * libgnat/g-soliop__lynxos.ads: Likewise. * libgnat/g-soliop__mingw.ads: Likewise. * libgnat/g-soliop__qnx.ads: Likewise. * libgnat/g-soliop__solaris.ads: Likewise. * libgnat/g-sothco.adb: Likewise. * libgnat/g-sothco.ads: Likewise. * libgnat/g-sothco__dummy.adb: Likewise. * libgnat/g-sothco__dummy.ads: Likewise. * libgnat/g-souinf.ads: Likewise. * libgnat/g-spchge.adb: Likewise. * libgnat/g-spchge.ads: Likewise. * libgnat/g-speche.adb: Likewise. * libgnat/g-speche.ads: Likewise. * libgnat/g-spipat.adb: Likewise. * libgnat/g-spipat.ads: Likewise. * libgnat/g-spitbo.adb: Likewise. * libgnat/g-spitbo.ads: Likewise. * libgnat/g-sptabo.ads: Likewise. * libgnat/g-sptain.ads: Likewise. * libgnat/g-sptavs.ads: Likewise. * libgnat/g-sse.ads: Likewise. * libgnat/g-ssvety.ads: Likewise. * libgnat/g-sthcso.adb: Likewise. * libgnat/g-stheme.adb: Likewise. * libgnat/g-strhas.ads: Likewise. * libgnat/g-string.adb: Likewise. * libgnat/g-string.ads: Likewise. * libgnat/g-strspl.ads: Likewise. * libgnat/g-stseme.adb: Likewise. * libgnat/g-stsifd__sockets.adb: Likewise. * libgnat/g-table.adb: Likewise. * libgnat/g-table.ads: Likewise. * libgnat/g-tasloc.adb: Likewise. * libgnat/g-tasloc.ads: Likewise. * libgnat/g-timsta.adb: Likewise. * libgnat/g-timsta.ads: Likewise. * libgnat/g-traceb.adb: Likewise. * libgnat/g-traceb.ads: Likewise. * libgnat/g-trasym.adb: Likewise. * libgnat/g-trasym.ads: Likewise. * libgnat/g-tty.adb: Likewise. * libgnat/g-tty.ads: Likewise. * libgnat/g-u3spch.adb: Likewise. * libgnat/g-u3spch.ads: Likewise. * libgnat/g-utf_32.adb: Likewise. * libgnat/g-utf_32.ads: Likewise. * libgnat/g-wispch.adb: Likewise. * libgnat/g-wispch.ads: Likewise. * libgnat/g-wistsp.ads: Likewise. * libgnat/g-zspche.adb: Likewise. * libgnat/g-zspche.ads: Likewise. * libgnat/g-zstspl.ads: Likewise. * libgnat/gnat.ads: Likewise. * libgnat/i-c.adb: Likewise. * libgnat/i-cexten.ads: Likewise. * libgnat/i-cobol.adb: Likewise. * libgnat/i-cobol.ads: Likewise. * libgnat/i-cpoint.adb: Likewise. * libgnat/i-cpoint.ads: Likewise. * libgnat/i-cstrea.adb: Likewise. * libgnat/i-cstrea.ads: Likewise. * libgnat/i-cstrin.adb: Likewise. * libgnat/i-cstrin.ads: Likewise. * libgnat/i-fortra.adb: Likewise. * libgnat/i-pacdec.adb: Likewise. * libgnat/i-pacdec.ads: Likewise. * libgnat/i-vxwoio.adb: Likewise. * libgnat/i-vxwoio.ads: Likewise. * libgnat/i-vxwork.ads: Likewise. * libgnat/i-vxwork__x86.ads: Likewise. * libgnat/interfac.ads: Likewise. * libgnat/memtrack.adb: Likewise. * libgnat/s-addima.adb: Likewise. * libgnat/s-addima.ads: Likewise. * libgnat/s-addope.adb: Likewise. * libgnat/s-addope.ads: Likewise. * libgnat/s-aotase.adb: Likewise. * libgnat/s-aotase.ads: Likewise. * libgnat/s-arit64.adb: Likewise. * libgnat/s-arit64.ads: Likewise. * libgnat/s-assert.adb: Likewise. * libgnat/s-assert.ads: Likewise. * libgnat/s-atacco.adb: Likewise. * libgnat/s-atacco.ads: Likewise. * libgnat/s-atocou.adb: Likewise. * libgnat/s-atocou.ads: Likewise. * libgnat/s-atocou__builtin.adb: Likewise. * libgnat/s-atocou__x86.adb: Likewise. * libgnat/s-atoope.ads: Likewise. * libgnat/s-atopar.adb: Likewise. * libgnat/s-atopar.ads: Likewise. * libgnat/s-atopex.adb: Likewise. * libgnat/s-atopex.ads: Likewise. * libgnat/s-atopri.adb: Likewise. * libgnat/s-atopri.ads: Likewise. * libgnat/s-auxdec.adb: Likewise. * libgnat/s-auxdec.ads: Likewise. * libgnat/s-bignum.adb: Likewise. * libgnat/s-bignum.ads: Likewise. * libgnat/s-bitfie.ads: Likewise. * libgnat/s-bitops.adb: Likewise. * libgnat/s-bitops.ads: Likewise. * libgnat/s-bituti.adb: Likewise. * libgnat/s-bituti.ads: Likewise. * libgnat/s-boarop.ads: Likewise. * libgnat/s-boustr.adb: Likewise. * libgnat/s-boustr.ads: Likewise. * libgnat/s-bytswa.ads: Likewise. * libgnat/s-carsi8.adb: Likewise. * libgnat/s-carsi8.ads: Likewise. * libgnat/s-carun8.adb: Likewise. * libgnat/s-carun8.ads: Likewise. * libgnat/s-casi16.adb: Likewise. * libgnat/s-casi16.ads: Likewise. * libgnat/s-casi32.adb: Likewise. * libgnat/s-casi32.ads: Likewise. * libgnat/s-casi64.adb: Likewise. * libgnat/s-casi64.ads: Likewise. * libgnat/s-casuti.adb: Likewise. * libgnat/s-casuti.ads: Likewise. * libgnat/s-caun16.adb: Likewise. * libgnat/s-caun16.ads: Likewise. * libgnat/s-caun32.adb: Likewise. * libgnat/s-caun32.ads: Likewise. * libgnat/s-caun64.adb: Likewise. * libgnat/s-caun64.ads: Likewise. * libgnat/s-chepoo.ads: Likewise. * libgnat/s-commun.adb: Likewise. * libgnat/s-commun.ads: Likewise. * libgnat/s-conca2.adb: Likewise. * libgnat/s-conca2.ads: Likewise. * libgnat/s-conca3.adb: Likewise. * libgnat/s-conca3.ads: Likewise. * libgnat/s-conca4.adb: Likewise. * libgnat/s-conca4.ads: Likewise. * libgnat/s-conca5.adb: Likewise. * libgnat/s-conca5.ads: Likewise. * libgnat/s-conca6.adb: Likewise. * libgnat/s-conca6.ads: Likewise. * libgnat/s-conca7.adb: Likewise. * libgnat/s-conca7.ads: Likewise. * libgnat/s-conca8.adb: Likewise. * libgnat/s-conca8.ads: Likewise. * libgnat/s-conca9.adb: Likewise. * libgnat/s-conca9.ads: Likewise. * libgnat/s-crc32.adb: Likewise. * libgnat/s-crc32.ads: Likewise. * libgnat/s-crtl.ads: Likewise. * libgnat/s-dfmkio.ads: Likewise. * libgnat/s-dfmopr.ads: Likewise. * libgnat/s-dgmgop.ads: Likewise. * libgnat/s-diflio.adb: Likewise. * libgnat/s-diflio.ads: Likewise. * libgnat/s-diflmk.ads: Likewise. * libgnat/s-digemk.ads: Likewise. * libgnat/s-diinio.adb: Likewise. * libgnat/s-diinio.ads: Likewise. * libgnat/s-dilomk.ads: Likewise. * libgnat/s-dim.ads: Likewise. * libgnat/s-dimkio.ads: Likewise. * libgnat/s-dimmks.ads: Likewise. * libgnat/s-direio.adb: Likewise. * libgnat/s-direio.ads: Likewise. * libgnat/s-dlmkio.ads: Likewise. * libgnat/s-dlmopr.ads: Likewise. * libgnat/s-dmotpr.ads: Likewise. * libgnat/s-dsaser.ads: Likewise. * libgnat/s-dwalin.adb: Likewise. * libgnat/s-dwalin.ads: Likewise. * libgnat/s-elaall.adb: Likewise. * libgnat/s-elaall.ads: Likewise. * libgnat/s-excdeb.adb: Likewise. * libgnat/s-excdeb.ads: Likewise. * libgnat/s-except.adb: Likewise. * libgnat/s-except.ads: Likewise. * libgnat/s-excmac__arm.adb: Likewise. * libgnat/s-excmac__arm.ads: Likewise. * libgnat/s-excmac__gcc.adb: Likewise. * libgnat/s-excmac__gcc.ads: Likewise. * libgnat/s-exctab.adb: Likewise. * libgnat/s-exctab.ads: Likewise. * libgnat/s-exctra.adb: Likewise. * libgnat/s-exctra.ads: Likewise. * libgnat/s-exnint.adb: Likewise. * libgnat/s-exnint.ads: Likewise. * libgnat/s-exnllf.adb: Likewise. * libgnat/s-exnllf.ads: Likewise. * libgnat/s-exnlli.adb: Likewise. * libgnat/s-exnlli.ads: Likewise. * libgnat/s-expint.adb: Likewise. * libgnat/s-expint.ads: Likewise. * libgnat/s-explli.adb: Likewise. * libgnat/s-explli.ads: Likewise. * libgnat/s-expllu.adb: Likewise. * libgnat/s-expllu.ads: Likewise. * libgnat/s-expmod.adb: Likewise. * libgnat/s-expmod.ads: Likewise. * libgnat/s-expuns.adb: Likewise. * libgnat/s-expuns.ads: Likewise. * libgnat/s-fatflt.ads: Likewise. * libgnat/s-fatgen.adb: Likewise. * libgnat/s-fatgen.ads: Likewise. * libgnat/s-fatlfl.ads: Likewise. * libgnat/s-fatllf.ads: Likewise. * libgnat/s-fatsfl.ads: Likewise. * libgnat/s-ficobl.ads: Likewise. * libgnat/s-filatt.ads: Likewise. * libgnat/s-fileio.adb: Likewise. * libgnat/s-fileio.ads: Likewise. * libgnat/s-finmas.adb: Likewise. * libgnat/s-finmas.ads: Likewise. * libgnat/s-finroo.adb: Likewise. * libgnat/s-finroo.ads: Likewise. * libgnat/s-flocon.adb: Likewise. * libgnat/s-flocon.ads: Likewise. * libgnat/s-flocon__none.adb: Likewise. * libgnat/s-fore.adb: Likewise. * libgnat/s-fore.ads: Likewise. * libgnat/s-gearop.adb: Likewise. * libgnat/s-gearop.ads: Likewise. * libgnat/s-genbig.adb: Likewise. * libgnat/s-genbig.ads: Likewise. * libgnat/s-geveop.adb: Likewise. * libgnat/s-geveop.ads: Likewise. * libgnat/s-gloloc.adb: Likewise. * libgnat/s-gloloc.ads: Likewise. * libgnat/s-gloloc__mingw.adb: Likewise. * libgnat/s-htable.adb: Likewise. * libgnat/s-htable.ads: Likewise. * libgnat/s-imenne.adb: Likewise. * libgnat/s-imenne.ads: Likewise. * libgnat/s-imgbiu.adb: Likewise. * libgnat/s-imgbiu.ads: Likewise. * libgnat/s-imgboo.adb: Likewise. * libgnat/s-imgboo.ads: Likewise. * libgnat/s-imgcha.adb: Likewise. * libgnat/s-imgcha.ads: Likewise. * libgnat/s-imgdec.adb: Likewise. * libgnat/s-imgdec.ads: Likewise. * libgnat/s-imgenu.adb: Likewise. * libgnat/s-imgenu.ads: Likewise. * libgnat/s-imgint.adb: Likewise. * libgnat/s-imgint.ads: Likewise. * libgnat/s-imgllb.adb: Likewise. * libgnat/s-imgllb.ads: Likewise. * libgnat/s-imglld.adb: Likewise. * libgnat/s-imglld.ads: Likewise. * libgnat/s-imglli.adb: Likewise. * libgnat/s-imglli.ads: Likewise. * libgnat/s-imgllu.adb: Likewise. * libgnat/s-imgllu.ads: Likewise. * libgnat/s-imgllw.adb: Likewise. * libgnat/s-imgllw.ads: Likewise. * libgnat/s-imgrea.adb: Likewise. * libgnat/s-imgrea.ads: Likewise. * libgnat/s-imguns.adb: Likewise. * libgnat/s-imguns.ads: Likewise. * libgnat/s-imgwch.adb: Likewise. * libgnat/s-imgwch.ads: Likewise. * libgnat/s-imgwiu.adb: Likewise. * libgnat/s-imgwiu.ads: Likewise. * libgnat/s-io.adb: Likewise. * libgnat/s-io.ads: Likewise. * libgnat/s-llflex.ads: Likewise. * libgnat/s-maccod.ads: Likewise. * libgnat/s-mantis.adb: Likewise. * libgnat/s-mantis.ads: Likewise. * libgnat/s-mastop.adb: Likewise. * libgnat/s-mastop.ads: Likewise. * libgnat/s-memcop.ads: Likewise. * libgnat/s-memory.adb: Likewise. * libgnat/s-memory.ads: Likewise. * libgnat/s-mmap.adb: Likewise. * libgnat/s-mmap.ads: Likewise. * libgnat/s-mmauni__long.ads: Likewise. * libgnat/s-mmosin__mingw.adb: Likewise. * libgnat/s-mmosin__mingw.ads: Likewise. * libgnat/s-mmosin__unix.adb: Likewise. * libgnat/s-mmosin__unix.ads: Likewise. * libgnat/s-multip.adb: Likewise. * libgnat/s-objrea.adb: Likewise. * libgnat/s-objrea.ads: Likewise. * libgnat/s-optide.adb: Likewise. * libgnat/s-os_lib.adb: Likewise. * libgnat/s-os_lib.ads: Likewise. * libgnat/s-osprim.ads: Likewise. * libgnat/s-osprim__darwin.adb: Likewise. * libgnat/s-osprim__lynxos.ads: Likewise. * libgnat/s-osprim__mingw.adb: Likewise. * libgnat/s-osprim__posix.adb: Likewise. * libgnat/s-osprim__posix2008.adb: Likewise. * libgnat/s-osprim__rtems.adb: Likewise. * libgnat/s-osprim__solaris.adb: Likewise. * libgnat/s-osprim__unix.adb: Likewise. * libgnat/s-osprim__vxworks.adb: Likewise. * libgnat/s-osprim__x32.adb: Likewise. * libgnat/s-osvers__vxworks-653.ads: Likewise. * libgnat/s-pack03.adb: Likewise. * libgnat/s-pack03.ads: Likewise. * libgnat/s-pack05.adb: Likewise. * libgnat/s-pack05.ads: Likewise. * libgnat/s-pack06.adb: Likewise. * libgnat/s-pack06.ads: Likewise. * libgnat/s-pack07.adb: Likewise. * libgnat/s-pack07.ads: Likewise. * libgnat/s-pack09.adb: Likewise. * libgnat/s-pack09.ads: Likewise. * libgnat/s-pack10.adb: Likewise. * libgnat/s-pack10.ads: Likewise. * libgnat/s-pack11.adb: Likewise. * libgnat/s-pack11.ads: Likewise. * libgnat/s-pack12.adb: Likewise. * libgnat/s-pack12.ads: Likewise. * libgnat/s-pack13.adb: Likewise. * libgnat/s-pack13.ads: Likewise. * libgnat/s-pack14.adb: Likewise. * libgnat/s-pack14.ads: Likewise. * libgnat/s-pack15.adb: Likewise. * libgnat/s-pack15.ads: Likewise. * libgnat/s-pack17.adb: Likewise. * libgnat/s-pack17.ads: Likewise. * libgnat/s-pack18.adb: Likewise. * libgnat/s-pack18.ads: Likewise. * libgnat/s-pack19.adb: Likewise. * libgnat/s-pack19.ads: Likewise. * libgnat/s-pack20.adb: Likewise. * libgnat/s-pack20.ads: Likewise. * libgnat/s-pack21.adb: Likewise. * libgnat/s-pack21.ads: Likewise. * libgnat/s-pack22.adb: Likewise. * libgnat/s-pack22.ads: Likewise. * libgnat/s-pack23.adb: Likewise. * libgnat/s-pack23.ads: Likewise. * libgnat/s-pack24.adb: Likewise. * libgnat/s-pack24.ads: Likewise. * libgnat/s-pack25.adb: Likewise. * libgnat/s-pack25.ads: Likewise. * libgnat/s-pack26.adb: Likewise. * libgnat/s-pack26.ads: Likewise. * libgnat/s-pack27.adb: Likewise. * libgnat/s-pack27.ads: Likewise. * libgnat/s-pack28.adb: Likewise. * libgnat/s-pack28.ads: Likewise. * libgnat/s-pack29.adb: Likewise. * libgnat/s-pack29.ads: Likewise. * libgnat/s-pack30.adb: Likewise. * libgnat/s-pack30.ads: Likewise. * libgnat/s-pack31.adb: Likewise. * libgnat/s-pack31.ads: Likewise. * libgnat/s-pack33.adb: Likewise. * libgnat/s-pack33.ads: Likewise. * libgnat/s-pack34.adb: Likewise. * libgnat/s-pack34.ads: Likewise. * libgnat/s-pack35.adb: Likewise. * libgnat/s-pack35.ads: Likewise. * libgnat/s-pack36.adb: Likewise. * libgnat/s-pack36.ads: Likewise. * libgnat/s-pack37.adb: Likewise. * libgnat/s-pack37.ads: Likewise. * libgnat/s-pack38.adb: Likewise. * libgnat/s-pack38.ads: Likewise. * libgnat/s-pack39.adb: Likewise. * libgnat/s-pack39.ads: Likewise. * libgnat/s-pack40.adb: Likewise. * libgnat/s-pack40.ads: Likewise. * libgnat/s-pack41.adb: Likewise. * libgnat/s-pack41.ads: Likewise. * libgnat/s-pack42.adb: Likewise. * libgnat/s-pack42.ads: Likewise. * libgnat/s-pack43.adb: Likewise. * libgnat/s-pack43.ads: Likewise. * libgnat/s-pack44.adb: Likewise. * libgnat/s-pack44.ads: Likewise. * libgnat/s-pack45.adb: Likewise. * libgnat/s-pack45.ads: Likewise. * libgnat/s-pack46.adb: Likewise. * libgnat/s-pack46.ads: Likewise. * libgnat/s-pack47.adb: Likewise. * libgnat/s-pack47.ads: Likewise. * libgnat/s-pack48.adb: Likewise. * libgnat/s-pack48.ads: Likewise. * libgnat/s-pack49.adb: Likewise. * libgnat/s-pack49.ads: Likewise. * libgnat/s-pack50.adb: Likewise. * libgnat/s-pack50.ads: Likewise. * libgnat/s-pack51.adb: Likewise. * libgnat/s-pack51.ads: Likewise. * libgnat/s-pack52.adb: Likewise. * libgnat/s-pack52.ads: Likewise. * libgnat/s-pack53.adb: Likewise. * libgnat/s-pack53.ads: Likewise. * libgnat/s-pack54.adb: Likewise. * libgnat/s-pack54.ads: Likewise. * libgnat/s-pack55.adb: Likewise. * libgnat/s-pack55.ads: Likewise. * libgnat/s-pack56.adb: Likewise. * libgnat/s-pack56.ads: Likewise. * libgnat/s-pack57.adb: Likewise. * libgnat/s-pack57.ads: Likewise. * libgnat/s-pack58.adb: Likewise. * libgnat/s-pack58.ads: Likewise. * libgnat/s-pack59.adb: Likewise. * libgnat/s-pack59.ads: Likewise. * libgnat/s-pack60.adb: Likewise. * libgnat/s-pack60.ads: Likewise. * libgnat/s-pack61.adb: Likewise. * libgnat/s-pack61.ads: Likewise. * libgnat/s-pack62.adb: Likewise. * libgnat/s-pack62.ads: Likewise. * libgnat/s-pack63.adb: Likewise. * libgnat/s-pack63.ads: Likewise. * libgnat/s-parame.adb: Likewise. * libgnat/s-parame.ads: Likewise. * libgnat/s-parame__ae653.ads: Likewise. * libgnat/s-parame__hpux.ads: Likewise. * libgnat/s-parame__rtems.adb: Likewise. * libgnat/s-parame__vxworks.adb: Likewise. * libgnat/s-parame__vxworks.ads: Likewise. * libgnat/s-parint.adb: Likewise. * libgnat/s-parint.ads: Likewise. * libgnat/s-pooglo.adb: Likewise. * libgnat/s-pooglo.ads: Likewise. * libgnat/s-pooloc.adb: Likewise. * libgnat/s-pooloc.ads: Likewise. * libgnat/s-poosiz.adb: Likewise. * libgnat/s-poosiz.ads: Likewise. * libgnat/s-powtab.ads: Likewise. * libgnat/s-purexc.ads: Likewise. * libgnat/s-rannum.adb: Likewise. * libgnat/s-rannum.ads: Likewise. * libgnat/s-ransee.adb: Likewise. * libgnat/s-ransee.ads: Likewise. * libgnat/s-regexp.adb: Likewise. * libgnat/s-regexp.ads: Likewise. * libgnat/s-regpat.adb: Likewise. * libgnat/s-regpat.ads: Likewise. * libgnat/s-resfil.adb: Likewise. * libgnat/s-resfil.ads: Likewise. * libgnat/s-restri.adb: Likewise. * libgnat/s-restri.ads: Likewise. * libgnat/s-rident.ads: Likewise. * libgnat/s-rpc.adb: Likewise. * libgnat/s-rpc.ads: Likewise. * libgnat/s-scaval.adb: Likewise. * libgnat/s-scaval.ads: Likewise. * libgnat/s-secsta.adb: Likewise. * libgnat/s-secsta.ads: Likewise. * libgnat/s-sequio.adb: Likewise. * libgnat/s-sequio.ads: Likewise. * libgnat/s-shasto.adb: Likewise. * libgnat/s-shasto.ads: Likewise. * libgnat/s-soflin.adb: Likewise. * libgnat/s-soflin.ads: Likewise. * libgnat/s-soliin.adb: Likewise. * libgnat/s-soliin.ads: Likewise. * libgnat/s-sopco3.adb: Likewise. * libgnat/s-sopco3.ads: Likewise. * libgnat/s-sopco4.adb: Likewise. * libgnat/s-sopco4.ads: Likewise. * libgnat/s-sopco5.adb: Likewise. * libgnat/s-sopco5.ads: Likewise. * libgnat/s-spsufi.adb: Likewise. * libgnat/s-spsufi.ads: Likewise. * libgnat/s-stache.adb: Likewise. * libgnat/s-stache.ads: Likewise. * libgnat/s-stalib.adb: Likewise. * libgnat/s-stalib.ads: Likewise. * libgnat/s-stausa.adb: Likewise. * libgnat/s-stausa.ads: Likewise. * libgnat/s-stchop.adb: Likewise. * libgnat/s-stchop.ads: Likewise. * libgnat/s-stchop__limit.ads: Likewise. * libgnat/s-stchop__rtems.adb: Likewise. * libgnat/s-stchop__vxworks.adb: Likewise. * libgnat/s-stoele.adb: Likewise. * libgnat/s-stoele.ads: Likewise. * libgnat/s-stopoo.adb: Likewise. * libgnat/s-stopoo.ads: Likewise. * libgnat/s-stposu.adb: Likewise. * libgnat/s-stposu.ads: Likewise. * libgnat/s-stratt.adb: Likewise. * libgnat/s-stratt.ads: Likewise. * libgnat/s-stratt__xdr.adb: Likewise. * libgnat/s-strcom.adb: Likewise. * libgnat/s-strcom.ads: Likewise. * libgnat/s-strhas.adb: Likewise. * libgnat/s-strhas.ads: Likewise. * libgnat/s-string.adb: Likewise. * libgnat/s-string.ads: Likewise. * libgnat/s-strops.adb: Likewise. * libgnat/s-strops.ads: Likewise. * libgnat/s-ststop.adb: Likewise. * libgnat/s-ststop.ads: Likewise. * libgnat/s-tasloc.adb: Likewise. * libgnat/s-tasloc.ads: Likewise. * libgnat/s-thread.ads: Likewise. * libgnat/s-thread__ae653.adb: Likewise. * libgnat/s-traceb.adb: Likewise. * libgnat/s-traceb.ads: Likewise. * libgnat/s-traceb__hpux.adb: Likewise. * libgnat/s-traceb__mastop.adb: Likewise. * libgnat/s-traent.adb: Likewise. * libgnat/s-traent.ads: Likewise. * libgnat/s-trasym.adb: Likewise. * libgnat/s-trasym.ads: Likewise. * libgnat/s-trasym__dwarf.adb: Likewise. * libgnat/s-tsmona.adb: Likewise. * libgnat/s-tsmona__linux.adb: Likewise. * libgnat/s-tsmona__mingw.adb: Likewise. * libgnat/s-unstyp.ads: Likewise. * libgnat/s-utf_32.adb: Likewise. * libgnat/s-utf_32.ads: Likewise. * libgnat/s-valboo.adb: Likewise. * libgnat/s-valboo.ads: Likewise. * libgnat/s-valcha.adb: Likewise. * libgnat/s-valcha.ads: Likewise. * libgnat/s-valdec.adb: Likewise. * libgnat/s-valdec.ads: Likewise. * libgnat/s-valenu.adb: Likewise. * libgnat/s-valenu.ads: Likewise. * libgnat/s-valint.adb: Likewise. * libgnat/s-valint.ads: Likewise. * libgnat/s-vallld.adb: Likewise. * libgnat/s-vallld.ads: Likewise. * libgnat/s-vallli.adb: Likewise. * libgnat/s-vallli.ads: Likewise. * libgnat/s-valllu.adb: Likewise. * libgnat/s-valllu.ads: Likewise. * libgnat/s-valrea.adb: Likewise. * libgnat/s-valrea.ads: Likewise. * libgnat/s-valuns.adb: Likewise. * libgnat/s-valuns.ads: Likewise. * libgnat/s-valuti.adb: Likewise. * libgnat/s-valuti.ads: Likewise. * libgnat/s-valwch.adb: Likewise. * libgnat/s-valwch.ads: Likewise. * libgnat/s-veboop.adb: Likewise. * libgnat/s-veboop.ads: Likewise. * libgnat/s-vector.ads: Likewise. * libgnat/s-vercon.adb: Likewise. * libgnat/s-vercon.ads: Likewise. * libgnat/s-wchcnv.adb: Likewise. * libgnat/s-wchcnv.ads: Likewise. * libgnat/s-wchcon.adb: Likewise. * libgnat/s-wchcon.ads: Likewise. * libgnat/s-wchjis.adb: Likewise. * libgnat/s-wchjis.ads: Likewise. * libgnat/s-wchstw.adb: Likewise. * libgnat/s-wchstw.ads: Likewise. * libgnat/s-wchwts.adb: Likewise. * libgnat/s-wchwts.ads: Likewise. * libgnat/s-widboo.adb: Likewise. * libgnat/s-widboo.ads: Likewise. * libgnat/s-widcha.adb: Likewise. * libgnat/s-widcha.ads: Likewise. * libgnat/s-widenu.adb: Likewise. * libgnat/s-widenu.ads: Likewise. * libgnat/s-widlli.adb: Likewise. * libgnat/s-widlli.ads: Likewise. * libgnat/s-widllu.adb: Likewise. * libgnat/s-widllu.ads: Likewise. * libgnat/s-widwch.adb: Likewise. * libgnat/s-widwch.ads: Likewise. * libgnat/s-win32.ads: Likewise. * libgnat/s-winext.ads: Likewise. * libgnat/s-wwdcha.adb: Likewise. * libgnat/s-wwdcha.ads: Likewise. * libgnat/s-wwdenu.adb: Likewise. * libgnat/s-wwdenu.ads: Likewise. * libgnat/s-wwdwch.adb: Likewise. * libgnat/s-wwdwch.ads: Likewise. * libgnat/system-aix.ads: Likewise. * libgnat/system-darwin-arm.ads: Likewise. * libgnat/system-darwin-ppc.ads: Likewise. * libgnat/system-darwin-x86.ads: Likewise. * libgnat/system-djgpp.ads: Likewise. * libgnat/system-dragonfly-x86_64.ads: Likewise. * libgnat/system-freebsd.ads: Likewise. * libgnat/system-hpux-ia64.ads: Likewise. * libgnat/system-hpux.ads: Likewise. * libgnat/system-linux-alpha.ads: Likewise. * libgnat/system-linux-arm.ads: Likewise. * libgnat/system-linux-hppa.ads: Likewise. * libgnat/system-linux-ia64.ads: Likewise. * libgnat/system-linux-m68k.ads: Likewise. * libgnat/system-linux-mips.ads: Likewise. * libgnat/system-linux-ppc.ads: Likewise. * libgnat/system-linux-riscv.ads: Likewise. * libgnat/system-linux-s390.ads: Likewise. * libgnat/system-linux-sh4.ads: Likewise. * libgnat/system-linux-sparc.ads: Likewise. * libgnat/system-linux-x86.ads: Likewise. * libgnat/system-lynxos178-ppc.ads: Likewise. * libgnat/system-lynxos178-x86.ads: Likewise. * libgnat/system-mingw.ads: Likewise. * libgnat/system-qnx-aarch64.ads: Likewise. * libgnat/system-rtems.ads: Likewise. * libgnat/system-solaris-sparc.ads: Likewise. * libgnat/system-solaris-x86.ads: Likewise. * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise. * libgnat/system-vxworks-arm-rtp.ads: Likewise. * libgnat/system-vxworks-arm.ads: Likewise. * libgnat/system-vxworks-e500-kernel.ads: Likewise. * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise. * libgnat/system-vxworks-e500-rtp.ads: Likewise. * libgnat/system-vxworks-e500-vthread.ads: Likewise. * libgnat/system-vxworks-ppc-kernel.ads: Likewise. * libgnat/system-vxworks-ppc-ravenscar.ads: Likewise. * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise. * libgnat/system-vxworks-ppc-rtp.ads: Likewise. * libgnat/system-vxworks-ppc-vthread.ads: Likewise. * libgnat/system-vxworks-ppc.ads: Likewise. * libgnat/system-vxworks-x86-kernel.ads: Likewise. * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise. * libgnat/system-vxworks-x86-rtp.ads: Likewise. * libgnat/system-vxworks-x86-vthread.ads: Likewise. * libgnat/system-vxworks-x86.ads: Likewise. * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-aarch64.ads: Likewise. * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-arm.ads: Likewise. * libgnat/system-vxworks7-e500-kernel.ads: Likewise. * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-e500-rtp.ads: Likewise. * libgnat/system-vxworks7-ppc-kernel.ads: Likewise. * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-ppc-rtp.ads: Likewise. * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise. * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-x86-kernel.ads: Likewise. * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-x86-rtp.ads: Likewise. * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise. * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise. * libgnat/system.ads: Likewise. * link.c: Likewise. * live.adb: Likewise. * live.ads: Likewise. * locales.c: Likewise. * make.adb: Likewise. * make.ads: Likewise. * make_util.adb: Likewise. * make_util.ads: Likewise. * makeusg.adb: Likewise. * makeusg.ads: Likewise. * mdll-fil.adb: Likewise. * mdll-fil.ads: Likewise. * mdll-utl.adb: Likewise. * mdll-utl.ads: Likewise. * mdll.adb: Likewise. * mdll.ads: Likewise. * mingw32.h: Likewise. * mkdir.c: Likewise. * namet-sp.adb: Likewise. * namet-sp.ads: Likewise. * namet.adb: Likewise. * namet.ads: Likewise. * namet.h: Likewise. * nlists.adb: Likewise. * nlists.ads: Likewise. * nlists.h: Likewise. * opt.adb: Likewise. * opt.ads: Likewise. * osint-b.adb: Likewise. * osint-b.ads: Likewise. * osint-c.adb: Likewise. * osint-c.ads: Likewise. * osint-l.adb: Likewise. * osint-l.ads: Likewise. * osint-m.adb: Likewise. * osint-m.ads: Likewise. * osint.adb: Likewise. * osint.ads: Likewise. * output.adb: Likewise. * output.ads: Likewise. * par-ch10.adb: Likewise. * par-ch11.adb: Likewise. * par-ch12.adb: Likewise. * par-ch13.adb: Likewise. * par-ch2.adb: Likewise. * par-ch3.adb: Likewise. * par-ch4.adb: Likewise. * par-ch5.adb: Likewise. * par-ch6.adb: Likewise. * par-ch7.adb: Likewise. * par-ch8.adb: Likewise. * par-ch9.adb: Likewise. * par-endh.adb: Likewise. * par-labl.adb: Likewise. * par-load.adb: Likewise. * par-prag.adb: Likewise. * par-sync.adb: Likewise. * par-tchk.adb: Likewise. * par-util.adb: Likewise. * par.adb: Likewise. * par.ads: Likewise. * par_sco.adb: Likewise. * par_sco.ads: Likewise. * pprint.adb: Likewise. * pprint.ads: Likewise. * prep.adb: Likewise. * prep.ads: Likewise. * prepcomp.adb: Likewise. * prepcomp.ads: Likewise. * put_scos.adb: Likewise. * put_scos.ads: Likewise. * raise-gcc.c: Likewise. * raise.c: Likewise. * raise.h: Likewise. * repinfo-input.adb: Likewise. * repinfo-input.ads: Likewise. * repinfo.adb: Likewise. * repinfo.ads: Likewise. * repinfo.h: Likewise. * restrict.adb: Likewise. * restrict.ads: Likewise. * rident.ads: Likewise. * rtfinal.c: Likewise. * rtinit.c: Likewise. * rtsfind.adb: Likewise. * rtsfind.ads: Likewise. * runtime.h: Likewise. * s-oscons-tmplt.c: Likewise. * sa_messages.adb: Likewise. * sa_messages.ads: Likewise. * scans.adb: Likewise. * scans.ads: Likewise. * scil_ll.adb: Likewise. * scil_ll.ads: Likewise. * scn.adb: Likewise. * scn.ads: Likewise. * scng.adb: Likewise. * scng.ads: Likewise. * scos.adb: Likewise. * scos.ads: Likewise. * scos.h: Likewise. * sdefault.ads: Likewise. * seh_init.c: Likewise. * sem.adb: Likewise. * sem.ads: Likewise. * sem_aggr.adb: Likewise. * sem_aggr.ads: Likewise. * sem_attr.adb: Likewise. * sem_attr.ads: Likewise. * sem_aux.adb: Likewise. * sem_aux.ads: Likewise. * sem_case.adb: Likewise. * sem_case.ads: Likewise. * sem_cat.adb: Likewise. * sem_cat.ads: Likewise. * sem_ch10.adb: Likewise. * sem_ch10.ads: Likewise. * sem_ch11.adb: Likewise. * sem_ch11.ads: Likewise. * sem_ch12.adb: Likewise. * sem_ch12.ads: Likewise. * sem_ch13.adb: Likewise. * sem_ch13.ads: Likewise. * sem_ch2.adb: Likewise. * sem_ch2.ads: Likewise. * sem_ch3.adb: Likewise. * sem_ch3.ads: Likewise. * sem_ch4.adb: Likewise. * sem_ch4.ads: Likewise. * sem_ch5.adb: Likewise. * sem_ch5.ads: Likewise. * sem_ch6.adb: Likewise. * sem_ch6.ads: Likewise. * sem_ch7.adb: Likewise. * sem_ch7.ads: Likewise. * sem_ch8.adb: Likewise. * sem_ch8.ads: Likewise. * sem_ch9.adb: Likewise. * sem_ch9.ads: Likewise. * sem_dim.adb: Likewise. * sem_dim.ads: Likewise. * sem_disp.adb: Likewise. * sem_disp.ads: Likewise. * sem_dist.adb: Likewise. * sem_dist.ads: Likewise. * sem_elab.adb: Likewise. * sem_elab.ads: Likewise. * sem_elim.adb: Likewise. * sem_elim.ads: Likewise. * sem_eval.adb: Likewise. * sem_eval.ads: Likewise. * sem_intr.adb: Likewise. * sem_intr.ads: Likewise. * sem_mech.adb: Likewise. * sem_mech.ads: Likewise. * sem_prag.adb: Likewise. * sem_prag.ads: Likewise. * sem_res.adb: Likewise. * sem_res.ads: Likewise. * sem_scil.adb: Likewise. * sem_scil.ads: Likewise. * sem_smem.adb: Likewise. * sem_smem.ads: Likewise. * sem_type.adb: Likewise. * sem_type.ads: Likewise. * sem_util.adb: Likewise. * sem_util.ads: Likewise. * sem_warn.adb: Likewise. * sem_warn.ads: Likewise. * set_targ.adb: Likewise. * set_targ.ads: Likewise. * sfn_scan.adb: Likewise. * sfn_scan.ads: Likewise. * sigtramp-armdroid.c: Likewise. * sigtramp-ios.c: Likewise. * sigtramp-qnx.c: Likewise. * sigtramp-vxworks.c: Likewise. * sigtramp.h: Likewise. * sinfo-cn.adb: Likewise. * sinfo-cn.ads: Likewise. * sinfo.adb: Likewise. * sinfo.ads: Likewise. * sinput-c.adb: Likewise. * sinput-c.ads: Likewise. * sinput-d.adb: Likewise. * sinput-d.ads: Likewise. * sinput-l.adb: Likewise. * sinput-l.ads: Likewise. * sinput.adb: Likewise. * sinput.ads: Likewise. * socket.c: Likewise. * spark_xrefs.adb: Likewise. * spark_xrefs.ads: Likewise. * sprint.adb: Likewise. * sprint.ads: Likewise. * stand.adb: Likewise. * stand.ads: Likewise. * stringt.adb: Likewise. * stringt.ads: Likewise. * stringt.h: Likewise. * style.adb: Likewise. * style.ads: Likewise. * styleg.adb: Likewise. * styleg.ads: Likewise. * stylesw.adb: Likewise. * stylesw.ads: Likewise. * switch-b.adb: Likewise. * switch-b.ads: Likewise. * switch-c.adb: Likewise. * switch-c.ads: Likewise. * switch-m.adb: Likewise. * switch-m.ads: Likewise. * switch.adb: Likewise. * switch.ads: Likewise. * symbols.adb: Likewise. * symbols.ads: Likewise. * sysdep.c: Likewise. * table.adb: Likewise. * table.ads: Likewise. * targext.c: Likewise. * targparm.adb: Likewise. * targparm.ads: Likewise. * tbuild.adb: Likewise. * tbuild.ads: Likewise. * tempdir.adb: Likewise. * tempdir.ads: Likewise. * terminals.c: Likewise. * tracebak.c: Likewise. * tree_gen.adb: Likewise. * tree_gen.ads: Likewise. * tree_in.adb: Likewise. * tree_in.ads: Likewise. * tree_io.adb: Likewise. * tree_io.ads: Likewise. * treepr.adb: Likewise. * treepr.ads: Likewise. * ttypes.ads: Likewise. * types.adb: Likewise. * types.ads: Likewise. * types.h: Likewise. * uintp.adb: Likewise. * uintp.ads: Likewise. * uintp.h: Likewise. * uname.adb: Likewise. * uname.ads: Likewise. * urealp.adb: Likewise. * urealp.ads: Likewise. * urealp.h: Likewise. * usage.adb: Likewise. * usage.ads: Likewise. * validsw.adb: Likewise. * validsw.ads: Likewise. * warnsw.adb: Likewise. * warnsw.ads: Likewise. * widechar.adb: Likewise. * widechar.ads: Likewise. * xeinfo.adb: Likewise. * xnmake.adb: Likewise. * xoscons.adb: Likewise. * xr_tabls.adb: Likewise. * xr_tabls.ads: Likewise. * xref_lib.adb: Likewise. * xref_lib.ads: Likewise. * xsinfo.adb: Likewise. * xsnamest.adb: Likewise. * xtreeprs.adb: Likewise. * xutil.adb: Likewise. * xutil.ads: Likewise.
2019-12-16[Ada] Better error message for "is null" subunitBob Duff1-0/+14
2019-12-16 Bob Duff <duff@adacore.com> gcc/ada/ * sem_ch10.adb (Analyze_Subunit): Give an error if the subunit is not a proper body. This hides the confusing "duplicate body" message that was previously given. From-SVN: r279424
2019-12-13[Ada] Ada2020: Update Impunit for Ada 202XBob Duff1-18/+25
2019-12-13 Bob Duff <duff@adacore.com> gcc/ada/ * impunit.ads: Add Ada_202X_Unit. * impunit.adb: Add a table Non_Imp_File_Names_2X analogous to the other tables. Add code to search this table. * opt.ads: Add Warn_On_Ada_202X_Compatibility flag, currently always True. * sem_ch10.adb (Analyze_With_Clause): Give a warning if an Ada 2020 unit is with-ed when Ada_Version < Ada_2020. Change 'if' to 'case': Full coverage rules rule. From-SVN: r279346
2019-12-12[Ada] Improved handling of circular compilation dependenciesSteve Baird1-0/+14
2019-12-12 Steve Baird <baird@adacore.com> gcc/ada/ * sem_ch10.adb (Install_With_Clause): Check for the case of a circular dependency involving a predefined (or GNAT-defined) unit and handle that case by generating an appropropriate error message. From-SVN: r279299
2019-12-12[Ada] Spurious visibility error on subunit with optimizationEd Schonberg1-0/+9
2019-12-12 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * sem_ch10.adb (Analyze_Subunit): Fix spurious visibility error on subunit with optimization. From-SVN: r279291
2019-07-10[Ada] Minor reformattingHristian Kirtchev1-2/+2
2019-07-10 Hristian Kirtchev <kirtchev@adacore.com> gcc/ada/ * bindo-graphs.adb, bindo.adb, debug.adb, exp_ch6.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_res.adb, sem_spark.adb, sem_util.adb, warnsw.ads: Minor reformatting. From-SVN: r273335
2019-07-04[Ada] Minor reformattingHristian Kirtchev1-3/+3
2019-07-04 Hristian Kirtchev <kirtchev@adacore.com> gcc/ada/ * exp_ch3.adb, exp_ch4.adb, exp_ch4.ads, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb, exp_ch11.adb, exp_unst.adb, rtsfind.ads, sem_attr.adb, sem_ch10.adb, sem_ch12.adb, sem_ch13.adb, sem_dim.adb, sem_disp.adb, xref_lib.adb: Minor reformatting. From-SVN: r273070
2019-07-04[Ada] Spurious error on instantiation and limited_with_clauseEd Schonberg1-6/+22
This patch fixes a spurious error during the construction of an instance body in the inlining phase of the frontend, when the package declaration for the main unit has a limited_with_clause on some unit P, and the main unit itself does not have a corresponding regular with_clause, but some other unit in the context has with_clause that has compiled P. P must be removed from visibility to prevent conflicts with homonyms in the generic body to be instantiated. The following must compile quietly: gcc -c gpr2-project-view.adb ---- package GNATCOLL is end GNATCOLL; package GNATCOLL.Refcount is generic type Element_Type (<>) is private; package Shared_Pointers is type Ref is tagged private; type Element_Access is access all Element_Type; type Reference_Type (Element : access Element_Type) is limited null record; function Unchecked_Get (Self : Ref'Class) return Element_Access; function Get (Self : Ref'Class) return Reference_Type is ((Element => Unchecked_Get (Self))); private type Ref is tagged null record; end Shared_Pointers; type Refcounted is abstract tagged null record; generic type Encapsulated is abstract new Refcounted with private; package Smart_Pointers is type Encapsulated_Access is access all Encapsulated'Class; type Ref is tagged private; procedure Set (Self : in out Ref; Data : Encapsulated'Class); procedure Set (Self : in out Ref; Data : access Encapsulated'Class); private type Ref is tagged null record; end Smart_Pointers; end GNATCOLL.Refcount; ---- package body GNATCOLL.Refcount is package body Shared_Pointers is function Unchecked_Get (Self : Ref'Class) return Element_Access is begin return null; end Unchecked_Get; end Shared_Pointers; package body Smart_Pointers is procedure Set (Self : in out Ref; Data : access Encapsulated'Class) is begin null; end Set; procedure Set (Self : in out Ref; Data : Encapsulated'Class) is Tmp : constant Encapsulated_Access := new Encapsulated'Class'(Data); begin Set (Self, Tmp); end Set; end Smart_Pointers; end GNATCOLL.Refcount; ---- package GPR2 is end GPR2; ---- package GPR2.Parser is end GPR2.Parser; ---- with GPR_Parser.Analysis; package GPR2.Parser.Project is end GPR2.Parser.Project; ---- package GPR2.Project is end GPR2.Project; ---- with GPR2.Parser.Project; package GPR2.Project.Configuration is end GPR2.Project.Configuration; ---- with GPR2.Project.Configuration; with GPR2.Unit.Set; package GPR2.Project.Definition is end GPR2.Project.Definition; ---- limited with GPR2.Unit.Set; package GPR2.Project.View is procedure Require_Body; end GPR2.Project.View; ---- with GPR2.Project.Definition; package body GPR2.Project.View is procedure Require_Body is null; end GPR2.Project.View; ---- package GPR2.Unit is end GPR2.Unit; package GPR2.Unit.Set is end GPR2.Unit.Set; ... package GPR_Parser is end GPR_Parser; ---- with GNATCOLL.Refcount; package GPR_Parser.Analysis is type Unit_Provider_Interface is null record; package Unit_Provider_References is new GNATCOLL.Refcount.Shared_Pointers (Unit_Provider_Interface); end GPR_Parser.Analysis; 2019-07-04 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * sem_ch10.adb (Remove_Context_Clauses): Handle properly the removal of a limited_with_clause which appears in the library unit oF the main unit, when some other unit in the context has a regular with_clause on the same unit, to prevent spurious visibility errors in the subsequent analysis of pending instance bodies. From-SVN: r273067
2019-01-08[Ada] Bump copyright years to 2019Pierre-Marie de Rodat1-1/+1
From-SVN: r267683
2018-12-11[Ada] Minor reformattingHristian Kirtchev1-2/+2
2018-12-11 Hristian Kirtchev <kirtchev@adacore.com> gcc/ada/ * exp_aggr.adb, exp_ch7.adb, gnat1drv.adb, sem_ch10.adb, sem_ch13.adb, sem_ch6.adb, sem_ch7.adb, sem_util.adb: Minor reformatting. From-SVN: r266994
2018-12-11[Ada] Crash on nesting of subunits with bodies acting as specsJustin Squirek1-1/+3
This patch corrects an issue whereby a set of nested subunits including subprogram subunits acting as bodies would cause a crash when a child subunit "withs" an ansestor in certain instances due to a mismanagment of the scope stack. ------------ -- Source -- ------------ -- w.ads package W is end; -- w-b.ads package W.B is pragma Elaborate_Body; end; -- w-b.adb with W.B.C; package body w.B is end; -- w-b-c.adb with W; procedure W.B.C is package D is procedure E; end; package body D is separate; begin null; end; -- w-b-c-d.adb separate (W.B.C) package body D is procedure E is separate; end; -- w-b-c-d-e.adb with W; separate (W.B.C.D) procedure E is begin null; end; ----------------- -- Compilation -- ----------------- $ gnatmake -q w-b.adb 2018-12-11 Justin Squirek <squirek@adacore.com> gcc/ada/ * sem_ch10.adb (Analyze_Subunit): Modify conditional to fully remove parent contexts from library-level subprogram bodies in addition to package bodies. From-SVN: r266978
2018-12-11[Ada] Suppress call to Initial_Condition when the annotation is ignoredHristian Kirtchev1-7/+5
This patch suppresses the generation of the Initial_Condition procedure tasked with verifying the run-time semantics of the pragma when the pragma is ignored by means of -gnata, pragma Assertion_Policy, etc. ------------ -- Source -- ------------ -- all_asserts_off.adc pragma Assertion_Policy (Ignore); -- all_asserts_on.adc pragma Assertion_Policy (Check); -- ic_off.adc pragma Assertion_Policy (Initial_Condition => Ignore); -- ic_on.adc pragma Assertion_Policy (Initial_Condition => Check); -- init_cond.ads package Init_Cond with SPARK_Mode, Initial_Condition => Flag = False is Flag : Boolean := True; procedure Set_Flag; end Init_Cond; -- init_cond.adb package body Init_Cond with SPARK_Mode is procedure Set_Flag is begin Flag := True; end Set_Flag; end Init_Cond; ---------------------------- -- Compilation and output -- ---------------------------- & gcc -c -S -gnatDG init_cond.adb -gnatec=all_asserts_on.adc & grep -c "Initial_Condition;" init_cond.adb.dg & grep -c "_elabb" init_cond.s & gcc -c -S -gnatDG init_cond.adb -gnatec=ic_on.adc & grep -c "Initial_Condition;" init_cond.adb.dg & grep -c "_elabb" init_cond.s & gcc -c -S -gnatDG init_cond.adb -gnatec=all_asserts_off.adc & grep -c "Initial_Condition;" init_cond.adb.dg & grep -c "_elabb" init_cond.s & gcc -c -S -gnatDG init_cond.adb -gnatec=ic_off.adc & grep -c "Initial_Condition;" init_cond.adb.dg & grep -c "_elabb" init_cond.s 2 4 2 4 0 0 0 0 2018-12-11 Hristian Kirtchev <kirtchev@adacore.com> gcc/ada/ * exp_prag.adb (Expand_Pragma_Initial_Condition): Do not generate an Initial_Condition procedure and a call to it when the associated pragma is ignored. * sem_ch10.adb (Analyze_Compilation_Unit): Minor cleanup. From-SVN: r266977
2018-08-21[Ada] Retention of with clauses for ignored Ghost unitsHristian Kirtchev1-3/+0
This patch ensures that with clauses that mention ignored Ghost units are retained in the tree. The retention is necessary for several reasons: * The with clauses allow the new elaboration order mechanism to produce the same library edges regardless of whether the Ghost unit is checked or ignored. This ensures that the elaboration order remains consistent. * The with clauses allow the unnesting mechanism to properly recognize that all units have been examined for unnesing purposes. No observable impact, no test needed. 2018-08-21 Hristian Kirtchev <kirtchev@adacore.com> gcc/ada/ * sem_ch10.adb: Remove the with and use clause for unit Ghost. (Analyze_With_Clause): Do not mark a with clause which mentions an ignored Ghost code for elimination. From-SVN: r263733
2018-07-17[Ada] Configuration state not observed for instance bodiesHristian Kirtchev1-6/+6
This patch ensures that the processing of instantiated and inlined bodies uses the proper configuration context available at the point of the instantiation or inlining. Previously configuration pragmas which appear prior to the context items of a unit would lose their effect when a body is instantiated or inlined. 2018-07-17 Hristian Kirtchev <kirtchev@adacore.com> gcc/ada/ * frontend.adb (Frontend): Update the call to Register_Config_Switches. * inline.ads: Add new component Config_Switches to record Pending_Body_Info which captures the configuration state of the pending body. Remove components Version, Version_Pragma, SPARK_Mode, and SPARK_Mode_Pragma from record Pending_Body_Info because they are already captured in component Config_Switches. * opt.adb (Register_Opt_Config_Switches): Rename to Register_Config_Switches. (Restore_Opt_Config_Switches): Rename to Restore_Config_Switches. (Save_Opt_Config_Switches): Rename to Save_Config_Switches. This routine is now a function, and returns the saved configuration state as an aggregate to avoid missing an attribute. (Set_Opt_Config_Switches): Rename to Set_Config_Switches. * opt.ads (Register_Opt_Config_Switches): Rename to Register_Config_Switches. (Restore_Opt_Config_Switches): Rename to Restore_Config_Switches. (Save_Opt_Config_Switches): Rename to Save_Config_Switches. This routine is now a function. (Set_Opt_Config_Switches): Rename to Set_Config_Switches. * par.adb (Par): Update the calls to configuration switch-related subprograms. * sem.adb (Semantics): Update the calls to configuration switch-related subprograms. * sem_ch10.adb (Analyze_Package_Body_Stub): Update the calls to configuration switch-related subprograms. (Analyze_Protected_Body_Stub): Update the calls to configuration switch-related subprograms. (Analyze_Subprogram_Body_Stub): Update calls to configuration switch-related subprograms. * sem_ch12.adb (Add_Pending_Instantiation): Update the capture of pending instantiation attributes. (Inline_Instance_Body): Update the capture of pending instantiation attributes. It is no longer needed to explicitly manipulate the SPARK mode. (Instantiate_Package_Body): Update the restoration of the context attributes. (Instantiate_Subprogram_Body): Update the restoration of context attributes. (Load_Parent_Of_Generic): Update the capture of pending instantiation attributes. (Set_Instance_Env): Update the way relevant configuration attributes are saved and restored. gcc/testsuite/ * gnat.dg/config_pragma1.adb, gnat.dg/config_pragma1_pkg.ads: New testcase. From-SVN: r262794
2018-05-24[Ada] Spurious error due to lingering limited viewHristian Kirtchev1-149/+288
This patch modifies the mechanism which manages [private] with clauses to uninstall a limited with clause if a non-limited with clause is given for the same package. The management of with clauses already prevents the installation of a limited with clause if the related package is already withed though a non-limited with clause. The timing of parent unit with clause processing is such that the non- limited clauses of the child unit are first installed, followed by the clauses of the parent. This order prevents a limited with clause from "overriding" a non-limited with clause. Private with clauses however break this model because they are processed when the private part of a package is entered. Since private with clauses are non- limited with clauses, they must "override" the effects of any limited clauses which import the same packages. This effect is now correctly achieved by uninstalling the limited with clauses when private with clauses are activated. ------------ -- Source -- ------------ -- server.ads package Server is type Root is tagged private; private type Root is tagged null record; end Server; -- parent.ads limited with Server; package Parent is end Parent; -- parent-client.ads private with Server; package Parent.Client is type Deriv is tagged private; private type Deriv is new Server.Root with null record; end Parent.Client; ----------------- -- Compilation -- ----------------- $ gcc -c parent-client.ads 2018-05-24 Hristian Kirtchev <kirtchev@adacore.com> gcc/ada/ * sem_ch10.adb (Expand_Limited_With_Clause): Update the call to Install_Limited_Withed_Unit. (Expand_With_Clause): Update the call to Install_Withed_Unit. (Implicit_With_On_Parent): Update the call to Install_Withed_Unit. (Install_Context_Clauses): Update the call to Install_Withed_Unit. (Install_Limited_Context_Clauses): Update the calls to Install_Limited_Withed_Unit. (Install_Limited_Withed_Unit): Renamed to better illustrate its purpose. (Install_Private_With_Clauses): Update the calls to Install_Withed_Unit and Install_Limited_Withed_Unit. (Install_With_Clause): Uninstall a limited with clause if a [private] with clause is given for the same package. (Install_Withed_Unit): Renamed to better illustrate its purpose. (Remove_Limited_With_Unit): New routine. From-SVN: r260660
2018-05-21[Ada] Aspects on stubsHristian Kirtchev1-11/+40
This patch ensures that aspect specifications which appear on package, protected, and task body stubs are properly analyzed. ------------ -- Source -- ------------ -- pack.ads package Pack with SPARK_Mode, Abstract_State => State is ------------------------------------- -- Refined_Depends, Refined_Global -- ------------------------------------- procedure Proc_1; procedure Proc_2 with Global => (In_Out => State), Depends => (State => State); task Task_Obj_1; task Task_Obj_2 with Global => (In_Out => State), Depends => (State => State); ------------------ -- Refined_Post -- ------------------ function Func_1 (Formal : Integer) return Integer; function Func_2 (Formal : Integer) return Integer with Post => Func_2'Result > Formal; ------------------- -- Refined_State -- ------------------- package Pack_1 is end Pack_1; package Pack_2 with Abstract_State => State_2 is end Pack_2; ---------------- -- SPARK_Mode -- ---------------- package Pack_3 with SPARK_Mode => Off is end Pack_3; package Pack_4 with SPARK_Mode => Off is end Pack_4; package Pack_5 is end Pack_5; protected type Prot_Typ_1 with SPARK_Mode => Off is end Prot_Typ_1; protected type Prot_Typ_2 with SPARK_Mode => Off is end Prot_Typ_2; protected type Prot_Typ_3 is end Prot_Typ_3; procedure Proc_3 with SPARK_Mode => Off; procedure Proc_4 with SPARK_Mode => Off; procedure Proc_5; task type Task_Typ_1 with SPARK_Mode => Off; task type Task_Typ_2 with SPARK_Mode => Off; task type Task_Typ_3; end Pack; -- pack.adb package body Pack with SPARK_Mode, Refined_State => (State => Constit) is Constit : Integer := 0; ------------------------------------- -- Refined_Depends, Refined_Global -- ------------------------------------- procedure Proc_1 is separate with Refined_Global => (In_Out => Constit), -- Error Refined_Depends => (Constit => Constit); -- Error procedure Proc_2 is separate with Refined_Global => (In_Out => Constit), -- OK Refined_Depends => (Constit => Constit); -- OK task body Task_Obj_1 is separate with Refined_Global => (In_Out => Constit), -- Error Refined_Depends => (Constit => Constit); -- Error task body Task_Obj_2 is separate with Refined_Global => (In_Out => Constit), -- OK Refined_Depends => (Constit => Constit); -- OK ------------------ -- Refined_Post -- ------------------ function Func_1 (Formal : Integer) return Integer is separate with Refined_Post => Func_1'Result > Formal; -- OK function Func_2 (Formal : Integer) return Integer is separate with Refined_Post => Func_2'Result > Formal; -- OK ------------------- -- Refined_State -- ------------------- package body Pack_1 is separate with Refined_State => (State_1 => Constit_1); -- Error package body Pack_2 is separate with Refined_State => (State_2 => Constit_2); -- Error ---------------- -- SPARK_Mode -- ---------------- package body Pack_3 is separate with SPARK_Mode => On; -- Error package body Pack_4 is separate; package body Pack_5 is separate with SPARK_Mode => Off; -- Error protected body Prot_Typ_1 is separate with SPARK_Mode => On; -- Error protected body Prot_Typ_2 is separate; protected body Prot_Typ_3 is separate with SPARK_Mode => Off; -- Error procedure Proc_3 is separate with SPARK_Mode => On; -- Error procedure Proc_4 is separate; procedure Proc_5 is separate with SPARK_Mode => Off; -- Error task body Task_Typ_1 is separate with SPARK_Mode => On; -- Error task body Task_Typ_2 is separate; task body Task_Typ_3 is separate with SPARK_Mode => Off; -- Error end Pack; -- pack-func_1.adb separate (Pack) function Func_1 (Formal : Integer) return Integer with Refined_Post => Func_1'Result > Formal -- Error is begin return Formal * 10; end Func_1; -- pack-func_2.adb separate (Pack) function Func_2 (Formal : Integer) return Integer with Refined_Post => Func_2'Result > Formal -- Error is begin return Formal * 10; end Func_2; -- pack-pack_1.adb separate (Pack) package body Pack_1 with SPARK_Mode, Refined_State => (State_1 => Constit_1) -- Error is Constit_1 : Integer := 1; end Pack_1; -- pack-pack_2.adb separate (Pack) package body Pack_2 with SPARK_Mode, Refined_State => (State_2 => Constit_2) -- OK is Constit_2 : Integer := 2; end Pack_2; -- pack-pack_3.adb separate (Pack) package body Pack_3 is end Pack_3; -- pack-pack_4.adb separate (Pack) package body Pack_4 with SPARK_Mode => On is end Pack_4; -- OK -- pack-pack_5.adb separate (Pack) package body Pack_5 with SPARK_Mode => On is end Pack_5; -- OK -- pack-proc_1.adb separate (Pack) procedure Proc_1 with Refined_Global => (In_Out => Constit), -- Error Refined_Depends => (Constit => Constit) -- Error is begin null; end Proc_1; -- pack-proc_2.adb separate (Pack) procedure Proc_2 with Refined_Global => (In_Out => Constit), -- Error Refined_Depends => (Constit => Constit) -- Error is begin null; end Proc_2; -- pack-proc_3.adb separate (Pack) procedure Proc_3 is begin null; end Proc_3; -- pack-proc_4.adb separate (Pack) procedure Proc_4 with SPARK_Mode => On is begin null; end Proc_4; -- OK -- pack-proc_5.adb separate (Pack) procedure Proc_5 with SPARK_Mode => On is begin null; end Proc_5; -- OK -- pack-prot_typ_1.adb separate (Pack) protected body Prot_Typ_1 is end Prot_Typ_1; -- pack-prot_typ_2.adb separate (Pack) protected body Prot_Typ_2 with SPARK_Mode => On is end Prot_Typ_2; -- OK -- pack-prot_typ_3.adb separate (Pack) protected body Prot_Typ_3 with SPARK_Mode => On is end Prot_Typ_3; -- OK -- pack-task_obj_1.adb separate (Pack) task body Task_Obj_1 with Refined_Global => (In_Out => Constit), -- Error Refined_Depends => (Constit => Constit) -- Error is begin null; end Task_Obj_1; -- pack-task_obj_2.adb separate (Pack) task body Task_Obj_2 with Refined_Global => (In_Out => Constit), -- Error Refined_Depends => (Constit => Constit) -- Error is begin null; end Task_Obj_2; -- pack-task_typ_1.adb separate (Pack) task body Task_Typ_1 is begin null; end Task_Typ_1; -- pack-task_typ_2.adb separate (Pack) task body Task_Typ_2 with SPARK_Mode => On is -- OK begin null; end Task_Typ_2; -- pack-task_typ_3.adb separate (Pack) task body Task_Typ_3 with SPARK_Mode => On is -- OK begin null; end Task_Typ_3; ---------------------------- -- Compilation and output -- ---------------------------- $ gcc -c pack.adb pack.adb:12:11: useless refinement, declaration of subprogram "Proc_1" lacks aspect or pragma Global pack.adb:13:11: useless refinement, declaration of subprogram "Proc_1" lacks aspect or pragma Depends pack.adb:20:11: useless refinement, declaration of task type "Task_Obj_1" lacks aspect or pragma Global pack.adb:21:11: useless refinement, declaration of task type "Task_Obj_1" lacks aspect or pragma Depends pack.adb:42:11: aspect "Refined_State" must apply to a package body pack.adb:45:11: aspect "Refined_State" must apply to a package body pack.adb:51:41: incorrect placement of aspect "Spark_Mode" pack.adb:53:41: incorrect placement of aspect "Spark_Mode" pack.adb:55:47: incorrect placement of aspect "Spark_Mode" pack.adb:57:47: incorrect placement of aspect "Spark_Mode" pack.adb:59:38: incorrect placement of aspect "Spark_Mode" pack.adb:61:38: incorrect placement of aspect "Spark_Mode" pack.adb:63:42: incorrect placement of aspect "Spark_Mode" pack.adb:65:42: incorrect placement of aspect "Spark_Mode" pack-proc_1.adb:4:08: aspect "Refined_Global" cannot apply to a subunit pack-proc_1.adb:5:08: aspect "Refined_Depends" cannot apply to a subunit pack-proc_2.adb:4:08: aspect "Refined_Global" cannot apply to a subunit pack-proc_2.adb:5:08: aspect "Refined_Depends" cannot apply to a subunit pack-task_obj_1.adb:4:08: aspect "Refined_Global" cannot apply to a subunit pack-task_obj_1.adb:5:08: aspect "Refined_Depends" cannot apply to a subunit pack-task_obj_2.adb:4:08: aspect "Refined_Global" cannot apply to a subunit pack-task_obj_2.adb:5:08: aspect "Refined_Depends" cannot apply to a subunit pack-func_1.adb:4:08: aspect "Refined_Post" cannot apply to a subunit pack-func_2.adb:4:08: aspect "Refined_Post" cannot apply to a subunit pack-pack_1.adb:3:14: body of package "Pack_1" has unused hidden states pack-pack_1.adb:3:14: variable "Constit_1" defined at line 7 pack-pack_1.adb:5:08: useless refinement, package "Pack_1" does not define abstract states pack-pack_1.adb:5:26: "State_1" is undefined pack-pack_3.adb:3:01: incorrect use of SPARK_Mode at pack.adb:2 pack-pack_3.adb:3:01: value Off was set for SPARK_Mode on "Pack_3" at pack.ads:38 pack-pack_4.adb:3:01: incorrect use of SPARK_Mode at pack.adb:2 pack-pack_4.adb:3:01: value Off was set for SPARK_Mode on "Pack_4" at pack.ads:39 pack-pack_4.adb:3:26: incorrect use of SPARK_Mode pack-pack_4.adb:3:26: value Off was set for SPARK_Mode on "Pack_4" at pack.ads:39 pack-prot_typ_2.adb:3:32: incorrect use of SPARK_Mode pack-prot_typ_2.adb:3:32: value Off was set for SPARK_Mode on "Prot_Typ_2" at pack.ads:43 pack-proc_3.adb:3:01: incorrect use of SPARK_Mode at pack.adb:2 pack-proc_3.adb:3:01: value Off was set for SPARK_Mode on "Proc_3" at pack.ads:46 pack-proc_4.adb:3:01: incorrect use of SPARK_Mode at pack.adb:2 pack-proc_4.adb:3:01: value Off was set for SPARK_Mode on "Proc_4" at pack.ads:47 pack-proc_4.adb:3:23: incorrect use of SPARK_Mode pack-proc_4.adb:3:23: value Off was set for SPARK_Mode on "Proc_4" at pack.ads:47 pack-task_typ_2.adb:3:27: incorrect use of SPARK_Mode pack-task_typ_2.adb:3:27: value Off was set for SPARK_Mode on "Task_Typ_2" at pack.ads:51 2018-05-21 Hristian Kirtchev <kirtchev@adacore.com> gcc/ada/ * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Rename the call to Analyze_Aspect_Specifications_On_Body_Or_Stub. (Analyze_Subprogram_Body_Helper): Rename the calls to Analyze_Aspect_Specifications_On_Body_Or_Stub. * sem_ch9.adb (Analyze_Entry_Body): Rename the call to Analyze_Aspect_Specifications_On_Body_Or_Stub. * sem_ch10.adb: Add with and use clause for Sem_Ch13. (Analyze_Package_Body_Stub): Add constant Id. Decorate the package stub prior to analyzing its aspects. (Analyze_Protected_Body_Stub): Add constant Id. Decorate the package stub prior to analyzing its aspects. Save and restore the configuration switches. (Analyze_Task_Body_Stub): Add constant Id. Decorate the package stub prior to analyzing its aspects. * sem_ch13.adb (Analyze_Aspect_Specifications_On_Body_Or_Stub): Renamed to Analyze_Aspects_On_Subprogram_Body_Or_Stub. * sem_ch13.ads (Analyze_Aspect_Specifications_On_Body_Or_Stub): Renamed to Analyze_Aspects_On_Subprogram_Body_Or_Stub. * sem_prag.adb: Code reformatting. (Analyze_Refined_Depends_Global_Post): Consider task body stubs. From-SVN: r260469
2018-05-21[Ada] Placement of pragma Elaboration_ChecksHristian Kirtchev1-0/+6
This patch modifies the semantics of pragma Elaboration_Checks. The pragma was intended to be a configuration pragma, however its placement was never verified until now. The pragma may appear in the following contexts: * Configuration pragmas file * Prior to the context clauses of a compilation unit's initial declaration Any other placement of the pragma will result in a warning and the effects of the offending pragma will be ignored. ------------ -- Source -- ------------ -- elab_checks_1.adc pragma Elaboration_Checks (Dynamic); -- elab_checks_2.adc pragma Elaboration_Checks (Dynamic); pragma Elaboration_Checks (Static); -- Error -- pack_1.ads pragma Elaboration_Checks (Static); -- OK package Pack_1 is end Pack_1; -- pack_2.ads pragma Elaboration_Checks (Static); -- OK pragma Elaboration_Checks (Static); -- Error package Pack_2 is end Pack_2; -- pack_3.ads package Pack_3 is procedure Proc; end Pack_3; -- pack_3.adb pragma Elaboration_Checks (Static); -- Error package body Pack_3 is procedure Proc is begin null; end Proc; end Pack_3; -- pack_4.ads package Pack_4 is procedure Proc; end Pack_4; -- pack_4.adb package body Pack_4 is procedure Proc is separate; end Pack_4; -- pack_4-proc.adb pragma Elaboration_Checks (Static); -- Error separate (Pack_4) procedure Proc is begin null; end Proc; -- gen.ads generic with function Called_At_Elaboration return Boolean; package Gen is procedure Proc; end Gen; -- gen.adb package body Gen is procedure Proc is Obj : constant Boolean := Called_At_Elaboration; begin null; end Proc; begin Proc; end Gen; -- abe_static.ads pragma Elaboration_Checks (Static); with Gen; package ABE_Static is function ABE return Boolean; package Inst_1 is new Gen (ABE); end ABE_Static; -- abe_static.adb package body ABE_Static is package Inst_2 is new Gen (ABE); package Subunit is end Subunit; package body Subunit is separate; function ABE return Boolean is begin return True; end ABE; end ABE_Static; -- abe_static-subunit.adb separate (ABE_Static) package body Subunit is package Inst_3 is new Gen (ABE); package Nested_Subunit is end Nested_Subunit; package body Nested_Subunit is separate; end Subunit; -- abe_static-subunit-nested_subunit.adb separate (ABE_Static.Subunit) package body Nested_Subunit is package Inst_4 is new Gen (ABE); end Nested_Subunit; -- abe_static_main.adb with ABE_Static; procedure ABE_Static_Main is begin null; end ABE_Static_Main; ---------------------------- -- Compilation and output -- ---------------------------- $ gcc -c pack_1.ads -gnatec=elab_checks_1.adc $ gcc -c pack_1.ads -gnatec=elab_checks_2.adc $ gcc -c pack_1.ads $ gcc -c pack_2.ads $ gcc -c pack_3.adb $ gcc -c pack_4.adb $ gnatmake -q -gnatE abe_static_main.adb elab_checks_2.adc:2:01: pragma "Elaboration_Checks" duplicates pragma declared at line 1 pack_2.ads:2:01: pragma "Elaboration_Checks" duplicates pragma declared at line 1 pack_3.adb:1:01: warning: effects of pragma "Elaboration_Checks" are ignored pack_3.adb:1:01: warning: place pragma on initial declaration of library unit pack_4-proc.adb:1:01: warning: effects of pragma "Elaboration_Checks" are ignored pack_4-proc.adb:1:01: warning: place pragma on initial declaration of library unit abe_static.adb:2:04: warning: in instantiation at gen.adb:3 abe_static.adb:2:04: warning: cannot call "ABE" before body seen abe_static.adb:2:04: warning: Program_Error may be raised at run time abe_static.adb:2:04: warning: body of unit "ABE_Static" elaborated abe_static.adb:2:04: warning: procedure "Proc" called at gen.adb:6, instance at line 2 abe_static.adb:2:04: warning: function "ABE" called at gen.adb:3, instance at line 2 abe_static.ads:8:04: warning: in instantiation at gen.adb:3 abe_static.ads:8:04: warning: cannot call "ABE" before body seen abe_static.ads:8:04: warning: Program_Error may be raised at run time abe_static.ads:8:04: warning: spec of unit "ABE_Static" elaborated abe_static.ads:8:04: warning: procedure "Proc" called at gen.adb:6, instance at line 8 abe_static.ads:8:04: warning: function "ABE" called at gen.adb:3, instance at line 8 abe_static-subunit.adb:4:04: warning: in instantiation at gen.adb:3 abe_static-subunit.adb:4:04: warning: cannot call "ABE" before body seen abe_static-subunit.adb:4:04: warning: Program_Error may be raised at run time abe_static-subunit.adb:4:04: warning: body of unit "ABE_Static" elaborated abe_static-subunit.adb:4:04: warning: procedure "Proc" called at gen.adb:6, instance at line 4 abe_static-subunit.adb:4:04: warning: function "ABE" called at gen.adb:3, instance at line 4 abe_static-subunit-nested_subunit.adb:4:04: warning: in instantiation at gen.adb:3 abe_static-subunit-nested_subunit.adb:4:04: warning: cannot call "ABE" before body seen abe_static-subunit-nested_subunit.adb:4:04: warning: Program_Error may be raised at run time abe_static-subunit-nested_subunit.adb:4:04: warning: body of unit "ABE_Static" elaborated abe_static-subunit-nested_subunit.adb:4:04: warning: procedure "Proc" called at gen.adb:6, instance at line 4 abe_static-subunit-nested_subunit.adb:4:04: warning: function "ABE" called at gen.adb:3, instance at line 4 warning: "abe_static_main.adb" has dynamic elaboration checks and with's warning: "abe_static.ads" which has static elaboration checks 2018-05-21 Hristian Kirtchev <kirtchev@adacore.com> gcc/ada/ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Install the elaboration model of the compilation unit spec, if any. * sem_ch7.adb (Analyze_Package_Body_Helper): Install the elaboration model of the compilation unit spec, if any. * sem_ch10.adb (Analyze_Subunit): Install the elaboration model of the parent compilation unit spec, if any. * sem_elab.adb (Check_Elaboration_Scenarios): Restore the elaboration model of the main unit. (Is_Same_Unit): The routine now uses Unit_Entity. (Is_Subunit): Removed. (Normalize_Unit): Removed. (Unit_Entity): New routine. * sem_prag.adb (Analyze_Pragma): Reimplement the handling of pragma Elaboration_Checks. The analysis now ensures that the pragma appears at the configuration level, and on the initial declaration of a unit. Other placements are either flagged as illegal, or ignored. (Check_Duplicate_Elaboration_Checks_Pragma): New routine. (Ignore_Elaboration_Checks_Pragma): New routine. * sem_util.adb (Install_Elaboration_Model): New routine. * sem_util.ads (Install_Elaboration_Model): New routine. * doc/gnat_rm/implementation_defined_pragmas.rst: Update the documentation of pragma Elaboration_Checks. * gnat_rm.texi: Regenerate. From-SVN: r260457
2018-01-11[Ada] Incorrect diagnostic on illegal with clauseHristian Kirtchev1-1/+3
This patch updates the detection of illegal with clauses which import private child packages to properly detect a grandchild of Ada. ------------ -- Source -- ------------ -- fake.ads package Fake is end Fake; -- fake-ada.ads package Fake.Ada is end Fake.Ada; -- fake-ada-text_io.ads package Fake.Ada.Text_IO is end Fake.Ada.Text_IO; -- fake-ada-text_io-float_io.ads private generic type Num is digits <>; package Fake.Ada.Text_IO.Float_IO is end Fake.Ada.Text_IO.Float_IO; -- fake-float_io.ads private generic type Num is digits <>; package Fake.Float_IO is end Fake.Float_IO; -- main.ads with Fake.Ada.Text_IO.Float_IO; with Fake.Float_IO; package Main is end Main; ---------------------------- -- Compilation and output -- ---------------------------- $ gcc -c main.ads main.ads:1:06: unit in with clause is private child unit main.ads:1:06: current unit must also have parent "Text_IO" main.ads:2:06: unit in with clause is private child unit main.ads:2:06: current unit must also have parent "Fake" 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com> gcc/ada/ * sem_ch10.adb (Check_Private_Child_Unit): Ensure that the enclosing scope of package Ada is Standard. From-SVN: r256515
2018-01-11[Ada] Encoding of with clauses in ALI filesHristian Kirtchev1-60/+65
This patch modifies the encodings of with clauses in ALI files to adhere to the existing API. The encodigs are as follows: * Explicit with clauses are encoded on a 'W' line (same as before). * Implicit with clauses for ancestor units are encoded on a 'W' line (same as before). * Limited_with clauses are encoded on a 'Y' line (same as before). * ABE and RTSfind-related with clauses are encoded on a 'Z' line. ------------ -- Source -- ------------ -- case_10_func.adb function Case_10_Func return Boolean is begin return True; end Case_10_Func; -- case_10_gen_func.ads generic function Case_10_Gen_Func return Boolean; -- case_10_gen_func.adb function Case_10_Gen_Func return Boolean is begin return True; end Case_10_Gen_Func; -- case_10_tasks.ads package Case_10_Tasks is task type Task_Typ is end Task_Typ; end Case_10_Tasks; -- case_10_tasks.adb package body Case_10_Tasks is task body Task_Typ is begin null; end Task_Typ; end Case_10_Tasks; -- case_10_gen.ads with Case_10_Func; with Case_10_Gen_Func; with Case_10_Tasks; generic package Case_10_Gen is Val : constant Boolean := Case_10_Func; function Inst is new Case_10_Gen_Func; Tsk : Case_10_Tasks.Task_Typ; end Case_10_Gen; -- case_10.ads with Case_10_Gen; package Case_10 is package Inst is new Case_10_Gen; end Case_10; ---------------------------- -- Compilation and output -- ---------------------------- $ gcc -c case_10.ads $ grep "W " case_10.ali | sort $ grep "Z " case_10.ali | sort W case_10_gen%s case_10_gen.ads case_10_gen.ali Z case_10_func%b case_10_func.adb case_10_func.ali Z case_10_gen_func%s case_10_gen_func.adb case_10_gen_func.ali ED Z case_10_tasks%s case_10_tasks.adb case_10_tasks.ali AD Z system.soft_links%s s-soflin.adb s-soflin.ali Z system.tasking%s s-taskin.adb s-taskin.ali Z system.tasking.stages%s s-tassta.adb s-tassta.ali 2018-01-11 Hristian Kirtchev <kirtchev@adacore.com> gcc/ada/ * ali.adb: Document the remaining letters available for ALI lines. (Scan_ALI): A with clause is internal when it is encoded on a 'Z' line. * ali.ads: Update type With_Record. Field Implicit_With_From_Instantiation is no longer in use. Add field Implicit_With. * csinfo.adb (CSinfo): Remove the setup for attribute Implicit_With_From_Instantiation. * lib-writ.adb (Collect_Withs): Correct the logic which marks a unit as either implicitly or explicitly withed. (Is_Implicit_With_Clause): New routine. (Write_ALI): Rename array Implicit_With to Has_Implicit_With to avoid confusion with the with clause attribute by the same name. (Write_With_Lines): Update the emission of 'W', 'Y', and 'Z' headers. * rtsfind.adb (Maybe_Add_With): Code cleanup. * sem_ch8.adb (Present_System_Aux): Code cleanup. * sem_ch10.adb (Expand_With_Clause): Mark the with clause as generated for a parent unit. (Implicit_With_On_Parent): Mark the with clause as generated for a parent unit. * sem_ch12.adb (Inherit_Context): With clauses inherited by an instantiation are no longer marked as Implicit_With_From_Instantiation because they are already marked as implicit. * sem_elab.adb (Ensure_Prior_Elaboration_Static): Remove the kludge which marks implicit with clauses as related to an instantiation. * sinfo.adb (Implicit_With_From_Instantiation): Removed. (Parent_With): New routine. (Set_Implicit_With_From_Instantiation): Removed. (Set_Parent_With): New routine. * sinfo.ads: Update the documentation of attribute Implicit_With. Remove attribute Implicit_With_From_Instantiation along with occurrences in nodes. Add attribute Parent_With along with occurrences in nodes. (Implicit_With_From_Instantiation): Removed along with pragma Inline. (Parent_With): New routine along with pragma Inline. (Set_Implicit_With_From_Instantiation): Removed along with pragma Inline. (Set_Parent_With): New routine along with pragma Inline. From-SVN: r256490
2017-10-09[multiple changes]Pierre-Marie de Rodat1-5/+15
2017-10-09 Justin Squirek <squirek@adacore.com> * sem_ch3.adb: Rename Uses_Unseen_Priv into Contains_Lib_Incomplete_Type. 2017-10-09 Hristian Kirtchev <kirtchev@adacore.com> * sem_aggr.adb, sem_spark.adb, adabkend.adb, exp_ch5.adb, frontend.adb, sem_ch12.adb, fmap.adb, exp_ch6.adb, exp_spark.adb, lib-load.adb, exp_ch9.adb, osint.adb, exp_disp.adb, sem_ch8.adb, sem_ch8.ads, prepcomp.adb, gnat1drv.adb, atree.adb, sinput-l.adb, targparm.adb, sem_ch10.adb, par-ch8.adb: Minor reformatting. From-SVN: r253566
2017-09-25[multiple changes]Pierre-Marie de Rodat1-101/+78
2017-09-25 Justin Squirek <squirek@adacore.com> * aspects.adb, bindgen.adb, clean.adb, erroutc.adb, exp_ch13.adb, exp_dbug.adb, exp_unst.adb, exp_util.adb, frontend.adb, gnat1drv.adb, gnatdll.adb, gnatlink.adb, gnatls.adb, gnatname.adb, gnatxref.adb, gnatfind.adb, libgnat/a-cfhama.ads, libgnat/a-exetim__mingw.adb, libgnat/a-strmap.adb, libgnat/a-teioed.adb, libgnat/g-alvety.ads, libgnat/g-expect.adb, libgnat/g-regist.adb, libgnat/g-socket.adb, libgnat/g-socthi__mingw.ads, libgnat/s-stausa.adb, libgnat/s-tsmona__linux.adb, libgnat/s-tsmona__mingw.adb, libgnarl/s-taenca.adb, libgnarl/s-tassta.adb, libgnarl/s-tarest.adb, libgnarl/s-tpobop.adb, make.adb, makeusg.adb, namet.adb, output.ads, put_scos.adb, repinfo.adb, rtsfind.adb, scn.ads, sem_attr.adb, sem_aux.ads, sem_warn.ads, targparm.adb, xr_tabls.adb, xref_lib.adb: Removal of ineffective use-clauses. * exp_ch9.adb (Is_Simple_Barrier_Name): Check for false positives with constant folded barriers. * ghost.adb, sprint.adb, sem_ch10.adb, sem_warn.adb: Change access to Subtype_Marks and Names list in use-clause nodes to their new singular counterparts (e.g. Subtype_Mark, Name). * par.adb, par-ch8.adb (Append_Use_Clause): Created to set Prev_Ids and More_Ids in use-clause nodes. (P_Use_Clause): Modify to take a list as a parameter. (P_Use_Package_Clause, P_Use_Type_Clause): Divide names and subtype_marks within an aggregate use-clauses into individual clauses. * par-ch3.adb, par-ch10.adb, par-ch12.adb: Trivally modify call to P_Use_Clause to match its new behavior. * sem.adb (Analyze): Mark use clauses for non-overloaded entities. * sem_ch4.adb (Try_One_Interp): Add sanity check to handle previous errors. * sem_ch6.adb (Analyze_Generic_Subprogram_Body, Analyze_Subprogram_Body_Helper): Update use clause chain at the end of the declarative region. * sem_ch7.adb (Analyze_Package_Body_Helper): Update use clause chain after analysis (Analyze_Package_Specification): Update use clause chain when there is no body. * sem_ch8.ads, sem_ch8.adb (Analyze_Use_Package, Analyze_Use_Type): Add parameter to determine weither the installation of scopes should also propagate on the use-clause "chain". (Mark_Use_Clauses): Created to traverse use-clause chains and determine what constitutes a valid "use" of a clause. (Update_Use_Clause_Chain): Created to aggregate common machinary used to clean up use-clause chains (and warn on ineffectiveness) at the end of declaritive regions. * sem_ch8.adb (Analyze_Package_Name): Created to perform analysis on a package name from a use-package clause. (Analyze_Package_Name_List): Created to perform analysis on a list of package names (similar to Analyze_Package_Name). (Find_Most_Prev): Created to traverse to the beginning of a given use-clause chain. (Most_Decendant_Use_Clause): Create to identify which clause from a given set is highest in scope (not always the most prev). (Use_One_Package, Use_One_Type): Major cleanup and reorganization to handle the new chaining algorithm, also many changes related to redundant clauses. A new parameter has also been added to force installation to handle certain cases. * sem_ch9.adb (Analyze_Entry_Body, Analyze_Protected_Body, Analyze_Task_Body): Mark use clauses on relevant entities. * sem_ch10.adb, sem_ch10.ads (Install_Context_Clauses, Install_Parents): Add parameter to determine weither the installation of scopes should also propagate on the use-clause "chain". * sem_ch12.adb (Inline_Instance_Body): Add flag in call to Install_Context to avoid redundant chaining of use-clauses. * sem_ch13.adb: Minor reformatting. * sem_res.adb (Resolve): Mark use clauses on operators. (Resolve_Call, Resolve_Entity_Name): Mark use clauses on relevant entities. * sinfo.adb, sinfo.ads (Is_Effective_Use_Clause, Set_Is_Effective_Use_Clause): Add new flag to N_Use_Clause nodes to represent any given clause's usage/reference/necessity. (Prev_Use_Clause, Set_Prev_Use_Clause): Add new field to N_Use_Clause nodes to allow loose chaining of redundant clauses. (Set_Used_Operations, Set_Subtype_Mark, Set_Prev_Ids, Set_Names, Set_More_Ids, Set_Name): Modify set procedure calls to reflect reorganization in node fields. * types.ads (Source_File_Index): Adjust index bounds. (No_Access_To_Source_File): New constant. 2017-09-25 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Analyze_One_Aspect): In ASIS mode make a full copy of the expression to be used in the generated attribute specification (rather than relocating it) to avoid resolving a potentially malformed tree when the expression is resolved through an ASIS-specific call to Resolve_Aspect_Expressions. This manifests itself as a crash on a function with parameter associations. From-SVN: r253144
2017-09-07[multiple changes]Arnaud Charlet1-2/+5
2017-09-07 Arnaud Charlet <charlet@adacore.com> * sem_prag.adb (Collect_States_And_Objects): Detect also instances of single concurrent objects. 2017-09-07 Javier Miranda <miranda@adacore.com> * s-regexp.ads: Fix documentation of the globbing grammar. 2017-09-07 Gary Dismukes <dismukes@adacore.com> * a-tags.ads, einfo.ads, exp_disp.ads: Minor reformatting. 2017-09-07 Arnaud Charlet <charlet@adacore.com> * gnat1drv.adb (Gnat1drv): Enable pragma Ignore_Pragma (Global) in CodePeer mode, to support more legacy code automatically. 2017-09-07 Ed Schonberg <schonberg@adacore.com> * exp_disp.adb (Replace_Formals): If thr formal is classwide, and thus not a controlling argument, preserve its type after rewriting because it may appear in an nested call with a classwide parameter. 2017-09-07 Arnaud Charlet <charlet@adacore.com> * comperr.adb (Delete_SCIL_Files): Handle case of N_Package_Instantiation. 2017-09-07 Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb (Remove_Private_With_Clause): If a private with clause for a unit U appears in a context that includes a regular with_clause on U, rewrite the redundant private clause into a null statement, rather than removing it altogether from the context, so that ASIS tools can reconstruct the original source. 2017-09-07 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Check_Aspect_At_Freeze_Point): The expression for aspect Small can be of any real type (not only a universal real literal) as long as it is a static constant. 2017-09-07 Thomas Quinot <quinot@adacore.com> * par_sco.adb: Minor reformatting. From-SVN: r251840
2017-09-07[multiple changes]Arnaud Charlet1-2/+2
2017-09-07 Arnaud Charlet <charlet@adacore.com> * sem_prag.adb (Find_Role): The Global_Seen flag is now consulted not only for abstract states and variables, but for all kinds of items. (Collect_Subprogram_Inputs_Outputs): Do not process formal generic parameters, because unlike ordinary formal parameters, generic formals only act as input/ outputs if they are explicitly mentioned in a Global contract. 2017-09-07 Yannick Moy <moy@adacore.com> * ghost.adb (Check_Ghost_Context): Do not err on ghost code inside predicate procedure. Check predicate pragma/aspect with Ghost entity. * exp_ch6.adb, par-ch6.adb, sem_ch13.adb, sem_prag.adb; Minor reformatting. 2017-09-07 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb: Move New_Copy_Tree_And_Dimensions to sem_dim (code cleanup); * sem_ch3.adb (Build_Derived_Record_Type):i Call Copy_Dimensions_Of_Components after creating the copy of the record declaration. * sem_dim.ads, sem_dim.adb (Copy_Dimensions_Of_Components): For a derived recor type, copy the dikensions if any of each component of the parent record to the corresponding component declarations of the derived record. These expressions are used among other things as default values in aggregates with box associations. * a-dirval-mingw.adb, g-cgi.adb, gnatcmd.adb, lib-xref.adb, repinfo.adb, sem_attr.adb, sem_ch10.adb, sem_ch6.adb, sem_prag.adb: Minor reformatting. 2017-09-07 Arnaud Charlet <charlet@adacore.com> * sem_util.adb: Remove extra space after THEN. 2017-09-07 Eric Botcazou <ebotcazou@adacore.com> * sem_ch7.adb (Has_Referencer): For a subprogram renaming, also mark the renamed subprogram as referenced. From-SVN: r251836
2017-05-02[multiple changes]Arnaud Charlet1-1/+1
2017-05-02 Arnaud Charlet <charlet@adacore.com> * sem_case.adb: Remove extra spaces in parameter declarations. 2017-05-02 Justin Squirek <squirek@adacore.com> * usage.adb: Replace space with hyphen ("run time" -> "run-time") in usage line for new -gnatwE switch. 2017-05-02 Claire Dross <dross@adacore.com> * a-cofuve.ads (Remove): Remove unnecessary conditions in precondition. 2017-05-02 Vasiliy Fofanov <fofanov@adacore.com> * a-stream.ads, exp_imgv.adb, sem_ch10.adb, sem_attr.adb, s-finmas.ads, osint.adb: Minor typo fix. From-SVN: r247479
2017-05-02[multiple changes]Arnaud Charlet1-4/+14
2017-05-02 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Fully_Conformant_Expressions): Two entity references are fully conformant if they are both expansions of the discriminant of a protected type, within one of the protected operations. One occurrence may be expanded into a constant declaration while the other is an input parameter to the corresponding generated subprogram. 2017-05-02 Justin Squirek <squirek@adacore.com> * sem_ch3.adb (Check_For_Null_Excluding_Components): Created for recursivly searching composite-types for null-excluding access types and verifying them. (Analyze_Object_Declaration): Add a call to Check_Null_Excluding_Components for static verification of non-initialized objects. * checks.adb, checks.ads (Null_Exclusion_Static_Checks): Added a parameter for a composite-type's component and an extra case for printing component information. 2017-05-02 Yannick Moy <moy@adacore.com> * sem_ch10.adb (Analyze_Subunit): Take configuration pragma into account when restoring appropriate pragma for analysis of subunit. 2017-05-02 Justin Squirek <squirek@adacore.com> * s-tasren.adb, s-tasini.adb, s-taprop-linux.adb, s-mudido-affinity.adb,, a-exetim-posix.adb, a-direio.adb, g-socket.adb, s-taenca.adb, s-fileio.adb: Remove unused use-type clauses from the runtime. From-SVN: r247465
2017-04-27[multiple changes]Arnaud Charlet1-27/+13
2017-04-27 Eric Botcazou <ebotcazou@adacore.com> * fe.h (Warn_On_Questionable_Layout): Declare. * warnsw.ads (Warn_On_Record_Holes): Move down. (Warn_On_Questionable_Layout): New boolean variable. (Warning_Record): Add Warn_On_Questionable_Layout field. * warnsw.adb (All_Warnings): Set Warn_On_Questionable_Layout. (Restore_Warnings): Likewise. (Save_Warnings): Likewise. (Set_Dot_Warning_Switch): Handle 'q' and 'Q' letters. * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust call to components_to_record. (gnu_field_to_gnat): New function. (warn_on_field_placement): Likewise. (components_to_record): Add GNAT_RECORD_TYPE and remove REORDER parameters. Rename local variables and adjust recursive call. Rework final scan of the field list and implement warnings on the problematic placement of specific sorts of fields. 2017-04-27 Bob Duff <duff@adacore.com> * errout.adb, exp_aggr.adb, exp_attr.adb, exp_code.adb, fname.adb, * fname.ads, freeze.adb, inline.adb, lib.adb, lib.ads, lib-list.adb, * lib-load.adb, lib-writ.adb, par.adb, restrict.adb, rtsfind.adb, * sem.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch3.adb, * sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_elab.adb, * sem_intr.adb, sem_res.adb, sem_util.adb, sem_warn.adb, sprint.adb: For efficiency, cache results of Is_Internal_File_Name and Is_Predefined_File_Name in the Units table. This avoids a lot of repeated text processing. 2017-04-27 Emmanuel Briot <briot@adacore.com> * g-comlin.adb (Sort_Sections): remove useless test. 2017-04-27 Claire Dross <dross@adacore.com> * a-cfhase.adb, a-cfhase.ads (=): Generic parameter removed to allow the use of regular equality over elements in contracts. (Formal_Model): Ghost package containing model functions that are used in subprogram contracts. (Current_To_Last): Removed, model functions should be used instead. (First_To_Previous): Removed, model functions should be used instead. (Strict_Equal): Removed, model functions should be used instead. (No_Overlap): Removed, model functions should be used instead. (Equivalent_Keys): Functions over cursors are removed. They were awkward with explicit container parameters. * a-cforse.adb, a-cforse.ads (=): Generic parameter removed to allow the use of regular equality over elements in contracts. (Formal_Model): Ghost package containing model functions that are used in subprogram contracts. (Current_To_Last): Removed, model functions should be used instead. (First_To_Previous): Removed, model functions should be used instead. (Strict_Equal): Removed, model functions should be used instead. (No_Overlap): Removed, model functions should be used instead. 2017-04-27 Yannick Moy <moy@adacore.com> * gnat1drv.adb: Code cleanup. 2017-04-27 Ed Schonberg <schonberg@adacore.com> * exp_util.adb (Replace_Entity): The prefix of a 'Result attribute reference in a post- condition is the subprogram to which the condition applies. If the condition is inherited by a type extension, the prefix becomes a reference to the inherited operation, but there is no need to create a wrapper for this operation, because 'Result is expanded independently when elaborating the postconditions. From-SVN: r247338
2017-04-25contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract): Add a warning ↵Hristian Kirtchev1-1/+17
about SPARK mode management. 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract): Add a warning about SPARK mode management. The routine now saves and restores both the mode and associated pragma. (Analyze_Entry_Or_Subprogram_Contract): Add a warning about SPARK mode management. The routine now saves and restores both the mode and associated pragma. (Analyze_Object_Contract): Add a warning about SPARK mode management. The routine now saves and restores both the mode and associated pragma. (Analyze_Package_Body_Contract): Add a warning about SPARK mode management. The routine now saves and restores both the mode and associated pragma. (Analyze_Package_Contract): Add a warning about SPARK mode management. The routine now saves and restores both the mode and associated pragma. (Analyze_Task_Contract): Add a warning about SPARK mode management. The routine now saves and restores both the mode and associated pragma. * expander.adb (Expand): Change the way the Ghost mode is saved and restored. * exp_ch3.adb (Freeze_Type): Change the way the Ghost mode is saved and restored. * exp_disp.adb (Make_DT): Change the way the Ghost mode is saved and restored. * exp_util.adb (Build_DIC_Procedure_Body): Change the way the Ghost mode is saved and restored. (Build_DIC_Procedure_Declaration): Change the way the Ghost mode is saved and restored. (Build_Invariant_Procedure_Body): Change the way the Ghost mode is saved and restored. (Build_Invariant_Procedure_Declaration): Change the way the Ghost mode is saved and restored. (Make_Predicate_Call): Change the way the Ghost mode is saved and restored. * freeze.adb (Freeze_Entity): Change the way the Ghost mode is saved and restored. * ghost.adb (Mark_And_Set_Ghost_Assignment): Remove parameter Mode and its assignment. (Mark_And_Set_Ghost_Body): Remove parameter Mode and its assignment. (Mark_And_Set_Ghost_Completion): Remove parameter Mode and its assignment. (Mark_And_Set_Ghost_Declaration): Remove parameter Mode and its assignment. (Mark_And_Set_Ghost_Instantiation): Remove parameter Mode and its assignment. (Mark_And_Set_Ghost_Procedure_Call): Remove parameter Mode and its assignment. (Set_Ghost_Mode): Remove parameter Mode and its assignment. * ghost.ads (Mark_And_Set_Ghost_Assignment): Remove parameter Mode and update the comment on usage. (Mark_And_Set_Ghost_Body): Remove parameter Mode and update the comment on usage. (Mark_And_Set_Ghost_Completion): Remove parameter Mode and update the comment on usage. (Mark_And_Set_Ghost_Declaration): Remove parameter Mode and update the comment on usage. (Mark_And_Set_Ghost_Instantiation): Remove parameter Mode and update the comment on usage. (Mark_And_Set_Ghost_Procedure_Call): Remove parameter Mode and update the comment on usage. (Set_Ghost_Mode): Remove parameter Mode and update the comment on usage. * lib.ads Remove obsolete fields SPARK_Mode_Pragma from various types. * lib-load.adb (Create_Dummy_Package_Unit): Remove the assignment of obsolete field SPARK_Mode_Pragma. (Load_Main_Source): Remove the assignment of obsolete field SPARK_Mode_Pragma. (Load_Unit): Remove the assignment of obsolete field SPARK_Mode_Pragma. * lib-writ.adb (Add_Preprocessing_Dependency): Remove the assignment of obsolete field SPARK_Mode_Pragma. (Ensure_System_Dependency): Remove the assignment of obsolete field SPARK_Mode_Pragma. * rtsfind.adb (Load_RTU): Add a warning about Ghost and SPARK mode management. Change the way Ghost and SPARK modes are saved and restored. * sem.adb (Analyze): Change the way the Ghost mode is saved and restored. * sem_ch3.adb (Analyze_Object_Declaration): Change the way the Ghost mode is saved and restored. (Process_Full_View): Change the way the Ghost mode is saved and restored. * sem_ch5.adb (Analyze_Assignment): Change the way the Ghost mode is saved and restored. * sem_ch6.adb (Analyze_Procedure_Call): Change the way the Ghost mode is saved and restored. (Analyze_Subprogram_Body_Helper): Change the way the Ghost mode is saved and restored. * sem_ch7.adb (Analyze_Package_Body_Helper): Change the way the Ghost mode is saved and restored. * sem_ch10.adb (Analyze_Subunit): Add a warning about SPARK mode management. Save the SPARK mode-related data prior to any changes to the scope stack and contexts. The mode is then reinstalled before the subunit is analyzed in order to restore the original view of the subunit. * sem_ch12.adb (Analyze_Package_Instantiation): Update the warning on region management. Change the way the Ghost and SPARK modes are saved and restored. (Inline_Instance_Body): Add a warning about SPARK mode management. Code clean up. (Analyze_Subprogram_Instantiation): Update the warning on region management. Change the way the Ghost and SPARK modes are saved and restored. (Instantiate_Package_Body): Update the warning on region management. Change the way the Ghost and SPARK modes are saved and restored. (Instantiate_Subprogram_Body): Update the warning on region management. Change the way the Ghost and SPARK modes are saved and restored. (Set_Instance_Env): Add a warning about SPARK mode management. Change the way SPARK mode is saved and restored. * sem_ch13.adb (Build_Predicate_Functions): Change the way the Ghost mode is saved and restored. (Build_Predicate_Function_Declaration): Change the way the Ghost mode is saved and restored. * sem_elab.adb (Check_Elab_Calls): Add a warning about SPARK mode management. Change the way SPARK mode is saved and restored. * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Change the way the Ghost mode is saved and restored. (Analyze_Initial_Condition_In_Decl_Part): Change the way the Ghost mode is saved and restored. (Analyze_Pragma): Change the way the Ghost mode is saved and restored. (Analyze_Pre_Post_Condition_In_Decl_Part): Change the way the Ghost mode is saved and restored. * sem_util.adb (Install_SPARK_Mode): New routine. (Restore_SPARK_Mode): New routine. (Save_SPARK_Mode_And_Set): Removed. (Set_SPARK_Mode): New routine. * sem_util.ads (Install_SPARK_Mode): New routine. (Restore_SPARK_Mode): New routine. (Save_SPARK_Mode_And_Set): Removed. (Set_SPARK_Mode): New routine. From-SVN: r247230
2017-04-25[multiple changes]Arnaud Charlet1-1/+1
2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Add_Internal_Interface_Entities): Move Has_Non_Trivial_Precondition to sem_util. for use elsewhere. Improve error message on operations that inherit non-conforming classwide preconditions from ancestor and progenitor. * sem_util.ads, sem_util.adb (Has_Non_Trivial_Precondition): moved here from sem_ch3. * sem_ch8.adb (Analyze_Subprogram_Renaming): Implement legality check given in RM 6.1.1 (17) concerning renamings of overriding operations that inherits class-wide preconditions from ancestor or progenitor. 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Code cleanup. (Build_Adjust_Statements): Code cleanup. (Build_Finalizer): Update the initialization of Exceptions_OK. (Build_Finalize_Statements): Code cleanup. (Build_Initialize_Statements): Code cleanup. (Make_Deep_Array_Body): Update the initialization of Exceptions_OK. (Make_Deep_Record_Body): Update the initialization of Exceptions_OK. (Process_Object_Declaration): Generate a null exception handler only when exceptions are allowed. (Process_Transients_In_Scope): Update the initialization of Exceptions_OK. * exp_util.ads, exp_util.adb (Exceptions_In_Finalization_OK): New routine. * sem_ch11.adb (Analyze_Exception_Handlers): Do not check any restrictions when the handler is internally generated and the mode is warnings. 2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Has_Non_Trivial_Precondition): New predicate to enforce legality rule on classwide preconditions inherited from both an ancestor and a progenitor (RM 6.1.1 (10-13). * sem_disp.adb (Check_Dispatching_Context): A call to an abstract subprogram need not be dispatching if it appears in a precondition for an abstract or null subprogram. 2017-04-25 Gary Dismukes <dismukes@adacore.com> * sem_ch10.adb: Minor typo fix. From-SVN: r247192
2017-04-25sem_util.adb (New_Copy_Tree): Put back the declarations of the hash tables ↵Arnaud Charlet1-14/+20
at library level. 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> * sem_util.adb (New_Copy_Tree): Put back the declarations of the hash tables at library level. Reinstate the NCT_Hash_Tables_Used variable and set it to True whenever the main hash table is populated. Short- circuit the Assoc function if it is false and add associated guards. From-SVN: r247181
2017-04-25sem_ch9.adb, [...]: Minor reformatting and typo fixes.Gary Dismukes1-3/+3
2017-04-25 Gary Dismukes <dismukes@adacore.com> * sem_ch9.adb, sem_ch10.adb, sem_util.adb: Minor reformatting and typo fixes. From-SVN: r247137
2017-04-25[multiple changes]Arnaud Charlet1-5/+4
2017-04-25 Arnaud Charlet <charlet@adacore.com> * rtsfind.ads (SPARK_Implicit_Load): New procedure for forced loading of an entity. * rtsfind.adb (SPARK_Implicit_Load): Body with a pattern previously repeated in the analysis. * sem_ch9.adb (Analyze_Protected_Type_Declaration): use new procedure SPARK_Implicit_Load. (Analyze_Task_Type_Declaration): use new procedure SPARK_Implicit_Load. * sem_ch10.adb (Analyze_Compilation_Unit): Use new procedure SPARK_Implicit_Load. 2017-04-25 Javier Miranda <miranda@adacore.com> * sem_util.adb (New_Copy_Tree): By default copying of defining identifiers is prohibited because this would introduce an entirely new entity into the tree. This patch introduces an exception to this general rule: the declaration of constants and variables located in Expression_With_Action nodes. (Copy_Itype_With_Replacement): Renamed as Copy_Entity_With_Replacement. (In_Map): New subprogram. (Visit_Entity): New subprogram. (Visit_Node): Handle EWA_Level, EWA_Inner_Scope_Level, and take care of defining entities defined in Expression_With_Action nodes. 2017-04-25 Thomas Quinot <quinot@adacore.com> * exp_ch6.adb: minor comment edit. * sinfo.ads, sinfo.adb: New Null_Statement attribute for null procedure specifications that come from source. * par-ch6.adb (P_Subprogram, case of a null procedure): Set new Null_Statement attribute. * par_sco.adb (Traverse_Declarations_Or_Statements): For a null procedure, generate statement SCO for the generated NULL statement. * sem_ch6.adb (Analyze_Null_Procedure): Use null statement from parser, if available. From-SVN: r247136
2017-01-23sem_util.adb (New_Copy_Tree): Code cleanup: removal of the internal map (ie.Javier Miranda1-0/+42
2017-01-23 Javier Miranda <miranda@adacore.com> * sem_util.adb (New_Copy_Tree): Code cleanup: removal of the internal map (ie. variable Actual_Map, its associated local variables, and all the code handling it). * sem_ch9.adb (Analyze_Task_Type_Declaration): in GNATprove mode force loading of the System package when processing a task type. (Analyze_Protected_Type_Declaration): in GNATprove mode force loading of the System package when processing a protected type. * sem_ch10.adb (Analyze_Compilation_Unit): in GNATprove mode force loading of the System package when processing compilation unit with a main-like subprogram. * frontend.adb (Frontend): remove forced loading of the System package. From-SVN: r244810
2017-01-20[multiple changes]Arnaud Charlet1-0/+3
2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> * ghost.adb (Mark_Ghost_Clause): New routine. (Prune_Node): Do not prune compilation unit nodes. (Remove_Ignored_Ghost_Code): Prune the compilation unit node directly. This does not touch the node itself, but does prune all its fields. * ghost.ads (Mark_Ghost_Clause): New routine. * sem_ch8.adb (Analyze_Use_Package): Emit an error when a use package clause mentions Ghost and non-Ghost packages. Mark a use package clause as Ghost when it mentions a Ghost package. (Analyze_Use_Type): Emit an error when a use type clause mentions Ghost and non-Ghost types. Mark a use type clause as Ghost when it mentions a Ghost type. * sem_ch10.adb (Analyze_With_Clause): Mark a with clause as Ghost when it withs a Ghost unit. 2017-01-20 Javier Miranda <miranda@adacore.com> * sem_res.adb (Resolve_Call): If a function call returns a limited view of a type and at the point of the call the function is not declared in the extended main unit then replace it with the non-limited view, which must be available. If the called function is in the extended main unit then no action is needed since the back-end handles this case. 2017-01-20 Eric Botcazou <ebotcazou@adacore.com> * sem_ch7.adb (Contains_Subp_Or_Const_Refs): Rename into... (Contains_Subprograms_Refs): ...this. Adjust comment for constants. (Is_Subp_Or_Const_Ref): Rename into... (Is_Subprogram_Ref): ...this. (Has_Referencer): Rename Has_Non_Subp_Const_Referencer variable into Has_Non_Subprograms_Referencer and adjust comment. Remove incorrect shortcut for package declarations and bodies. 2017-01-20 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Complete_Private_Subtype): If the scope of the base type differs from that of the completion and the private subtype is an itype (created for a constraint on an access type e.g.), set Delayed_Freeze on both to prevent out-of-scope anomalies in gigi. 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): When inheriting the SPARK_Mode of a prior expression function, look at the properly resolved entity rather than the initial candidate which may denote a homonym. 2017-01-20 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Rewrite_Assertion_Kind): If the name is Precondition or Postcondition, and the context is pragma Check_Policy, indicate that this Pre-Ada2012 usage is deprecated and suggest the standard names Assertion_Policy /Pre /Post instead. From-SVN: r244704
2017-01-20sem_ch10.adb, [...]: Minor reformatting.Hristian Kirtchev1-3/+5
2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch10.adb, sem_cat.adb: Minor reformatting. From-SVN: r244703
2017-01-20[multiple changes]Arnaud Charlet1-0/+3
2017-01-20 Javier Miranda <miranda@adacore.com> * sem_ch3.adb (Access_Type_Declaration): Protect access to the Entity attribute. * sem_ch10.adb (Install_Siblings): Skip processing malformed trees. * sem_cat.adb (Validate_Categoriztion_Dependency): Skip processing malformed trees. 2017-01-20 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specification, case Dynamic_Predicate): If the entity E is a subtype that inherits a static predicate for its parent P,, the inherited and the new predicate combine in the generated predicate function, and E only has a dynamic predicate. 2017-01-20 Tristan Gingold <gingold@adacore.com> * s-boustr.ads, s-boustr.adb: New package. * Makefile.rtl: Add s-boustr. 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> * inline.adb (Process_Formals): Qualify the expression of a return statement when it yields a universal type. 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> * freeze.adb (Freeze_All): Freeze the default expressions of all eligible formal parameters that appear in entries, entry families, and protected subprograms. From-SVN: r244701
2017-01-20[multiple changes]Arnaud Charlet1-0/+8
2017-01-20 Yannick Moy <moy@adacore.com> * sem_ch10.adb (Check_No_Elab_Code_All): Do not issue an error on implicitly with'ed units in GNATprove mode. * sinfo.ads (Implicit_With): Document use of flag for implicitly with'ed units in GNATprove mode. 2017-01-20 Ed Schonberg <schonberg@adacore.com> * sem_cat.adb (Validate_Static_Object_Name): In a preelaborated unit Do not report an error on a non-static entity that appears in the context of a spec expression, such as an aspect expression. 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb: Flag298 now denotes Is_Underlying_Full_View. (Is_Underlying_Full_View): New routine. (Set_Is_Underlying_Full_View): New routine. (Write_Entity_Flags): Add an entry for Is_Underlying_Full_View. * einfo.ads Add new attribute Is_Underlying_Full_View. (Is_Underlying_Full_View): New routine along with pragma Inline. (Set_Is_Underlying_Full_View): New routine along with pragma Inline. * exp_util.adb (Build_DIC_Procedure_Body): Do not consider class-wide types and underlying full views. The first subtype is used as the working type for all Itypes, not just array base types. (Build_DIC_Procedure_Declaration): Do not consider class-wide types and underlying full views. The first subtype is used as the working type for all Itypes, not just array base types. * freeze.adb (Freeze_Entity): Inherit the freeze node of a full view or an underlying full view without clobbering the attributes of a previous freeze node. (Inherit_Freeze_Node): New routine. * sem_ch3.adb (Build_Derived_Private_Type): Mark an underlying full view as such. (Build_Underlying_Full_View): Mark an underlying full view as such. * sem_ch7.adb (Install_Private_Declarations): Mark an underlying full view as such. From-SVN: r244696
2017-01-13sem_aggr.adb, [...]: Update all eligible case statements to reflect the new ↵Hristian Kirtchev1-6/+8
style for case alternatives. 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> * sem_aggr.adb, par_sco.adb, s-osprim-mingw.adb, exp_ch5.adb, exp_prag.adb, sem_ch3.adb, xr_tabls.adb, lib-xref-spark_specific.adb, layout.adb, sem_dist.adb, exp_spark.adb, exp_ch7.adb, gnatcmd.adb, exp_util.adb, prj-proc.adb, sem_aux.adb, comperr.adb, g-memdum.adb, exp_attr.adb, s-intman-solaris.adb, exp_ch9.adb, make.adb, live.adb, g-sercom-linux.adb, sem_dim.adb, mlib-prj.adb, s-intman-posix.adb, sem_ch9.adb, sem_ch10.adb, prep.adb, einfo.adb, scng.adb, checks.adb, prj-strt.adb, sem_prag.adb, eval_fat.adb, sem_ch12.adb, sem.adb, a-numaux-x86.adb, a-stwifi.adb, i-cobol.adb, prj.adb, get_spark_xrefs.adb, s-tasini.adb, rtsfind.adb, freeze.adb, g-arrspl.adb, par-ch4.adb, sem_util.adb, sem_res.adb, expander.adb, sem_attr.adb, exp_dbug.adb, prj-pp.adb, a-stzfix.adb, s-interr.adb, s-wchcnv.adb, switch-m.adb, gnat1drv.adb, sinput-l.adb, stylesw.adb, contracts.adb, s-intman-android.adb, g-expect.adb, exp_ch4.adb, g-comlin.adb, errout.adb, sinput.adb, s-exctra.adb, repinfo.adb, g-spipat.adb, g-debpoo.adb, exp_ch6.adb, sem_ch4.adb, exp_ch13.adb, a-wtedit.adb, validsw.adb, pprint.adb, widechar.adb, makeutl.adb, ali.adb, set_targ.adb, sem_mech.adb, sem_ch6.adb, gnatdll.adb, get_scos.adb, g-pehage.adb, s-tratas-default.adb, gnatbind.adb, prj-dect.adb, g-socthi-mingw.adb, par-prag.adb, prj-nmsc.adb, exp_disp.adb, par-ch12.adb, binde.adb, sem_ch8.adb, s-tfsetr-default.adb, s-regexp.adb, gprep.adb, s-tpobop.adb, a-teioed.adb, sem_warn.adb, sem_eval.adb, g-awk.adb, s-io.adb, a-ztedit.adb, xoscons.adb, exp_intr.adb, sem_cat.adb, sprint.adb, g-socket.adb, exp_dist.adb, sem_ch13.adb, s-tfsetr-vxworks.adb, par-ch3.adb, treepr.adb, g-forstr.adb, g-catiio.adb, par-ch5.adb, uname.adb, osint.adb, exp_ch3.adb, prj-env.adb, a-strfix.adb, a-stzsup.adb, prj-tree.adb, s-fileio.adb: Update all eligible case statements to reflect the new style for case alternatives. Various code clean up and reformatting. From-SVN: r244406
2017-01-12[multiple changes]Arnaud Charlet1-15/+1
2017-01-12 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch9.adb, sem_prag.adb, s-tassta.adb, sem_util.adb, s-tarest.adb, sem_ch13.adb: Minor reformatting. 2017-01-12 Hristian Kirtchev <kirtchev@adacore.com> * exp_aggr.adb (Build_Record_Aggr_Code): Guard against a missing adjustment primitive when the ancestor type was not properly frozen. (Gen_Assign): Guard against a missing initialization primitive when the component type was not properly frozen. (Initialize_Array_Component): Guard against a missing adjustment primitive when the component type was not properly frozen. (Initialize_Record_Component): Guard against a missing adjustment primitive when the component type was not properly frozen. (Process_Transient_Component_Completion): The transient object may not be finalized when its associated type was not properly frozen. * exp_ch3.adb (Build_Assignment): Guard against a missing adjustment primitive when the component type was not properly frozen. (Build_Initialization_Call): Guard against a missing initialization primitive when the associated type was not properly frozen. (Expand_N_Object_Declaration): Guard against a missing adjustment primitive when the base type was not properly frozen. (Predefined_Primitive_Bodies): Create an empty Deep_Adjust body when there is no adjustment primitive available. Create an empty Deep_Finalize body when there is no finalization primitive available. * exp_ch4.adb (Apply_Accessibility_Check): Guard against a missing finalization primitive when the designated type was not properly frozen. (Expand_N_Allocator): Guard against a missing initialization primitive when the designated type was not properly frozen. * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add the adjustment call only when the corresponding adjustment primitive is available. * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Generate the adjustment/finalization statements only when there is an available primitive to carry out the action. (Build_Initialize_Statements): Generate the initialization/finalization statements only when there is an available primitive to carry out the action. (Make_Adjust_Call): Do not generate a call when the underlying type is not present due to a possible missing full view. (Make_Final_Call): Do not generate a call when the underlying type is not present due to a possible missing full view. (Make_Finalize_Address_Stmts): Generate an empty body when the designated type lacks a finalization primitive. (Make_Init_Call): Do not generate a call when the underlying type is not present due to a possible missing full view. (Process_Component_For_Adjust): Add the adjustment call only when the corresponding adjustment primitive is available. (Process_Component_For_Finalize): Add the finalization call only when the corresponding finalization primitive is available. (Process_Object_Declaration): Use a null statement to emulate a missing call to the finalization primitive of the object type. * exp_ch7.ads (Make_Adjust_Call): Update the comment on usage. (Make_Final_Call): Update the comment on usage. (Make_Init_Call): Update the comment on usage. * exp_util.adb (Build_Transient_Object_Statements): Code reformatting. 2017-01-12 Arnaud Charlet <charlet@adacore.com> * einfo.ads: Update documentation of Address_Taken. * sem_attr.adb (Analyze_Access_Attribute, Resolve_Attribute [Access_Attribute]): Only consider 'Access/'Unchecked_Access for subprograms when setting Address_Taken flag. 2017-01-12 Patrick Bernardi <bernardi@adacore.com> * sem_ch10.adb (Analyze_With_Clause): Removed code that turned Configurable_Run_Time_Mode off when analysing with'ed predefined libraries. From-SVN: r244365
2017-01-12contracts.adb, [...] (Pragma_Name): Change name to Pragma_Name_Unmapped.Bob Duff1-7/+7
2017-01-12 Bob Duff <duff@adacore.com> * contracts.adb, einfo.adb, errout.adb, exp_attr.adb, exp_ch3.adb, exp_ch7.adb, exp_ch9.adb, exp_prag.adb, freeze.adb, frontend.adb, ghost.adb, inline.adb, lib-writ.adb, lib-xref.adb, par.adb, par-ch10.adb, par-ch2.adb, par-prag.adb, par_sco.adb, sem_attr.adb, sem_aux.adb, sem_ch10.adb, sem_ch12.adb, sem_ch13.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_elab.adb, sem_prag.adb, sem_res.adb, sem_util.adb, sem_util.ads, sem_warn.adb, sinfo.adb, sinfo.ads, sprint.adb (Pragma_Name): Change name to Pragma_Name_Unmapped. (Pragma_Name_Mapped): Change name to Pragma_Name. This is because the "mapped" version should be the usual case. From-SVN: r244352
2017-01-06snames.ads-tmpl (Renamed): New name for the pragma argument.Bob Duff1-5/+5
2017-01-06 Bob Duff <duff@adacore.com> * snames.ads-tmpl (Renamed): New name for the pragma argument. * par-ch2.adb: Allow the new pragma (with analysis deferred to Sem_Prag). * sinfo.ads, sinfo.adb (Map_Pragma_Name, Pragma_Name_Mapped): Keep a mapping from new pragma names to old names. * sem_prag.adb: Check legality of pragma Rename_Pragma, and implement it by calling Map_Pragma_Name. * checks.adb, contracts.adb, einfo.adb, errout.adb, * exp_attr.adb, exp_ch3.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, * exp_prag.adb, exp_util.adb, freeze.adb, frontend.adb, ghost.adb, * inline.adb, lib-writ.adb, scans.adb, scans.ads, sem_attr.adb, * sem_aux.adb, sem_ch10.adb, sem_ch13.adb, sem_ch6.adb, sem_ch9.adb, * sem_elab.adb, sem_res.adb, sem_util.adb, sem_util.ads, * sem_warn.adb: Call Pragma_Name_Mapped instead of Pragma_Name as appropriate. From-SVN: r244144