aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.0/gcc/ada/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.0/gcc/ada/ChangeLog')
-rw-r--r--gcc-4.4.0/gcc/ada/ChangeLog44949
1 files changed, 44949 insertions, 0 deletions
diff --git a/gcc-4.4.0/gcc/ada/ChangeLog b/gcc-4.4.0/gcc/ada/ChangeLog
new file mode 100644
index 000000000..53bbe9110
--- /dev/null
+++ b/gcc-4.4.0/gcc/ada/ChangeLog
@@ -0,0 +1,44949 @@
+2009-04-21 Release Manager
+
+ * GCC 4.4.0 released.
+
+2009-04-09 Nick Clifton <nickc@redhat.com>
+
+ * adadecode.h: Change copyright header to refer to version
+ 3 of the GNU General Public License with version 3.1 of the
+ GCC Runtime Library Exception and to point readers at the
+ COPYING3 and COPYING3.RUNTIME files and the FSF's license web
+ page.
+ * 9drpc.adb: Likewise.
+ * a-assert.adb: Likewise.
+ * a-astaco.adb: Likewise.
+ * a-calari.adb: Likewise.
+ * a-calcon.adb: Likewise.
+ * a-calcon.ads: Likewise.
+ * a-caldel.ads: Likewise.
+ * a-calend-vms.adb: Likewise.
+ * a-calend-vms.ads: Likewise.
+ * a-calend.adb: Likewise.
+ * a-calend.ads: Likewise.
+ * a-calfor.adb: Likewise.
+ * a-catizo.adb: Likewise.
+ * a-cdlili.adb: Likewise.
+ * a-cdlili.ads: Likewise.
+ * a-cgaaso.adb: Likewise.
+ * a-cgaaso.ads: Likewise.
+ * a-cgarso.adb: Likewise.
+ * a-cgcaso.adb: Likewise.
+ * a-chacon.adb: Likewise.
+ * a-chacon.ads: Likewise.
+ * a-chahan.adb: Likewise.
+ * a-chahan.ads: Likewise.
+ * a-chlat9.ads: Likewise.
+ * a-chtgke.adb: Likewise.
+ * a-chtgke.ads: Likewise.
+ * a-chtgop.adb: Likewise.
+ * a-chtgop.ads: Likewise.
+ * a-chzla1.ads: Likewise.
+ * a-chzla9.ads: Likewise.
+ * a-cidlli.adb: Likewise.
+ * a-cidlli.ads: Likewise.
+ * a-cihama.adb: Likewise.
+ * a-cihama.ads: Likewise.
+ * a-cihase.adb: Likewise.
+ * a-cihase.ads: Likewise.
+ * a-ciorma.adb: Likewise.
+ * a-ciorma.ads: Likewise.
+ * a-ciormu.adb: Likewise.
+ * a-ciormu.ads: Likewise.
+ * a-ciorse.adb: Likewise.
+ * a-ciorse.ads: Likewise.
+ * a-clrefi.adb: Likewise.
+ * a-clrefi.ads: Likewise.
+ * a-cohama.adb: Likewise.
+ * a-cohama.ads: Likewise.
+ * a-cohase.adb: Likewise.
+ * a-cohase.ads: Likewise.
+ * a-cohata.ads: Likewise.
+ * a-coinve.adb: Likewise.
+ * a-coinve.ads: Likewise.
+ * a-colien.adb: Likewise.
+ * a-colien.ads: Likewise.
+ * a-colire.adb: Likewise.
+ * a-colire.ads: Likewise.
+ * a-comlin.adb: Likewise.
+ * a-comlin.ads: Likewise.
+ * a-convec.adb: Likewise.
+ * a-convec.ads: Likewise.
+ * a-coorma.adb: Likewise.
+ * a-coorma.ads: Likewise.
+ * a-coormu.adb: Likewise.
+ * a-coormu.ads: Likewise.
+ * a-coorse.adb: Likewise.
+ * a-coorse.ads: Likewise.
+ * a-coprnu.adb: Likewise.
+ * a-coprnu.ads: Likewise.
+ * a-crbltr.ads: Likewise.
+ * a-crbtgk.adb: Likewise.
+ * a-crbtgk.ads: Likewise.
+ * a-crbtgo.adb: Likewise.
+ * a-crbtgo.ads: Likewise.
+ * a-crdlli.adb: Likewise.
+ * a-crdlli.ads: Likewise.
+ * a-cwila1.ads: Likewise.
+ * a-cwila9.ads: Likewise.
+ * a-decima.adb: Likewise.
+ * a-decima.ads: Likewise.
+ * a-diocst.adb: Likewise.
+ * a-diocst.ads: Likewise.
+ * a-direct.adb: Likewise.
+ * a-direct.ads: Likewise.
+ * a-direio.adb: Likewise.
+ * a-direio.ads: Likewise.
+ * a-dirval-mingw.adb: Likewise.
+ * a-dirval-vms.adb: Likewise.
+ * a-dirval.adb: Likewise.
+ * a-dirval.ads: Likewise.
+ * a-dynpri.adb: Likewise.
+ * a-einuoc.adb: Likewise.
+ * a-einuoc.ads: Likewise.
+ * a-elchha.adb: Likewise.
+ * a-elchha.ads: Likewise.
+ * a-envvar.adb: Likewise.
+ * a-excach.adb: Likewise.
+ * a-except-2005.adb: Likewise.
+ * a-except-2005.ads: Likewise.
+ * a-except.adb: Likewise.
+ * a-except.ads: Likewise.
+ * a-excpol-abort.adb: Likewise.
+ * a-excpol.adb: Likewise.
+ * a-exctra.adb: Likewise.
+ * a-exctra.ads: Likewise.
+ * a-exetim-mingw.adb: Likewise.
+ * a-exetim-mingw.ads: Likewise.
+ * a-exexda.adb: Likewise.
+ * a-exexpr-gcc.adb: Likewise.
+ * a-exexpr.adb: Likewise.
+ * a-exextr.adb: Likewise.
+ * a-exstat.adb: Likewise.
+ * a-filico.adb: Likewise.
+ * a-filico.ads: Likewise.
+ * a-finali.adb: Likewise.
+ * a-finali.ads: Likewise.
+ * a-interr.ads: Likewise.
+ * a-intnam-aix.ads: Likewise.
+ * a-intnam-darwin.ads: Likewise.
+ * a-intnam-dummy.ads: Likewise.
+ * a-intnam-freebsd.ads: Likewise.
+ * a-intnam-hpux.ads: Likewise.
+ * a-intnam-irix.ads: Likewise.
+ * a-intnam-linux.ads: Likewise.
+ * a-intnam-lynxos.ads: Likewise.
+ * a-intnam-mingw.ads: Likewise.
+ * a-intnam-rtems.ads: Likewise.
+ * a-intnam-solaris.ads: Likewise.
+ * a-intnam-tru64.ads: Likewise.
+ * a-intnam-vms.ads: Likewise.
+ * a-intnam-vxworks.ads: Likewise.
+ * a-intsig.adb: Likewise.
+ * a-intsig.ads: Likewise.
+ * a-ngcefu.adb: Likewise.
+ * a-ngcoar.adb: Likewise.
+ * a-ngcoty.adb: Likewise.
+ * a-ngcoty.ads: Likewise.
+ * a-ngelfu.adb: Likewise.
+ * a-ngrear.adb: Likewise.
+ * a-ngrear.ads: Likewise.
+ * a-nudira.adb: Likewise.
+ * a-nudira.ads: Likewise.
+ * a-nuflra.adb: Likewise.
+ * a-nuflra.ads: Likewise.
+ * a-numaux-darwin.adb: Likewise.
+ * a-numaux-darwin.ads: Likewise.
+ * a-numaux-libc-x86.ads: Likewise.
+ * a-numaux-vxworks.ads: Likewise.
+ * a-numaux-x86.adb: Likewise.
+ * a-numaux-x86.ads: Likewise.
+ * a-numaux.ads: Likewise.
+ * a-rbtgso.adb: Likewise.
+ * a-rbtgso.ads: Likewise.
+ * a-reatim.ads: Likewise.
+ * a-retide.adb: Likewise.
+ * a-retide.ads: Likewise.
+ * a-rttiev.adb: Likewise.
+ * a-rttiev.ads: Likewise.
+ * a-secain.adb: Likewise.
+ * a-secain.ads: Likewise.
+ * a-sequio.adb: Likewise.
+ * a-sequio.ads: Likewise.
+ * a-shcain.adb: Likewise.
+ * a-shcain.ads: Likewise.
+ * a-siocst.adb: Likewise.
+ * a-siocst.ads: Likewise.
+ * a-slcain.adb: Likewise.
+ * a-slcain.ads: Likewise.
+ * a-ssicst.adb: Likewise.
+ * a-ssicst.ads: Likewise.
+ * a-stboha.adb: Likewise.
+ * a-stmaco.ads: Likewise.
+ * a-storio.adb: Likewise.
+ * a-strbou.adb: Likewise.
+ * a-strbou.ads: Likewise.
+ * a-stream.ads: Likewise.
+ * a-strfix.adb: Likewise.
+ * a-strhas.adb: Likewise.
+ * a-strmap.adb: Likewise.
+ * a-strmap.ads: Likewise.
+ * a-strsea.adb: Likewise.
+ * a-strsea.ads: Likewise.
+ * a-strsup.adb: Likewise.
+ * a-strsup.ads: Likewise.
+ * a-strunb.adb: Likewise.
+ * a-strunb.ads: Likewise.
+ * a-ststio.adb: Likewise.
+ * a-ststio.ads: Likewise.
+ * a-stunau.adb: Likewise.
+ * a-stunau.ads: Likewise.
+ * a-stunha.adb: Likewise.
+ * a-stwibo.adb: Likewise.
+ * a-stwibo.ads: Likewise.
+ * a-stwifi.adb: Likewise.
+ * a-stwiha.adb: Likewise.
+ * a-stwima.adb: Likewise.
+ * a-stwima.ads: Likewise.
+ * a-stwise.adb: Likewise.
+ * a-stwise.ads: Likewise.
+ * a-stwisu.adb: Likewise.
+ * a-stwisu.ads: Likewise.
+ * a-stwiun.adb: Likewise.
+ * a-stwiun.ads: Likewise.
+ * a-stzbou.adb: Likewise.
+ * a-stzbou.ads: Likewise.
+ * a-stzfix.adb: Likewise.
+ * a-stzhas.adb: Likewise.
+ * a-stzmap.adb: Likewise.
+ * a-stzmap.ads: Likewise.
+ * a-stzsea.adb: Likewise.
+ * a-stzsea.ads: Likewise.
+ * a-stzsup.adb: Likewise.
+ * a-stzsup.ads: Likewise.
+ * a-stzunb.adb: Likewise.
+ * a-stzunb.ads: Likewise.
+ * a-suteio.adb: Likewise.
+ * a-suteio.ads: Likewise.
+ * a-swbwha.adb: Likewise.
+ * a-swmwco.ads: Likewise.
+ * a-swunau.adb: Likewise.
+ * a-swunau.ads: Likewise.
+ * a-swuwha.adb: Likewise.
+ * a-swuwti.adb: Likewise.
+ * a-swuwti.ads: Likewise.
+ * a-sytaco.adb: Likewise.
+ * a-sytaco.ads: Likewise.
+ * a-szbzha.adb: Likewise.
+ * a-szmzco.ads: Likewise.
+ * a-szunau.adb: Likewise.
+ * a-szunau.ads: Likewise.
+ * a-szuzha.adb: Likewise.
+ * a-szuzti.adb: Likewise.
+ * a-szuzti.ads: Likewise.
+ * a-tags.adb: Likewise.
+ * a-tags.ads: Likewise.
+ * a-tasatt.ads: Likewise.
+ * a-taside.adb: Likewise.
+ * a-taside.ads: Likewise.
+ * a-taster.adb: Likewise.
+ * a-teioed.adb: Likewise.
+ * a-teioed.ads: Likewise.
+ * a-textio.adb: Likewise.
+ * a-textio.ads: Likewise.
+ * a-tiboio.adb: Likewise.
+ * a-ticoau.adb: Likewise.
+ * a-ticoau.ads: Likewise.
+ * a-ticoio.adb: Likewise.
+ * a-ticoio.ads: Likewise.
+ * a-tideau.adb: Likewise.
+ * a-tideau.ads: Likewise.
+ * a-tideio.adb: Likewise.
+ * a-tideio.ads: Likewise.
+ * a-tienau.adb: Likewise.
+ * a-tienau.ads: Likewise.
+ * a-tienio.adb: Likewise.
+ * a-tienio.ads: Likewise.
+ * a-tifiio.adb: Likewise.
+ * a-tifiio.ads: Likewise.
+ * a-tiflau.adb: Likewise.
+ * a-tiflau.ads: Likewise.
+ * a-tiflio.adb: Likewise.
+ * a-tiflio.ads: Likewise.
+ * a-tigeau.adb: Likewise.
+ * a-tigeau.ads: Likewise.
+ * a-tiinau.adb: Likewise.
+ * a-tiinau.ads: Likewise.
+ * a-tiinio.adb: Likewise.
+ * a-tiinio.ads: Likewise.
+ * a-timoau.adb: Likewise.
+ * a-timoau.ads: Likewise.
+ * a-timoio.adb: Likewise.
+ * a-timoio.ads: Likewise.
+ * a-tiocst.adb: Likewise.
+ * a-tiocst.ads: Likewise.
+ * a-titest.adb: Likewise.
+ * a-wichun.adb: Likewise.
+ * a-wichun.ads: Likewise.
+ * a-witeio.adb: Likewise.
+ * a-witeio.ads: Likewise.
+ * a-wtcoau.adb: Likewise.
+ * a-wtcoau.ads: Likewise.
+ * a-wtcoio.adb: Likewise.
+ * a-wtcstr.adb: Likewise.
+ * a-wtcstr.ads: Likewise.
+ * a-wtdeau.adb: Likewise.
+ * a-wtdeau.ads: Likewise.
+ * a-wtdeio.adb: Likewise.
+ * a-wtdeio.ads: Likewise.
+ * a-wtedit.adb: Likewise.
+ * a-wtedit.ads: Likewise.
+ * a-wtenau.adb: Likewise.
+ * a-wtenau.ads: Likewise.
+ * a-wtenio.adb: Likewise.
+ * a-wtenio.ads: Likewise.
+ * a-wtfiio.adb: Likewise.
+ * a-wtfiio.ads: Likewise.
+ * a-wtflau.adb: Likewise.
+ * a-wtflau.ads: Likewise.
+ * a-wtflio.adb: Likewise.
+ * a-wtflio.ads: Likewise.
+ * a-wtgeau.adb: Likewise.
+ * a-wtgeau.ads: Likewise.
+ * a-wtinau.adb: Likewise.
+ * a-wtinau.ads: Likewise.
+ * a-wtinio.adb: Likewise.
+ * a-wtmoau.adb: Likewise.
+ * a-wtmoau.ads: Likewise.
+ * a-wtmoio.adb: Likewise.
+ * a-wtmoio.ads: Likewise.
+ * a-wttest.adb: Likewise.
+ * a-wwboio.adb: Likewise.
+ * a-zchuni.adb: Likewise.
+ * a-zchuni.ads: Likewise.
+ * a-ztcoau.adb: Likewise.
+ * a-ztcoau.ads: Likewise.
+ * a-ztcoio.adb: Likewise.
+ * a-ztcstr.adb: Likewise.
+ * a-ztcstr.ads: Likewise.
+ * a-ztdeau.adb: Likewise.
+ * a-ztdeau.ads: Likewise.
+ * a-ztdeio.adb: Likewise.
+ * a-ztdeio.ads: Likewise.
+ * a-ztedit.adb: Likewise.
+ * a-ztedit.ads: Likewise.
+ * a-ztenau.adb: Likewise.
+ * a-ztenau.ads: Likewise.
+ * a-ztenio.adb: Likewise.
+ * a-ztenio.ads: Likewise.
+ * a-ztexio.adb: Likewise.
+ * a-ztexio.ads: Likewise.
+ * a-ztfiio.adb: Likewise.
+ * a-ztfiio.ads: Likewise.
+ * a-ztflau.adb: Likewise.
+ * a-ztflau.ads: Likewise.
+ * a-ztflio.adb: Likewise.
+ * a-ztflio.ads: Likewise.
+ * a-ztgeau.adb: Likewise.
+ * a-ztgeau.ads: Likewise.
+ * a-ztinau.adb: Likewise.
+ * a-ztinau.ads: Likewise.
+ * a-ztinio.adb: Likewise.
+ * a-ztmoau.adb: Likewise.
+ * a-ztmoau.ads: Likewise.
+ * a-ztmoio.adb: Likewise.
+ * a-ztmoio.ads: Likewise.
+ * a-zttest.adb: Likewise.
+ * a-zzboio.adb: Likewise.
+ * adadecode.c: Likewise.
+ * adaint.c: Likewise.
+ * adaint.h: Likewise.
+ * alloc.ads: Likewise.
+ * argv.c: Likewise.
+ * arit64.c: Likewise.
+ * atree.adb: Likewise.
+ * atree.ads: Likewise.
+ * aux-io.c: Likewise.
+ * cal.c: Likewise.
+ * casing.adb: Likewise.
+ * casing.ads: Likewise.
+ * cio.c: Likewise.
+ * csets.adb: Likewise.
+ * csets.ads: Likewise.
+ * cstreams.c: Likewise.
+ * ctrl_c.c: Likewise.
+ * debug.adb: Likewise.
+ * debug.ads: Likewise.
+ * dec.ads: Likewise.
+ * einfo.adb: Likewise.
+ * einfo.ads: Likewise.
+ * elists.adb: Likewise.
+ * elists.ads: Likewise.
+ * env.c: Likewise.
+ * env.h: Likewise.
+ * errno.c: Likewise.
+ * exit.c: Likewise.
+ * fe.h: Likewise.
+ * final.c: Likewise.
+ * fname.adb: Likewise.
+ * fname.ads: Likewise.
+ * g-allein.ads: Likewise.
+ * g-alleve.adb: Likewise.
+ * g-alleve.ads: Likewise.
+ * g-altcon.adb: Likewise.
+ * g-altcon.ads: Likewise.
+ * g-altive.ads: Likewise.
+ * g-alveop.adb: Likewise.
+ * g-alveop.ads: Likewise.
+ * g-alvety.ads: Likewise.
+ * g-alvevi.ads: Likewise.
+ * g-arrspl.adb: Likewise.
+ * g-arrspl.ads: Likewise.
+ * g-calend.ads: Likewise.
+ * g-comlin.adb: Likewise.
+ * g-debpoo.adb: Likewise.
+ * g-debpoo.ads: Likewise.
+ * g-eacodu-vms.adb: Likewise.
+ * g-eacodu.adb: Likewise.
+ * g-excact.adb: Likewise.
+ * g-excact.ads: Likewise.
+ * g-locfil.adb: Likewise.
+ * g-os_lib.ads: Likewise.
+ * g-rannum.adb: Likewise.
+ * g-rannum.ads: Likewise.
+ * g-regist.adb: Likewise.
+ * g-regist.ads: Likewise.
+ * g-signal.adb: Likewise.
+ * g-signal.ads: Likewise.
+ * g-soccon.ads: Likewise.
+ * g-string.adb: Likewise.
+ * g-string.ads: Likewise.
+ * g-strspl.ads: Likewise.
+ * g-timsta.adb: Likewise.
+ * g-timsta.ads: Likewise.
+ * g-trasym-vms-alpha.adb: Likewise.
+ * g-trasym-vms-ia64.adb: Likewise.
+ * g-utf_32.adb: Likewise.
+ * g-utf_32.ads: Likewise.
+ * g-wistsp.ads: Likewise.
+ * g-zstspl.ads: Likewise.
+ * gmem.c: Likewise.
+ * gnatvsn.adb: Likewise.
+ * gnatvsn.ads: Likewise.
+ * gsocket.h: Likewise.
+ * hostparm.ads: Likewise.
+ * i-c.adb: Likewise.
+ * i-cexten.ads: Likewise.
+ * i-cobol.adb: Likewise.
+ * i-cobol.ads: Likewise.
+ * i-cpoint.adb: Likewise.
+ * i-cpoint.ads: Likewise.
+ * i-cpp.adb: Likewise.
+ * i-cpp.ads: Likewise.
+ * i-cstrea-vms.adb: Likewise.
+ * i-cstrea.adb: Likewise.
+ * i-cstrea.ads: Likewise.
+ * i-cstrin.adb: Likewise.
+ * i-cstrin.ads: Likewise.
+ * i-forbla-darwin.adb: Likewise.
+ * i-forbla-unimplemented.ads: Likewise.
+ * i-forbla.adb: Likewise.
+ * i-forbla.ads: Likewise.
+ * i-forlap.ads: Likewise.
+ * i-fortra.adb: Likewise.
+ * i-pacdec.adb: Likewise.
+ * i-pacdec.ads: Likewise.
+ * i-vxwoio.adb: Likewise.
+ * i-vxwoio.ads: Likewise.
+ * indepsw-aix.adb: Likewise.
+ * indepsw-gnu.adb: Likewise.
+ * indepsw-mingw.adb: Likewise.
+ * indepsw.adb: Likewise.
+ * indepsw.ads: Likewise.
+ * init.c: Likewise.
+ * initialize.c: Likewise.
+ * interfac.ads: Likewise.
+ * krunch.adb: Likewise.
+ * krunch.ads: Likewise.
+ * lib-list.adb: Likewise.
+ * lib-sort.adb: Likewise.
+ * lib.adb: Likewise.
+ * lib.ads: Likewise.
+ * link.c: Likewise.
+ * math_lib.adb: Likewise.
+ * memtrack.adb: Likewise.
+ * mingw32.h: Likewise.
+ * mkdir.c: Likewise.
+ * namet-sp.adb: Likewise.
+ * namet-sp.ads: Likewise.
+ * namet.adb: Likewise.
+ * namet.ads: Likewise.
+ * nlists.adb: Likewise.
+ * nlists.ads: Likewise.
+ * opt.adb: Likewise.
+ * opt.ads: Likewise.
+ * output.adb: Likewise.
+ * output.ads: Likewise.
+ * raise-gcc.c: Likewise.
+ * raise.c: Likewise.
+ * raise.h: Likewise.
+ * repinfo.adb: Likewise.
+ * repinfo.ads: Likewise.
+ * repinfo.h: Likewise.
+ * rident.ads: Likewise.
+ * s-addima.adb: Likewise.
+ * s-addima.ads: Likewise.
+ * s-addope.adb: Likewise.
+ * s-addope.ads: Likewise.
+ * s-arit64.adb: Likewise.
+ * s-arit64.ads: Likewise.
+ * s-assert.adb: Likewise.
+ * s-assert.ads: Likewise.
+ * s-asthan-vms-alpha.adb: Likewise.
+ * s-asthan.adb: Likewise.
+ * s-asthan.ads: Likewise.
+ * s-atacco.adb: Likewise.
+ * s-atacco.ads: Likewise.
+ * s-auxdec-empty.adb: Likewise.
+ * s-auxdec-empty.ads: Likewise.
+ * s-auxdec-vms_64.ads: Likewise.
+ * s-auxdec.adb: Likewise.
+ * s-auxdec.ads: Likewise.
+ * s-bitops.adb: Likewise.
+ * s-bitops.ads: Likewise.
+ * s-boarop.ads: Likewise.
+ * s-carsi8.adb: Likewise.
+ * s-carsi8.ads: Likewise.
+ * s-carun8.adb: Likewise.
+ * s-carun8.ads: Likewise.
+ * s-casi16.adb: Likewise.
+ * s-casi16.ads: Likewise.
+ * s-casi32.adb: Likewise.
+ * s-casi32.ads: Likewise.
+ * s-casi64.adb: Likewise.
+ * s-casi64.ads: Likewise.
+ * s-casuti.ads: Likewise.
+ * s-caun16.adb: Likewise.
+ * s-caun16.ads: Likewise.
+ * s-caun32.adb: Likewise.
+ * s-caun32.ads: Likewise.
+ * s-caun64.adb: Likewise.
+ * s-caun64.ads: Likewise.
+ * s-chepoo.ads: Likewise.
+ * s-crc32.adb: Likewise.
+ * s-crc32.ads: Likewise.
+ * s-crtl.ads: Likewise.
+ * s-direio.adb: Likewise.
+ * s-direio.ads: Likewise.
+ * s-dsaser.ads: Likewise.
+ * s-except.adb: Likewise.
+ * s-except.ads: Likewise.
+ * s-exctab.adb: Likewise.
+ * s-exctab.ads: Likewise.
+ * s-exnint.adb: Likewise.
+ * s-exnint.ads: Likewise.
+ * s-exnllf.adb: Likewise.
+ * s-exnllf.ads: Likewise.
+ * s-exnlli.adb: Likewise.
+ * s-exnlli.ads: Likewise.
+ * s-expint.adb: Likewise.
+ * s-expint.ads: Likewise.
+ * s-explli.adb: Likewise.
+ * s-explli.ads: Likewise.
+ * s-expllu.adb: Likewise.
+ * s-expllu.ads: Likewise.
+ * s-expmod.adb: Likewise.
+ * s-expmod.ads: Likewise.
+ * s-expuns.adb: Likewise.
+ * s-expuns.ads: Likewise.
+ * s-fatflt.ads: Likewise.
+ * s-fatgen.adb: Likewise.
+ * s-fatgen.ads: Likewise.
+ * s-fatlfl.ads: Likewise.
+ * s-fatllf.ads: Likewise.
+ * s-fatsfl.ads: Likewise.
+ * s-ficobl.ads: Likewise.
+ * s-fileio.adb: Likewise.
+ * s-fileio.ads: Likewise.
+ * s-filofl.ads: Likewise.
+ * s-finimp.adb: Likewise.
+ * s-finimp.ads: Likewise.
+ * s-finroo.adb: Likewise.
+ * s-finroo.ads: Likewise.
+ * s-fishfl.ads: Likewise.
+ * s-fore.adb: Likewise.
+ * s-fore.ads: Likewise.
+ * s-fvadfl.ads: Likewise.
+ * s-fvaffl.ads: Likewise.
+ * s-fvagfl.ads: Likewise.
+ * s-gearop.adb: Likewise.
+ * s-gearop.ads: Likewise.
+ * s-gecobl.adb: Likewise.
+ * s-gecobl.ads: Likewise.
+ * s-gecola.adb: Likewise.
+ * s-gecola.ads: Likewise.
+ * s-gerebl.adb: Likewise.
+ * s-gerebl.ads: Likewise.
+ * s-gerela.adb: Likewise.
+ * s-gerela.ads: Likewise.
+ * s-geveop.adb: Likewise.
+ * s-geveop.ads: Likewise.
+ * s-gloloc.adb: Likewise.
+ * s-gloloc.ads: Likewise.
+ * s-hibaen.ads: Likewise.
+ * s-imenne.adb: Likewise.
+ * s-imenne.ads: Likewise.
+ * s-imgbiu.adb: Likewise.
+ * s-imgbiu.ads: Likewise.
+ * s-imgboo.adb: Likewise.
+ * s-imgboo.ads: Likewise.
+ * s-imgcha.adb: Likewise.
+ * s-imgcha.ads: Likewise.
+ * s-imgdec.adb: Likewise.
+ * s-imgdec.ads: Likewise.
+ * s-imgenu.adb: Likewise.
+ * s-imgenu.ads: Likewise.
+ * s-imgint.adb: Likewise.
+ * s-imgint.ads: Likewise.
+ * s-imgllb.adb: Likewise.
+ * s-imgllb.ads: Likewise.
+ * s-imglld.adb: Likewise.
+ * s-imglld.ads: Likewise.
+ * s-imglli.adb: Likewise.
+ * s-imglli.ads: Likewise.
+ * s-imgllu.adb: Likewise.
+ * s-imgllu.ads: Likewise.
+ * s-imgllw.adb: Likewise.
+ * s-imgllw.ads: Likewise.
+ * s-imgrea.adb: Likewise.
+ * s-imgrea.ads: Likewise.
+ * s-imguns.adb: Likewise.
+ * s-imguns.ads: Likewise.
+ * s-imgwch.adb: Likewise.
+ * s-imgwch.ads: Likewise.
+ * s-imgwiu.adb: Likewise.
+ * s-imgwiu.ads: Likewise.
+ * s-inmaop-dummy.adb: Likewise.
+ * s-inmaop-vms.adb: Likewise.
+ * s-inmaop.ads: Likewise.
+ * s-interr-hwint.adb: Likewise.
+ * s-interr-sigaction.adb: Likewise.
+ * s-interr-vms.adb: Likewise.
+ * s-interr.adb: Likewise.
+ * s-interr.ads: Likewise.
+ * s-intman-dummy.adb: Likewise.
+ * s-intman-mingw.adb: Likewise.
+ * s-intman-posix.adb: Likewise.
+ * s-intman-solaris.adb: Likewise.
+ * s-intman-vms.adb: Likewise.
+ * s-intman-vms.ads: Likewise.
+ * s-intman-vxworks.adb: Likewise.
+ * s-intman-vxworks.ads: Likewise.
+ * s-intman.ads: Likewise.
+ * s-io.adb: Likewise.
+ * s-io.ads: Likewise.
+ * s-linux-alpha.ads: Likewise.
+ * s-linux-hppa.ads: Likewise.
+ * s-linux.ads: Likewise.
+ * s-maccod.ads: Likewise.
+ * s-mantis.adb: Likewise.
+ * s-mantis.ads: Likewise.
+ * s-mastop-irix.adb: Likewise.
+ * s-mastop.adb: Likewise.
+ * s-mastop.ads: Likewise.
+ * s-memcop.ads: Likewise.
+ * s-memory-mingw.adb: Likewise.
+ * s-memory.adb: Likewise.
+ * s-memory.ads: Likewise.
+ * s-os_lib.ads: Likewise.
+ * s-oscons-tmplt.c: Likewise.
+ * s-osinte-aix.adb: Likewise.
+ * s-osinte-darwin.adb: Likewise.
+ * s-osinte-freebsd.adb: Likewise.
+ * s-osinte-irix.adb: Likewise.
+ * s-osinte-lynxos-3.adb: Likewise.
+ * s-osinte-rtems.ads: Likewise.
+ * s-osinte-tru64.adb: Likewise.
+ * s-osinte-vxworks-kernel.adb: Likewise.
+ * s-osinte-vxworks.adb: Likewise.
+ * s-osprim-mingw.adb: Likewise.
+ * s-osprim-posix.adb: Likewise.
+ * s-osprim-solaris.adb: Likewise.
+ * s-osprim-unix.adb: Likewise.
+ * s-osprim-vms.adb: Likewise.
+ * s-osprim-vms.ads: Likewise.
+ * s-osprim-vxworks.adb: Likewise.
+ * s-osprim.ads: Likewise.
+ * s-pack03.adb: Likewise.
+ * s-pack03.ads: Likewise.
+ * s-pack05.adb: Likewise.
+ * s-pack05.ads: Likewise.
+ * s-pack06.adb: Likewise.
+ * s-pack06.ads: Likewise.
+ * s-pack07.adb: Likewise.
+ * s-pack07.ads: Likewise.
+ * s-pack09.adb: Likewise.
+ * s-pack09.ads: Likewise.
+ * s-pack10.adb: Likewise.
+ * s-pack10.ads: Likewise.
+ * s-pack11.adb: Likewise.
+ * s-pack11.ads: Likewise.
+ * s-pack12.adb: Likewise.
+ * s-pack12.ads: Likewise.
+ * s-pack13.adb: Likewise.
+ * s-pack13.ads: Likewise.
+ * s-pack14.adb: Likewise.
+ * s-pack14.ads: Likewise.
+ * s-pack15.adb: Likewise.
+ * s-pack15.ads: Likewise.
+ * s-pack17.adb: Likewise.
+ * s-pack17.ads: Likewise.
+ * s-pack18.adb: Likewise.
+ * s-pack18.ads: Likewise.
+ * s-pack19.adb: Likewise.
+ * s-pack19.ads: Likewise.
+ * s-pack20.adb: Likewise.
+ * s-pack20.ads: Likewise.
+ * s-pack21.adb: Likewise.
+ * s-pack21.ads: Likewise.
+ * s-pack22.adb: Likewise.
+ * s-pack22.ads: Likewise.
+ * s-pack23.adb: Likewise.
+ * s-pack23.ads: Likewise.
+ * s-pack24.adb: Likewise.
+ * s-pack24.ads: Likewise.
+ * s-pack25.adb: Likewise.
+ * s-pack25.ads: Likewise.
+ * s-pack26.adb: Likewise.
+ * s-pack26.ads: Likewise.
+ * s-pack27.adb: Likewise.
+ * s-pack27.ads: Likewise.
+ * s-pack28.adb: Likewise.
+ * s-pack28.ads: Likewise.
+ * s-pack29.adb: Likewise.
+ * s-pack29.ads: Likewise.
+ * s-pack30.adb: Likewise.
+ * s-pack30.ads: Likewise.
+ * s-pack31.adb: Likewise.
+ * s-pack31.ads: Likewise.
+ * s-pack33.adb: Likewise.
+ * s-pack33.ads: Likewise.
+ * s-pack34.adb: Likewise.
+ * s-pack34.ads: Likewise.
+ * s-pack35.adb: Likewise.
+ * s-pack35.ads: Likewise.
+ * s-pack36.adb: Likewise.
+ * s-pack36.ads: Likewise.
+ * s-pack37.adb: Likewise.
+ * s-pack37.ads: Likewise.
+ * s-pack38.adb: Likewise.
+ * s-pack38.ads: Likewise.
+ * s-pack39.adb: Likewise.
+ * s-pack39.ads: Likewise.
+ * s-pack40.adb: Likewise.
+ * s-pack40.ads: Likewise.
+ * s-pack41.adb: Likewise.
+ * s-pack41.ads: Likewise.
+ * s-pack42.adb: Likewise.
+ * s-pack42.ads: Likewise.
+ * s-pack43.adb: Likewise.
+ * s-pack43.ads: Likewise.
+ * s-pack44.adb: Likewise.
+ * s-pack44.ads: Likewise.
+ * s-pack45.adb: Likewise.
+ * s-pack45.ads: Likewise.
+ * s-pack46.adb: Likewise.
+ * s-pack46.ads: Likewise.
+ * s-pack47.adb: Likewise.
+ * s-pack47.ads: Likewise.
+ * s-pack48.adb: Likewise.
+ * s-pack48.ads: Likewise.
+ * s-pack49.adb: Likewise.
+ * s-pack49.ads: Likewise.
+ * s-pack50.adb: Likewise.
+ * s-pack50.ads: Likewise.
+ * s-pack51.adb: Likewise.
+ * s-pack51.ads: Likewise.
+ * s-pack52.adb: Likewise.
+ * s-pack52.ads: Likewise.
+ * s-pack53.adb: Likewise.
+ * s-pack53.ads: Likewise.
+ * s-pack54.adb: Likewise.
+ * s-pack54.ads: Likewise.
+ * s-pack55.adb: Likewise.
+ * s-pack55.ads: Likewise.
+ * s-pack56.adb: Likewise.
+ * s-pack56.ads: Likewise.
+ * s-pack57.adb: Likewise.
+ * s-pack57.ads: Likewise.
+ * s-pack58.adb: Likewise.
+ * s-pack58.ads: Likewise.
+ * s-pack59.adb: Likewise.
+ * s-pack59.ads: Likewise.
+ * s-pack60.adb: Likewise.
+ * s-pack60.ads: Likewise.
+ * s-pack61.adb: Likewise.
+ * s-pack61.ads: Likewise.
+ * s-pack62.adb: Likewise.
+ * s-pack62.ads: Likewise.
+ * s-pack63.adb: Likewise.
+ * s-pack63.ads: Likewise.
+ * s-parame-ae653.ads: Likewise.
+ * s-parame-hpux.ads: Likewise.
+ * s-parame-rtems.adb: Likewise.
+ * s-parame-vms-alpha.ads: Likewise.
+ * s-parame-vms-ia64.ads: Likewise.
+ * s-parame-vms-restrict.ads: Likewise.
+ * s-parame-vxworks.adb: Likewise.
+ * s-parame-vxworks.ads: Likewise.
+ * s-parame.adb: Likewise.
+ * s-parame.ads: Likewise.
+ * s-parint.adb: Likewise.
+ * s-parint.ads: Likewise.
+ * s-pooglo.adb: Likewise.
+ * s-pooglo.ads: Likewise.
+ * s-pooloc.adb: Likewise.
+ * s-pooloc.ads: Likewise.
+ * s-poosiz.adb: Likewise.
+ * s-poosiz.ads: Likewise.
+ * s-powtab.ads: Likewise.
+ * s-proinf-irix-athread.adb: Likewise.
+ * s-proinf-irix-athread.ads: Likewise.
+ * s-proinf.adb: Likewise.
+ * s-proinf.ads: Likewise.
+ * s-purexc.ads: Likewise.
+ * s-rannum.adb: Likewise.
+ * s-rannum.ads: Likewise.
+ * s-restri.adb: Likewise.
+ * s-restri.ads: Likewise.
+ * s-rident.ads: Likewise.
+ * s-rpc.adb: Likewise.
+ * s-rpc.ads: Likewise.
+ * s-scaval.adb: Likewise.
+ * s-scaval.ads: Likewise.
+ * s-secsta.adb: Likewise.
+ * s-secsta.ads: Likewise.
+ * s-sequio.adb: Likewise.
+ * s-sequio.ads: Likewise.
+ * s-shasto.adb: Likewise.
+ * s-shasto.ads: Likewise.
+ * s-soflin.adb: Likewise.
+ * s-soflin.ads: Likewise.
+ * s-solita.adb: Likewise.
+ * s-solita.ads: Likewise.
+ * s-sopco3.adb: Likewise.
+ * s-sopco3.ads: Likewise.
+ * s-sopco4.adb: Likewise.
+ * s-sopco4.ads: Likewise.
+ * s-sopco5.adb: Likewise.
+ * s-sopco5.ads: Likewise.
+ * s-stache.adb: Likewise.
+ * s-stache.ads: Likewise.
+ * s-stalib.adb: Likewise.
+ * s-stalib.ads: Likewise.
+ * s-stausa.adb: Likewise.
+ * s-stausa.ads: Likewise.
+ * s-stchop-limit.ads: Likewise.
+ * s-stchop-rtems.adb: Likewise.
+ * s-stchop-vxworks.adb: Likewise.
+ * s-stchop.adb: Likewise.
+ * s-stchop.ads: Likewise.
+ * s-stoele.adb: Likewise.
+ * s-stoele.ads: Likewise.
+ * s-stopoo.adb: Likewise.
+ * s-stopoo.ads: Likewise.
+ * s-stratt.adb: Likewise.
+ * s-stratt.ads: Likewise.
+ * s-strcom.adb: Likewise.
+ * s-strcom.ads: Likewise.
+ * s-string.adb: Likewise.
+ * s-string.ads: Likewise.
+ * s-strops.adb: Likewise.
+ * s-strops.ads: Likewise.
+ * s-strxdr.adb: Likewise.
+ * s-ststop.adb: Likewise.
+ * s-ststop.ads: Likewise.
+ * s-taasde.adb: Likewise.
+ * s-taasde.ads: Likewise.
+ * s-tadeca.adb: Likewise.
+ * s-tadeca.ads: Likewise.
+ * s-tadert.adb: Likewise.
+ * s-tadert.ads: Likewise.
+ * s-taenca.adb: Likewise.
+ * s-taenca.ads: Likewise.
+ * s-taprob.ads: Likewise.
+ * s-taprop-dummy.adb: Likewise.
+ * s-taprop-hpux-dce.adb: Likewise.
+ * s-taprop-irix.adb: Likewise.
+ * s-taprop-linux.adb: Likewise.
+ * s-taprop-lynxos.adb: Likewise.
+ * s-taprop-mingw.adb: Likewise.
+ * s-taprop-posix.adb: Likewise.
+ * s-taprop-solaris.adb: Likewise.
+ * s-taprop-tru64.adb: Likewise.
+ * s-taprop-vms.adb: Likewise.
+ * s-taprop-vxworks.adb: Likewise.
+ * s-taprop.ads: Likewise.
+ * s-tarest.adb: Likewise.
+ * s-tarest.ads: Likewise.
+ * s-tasdeb.adb: Likewise.
+ * s-tasdeb.ads: Likewise.
+ * s-tasinf-irix.ads: Likewise.
+ * s-tasinf-linux.adb: Likewise.
+ * s-tasinf-linux.ads: Likewise.
+ * s-tasinf-mingw.adb: Likewise.
+ * s-tasinf-mingw.ads: Likewise.
+ * s-tasinf-solaris.adb: Likewise.
+ * s-tasinf-solaris.ads: Likewise.
+ * s-tasinf-tru64.ads: Likewise.
+ * s-tasinf.adb: Likewise.
+ * s-tasinf.ads: Likewise.
+ * s-tasini.adb: Likewise.
+ * s-tasini.ads: Likewise.
+ * s-taskin.adb: Likewise.
+ * s-taskin.ads: Likewise.
+ * s-taspri-dummy.ads: Likewise.
+ * s-taspri-hpux-dce.ads: Likewise.
+ * s-taspri-mingw.ads: Likewise.
+ * s-taspri-solaris.ads: Likewise.
+ * s-taspri-tru64.ads: Likewise.
+ * s-taspri-vms.ads: Likewise.
+ * s-taspri-vxworks.ads: Likewise.
+ * s-tasque.adb: Likewise.
+ * s-tasque.ads: Likewise.
+ * s-tasren.adb: Likewise.
+ * s-tasren.ads: Likewise.
+ * s-tasres.ads: Likewise.
+ * s-tassta.adb: Likewise.
+ * s-tassta.ads: Likewise.
+ * s-tasuti.adb: Likewise.
+ * s-tasuti.ads: Likewise.
+ * s-tfsetr-default.adb: Likewise.
+ * s-tfsetr-vxworks.adb: Likewise.
+ * s-tpinop.adb: Likewise.
+ * s-tpinop.ads: Likewise.
+ * s-tpoben.adb: Likewise.
+ * s-tpoben.ads: Likewise.
+ * s-tpobop.adb: Likewise.
+ * s-tpobop.ads: Likewise.
+ * s-tpopde-vms.adb: Likewise.
+ * s-tpopde-vms.ads: Likewise.
+ * s-tpopsp-lynxos.adb: Likewise.
+ * s-tpopsp-posix-foreign.adb: Likewise.
+ * s-tpopsp-posix.adb: Likewise.
+ * s-tpopsp-solaris.adb: Likewise.
+ * s-tpopsp-vxworks.adb: Likewise.
+ * s-tporft.adb: Likewise.
+ * s-tposen.adb: Likewise.
+ * s-tposen.ads: Likewise.
+ * s-traceb.adb: Likewise.
+ * s-traceb.ads: Likewise.
+ * s-traces-default.adb: Likewise.
+ * s-traces.adb: Likewise.
+ * s-traces.ads: Likewise.
+ * s-traent-vms.adb: Likewise.
+ * s-traent-vms.ads: Likewise.
+ * s-traent.adb: Likewise.
+ * s-traent.ads: Likewise.
+ * s-trafor-default.adb: Likewise.
+ * s-trafor-default.ads: Likewise.
+ * s-tratas-default.adb: Likewise.
+ * s-tratas.adb: Likewise.
+ * s-tratas.ads: Likewise.
+ * s-unstyp.ads: Likewise.
+ * s-utf_32.adb: Likewise.
+ * s-utf_32.ads: Likewise.
+ * s-vaflop-vms-alpha.adb: Likewise.
+ * s-vaflop.adb: Likewise.
+ * s-vaflop.ads: Likewise.
+ * s-valboo.adb: Likewise.
+ * s-valboo.ads: Likewise.
+ * s-valcha.adb: Likewise.
+ * s-valcha.ads: Likewise.
+ * s-valdec.adb: Likewise.
+ * s-valdec.ads: Likewise.
+ * s-valenu.adb: Likewise.
+ * s-valenu.ads: Likewise.
+ * s-valint.adb: Likewise.
+ * s-valint.ads: Likewise.
+ * s-vallld.adb: Likewise.
+ * s-vallld.ads: Likewise.
+ * s-vallli.adb: Likewise.
+ * s-vallli.ads: Likewise.
+ * s-valllu.adb: Likewise.
+ * s-valllu.ads: Likewise.
+ * s-valrea.adb: Likewise.
+ * s-valrea.ads: Likewise.
+ * s-valuns.adb: Likewise.
+ * s-valuns.ads: Likewise.
+ * s-valuti.adb: Likewise.
+ * s-valuti.ads: Likewise.
+ * s-valwch.adb: Likewise.
+ * s-valwch.ads: Likewise.
+ * s-veboop.adb: Likewise.
+ * s-veboop.ads: Likewise.
+ * s-vector.ads: Likewise.
+ * s-vercon.adb: Likewise.
+ * s-vercon.ads: Likewise.
+ * s-vmexta.adb: Likewise.
+ * s-vmexta.ads: Likewise.
+ * s-vxwext-kernel.ads: Likewise.
+ * s-vxwext-rtp.adb: Likewise.
+ * s-vxwext-rtp.ads: Likewise.
+ * s-vxwext.ads: Likewise.
+ * s-vxwork-arm.ads: Likewise.
+ * s-vxwork-m68k.ads: Likewise.
+ * s-vxwork-mips.ads: Likewise.
+ * s-vxwork-ppc.ads: Likewise.
+ * s-vxwork-sparcv9.ads: Likewise.
+ * s-vxwork-x86.ads: Likewise.
+ * s-wchcnv.adb: Likewise.
+ * s-wchcnv.ads: Likewise.
+ * s-wchcon.adb: Likewise.
+ * s-wchcon.ads: Likewise.
+ * s-wchjis.adb: Likewise.
+ * s-wchjis.ads: Likewise.
+ * s-wchstw.adb: Likewise.
+ * s-wchstw.ads: Likewise.
+ * s-wchwts.adb: Likewise.
+ * s-wchwts.ads: Likewise.
+ * s-widboo.adb: Likewise.
+ * s-widboo.ads: Likewise.
+ * s-widcha.adb: Likewise.
+ * s-widcha.ads: Likewise.
+ * s-widenu.adb: Likewise.
+ * s-widenu.ads: Likewise.
+ * s-widlli.adb: Likewise.
+ * s-widlli.ads: Likewise.
+ * s-widllu.adb: Likewise.
+ * s-widllu.ads: Likewise.
+ * s-widwch.adb: Likewise.
+ * s-widwch.ads: Likewise.
+ * s-win32.ads: Likewise.
+ * s-winext.ads: Likewise.
+ * s-wwdcha.adb: Likewise.
+ * s-wwdcha.ads: Likewise.
+ * s-wwdenu.adb: Likewise.
+ * s-wwdenu.ads: Likewise.
+ * s-wwdwch.adb: Likewise.
+ * s-wwdwch.ads: Likewise.
+ * scans.adb: Likewise.
+ * scans.ads: Likewise.
+ * seh_init.c: Likewise.
+ * sfn_scan.adb: Likewise.
+ * sinfo.adb: Likewise.
+ * sinfo.ads: Likewise.
+ * sinput.adb: Likewise.
+ * sinput.ads: Likewise.
+ * snames.adb: Likewise.
+ * snames.ads: Likewise.
+ * socket.c: Likewise.
+ * stand.adb: Likewise.
+ * stand.ads: Likewise.
+ * stringt.adb: Likewise.
+ * stringt.ads: Likewise.
+ * sysdep.c: Likewise.
+ * system-aix.ads: Likewise.
+ * system-darwin-ppc.ads: Likewise.
+ * system-darwin-x86.ads: Likewise.
+ * system-darwin-x86_64.ads: Likewise.
+ * system-freebsd-x86.ads: Likewise.
+ * system-hpux-ia64.ads: Likewise.
+ * system-hpux.ads: Likewise.
+ * system-irix-n32.ads: Likewise.
+ * system-irix-n64.ads: Likewise.
+ * system-irix-o32.ads: Likewise.
+ * system-linux-alpha.ads: Likewise.
+ * system-linux-hppa.ads: Likewise.
+ * system-linux-ia64.ads: Likewise.
+ * system-linux-mips.ads: Likewise.
+ * system-linux-mipsel.ads: Likewise.
+ * system-linux-ppc.ads: Likewise.
+ * system-linux-ppc64.ads: Likewise.
+ * system-linux-s390.ads: Likewise.
+ * system-linux-s390x.ads: Likewise.
+ * system-linux-sh4.ads: Likewise.
+ * system-linux-sparc.ads: Likewise.
+ * system-linux-sparcv9.ads: Likewise.
+ * system-linux-x86.ads: Likewise.
+ * system-linux-x86_64.ads: Likewise.
+ * system-lynxos-ppc.ads: Likewise.
+ * system-lynxos-x86.ads: Likewise.
+ * system-mingw-x86_64.ads: Likewise.
+ * system-mingw.ads: Likewise.
+ * system-rtems.ads: Likewise.
+ * system-solaris-sparc.ads: Likewise.
+ * system-solaris-sparcv9.ads: Likewise.
+ * system-solaris-x86.ads: Likewise.
+ * system-solaris-x86_64.ads: Likewise.
+ * system-tru64.ads: Likewise.
+ * system-vms-ia64.ads: Likewise.
+ * system-vms-zcx.ads: Likewise.
+ * system-vms.ads: Likewise.
+ * system-vms_64.ads: Likewise.
+ * system-vxworks-arm.ads: Likewise.
+ * system-vxworks-m68k.ads: Likewise.
+ * system-vxworks-mips.ads: Likewise.
+ * system-vxworks-ppc.ads: Likewise.
+ * system-vxworks-sparcv9.ads: Likewise.
+ * system-vxworks-x86.ads: Likewise.
+ * system.ads: Likewise.
+ * table.adb: Likewise.
+ * table.ads: Likewise.
+ * targext.c: Likewise.
+ * targparm.ads: Likewise.
+ * tree_in.adb: Likewise.
+ * tree_in.ads: Likewise.
+ * tree_io.adb: Likewise.
+ * tree_io.ads: Likewise.
+ * types.adb: Likewise.
+ * types.ads: Likewise.
+ * uintp.adb: Likewise.
+ * uintp.ads: Likewise.
+ * uname.adb: Likewise.
+ * uname.ads: Likewise.
+ * urealp.adb: Likewise.
+ * urealp.ads: Likewise.
+ * vx_stack_info.c: Likewise.
+ * widechar.adb: Likewise.
+ * widechar.ads: Likewise.
+ * exp_attr.adb: Change copyright header to refer to version
+ 3 of the GNU General Public License and to point readers at the
+ COPYING3 file and the FSF's license web page.
+ * sem.adb: Likewise.
+ * sem_attr.ads: Likewise.
+ * freeze.adb: Likewise.
+ * freeze.ads: Likewise.
+ * errout.ads: Likewise.
+ * erroutc.adb: Likewise.
+ * exp_ch11.ads: Likewise.
+
+2009-04-09 Jakub Jelinek <jakub@redhat.com>
+
+ * config-lang.in: Change copyright header to refer to version
+ 3 of the GNU General Public License and to point readers at the
+ COPYING3 file and the FSF's license web page.
+ * gcc-interface/trans.c: Likewise.
+ * gnathtml.pl: Likewise.
+ * gcc-interface/ada.h: Likewise. Remove runtime exception.
+ * gcc-interface/gigi.h: Likewise.
+ * gcc-interface/misc.c: Likewise.
+ * gcc-interface/targtyps.c: Likewise.
+
+2009-03-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
+ * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
+ * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
+ * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
+ * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
+ * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
+ * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
+
+2009-03-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ Backport from mainline:
+ 2009-03-30 Paolo Bonzini <bonzini@gnu.org>
+ * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
+ of TREE_CONSTANT_OVERFLOW.
+
+2009-03-11 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
+ checks processing, remove unintended TREE_TYPE walk on index type.
+
+2009-03-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/39264
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
+ call make_packable_type on fat pointer types.
+ <E_Array_Subtype>: Likewise.
+ <E_Record_Subtype>: Call make_packable_type on all record types
+ except for fat pointer types.
+ (make_packable_type): Likewise.
+ (gnat_to_gnu_field): Likewise.
+
+2009-02-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
+ EH_MECHANISM change made on 2007-12-06.
+
+2009-02-26 Andreas Schwab <schwab@suse.de>
+
+ PR ada/39172
+ * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
+ * gcc-interface/Makefile.in: Change all uses of $(srcdir),
+ $(fsrcdir) and $(fsrcpfx) to add ada subdir.
+ (AWK): Substitute.
+ (target_cpu_default): Substitute.
+
+2009-02-25 Laurent GUERBY <laurent@guerby.net>
+
+ PR ada/39221
+ * a-teioed.adb (Expand): Fix Result overflow.
+
+2009-02-25 Laurent GUERBY <laurent@guerby.net>
+
+ * gcc-interface/Makefile.in: Fix multilib handling for
+ sparc64-linux.
+
+2009-02-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
+
+2009-02-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
+
+2009-02-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/deftarg.c: Remove.
+
+2009-02-10 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (enum alias_set_op): New enumeration.
+ (copy_alias_set): Rename into...
+ (relate_alias_sets): ...this. Add third parameter OP. Retrieve the
+ underlying array of unconstrained arrays for the new type as well.
+ If the old and new alias sets don't conflict, make one a subset of
+ the other as per the OP parameter.
+ (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
+ <E_Record_Type>: Do not copy the alias set for derived types.
+ For all types, make the alias set of derived types a superset of
+ that of their parent type.
+ (make_aligning_type): Adjust calls to copy_alias_set.
+ (make_packable_type): Likewise.
+ * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
+ Check for alias set conflict instead of strict equality to issue the
+ warning.
+
+2009-02-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
+ Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
+ (copy_alias_set): Assert that arrays have the same aliasing settings.
+ (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
+
+2009-02-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
+ Set TYPE_NONALIASED_COMPONENT on the array type.
+
+2009-01-31 Laurent GUERBY <laurent@guerby.net>
+
+ * gcc-interface/Makefile.in: Fix mipsel linux handling.
+
+2009-01-16 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc-interface/Makefile.in: Fix multilib handling for
+ powerpc64-linux.
+
+2009-01-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
+ only useless conversions around renamed objects.
+
+2009-01-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
+ the _Tag field before any discriminants in the field list.
+ (components_to_record): Remove obsolete comment.
+
+2008-12-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR ada/38450
+ * gcc-interface/utils.c (finish_record_type): Use SET_TYPE_MODE.
+ * gcc-interface/decl.c (gnat_to_gnu_entity, make_aligning_type):
+ Likewise.
+
+2008-12-05 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR bootstrap/38262
+ * gcc-interface/Make-lang.in (gnat1): Add BACKENDLIBS, remove GMPLIBS.
+
+2008-11-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/30827
+ * g-comver.adb (Ver_Len_Max): Fix inconsistency.
+
+2008-11-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c: Fix various nits.
+
+2008-11-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (init_gigi_decls): Fix type mismatch.
+
+2008-11-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/38127
+ * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
+ special-case boolean types. Propagate the name.
+ * gcc-interface/targtyps.c: Tweak comment.
+
+2008-11-15 Geert Bosch <bosch@adacore.com>
+
+ * gcc-interface/trans.c (emit_check): Put back a final save_expr
+ to prevent exponential expansion during gimplification.
+
+2008-11-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/lang-specs.h: Expand -coverage and reorder switches.
+
+2008-11-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force constants
+ initialized to a static constant to be statically allocated even if
+ they are of a padding type, provided the original type also has
+ constant size.
+
+2008-11-15 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/37993
+ * gcc-interface/Makefile.in: Add multilib handling for x86_64
+ on darwin.
+ * system-darwin-x86_64.ads: New file.
+
+2008-11-13 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>:
+ Turn Ada Pure on subprograms back into GCC CONST when eh constructs
+ are explicit to the middle-end. Tidy.
+
+2008-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.def (PLUS_NOMOD_EXPR): New tree code.
+ (MINUS_NOMOD_EXPR): Likewise.
+ * gcc-interface/utils2.c (build_binary_op) <PREINCREMENT_EXPR>: Make
+ unreachable.
+ <PLUS_NOMOD_EXPR>: New case.
+ <MINUS_NOMOD_EXPR>: Likewise.
+ * gcc-interface/trans.c (Loop_Statement_to_gnu): Build increment-and-
+ assignment statement instead of using an increment operator.
+
+2008-11-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * system-irix-n64.ads: New file.
+ * gcc-interface/Makefile.in (mips-sgi-irix6*): Support O32 and N64
+ multilibs.
+
+2008-11-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ PR ada/37681
+ * system-solaris-x86_64.ads: New file.
+ * gcc-interface/Makefile.in (*86-solaris2*): Support x86_64 multilib.
+
+2008-11-07 Bechir Zalila <bechir.zalila@gmail.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/34289
+ * lib.ads: (Enable_Switch_Storing): Declare.
+ * lib.adb: (Enable_Switch_Storing): New procedure.
+ * switch-c.adb (Scan_Front_End_Switches): Add support for -gnatea.
+ * make.adb: (Compile_Sources.Compile): Add -gnatea as first option.
+ (Display): Never display -gnatea
+ * gcc-interface/lang-specs.h: If -gnatea is present, pass -gnatez.
+
+2008-11-07 Thomas Quinot <quinot@adacore.com>
+
+ * gcc-interface/trans.c (Attribute_to_gnu, case Attr_Length): Check
+ for empty range in original base type, not converted result type.
+
+2008-11-07 Geert Bosch <bosch@adacore.com>
+
+ * gcc-interface/trans.c (build_binary_op_trapv): Convert arguments
+ and result for call to __gnat_mulv64.
+
+2008-11-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c: Fix formatting nits.
+
+2008-11-07 Geert Bosch <bosch@adacore.com>
+
+ * gcc-interface/trans.c (build_binary_op_trapv): Avoid emitting
+ overflow check for constant result.
+
+2008-11-07 Geert Bosch <bosch@adacore.com>
+
+ * gcc-interface/trans.c (build_binary_op_trapv): Use more efficient
+ overflow check for addition/subtraction if neither operand is constant.
+
+2008-11-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in (SPARC/Solaris): Use a common set of
+ files for the target-dependent part of the runtime.
+ (SPARC/Linux): Likewise.
+
+2008-11-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: If not
+ optimizing, create a PARM_DECL pointing to the VAR_DECL for debugging
+ purposes.
+
+2008-11-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c (gnat_printable_name): Always return a copy
+ in GC memory.
+
+2008-11-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/19419
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>:
+ Generate a call to memmove for an assignment between overlapping
+ array slices.
+
+2008-11-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR target/37977
+ * gcc-interface/Makefile.in: Add multilib handling for
+ s390-linux and s390x-linux.
+
+2008-10-24 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc-interface/Make-lang.in (check-ada-subtargets): Depend on
+ check-acats-subtargets and check-gnat-subtargets.
+ (check_acats_targets): New variable.
+ (check-acats-subtargets, check-acats%): New targets.
+ (check-acats): If -j is used and CHAPTERS is empty, run the testing
+ in multiple make goals, possibly parallel, and afterwards run
+ dg-extract-results.sh to merge the sum and log files.
+
+2008-10-17 Geert Bosch <bosch@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Slice>: Simplify expansion
+ to use only a single check instead of three, and avoid unnecessary
+ COMPOUND_EXPR.
+ (emit_check): Avoid useless COMPOUND_EXPRs and SAVE_EXPRs, sometimes
+ creating more opportunities for optimizations.
+
+2008-10-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/37601
+ * gcc-interface/utils.c (gnat_types_compatible_p): Handle
+ NULL TYPE_DOMAIN.
+
+2008-10-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Move code
+ dealing with volatileness to after code dealing with renaming.
+
+2008-10-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Minor tweaks.
+ * gcc-interface/trans.c (Pragma_to_gnu): Likewise.
+
+2008-10-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (can_fold_for_view_convert_p): New predicate.
+ (unchecked_convert): Use it to disable problematic folding with
+ VIEW_CONVERT_EXPR in the general case. Always disable it for the
+ special VIEW_CONVERT_EXPR built for integral types and cope with
+ its addressability issues by preserving the first conversion.
+
+2008-10-01 Andreas Schwab <schwab@suse.de>
+
+ * system-linux-ppc64.ads: New file.
+ * gcc-interface/Makefile.in: Add multilib handling for
+ powerpc-linux.
+
+2008-09-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: Cap the alignment promotion
+ to that of ptr_mode instead of word_mode.
+
+2008-09-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/5911
+ * gcc-interface/Makefile.in (SPARC/Solaris): Add multilib support.
+
+2008-09-25 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/37641
+ * adaint.c (__gnat_set_non_writable): Use FILE_WRITE_EA
+ instead of deprecated FILE_WRITE_PROPERTIES.
+
+2008-09-22 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Even when they
+ are never assigned, volatile entities are not constant for code
+ generation purposes.
+
+2008-09-21 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/5911
+ * gcc-interface/Makefile.in: Add multilib handling for x86_64
+ and sparc.
+ * system-linux-sparcv9.ads: New file.
+
+2008-09-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_dbug.ads: Document new convention for the XVZ variable.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Generate
+ debug info if necessary for the type padding the component type.
+ <E_Array_Subtype>: Likewise.
+ (maybe_pad_type): Emit the XVZ variable in units.
+ * gcc-interface/trans.c (Loop_Statement_to_gnu): Fix formatting nits.
+ (Subprogram_Body_to_gnu): Set the source line of the subprogram's node
+ on statements generated to initialize the parameter attributes cache.
+ Set the source line of the end label of the body on the special return
+ statement built for a procedure with copy-in copy-out parameters.
+
+2008-09-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/37585
+ * gcc-interface/utils.c (create_subprog_decl): Disable inlining for
+ inlined external functions if they contain a nested function not
+ declared inline.
+
+2008-09-18 Jan Hubicka <jh@suse.cz>
+
+ * gcc-interface/utils.c (create_subprog_decl): Use DECL_DECLARED_INLINE_P.
+ (end_subprog_body): Do not set DECL_INLINE.
+
+2008-09-17 Pascal Rigaux <pixel@mandriva.com>
+
+ PR ada/21327
+ * gnat_ugn.texi: Use proper format in direntry.
+
+2008-09-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gigi): Declare the name of the compilation
+ unit as the first global name.
+
+2008-09-14 Jan Hubicka <jh@suse.cz>
+
+ * gcc-interface/Make-lang.in (gnat1): Add CFLAGS.
+
+2008-09-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * a-crbtgk.adb, a-direct.ads, a-tasatt.adb, ali.ads,
+ bindgen.adb, checks.adb, einfo.ads, exp_aggr.adb, exp_ch11.adb,
+ exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
+ exp_dbug.ads, exp_disp.adb, exp_dist.adb, exp_pakd.adb,
+ exp_util.adb, g-alveop.ads, g-comlin.adb, g-comlin.ads,
+ g-diopit.adb, g-socket.ads, gcc-interface/decl.c,
+ gcc-interface/gigi.h, gcc-interface/trans.c,
+ lib-load.adb, lib-xref.ads, make.adb, mlib-prj.adb, nlists.ads,
+ opt.ads, par-ch10.adb, par-ch5.adb, par.adb, s-os_lib.ads,
+ s-oscons-tmplt.c, s-parint.ads, s-regpat.ads, s-shasto.ads,
+ s-stausa.ads, s-taprop-vms.adb, sem.adb, sem_ch10.adb,
+ sem_ch11.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb,
+ sem_ch3.ads, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
+ sem_elim.adb, sem_prag.adb, sem_util.adb, sem_util.ads,
+ sem_warn.adb, sinfo.ads, styleg.adb, vms_data.ads: Fix typos in
+ comments.
+ * gnathtml.pl: Fix typos.
+
+2008-09-10 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * gcc-interface/Makefile.in: Switch RTEMS to s-interr-hwint.adb.
+ * s-osinte-rtems.ads: Add shared hardware interrupt adapter
+ layer. RTEMS binds to OS provided adapter routines so there are
+ no modifications to s-osinte-rtems.adb.
+
+2008-09-09 Arnaud Charlet <charlet@adacore.com>
+ Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * gcc-interface/Makefile.in: Switch VxWorks to s-interr-hwint.adb.
+
+ * s-interr-vxworks.adb: Renamed to s-interr-hwint.adb
+
+ * s-interr-hwint.adb: New file.
+
+ * s-osinte-vxworks.ads, s-osinte-vxworks.adb: Add new functions
+ needed by s-interr-hwint.adb.
+
+ * s-osinte-vxworks-kernel.adb: New file.
+
+2008-09-05 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * s-stchop-rtems.adb: Add file missed in early commit. Already
+ referenced in gcc-interface/Makefile.in.
+
+2008-08-30 Thomas Quinot <quinot@adacore.com>
+
+ * gcc-interface/Make-lang.in: Allow s-oscons.{o,ali} to
+ be built even without a separate libada directory.
+
+2008-08-22 Arnaud Charlet <charlet@adacore.com>
+
+ * lib-xref.ads: Fix typo in subprogram reference definition.
+
+2008-08-22 Robert Dewar <dewar@adacore.com>
+
+ * s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-strops.adb: Minor code fix
+ to avoid warning.
+
+ * g-trasym.adb: Ditto
+
+ * s-utf_32.adb (Get_Category): Fix obvious typo
+
+ * s-wwdcha.adb: Minor code reorganization
+ Remove dead code
+
+2008-08-22 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Determine_Range): Deal with values that might be invalid
+
+ * opt.adb, opt.ads (Assume_No_Invalid_Values[_Config]): New
+ configuration switches.
+
+ * par-prag.adb: Dummy entry for pragma Assume_No_Invalid_Values
+
+ * sem_prag.adb: Implement pragma Assume_No_Default_Values
+
+ * snames.adb, snames.ads, snames.h:
+ Add entries for pragma Assume_No_Invalid_Values
+
+ * switch-c.adb: Add processing for -gnatB switch
+
+ * usage.adb: Add entry for flag -gnatB (no bad invalid values)
+
+2008-08-22 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Build_Init_Statements): Transfer to the body of the
+ init procedure all the expanded code associated with the spec of
+ task types and protected types.
+
+2008-08-22 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_aggr.adb (Static_Array_Aggregate): Call Analyze_And_Resolve on the
+ component expression copies rather than directly setting Etype and
+ Is_Static_Expression.
+
+2008-08-22 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_util.adb (Has_Preelaborable_Initialization): Revise checking of
+ private types to allow for types derived from a private type with
+ preelaborable initialization, but return False for a private extension
+ (unless it has the pragma).
+
+2008-08-22 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads: Minor code reorganization (put entries in alpha order)
+
+2008-08-22 Pascal Obry <obry@adacore.com>
+
+ * initialize.c, adaint.c: Use Lock_Task and Unlock_Task for non-blocking
+ spawn.
+
+2008-08-22 Geert Bosch <bosch@adacore.com>
+
+ * gcc-interface/trans.c: Define FP_ARITH_MAY_WIDEN
+ (convert_with_check): Only use longest_float_type if FP_ARITH_MAY_WIDEN is 0
+
+2008-08-22 Doug Rupp <rupp@adacore.com>
+
+ * bindgen.adb [VMS] (Gen_Adainit_Ada, Gen_Adainit_C): Import and call
+ __gnat_set_features.
+
+ * init.c
+ (__gnat_set_features): New function.
+ (__gnat_features_set): New tracking variable.
+ (__gl_no_malloc_64): New feature global variable
+
+2008-08-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Use_One_Type): Do not emit warning message about redundant
+ use_type_clause in an instance.
+
+2008-08-22 Bob Duff <duff@adacore.com>
+
+ * exp_ch6.ads: Remove pragma Precondition, since it breaks some builds.
+
+2008-08-22 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch6.adb: Minor reformatting
+
+ * exp_ch7.adb: Minor reformatting
+
+ * exp_ch7.ads: Put routines in proper alpha order
+
+ * exp_dist.adb: Minor reformatting
+
+2008-08-22 Vincent Celier <celier@adacore.com>
+
+ * prj.ads: Minor comment update
+
+2008-08-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb (One_Bound): Fix latent bug involving secondary stack
+
+2008-08-22 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_tss.adb:
+ (Base_Init_Proc): For a protected subtype, use the base type of the
+ corresponding record to locate the propoer initialization procedure.
+
+2008-08-22 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb:
+ (In_Subrange_Of): New calling sequence
+ (Determine_Range): Prepare for new processing using base type
+
+ * exp_ch4.adb:
+ (Compile_Time_Compare): Use new calling sequence
+
+ * exp_ch5.adb:
+ (Compile_Time_Compare): Use new calling sequence
+
+ * sem_eval.adb:
+ (Compile_Time_Compare): New calling sequence allows dealing with
+ invalid values.
+ (In_Subrange_Of): Ditto
+
+ * sem_eval.ads:
+ (Compile_Time_Compare): New calling sequence allows dealing with
+ invalid values.
+ (In_Subrange_Of): Ditto
+
+2008-08-22 Pascal Obry <obry@adacore.com>
+
+ * adaint.c: Fix possible race condition on win32_wait().
+
+2008-08-22 Bob Duff <duff@adacore.com>
+
+ * exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb, freeze.adb,
+ exp_ch4.adb, exp_ch6.ads, exp_ch6.adb, sem_ch6.adb, exp_aggr.adb,
+ exp_intr.adb, exp_ch3.adb: Rename:
+ Exp_Ch7.Controlled_Type => Needs_Finalization
+ Exp_Ch7.CW_Or_Controlled_Type => CW_Or_Has_Controlled_Part
+ Exp_Ch5.Expand_N_Extended_Return_Statement.Controlled_Type =>
+ Has_Controlled_Parts
+ (Has_Some_Controlled_Component): Fix bug in array case.
+
+2008-08-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb: Minor reformatting
+
+2008-08-22 Kevin Pouget <pouget@adacore.com>
+
+ * s-shasto.ads, s-shasto.adb: Move Shared_Var_ROpen, Shared_Var_WOpen and
+ Shared_Var_Close procedure specifications from package spec to package body.
+
+ * rtsfind.ads: Remove RE_Shared_Var_Close, RE_Shared_Var_ROpen,
+ RE_Shared_Var_WOpen entries.
+
+ * exp_dist.adb: Update RE_Any_Content_Ptr to RE_Any_Container_Ptr in
+ Build_To_Any_Call, Build_TypeCode_Call and Build_From_Any_Call procedures.
+
+2008-08-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * init.c: adjust EH support code on Alpha/Tru64 as well.
+
+ * raise-gcc.c: Add back a couple of comments.
+
+2008-08-22 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Simple_Function_Return): If secondary stack is
+ involved and the return type is class-wide, use the type of the expression
+ for the generated access type. Suppress useless discriminant checks on the
+ allocator.
+
+2008-08-22 Bob Duff <duff@adacore.com>
+
+ * exp_ch7.adb: Minor comment fix
+
+ * exp_ch6.ads: Minor comment fix
+
+2008-08-22 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch8.adb: Minor reformatting
+ Minor code reorganization (introduce subprogram to factor duplicated
+ code).
+
+2008-08-22 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Change the description of gnatcheck default rule
+ settings.
+
+2008-08-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * init.c (__gnat_adjust_context_for_raise): Delete for AIX, HP-UX,
+ Solaris, FreeBSD, VxWorks and PowerPC/Linux. For x86{-64}/Linux,
+ do not adjust the PC anymore.
+ (__gnat_error_handler): Do not call __gnat_adjust_context_for_raise
+ on AIX, HP-UX, Solaris, FreeBSD and VxWorks.
+
+ * raise-gcc.c (get_call_site_action_for): Use _Unwind_GetIPInfo
+ instead of _Unwind_GetIP.
+
+2008-08-22 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_aggr.adb (Static_Array_Aggregate): When a static array aggregate
+ with a range is transformed into a positional aggregate, any copied
+ component literals should be marked Is_Static_Expression.
+
+ * sem_eval.adb (Compile_Time_Known_Value): Don't treat null literals as
+ not being known at at compile time when Configurable_Run_Time_Mode is
+ true.
+
+2008-08-22 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb:
+ (Expand_N_Attribute_Reference): No validity checking on OUT parameter of
+ Read or Input attribute.
+
+2008-08-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Use_One_Type): when checking which of two use_type
+ clauses in related units is redundant, if one of the units is a package
+ instantiation, use its instance_spec to determine which unit is the
+ ancestor of the other.
+
+2008-08-22 Javier Miranda <miranda@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): In case of access
+ attributes add missing support to handle designated types that come
+ from the limited view.
+
+ * exp_disp.adb (Expand_Interface_Conversion): Remove wrong assertion.
+
+2008-08-22 Sergey Rybin <rybin@adacore.com>
+
+ * vms_data.ads: Add entry for new gnatcheck -mNNN option
+
+ * gnat_ugn.texi: Add description for gnatcheck option '-m'
+
+2008-08-22 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Update the gnatcheck subsection for metric rules
+ acoording to the latest changes in the metric rule interface
+
+2008-08-22 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Check.File_Not_A_Source_Of): New Boolean function
+ (Check): Check if the file names registered in the ALI file for the
+ spec, the body and each of the subunits are the ones expected.
+
+2008-08-22 Robert Dewar <dewar@adacore.com>
+
+ * g-catiio.adb: Code cleanup.
+
+2008-08-20 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): Remove extra space in version line
+
+ * ali.adb:
+ (Scan_ALI): Use Name_Find, not Name_Enter to get the name of a subunit,
+ as the name may already have been entered in the table by the Project
+ Manager.
+
+2008-08-20 Jose Ruiz <ruiz@adacore.com>
+
+ * errno.c (__get_errno, __set_errno for MaRTE): Transform then into
+ weak symbols so we use the version provided by MaRTE when available.
+
+2008-08-20 Emmanuel Briot <briot@adacore.com>
+
+ * g-catiio.ads, g-catiio.adb:
+ (Value): Avoid an unnecessary system call to Clock in most cases.
+ This call is only needed when only the time is provided in the string,
+ and ignored in all other cases. This is more efficient.
+
+2008-08-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * raise-gcc.c: Fix formatting nits.
+
+2008-08-20 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb:
+ (Adjust_Record_For_Reverse_Bit_Order): Do not access First_Bit for
+ non-existing component clause.
+
+ * exp_ch5.adb: Minor reformatting
+
+ * g-comlin.adb: Minor reformatting
+
+ * make.adb: Minor reformatting
+
+ * prj-proc.adb: Minor reformatting
+
+ * stylesw.ads: Minor reformatting
+
+2008-08-20 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake_Switch_Found): New Boolean global variable
+ (Switch_May_Be_Passed_To_The_Compiler): New Boolean global variable
+ (Add_Switches): New Boolean parameter Unknown_Switches_To_The_Compiler
+ defaulted to True. Fail when Unknown_Switches_To_The_Compiler is False
+ and a switch is not recognized by gnatmake.
+ (Gnatmake): Implement new scheme for gnatmake switches and global
+ compilation switches.
+ (Switches_Of): Try successively Switches (<file name>),
+ Switches ("Ada"), Switches (others) and Default_Switches ("Ada").
+
+2008-08-20 Ed Schonberg <schonberg@adacore.com>
+
+ * styleg-c.ads, styleg-c.adb (Missing_Overriding): new procedure to
+ implement style check that overriding operations are explicitly marked
+ at such.
+
+ * style.ads (Missing_Overriding): new procedure that provides interface
+ to previous one.
+
+ * stylesw.ads, stylesw.adb: New style switch -gnatyO, to enable check
+ that the declaration or body of overriding operations carries an
+ explicit overriding indicator.
+
+ * sem_ch8.adb
+ (Analyze_Subprogram_Renaming): if operation is overriding, check whether
+ explicit indicator should be present.
+
+ * sem_ch6.adb (Verify_Overriding_Indicator,
+ Check_Overriding_Indicator): If operation is overriding, check whether
+ declaration and/or body of subprogram should be present
+
+2008-08-20 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Naming_Schemes): Accept source file names for
+ gprbuild when casing is MixedCase, whatever the casing of the letters
+ in the file name.
+
+2008-08-20 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch3.adb (Build_Array_Init_Proc): Clarify comment related to
+ creating dummy init proc.
+ (Requires_Init_Proc): Return False in the case No_Default_Initialization
+ is in force and the type does not have associated default
+ initialization. Move test of Is_Public (with tests of restrictions
+ No_Initialize_Scalars and No_Default_Initialization) to end, past tests
+ for default initialization.
+
+2008-08-20 Jerome Lambourg <lambourg@adacore.com>
+
+ * g-comlin.adb (For_Each_Simple_Switch): Take care of switches not part
+ of any alias or prefix but having attached parameters (as \"-O2\").
+
+2008-08-20 Robert Dewar <dewar@adacore.com>
+
+ * s-fileio.adb: Minor reformatting
+
+2008-08-20 Thomas Quinot <quinot@adacore.com>
+
+ * exp_strm.adb (Build_Elementary_Input_Call,
+ Build_Elementary_Write_Call): Fix incorrect condition in circuitry that
+ selects the stream attribute routines for long float types.
+
+2008-08-20 Vincent Celier <celier@adacore.com>
+
+ * prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data
+
+ * prj.ads (Array_Data): Add a component Location
+
+2008-08-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb:
+ (Analyze_Pragma, case Obsolescent): Add entity information on the pragma
+ argument for ASIS and navigation use.
+
+2008-08-20 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads: Add comment.
+
+2008-08-20 Bob Duff <duff@adacore.com>
+
+ * sem_eval.ads: Minor comment fix.
+
+2008-08-20 Bob Duff <duff@adacore.com>
+
+ * exp_ch4.adb (Expand_N_And_Then, Expand_N_Or_Else): Improve constant
+ folding. We were folding things like "False and then ...", but not
+ "X and then ..." where X is a constant whose value is known at compile
+ time.
+
+2008-08-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch5.adb (Controlled_Type): New routine.
+ (Expand_N_Extended_Return_Statement): When generating a move of the
+ final list in extended return statements, check the type of the
+ function and in the case of double expanded return statements, the type
+ of the returned object.
+ (Expand_Simple_Function_Return): Perform an interface conversion when
+ the type of the returned object is an interface and the context is an
+ extended return statement.
+
+2008-08-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Set_Debug_Info_Needed): If the entity is a private type
+ and the full view is visible, set flag on full view as well.
+
+2008-08-20 Thomas Quinot <quinot@adacore.com>
+
+ * g-comlin.adb: Minor reformatting
+ Minor code reorganization.
+
+ * freeze.adb: Minor reformatting
+
+2008-08-20 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_File): An excluded Ada source file may be a
+ source of another project.
+
+2008-08-20 Pascal Obry <obry@adacore.com>
+
+ * s-os_lib.ads: Minor reformatting.
+
+2008-08-20 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatvsn.ads: Minor reformatting.
+
+2008-08-20 Arnaud Charlet <charlet@adacore.com>
+
+ * a-crbtgk.adb, repinfo.adb, g-traceb.ads, repinfo.ads,
+ system-linux-s390x.ads, s-fatflt.ads, s-parame-ae653.ads, g-spipat.adb,
+ g-spipat.ads, g-tasloc.adb, g-debpoo.adb, g-except.ads, g-debpoo.ads,
+ mdll-utl.adb, g-string.adb, g-soliop-solaris.ads, par-sync.adb,
+ exp_ch6.ads, a-cihama.ads, g-curexc.ads, system-linux-sh4.ads,
+ g-utf_32.adb, g-hesorg.adb, s-proinf-irix-athread.ads, s-parint.adb,
+ s-parint.ads, exp_ch7.ads, system-linux-alpha.ads, g-dirope.adb,
+ sinfo-cn.adb, par-labl.adb, a-ciorse.adb, g-calend.adb,
+ s-parame-vms-alpha.ads, nlists.h, exp_imgv.adb, exp_fixd.ads,
+ g-calend.ads, gnatcmd.ads, g-table.adb, s-memory-mingw.adb,
+ g-alveop.ads, g-memdum.ads, g-altive.ads, initialize.c, g-regpat.adb,
+ g-busorg.ads, g-regpat.ads, g-encstr.ads, g-regexp.adb, g-regexp.ads,
+ live.ads, g-dyntab.adb, prj-nmsc.ads, par-ch12.adb, 9drpc.adb,
+ g-alvevi.ads, s-memory.adb, math_lib.adb, s-parame.ads, s-memory.ads,
+ s-regexp.adb, a-exexda.adb, i-cstrea-vms.adb, a-exexpr.adb,
+ g-soliop-mingw.ads, s-imgrea.adb, namet.adb, system-vms.ads,
+ s-inmaop-dummy.adb, s-finroo.ads, a-ngcefu.adb, s-hibaen.ads,
+ g-soliop.ads, s-auxdec.adb, g-locfil.ads, gnatxref.adb, memroot.adb,
+ osint-b.ads, memroot.ads, s-parame-hpux.ads, errutil.adb,
+ system-linux-s390.ads, par-util.adb, osint-c.ads, exp_pakd.ads,
+ i-pacdec.ads, par-endh.adb, mlib-tgt.ads, prj-strt.ads,
+ s-osprim-vms.adb, s-proinf.ads, output.ads, g-moreex.ads,
+ a-finali.ads, s-fatlfl.ads, namet.h, mdll.ads, g-dynhta.ads,
+ s-imgenu.ads, par-tchk.adb, g-excact.ads, memtrack.adb, s-fatgen.adb,
+ a-exexpr-gcc.adb, g-arrspl.adb, par-ch4.adb, g-cgideb.adb, freeze.ads,
+ g-altcon.adb, s-fatllf.ads, gnatfind.adb, s-osinte-lynxos-3.adb,
+ a-exextr.adb, g-htable.ads, a-calfor.adb, s-imgcha.adb, argv.c,
+ a-chahan.ads, g-hesora.adb, system-vms_64.ads, par-ch5.adb, g-md5.adb,
+ lib-xref.ads, g-md5.ads, g-casuti.ads, s-fatsfl.ads, exp_dbug.ads,
+ s-htable.ads, a-ngcoar.adb, s-arit64.ads, a-ngelfu.adb, a-filico.ads,
+ par-ch6.adb, s-inmaop.ads, s-parame-vxworks.ads, s-casuti.ads,
+ a-numaux-darwin.adb, a-cohama.ads, system-linux-sparc.ads, g-os_lib.adb,
+ system-vms-ia64.ads, s-parame-vms-restrict.ads, a-clrefi.ads,
+ s-parame-vms-ia64.ads, a-strfix.adb, a-coorse.adb, a-comlin.ads,
+ a-chtgke.adb, s-imgint.adb, g-expect.ads, exp_ch4.ads, s-finimp.adb,
+ mingw32.h, g-heasor.adb, g-alleve.adb, a-ngrear.adb, s-mastop-irix.adb,
+ s-poosiz.adb, link.c: Fix copyright notice.
+
+2008-08-20 Arnaud Charlet <charlet@adacore.com>
+
+ * g-comlin.ads: Update comments.
+
+2008-08-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Inherit Is_Imported flag.
+
+2008-08-20 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch11.adb:
+ (Expand_Exception_Handlers): Call Make_Exception_Handler instead of
+ Make_Implicit_Exception_Handler when rewriting an exception handler with
+ a choice parameter, and pass the handler's Sloc instead of that of the
+ handled sequence of statements. Make_Implicit_Exception_Handler sets the
+ Sloc to No_Location (unless debugging generated code), which we don't
+ want for the case of a user handler.
+
+2008-08-20 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Improve msg for non-contiguous field
+
+ * sem_ch13.adb:
+ (Adjust_Record_For_Reverse_Bit_Order): Messages about layout are
+ now labeled as info msgs, not warnings.
+
+ * tbuild.ads: Clarify documentation of Make_Implicit_Exception_Handler
+
+ * usage.adb: Minor change to avoid overlong line for -gnatwz/Z
+
+ * a-textio.adb: Remove redundant test.
+
+ * a-witeio.adb: Minor code reorganization
+ Remove redundant test found working on another issue
+
+ * a-ztexio.adb: Minor code reorganization
+ Remove redundant test found working on another issue
+
+2008-08-20 Thomas Quinot <quinot@adacore.com>
+
+ * s-fileio.adb (Open) Use C helper function to determine whether a
+ given errno value corresponds to a "file not found" error.
+
+ * sysdep.c (__gnat_is_file_not_found_error): New C helper function.
+
+2008-08-20 Jose Ruiz <ruiz@adacore.com>
+
+ * errno.c (__get_errno for MaRTE): Use the MaRTE function pthread_errno
+ to get access to the per-task errno variable.
+ (__set_errno for MaRTE): Do not redefine this function here since it is
+ already defined in MaRTE.
+
+2008-08-20 Tristan Gingold <gingold@adacore.com>
+
+ * gnat_ugn.texi: Gcov is not supported on static library on AIX.
+
+2008-08-20 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb: Minor reformatting
+
+ * g-comlin.adb: Minor reformatting
+
+ * g-socket.adb: Minor reformatting
+
+ * g-socthi-mingw.adb: Minor reformatting
+
+ * g-stheme.adb: Minor reformatting
+
+2008-08-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb, sem_type.adb, exp_ch9.ads, einfo.ads,
+ exp_ch6.adb, exp_aggr.adb (Valid_Ancestor): Resolve
+ confusion between partial and full views of an ancestor of the context
+ type when the parent is a private extension declared in a parent unit,
+ and full views are available for the context type.
+
+2008-08-18 Samuel Tardieu <sam@rfc1149.net>
+ Robert Dewar <dewar@adacore.com>
+
+ PR ada/30827
+ * bindgen.adb (Gen_Output_File_Ada): Zero-terminate the
+ version string.
+ Move comment in the right place.
+ * g-comver.adb (Version): Look for a zero-termination in
+ addition to a closing parenthesis.
+
+2008-08-18 Samuel Tardieu <sam@rfc1149.net>
+
+ * exp_ch13.adb, exp_disp.adb, sem_cat.adb, sem_ch10.adb,
+ * sem_ch12.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
+ * sem_prag.adb, sem_util.adb, sem_warn.adb: Use
+ Is_Package_Or_Generic_Package instead of hand-crafted tests.
+
+2008-08-18 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/15808
+ * sem_ch6.adb (Check_Private_Overriding): Check for generic packages
+ as well.
+
+2008-08-17 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * adaint.c (_gnat_set_close_on_exec) [_WIN32]: Implement.
+
+2008-08-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (call_to_gnu): Use the Sloc of the call
+ for back-copy statements in lieu of that of the actual.
+
+2008-08-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/20548
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Use DECL_SIZE_UNIT in the
+ setjmp test consistently. Adjust for new behavior of flag_stack_check.
+ * gcc-interface/utils2.c (build_call_alloc_dealloc): Remove redundant
+ test of flag_stack_check. Adjust for new behavior of flag_stack_check.
+
+2008-08-13 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/36777
+ * sem_util.ads, sem_util.adb (Is_Protected_Self_Reference): New.
+ * sem_attr.adb (Check_Type): The current instance of a protected
+ object is not a type name.
+ (Analyze_Access_Attribute): Accept instances of protected objects.
+ (Analyze_Attribute, Attribute_Address clause): Ditto.
+ * exp_attr.adb (Expand_N_Attribute_Reference): Rewrite
+ the prefix as being the current instance if needed.
+
+2008-08-12 Danny Smith <danyssmith@users.sourceforge.net>
+
+ * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) [WINDOWS]:
+ Remove duplicate s-win32.o. Add s-winext.o.
+
+2008-08-12 Danny Smith <danyssmith@users.sourceforge.net>
+
+ * g-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM
+ with SOSC.SOCK__STREAM.
+ * g-socthi-mingw.adb (C_Select) Replace Constants.MSG_OOB with
+ SOSC.MSG_OOB.
+
+2008-08-11 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it.
+ * gsocket.h, socket.c: Update to support RTEMS.
+ * gcc-interface/Make-lang.in: Include CFLAGS_FOR_TARGET when cross.
+
+2008-08-10 Samuel Tardieu <sam@rfc1149.net>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Expon): Force evaluation of
+ left argument even when right argument is 0.
+ (Expand_N_Op_Mod): Ditto when right argument is 1.
+ (Expand_N_Op_Multiply): Ditto when any argument is 0.
+ (Expand_N_Op_Rem): Ditto when right argument is 1.
+
+2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ * gcc-interface/misc.c (gnat_handle_option): Replace set_Wunused
+ by warn_unused.
+
+2008-08-08 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Generate_Prim_Op_References): New procedure, abstracted
+ from Freeze_Entity. Used to generate cross-reference information for
+ types declared in generic packages.
+
+2008-08-08 Thomas Quinot <quinot@adacore.com>
+
+ * gcc-interface/Makefile.in: Reintroduce g-soccon.ads as a
+ compatibility shim.
+
+2008-08-08 Thomas Quinot <quinot@adacore.com>
+
+ * gsocket.h:
+ On Windows, include <errno.h> and redefine only selected errno values
+ from their <winsock2.h> definitions.
+
+ * s-osinte-freebsd.ads: Minor reformatting
+
+ * s-osinte-hpux.ads, s-osinte-irix.ads: Minor reformatting
+
+ * g-soccon.ads: New file.
+
+ * g-stheme.adb, g-socthi-vms.adb, g-socthi-vxworks.adb,
+ g-socthi-mingw.adb, g-sttsne-vxworks.adb, g-socthi.adb,
+ g-stsifd-sockets.adb, g-socket.adb, g-socket.ads,
+ g-sothco.adb, g-sothco.ads: Add back GNAT.Sockets.Constants as a child
+ unit, to allow building software that depends on this internal unit
+ with both older and newer compilers.
+
+2008-08-08 Robert Dewar <dewar@adacore.com>
+
+ * s-strxdr.adb: Minor reformatting
+
+2008-08-08 Bob Duff <duff@adacore.com>
+
+ * gnat_ugn.texi: The "Run-Time Checks" section said "arithmetic overflow
+ checking for integer operations (including division by zero)", which
+ is wrong -- divide by zero is not part of overflow checking.
+ Also added misc clarification about what check-suppression means.
+
+ * gnat_rm.texi: Clarify the meaning of pragma Suppress.
+
+2008-08-08 Jerome Lambourg <lambourg@adacore.com>
+
+ * g-comlin.adb (Add_Switch): Handle addition of switches at the
+ begining of the command line.
+ (Append, Add): Renaming of Append to Add as this now allows addition
+ at the begining of the list.
+
+ * g-comlin.ads (Add_Switch): Handle addition of switches at the
+ begining of the command line.
+
+2008-08-08 Thomas Quinot <quinot@adacore.com>
+
+ * g-sercom.ads:
+ (Name): Document application scope (only legacy PC serial ports on
+ Linux and Windows).
+
+2008-08-08 Thomas Quinot <quinot@adacore.com>
+
+ * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Revert
+ previous change, not needed after all.
+
+2008-08-08 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_Allocator_Expression): add check if null
+ exclusion indicator is present
+
+2008-08-08 Robert Dewar <dewar@adacore.com>
+
+ * g-comlin.adb: Minor code reorganization
+ Minor reformatting
+
+ * g-comlin.ads: Minor reformatting
+
+ * s-fileio.adb: Minor reformatting
+
+ * sem_attr.adb: Minor code reorganization (use Nkind_In)
+ Minor reformatting
+
+2008-08-06 Samuel Tardieu <sam@rfc1149.net>
+
+ * gcc-interface/Make-lang.in: Use GCC_FOR_TARGET when dealing
+ with s-oscons-tmplt.i.
+
+2008-08-06 Samuel Tardieu <sam@rfc1149.net>
+
+ * gcc-interface/Make-lang.in (OSCONS_CPPFLAGS): Remove.
+
+2008-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Component_Declaration): Protect against misuse
+ of incomplete type.
+
+ * sem_ch8.adb (Analyze_Object_Renaming): Diagnose properly a renaming
+ of a formal parameter of an incomplete type. Improve error message for
+ other improper uses of incomplete types.
+
+2008-08-06 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Clarify -gnato documentation
+
+2008-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * gcc-interface/Makefile.in,
+ g-socthi-vxworks.adb, g-socthi-mingw.adb, g-sttsne-vxworks.adb,
+ g-socthi.adb, g-socket.adb, g-socket.ads, g-sothco.ads,
+ g-soccon-linux-x86.ads, g-soccon-vxworks.ads, g-soccon-mingw.ads,
+ g-soccon-hpux-ia64.ads, g-soccon-irix.ads, g-soccon-linux-64.ads,
+ g-soccon-aix.ads, g-soccon-solaris.ads, g-soccon-lynxos.ads,
+ g-soccon-vms.ads, g-soccon.ads, g-soccon-freebsd.ads,
+ g-soccon-linux-ppc.ads, g-soccon-tru64.ads, g-soccon-hpux.ads,
+ g-soccon-solaris-64.ads, gen-oscons.c, g-soccon-darwin.ads,
+ g-soccon-mingw-64.ads, g-soccon-linux-mips.ads, g-soccon-rtems.ads:
+ Remove GNAT.Sockets.Constants. This internal package is replaced by
+ System.OS_Constants.
+
+2008-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * gcc-interface/Makefile.in, gcc-interface/Make-lang.in:
+ Remove obsolete targets referencing gen-soccon
+ When generating s-oscons.ads, use a file name that includes the
+ THREAD_KIND, to ensure that the (potentially different) version from a
+ previous build with a different threads flavour does not get reused.
+
+2008-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb: Minor reformatting
+
+ * s-fileio.adb (Open): When file open operation fails, raise Name_Error
+ only when the operating system reports a non-existing file or directory
+ (ENOENT), otherwise raise Name_Error.
+
+ * exp_ch11.adb: Minor reformatting
+
+2008-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Access_Subprogram_Declaration): If the return type is
+ incomplete, add the access_to_subprogram type to the list of private
+ dependents only if the incomplete type will be completed in the current
+ scope.
+ (Build_Discriminant_Constraints): If the type of the discriminant is
+ access_to_variable, reject a constraint that is access_to_constant.
+
+2008-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket-dummy.adb, g-socket-dummy.ads, g-sothco-dummy.adb,
+ g-sothco-dummy.ads, g-socthi-dummy.adb, g-socthi-dummy.ads,
+ g-sttsne-dummy.ads: New files.
+
+ * gcc-interface/Makefile.in, Makefile.rtl: Use placeholder sources
+ with pragma Unimplemented_Unit for sockets packages on Nucleus.
+
+2008-08-06 Pascal Obry <obry@adacore.com>
+
+ * adaint.c: Another fix for ACL support on Windows.
+
+2008-08-06 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp (Expand_Interface_Actuals): Adds missing support for
+ expansion of calls to subprograms using selected components.
+
+2008-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Call): Use base type to determine whether a
+ dereference is needed because a subtype of an access_to_subprogram is
+ simply an access-subtype
+
+2008-08-06 Jerome Lambourg <lambourg@adacore.com>
+
+ * g-comlin.adb (Set_Command_Line): Now that aliases can contain
+ parameters, always specify the expected separator.
+
+2008-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * xnmake.adb: Use new XUtil package for platform independent text
+ output.
+
+2008-08-06 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Document compiler switch -gnateG
+
+2008-08-06 Quentin Ochem <ochem@adacore.com>
+
+ * s-stausa.adb (Fill_Stack): Fixed pragma assert and top pattern mark
+ in the case of an empty pattern size.
+ (Compute_Result): Do not do any computation in the case of an empty
+ pattern size.
+ (Report_Result): Fixed computation of the overflow guard.
+
+2008-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * g-awk.adb (Finalize): Do not use directly objects of the type in the
+ finalization routine to prevent elaboration order anomalies in new
+ finalization scheme.
+
+2008-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Find_Type_Name): protect against duplicate incomplete
+ declaration for the same type.
+
+2008-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * sem.adb: Minor rewording (comment)
+
+2008-08-06 Jerome Lambourg <lambourg@adacore.com>
+
+ * g-comlin.adb (Define_Switch, Get_Switches): New.
+ (Can_Have_Parameter, Require_Parameter, Actual_Switch): New, used when
+ ungrouping switches.
+ (For_Each_Simple_Switch): Allow more control over parameters handling.
+ This generic method now allows ungrouping of switches with parameters
+ and switches with more than one letter after the prefix.
+ (Set_Command_Line): Take care of switches that are prefixed with a
+ switch handling parameters without delimiter (-gnatya and -gnaty3 for
+ example).
+ (Add_Switch, Remove_Switch): Handle parameters possibly present inside
+ a group, as in gnaty3aM80 (3 and 80 are parameters). Report status of
+ the operation.
+ (Start, Alias_Switches, Group_Switches): Take care of parameters
+ possibly present inside a group.
+
+ * g-comlin.ads (Define_Switch): New method used to define a list of
+ expected switches, that are necessary for correctly ungrouping switches
+ with more that one character after the prefix.
+ (Get_Switches): Method that builds a getopt string from the list of
+ switches as set previously by Define_Switch.
+ (Add_Switch, Remove_Switch): New versions of the methods, reporting the
+ status of the operation. Also allow the removal of switches with
+ parameters only.
+ (Command_Line_Configuration_Record): Maintain a list of expected
+ switches.
+
+2008-08-06 Doug Rupp <rupp@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_param): Force 32bit descriptor if
+ TARGET_MALLOC64 clear.
+
+ * gcc-interface/utils2.c (build_call_alloc_dealloc): Force 32bit malloc
+ if TARGET_MALLOC64 clear.
+
+ * gcc-interface/gigi.h (TARGET_ABI_OPEN_VMS): Move here from utils2.c
+ (TARGET_MALLC64): New macro. Default to clear.
+
+2008-08-06 Doug Rupp <rupp@adacore.com>
+
+ * gcc-interface/utils2.c (snames.h) Include
+ (TARGET_ABI_OPEN_VMS): Initialize.
+ (build_call_alloc_dealloc); [TARGET_ABI_OPEN_VMS] Allocate on 32bit heap
+ for Convention C.
+
+2008-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Process_Discriminants): diagnose redundant or improper
+ null exclusion in a discriminant declaration
+
+ * sem_ch8.adb (Analyze_Object_Renaming): diagnose null exclusion
+ indicators when type is not an access type.
+
+ * sem_ch12.adb (Formal_Object_Declaration): diagnose null exclusion
+ indicators when type is not an access type.
+
+2008-08-06 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp (Expand_Interface_Conversion): Freeze the entity associated
+ with the target interface before expanding the code of the interface
+ conversion.
+
+2008-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb:
+ (Freeze_Entity): A deferred constant does not violate the restriction
+ No_Default_Initialization,
+
+ * sem_ch3.adb (Process_Subtype): An allocator is a valid construct that
+ can carry a null exclusion indicator, and on which an error may be
+ posted if the indicator is redundant.
+
+ * sem_ch8.adb (Analyze_Object_Renaming): Verify that a null exclusion
+ does not apply to a subtype mark that already excludes null.
+
+ * sem_ch12.adb (Formal_Object_Declaration): Verify that a null
+ exclusion does not apply to a subtype mark that already excludes null.
+
+2008-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * Makefile.rtl: Compile s-oscons.ads as part of the runtime library.
+
+2008-08-05 Doug Rupp <rupp@adacore.com>
+
+ * vms_data.ads: Translation for /POINTER_SIZE qualifier.
+
+2008-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * gsocket.h: Make this file includable in a Nucleus environment, which
+ does not support sockets.
+
+ * socket.c: Remove Nucleus-specific hack.
+
+2008-08-05 Pascal Obry <obry@adacore.com>
+
+ * adaint.c: Remove support for readable attribute on vxworks and nucleus
+
+2008-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb:
+ (Analyze_Attribute, case 'Result): handle properly the case where some
+ operand of the expression in a post-condition generates a transient
+ block.
+
+ * sem_ch5.adb (Analyze_Assignment_Statement): Apply conversion to
+ right-hand side when it is an anonymous access_to_subprogram, to force
+ static accessibility check when needed.
+
+2008-08-05 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Changing the description of the gnatcheck metrics
+ rule according to the change in the rule option.
+ Add documentation for -gnatw.b/-gnatw.B
+
+2008-08-05 Robert Dewar <dewar@adacore.com>
+
+ * ug_words: Add entries for -gnatw.b/-gnatw.B
+
+ * vms_data.ads: Add entries for -gnatw.b/-gnatw.B
+
+2008-08-05 Vincent Celier <celier@adacore.com>
+
+ * a-wtdeio.adb (Put (Current_Output)): Use Fore in the call to Put
+ (File).
+
+ * a-ztdeio.adb: Ditto.
+
+2008-08-05 Pascal Obry <obry@adacore.com>
+
+ * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Add support for the
+ readable attribute.
+
+2008-08-05 Vincent Celier <celier@adacore.com>
+
+ * s-wchwts.adb:
+ (Wide_String_To_String): Returns a String with the same 'First as its
+ parameter S.
+ (Wide_Wide_String_To_String): Ditto
+
+ * s-wchwts.ads:
+ (Wide_String_To_String): Document that the lowest index of the returned
+ String is equal to S'First.
+
+2008-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * xoscons.adb, xutil.ads, xutil.adb, s-oscons-tmplt.c: New files.
+
+ * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Generate
+ s-oscons.ads
+
+2008-08-05 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads (Warn_On_Biased_Representation): New flag
+
+ * sem_ch13.adb:
+ (Analyze_Attribute_Definition_Clause): Issue warning when biased
+ representation is required.
+ (Minimum_Size): Don't allow biasing if enum rep clause case
+
+ * sem_warn.adb:
+ (Set_Dot_Warning_Switch): Add handling of -gnatw.b/B switches
+ (Set_Warning_Switch): Include -gnatw.b in -gnatwa, -gnatw.B in gnatws
+
+ * usage.adb: Add lines for -gnatw.b/B switches
+
+2008-08-05 Pascal Obry <obry@adacore.com>
+
+ * a-coinve.adb: Reorder the code to avoid uninitialized warning.
+
+ * adaint.c: In UNIX cases do not call __gnat_stat but stat directly.
+
+2008-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * socket.c: Minor reformatting.
+
+2008-08-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting
+
+ * prj-nmsc.adb: Minor reformatting
+
+2008-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Validate_Array_Type_Instance): Only apply complex
+ visibility check on the component type if the simple test fails.
+
+2008-08-05 Jose Ruiz <ruiz@adacore.com>
+
+ * init.c (__gnat_install_handler for linux): If we are building the
+ Xenomai run time then we need to do two additional things: avoid
+ memory swapping and transform the Linux environment task into a native
+ Xenomai task.
+
+ * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for xenomai run
+ time): Use interface to Xenomai native skin and avoid linux-specific
+ way of setting CPU affinity.
+ (EH_MECHANISM for the xenomai run time): Use sjlj exception mechanism.
+
+2008-08-05 Bob Duff <duff@adacore.com>
+
+ * checks.ads: Minor comment fix
+
+2008-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb,
+ g-sercom-linux.adb (Data_Bits): Change literals B7 and B8 to CS7 and
+ CS8.
+
+2008-08-05 Robert Dewar <dewar@adacore.com>
+
+ * mlib.adb: Minor code reorganization
+ Minor reformatting
+
+ * make.adb: Minor reformatting
+
+ * prj-attr.ads: Minor reformatting
+
+ * s-os_lib.adb: Minor reformatting
+
+ * s-fileio.adb: Minor code reorganization
+ Minor reformatting
+
+ * prj.ads: Minor reformatting
+
+2008-08-05 Bob Duff <duff@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): Avoid type Any_Access in
+ unresolved initial value of "null", because it causes implicitly
+ generated "=" operators to be ambiguous, and because this type should
+ not be passed to gigi.
+
+2008-08-05 Vincent Celier <celier@adacore.com>
+
+ * mlib.adb: Update comments.
+
+ * make.adb (Switches_Of): Check for Switches (others), before checking
+ for Default_Switches ("Ada").
+ (Gnatmake): Use Builder'Switches (others) in preference to
+ Builder'Default_Switches ("Ada") if there are several mains.
+
+ * prj-attr-pm.adb:
+ (Add_Attribute): Add component Others_Allowed in Attribute_Record
+ aggregate.
+
+ * prj-attr.adb:
+ Add markers to indicates that attributes Switches allow others as index
+ (Others_Allowed_For): New Boolean function, returning True for
+ attributes with the mark.
+ (Initialize): Recognize optional letter 'O' as the marker for
+ associative array attributes where others is allowed as the index.
+
+ * prj-attr.ads:
+ (Others_Allowed_For): New Boolean function
+ (Attribute_Record): New Boolean component Others_Allowed
+
+ * prj-dect.adb:
+ (Parse_Attribute_Declaration): For associative array attribute where
+ others is allowed as the index, allow others as an index.
+
+ * prj-nmsc.adb:
+ (Process_Binder): Skip associative array attributes with index others
+ (Process_Compiler): Ditto
+
+ * prj-util.adb:
+ (Value_Of (Index, In_Array)): Make no attempt to put in lower case when
+ index is All_Other_Names.
+
+ * prj.ads:
+ (All_Other_Names): New constant
+
+ * prj-proc.adb:
+ (Process_Declarative_Items): Skip associative array attribute when index
+ is reserved word "others".
+
+2008-08-05 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * gen-oscons.c: Adapt for VMS where termios.h is not available.
+
+2008-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * a-rttiev.adb: Minor reformatting (comments)
+
+ * gen-soccon.c: Rename to gen-oscons.c
+
+ * gen-oscons.c: New file. Now generate System.OS_Constants instead of
+ GNAT.Sockets.Constants.
+ Add new constants for GNAT.Serial_Communications and System.File_IO.
+
+2008-08-05 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.adb (Collect_Interfaces_Info): Minor reformating.
+ * exp_ch3.adb (Build_Offset_To_Top_Functions): Code cleanup: the
+ implementation of this routine has been simplified.
+
+2008-08-05 Pascal Obry <obry@adacore.com>
+
+ * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Fix the
+ Set_Read_Only Win32 implementation.
+
+2008-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * exp_strm.adb: Minor reformatting (comments)
+
+ * sem_ch12.adb: Minor reformatting.
+
+2008-08-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting
+
+ * checks.adb: Minor reformatting
+
+2008-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * tbuild.ads (New_External_Name): Update spec to reflect relaxed
+ restriction on Prefix.
+
+2008-08-05 Jerome Lambourg <lambourg@adacore.com>
+
+ * g-comlin.adb (Sort_Sections, Group_Switches): New/Modified internal
+ methods needed to handle switch sections when building a command line.
+ (Define_Section, Add_Switch, Remove_Switch, Is_New_Section,
+ Current_Section): New public methods or methods modified to handle
+ building command lines with sections.
+ (Set_Command_Line): Take into account sections when analysing a switch
+ string.
+ (Start): Sort the switches by sections before iterating the command line
+ elements.
+
+ * g-comlin.ads (Define_Section, Add_Switch, Remove_Switch,
+ Is_New_Section, Current_Section): New methods or methods modified to
+ handle building command lines with sections.
+
+2008-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For access
+ discriminants, indicate that the corresponding object declaration has
+ no initialization, to prevent spurious warnings when the access type is
+ null-excluding.
+
+2008-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Call): If this is a call to the predefined
+ Abort_Task, warn if the call appears within a protected operation.
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_In): Suppress range warnings in instances
+
+2008-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb:
+ (Replace_Anonymous_Access_To_Protected_Subprogram): Handle properly an
+ anonymous access to protected subprogram that is the return type of the
+ specification of a subprogram body.
+
+ * sem_ch6.adb:
+ (Analyze_Subprogram_Body): if the return type is an anonymous access to
+ subprogram, freeze it now to prevent access anomalies in the back-end.
+
+ * exp_ch9.adb: Minor code cleanup.
+ Make sure that new declarations are inserted into the tree before
+ analysis (from code reading).
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb:
+ (Expand_Simple_Function_Return): Check No_Secondary_Stack restriction
+ at point of return.
+
+2008-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_type.adb, sem_ch4.adb, sprint.adb, exp_ch3.adb: Minor reformatting
+
+2008-08-04 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * g-soccon-mingw.ads: Fix value for MSG_WAITALL
+
+2008-08-04 Javier Miranda <miranda@adacore.com>
+
+ * sem_prag.adb (Process_Convention): Add missing support for
+ N_Private_Extension_Declaration nodes.
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb: Minor reformatting
+
+2008-08-04 Pascal Obry <obry@adacore.com>
+
+ * adaint.h: Add missing prototype.
+
+ * adaint.c: Refine support for Windows file attributes.
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb:
+ (Valid_Conversion): Catch case of designated types having different
+ sizes, even though they statically match.
+
+2008-08-04 Javier Miranda <miranda@adacore.com>
+
+ * sem_eval.adb (Subtypes_Statically_Match): Remove superfluous patch
+ added in previous patch to handle access to subprograms.
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb:
+ (Freeze_Entity): Only check No_Default_Initialization restriction for
+ constructs that come from source
+
+2008-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch6.adb: Minor comment fix.
+
+ * sem_ch4.adb: Minor reformatting.
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb: (Large_Storage_Type): Improve previous change.
+
+2008-08-04 Pascal Obry <obry@adacore.com>
+
+ * adaint.c, s-os_lib.adb, s-os_lib.ads: Use Windows ACL to deal with
+ file attributes.
+
+2008-08-04 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Access_Subprogram_Declaration): Adding missing support
+ for N_Formal_Object_Declaration nodes. Adding kludge required by
+ First_Formal to provide its functionality with access to functions.
+ (Replace_Anonymous_Access_To_Protected_Subprogram): Add missing support
+ for anonymous access types returned by functions.
+
+ * sem_ch5.adb (Analyze_Assignment): Code cleanup to avoid duplicate
+ conversion of null-excluding access types (required only once to force
+ the generation of the required runtime check).
+
+ * sem_type.adb (Covers): minor reformating
+
+ * checks.adb (Null_Exclusion_Static_Checks): Avoid reporting errors
+ with internally generated nodes. Avoid generating the error inside init
+ procs.
+
+ * sem_res.adb (Resolve_Membership_Test): Minor reformating.
+ (Resolve_Null): Generate the null-excluding check in case of assignment
+ to a null-excluding object.
+ (Valid_Conversion): Add missing support for anonymous access to
+ subprograms.
+
+ * sem_ch6.adb (Check_Return_Subtype_Indication): Add missing support for
+ anonymous access types whose designated type is an itype. This case
+ occurs with anonymous access to protected subprograms types.
+ (Analyze_Return_Type): Add missing support for anonymous access to
+ protected subprogram.
+
+ * sem_eval.adb (Subtypes_Statically_Match): In case of access to
+ subprograms addition of missing check on matching convention. Required
+ to properly handle access to protected subprogram types.
+
+ * exp_ch3 (Build_Assignment): Code cleanup removing duplicated check on
+ null excluding access types.
+
+2008-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb: Add comments
+
+ * sem_ch4.adb (Analyze_Allocator): If the designated type is a non-null
+ access type and the allocator is not initialized, warn rather than
+ reporting an error.
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb: Minor reformatting
+
+ * exp_dist.adb: Minor reformatting
+
+ * g-comlin.adb: Minor reformatting
+
+2008-08-04 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of the
+ target to the type of the aggregate in the case where the target object
+ is class-wide.
+
+ * exp_ch5.adb (Expand_Simple_Function_Return): When the function's
+ result type is class-wide and inherently limited, and the expression
+ has a specific type, create a return object of the specific type, for
+ more efficient handling of returns of build-in-place aggregates (avoids
+ conversions of the class-wide return object to the specific type on
+ component assignments).
+
+ * sem_ch6.adb (Check_Return_Subtype_Indication): Suppress the error
+ about a type mismatch for a class-wide function with a return object
+ having a specific type when the object declaration doesn't come from
+ source. Such an object can result from the expansion of a simple return.
+
+2008-08-04 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * g-soccon-mingw-64.ads, system-mingw-x86_64.ads: New files.
+
+ * gcc-interface/Makefile.in: Use 64bit-specific system files when
+ compiling for 64bit windows.
+
+2008-08-04 Jerome Lambourg <lambourg@adacore.com>
+
+ * g-comlin.adb (Group_Switches): Preserve the switch order when
+ grouping and allow switch grouping of switches with more than one
+ character extension (e.g. gnatw.x).
+ (Args_From_Expanded): Remove this now obsolete method.
+
+2008-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Get_Allocator_Final_List): Freeze anonymous type for
+ chain at once, to ensure that type is properly decorated for back-end,
+ when allocator appears within a loop.
+
+2008-08-04 Kevin Pouget <pouget@adacore.com>
+
+ * snames.h, snames.adb, snames.ads:
+ Add Attr_To_Any, Attr_From_Any and Attr_TypeCode defines.
+
+ * exp_dist.ads, exp_dist.adb: Add Build_From_Any_Call,
+ Build_To_Any_Call and Build_TypeCode_Call procedures.
+
+ * exp_attr.adb, sem_attr.adb: Add corresponding cases.
+
+ * rtsfind.ads: Add corresponding names.
+
+ * tbuild.adb: Update prefix restrictions to allow '_' character.
+
+2008-08-04 Doug Rupp <rupp@adacore.com>
+
+ * gigi.h (fill_vms_descriptor): Add third parameter gnat_actual
+ * trans.c (call_to_gnu): Call fill_vms_descriptor with new parameter.
+ * utils2.c (fill_vms_descriptor): Add third parameter for error sloc and
+ use it. Calculate pointer range overflow using 64bit types.
+
+2008-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Access_Definition): A formal object declaration is a
+ legal context for an anonymous access to subprogram.
+
+ * sem_ch4.adb (Analyze_One_Call): If the call can be interpreted as an
+ indirect call, report success to the caller to include possible
+ interpretation.
+
+ * sem_ch6.adb (Check_Return_Type_Indication): Apply proper conformance
+ check when the type
+ of the extended return is an anonymous access_to_subprogram type.
+
+ * sem_res.adb:
+ (Resolve_Call): Insert a dereference if the type of the subprogram is an
+ access_to_subprogram and the context requires its return type, and a
+ dereference has not been introduced previously.
+
+2008-08-04 Arnaud Charlet <charlet@adacore.com>
+
+ * usage.adb (Usage): Minor rewording of -gnatwz switch, to improve
+ gnatcheck support in GPS.
+
+2008-08-04 Vincent Celier <celier@adacore.com>
+
+ * mlib.adb (Create_Sym_Links): Create relative symbolic links when
+ requested
+
+2008-08-04 Vincent Celier <celier@adacore.com>
+
+ * gprep.adb (Process_One_File): Call Prep.Preprocess with a Boolean
+ variable, but don't check the resulting value as it has no impact on
+ the processing.
+
+ * opt.ads:
+ (Generate_Processed_File): New Boolean flag, set to True in the compiler
+ when switch -gnateG is used.
+
+ * prep.adb:
+ (Preprocess): new Boolean out parameter Source_Modified. Set it to True
+ when the source is modified by the preprocessor and there is no
+ preprocessing errors.
+
+ * prep.ads (Preprocess): new Boolean out parameter Source_Modified
+
+ * sinput-l.adb:
+ (Load_File): Output the result of preprocessing if the source text was
+ modified.
+
+ * switch-c.adb (Scan_Front_End_Switches): Recognize switch -gnateG
+
+ * switch-m.adb (Normalize_Compiler_Switches): Normalize switch -gnateG
+
+ * ug_words: Add VMS equivalent for -gnateG
+
+ * vms_data.ads:
+ Add VMS option /GENERATE_PROCESSED_SOURCE, equivalent to switch -gnateG
+
+2008-08-04 Doug Rupp <rupp@adacore.com>
+
+ * gcc-interface/utils2.c:
+ (fill_vms_descriptor): Raise CE if attempt made to pass 64bit pointer
+ in 32bit descriptor.
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * par-ch10.adb: Minor reformatting
+
+ * i-cobol.adb: Minor reformatting.
+
+2008-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Access_Definition): Create an itype reference for an
+ anonymous access return type of a regular function that is not a
+ compilation unit.
+
+2008-08-04 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: New Builder attribute Global_Compilation_Switches
+
+ * snames.adb: New standard name Global_Compilation_Switches
+
+ * snames.ads: New standard name Global_Compilation_Switches
+
+ * make.adb: Correct spelling error in comment
+
+2008-08-04 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_prag.adb (Check_Form_Of_Interface_Name): Fix handling for CLI
+ target.
+
+2008-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch10.adb: Minor comment fix.
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * restrict.adb: Improved messages for restriction warnings
+
+ * restrict.ads: Improved messages for restriction messages
+
+ * s-rident.ads (Profile_Name): Add No_Profile
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * system-darwin-x86.ads: Correct bad definition of Max_Nonbinary_Modulus
+
+2008-08-04 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Check for size clause for boolean warning
+
+2008-08-04 Vincent Celier <celier@adacore.com>
+
+ * prj-proc.adb:
+ (Copy_Package_Declarations): When inheriting package Naming from a
+ project being extended, do not inherit source exception names.
+
+2008-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Check_Precondition_Postcondition): When scanning the
+ list of declaration to find previous subprogram, do not go to the
+ original node of a generic unit.
+
+2008-08-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR, MINUS_EXPR>:
+ New case. Convert BOOLEAN_TYPE operation to the default integer type.
+
+2008-08-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (DECL_PARM_ALT): Now DECL_PARM_ALT_TYPE.
+ * gcc-interface/decl.c (gnat_to_gnu_param): Fix formatting, simplify
+ and adjust for above renaming.
+ * gcc-interface/utils.c (convert_vms_descriptor): Likewise. Add new
+ gnu_expr_alt_type parameter. Convert the expression to it instead
+ of changing its type in place.
+ (build_function_stub): Adjust call to above function.
+
+2008-08-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove dead
+ code. Do not get full definition of deferred constants with address
+ clause for a use. Do not ignore deferred constant definitions with
+ address clause. Ignore constant definitions already marked with the
+ error node.
+ <object>: Remove obsolete comment. For a deferred constant with
+ address clause, get the initializer from the full view.
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Definition_Clause>:
+ Rework and remove obsolete comment.
+ <N_Object_Declaration>: For a deferred constant with address clause,
+ mark the full view with the error node.
+ * gcc-interface/utils.c (convert_to_fat_pointer): Rework and fix
+ formatting nits.
+
+2008-08-01 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * rtsfind.ads: Add block IO versions of stream routines for Strings.
+
+ * bindgen.adb, gnat_rm.texi, gnat_ugn.texi, opt.ads,
+ sem_prag.adb, snames.adb, snames.ads, snames.h,
+ par-prag.adb: Undo previous stream related changes.
+
+ * s-rident.ads: Add new restriction No_Stream_Optimizations.
+
+ * s-ststop.ads, s-ststop.adb: Comment reformatting.
+ Define enumeration type to designate different IO mechanisms.
+ Enchance generic package Stream_Ops_Internal to include an
+ implementation of Input and Output.
+
+ * exp_attr.adb (Find_Stream_Subprogram): If restriction
+ No_Stream_Optimization is active, choose the default byte IO
+ implementations of stream attributes for Strings.
+ Otherwise use the corresponding block IO version.
+
+2008-08-01 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>: Do not
+ turn Ada Pure into GCC const, now implicitely implying nothrow as well.
+
+2008-08-01 Robert Dewar <dewar@adacore.com>
+
+ * par-ch3.adb (P_Defining_Identifier): Avoid repeated attempt to
+ convert plain identifier into defining identifier.
+
+2008-08-01 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Check_Form_Of_Interface_Name): Refine and improve
+ warnings
+
+ * lib-xref.adb: Add error defense.
+
+2008-08-01 Bob Duff <duff@adacore.com>
+
+ * ioexcept.ads, sequenio.ads, directio.ads: Correct comment.
+
+2008-08-01 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Adjustment to previous fix for passing
+ correct accessibility levels. In the "when others" case, retrieve the
+ access level of the Etype of Prev rather than Prev_Orig, because the
+ original exression has not always been analyzed.
+
+2008-08-01 Robert Dewar <dewar@adacore.com>
+
+ * prj-nmsc.adb: Minor reformatting
+
+ * sem_ch4.adb: Minor reformatting
+ Minor code reorganization
+
+ * prj.ads: Minor reformatting
+
+ * s-os_lib.adb: Minor reformatting
+
+ * par-prag.adb (Prag, case Wide_Character_Encoding): Deal with upper
+ half encodings
+
+ * scans.ads: Minor reformatting.
+
+ * sem_prag.adb (Analyze_Pragma): Put entries in alpha order
+ (Analyze_Pragma): Make sure all GNAT pragmas call GNAT_Pragma
+
+ * sem_res.adb:
+ (Resolve_Call): Check violation of No_Specific_Termination_Handlers
+
+ * sem_ch12.adb: Minor comment reformatting
+
+ * par-ch3.adb (P_Type_Declaration): Properly handle missing type
+ keyword
+
+2008-08-01 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb (Process_PPCs): Don't copy spec PPC to body if not
+ generating code
+
+2008-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * checks.adb (Apply_Float_Conversion_Check): If the expression to be
+ converted is a real literal and the target type has static bounds,
+ perform the conversion exactly to prevent floating-point anomalies on
+ some targets.
+
+2008-08-01 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: New attribute Compiler'Name_Syntax (<lang>)
+
+ * prj-nmsc.adb (Process_Compiler): Recognize attribute Name_Syntax
+
+ * prj.adb (Object_Exist_For): Use Object_Generated, not
+ Objects_Generated that is removed and was never modified anyway.
+
+ * prj.ads:
+ (Path_Syntax_Kind): New enumeration type
+ (Language_Config): New component Path_Syntax, defaulted to Host.
+ Components PIC_Option and Objects_Generated removed, as they are not
+ used.
+
+ * snames.adb: New standard name Path_Syntax
+
+ * snames.ads: New standard name Path_Syntax
+
+2008-08-01 Vincent Celier <celier@adacore.com>
+
+ * mlib-utl.adb:
+ (Adalib_Path): New variable to store the path of the adalib directory
+ when procedure Specify_Adalib_Dir is called.
+ (Lib_Directory): If Adalib_Path is not null, return its value
+ (Specify_Adalib_Dir): New procedure
+
+ * mlib-utl.ads (Specify_Adalib_Dir): New procedure
+
+2008-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb:
+ (Check_Precondition_Postcondition): If not generating code, analyze the
+ expression in a postcondition that appears in a subprogram body, so that
+ it is properly decorated for ASIS use.
+
+2008-08-01 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Remove ugly special-case code that resets
+ Orig_Prev to Prev in the case where the actual is N_Function_Call or
+ N_Identifier. This was interfering with other cases that are rewritten
+ as N_Identifier, such as allocators, resulting in passing of the wrong
+ accessibility level, and based on testing this code is apparently no
+ longer needed at all.
+
+2008-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_One_Call): Handle complex overloading of a
+ procedure call whose prefix
+ is a parameterless function call that returns an access_to_procedure.
+
+2008-08-01 Jose Ruiz <ruiz@adacore.com>
+
+ * adaint.c (__gnat_tmp_name): Refine the generation of temporary names
+ for RTX. Adding a suffix that is incremented at each iteration.
+
+2008-08-01 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Remove special casing of
+ Raise_Exception
+
+2008-08-01 Jerome Lambourg <lambourg@adacore.com>
+
+ * s-os_lib.adb (Normalize_Pathname): Take care of double-quotes in
+ paths, which are authorized by Windows but can lead to errors when used
+ elsewhere.
+
+2008-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.ads (Need_Subprogram_Instance_Body): new function, to create
+ a pending instantiation for the body of a subprogram that is to be
+ inlined.
+
+ * sem_ch12.adb:
+ (Analyze_Subprogram_Instantiation): use Need_Subprogram_Instance_Body.
+
+ * sem_prag.adb (Make_Inline): If the pragma applies to an instance,
+ create a pending instance for its body, so that calls to the subprogram
+ can be inlined by the back-end.
+
+2008-08-01 Jose Ruiz <ruiz@adacore.com>
+
+ * gnat_ugn.texi: Document the RTX run times (rts-rtx-rtss and
+ rts-rtx-w32).
+
+2008-08-01 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb (Error_Illegal_Wide_Character): Bump scan pointer
+
+2008-08-01 Doug Rupp <rupp@adacore.com>
+
+ * gnat_rm.texi: Document new mechanism Short_Descriptor.
+
+ * types.ads (Mechanism_Type): Modify range for new Short_Descriptor
+ mechanism values.
+
+ * sem_prag.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
+ mechanism and Short_Descriptor mechanism values.
+
+ * snames.adb (preset_names): Add short_descriptor entry.
+
+ * snames.ads: Add Name_Short_Descriptor.
+
+ * types.h: Add new By_Short_Descriptor mechanism values.
+
+ * sem_mech.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
+ mechanism and Short_Descriptor mechanism values.
+
+ * sem_mech.ads (Mechanism_Type): Add new By_Short_Descriptor mechanism
+ values.
+ (Descriptor_Codes): Modify range for new mechanism values.
+
+ * treepr.adb (Print_Entity_Enfo): Handle new By_Short_Descriptor
+ mechanism values.
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Handle By_Short_Descriptor.
+ (gnat_to_gnu_param): Handle By_Short_Descriptor.
+
+ * gcc-interface/gigi.h (build_vms_descriptor64): Remove prototype.
+ (build_vms_descriptor32): New prototype.
+ (fill_vms_descriptor): Remove unneeded gnat_actual parameter.
+
+ * gcc-interface/trans.c (call_to_gnu): Removed unneeded gnat_actual
+ argument in call fill_vms_descriptor.
+
+ * gcc-interface/utils.c (build_vms_descriptor32): Renamed from
+ build_vms_descriptor and enhanced to hande Short_Descriptor mechanism.
+ (build_vms_descriptor): Renamed from build_vms_descriptor64.
+ (convert_vms_descriptor32): New function.
+ (convert_vms_descriptor64): New function.
+ (convert_vms_descriptor): Rewrite to handle both 32bit and 64bit
+ descriptors.
+
+ * gcc-interface/utils2.c (fill_vms_descriptor): Revert previous changes,
+ no longer needed.
+
+2008-08-01 Jose Ruiz <ruiz@adacore.com>
+
+ * adaint.c (__gnat_tmp_name): RTSS applications do not support tempnam
+ nor tmpnam, so we always use c:\WINDOWS\Temp\gnat-XXXXXX as temporary
+ name.
+
+2008-08-01 Jose Ruiz <ruiz@adacore.com>
+
+ * cstreams.c (__gnat_full_name): RTSS applications cannot ask for the
+ current directory so only fully qualified names are allowed.
+
+2008-08-01 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi:
+ Minor editing, remove uncomfortable use of semicolon
+
+ * s-ststop.adb: Add some ??? comments
+
+ * sem_ch10.adb: Minor reformatting
+
+ * snames.ads:
+ Minor comment fixes, some pragmas were not properly
+ categorized in the comments, documentation change only
+
+ * xref_lib.adb: Minor reformatting
+
+ * sinput.adb: Minor reformatting
+
+ * gnatchop.adb: Minor reformatting
+
+ * sem_util.ads: Minor reformatting.
+
+ * opt.ads: Minor documentation fix
+
+ * scng.adb: Minor reformatting
+
+ * prj-part.adb: Update comments
+
+2008-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_disp.adb (Expand_Interface_Conversion): If the target type is a
+ tagged synchronized type, use corresponding record type.
+
+2008-08-01 Doug Rupp <rupp@adacore.com>
+
+ * mlib-tgt-specific-vms-alpha.adb (Build_Dynamic_Library): Output a
+ dummy transfer address for debugging.
+
+ * mlib-tgt-specific-vms-ia64.adb (Build_Dynamic_Library): Likewise.
+
+ * vms_data.ads: vms_data.ads: New qualfier /MACHINE_CODE_LISTING
+
+2008-07-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Fix formatting.
+ * gcc-interface/utils.c (create_field_decl): Avoid superfluous work.
+
+2008-07-31 Pascal Obry <obry@adacore.com>
+
+ * prj-nmsc.adb: Keep Object and Exec directory casing.
+
+2008-07-31 Jose Ruiz <ruiz@adacore.com>
+
+ * system-rtx-rtss.ads
+ Change the default stack size. It is important to set the commit part.
+
+ * s-taprop-rtx.adb
+ (Initialize): Get the clock resolution.
+ (RT_Resolution): Return the clock resolution that is indicated by the
+ system.
+
+ * s-parame-vxworks.adb
+ Document that this body is used for RTX in RTSS (kernel) mode.
+
+ * gcc-interface/Makefile.in
+ (LIBGNAT_TARGET_PAIRS for the rtx_rtss run time): Use the
+ s-parame-vxworks.adb body in order to have reasonable stack sizes in
+ RTX RTSS kernel mode. Virtual memory is not used in that case, so we
+ cannot ask for too big values.
+
+2008-07-31 Robert Dewar <dewar@adacore.com>
+
+ * exp_aggr.adb: Minor reformatting
+
+ * makeutl.adb: Minor reformatting
+
+ * prj-env.adb: Minor reformatting
+
+2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private
+ tagged type is completed by a concurrent type.
+
+2008-07-31 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_aggr.adb:
+ (Resolve_Record_Aggregate): Bypass error that a type without
+ components must have a "null record" aggregate when compiling for Ada
+ 2005, since it's legal to give an aggregate of form (others => <>)
+ for such a type.
+
+2008-07-31 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to
+ handle synchronized types. Required to handle well the object.operation
+ notation applied to synchronized types.
+
+2008-07-31 Quentin Ochem <ochem@adacore.com>
+
+ * s-stausa.adb (Fill_Stack): Stack_Used_When_Filling is now stored
+ anymore - just used internally.
+ Added handling of very small tasks - when the theoretical size is
+ already full at the point of the call.
+ (Report_Result): Fixed result computation, Stack_Used_When_Filling does
+ not need to be added to the result.
+
+2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the
+ corresponding spec is a primitive wrapper. Update comment.
+
+2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * bindgen.adb Comment reformatting. Update the list of run-time globals.
+ (Gen_Adainit_Ada): Add the declaration, import and value set for
+ configuration flag Canonical_Streams.
+ (Gen_Adainit_C): Add the declaration and initial value of external
+ symbol __gl_canonical_streams.
+
+ * init.c: Update the list of global values computed by the binder.
+
+ * opt.ads: Add flag Canonical_Streams.
+
+ * par-prag.adb (Prag): Include Pragma_Canonical_Streams to the list of
+ semantically handled pragmas.
+
+ * sem_prag.adb: Add an entry into enumeration type Sig_Flags.
+ (Analyze_Pragma): Add case for pragma Canonical_Streams.
+
+ * snames.adb: Add character value for name Canonical_Streams.
+
+ * snames.ads:
+ Add Name_Canonical_Streams to the list of configuration pragmas.
+ Add Pragma_Canonical_Streams to enumeration type Pragma_Id.
+
+ * snames.h: Add a definition for Pragma_Canonical_Streams.
+
+ * s-ststop.adb:
+ Add a flag and import to seize the value of external symbol
+ __gl_canonical_streams. Update comment and initial value of constant
+ Use_Block_IO.
+
+ * gnat_rm.texi: Add section of pragma Canonical_Streams.
+
+ * gnat_ugn.texi:
+ Add pragma Canonical_Streams to the list of configuration pragmas.
+
+2008-07-31 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Build_Unit_Name): If the unit name in a with_clause
+ has the form A.B.C and B is a unit renaming, analyze its compilation
+ unit and add a with_clause on A.b to the context.
+
+2008-07-31 Vincent Celier <celier@adacore.com>
+
+ * makeutl.adb (Executable_Prefix_Path): If Locate_Exec_On_Path fails,
+ return the empty string, instead of raising Constraint_Error.
+
+2008-07-31 Gary Dismukes <dismukes@adacore.com>
+
+ * checks.ads (Apply_Accessibility_Check): Add parameter Insert_Node.
+
+ * checks.adb (Apply_Accessibility_Check): Insert the check on
+ Insert_Node.
+
+ * exp_attr.adb:
+ (Expand_N_Attribute_Refernce, Attribute_Access): Pass attribute node
+ to new parameter Insert_Node on call to Apply_Accessibility_Check.
+ Necessary to distinguish the insertion node because the dereferenced
+ formal may come from a rename, but the check must be inserted in
+ front of the attribute.
+
+ * exp_ch4.adb:
+ (Expand_N_Allocator): Pass actual for new Insert_Node parameter on
+ call to Apply_Accessibility_Check.
+ (Expand_N_Type_Conversion): Pass actual for new Insert_Node parameter
+ on call to Apply_Accessibility_Check.
+ Minor reformatting
+
+2008-07-31 Javier Miranda <miranda@adacore.com>
+
+ * sem_type.adb (Has_Compatible_Type): Complete support for synchronized
+ types when the candidate type is a synchronized type.
+
+ * sem_res.adb (Resolve_Actuals): Reorganize code handling synchronized
+ types, and complete management of synchronized types adding missing
+ code to handle formal that is a synchronized type.
+
+ * sem_ch4.adb (Try_Primitive_Operation): Avoid testing attributes that
+ are not available and cause the compiler to blowup. Found compiling
+ test with switch -gnatc
+
+ * sem_ch6.adb (Check_Synchronized_Overriding): Remove local subprogram
+ Has_Correct_Formal_Mode plus code cleanup.
+
+2008-07-31 Bob Duff <duff@adacore.com>
+
+ * sinput.adb (Skip_Line_Terminators): Fix handling of LF/CR -- it was
+ recognized as two end-of-lines, but it should be just one.
+
+2008-07-31 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch9.adb: Minor reformatting
+
+ * tbuild.ads: Fix several occurrences of incorrectly referring to
+ Name_Find as Find_Name.
+
+2008-07-31 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Aggr_Size_OK): If the aggregate has a single component
+ and the context is an object declaration with non-static bounds, treat
+ the aggregate as non-static.
+
+2008-07-31 Vincent Celier <celier@adacore.com>
+
+ * prj-part.adb, prj-part.ads, prj.adb, prj.ads, prj-env.adb:
+ Move back spec of Parse_Single_Project to body, as it is not called
+ outside of package Prj.Part.
+ (Project_Data): Remove components Linker_Name, Linker_Path and
+ Minimum_Linker_Options as they are no longer set.
+ Remove function There_Are_Ada_Sources from package Prj and move code
+ in the only place it was used, in Prj.Env.Set_Ada_Paths.
+
+2008-07-31 Arnaud Charlet <charlet@adacore.com>
+
+ * mlib-utl.ads: Fix typo.
+
+2008-07-31 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch12.adb: Minor reformatting
+
+2008-07-31 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Change the description of the
+ Overly_Nested_Control_Structures: now the rule always requires a
+ positive parameter for '+R' option
+
+2008-07-31 Thomas Quinot <quinot@adacore.com>
+
+ * g-pehage.adb: Minor reformatting
+
+2008-07-31 Pascal Obry <obry@adacore.com>
+
+ * s-finimp.ads: Minor reformatting.
+
+2008-07-31 Vincent Celier <celier@adacore.com>
+
+ * s-regexp.ads: Minor comment fix
+
+2008-07-31 Arnaud Charlet <charlet@adacore.com>
+
+ * s-direio.adb (Reset): Replace pragma Unmodified by Warnings (Off),
+ so that we can compile this file successfully with -gnatc.
+
+2008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_attr.adb (Find_Stream_Subprogram): Check the base type instead
+ of the type when looking for stream subprograms for type String,
+ Wide_String and Wide_Wide_String.
+
+ * s-ststop.adb: Change the initialization expression of constant
+ Use_Block_IO.
+
+2008-07-31 Geert Bosch <bosch@adacore.com>
+
+ * arit64.c:
+ New file implementing __gnat_mulv64 signed integer multiplication with
+ overflow checking
+
+ * fe.h (Backend_Overflow_Checks_On_Target): Define for use by Gigi
+
+ * gcc-interface/gigi.h:
+ (standard_types): Add ADT_mulv64_decl
+ (mulv64_decl): Define subprogram declaration for __gnat_mulv64
+
+ * gcc-interface/utils.c:
+ (init_gigi_decls): Add initialization of mulv64_decl
+
+ * gcc-interface/trans.c:
+ (build_unary_op_trapv): New function
+ (build_binary_op_trapv): New function
+ (gnat_to_gnu): Use the above functions instead of
+ build_{unary,binary}_op
+
+ * gcc-interface/Makefile.in
+ (LIBGNAT_SRCS): Add arit64.c
+ (LIBGNAT_OBJS): Add arit64.o
+
+2008-07-31 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Library_Attributes): Check if Linker'Switches or
+ Linker'Default_Switches are declared. Warn if they are declared.
+
+2008-07-31 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use
+ Insert_Actions to place the pointer declaration in the code, rather
+ than Insert_Before_And_Analyze, so that insertions of temporaries are
+ kept in the proper order when transient scopes are present.
+
+
+2008-07-31 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb (Spec_PPC): Now defined for generic subprograms
+
+ * einfo.ads (Spec_PPC): Now defined for generic subprograms
+
+ * sem_prag.adb (Check_Precondition_Postcondition): Handle generic
+ subprogram case
+
+2008-07-31 Vincent Celier <celier@adacore.com>
+
+ * s-os_lib.adb: Minor comment fix
+
+2008-07-31 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Generic_Subprogram_Body): After analysis,
+ transfer pre/postconditions from generic copy to original tree, so that
+ they will appear in each instance.
+ (Process_PPCs): Do not transform postconditions into a procedure in a
+ generic context, to prevent double expansion of check pragmas.
+
+ * sem_attr.adb: In an instance, the prefix of the 'result attribute
+ can be the renaming of the
+ current instance, so check validity of the name accordingly.
+
+2008-07-31 Robert Dewar <dewar@adacore.com>
+
+ * mlib-utl.ads: Minor reformatting
+
+2008-07-31 Ed Schonberg <schonberg@adacore.com>
+
+ sem_attr.adb: 'Result can have an ambiguous prefix, and is resolved
+ from context. This attribute must be usable in Ada95 mode.
+ The attribute can appear in the body of a function marked
+ Inline_Always, but in this case the postocondition is not enforced.
+
+ sem_prag.adb (Check_Precondition_Postcondition): within the expansion
+ of an inlined call pre- and postconditions are legal
+
+2008-07-31 Vincent Celier <celier@adacore.com>
+
+ * prj.adb, prj.ads, clean.adb, prj-nmsc.adb: Remove declarations that
+ were for gprmake only
+
+2008-07-31 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Update -gnatN documentation.
+
+ * gnat_rm.texi: Add note about pre/postcondition
+ pragmas not checked in conjunction with front-end inlining.
+
+2008-07-31 Robert Dewar <dewar@adacore.com>
+
+ * g-pehage.adb, g-pehage.ads: Minor reformatting
+
+2008-07-31 Arnaud Charlet <charlet@adacore.com>
+
+ * mlib-utl.ads, prj-makr.ads: Add comments.
+
+2008-07-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS)
+ [WINDOWS]: Add s-winext.o.
+
+2008-07-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/36554
+ * back_end.adb (Call_Back_End): Pass Standard_Boolean to gigi.
+ * gcc-interface/gigi.h (gigi): Take new standard_boolean parameter.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>:
+ Set precision to 1 for subtype of BOOLEAN_TYPE.
+ (set_rm_size): Set TYPE_RM_SIZE_NUM for BOOLEAN_TYPE.
+ (make_type_from_size): Deal with BOOLEAN_TYPE.
+ * gcc-interface/misc.c (gnat_print_type): Likewise.
+ * gcc-interface/trans.c (gigi): Take new standard_boolean parameter.
+ Set boolean_type_node as its translation in the table, as well
+ as boolean_false_node for False and boolean_true_node for True.
+ * gcc-interface/utils.c (gnat_init_decl_processing): Create custom
+ 8-bit boolean_type_node and set its TYPE_RM_SIZE_NUM.
+ (create_param_decl): Deal with BOOLEAN_TYPE.
+ (build_vms_descriptor): Likewise.
+ (build_vms_descriptor64): Likewise.
+ (convert): Deal with BOOLEAN_TYPE like with ENUMERAL_TYPE.
+
+2008-07-30 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb: Minor reformatting
+
+ * exp_util.ads (Find_Prim_Op): Document that Program_Error is raised
+ if no primitive operation is found.
+
+ * exp_util.adb: (Find_Prim_Op): Add comments for previous change
+
+ * sem_ch8.adb: Minor reformatting
+
+2008-07-30 Laurent Pautet <pautet@adacore.com>
+
+ * g-pehage.adb:
+ Remove a limitation on the length of the words handled by the minimal
+ perfect hash function generator.
+
+ * g-pehage.ads:
+ Detail the use of subprograms Insert, Initialize, Compute and Finalize.
+ Fix some typos.
+
+2008-07-30 Robert Dewar <dewar@adacore.com>
+
+ * gnatlink.adb: Minor reformatting
+
+2008-07-30 Thomas Quinot <quinot@adacore.com>
+
+ * rtsfind.adb (Check_RPC): Check version consistency even when not
+ generating RCI stubs. Provide more detailed error message in case of
+ mismatch.
+
+2008-07-30 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): When renaming an attribute
+ as a actual in an instance, check for a missing attribute to prevent
+ program_error on an illegal program.
+
+ * exp_util.adb (Find_Prim_Op): Rather than Assert (False), raise program
+ error if primitive is not found, so that exception can be handled
+ elsewhere on illegal programs.
+
+2008-07-30 Robert Dewar <dewar@adacore.com>
+
+ * uintp.adb (UI_GCD): Fix potential overflow
+
+2008-07-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb: Flag245 is now used.
+ (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Relax the assertion
+ check to include functions.
+ (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
+ (Wrapped_Entity, Set_Wrapped_Entity): Relax the assertion check to
+ include functions.
+ (Write_Entity_Flags): Move flag Is_Primitive, add Is_Private_Primitive
+ to the list of displayed flags.
+
+ * einfo.ads: Update comment on the usage of Is_Primitive_Wrapper and
+ Wrapped_Entity. These two flags are now present in functions.
+ New flag Is_Private_Primitive.
+ (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
+
+ * exp_ch9.adb:
+ (Build_Wrapper_Bodies): New subprogram.
+ (Build_Wrapper_Body): The spec and body have been moved to in
+ Build_Wrapper_ Bodies. Code cleanup.
+ (Build_Wrapper_Spec): Moved to the spec of Exp_Ch9. Code cleanup.
+ Wrappers are now generated for primitives declared between the private
+ and full view of a concurrent type that implements an interface.
+ (Build_Wrapper_Specs): New subprogram.
+ (Expand_N_Protected_Body): Code reformatting. Replace the wrapper body
+ creation mechanism with a call to Build_Wrapper_Bodies.
+ (Expand_N_Protected_Type_Declaration): Code reformatting. Replace the
+ wrapper spec creation mechanism with a call to Build_Wrapper_Specs.
+ (Expand_N_Task_Body): Replace the wrapper body creation
+ mechanism with a call to Build_Wrapper_Bodies.
+ (Expand_N_Task_Type_Declaration): Replace the wrapper spec
+ creation mechanism with a call to Build_Wrapper_Specs.
+ (Is_Private_Primitive_Subprogram): New subprogram.
+ (Overriding_Possible): Code cleanup.
+ (Replicate_Entry_Formals): Renamed to Replicate_Formals, code cleanup.
+
+ * exp_ch9.ads (Build_Wrapper_Spec): Moved from the body of Exp_Ch9.
+
+ * sem_ch3.adb: Add with and use clause for Exp_Ch9.
+ (Process_Full_View): Build wrapper specs for all primitives
+ that belong to a private view completed by a concurrent type
+ implementing an interface.
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): When the current subprogram
+ is a primitive of a
+ concurrent type with a private view that implements an interface, try to
+ find the proper spec.
+ (Analyze_Subprogram_Declaration): Mark a subprogram as a private
+ primitive if the type of its first parameter is a non-generic tagged
+ private type.
+ (Analyze_Subprogram_Specification): Code reformatting.
+ (Disambiguate_Spec): New routine.
+ (Find_Corresponding_Spec): Add a flag to controll the output of errors.
+ (Is_Private_Concurrent_Primitive): New routine.
+
+ * sem_ch6.ads:
+ (Find_Corresponding_Spec): Add a formal to control the output of errors.
+
+2008-07-30 Doug Rupp <rupp@adacore.com>
+
+ * gigi.h (build_vms_descriptor64): New function prototype.
+ (fill_vms_descriptor): Modified function prototype.
+
+ * utils.c (build_vms_descriptor64): New function.
+
+ * utils2.c (fill_vms_descriptor): Fix handling on 32bit systems.
+
+ * trans.c (call_to_gnu): Call fill_vms_descriptor with new third
+ argument.
+
+ * decl.c (gnat_to_gnu_tree): For By_Descriptor mech, build both a
+ 64bit and 32bit descriptor and save the 64bit version as an alternate
+ TREE_TYPE in the parameter.
+ (make_type_from_size) <RECORD_TYPE>: Use the appropriate mode for the
+ thin pointer.
+
+ * ada-tree.h (DECL_PARM_ALT, SET_DECL_PARM_ALT): New macros.
+
+2008-07-30 Robert Dewar <dewar@adacore.com>
+
+ * make.adb: Minor reformatting
+
+ * mlib-utl.adb: Minor reformatting
+
+ * osint.ads: Minor reformatting
+
+2008-07-30 Jose Ruiz <ruiz@adacore.com>
+
+ * adaint.c
+ (__gnat_file_exists): Do not use __gnat_stat for RTX.
+ (__main for RTX in RTSS mode): Create this dummy procedure symbol to
+ avoid the use of this symbol from libgcc.a in RTX kernel mode.
+
+ * cio.c
+ (put_int, put_int_stderr, put_char, put_char_stderr): For RTX we call
+ the function RtPrintf for console output.
+
+ * argv.c Do not use the environ variable for RTX.
+
+ * gnatlink.adb (gnatlink): The part that handles the --RTS option has
+ been moved before the call to Osint.Add_Default_Search_Dirs in order
+ to take into account the flags in system.ads (RTX_RTSS_Kernel_Module)
+ from the appropriate run time.
+
+ * targparm.ads
+ (RTX_RTSS_Kernel_Module_On_Target): Add this flag that is set to True if
+ target is a RTSS module for RTX.
+
+ * targparm.adb (Targparm_Tags, RTX_Str, Targparm_Str): Add tag RTX for
+ RTX_RTSS_Kernel_Module
+ (Get_Target_Parameters): Add processing of RTX_RTSS_Kernel_Module flag.
+
+ * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for RTX): Use gcc
+ exception handling mechanism for Windows and RTX in Win32 mode, but
+ not for RTX in kernel mode (RTSS).
+ (LIBGNAT_SRCS): Remove ada.h
+
+2008-07-30 Paolo Bonzini <bonzini@gnu.org>
+
+ * gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove X_ADAFLAGS and
+ T_ADAFLAGS, replace ALL_ADA_CFLAGS with ADA_CFLAGS.
+ (ALL_ADA_CFLAGS): Remove, replace throughout with ADA_CFLAGS.
+ * gcc-interface/Makefile.in (XCFLAGS, X_CFLAGS, X_CPPFLAGS, T_CPPFLAGS,
+ X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS, ADA_CFLAGS,
+ ALL_ADA_CFLAGS): Remove.
+ (ALL_ADAFLAGS, MOST_ADAFLAGS): Remove X_ADAFLAGS and T_ADAFLAGS,
+ replace ALL_ADA_CFLAGS with ADA_CFLAGS.
+ (GCC_CFLAGS): Remove X_CFLAGS.
+ (LOOSE_CFLAGS): Remove X_CFLAGS and XCFLAGS.
+ (ALL_CPPFLAGS): Remove X_CPPFLAGS and T_CPPFLAGS.
+ (ADA_CFLAGS): Substitute.
+
+2008-07-30 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/5911
+ * gcc-interface/Makefile.in (MULTISUBDIR, RTSDIR): New variables.
+ Pass MULTISUBDIR to recursive make. Use $(RTSDIR) instead of rts.
+ Replace stamp-gnatlib* by stamp-gnatlib*-rts.
+ * gcc-interface/Make-lang.in: Replace stamp-gnatlib2
+ by stamp-gnatlib2-rts.
+
+2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR documentation/15479
+ * gnat-style.texi: Remove AdaCore copyright statement and GPL
+ statement for GNAT. Add @copying stanza, use it. Update to
+ GFDL 1.2. Do not list GFDL as Invariant Section, do not list
+ title as Front-Cover Text.
+ * gnat_rm.texi: Likewise.
+ * gnat_ugn.texi: Likewise.
+
+2008-07-29 Jan Hubicka <jh@suse.cz>
+
+ * trans.c (process_inlined_subprograms): Remove tree_really_inline
+ check.
+
+2008-07-29 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface: New directory.
+
+ * ada-tree.def, cuintp.c, gigi.h, Makefile.in, targtyps.c, ada.h,
+ utils.c, ada-tree.h, decl.c, lang.opt, Make-lang.in, trans.c,
+ config-lang.in, deftarg.c, lang-specs.h, misc.c, utils2.c: Moved
+ to gcc-interface subdirectory.
+
+2008-07-29 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove extra s-win32.o.
+
+2008-07-28 Jan Hubicka <jh@suse.cz>
+
+ * misc.c (gnat_post_options): Do not set flag_no_inline.
+
+2008-07-28 Richard Guenther <rguenther@suse.de>
+
+ Merge from gimple-tuples-branch.
+
+ 2008-07-22 Olivier Hainque <hainque@adacore.com>
+
+ * gigi.h (end_subprog_body): New ELAB_P argument, saying if
+ this is called for an elab proc to be discarded if empty.
+ * utils.c (end_subprog_body): Honor ELAB_P.
+ (build_function_stub): Adjust call to end_subprog_body.
+ * trans.c (Subprogram_Body_to_gnu): Likewise.
+ (gigi): Reorganize processing of elab procs to prevent
+ gimplifying twice, using the new end_subprog_body argument.
+
+ 2008-07-19 Richard Guenther <rguenther@suse.de>
+
+ * Make-lang.in (trans.o): Add tree-iterator.h dependency.
+ (utils.o): Likewise.
+ * trans.c: Include tree-iterator.h.
+ (gnat_gimplify_expr): Adjust prototype. Fix typo.
+ (gnat_gimplify_stmt): Use SET_EXPR_LOCATION.
+ (set_expr_location_from_node): Likewise.
+ (gigi): Tuplify.
+ * ada-tree.h (union lang_tree_node): Use TREE_CHAIN instead
+ of GENERIC_NEXT.
+ * utils.c: Include tree-iterator.h.
+ * gigi.h (gnat_gimplify_expr): Adjust prototype.
+
+ 2008-07-18 Aldy Hernandez <aldyh@redhat.com>
+
+ * trans.c: Include gimple.h instead of tree-gimple.h.
+ * utils.c: Same.
+
+ 2008-07-14 Aldy Hernandez <aldyh@redhat.com>
+
+ * trans.c (gnat_gimplify_expr): Use gimplify_assign.
+
+2008-07-25 Jan Hubicka <jh@suse.cz>
+
+ * utils.c (end_subprog_body): Remove inline trees check.
+ * misc.c (gnat_post_options): Do not set flag_inline_trees.
+
+2008-07-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * raise-gcc.c: Move tsystem.h before tm.h.
+
+2008-07-20 Arnaud Charlet <charlet@adacore.com>
+
+ * gnathtml.pl: New file.
+
+2008-07-19 Olivier Hainque <hainque@adacore.com>
+
+ * targtyps.c (get_target_default_allocator_alignment): Use
+ MALLOC_ABI_ALIGNMENT.
+
+2008-07-17 Olivier Hainque <hainque@adacore.com>
+
+ * adaint.c (__MINGW32__ section): Include ctype.h and define
+ a fallback ISALPHA if IN_RTS.
+ (__gnat_is_absolute_path): Use ISALPHA instead of isalpha.
+
+2008-07-17 Olivier Hainque <hainque@adacore.com>
+
+ * utils.c (create_var_decl_1): Relax expectations on the PUBLIC_FLAG
+ argument, to apply to references in addition to definitions. Prevent
+ setting TREE_STATIC on externals.
+ (gnat_pushdecl): Always clear DECL_CONTEXT on public externals.
+
+2008-07-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR documentation/15479
+ * gnat_ugn.texi (@ovar): New macro, from autoconf.texi.
+ Replace backets around optional parameters with @ovar
+ where possible, use @r{[}, @r{]} otherwise.
+ Replace some @r, @i, and @emph with @var where appropriate.
+
+2008-07-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (make_type_from_size) <INTEGER_TYPE>: Fix typo and tidy up.
+
+2008-06-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ada-tree.h (SET_TYPE_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Fix
+ -Wc++-compat warnings.
+ * adaint.c (__gnat_locate_regular_file, __gnat_locate_exec,
+ __gnat_locate_exec_on_path): Likewise.
+ * decl.c (annotate_value): Likewise.
+ * misc.c (gnat_handle_option): Likewise.
+ * trans.c (gnat_to_gnu, extract_encoding, decode_name,
+ post_error_ne_tree): Likewise.
+
+2008-06-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils.c (convert) <CONSTRUCTOR>: When converting it to a packable
+ version of its type, attempt to first convert its elements.
+
+2008-06-26 Chris Proctor <chrisp_42@bigpond.com>
+
+ * Makefile.in: Fix *86 kfreebsd target specific pairs.
+
+2008-06-25 Samuel Tardieu <sam@rfc1149.net>
+
+ * Makefile.in: Use mlib-tgt-specific-linux.adb for sh4 as well.
+
+2008-06-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils2.c (known_alignment): Derive the alignment from pointed-to
+ types only if it is otherwise unknown.
+ <INTEGER_CST>: Tidy.
+ <MULT_EXPR>: Likewise.
+ <POINTER_PLUS_EXPR>: If the alignment of the offset is unknown, use
+ that of the base.
+
+2008-06-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR ada/36573
+ * s-osinte-hpux-dce.ads (SA_ONSTACK): Define.
+
+2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * gnat_rm.texi (Implementation Defined Characteristics)
+ (Standard Library Routines): Use @smallexample for indented
+ text. Drop Indentation outside examples.
+ * gnat_ugn.texi: Likewise.
+
+2008-06-13 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0
+ if undefined.
+ (gnat_to_gnu_entity) <case E_Function/Procedure>: Request stack
+ realignment with force_align_arg_pointer attribute on foreign
+ convention subprograms if FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
+
+2008-06-13 Olivier Hainque <hainque@adacore.com>
+
+ * utils.c (rest_of_record_type_compilation): When computing
+ encodings for the components of a variable size type, early
+ strip conversions on the current position expression to make
+ sure it's shape is visible. Use remove_conversions for this
+ purpose.
+
+2008-06-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: In the case of a
+ constrained subtype of a discriminated type, discard the fields that
+ are beyond its limits according to its size.
+
+2008-06-10 Olivier Hainque <hainque@adacore.com>
+
+ * utils.c (create_subprog_decl): If this is for the 'main' entry
+ point according to the asm name, redirect main_identifier_node.
+
+2008-06-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (components_to_record): Adjust the packedness for the
+ qualified union as well.
+
+2008-06-09 Arnaud Charlet <charlet@adacore.com>
+
+ * Make-lang.in: Use -gnatwns instead of -gnatws to make sytyle
+ checks non fatal.
+
+2008-06-07 Samuel Tardieu <sam@rfc1149.net>
+
+ * sem_res.adb (Large_Storage_Type): A type is large if it
+ requires as many bits as Positive to store its values and its
+ bounds are known at compile time.
+ * sem_ch13.adb (Minimum_Size): Note that this function returns
+ 0 if the size is not known at compile time.
+
+2008-06-06 Nicolas Setton <setton@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * ada-tree.h (DECL_PARALLEL_TYPE): New language specific
+ attribute, parallel descriptive type attached to another
+ type for debug info generation purposes.
+ * utils.c (add_parallel_type): New function, register
+ parallel type to be attached to a type.
+ (get_parallel_type): New function, fetch a registered
+ parallel type, if any.
+ (rest_of_record_type_compilation): Register the parallel
+ type we make for variable size records.
+ * gigi.h (add_parallel_type, get_parallel_type): Declare.
+ * decl.c (gnat_to_gnu_entity, maybe_pad_type): Register the
+ parallel debug types we make.
+ * trans.c (extract_encoding, decode_name): New functions.
+ (gigi): If the DWARF attribute extensions are available, setup
+ to use them.
+ * lang.opt: Register language specific processing request
+ for -gdwarf+.
+ * misc.c (gnat_dwarf_extensions): New global variable. How much
+ do we want of our DWARF extensions. 0 by default.
+ (gnat_handle_option) <OPT_gdwarf_>: Increment gnat_dwarf_extensions.
+ (gnat_post_options): Map gnat_dwarf_extensions to the
+ commonuse_gnu_debug_info_extensions for later processing.
+
+2008-06-04 Samuel Tardieu <sam@rfc1149.net>
+
+ * einfo.ads, einfo.adb: Remove unused flag Function_Returns_With_DSP.
+
+2008-06-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * Makefile.in (common_tools): Fix typos in $(exeext) extension.
+ * gnat_ugn.texi (Style Checking)
+ (Adding the Results of Compiler Checks to gnatcheck Output)
+ (Example of Binder Output File): Fix typos.
+ * ali.ads, einfo.ads, exp_ch4.adb, exp_ch6.adb,
+ exp_dbug.ads, exp_dist.adb, exp_smem.adb, g-socket.ads,
+ s-osinte-rtems.ads, s-shasto.ads, s-stausa.adb,
+ s-stausa.ads, sem_cat.adb, sem_ch12.adb, sem_ch3.adb,
+ sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_util.ads,
+ sinfo.ads, utils.c: Fix typos in comments.
+ * sem_ch6.adb, vms_data.ads: Fix typos in strings.
+
+2008-05-29 Thomas Quinot <quinot@adacore.com>
+
+ * sem_eval.adb: Minor reformatting
+
+2008-05-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Specification): if the return type
+ is abstract, do not apply abstractness check on subprogram if this is
+ a renaming declaration.
+
+2008-05-29 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/864
+ * osint.ads, osint.adb (Program_Name): New parameter "Prog" to
+ allow recognition of program suffix in addition to prefix.
+
+ * gnatchop.adb (Locate_Executable): Add support for prefix.
+
+ * make.adb, gnatcmd.adb, gnatlink.adb, prj-makr.adb,
+ mlib-utl.adb: Adjust calls to Program_Name.
+
+2008-05-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting
+ * sem_prag.adb: Minor reformatting
+ * sem_res.adb: Minor reformatting
+ * sinput-p.ads: Minor reformatting
+
+2008-05-29 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.adb:
+ (Abstract_Interface_List): Add missing support for full type-declaration
+ associated with synchronized types.
+
+2008-05-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_eval.adb (Is_Same_Value): Take care of several more cases
+
+2008-05-28 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Assignment): If the name is of a local anonymous
+ access type, wrap the expression in a conversion to force an
+ accessibility check.
+
+ * sem_aggr.adb (Aggegate_Constraint_Checks): Apply conversion to force
+ accessibility checks even when expansion is disabled in order to
+ generate messages in the presence of previous errors or in
+ semantics-only mode.
+
+2008-05-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * system-lynxos-ppc.ads (Always_Compatible_Rep): Set to False.
+ * system-lynxos-x86.ads (Always_Compatible_Rep): Set to False.
+
+2008-05-28 Vincent Celier <celier@adacore.com>
+
+ PR ada/34446
+ * gnat_ugn.texi: Document restriction introduced on 2007-04-20 in
+ preprocessing expressions
+
+2008-05-28 Vincent Celier <celier@adacore.com>
+
+ * sinput-p.adb (Source_File_Is_Subunit): Allow special character used
+ for preprocessing
+
+ * sinput-p.ads: Minor comment update and reformatting
+
+2008-05-28 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Valid_Conversion): An anonymous access_to_subprogram
+ type has a deeper level than any master only when it is the type of an
+ access parameter.
+
+2008-05-28 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Derive_Progenitor_Subprograms): Add documentation.
+
+2008-05-28 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.ads (Find_Overridden_Synchronized_Primitive): Removed.
+ * sem_util.adb (Find_Overridden_Synchronized_Primitive): Removed.
+ * sem_ch6.adb (Check_Synchronized_Overriding): Remove one formal.
+ Add code that was previously located in
+ Find_Overridden_Synchronized_Primitive because it is only used here.
+
+2008-05-28 Sergey Rybin <rybin@adacore.com>
+
+ * sem_prag.adb (Process_Extended_Import_Export_Subprogram_Pragma): Set
+ Entity field for formal_parameter_NAME in MECHANISM_ASSOCIATION.
+
+2008-05-28 Robert Dewar <dewar@adacore.com>
+
+ * restrict.ads:
+ Add missing restrictions, and properly label all GNAT defined ones
+
+ * rtsfind.ads:
+ Add entry for Ada_Real_Time.Timing_Events.Timing_Event
+ Add entry for Ada.Task_Termination.Set_Specific_Handler
+ Add entry for Ada.Task_Termination.Specific_Handler
+
+ * s-rident.ads:
+ Add missing restrictions and properly mark all gnat defined ones
+
+ * sem_ch3.adb:
+ (Analyze_Object_Declaration): Check No_Local_Timing_Events restriction
+
+ * sem_res.adb:
+ (Resolve_Call): Check violation of No_Specific_Termination_Handlers
+
+ * gnat_rm.texi: Add missing restrictions, and properly label all
+ GNAT defined ones
+
+2008-05-28 Robert Dewar <dewar@adacore.com>
+
+ * restrict.adb:
+ (Check_Restriction): violation of restriction No_Finalization is
+ treated as a serious error to stop expansion
+
+2008-05-28 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb: Minor reformatting
+ * exp_util.ads: Minor reformatting.
+
+2008-05-28 Arnaud Charlet <charlet@adacore.com>
+
+ * Make-lang.in: Remove gprmake.
+
+ * gprmake.adb, makegpr.ads, makegpr.adb: Removed.
+
+2008-05-28 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Diagnose_Interface): Cleanup error messages involving
+ improper progenitor names, and avoid cascaded errors.
+
+2008-05-28 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Add note on Old giving warning when applied to constant
+
+ * sem_attr.adb (Analyze_Attribute, case Old): Give warning if prefix is
+ a constant
+
+2008-05-28 Robert Dewar <dewar@adacore.com>
+
+ * exp_fixd.adb (Build_Multiply): Correct one-off error in computing
+ size
+
+2008-05-28 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb:
+ (Expand_Simple_Function_Return): Copy unaligned result into temporary
+
+2008-05-28 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Derive_Progenitor_Primitives): Add missing support
+ for user-defined predefined primitives.
+
+ * sem_util.adb (Matches_Prefixed_View_Profile): Ditto.
+ (Find_Overridden_Synchronized_Primitive): Ditto.
+
+ * sem_ch6.adb (Check_Synchronized_Overriding): Ditto.
+
+2008-05-27 Arnaud Charlet <charlet@adacore.com>
+
+ * a-ststio.adb, s-direio.adb:
+ Further code clean up of previous change.
+ Update comments.
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb: Minor reformatting
+
+2008-05-27 Bob Duff <duff@adacore.com>
+
+ * sem_ch3.adb (Build_Incomplete_Type_Declaration): In the case of an
+ untagged private type with a tagged full type, where the full type has
+ a self reference, create the corresponding class-wide type early, in
+ case the self reference is "access T'Class".
+
+2008-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Build_Array_Aggr_Code): If component type includes
+ tasks and context is an object declaration. create master entity before
+ expansion.
+
+2008-05-27 Robert Dewar <dewar@adacore.com>
+
+ * mlib-prj.adb: Minor reformatting
+
+ * prj-part.adb: Minor reformatting
+
+ * prj.ads: Minor reformatting
+
+ * exp_ch3.adb: Minor reformatting.
+
+ * sem_ch3.ads: Minor reformatting
+
+ * sem_eval.adb: Minor reformatting
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb:
+ <prefix>-gnat stack spawns gnatstack, not <prefix>-gnatstack
+
+2008-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Expand_Array_Aggregate): If the aggregate contains
+ tasks, create an activation chain now, before the expansion into
+ assignments and build-in-place calls that require the presence of an
+ activation chain.
+ (Backend_Processing_Possible): If the component type is inherently
+ limited, the aggregate must be expanded into individual built-in-place
+ assignments.
+
+ * sem_ch6.adb (Build_Extra_Formals): Use underlying type of result to
+ determine whether an allocation extra parameter must be built, to
+ handle case of a private type whose full type is a discriminated type
+ with defaults.
+
+2008-05-27 Bob Duff <duff@adacore.com>
+
+ * gnat_rm.texi:
+ Document the new behavior regarding trampolines.
+
+2008-05-27 Arnaud Charlet <charlet@adacore.com>
+
+ * a-direio.adb, a-sequio.adb: Replace address clause by
+ unrestricted_access, simpler and compatible with .NET.
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * prj-part.adb:
+ (Project_Path_Name_Of.Try_Path): Do not use Locate_Regular_File to find
+ a project file, so that symbolic links are not resolved.
+
+2008-05-27 Arnaud Charlet <charlet@adacore.com>
+
+ * a-ztexio.adb, a-textio.adb, a-witeio.adb, s-direio.adb:
+ Replace heavy address clause by 'Unrestricted_Access, cleaner and more
+ portable across GNAT targets, since this kind of address clause is not
+ supported by VM back-ends (.NET/JGNAT).
+
+2008-05-27 Arnaud Charlet <charlet@adacore.com>
+
+ * bindgen.adb: Update comments.
+
+ * s-tasinf-mingw.adb: Add "with" of System.OS_Interface
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb,
+ prj.ads, makegpr.adb, makeutl.adb, clean.adb, prj-nmsc.adb,
+ mlib-tgt.adb, prj-env.adb, prj-env.ads:
+ (Path_Information): New record type
+ Use component of type Path_Information when there are two paths, one in
+ canonical format and one in display format.
+ Update the project manager to these new components.
+
+2008-05-27 Robert Dewar <dewar@adacore.com>
+
+ * makeutl.adb: Minor reformatting
+ * prj-nmsc.adb: Minor reformatting
+ * s-stausa.adb: Minor reformatting
+ * s-stausa.ads: Minor reformatting
+ * sem_ch6.adb: Minor reformatting
+
+2008-05-27 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb: Minor comment fixes
+
+2008-05-27 Thomas Quinot <quinot@adacore.com>
+
+ * makeutl.adb: Minor code reorganization
+
+ * exp_aggr.adb: Add ??? comment
+ Fix typo
+
+ * exp_ch6.adb: Minor reformatting
+
+2008-05-27 Quentin Ochem <ochem@adacore.com>
+
+ * s-stausa.adb (Initialize): Updated result initialization, and
+ initialization of environment stack.
+ (Fill_Stack): Improved computation of the pattern zone, taking into
+ account already filled at the calling point.
+ (Get_Usage_Range): Now uses Min_Measure and Max_Measure instead of
+ Measure and Overflow_Guard.
+ (Report_Result): Fixed computation of the result using new fields of
+ Stack_Analyzer.
+
+ * s-stausa.ads (Initialize_Analyzer): Replaced Size / Overflow_Guard
+ params by more explicit Stack_Size / Max_Pattern_Size params.
+ (Stack_Analyzer): Added distinct Stack_Size & Pattern_Size fields.
+ Added Stack_Used_When_Filling field.
+ (Task_Result): Replaced Measure / Overflow_Guard by more explicit
+ Min_Measure and Max_Measure fields.
+
+ * s-tassta.adb (Task_Wrapper): Updated call to Initialize_Analyzer.
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb:
+ (Check_File): Make sure that a unit that replaces the same unit in a
+ project being extended is properly processed.
+
+2008-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb:
+ (Get_Discr_Value): Remove obsolete code that failed to find the value
+ of a discriminant for an inherited task component appearing in a type
+ extension.
+
+2008-05-27 Thomas Quinot <quinot@adacore.com>
+
+ (System.File_IO.{Close, Delete, Reset}):
+ Change File parameter from "in out AFCB_Ptr" to "access AFCB_Ptr".
+
+ (Ada.*_IO.{Close, Delete, Reset, Set_Mode}):
+ Pass File parameter by reference.
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb:
+ (Process_Sources_In_Multi_Language_Mode): Check that there are not two
+ sources of the same project that have the same object file name.
+ (Find_Explicit_Sources): Always remove a source exception that was not
+ found.
+
+2008-05-27 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting
+
+2008-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb:
+ (Is_Interface_Conformant): Handle properly a primitive operation that
+ overrides an interface function with a controlling access result.
+ (Type_Conformance): If Skip_Controlling_Formals is true, when matching
+ inherited and overriding operations, omit as well the conformance check
+ on result types, to prevent spurious errors.
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * makeutl.ads, makeutl.adb:
+ (Set_Location): New procedure
+ (Get_Location): New function
+ (Update_Main): New procedure
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb:
+ (Check_Library): Allow standard project to be extended as a static
+ library project.
+ (Get_Mains): Do not inherit attribute Main in an extending library
+ project.
+
+2008-05-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * system-darwin-ppc.ads (Always_Compatible_Rep): Set to False.
+ * system-darwin-x86.ads (Always_Compatible_Rep): Likewise.
+ * system-freebsd-x86.ads (Always_Compatible_Rep): Likewise.
+ * system-linux-ppc.ads (Always_Compatible_Rep): Likewise.
+ * system-linux-x86_64.ads (Always_Compatible_Rep): Likewise.
+ * system-linux-x86.ads (Always_Compatible_Rep): Likewise.
+ * system-mingw.ads (Always_Compatible_Rep): Likewise.
+ * system-solaris-sparc.ads (Always_Compatible_Rep): Likewise.
+ * system-solaris-sparcv9.ads (Always_Compatible_Rep): Likewise.
+ * system-solaris-x86.ads (Always_Compatible_Rep): Likewise.
+
+2008-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb: add guard to previous patch.
+
+2008-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_disp.adb (Build_Dispatch_Tables): For a private type completed by
+ a synchronized tagged type, do not attempt to build dispatch table for
+ full view. The table is built for the corresponding record type, which
+ has its own declaration.
+
+2008-05-27 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype
+ to the known type entity E, rather than setting it to Any_Type. Fixes
+ possible blowup in function Base_Init_Proc, as called from Freeze_Entity
+ for objects whose type had an illegal constraint.
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi:
+ Add succinct documentation for attribute Excluded_Source_List_File
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: Add new project level attribute Map_File_Option
+
+ * prj-nmsc.adb (Process_Linker): Process new attribute Map_File_Option
+
+ * prj.ads: Minor reformatting and comment update
+ (Project_Configuration): New component Map_File_Option
+
+ * snames.adb: New standard name Map_File_Option
+
+ * snames.ads: New standard name Map_File_Option
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * xsnames.adb: Remove unused variable Oname
+
+2008-05-27 Doug Rupp <rupp@adacore.com>
+
+ * exp_ch6.adb:
+ (Expand_N_Function_Call): Fix comments. Minor reformatting.
+
+ * exp_vfpt.ads:
+ (Expand_Vax_Foreign_Return): Fix comments.
+
+2008-05-27 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb: Minor reformating
+
+2008-05-26 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for
+ No_Default_Initialization, which is now delayed until the freeze point
+ of the object. Add a comment about deferral of the check.
+
+ * freeze.adb (Freeze_Entity): The check for No_Default_Initialization
+ on objects is moved here.
+
+2008-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-casi16.adb (Uhalf): Rewrite it as integer with small alignment.
+ (Compare_Array_S16): Adjust for above change.
+ * s-casi32.adb (Uword): Likewise.
+ (Compare_Array_S32): Likewise.
+ * s-casi64.adb (Uword): Likewise.
+ (Compare_Array_S64): Likewise.
+ * s-caun16.adb (Uhalf): Likewise.
+ (Compare_Array_U16): Likewise.
+ * s-caun32.adb (Uword): Likewise.
+ (Compare_Array_U32): Likewise.
+ * s-caun64.adb (Uword): Likewise.
+ (Compare_Array_U64): Likewise.
+
+2008-05-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch6.adb: Add ??? comment for previous change
+
+ * exp_vfpt.adb: Minor reformatting
+
+ * exp_vfpt.ads: Add ??? comment for last change
+
+ * sem_attr.adb: Add some ??? comments for previous change
+
+ * s-vaflop.ads: Add comments for previous change
+
+2008-05-26 Doug Rupp <rupp@adacore.com>
+
+ * s-vaflop-vms-alpha.adb:
+ Remove System.IO use clause, to prevent spurious ambiguities when
+ package is access through rtsfind.
+
+2008-05-26 Sergey Rybin <rybin@adacore.com>
+
+ * tree_io.ads (ASIS_Version_Number): Update because of the changes
+ made in front-end
+
+2008-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb:
+ (Resolve_Attribute, case 'address): S (A .. B)' address can be safely
+ converted to S (A)'address only if A .. B is known to be a non-null
+ range.
+
+2008-05-26 Doug Rupp <rupp@adacore.com>
+
+ * s-vaflop.adb:
+ (Return_D, Return_F, Return_G): New functions.
+
+ * s-vaflop.ads:
+ (Return_D, Return_F, Return_G): New functions.
+
+ * exp_vfpt.adb:
+ (Expand_Vax_Foreign_Return): New procedure
+
+ * exp_vfpt.ads:
+ (Expand_Vax_Foreign_Return): New procedure
+
+ * rtsfind.ads:
+ (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Ids
+ (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Unit_Table elements
+
+ * exp_ch6.adb:
+ Import Exp_Vfpt
+ (Expand_N_Function_Call): Call Expand_Vax_Foreign_Return.
+
+ * s-vaflop-vms-alpha.adb:
+ (Return_D, Return_F, Return_G): New functions.
+
+2008-05-26 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy
+ init proc entity when there is actual default initialization associated
+ with the component type, to avoid spurious errors on objects of scalar
+ array types that are marked Is_Public when No_Default_Initialization
+ applies.
+
+2008-05-26 Thomas Quinot <quinot@adacore.com>
+
+ * rtsfind.ads, rtsfind.adb:
+ (RE_Get_RACW): New runtime library entity provided by PolyORB s-parint.
+ (Check_RPC): Support per-PCS-kind API versioning.
+
+ exp_dist.ads, exp_dist.adb:
+ (Build_Stub_Tag, Get_Stub_Elements): New utility subprograms.
+ (PolyORB_Support.Add_RACW_From_Any): Offload common code to new runtime
+ library function Get_RACW.
+ (PolyORB_Support.Add_RACW_To_Any): Offload common code to new runtime
+ library function Get_Reference.
+ (PolyORB_Support.Add_RACW_Read_Attribute): Use Get_RACW instead of going
+ through an intermediate Any.
+ (PolyORB_Support.Add_RACW_Write_Attribute): Use Get_Reference instead of
+ going through an intermediate Any.
+
+ * sem_dist.adb: Minor reformatting.
+
+2008-05-26 Javier Miranda <miranda@adacore.com>
+
+ * einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias.
+ (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
+ (Is_Internal): Adding documentation on internal entities that have
+ attribute Interface_Alias (old attribute Abstract_Interface_Alias)
+
+ * einfo.adb (Abstract_Interface_Alias): Renamed as Interface_Alias.
+ (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
+ Added assertion to force entities with this attribute to have
+ attribute Is_Internal set to True.
+ (Next_Tag_Component): Simplify assertion using attribute Is_Tag.
+
+ * sem_ch3.adb (Derive_Interface_Subprograms): This subprogram has been
+ renamed as Derive_Progenitor_Subprograms. In addition, its code is
+ a new implementation.
+ (Add_Interface_Tag_Components): Remove special management of
+ synchronized interfaces.
+ (Analyze_Interface_Declaration): Minor reformating
+ (Build_Derived_Record_Type): Minor reformating
+ (Check_Abstract_Overriding): Avoid reporting error in case of abstract
+ predefined primitive inherited from interface type because the body of
+ internally generated predefined primitives of tagged types are generated
+ later by Freeze_Type
+ (Derive_Subprogram): Avoid generating an internal name if the parent
+ subprogram overrides an interface primitive.
+ (Derive_Subprograms): New implementation that keeps separate the
+ management of tagged types not implementing interfaces, from tagged
+ types that implement interfaces.
+ (Is_Progenitor): New implementation.
+ (Process_Full_View): Add documentation
+ (Record_Type_Declaration): Replace call to Derive_Interface_Subprograms
+ by call to Derive_Progenitor_Subprograms.
+
+ * sem_ch6.ads (Is_Interface_Conformant): New subprogram.
+ (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
+ Skip_Controlling_Formals.
+
+ * sem_ch6.adb (Is_Interface_Conformant): New subprogram.
+ (Check_Conventions): New implementation. Remove local subprogram
+ Skip_Check. Remove formal Search_From of routine Check_Convention.
+ (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
+ Skip_Controlling_Formals.
+ (New_Overloaded_Entity): Enable addition of predefined dispatching
+ operations.
+
+ * sem_disp.ads
+ (Find_Primitive_Covering_Interface): New subprogram.
+
+ * sem_disp.adb (Check_Dispatching_Operation): Disable registering
+ the task body procedure as a primitive of the corresponding tagged
+ type.
+ (Check_Operation_From_Private_Type): Avoid adding twice an entity
+ to the list of primitives.
+ (Find_Primitive_Covering_Interface): New subprogram.
+ (Override_Dispatching_Operation): Add documentation.
+
+ * sem_type.adb (Covers): Minor reformatings
+
+ * sem_util.ads (Collect_Abstract_Interfaces): Renamed as
+ Collect_Interfaces.
+ Rename formal.
+ (Has_Abstract_Interfaces): Renamed as Has_Interfaces.
+ (Implements_Interface): New subprogram.
+ (Is_Parent): Removed.
+ (Primitive_Names_Match): New subprogram.
+ (Remove_Homonym): Moved here from Derive_Interface_Subprograms.
+ (Ultimate_Alias): New subprogram.
+
+ * sem_util.adb (Collect_Abstract_Interfaces): Renamed as
+ Collect_Interfaces.
+ Remove special management for synchronized types. Rename formal. Remove
+ internal subprograms Interface_Present_In_Parent and Add_Interface.
+ (Has_Abstract_Interfaces): Renamed as Has_Interfaces. Replace assertion
+ on non-record types by code to return false in such case.
+ (Implements_Interface): New subprogram.
+ (Is_Parent): Removed. No special management is now required for
+ synchronized types covering interfaces.
+ (Primitive_Names_Match): New subprogram.
+ (Remove_Homonym): Moved here from Derive_Interface_Subprograms.
+ (Ultimate_Alias): New subprogram.
+
+ * exp_ch3.adb (Add_Internal_Interface_Entities): New subprogram.
+ Add internal entities associated with secondary dispatch tables to
+ the list of tagged type primitives that are not interfaces.
+ (Freeze_Record_Type): Add new call to Add_Internal_Interface_Entities
+ (Make_Predefined_Primitive_Specs): Code reorganization to improve
+ the management of predefined equality operator. In addition, if
+ the type has an equality function corresponding with a primitive
+ defined in an interface type, the inherited equality is abstract
+ as well, and no body can be created for it.
+
+ * exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved from
+ exp_util to exp_disp.
+ (Is_Predefined_Interface_Primitive): New subprogram. Returns True if
+ an entity corresponds with one of the predefined primitives required
+ to implement interfaces.
+ Update copyright notice.
+
+ * exp_disp.adb (Set_All_DT_Position): Add assertion. Exclude from the
+ final check on abstract subprograms all the primitives associated with
+ interface primitives because they must be visible in the public and
+ private part.
+ (Write_DT): Use Find_Dispatching_Type to locate the name of the
+ interface type. This allows the use of this routine, for debugging
+ purposes, when the tagged type is not fully decorated.
+ (Is_Predefined_Dispatching_Operation): Moved from exp_util to exp_disp.
+ Factorize code calling new subprogram Is_Predefined_Interface_Primitive.
+ (Is_Predefined_Interface_Primitive): New subprogram. Returns True if an
+ entity corresponds with one of the predefined primitives required to
+ implement interfaces.
+
+ * exp_util.adb (Find_Interface_ADT): New implementation
+ (Find_Interface): Removed.
+
+ * sprint.adb (Sprint_Node_Actual): Generate missing output for the
+ list of interfaces associated with nodes
+ N_Formal_Derived_Type_Definition and N_Private_Extension_Declaration.
+
+2008-05-26 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on
+ condition for assignment to temporary.
+
+2008-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_Concatenate_Other): Add explicit constraint
+ checks on the upper bound if the index type is a modular type, to
+ prevent wrap-around computations when size is close to upper bound of
+ type.
+
+2008-05-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting
+
+2008-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Remove_Parent): Use specification of instance
+ to retrieve generic parent,
+ to handle properly the case where the instance is a child unit.
+ Add guard to handle properly wrapper packages.
+ Minor reformatting
+
+2008-05-26 Thomas Quinot <quinot@adacore.com>
+
+ * sinfo.ads: Minor reformatting
+
+2008-05-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Type_Conversion): Minor code reformatting.
+ Generate a tag check when the result subtype of a function, defined by
+ an access definition, designates a specific tagged type.
+ (Make_Tag_Check): New routine.
+
+2008-05-26 Arnaud Charlet <charlet@adacore.com>
+
+ * ceinfo.adb, csinfo.adb: Remove warnings. Update headers.
+
+2008-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gigi.h (gigi): Remove bogus ATTRIBUTE_UNUSED marker.
+ (builtin_decl_for): Likewise.
+ * trans.c (gigi): Likewise.
+ * utils.c (def_builtin_1): Fix formatting.
+
+2008-05-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Build_Init_Statements): Alphabetize local variables.
+ Create the statements which map a string name to protected or task
+ entry indix.
+
+ * exp_ch9.adb: Add with and use clause for Stringt.
+ Minor code reformatting.
+ (Build_Entry_Names): New routine.
+ (Make_Initialize_Protection, Make_Task_Create_Call): Generate a value
+ for flag Build_Entry_Names which controls the allocation of the data
+ structure for the string names of entries.
+
+ * exp_ch9.ads (Build_Entry_Names): New subprogram.
+
+ * exp_util.adb (Entry_Names_OK): New function.
+
+ * exp_util.ads (Entry_Names_OK): New function.
+
+ * rtsfind.ads: Add RO_PE_Set_Entry_Name and RO_TS_Set_Entry_Name to
+ enumerations RE_Id and RE_Unit_Table.
+
+ * s-taskin.adb Add with and use clause for Ada.Unchecked_Deallocation.
+ (Free_Entry_Names_Array): New routine.
+
+ * s-taskin.ads: Comment reformatting.
+ Add types String_Access, Entry_Names_Array, Entry_Names_Array_Access.
+ Add component Entry_Names to record Ada_Task_Control_Block.
+ (Free_Entry_Names_Array): New routine.
+
+ * s-tassta.adb (Create_Task): If flag Build_Entry_Names is set,
+ dynamically allocate an array
+ of string pointers. This structure holds string entry names.
+ (Free_Entry_Names): New routine.
+ (Free_Task, Vulnerable_Free_Task): Deallocate the entry names array.
+ (Set_Entry_Names): New routine.
+
+ * s-tassta.ads:
+ (Create_Task): Add formal Build_Entry_Names. The flag is used to
+ control the allocation of the data structure which stores entry names.
+ (Set_Entry_Name): New routine.
+
+ * s-tpoben.adb:
+ Add with and use clause for Ada.Unchecked_Conversion.
+ (Finalize): Deallocate the entry names array.
+ (Free_Entry_Names): New routine.
+ (Initialize_Protection_Entries): When flag Build_Entry_Names is set,
+ create an array of string pointers to hold the entry names.
+ (Set_Entry_Name): New routine.
+
+ * s-tpoben.ads:
+ Add field Entry_Names to record Protection_Entries.
+ (Initialize_Protection_Entries): Add formal Build_Entry_Names.
+ (Set_Entry_Name): New routine.
+
+2008-05-26 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb:
+ (Process_Project_Level_Simple_Attributes): process attribute Library_GCC
+
+ * prj.ads:
+ (Project_Configuration): New component Shared_Lib_Driver
+
+2008-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * inline.adb:
+ (Cleanup_Scopes): For a protected operation, transfer finalization list
+ to protected body subprogram, to force cleanup actions when needed.
+
+2008-05-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_cat.adb: Minor reformatting
+
+ * gnatname.adb: Minor reformatting
+
+ * osint.ads: Minor reformatting
+
+ * s-carun8.ads: Minor reformatting
+
+ * g-heasor.ads: Minor comment fix (unit is now pure)
+
+2008-05-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch2.adb:
+ (Expand_Current_Value): Properly type generated integer literal
+
+2008-05-26 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Add description for the new gnatcheck rule -
+ Separate_Numeric_Error_Handlers.
+
+2008-05-26 Pascal Obry <obry@adacore.com>
+
+ * sem_aggr.adb: Minor reformatting.
+
+2008-05-26 Jose Ruiz <ruiz@adacore.com>
+
+ * s-osinte-aix.adb:
+ (To_Target_Priority): Setting the time slice value to 0 or greater sets
+ the scheduling policy to FIFO within priorities or round-robin
+ respectively.
+ Hence, the priority must be set in this case to the one selected by the
+ user.
+
+2008-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb:
+ (Remove_Parent): If the enclosing scope is an instance whose generic
+ parent is declared within some parent scope of the just completed
+ instance, make full views of the entities in that parent visible, when
+ applicable.
+
+2008-05-26 Kai Tietz <kai.tietz@onevision.com>
+
+ * mingw32.h (STD_MINGW): Set to true for target w64.
+
+2008-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (Attribute_to_gnu) <Code_Address>: Set TREE_NO_TRAMPOLINE
+ instead of TREE_STATIC on the ADDR_EXPR.
+
+2008-05-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (gnat_to_gnu): Do not set source location info on NOP_EXPRs.
+ (Sloc_to_locus): Do not overwrite known GCC locations when translating
+ GNAT standard locations.
+
+2008-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gigi.h (mark_visited): Declare.
+ * decl.c (gnat_to_gnu_entity): Use mark_visited instead of marking
+ only the topmost node of expressions.
+ (elaborate_expression_1): Look deeper for read-only variables.
+ * trans.c (add_decl_expr): Use mark_visited instead of marking by hand.
+ (mark_visited): Move logic to mark_visited_r. Invoke walk_tree.
+ (mark_visited_r): New function.
+
+2008-05-23 Vincent Celier <celier@adacore.com>
+
+ * snames.adb: New standard name Excluded_Source_List_File.
+
+ * snames.ads: New standard name Excluded_Source_List_File.
+
+ * prj-attr.adb: New project level attribute Excluded_Source_List_File.
+
+ * prj-nmsc.adb: (Find_Excluded_Sources): New parameter Project.
+ Get excluded sources from
+ file indicated by attribute Excluded_Source_List_File, when present and
+ neither Excluded_Source_Files nor Locally_Removed_Files are declared.
+
+2008-05-23 Robert Dewar <dewar@adacore.com>
+
+ * exp_dist.adb: Minor reformatting
+
+2008-05-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Resolve_Attribute, case 'address): If the prefix is a
+ slice, convert it to an indexed component, which is equivalent, more
+ efficient, and usable even if the slice itself is not addressable.
+
+2008-05-23 Olivier Hainque <hainque@adacore.com>
+
+ * gnat_ugn.texi (Calling Conventions): Document that the Intrinsic
+ convention also allows access to named compiler built-in subprograms
+ such as the GCC __builtin family.
+
+2008-05-23 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Naming_Schemes): Check a file for spec, body and
+ sep. If there are several possibilities, choose the one with the
+ longer prefix.
+
+2008-05-23 Vincent Celier <celier@adacore.com>
+
+ * gnatlink.adb (Process_Args): Do not disable scanning of ALI file for
+ back end switches when executable specified with --GCC= is same as
+ default, even if there are additional options.
+
+ * gnat_ugn.texi:
+ Document when the back end switches from the ALI file are taken into
+ account when gnatlink is invoked with --GCC=
+
+2008-05-23 Thomas Quinot <quinot@adacore.com>
+
+ * s-os_lib.adb:
+ (copy_File): Do not open destination file if source file is unreadable.
+
+2008-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils.c (handle_type_generic_attribute): Adjust to accept
+ fixed arguments before an elipsis.
+
+2008-05-21 Thomas Quinot <quinot@adacore.com>
+
+ * g-sothco.ads, g-sothco.adb: New files.
+
+2008-05-20 Thomas Quinot <quinot@adacore.com>
+
+ * Makefile.rtl (GNAT.Sockets.Thin_Common): New unit.
+
+ * g-sttsne-vxworks.adb: Add missing dependency on Sockets.Constants.
+ Add missing "with" of Ada.Unchecked_Conversion
+
+ * g-soccon-linux-ppc.ads, g-soccon-linux-64.ads, g-soccon-lynxos.ads,
+ g-soccon-linux-x86.ads, g-soccon-hpux-ia64.ads,
+ g-soccon-solaris-64.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
+ g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads,
+ g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
+ g-socthi-vxworks.adb, g-soccon-freebsd.ads, g-soccon.ads:
+ Move common code out of GNAT.Sockets.Thin implementations and into
+ Thin_Common.
+ New constant SIZEOF_fd_set
+ New flag Has_Sockaddr_Len
+ New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
+
+ * g-stsifd-sockets.adb
+ (Create): Remove call to Set_Length; use Set_Family to set the family
+ and (on appropriate platforms) length fields in struct sockaddr.
+
+ * g-socthi.adb, g-socthi.ads, g-socthi-vms.ads, g-socthi-vms.adb,
+ g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.adb,
+ g-soccon-darwin.ads, g-soccon-darwin.ads: New constant SIZEOF_fd_set
+ Move common code out of GNAT.Sockets.Thin implementations and into
+ Thin_Common.
+
+ * g-socket.ads, g-socket.adb:
+ Move common code out of GNAT.Sockets.Thin implementations and into
+ Thin_Common.
+ (Connect_Socket, Accept_Socket): Provide new versions of these two
+ routines that operate with a user specified timeout.
+ (Bind_Socket, Connect_Socket, Send_Socket): Remove calls to Set_Length,
+ this is now handled automatically by Set_Family on platforms that
+ require it.
+
+ * gen-soccon.c:
+ Move common code out of GNAT.Sockets.Thin implementations and into
+ Thin_Common.
+ (SIZEOF_sockaddr_in6): On platforms where IPv6 is not supported, define
+ this constant to 0 (not -1) because we use it to initialize an
+ unsigned_char value.
+ Align values for numeric constants only.
+ Handle the case of systems that do not support AF_INET6.
+ New constant SIZEOF_fd_set
+ New flag Has_Sockaddr_Len
+ New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
+
+ * gsocket.h: New flag Has_Sockaddr_Len
+ New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
+
+2008-05-20 Santiago Uruena <uruena@adacore.com>
+
+ * i-cobol.ads: Interfaces.COBOL should be preelaborate.
+
+2008-05-20 Arnaud Charlet <charlet@adacore.com>
+
+ * s-linux-hppa.ads (atomic_lock_t): Put back proper alignment now that
+ the underlying issue with malloc/free has been fixed. Remove associated
+ comments.
+ Minor reformatting.
+ Related to PR ada/24533
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+
+ * ali.adb: Correct casing of ASCII.NUL
+
+ * styleg-c.adb (Check_Identifier): Handle case of names in ASCII
+ properly.
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * checks.adb (Apply_Arithmetic_Overflow_Check): Avoid intermediate
+ overflow if result converted to wider integer type.
+ (Apply_Type_Conversion_Checks): Don't emit checks on conversions to
+ discriminated types when discriminant checks are suppressed.
+
+2008-05-20 Vincent Celier <celier@adacore.com>
+
+ * cstand.adb (Print_Standard): Issue the correct Size clause for type
+ Wide_Wide_Character.
+
+2008-05-20 Tristan Gingold <gingold@adacore.com>
+
+ * decl.c: Do not emit a variable for a object that has an address
+ representation clause whose value is known at compile time.
+ When a variable has an address clause whose value is known at compile
+ time, refer to this variable by using directly the address instead of
+ dereferencing a pointer.
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+
+ PR ada/30740
+ * einfo.ads, einfo.adb (Non_Binary_Modulus): Applies to all types and
+ subtypes, always False for non-modular types.
+ Shared_Var_Assign_Proc (node22) and Shared_Var_Read_Proc (node 15)
+ entry nodes have been replaced by Shared_Var_Procs_Instance (node22)
+ for Shared_Storage package.
+ (Is_RACW_Stub_Type): New entity flag.
+
+ * exp_ch4.adb
+ (Expand_N_Op_Expon): Avoid incorrect optimization of a*(2**b) in the
+ case where we have a modular type with a non-binary modules.
+ Comments reformattings.
+
+ * sem_intr.adb: Simplify code not that Non_Binary_Modulus applies to
+ all types.
+
+2008-05-20 Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb
+ (Build_Record_Aggr_Code): Fix wrong tests checking progenitors. Previous
+ tests did not covered the case in which the type of the aggregate has
+ no progenitors but some its parents has progenitors.
+
+2008-05-20 Gary Dismukes <dismukes@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb
+ (Expand_N_Object_Declaration): Correct the condition which triggers the
+ generation of a call to Displace when initializing a class-wide object.
+ (Build_Dcheck_Functions): Build discriminant-checking for null variants
+ when Frontend_Layout_On_Target is true to ensure that they're available
+ for calling when a record variant size function is built in Layout.
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Assign_Record): Within an initialization
+ procedure for a derived type retrieve the discriminant values from the
+ parent using the corresponding discriminant.
+ (Expand_N_Assignment_Statement): Skip generation of implicit
+ if-statement associated with controlled types if we are
+ compiling with restriction No_Finalization.
+
+2008-05-20 Vincent Celier <celier@adacore.com>
+
+ * prj.adb (Hash (Project_Id)): New function
+ (Project_Empty): Add new component Interfaces_Defined
+
+ * prj.ads (Source_Data): New component Object_Linked
+ (Language_Config): New components Object_Generated and Objects_Linked
+ (Hash (Project_Id)): New function
+ (Source_Data): New Boolean components In_Interfaces and
+ Declared_In_Interfaces.
+ (Project_Data): New Boolean component Interfaces_Defined
+
+ * prj-attr.adb:
+ New project level attribute Object_Generated and Objects_Linked
+ Add new project level attribute Interfaces
+
+ * prj-dect.adb: Use functions Present and No throughout
+ (Parse_Variable_Declaration): If a string type is specified as a simple
+ name and is not found in the current project, look for it also in the
+ ancestors of the project.
+
+ * prj-makr.adb:
+ Replace procedure Make with procedures Initialize, Process and Finalize
+ to implement H414-023: process different directories with different
+ patterns.
+ Use functions Present and No throughout
+
+ * prj-makr.ads:
+ Replace procedure Make with procedures Initialize, Process and Finalize
+
+ * prj-nmsc.adb
+ (Add_Source): Set component Object_Exists and Object_Linked accordnig to
+ the language configuration.
+ (Process_Project_Level_Array_Attributes): Process new attributes
+ Object_Generated and Object_Linked.
+ (Report_No_Sources): New Boolean parameter Continuation, defaulted to
+ False, to indicate that the erreor/warning is a continuation.
+ (Check): Call Report_No_Sources with Contnuation = True after the first
+ call.
+ (Error_Msg): Process successively contnuation character and warning
+ character.
+ (Find_Explicit_Sources): Check that all declared sources have been found
+ (Check_File): Indicate in hash table Source_Names when a declared source
+ is found.
+ (Check_File): Set Other_Part when found
+ (Find_Explicit_Sources): In multi language mode, check if all exceptions
+ to the naming scheme have been found. For Ada, report an error if an
+ exception has not been found. Otherwise, disregard the exception.
+ (Check_Interfaces): New procedure
+ (Add_Source): When Other_Part is defined, set mutual pointers in spec
+ and body.
+ (Check): In multi-language mode, call Check_Interfaces
+ (Process_Sources_In_Multi_Language_Mode): Set In_Interfaces to False
+ for an excluded source.
+ (Remove_Source): A source replacing a source in the interfaces is also
+ in the interfaces.
+
+ * prj-pars.adb: Use function Present
+
+ * prj-part.adb: Use functions Present and No throughout
+ (Parse_Single_Project): Set the parent project for child projects
+ (Create_Virtual_Extending_Project): Register project with no qualifier
+ (Parse_Single_Project): Allow an abstract project to be extend several
+ times. Do not allow an abstract project to extend a non abstract
+ project.
+
+ * prj-pp.adb: Use functions Present and No throughout
+ (Print): Take into account the full associative array attribute
+ declarations.
+
+ * prj-proc.adb: Use functions Present and No throughout
+ (Expression): Call itself with the same From_Project_Node for the
+ default value of an external reference.
+
+ * prj-strt.adb: Use functions Present and No throughout
+ (Parse_Variable_Reference): If a variable is specified as a simple name
+ and is not found in the current project, look for it also in the
+ ancestors of the project.
+
+ * prj-tree.ads, prj-tree.adb (Present): New function
+ (No): New function
+ Use functions Present and No throughout
+ (Parent_Project_Of): New function
+ (Set_Parent_Project_Of): New procedure
+
+ * snames.ads, snames.adb:
+ Add new standard names Object_Generated and Objects_Linked
+
+2008-05-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Add guard to ensure that both the parent
+ and the derived type are of the same kind.
+ (Expand_Call): Generate type conversions for actuals of
+ record or array types when the parent and the derived types differ in
+ size and/or packed status.
+
+2008-05-20 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_disp.adb (Make_DT, Make_Secondary_DT, Make_Tags): Avoid
+ generating dispatch tables of locally defined tagged types statically.
+ Remove implicit if-statement that is no longer required.
+ (Expand_Dispatching_Call): If this is a call to an instance of the
+ generic dispatching constructor, the type of the first argument may be
+ a subtype of Tag, so always use the base type to recognize this case.
+
+2008-05-20 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb
+ (GARLIC_Support.Add_RACW_Read_Attribute): When a zero value is received,
+ and the RACW is null-excluding, raise CONSTRAINT_ERROR instead of
+ assigning NULL into the result, to avoid a spurious warning.
+ (Add_RACW_Features, case Same_Scope): Add assertion that designated type
+ is not frozen.
+ (Add_Stub_Type): Set entity flag Is_RACW_Stub_Type on generated stub
+ type.
+ (Build_From_Any_Function, Build_To_Any_Function,
+ Build_TypeCode_Function): For a type that has user-specified stream
+ attributes, use an opaque sequence of octets as the representation.
+
+2008-05-20 Kevin Pouget <pouget@adacore.com>
+
+ * exp_smem.ads, exp_smem.adb: Construction of access and assign
+ routines has been replaced by an instantiation of
+ System.Shared_Storage.Shared_Var_Procs generic package, while expanding
+ shared variable declaration.
+ Calls to access and assign routines have been replaced by calls to
+ Read/Write routines of System.Shared_Storage.Shared_Var_Procs
+ instantiated package.
+
+ * rtsfind.ads: RE_Shared_Var_Procs entry has been added in RE_Unit_Table
+ It identifies the new generic package added in s-shasto.
+
+ * s-shasto.adb, s-shasto.ads: A new generic package has been added, it
+ is instantiated for each shared passive variable. It provides
+ supporting procedures called upon each read or write access by the
+ expanded code.
+
+ * sem_attr.adb:
+ For this runtime unit (always compiled in GNAT mode), we allow
+ stream attributes references for limited types for the case where
+ shared passive objects are implemented using stream attributes,
+ which is the default in GNAT's persistent storage implementation.
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb
+ (Freeze_Enumeration_Type): For a subtype that inherits a foreign
+ convention from its base type, do not set the type to that of integer,
+ because it may inherit a size clause.
+ Warn on a size clause with a size different
+ from that of Integer, if the type has convention C.
+
+2008-05-20 Vincent Celier <celier@adacore.com>
+
+ * gnatname.adb
+ (Scan_Args): Rewrite to take into account new switch --and to separate
+ arguments into sections.
+ (Gnatname): Call Prj.Makr.Initialize, then Prj.Makr.Process for each
+ section, then Finalize.
+
+2008-05-20 Tristan Gingold <gingold@adacore.com>
+
+ * init.c: Enable stack probing on ppc-linux.
+
+ * tracebak.c: Add symbolic traceback for ppc-linux.
+
+ * system-linux-ppc.ads: Enable stack probing on ppc-linux.
+
+2008-05-20 Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in
+ (common-tools): New rule, to avoid parallel build failure on gnat tools.
+ Reenable parallel builds on this Makefile.
+
+ * Make-lang.in: Update dependencies.
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads (Treat_Restrictions_As_Warnings): New switch
+
+ * sem_prag.adb, par-prag.adb, restrict.ads: Implement flag
+ Treat_Restrictions_As_Warnings.
+
+ * switch-c.adb: Recognize new switch -gnatr
+
+ * usage.adb: Add line for -gnatr
+
+2008-05-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * par-ch3.adb
+ (P_Access_Definition): Change the error message when parsing "access
+ all" in Ada 95 mode. The message no longer forces the user to recompile
+ in 05 mode only to discover that anonymous access types are not allowed
+ to have "all".
+
+2008-05-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * par-ch9.adb
+ (P_Protected): Update the error message on missing "-gnat05" switch when
+ using interfaces in conjunction with protected types. Remove the
+ incorrect error message associated with the presence of "private" after
+ a "with".
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb: Update comments.
+ Improve previous change for PR ada/17985
+
+2008-05-20 Thomas Quinot <quinot@adacore.com>
+
+ * sem_cat.adb
+ (Set_Categorization_From_Scope): Do not set In_Remote_Types unless in
+ the visible part of the spec of a remote types unit.
+ (Validate_Remote_Access_Object_Type_Declaration):
+ New local subprogram Is_Valid_Remote_Object_Type, replaces
+ Is_Recursively_Limited_Private.
+ (Validate_RACW_Primitives): Enforce E.2.2(14) rules: the types of all
+ non-controlling formals (and the return type, even though this is not
+ explicit in the standard) must support external streaming.
+ (Validate_RCI_Subprogram_Declaration): Enforce E.2.3(14) rules: same
+ as above for of RAS types and RCI subprograms. (The return type is not
+ checked yet).
+ Update comments related to RACWs designating limited interfaces per
+ ARG ruling on AI05-060.
+
+ * sem_util.ads, sem_util.adb
+ (Is_Remote_Access_To_Class_Wide_Type): Only rely on Is_Remote_Types and
+ Is_Remote_Call_Interface to identify RACW types in a stable and
+ consistent way. We used to rely in this predicate on the privateness of
+ the designated type and its ancestors, but depending on the currently
+ visible private parts, this caused false negatives. We now uniformly
+ rely on checks made at the point where the RACW type is declared.
+ (Inspect_Deferred_Constant_Completion): Moved from Sem_Ch7.
+
+2008-05-20 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch3.adb
+ (Analyze_Object_Declaration): Fix over-conservative condition
+ restricting use of predefined assignment with tagged types that have
+ convention CPP.
+ (Analyze_Object_Declaration): Relax the check regarding deferred
+ constants declared in scopes other than packages since they can be
+ completed with pragma Import.
+ Add missing escaping of all-caps word 'CPP' in error messages.
+ (Build_Discriminated_Subtype): Do not inherit representation clauses
+ from parent type if subtype already carries them, because they are
+ inherited earlier during derivation and already include those that may
+ come from a partial view.
+
+ * sem_ch9.adb, sem_ch5.adb, sem_ch6.adb (Analyze_Subprogram_Body):
+ Check the declarations of a subprogram body for proper deferred
+ constant completion.
+
+ * sem_ch7.ads, sem_ch7.adb
+ (Inspect_Deferred_Constant_Completion): Moved to sem_util.
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch4.adb
+ (Try_Indexed_Call): Handle properly a construct of the form F(S) where
+ F is a parameterless function that returns an array, and S is a subtype
+ mark.
+ (Analyze_Call): Insert dereference when the prefix is a parameterless
+ function that returns an access to subprogram and the call has
+ parameters.
+ Reject a non-overloaded call whose name resolves to denote
+ a primitive operation of the stub type generated to support a remote
+ access-to-class-wide type.
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb
+ (Note_Redundant_Use): Diagnose a redundant use within a subprogram body
+ when there is a use clause for the same entity in the context.
+ (Analyze_Subprogram_Renaming): A renaming_as_body is legal if it is
+ created for a stream attribute of an abstract type or interface type.
+
+2008-05-20 Thomas Quinot <quinot@adacore.com>
+
+ * sem_dist.ads, sem_dist.adb (Is_RACW_Stub_Type_Operation): New
+ subprogram.
+
+ * sem_type.adb
+ (Add_One_Interp): Ignore any interpretation that is a primitive
+ operation of an RACW stub type (these primitives are only executed
+ through dispatching, never through static calls).
+ (Collect_Interps): When only one interpretation has been found, set N's
+ Entity and Etype to that interpretation, otherwise Entity and Etype may
+ still refer to an interpretation that was ignored by Add_One_Interp,
+ in which case would end up with being marked as not overloaded but with
+ an Entity attribute not pointing to its (unique) correct interpretation.
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_eval.adb
+ (Eval_Slice): Warn when a slice whose discrete range is a subtype name
+ denotes the whole array of its prefix.
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Resolve_Op_Not): Warn on double negation
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sprint.adb
+ (Print_Itype): Do not modify the sloc of the component type of a
+ (packed) array itype, because it is an unrelated type whose source
+ location is independent of the point of creation of the itype itself.
+
+2008-05-20 Thomas Quinot <quinot@adacore.com>
+
+ * uintp.adb, urealp.adb: Replace calls to Increment_Last + Set with
+ Append.
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * vms_data.ads: Add entry for -gnatr
+ Put GNAT SYNC section in proper alpha order
+ Add VMS qualifier /DISPLAY_PROGRESS equivalent to gnatmake switch -d
+
+ * gnat_ugn.texi: Add documentation for new gnatname switch --and
+ Update the style checks section
+ Add documentation of -gnatr
+ Add to the "Adding the Results of Compiler Checks to gnatcheck Output"
+ subsection the explanation how compiler checks should be disabled for
+ gnatcheck.
+ Update the list of Ada 95 reserved words used by in the project language
+ Add documentation for project qualifiers.
+ Document that abstract projects may be extended by different projects in
+ the same project tree.
+ Add documentation for gnatmake switch -d
+
+ * ug_words: Add -gnatyy VMS equivalence string.
+ Add entry for -gnatr
+
+2008-05-20 Bob Duff <duff@adacore.com>
+
+ * a-rttiev.adb
+ (Set_Handler): Remove code from both of these that implements
+ RM-D.15(15/2), because it causes a race condition and potential
+ deadlock.
+ (Process_Queued_Events): Add comment explaining "exception when others
+ => null". Add clarifying ".all", even though implicit .all is legal
+ here.
+
+2008-05-20 Arnaud Charlet <charlet@adacore.com>
+
+ * s-winext.ads: Replace representation clause by pragma Pack. Gives
+ equivalent representation, but has the advantage of allowing
+ compilation of this file under 64 bits platforms.
+
+ * s-os_lib.adb (Normalize_Pathname): Mark Cur_Dir constant.
+
+ * s-osinte-irix.ads: (Alternate_Stack_Size): Add dummy declaration.
+
+ * adaint.c:
+ Don't define dummy implementation of convert_addresses on ppc-linux.
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch7.adb
+ (Expand_Ctrl_Function_Call): Do not attach result to finalization list
+ if expression is aggregate component.
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+
+ * g-byorma.adb, gnatlink.adb, prepcomp.adb, sinfo.ads,
+ sem_ch12.adb: Update comments. Minor reformatting.
+
+ * exp_ch2.adb: Typo
+
+ * s-unstyp.ads: Fixed some typos in comments.
+
+2008-05-20 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taspri-vxworks.ads (Task_Address, Task_Address_Size): New
+ type/constant.
+
+ * g-socthi-vxworks.ads: Update to latest socket changes.
+
+ * a-caldel-vms.adb: Resync with a-caldel spec.
+
+ * exp_ch9.ads, sem_ch8.ads, inline.adb: Minor reformatting.
+ Update comments.
+
+2008-05-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Account
+ for dummy types pointed to by the converted pointer types.
+
+2008-05-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (add_decl_expr): At toplevel, mark the TYPE_ADA_SIZE field
+ of records and unions.
+ (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Fix formatting.
+
+2008-05-14 Samuel Tardieu <sam@rfc1149.net>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute, Attribute_Old case): Add
+ restrictions to the prefix of 'Old.
+ * sem_util.ads, sem_util.adb (In_Parameter_Specification): New.
+ * gnat_rm.texi ('Old): Note that 'Old cannot be applied to local
+ variables.
+
+2008-05-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/24880
+ PR ada/26635
+ * utils.c (convert) <INTEGER_TYPE>: When converting an additive
+ expression to an integral type with lower precision, use NOP_EXPR
+ directly in a couple of special cases.
+
+2008-05-12 Samuel Tardieu <sam@rfc1149.net>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): Accept statically matching
+ constraint expressions.
+
+2008-05-12 Tomas Bily <tbily@suse.cz>
+
+ * utils2.c (known_alignment, contains_save_expr_p)
+ (gnat_mark_addressable): Use CASE_CONVERT.
+ * decl.c (annotate_value): Likewise.
+ * trans.c (maybe_stabilize_reference): Likewise.
+ * utils2.c (build_binary_op): Use CONVERT_EXPR_P.
+ * utils.c (rest_of_record_type_compilation): Likewise.
+ * trans.c (protect_multiple_eval, Attribute_to_gnu)
+ (protect_multiple_eval): Likewise.
+
+2008-05-08 Andreas Schwab <schwab@suse.de>
+
+ * utils.c (handle_pure_attribute, init_gigi_decls): Rename
+ DECL_IS_PURE to DECL_PURE_P.
+
+2008-05-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (maybe_pad_type): Add ??? comment.
+
+2008-05-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (components_to_record): Zero the alignment of the qualified
+ union built for the variant part upon creating it.
+
+2008-05-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (maybe_pad_type): Try to get a form of the type with integral
+ mode even if the alignment is not a factor of the original size. But
+ make sure to create the inner field with the original size. Reorder.
+ * trans.c (addressable_p) <COMPONENT_REF>: Treat the field of a padding
+ record as always addressable.
+ * utils.c (convert): Deal specially with conversions between original
+ and packable versions of a record type.
+ * utils2.c (build_binary_op) <MODIFY_EXPR>: Be more restrictive when
+ recognizing an assignment between padded objects.
+
+2008-05-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (make_packable_type): Resize the last component to its RM size
+ only if it is of an aggregate type.
+ * trans.c (call_to_gnu): Fix nit in comment.
+ (gnat_to_gnu): Likewise.
+
+2008-04-30 Samuel Tardieu <sam@rfc1149.net>
+
+ * Makefile.in: Adapt sh4-linux target.
+
+2008-04-29 Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/35792
+ * sem_ch3.adb (Find_Type_Name): Refuse completion of an incomplete
+ tagged type by an untagged protected or task type.
+
+2008-04-28 Eric Botcazou <ebotcazou@adacore.com>
+ Tristan Gingold <gingold@adacore.com>
+
+ PR ada/36007
+ * decl.c (gnat_to_gnu_entity) <object>: Do not promote alignment
+ of aliased objects with an unconstrained nominal subtype.
+ Cap the promotion to the effective alignment of the word mode.
+
+2008-04-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * Make-lang.in (ada.tags, check-acats, ada/treeprs.ads)
+ (ada/einfo.h, ada/sinfo.h, ada/nmake.adb, ada/nmake.ads):
+ Use '&&' instead of ';'.
+
+2008-04-24 Olivier Hainque <hainque@adacore.com>
+
+ * trans.c (Attribute_to_gnu) <case Attr_Length>: Length computation
+ doesn't require signed arithmetic anymore.
+
+2008-04-23 Paolo Bonzini <bonzini@gnu.org>
+
+ * trans.c (Attribute_to_gnu): Don't set TREE_INVARIANT.
+ (call_to_gnu): Don't set TREE_INVARIANT.
+ * utils2.c (gnat_build_constructor): Don't set TREE_INVARIANT.
+
+2008-04-22 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * s-osinte-rtems.adb: Add sigalstack function.
+ * s-osinte-rtems.ads: Add SO_ONSTACK and sigalstack
+ function. Add Alternate_Stack and Alternate_Stack_Size.
+ Add missing process_shared field to pthread_condattr_t
+ and change ss_low_priority to int from timespec.
+
+2008-04-22 Samuel Tardieu <sam@rfc1149.net>
+
+ * i-forbla.adb: Link against -llapack and -lblas by default
+ instead of the private -lgnalasup.
+
+2008-04-21 Olivier Hainque <hainque@adacore.com>
+
+ Access to most C builtins from Ada
+ * utils.c: #include "langhooks.h" and define GCC_DIAG_STYLE.
+ (handle_pure_attribute, handle_novops_attribute,
+ handle_nonnull_attribute, handle_sentinel_attribute,
+ handle_noreturn_attribute, handle_malloc_attribute,
+ handle_type_generic_attribute): New attribute handlers, from C fe.
+ (gnat_internal_attribute_table): Map the new handlers.
+ (gnat_init_decl_processing): Move call to gnat_install_builtins to ...
+ (init_gigi_decls): ... here.
+ (handle_const_attribute, handle_nothrow_attribute, builtin_decl_for):
+ Move to a section dedicated to builtins processing.
+ (build_void_list_node, builtin_type_for_size): New functions.
+ (def_fn_type, get_nonnull_operand): Likewise.
+ (install_builtin_elementary_type, install_builtin_function_types,
+ install_builtin_attributes): Likewise.
+ (fake_attribute_handler): Fake handler for attributes we don't
+ support in Ada.
+ (def_builtin_1): New function, worker for DEF_BUILTIN.
+ (install_builtin_functions): New function.
+ (gnat_install_builtins): Move to the builtins processing section.
+ Now calling the newly introduced installers.
+
+2008-04-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: Also promote the alignment of
+ constant objects, but not exceptions.
+ * trans.c (add_decl_expr): Use gnat_types_compatible_p for type
+ compatibility test.
+ * utils.c (create_var_decl_1): Likewise.
+ * utils2.c (build_binary_op) <MODIFY_EXPR>: Also use the padded view of
+ the type when copying to padded object and the source is a constructor.
+
+2008-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: When trying to promote the
+ alignment, reset it to zero if it would end up not being greater
+ than that of the type.
+
+2008-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (maybe_pad_type): Only generate the XVS parallel type if
+ the padded type has a variable size.
+
+2008-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Use the return by
+ target pointer mechanism as soon as the size is not constant.
+
+2008-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gigi.h (create_var_decl_1): Declare.
+ (create_var_decl): Turn into a macro invoking create_var_decl_1.
+ (create_true_var_decl): Likewise.
+ * utils.c (create_var_decl_1): Make global and reorder parameters.
+ (create_var_decl): Delete.
+ (create_true_var_decl): Likewise.
+
+2008-04-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: Promote the alignment of
+ objects by default.
+ * fe.h (Debug_Flag_Dot_A): Delete.
+ * debug.adb (-gnatd.a): Update documentation.
+
+2008-04-17 Samuel Tardieu <sam@rfc1149.net>
+
+ * g-socket.ads, g-socket.adb (Get_Address): Make Stream a
+ "not null" parameter.
+
+2008-04-17 Samuel Tardieu <sam@rfc1149.net>
+
+ * g-socket.adb: Add a message "IPv6 not supported" to the
+ Socket_Error exception.
+
+2008-04-16 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/29015
+ * sem_ch12.adb (Instantiate_Type): Check whether the full view of
+ the type is known instead of the underlying type.
+
+2008-04-15 Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/22387
+ * exp_ch5.adb (Expand_Assign_Record): Within an initialization
+ procedure for a derived type retrieve the discriminant values from
+ the parent using the corresponding discriminant.
+
+2008-04-15 Samuel Tardieu <sam@rfc1149.net>
+ Gary Dismukes <dismukes@adacore.com>
+
+ PR ada/28733
+ * sem_ch8.adb (Analyze_Use_Package): Do not allow "use" of something
+ which is not an entity (and hence not a package).
+ (End_Use_Package): Ditto.
+
+2008-04-15 Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/16086
+ * sem_ch12.adb (Analyze_Formal_Subprogram): The default can be any
+ protected operation that matches the signature, not only an entry, a
+ regular subprogram or a literal.
+
+2008-04-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ada-tree.h (DECL_BY_COMPONENT_PTR_P): Use DECL_LANG_FLAG_3.
+ * decl.c (gnat_to_gnu_entity) <object>: Call maybe_pad_type only
+ if a size or alignment is specified. Do not take into account
+ alignment promotions for the computation of the object's size.
+ <type>: Call maybe_pad_type only if a size or alignment is specified.
+ (maybe_pad_type): Really reuse the RM_Size of the original type if
+ requested.
+ * trans.c (Attribute_to_gnu): Fix a couple of nits.
+ * utils2.c (build_binary_op) <MODIFY_EXPR>: Merge related conditional
+ statements. Use the padded view of the type when copying between
+ padded objects of the same underlying type.
+
+2008-04-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * vms_data.ads: Fix typo in constant.
+ * gen-soccon.c: Fix typo in error string.
+ * gnat_rm.texi (Pragma Optimize_Alignment, Pragma Postcondition):
+ Fix typos.
+ * a-calcon.ads, a-calend-vms.adb, a-calend.adb, a-crdlli.ads,
+ bcheck.adb, checks.adb, einfo.ads, errout.adb, erroutc.adb,
+ erroutc.ads, exp_attr.adb, exp_ch11.adb, exp_ch2.adb,
+ exp_ch5.adb, exp_ch9.adb, exp_ch9.ads, exp_pakd.adb,
+ exp_util.adb, fmap.adb, g-soccon-linux-mips.ads,
+ g-soccon-rtems.ads, g-timsta.adb, g-timsta.ads, lib-writ.ads,
+ mlib-tgt-specific-linux.adb, mlib-tgt-specific-tru64.adb,
+ s-interr-vxworks.adb, s-interr.adb, s-osinte-lynxos.ads,
+ s-rident.ads, s-taprop-solaris.adb, s-tassta.adb, s-win32.ads,
+ sem_aggr.adb, sem_attr.ads, sem_ch10.adb, sem_ch13.ads,
+ sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb,
+ sem_prag.ads, sem_res.adb, sem_util.adb, sem_util.ads,
+ sinfo.ads: Fix typos in comments.
+
+2008-04-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, Linker_Section case): Extend error
+ to every non-object and change error message.
+
+2008-04-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads, sem_util.adb (In_Subprogram): Remove.
+ * sem_attr.adb (Anayze_Attribute): Check for Current_Subprogram
+ directly.
+
+2008-04-14 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/18680
+ * sem_prag.adb (Analyze_Pragma, Linker_Section case): Refuse to
+ apply pragma Linker_Section on type.
+
+2008-04-14 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/16098
+ * sem_prag.adb (Error_Pragma_Ref): New.
+ (Process_Convention): Specialized message for non-local
+ subprogram renaming. Detect the problem in homonyms as well.
+
+2008-04-14 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/15915
+ * sem_util.ads, sem_util.adb (Denotes_Variable): New function.
+ * sem_ch12.adb (Instantiate_Object): Use it.
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ensure that
+ storage pool denotes a variable as per RM 13.11(15).
+
+2008-04-14 Samuel Tardieu <sam@rfc1149.net>
+
+ * sem_util.ads, sem_util.adb (In_Subprogram): New function.
+ * sem_attr.adb (Analyze_Attribute, Attribute_Old case): Use it.
+
+2008-04-14 Rolf Ebert <rolf.ebert.gcc@gmx.de>
+
+ PR ada/20822
+ * xgnatugn.adb (Put_Line): New procedure, ensuring Unix
+ line endings even on non-Unix platforms.
+
+2008-04-14 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/35050
+ * xref_lib.adb (Parse_Identifier_Info): Correctly parse and ignore the
+ renaming information.
+
+2008-04-13 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/17985
+ * sem_aggr.adb (Valid_Ancestor_Type): A type is not an ancestor of
+ itself.
+
+2008-04-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * sfn_scan.adb, sfn_scan.ads, sinfo.ads,
+ sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput.ads,
+ snames.ads, sprint.adb, stand.ads, stringt.ads,
+ styleg.adb, styleg.ads, stylesw.adb, stylesw.ads,
+ switch.ads, sysdep.c, table.adb, table.ads,
+ targparm.ads, tb-gcc.c, tbuild.ads, tracebak.c,
+ trans.c, tree_io.adb, treepr.adb, types.adb, types.ads,
+ uintp.adb, uintp.ads, utils.c, utils2.c, validsw.ads,
+ vms_conv.adb, vms_conv.ads, vms_data.ads, widechar.adb,
+ widechar.ads, xeinfo.adb, xgnatugn.adb, xr_tabls.adb,
+ xr_tabls.ads, xref_lib.adb, xref_lib.ads, xsinfo.adb:
+ Fix comment typos.
+
+ * sem_ch10.adb, sem_ch10.ads,
+ sem_ch12.adb, sem_ch12.ads, sem_ch13.adb, sem_ch13.ads,
+ sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
+ sem_ch6.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
+ sem_elab.adb, sem_elab.ads, sem_elim.ads, sem_eval.adb,
+ sem_eval.ads, sem_intr.adb, sem_mech.adb, sem_mech.ads,
+ sem_prag.adb, sem_prag.ads, sem_res.adb, sem_res.ads,
+ sem_type.adb, sem_util.adb, sem_util.ads, sem_warn.adb,
+ sem_warn.ads: Fix comment typos.
+
+ * s-secsta.adb, s-sequio.ads, s-shasto.ads,
+ s-soflin.ads, s-stalib.ads, s-stausa.adb,
+ s-stausa.ads, s-strxdr.adb, s-taenca.adb, s-taenca.ads,
+ s-taprob.adb, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
+ s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-posix.adb,
+ s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
+ s-taprop-vxworks.adb, s-taprop.ads, s-tarest.adb,
+ s-tarest.ads, s-tasini.adb, s-tasini.ads, s-taskin.ads,
+ s-tasque.ads, s-tassta.adb, s-tassta.ads, s-tasuti.ads,
+ s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
+ s-tpopsp-posix.adb, s-tpopsp-rtems.adb, s-tposen.adb,
+ s-tposen.ads, s-traceb-hpux.adb, s-traces.ads,
+ s-trafor-default.ads, s-unstyp.ads, s-utf_32.ads,
+ s-vaflop.adb, s-vaflop.ads, s-valrea.adb, s-valuti.adb,
+ s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, scans.ads,
+ scn.adb, scng.adb, seh_init.c, sem.ads, sem_aggr.adb,
+ sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
+ sem_cat.adb, sem_cat.ads: Fix comment typos.
+
+2008-04-12 Joel Sherrill <joel@oarcorp.com>
+
+ PR ada/35825
+ * g-soccon-rtems.ads: Add IP_PKTINFO as unsupported.
+
+2008-04-12 Arnaud Charlet <charlet@adacore.com>
+
+ * s-linux-hppa.ads: Fix syntax errors.
+
+2008-04-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * gnat_ugn.texi: Fix typos.
+ * raise-gcc.c, repinfo.adb, repinfo.ads, restrict.adb,
+ restrict.ads, rtsfind.adb, rtsfind.ads, s-arit64.ads,
+ s-asthan-vms-alpha.adb, s-auxdec.ads, s-casuti.ads,
+ s-fatflt.ads, s-fatgen.adb, s-fatlfl.ads,
+ s-fatllf.ads, s-fatsfl.ads, s-filofl.ads,
+ s-finimp.adb, s-finroo.ads, s-fishfl.ads,
+ s-fvadfl.ads, s-fvaffl.ads, s-fvagfl.ads,
+ s-hibaen.ads, s-htable.ads, s-imgcha.adb,
+ s-imgenu.ads, s-imgint.adb, s-imgrea.adb,
+ s-inmaop-dummy.adb, s-inmaop.ads, s-interr-vms.adb,
+ s-interr-vxworks.adb, s-interr.adb, s-interr.ads,
+ s-intman-vxworks.ads, s-intman.ads, s-mastop-irix.adb,
+ s-os_lib.adb, s-os_lib.ads, s-osinte-aix.ads,
+ s-osinte-darwin.ads, s-osinte-freebsd.ads,
+ s-osinte-hpux.ads, s-osinte-lynxos-3.adb,
+ s-osinte-lynxos-3.ads, s-osinte-lynxos.ads,
+ s-osinte-rtems.ads, s-osinte-solaris-posix.ads,
+ s-osprim-mingw.adb, s-osprim-vms.adb, s-parame-ae653.ads,
+ s-parame-hpux.ads, s-parame-vms-alpha.ads,
+ s-parame-vms-ia64.ads, s-parame-vms-restrict.ads,
+ s-parame-vxworks.ads, s-parame.ads, s-parint.adb,
+ s-parint.ads, s-poosiz.adb, s-proinf-irix-athread.ads,
+ s-proinf.ads, s-regexp.adb, s-regpat.adb, s-regpat.ads,
+ s-rident.ads: Fix comment typos.
+
+2008-04-09 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/28305
+ * sem_ch6.adb (Build_Body_To_Inline): Do not save and restore
+ environment if generic instance is a top-level one.
+
+2008-04-09 Doug Rupp <rupp@adacore.com>
+
+ * decl.c (validate_size): Set minimum size for fat pointers same as
+ access types. Code clean ups.
+
+ * gmem.c (xstrdup32): New macro for 32bit dup on VMS, noop otherwise
+ (__gnat_gmem_a2l_initialize): Dup exename into 32 bit memory on VMS
+
+ * s-auxdec-vms_64.ads, s-auxdec.ads (Short_Address_Size): New constant
+
+ * s-crtl.ads (malloc32) New function, alias for malloc
+ (realloc32) New function, alias for realloc
+
+ * socket.c (__gnat_new_socket_set): Malloc fd_set in 32 bits on VMS
+
+ * utils2.c (build_call_alloc_dealloc): Return call to short malloc if
+ allocator size is 32 and default pointer size is 64.
+ (find_common_type): Document assumption on t1/t2 vs lhs/rhs. Force use of
+ lhs type if smaller, whatever the modes.
+
+ * gigi.h (malloc32_decl): New macro definition
+
+ * utils.c (init_gigi_decls): New malloc32_decl
+ Various code clean ups.
+
+ * s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to
+ Task_Address vice System.Address.
+
+ * s-taspri-vms.ads: Import System.Aux_DEC
+ (Task_Address): New subtype of System.Aux_DEC.Short_Address
+ (Task_Address_Size): New constant size of System.Aux_DEC.Short_Address
+
+ * s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to
+ Task_Address vice System.Address.
+
+ * s-inmaop-vms.adb: Import System.Task_Primitives
+ (To_Address): Unchecked convert to Task_Address vice System.Address
+
+ * s-taprop-vms.adb (Timed_Delay): Always set the timer even if delay
+ expires now.
+ (To_Task_ID) Unchecked convert from Task_Adddress vice System.Address
+ (To_Address) Unchecked convert to Task_Address vice System.Address
+
+ * s-tpopde-vms.adb: Remove unnecessary warning pragmas
+
+ * g-socthi-vms.ads: Add 32bit size clauses on socket access types.
+
+2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gigi.h (standard_datatypes): Add ADT_fdesc_type and ADT_null_fdesc.
+ (fdesc_type_node): Define.
+ (null_fdesc_node): Likewise.
+ * decl.c (gnat_to_gnu_entity) <E_Access_Subprogram_Type>: If the target
+ uses descriptors for vtables and the type comes from a dispatch table,
+ return the descriptor type.
+ * trans.c (Attribute_to_gnu) <Attr_Unrestricted_Access>: If the target
+ uses descriptors for vtables and the type comes from a dispatch table,
+ build a descriptor in the static case and copy the existing one in the
+ non-static case.
+ (gnat_to_gnu) <N_Null>: If the target uses descriptors for vtables and
+ the type is a pointer-to-subprogram coming from a dispatch table,
+ return the null descriptor.
+ <N_Unchecked_Type_Conversion>: If the target uses descriptors for
+ vtables, the source type is the descriptor type and the target type
+ is a pointer type, first build the pointer.
+ * utils.c (init_gigi_decls): If the target uses descriptors for vtables
+ build the descriptor type and the null descriptor.
+
+2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (prepend_attributes): Fix typo.
+ * trans.c (Pragma_to_gnu): Likewise.
+ * utils.c (gnat_genericize): Likewise.
+
+2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
+ Richard Kenner <kenner@adacore.com>
+
+ * ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Only set it when bit-packed.
+ * decl.c (gnat_to_gnu_entity): Adjust for above change.
+ <E_Record_Type>: Try to get a better form of the component for
+ packing, even if it has an integral mode.
+ <E_Record_Subtype>: Likewise.
+ * trans.c (gnat_to_gnu): Do not require BLKmode for the special
+ exception suppressing the final conversion between record types.
+
+2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: If -gnatd.a and not optimizing
+ alignment for space, promote the alignment of non-scalar variables with
+ no size and alignment.
+ * gigi.h (gnat_types_compatible_p): Declare.
+ * misc.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Set to above predicate.
+ * trans.c (gnat_to_gnu): Revert revision 129339 change. Minor cleanup.
+ * utils.c (gnat_types_compatible_p) : New predicate.
+ (convert): Use it throughout to test for cases where a mere view
+ conversion is sufficient.
+ * utils2.c (build_binary_op): Minor tweaks.
+ (build_unary_op): Likewise.
+
+2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (adjust_packed): Expand comment.
+
+2008-04-08 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tasuti.ads: Use Task_Address instead of System.Address.
+
+ * makeutl.adb (Path_Or_File_Name): New function
+
+ * nlists.ads, itypes.ads: Update comments.
+
+ * s-crtl.ads (malloc32, realloc32): New functions.
+
+ * s-auxdec.ads (Short_Address_Size): New constant.
+
+ * a-taside.adb, s-tasdeb.adb: Use Task_Address.
+
+ * s-ststop.ads, s-ststop.adb: New file.
+
+ * exp_tss.ads, s-taprop-lynxos.adb: Update comments.
+ Minor reformatting.
+
+2008-04-08 Pascal Obry <obry@adacore.com>
+
+ * g-sercom.ads, g-sercom.adb (Data_Rate): Add B115200.
+ (Stop_Bits_Number): New type.
+ (Parity_Check): Likewise.
+ (Set): Add parameter to set the number of stop bits and
+ the parity. Parameter timeout is now a duration instead
+ of a plain integer.
+
+ * g-sercom-linux.adb:
+ Implement the stop bits and parity support for GNU/Linux.
+ Fix handling of timeout, it must be given in tenth of seconds.
+
+ * g-sercom-mingw.adb:
+ Implement the stop bits and parity support for Windows.
+ Use new s-win32.ads unit instead of declaring Win32 services
+ directly into this body.
+ Update handling of timeout as now a duration.
+
+ * s-win32.ads, s-winext.ads: New files.
+
+2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads: Removed.
+
+ s-taspri-posix-noaltstack.ads, s-linux.ads, s-linux-alpha.ads,
+ s-linux-hppa.ads: New files. Disable alternate stack on ia64-hpux.
+
+ * s-osinte-lynxos-3.ads,
+ (Alternate_Stack): Remove when not needed. Simplify declaration
+ otherwise.
+ (Alternate_Stack_Size): New constant.
+
+ s-osinte-mingw.ads, s-taprop-mingw.adb: Code clean up: avoid use of
+ 'Unrestricted_Access.
+
+ * s-osinte-hpux.ads, s-osinte-solaris-posix.ads, s-osinte-aix.ads,
+ s-osinte-lynxos.ads, s-osinte-freebsd.ads s-osinte-darwin.ads,
+ s-osinte-tru64.ads, s-osinte-irix.ads, s-osinte-linux.ads,
+ s-osinte-solaris.ads, s-osinte-vms.ads
+ (SA_ONSTACK): New constant.
+ (stack_t): New record type.
+ (sigaltstack): New imported function.
+ (Alternate_Stack): New imported variable.
+ (Alternate_Stack_Size): New constant.
+
+ * system-linux-x86_64.ads: (Stack_Check_Probes): Set to True.
+
+ * s-taspri-lynxos.ads, s-taspri-solaris.ads, s-taspri-tru64.ads,
+ s-taspri-hpux-dce.ads, s-taspri-dummy.ads, s-taspri-posix.ads,
+ s-taspri-vms.ads (Task_Address): New subtype of System.Address
+ (Task_Address_Size): New constant size of System.Address
+ (Alternate_Stack_Size): New constant.
+
+ * s-taprop-posix.adb, s-taprop-linux.adb (Get_Stack_Attributes): Delete.
+ (Enter_Task): Do not notify stack to System.Stack_Checking.Operations.
+ Establish the alternate stack if the platform makes use of n alternate
+ signal stack for stack overflows.
+ (Create_Task): Take into account the alternate stack in the stack size.
+ (Initialize): Save the address of the alternate stack into the ATCB for
+ the environment task.
+ (Create_Task): Fix assertions for NPTL library (vs old LinuxThreads).
+
+ * s-parame.adb (Minimum_Stack_Size): Increase value to 16K
+
+ * system-linux-x86.ads: (Stack_Check_Probes): Set to True.
+
+ * s-intman-posix.adb:
+ (Initialize): Set SA_ONSTACK for SIGSEGV if the platform makes use of an
+ alternate signal stack for stack overflows.
+
+ * init.c (__gnat_adjust_context_for_raise, Linux version): On i386 and
+ x86-64, adjust the saved value of the stack pointer if the signal was
+ raised by a stack checking probe.
+ (HP-UX section): Use global __gnat_alternate_stack as signal handler
+ stack and only for SIGSEGV.
+ (Linux section): Likewise on x86 and x86-64.
+ [VxWorks section]
+ (__gnat_map_signal): Now static.
+ (__gnat_error_handler): Not static any more.
+ (__gnat_adjust_context_for_raise): New function. Signal context
+ adjustment for PPC && !VTHREADS && !RTP, as required by the zcx
+ propagation circuitry.
+ (__gnat_error_handler): Second argument of a sigaction handler is a
+ pointer, not an int, and is unused.
+ Adjust signal context before mapping to exception.
+ Install signal handlers for LynxOS case.
+
+ * s-taskin.ads (Common_ATCB): New field Task_Alternate_Stack.
+ (Task_Id): Set size to Task_Address_Size
+ (To_Task_id): Unchecked convert from Task_Address vice System.Address
+ (To_Address): Unchecked convert to Task_Address vice System.Address
+
+ * s-tassta.adb (Task_Wrapper): Define the alternate stack and save its
+ address into the ATCB if the platform makes use of an alternate signal
+ stack for stack overflows.
+ (Free_Task): Add call to Finalize_Attributes_Link.
+ Add argument Relative_Deadline to pass the value specified for
+ the task. This is not yet used for any target.
+
+ * s-tassta.ads (Create_Task): Add argument Relative_Deadline to pass
+ the value specified for the task.
+
+2008-04-08 Arnaud Charlet <charlet@adacore.com>
+
+ (s-osinte-vxworks6.ads): Removed, merged with s-osinte-vxworks.ads/.adb
+ (s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads,
+ s-vxwext-rtp.adb): New files.
+
+ * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-osinte-vxworks.adb:
+ Minor updates to accomodate changes above.
+
+2008-04-08 Pascal Obry <obry@adacore.com>
+
+ * a-exetim-mingw.adb, s-gloloc-mingw.adb, s-taprop-mingw.adb,
+ s-tasinf-mingw.ad{s,b}, s-taspri-mingw.ads:
+ Use new s-win32.ads unit instead of declaration
+ from s-osinte-mingw.ads.
+
+ * s-osinte-mingw.ads:
+ Move all non tasking based interface to s-win32.ads.
+
+ * s-osprim-mingw.adb:
+ Remove duplicated declarations and use s-win32.ads
+ unit instead.
+
+2008-04-08 Vincent Celier <celier@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * mlib-tgt-aix.adb, mlib-tgt-darwin.adb, mlib-tgt-hpux.adb,
+ mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-lynxos.adb,
+ mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
+ mlib-tgt-vms.ads, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+ mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb: Renamed into...
+
+ * mlib-tgt-specific-aix.adb, mlib-tgt-specific-darwin.adb,
+ mlib-tgt-specific-hpux.adb, mlib-tgt-specific-irix.adb,
+ mlib-tgt-specific-linux.adb, mlib-tgt-specific-lynxos.adb,
+ mlib-tgt-specific-solaris.adb, mlib-tgt-specific-tru64.adb,
+ mlib-tgt-vms_common.adb, mlib-tgt-vms_common.ads,
+ mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb,
+ mlib-tgt-specific-vxworks.adb, mlib-tgt-specific-xi.adb,
+ mlib-tgt-specific-mingw.adb: New names.
+
+ * Makefile.in:
+ On VxWorks platforms use s-stchop-limit.ads for s-stchop.ads
+ Get rid of gnatbl.
+ (EXTRA_GNATRTL_NONTASKING_OBJS): Add s-win32.o
+ Files mlib-tgt-*.adb have been renamed mlib-tgt-specific-*.adb
+ Minor updates for VMS
+
+ * gnatbl.c: Removed.
+
+2008-04-08 Thomas Quinot <quinot@adacore.com>
+
+ * g-expect-vms.adb, a-textio.adb, a-witeio.adb, exp_dbug.adb,
+ g-expect.adb, g-locfil.adb, gnatchop.adb, gnatdll.adb, gnatlbr.adb,
+ gnatmem.adb, g-regist.adb, i-vxwork.ads, mlib-utl.adb, i-vxwork-x86.ads,
+ a-ztexio.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-ia64.adb,
+ s-os_lib.adb, s-regpat.adb, s-regpat.ads: Fix incorrect casing of
+ ASCII.NUL throughout.
+
+2008-04-08 Arnaud Charlet <charlet@adacore.com>
+ Matthew Heaney <heaney@adacore.com>
+
+ * a-cgcaso.adb, a-convec.adb: (Swap, Sift): Avoid use of complex
+ renaming.
+
+ * a-cgaaso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads,
+ a-crdlli.ads, a-coormu.ads, a-ciormu.ads: modified header to conform
+ to convention for non-RM specs.
+ Add descriptive header, and documented each operation
+ document each operation
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * alloc.ads: Add entries for Obsolescent_Warnings table
+
+ * einfo.ads, einfo.adb: Minor reformatting.
+ (Is_Discriminal): New subprogram.
+ (Is_Prival): New subprogram.
+ (Is_Protected_Component): New subprogram.
+ (Is_Protected_Private): Removed.
+ (Object_Ref, Set_Object_Ref): Removed.
+ (Prival, Set_Prival): Change assertion.
+ (Privals_Chain, Set_Privals_Chain): Removed.
+ (Prival_Link, Set_Prival_Link): New subprogram.
+ (Protected_Operation, Set_Protected_Operation): Removed.
+ (Protection_Object, Set_Protection_Object): New subprogram.
+ (Write_Field17_Name): Remove case for Object_Ref.
+ (Write_Field20_Name): Add case for Prival_Link.
+ (Write_Field22_Name): Remove case for Protected_Operation,
+ Privals_Chain.
+ Add case for Protection_Object.
+ (Can_Use_Internal_Rep): Make this into a [base type only] attribute,
+ so clients
+ (Overlays_Constant): New flag
+ (Is_Constant_Object): New predicate
+ (Is_Standard_Character_Type): New predicate
+ (Optimize_Alignment_Space): New flag
+ (Optimize_Alignment_Time): New flag
+ (Has_Postconditions): New flag
+ (Obsolescent_Warrning): Field removed
+ (Spec_PPC_List): New field
+ (Relative_Deadline_Variable, Set_Relative_Deadline_Variable): Add
+ subprograms to get and set the relative deadline associated to a task.
+
+ * exp_attr.adb (May_Be_External_Call): Account for the case where the
+ Access attribute is part of a named parameter association.
+ (Expand_Access_To_Protected_Op): Test for the attribute occurring
+ within an init proc and use that directly as the scope rather than
+ traversing up to the protected operation's enclosing scope. Only apply
+ assertion on Is_Open_Scopes in the case the scope traversal is done.
+ For the init proc case use the address of the first formal (_init) as
+ the protected object reference.
+ Implement Invalid_Value attribute
+ (Expand_N_Attribute_Reference): Case Attribute_Unrestricted_Access.
+ contents of the dispatch table there is no need to duplicate the
+ itypes associated with record types (i.e. the implicit full view
+ of private types).
+ Implement Enum_Val attribute
+ (Expand_N_Attribute_Reference, case Old): Properly handle appearence
+ within _Postconditions procedure
+ (Expand_N_Attribute_Reference, case Result): Implement new attribute
+
+ * exp_ch5.adb (Expand_N_Simple_Return_Statement): Handle case in which
+ a return statement calls a function that is not available in
+ configurable runtime.
+ (Analyze_If_Statement): don't optimize simple True/False cases in -O0
+ (Expand_Non_Function_Return): Generate call to _Postconditions proc
+ (Expand_Simple_Function_Return): Ditto
+
+ * frontend.adb: Add call to Sem_Aux.Initialize
+
+ * sem_aux.ads, sem_aux.adb: New file.
+
+ * par-prag.adb: Add entries for pragmas Precondition/Postcondition
+ Add new Pragma_Relative_Deadline.
+ Add support for pragmas Check and Check_Policy
+
+ * sem_attr.ads, sem_attr.adb (Check_Not_CPP_Type): New subprogram.
+ (Check_Stream_Attribute): Add missing check (not allowed in CPP types)
+ (Analyze_Attribute): In case of attributes 'Alignment and 'size add
+ missing check because they are not allowed in CPP tagged types.
+ Add Sure parameter to Note_Possible_Modification calls
+ Add implementation of Invalid_Value attribute
+ Implement new attribute Has_Tagged_Values
+ Implement Enum_Val attribute
+ (Analyze_Attribute, case Range): Set Name_Req True for prefix of
+ generated attributes.
+ (Analyze_Attribute, case Result): If prefix of the attribute is
+ overloaded, it always resolves to the enclosing function.
+ (Analyze_Attribute, case Result): Properly deal with analysis when
+ Postconditions are not active.
+ (Resolve_Attribute, case Result): Properly deal with appearence during
+ preanalysis in spec.
+ Add processing for attribute Result
+
+ * sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Code cleanup
+ for operators.
+ (Analyze_Subprogram_Body): Install private_with_clauses when the body
+ acts as a spec.
+ (Check_Inline_Pragma): recognize an inline pragma that appears within
+ the subprogram body to which it applies.
+ (Analyze_Function_Return): Check that type of the expression of a return
+ statement in a function with a class-wide result is not declared at a
+ deeper level than the function.
+ (Process_PPCs): Deal with enabling/disabling, using PPC_Enabled flag
+ (Verify_Overriding_Indicator): Handle properly subprogram bodies for
+ user- defined operators.
+ (Install_Formals): Moved to spec to allow use from Sem_Prag for
+ analysis of precondition/postcondition pragmas.
+ (Analyze_Subprogram_Body.Last_Real_Spec_Entity): New name for
+ Last_Formal, along with lots of comments on what this is about
+ (Analyze_Subprogram_Body): Fix case where we move entities from the
+ spec to the body when there are no body entities (now possible with
+ precondition and postcondition pragmas).
+ (Process_PPCs): New procedure
+ (Analyze_Subprogram_Body): Add call to Process_PPCs
+
+ * sem_ch8.adb (Use_One_Type): refine warning on a redundant use_type
+ clause.
+ (Pop_Scope): Restore Check_Policy_List on scope exit
+ (Push_Scope): Save Check_Policy_List on scope entry
+ Change name In_Default_Expression => In_Spec_Expression
+ Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
+ Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve
+ (Analyze_Object_Renaming): Allow 'Reference as object
+ (Analyze_Pragma, case Restriction_Warnings): Call GNAT_Pragma
+ (Process_Restrictions_Or_Restriction_Warnings): Check for bad spelling
+ of restriction identifier.
+ Add Sure parameter to Note_Possible_Modication calls
+
+ * sem_prag.ads, sem_prag.adb (Analyze_Pragma, case Stream_Convert):
+ Don't check for primitive operations when calling Rep_Item_Too_Late.
+ (Process_Import_Or_Interface): Do not place flag on formal
+ subprograms.
+ (Analyze_Pragma, case Export): If the entity is a deferred constant,
+ propagate information to full view, which is the one elaborated by the
+ back-end.
+ (Make_Inline): the pragma is effective if it applies to an internally
+ generated subprogram declaration for a body that carries the pragma.
+ (Analyze_Pragma, case Optimize_Alignment): Set new flag
+ Optimize_Alignment_Local.
+ (Analyze_PPC_In_Decl_Part): New procedure
+ (Get_Pragma_Arg): Moved to outer level
+ (Check_Precondition_Postcondition): Change to allow new visibility
+ rules for package spec
+ (Analyze_Pragma, case Check_Policy): Change placement rules to be
+ same as pragma Suppress/Unsuppress.
+ Change name In_Default_Expression => In_Spec_Expression
+ Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
+ Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve
+ (Check_Precondition_Postcondition): Do proper visibility preanalysis
+ for the case of these pragmas appearing in the spec.
+ (Check_Enabled): New function
+ (Initialize): New procedure
+ (Tree_Read): New procedure
+ (Tree_Write): New procedure
+ (Check_Precondition_Postcondition): New procedure
+ Implement pragmas Check and Check_Policy
+ Merge Assert processing with Check
+
+ * sem_warn.adb (Warn_On_Known_Condition): Handle pragma Check
+ New warning flag -gnatw.e
+
+ * sinfo.ads, sinfo.adb (Has_Relative_Deadline_Pragma): New function
+ returning whether a task (or main procedure) has a pragma
+ Relative_Deadline.
+ (Set_Has_Relative_Deadline_Pragma): Procedure to indicate that a task
+ (or main procedure) has a pragma Relative_Deadline.
+ Add Next_Pragma field to N_Pragma node
+ (PPC_Enabled): New flag
+ (Next_Pragma): Now used for Pre/Postcondition processing
+
+ * snames.h, snames.ads, snames.adb: New standard name
+ Inherit_Source_Path
+ Add entry for 'Invalid_Value attribute
+ Add entry for new attribute Has_Tagged_Values
+ Add entry for Enum_Val attribute
+ Add new standard names Aggregate, Configuration and Library.
+ Add _Postconditions
+ Add _Result
+ Add Pragma_Precondition
+ Add Pragma_Postcondition
+ Add Attribute_Result
+ New standard name Archive_Builder_Append_Option
+ (Preset_Names): Add _relative_deadline and relative_deadline definitions
+ There was also a missing non_preemptive_within_priorities.
+ (Get_Pragma_Id, Is_Pragma_Name): Add support for pragma
+ Relative_Deadline.
+ Add support for pragmas Check and Check_Policy
+
+ * tree_gen.adb: Call Sem_Aux.Tree_Write
+
+ * tree_in.adb: Call Sem_Aux.Tree_Read
+
+ * exp_ch11.adb (Expand_N_Raise_Statement): New Build_Location calling
+ sequence
+
+ * exp_intr.adb (Expand_Source_Info): New Build_Location calling
+ sequence
+
+ * exp_prag.adb (Expand_Pragma_Relative_Deadline): New procedure.
+ (Expand_N_Pragma): Call the appropriate procedure for expanding pragma
+ Relative_Deadline.
+ (Expand_Pragma_Check): New procedure
+
+ * sinput.ads, sinput.adb (Build_Location_String): Now appends to name
+ buffer.
+
+ * sinfo.adb (PPC_Enabled): New flag
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * fe.h: Remove global Optimize_Alignment flag, no longer used
+
+ * layout.adb: Test Optimize_Alignment flags rather than global switch
+
+ * lib.ads, lib.adb: New OA_Setting field in library record
+
+ * lib-load.adb: New OA_Setting field in library record
+
+ * lib-writ.ads, lib-writ.adb (Collect_Withs, Write_With_Lines): Place
+ units mentioned in limited_with_ clauses in the ali file, with an
+ 'Y' marker.
+ New Ox fields in U line
+
+ * opt.adb: New flag Optimize_Alignment_Local
+ (Check_Policy_List[_Config]): New flags
+
+ * opt.ads (Invalid_Value_Used): New flag
+ New switch Optimize_Alignment_Local
+ (Warn_On_Parameter_Order): New flag
+ (Check_Policy_List[_Config]): New flags
+
+ * ali.ads, ali.adb: Add indicator 'Y' to mark mark the presence of
+ limited_with clauses.
+ New data structures for Optimize_Alignment
+
+ * bcheck.adb (Check_Consistent_Restriction_No_Default_Initialization):
+ New procedure
+ (Check_Consistent_Optimize_Alignment): Rework for new structure
+ (Check_Consistent_Restrictions): Fix incorrect error message
+
+ sem_ch10.adb (Decorate_Tagged_Type): Set the Parent field of a newly
+ created class-wide type (to the Parent field of the specific type).
+ (Install_Siblings): Handle properly private_with_clauses on subprogram
+ bodies and on generic units.
+ (Analyze_With_Clause, Install_Limited_Withed_Unit): Guard against an
+ illegal limited_with_clause that names a non-existent package.
+ (Check_Body_Required): Determine whether a unit named a limited_with
+ clause needs a body.
+ (Analyze_Context): A limited_with_clause is illegal on a unit_renaming.
+ Capture Optimize_Alignment settings to set new OA_Setting field in
+ library record.
+ (Build_Limited_Views): Include task and protected type declarations.
+
+ * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Handle the
+ case of a possible constant redeclaration where the current object is
+ an entry index constant.
+ (Analyze_Object_Declaration): Generate an error in case of CPP
+ class-wide object initialization.
+ (Analyze_Object_Declaration): Add extra information on warnings for
+ declaration of unconstrained objects.
+ (Access_Type_Declaration): Set Associated_Final_Chain to Empty, to avoid
+ conflicts with the setting of Stored_Constraint in the case where the
+ access type entity has already been created as an E_Incomplete_Type due
+ to a limited with clause.
+ Use new Is_Standard_Character_Type predicate
+ (Analyze_Object_Declaration): Apply access_constant check only after
+ expression has been resolved, given that it may be overloaded with
+ several access types.
+ (Constant_Redeclaration): Additional legality checks for deferred
+ constant declarations tha involve anonymous access types and/or null
+ exclusion indicators.
+ (Analyze_Type_Declaration): Set Optimize_Alignment flags
+ (Analyze_Subtype_Declaration): Ditto
+ (Analyze_Object_Declaration): Ditto
+ (Analyze_Object_Declaration): Don't count tasks in generics
+ Change name In_Default_Expression => In_Spec_Expression
+ Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
+ Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve
+ (Process_Discriminants): Additional check for illegal use of default
+ expressions in access discriminant specifications in a type that is not
+ explicitly limited.
+ (Check_Abstract_Overriding): If an inherited function dispaches on an
+ access result, it must be overridden, even if the type is a null
+ extension.
+ (Derive_Subprogram): The formals of the derived subprogram have the
+ names and defaults of the parent subprogram, even if the type is
+ obtained from the actual subprogram.
+ (Derive_Subprogram): In the presence of interfaces, a formal of an
+ inherited operation has the derived type not only if it descends from
+ the type of the formal of the parent operation, but also if it
+ implements it. This is relevant for the renamings created for the
+ primitive operations of the actual for a formal derived type.
+ (Is_Progenitor): New predicate, to determine whether the type of a
+ formal in the parent operation must be replaced by the derived type.
+
+ * sem_util.ads, sem_util.adb (Has_Overriding_Initialize): Make
+ predicate recursive to handle components that have a user-defined
+ Initialize procedure. Handle controlled derived types whose ancestor
+ has a user-defined Initialize procedured.
+ (Note_Possible_Modification): Add Sure parameter, generate warning if
+ sure modification of constant
+ Use new Is_Standard_Character_Type predicate
+ (Find_Parameter_Type): when determining whether a protected operation
+ implements an interface operation, retrieve the type of the formal from
+ the entity when the formal is an access parameter or an
+ anonymous-access-to-subprogram.
+ Move Copy_Parameter_List to sem_util, for use when building stubbed
+ subprogram bodies.
+ (Has_Access_Values): Tagged types now return False
+ (Within_HSS_Or_If): New procedure
+ (Set_Optimize_Alignment_Flags): New procedure
+ Change name In_Default_Expression => In_Spec_Expression
+ Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
+ Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve
+
+2008-04-08 Tristan Gingold <gingold@adacore.com>
+
+ * s-fileio.adb: Name_Error shouldn't be raised for a tempory file.
+
+2008-04-08 Tristan Gingold <gingold@adacore.com>
+
+PR ada/10768
+
+ * cuintp.c: Fix 16 bits issue for AVR.
+ On AVR, integer is 16 bits, so it can't be used to do math with
+ Base (=32768).
+ So use long_integer instead.
+
+2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calend-vms.ads, a-calend-vms.adb: Add with and use clause for
+ System.OS_Primitives.
+ Change type of various constants, parameters and local variables from
+ Time to representation type OS_Time.
+ (To_Ada_Time, To_Unix_Time): Correct sign of origin shift.
+ Remove the declaration of constant Mili_F from several routines. New
+ body for internal package Conversions_Operations.
+ (Time_Of): Add default parameters for several formals.
+
+ * a-caldel.adb: Minor reformatting
+
+ * a-calend.ads, a-calend.adb: New body for internal package
+ Conversions_Operations.
+ (Time_Of): Add default parameters for several formals.
+
+ * Makefile.rtl: Add a-ststop
+ Add Ada.Calendar.Conversions to the list of runtime files.
+ Add g-timsta
+
+ * a-calcon.adb, a-calcon.ads: New files.
+
+2008-04-08 Jose Ruiz <ruiz@adacore.com>
+ Tristan Gingold <gingold@adacore.com>
+
+ * s-interr-dummy.adb, s-interr-vms.adb, s-interr-sigaction.adb
+ (Install_Restricted_Handlers): New procedure
+ which is a simplified version of Install_Handlers that does not store
+ previously installed.
+
+ * s-interr-vxworks.adb: Fix ACATS cxc3001
+ On VxWorks interrupts can't be detached.
+ (Install_Restricted_Handlers): New procedure.
+
+ * s-interr.ads, s-interr.adb (Install_Restricted_Handlers): New
+ procedure.
+
+2008-04-08 Olivier Hainque <hainque@adacore.com>
+
+ * s-intman-vxworks.ads, s-intman-vxworks.adb
+ (Map_And_Raise_Exception): Remove. Was an import of only part of the
+ required services already implemented elsewhere.
+ (Notify_Exception): Delete body, import __gnat_error_handler instead.
+ (Initialize): Add SA_SIGINFO to the sa_flags, to get the sigcontext
+ argument passed to the handler, which we need for ZCX propagation
+ purposes.
+
+2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * adaint.h, adaint.c (__gnat_current_time_string): New routine.
+
+ * g-timsta.adb, g-timsta.ads: New files.
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * a-except-2005.ads, a-except-2005.adb, a-except.ads, a-except.adb
+ (Raise_Exception): In accordance with AI-446, raise CE for Null_Id
+ (Raise_Exception_Always): Fix documentation accordingly
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * a-strbou.ads, a-strbou.adb (From_String): New procedure (for use by
+ Stream_Convert)
+
+ * sem_ch13.ads (Rep_Item_Too_Late): Document that Stream_Convert sets
+ FOnly
+
+2008-04-08 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * a-tags.adb (Register_Interface_Offset): New subprogram.
+ (Set_Dynamic_Offset_To_Top): New subprogram (see previous comment).
+ (To_Predef_Prims_Table_Ptr): Removed.
+ (Acc_Size): Removed.
+ (To_Acc_Size): Removed.
+ (Parent_Size): Modified to the call the subprogram returning the size of
+ the parent by means of the new TSD component Size_Func.
+
+ * a-tags.ads (Offset_To_Top_Ptr): New access type declaration.
+ (DT_Offset_To_Top_Offset): New constant value that is used to generate
+ code referencing the Offset_To_Top component of the dispatch table's
+ prologue.
+ (Prim_Ptr): New declaration of access to procedure. Used to avoid the
+ use of 'address to initialize dispatch table slots.
+ (Size_Func): New component of the TSD. Used by the run-time to call the
+ size primitive of the tagged type.
+
+ * checks.adb (Apply_Access_Check): Avoid check when accessing the
+ Offset_To_Top component of a dispatch table.
+ (Null_Exclusion_Static_Checks): If the non-null access type appears in a
+ deferred constant declaration. do not add a null expression, to prevent
+ spurious errors when full declaration is analyzed.
+ (Apply_Discriminant_Check): If both discriminant constraints share a
+ node which is not static but has no side effects, do not generate a
+ check for that discriminant.
+ (Generate_Index_Checks): Set Name_Req to true in call to duplicate
+ subexpr, since the prefix of an attribute is a name.
+
+ * checks.ads: Fix nit in comment.
+
+ * exp_ch3.ads, exp_ch3.adb (Freeze_Record_Type): Do not add the spec
+ and body of predefined primitives in case of CPP tagged type
+ derivations.
+ (Freeze_Type): Deal properly with no storage pool case
+ (Make_Predefined_Primitive_Specs): Generate specification of abstract
+ primitive Deep_Adjust if a nonlimited interface is derived from a
+ limited interface.
+ (Build_Dcheck_Functions): Create discriminant-checking functions only
+ for variants that have some component(s).
+ (Build_Slice_Assignment): In expanded code for slice assignment, handle
+ properly the case where the slice bounds extend to the last value of the
+ underlying representation.
+ (Get_Simple_Init_Val): New calling sequence, accomodate Invalid_Value
+ (Is_Variable_Size_Record): An array component has a static size if
+ index bounds are enumeration literals.
+
+ * exp_disp.adb (Make_DT): Use the first subtype to determine whether
+ an external tag has been specified for the type.
+ (Building_Static_DT): Add missing support for private types.
+ (Make_DT): Add declaration of Parent_Typ to ensure consistent access
+ to the entity associated with the parent of Typ. This is done to
+ avoid wrong access when the parent is a private type.
+ (Expand_Interface_Conversion): Improve error message when the
+ configurable runtime has no support for dynamic interface conversion.
+ (Expand_Interface_Thunk): Add missing support to interface types in
+ configurable runtime.
+ (Expand_Dispatching_Call): remove obsolete code.
+ (Make_DT): Replace occurrences of RE_Address by RE_Prim_Ptr, and
+ ensure that all subtypes and aggregates associated with dispatch
+ tables have the attribute Is_Dispatch_Table_Entity set to true.
+ (Register_Primitive): Rename one variable to improve code reading.
+ Replace occurrences of RE_Addres by RE_Prim_Ptr. Register copy o
+ of the pointer to the 'size primitive in the TSD.
+
+ * rtsfind.ads (RE_DT_Offset_To_Top_Offset): New entity.
+ (RE_Offset_To_Top_Ptr): New entity.
+ (RE_Register_Interface_Offset): New entity.
+ (RE_Set_Dynamic_Offset_To_Top): New entity.
+ (RE_Set_Offset_To_Top): Removed entity.
+ (RE_Prim_Ptr): New entity
+ (RE_Size_Func): New entity
+ (RE_Size_Ptr): New entity
+ (RTU_Id): Add Ada_Dispatching and Ada_Dispatching_EDF.
+ (Ada_Dispatching_Child): Define this new subrange.
+ (RE_Id): Add new required run-time calls (RE_Set_Deadline, RE_Clock,
+ RE_Time_Span, and RE_Time_Span_Zero).
+ (RE_Unit_Table): Add new required run-time calls
+
+ * rtsfind.adb (Get_Unit_Name): Add processing for Ada.Dispatching
+ children.
+
+ * exp_atag.ads, exp_atag.adb (Build_Offset_To_Top): New subprogram.
+ (Build_Set_Static_Offset_To_Top): New subprogram. Generates code that
+ initializes the Offset_To_Top component of a dispatch table.
+ (Build_Predef_Prims): Removed.
+ (Build_Get_Predefined_Prim_Op_Address): Replace call to Predef_Prims by
+ its actual code.
+ (Build_Set_Size_Function): New subprogram.
+
+ * exp_ch13.adb: Do not generate storage variable for storage_size zero
+ (Expand): Handle setting/restoring flag Inside_Freezing_Actions
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * a-ztdeau.adb, a-tideau.adb, a-wtdeau.adb (Puts_Dec): Fix error in
+ computing Fore when Exp > 0
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * back_end.adb: Remove Big_String_Ptr declarations (now in Types)
+
+ * errout.adb: Remove Big_String_Ptr declarations (now in Types)
+ Change name Is_Style_Msg to Is_Style_Or_Info_Msg
+
+ * fmap.adb: Remove Big_String declarations (now in Types)
+ (No_Mapping_File): New Boolean global variable
+ (Initialize): When mapping file cannot be read, set No_Mapping_File to
+ False.
+ (Update_Mapping_File): Do nothing if No_Mapping_File is True. If the
+ tables were empty before adding entries, open the mapping file
+ with Truncate = True, instead of delete/re-create.
+
+ * fname-sf.adb: Remove Big_String declarations (now in Types)
+
+ * s-strcom.adb, g-dyntab.ads, g-table.ads, s-carsi8.adb,
+ s-stalib.ads, s-carun8.adb: Add zero size Storage_Size clauses for
+ big pointer types
+
+ * table.ads: Add for Table_Ptr'Storage_Size use 0
+
+ * types.ads: Add Big_String declarations
+ Add Size_Clause of zero for big pointer types
+
+2008-04-08 Vincent Celier <celier@adacore.com>
+
+ * clean.adb (Parse_Cmd_Line): Recognize switch --subdirs=
+ (Usage): Add line for switch --subdirs=
+ Add new switch -eL, to follow symbolic links when processing project
+ files.
+
+ * gnatcmd.adb: Process switches -eL and --subdirs=
+ (Non_VMS_Usage): Output "gnaampcmd" instead of "gnat", and call
+ Program_Name to get proper tool names when AAMP_On_Target is set.
+ (Gnatcmd): Call Add_Default_Search_Dirs and Get_Target_Parameters to get
+ AAMP_On_Target set properly for use of GNAAMP tools (this is needed by
+ Osint.Program_Name).
+
+ * gnatname.adb: (Scan_Args): Recognize switches -eL and --subdirs=
+ (Usage): Add lines for switches -eL and --subdirs=
+
+ * makeusg.adb: Add line for switch --subdirs=
+
+ * prj.ads:
+ (Source_Data): New Boolean component Compiled, defaulted to True
+ (Empty_File_Name: New global variable in private part, initialized in
+ procedure Initialize.
+ (Subdirs_Option): New constant string
+ (Subdirs): New String_Ptr global variable
+ (Language_Config): New component Include_Compatible_Languages
+ (Project_Qualifier): New type for project qualifiers
+ (Project_Data): New component Qualifier
+ (Project_Configuration): New component Archive_Builder_Append_Option
+
+ * prj-nmsc.adb (Get_Unit_Exceptions): When a unit is already in
+ another imported project indicate the name of this imported project.
+ (Check_File): When a unit is in two project files, indicate the project
+ names and the paths of the source files for each project.
+ (Add_Source): Set Compiled to False if compiler driver is empty. Only
+ set object, dependency and switches file names if Compiled is True.
+ (Process_Compiler): Allow the empty string for value of attribute Driver
+ (Get_Directories): When Subdirs is not null and Object_Dir is not
+ specified, locate and create if necessary the actual object dir.
+ (Locate_Directory): When Subdirs is not empty and Create is not the
+ empty string, locate and create if necessary the actual directory
+ as a subdirectory of directory Name.
+ (Check_Library_Attributes.Check_Library): Allow a project where the only
+ "sources" are header files of file based languages to be imported by
+ library projects, in multi-language mode (gprbuild).
+ (Check_Library_Attributes.Check_Library): In multi-language mode
+ (gprbuild), allow a library project to import a project with no
+ sources, even when this is not declared explicitly.
+ (Check_If_Externally_Built): A virtual project extending an externally
+ built project is also externally built.
+ (Check_Library_Attributes): For a virtual project extending a library
+ project, inherit the library directory.
+ (Process_Project_Level_Array_Attributes): Process new attribute
+ Inherit_Source_Path.
+ For projects with specified qualifiers "standard", "library" or
+ "abstract", check that the project conforms to the qualifier.
+ (Process_Project_Level_Simple_Attributes): Process new attribute
+ Archive_Builder_Append_Option.
+
+ * switch-m.adb: (Scan_Make_Switches): Process switch --subdirs=
+ (Normalize_Compiler_Switches): Only keep compiler switches that are
+ passed to gnat1 by the gcc driver and that are stored in the ALI file
+ by gnat1.
+ Do not take into account switc -save-temps
+
+ * makegpr.adb (Compile_Link_With_Gnatmake): Transmit switch -eL if
+ gprmake is called with -eL.
+ (Scan_Arg): Recognize switch -eL
+ (Usage): Add line for switch -eL
+
+ * prj.adb (Initialize): Initialize Empty_File_Name
+ (Project_Empty): New component Qualifier
+
+ * prj-attr.ads, prj-attr.adb: New project level attribute
+ Inherit_Source_Path.
+ New project level attribute Archive_Builder_Append_Option
+
+ * prj-dect.adb: Replace System.Strings by GNAT.Strings.
+
+ * prj-ext.adb (Initialize_Project_Path): In Multi_Language mode, add
+ <prefix>/lib/gnat in the project path, after <prefix>/share/gpr, for
+ upward compatibility.
+
+ * prj-part.adb (Project_Path_Name_Of.Try_Path): In high verbosity, put
+ each Trying ..." on different lines.
+ (Parse_Single_Project): Recognize project qualifiers. Fail in qualifier
+ is "configuration" when not in configuration. Fail when in configuration
+ when a specified qualifier is other than "configuration".
+
+ * prj-proc.adb (Process_Declarative_Items): Link new elements of copied
+ full associative array together.
+ (Recursive_Process): Put the project qualifier in the project data
+
+ * prj-tree.ads, prj-tree.adb: (Project_Qualifier_Of): New function
+ (Set_Project_Qualifier_Of): New procedure
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads: Update comments for new handling of info: messages
+
+ * erroutc.adb (Matches): New procedure
+ (Warning_Specifically_Suppressed): Modified to handle multiple * chars
+ (Is_Style_Or_Info_Msg): New name for Is_Style_Msg, now set for
+ info messages as well as style messages.
+
+ * erroutc.ads: Remove unneeded fields from Specific_Warning_Entry
+
+ * sem_elab.adb (Supply_Bodies): Create actual bodies for stubbed
+ subprograms.
+ (Check_A_Call): Special "info: " warnings now have ? in the text
+ (Elab_Warning): Use info message in static case
+
+2008-04-08 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determine
+ whether an array aggregate with static bounds and scalar components
+ should be expanded into a static constant.
+
+2008-04-08 Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Add tests of
+ Has_Stream_Attribute_ Definition when checking for available stream
+ attributes on parameters of a limited type in Ada 2005. Necessary for
+ proper recognition of visible stream attribute clauses.
+ (Has_Stream_Attribute_Definition): If the type is derived from a
+ private type, then use the derived type's underlying type for checking
+ whether it has stream attributes.
+ (Validate_Object_Declaration): The check for a user-defined Initialize
+ procedure applies also to types with controlled components or a
+ controlled ancestor.
+ Reject an object declaration in a preelaborated unit if the type is a
+ controlled type with an overriding Initialize procedure.
+ (Validate_Remote_Access_To_Class_Wide_Type): Return without further
+ checking when the parent of a dereference is a selected component and
+ the name has not been analyzed.
+
+ * sem_ch4.adb (Analyze_Selected_Component): Add checking for selected
+ prefixes that are invalid explicit dereferences of remote
+ access-to-class-wide values, first checking whether the selected
+ component is a prefixed form of call to a tagged operation.
+ (Analyze_Call): Remove code that issues an error for limited function
+ calls in illegal contexts, as we now support all of the contexts that
+ were forbidden here.
+ Allow a function call that returns a task.and appears as the
+ prefix of a selected component.
+ (Analyze_Reference): Give error message if we try to make a 'Reference
+ for an object that is atomic/aliased without its type having the
+ corresponding attribute.
+ (Analyze_Call): Remove condition checking for attributes to allow
+ calls to functions with inherently limited results as prefixes of
+ attributes. Remove related comment about Class attributes.
+ (Analyze_Selected_Component): If the prefix is a remote type, check
+ whether this is a prefixed call before reporting an error.
+ (Complete_Object_Operation): If the controlling formal is an access to
+ variable reject an actual that is a constant or an access to one.
+ (Try_Object_Operation): If prefix is a tagged protected object,retrieve
+ primitive operations from base type.
+
+ * exp_ch4.adb (Expand_N_Indexed_Component): Test for prefix that is a
+ build-in-place
+ function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
+ (Expand_N_Selected_Component): Test for prefix that is a build-in-place
+ function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
+ (Expand_N_Slice): Test for prefix that is a build-in-place function call
+ and call Make_Build_In_Place_Call_In_Anonymous_Context.
+ (Analyze_Call): Remove code that issues an error for limited function
+ calls in illegal contexts, as we now support all of the contexts that
+ were forbidden here.
+ New calling sequence for Get_Simple_Init_Val
+ (Expand_Boolean_Operator): Add call to Silly_Boolean_Array_Xor_Test
+ (Expand_N_Op_Not): Add call to Silly_Boolan_Array_Not_Test
+
+2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_ch2.adb: Minor reformatting.
+ (Expand_Entry_Index_Parameter): Set the type of the identifier.
+ (Expand_Entry_Reference): Add call to Expand_Protected_Component.
+ (Expand_Protected_Component): New routine.
+ (Expand_Protected_Private): Removed.
+ Add Sure parameter to Note_Possible_Modification calls
+
+ * sem_ch12.ads, sem_ch12.adb (Analyze_Subprogram_Instantiation): The
+ generated subprogram declaration must inherit the overriding indicator
+ from the instantiation node.
+ (Validate_Access_Type_Instance): If the designated type of the actual is
+ a limited view, use the available view in all cases, not only if the
+ type is an incomplete type.
+ (Instantiate_Object): Actual is illegal if the formal is null-excluding
+ and the actual subtype does not exclude null.
+ (Process_Default): Handle properly abstract formal subprograms.
+ (Check_Formal_Package_Instance): Handle properly defaulted formal
+ subprograms in a partially parameterized formal package.
+ Add Sure parameter to Note_Possible_Modification calls
+ (Validate_Derived_Type_Instance): if the formal is non-limited, the
+ actual cannot be limited.
+ (Collect_Previous_Instances): Generate instance bodies for subprograms
+ as well.
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Small): Don't
+ try to set RM_Size.
+ Add Sure parameter to Note_Possible_Modification calls
+ (Analyze_At_Clause): Preserve Comes_From_Source on Rewrite call
+ (Analyze_Attribute_Definition_Clause, case Attribute_Address): Check for
+ constant overlaid by variable and issue warning.
+ Use new Is_Standard_Character_Type predicate
+ (Analyze_Record_Representation_Clause): Check that the specified
+ Last_Bit is not less than First_Bit - 1.
+ (Analyze_Attribute_Definition_Clause, case Address): Check for
+ self-referential address clause
+
+ * sem_ch5.ads, sem_ch5.adb (Diagnose_Non_Variable_Lhs): Rewrite the
+ detection mechanism when the lhs is a prival.
+ (Analyze_Assignment): Call Check_Unprotected_Access to detect
+ assignment of a pointer to protected data, to an object declared
+ outside of the protected object.
+ (Analyze_Loop_Statement): Check for unreachable code after loop
+ Add Sure parameter to Note_Possible_Modication calls
+ Protect analysis from previous syntax error such as a scope mismatch
+ or a missing begin.
+ (Analyze_Assignment_Statement): The assignment is illegal if the
+ left-hand is an interface.
+
+ * sem_res.ads, sem_res.adb (Resolve_Arithmetic_Op): For mod/rem check
+ violation of restriction No_Implicit_Conditionals
+ Add Sure parameter to Note_Possible_Modication calls
+ Use new Is_Standard_Character_Type predicate
+ (Make_Call_Into_Operator): Preserve Comes_From_Source when rewriting
+ call as operator. Fixes problems (e.g. validity checking) which
+ come from the result looking as though it does not come from source).
+ (Resolve_Call): Check case of name in named parameter if style checks
+ are enabled.
+ (Resolve_Call): Exclude calls to Current_Task as entry formal defaults
+ from the checking that such calls should not occur from an entry body.
+ (Resolve_Call): If the return type of an Inline_Always function
+ requires the secondary stack, create a transient scope for the call
+ if the body of the function is not available for inlining.
+ (Resolve_Actuals): Apply Ada2005 checks to view conversions of arrays
+ that are actuals for in-out formals.
+ (Try_Object_Operation): If prefix is a tagged protected object,retrieve
+ primitive operations from base type.
+ (Analyze_Selected_Component): If the context is a call to a protected
+ operation the parent may be an indexed component prior to expansion.
+ (Resolve_Actuals): If an actual is of a protected subtype, use its
+ base type to determine whether a conversion to the corresponding record
+ is needed.
+ (Resolve_Short_Circuit): Handle pragma Check
+
+ * sem_eval.adb: Minor code reorganization (usea Is_Constant_Object)
+ Use new Is_Standard_Character_Type predicate
+ (Eval_Relational_Op): Catch more cases of string comparison
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * s-rident.ads: Add No_Default_Initialization restriction
+
+ * exp_tss.adb:
+ (Has_Non_Null_Base_Init_Proc): Handle No_Default_Initialization case
+ (Set_TSS): Handle No_Default_Initialization case
+
+ * exp_ch6.adb (Expand_N_Subprogram_Body): Handle restriction
+ No_Default_Initialization
+ (Expand_N_Subprogram_Body): Remove redundant initialization of out
+ parameters when Normalize_Scalars is active.
+ (Add_Final_List_Actual_To_Build_In_Place_Call): Add formal Sel_Comp
+ Fix casing error in formal parameter name in call
+ (Register_Predefined_DT_Entry): Replace occurrences of RE_Address by
+ (Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
+ dispatching call on VM targets.
+
+2008-04-08 Gary Dismukes <dismukes@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.adb (Find_Final_List): Change the test for generating a
+ selected component from an access type's Associated_Final_Chain to
+ check for the presence of that field, rather than assuming it exists
+ for all named access types.
+ (Make_Clean): New formal Chained_Cleanup_Action allowing to specify a
+ procedure to call at the end of the generated cleanup procedure.
+ (Expand_Cleanup_Actions): When a new cleanup procedure is generated, and
+ and an At_End_Proc already exists in the handled sequence of statements
+ for which cleanup actions are being expanded, the original cleanup
+ action must be preserved.
+
+2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry,
+ Build_Unprotected_Subprogram_Body): Generate debug info for
+ declarations related to the handling of private data in task and
+ protected types.
+ (Debug_Private_Data_Declarations): New subprogram.
+ (Install_Private_Data_Declarations): Remove all debug info flagging.
+ This is now done by Debug_Private_Data_Declarations at the correct
+ stage of expansion.
+ (Build_Simple_Entry_Call): If the task name is a function call, expand
+ the prefix into an object declaration, and make the surrounding block a
+ task master.
+ (Build_Master_Entity): An internal block is a master if it wraps a call.
+ Code reformatting, update comments. Code clean up.
+ (Make_Task_Create_Call): Use 'Unrestricted_Access instead of 'Address.
+ (Replicate_Entry_Formals): If the formal is an access parameter or
+ anonymous access to subprogram, copy the original tree to create new
+ entities for the formals of the subprogram.
+ (Expand_N_Task_Type_Declaration): Create a Relative_Deadline variable
+ for tasks to store the value passed using pragma Relative_Deadline.
+ (Make_Task_Create_Call): Add the Relative_Deadline argument to the
+ run-time call to create a task.
+ (Build_Wrapper_Spec): If the controlling argument of the interface
+ operation is an access parameter with a non-null indicator, use the
+ non-null indicator on the wrapper.
+
+ * sem_ch9.adb (Analyze_Protected_Type): Only retrieve the full view when
+ present, which it may not be in the case where the type entity is an
+ incomplete view brought in by a limited with.
+ (Analyze_Task_Type): Only retrieve the full view when present, which it
+ may not be in the case where the type entity is an incomplete view brought
+ in by a limited with.
+ (Analyze_Protected_Definition): Set Is_Frozen on all itypes generated for
+ private components of a protected type, to prevent the generation of freeze
+ nodes for which there is no proper scope of elaboration.
+
+ * exp_util.ads, exp_util.adb
+ (Remove_Side_Effects): If the expression is a function call that returns a
+ task, expand into a declaration to invoke the build_in_place machinery.
+ (Find_Protection_Object): New routine.
+ (Remove_Side_Effects): Also make a copy of the value
+ for attributes whose result is of an elementary type.
+ (Silly_Boolean_Array_Not_Test): New procedure
+ (Silly_Boolean_Array_Xor_Test): New procedure
+ (Is_Volatile_Reference): New function
+ (Remove_Side_Effects): Use Is_Volatile_Reference
+ (Possible_Bit_Aligned_Component): Handle slice case properly
+
+ * exp_pakd.adb (Expand_Packed_Not): Move silly true/true or false/false
+ case test to Exp_Util
+ (Expand_Packed_Xor): Move silly true/true case test to Exp_Util
+
+2008-04-08 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.ads, exp_dist.adb: Fix casing error in formal parameter name
+ in call
+ (Add_RACW_Features): When processing an RACW in another unit than the
+ main unit, set Body_Decls to No_List to indicate that the bodies of
+ the type's TSS must not be generated.
+ (GARLIC_Support.Add_RACW_Read_Attribute,
+ GARLIC_Support.Add_RACW_Write_Attribute): Do not generate bodies if
+ Body_Decls is No_List.
+ (PolyORB_Support.Add_RACW_Read_Attribute,
+ PolyORB_Support.Add_RACW_Write_Attribute,
+ PolyORB_Support.Add_RACW_From_Any,
+ PolyORB_Support.Add_RACW_To_Any,
+ PolyORB_Support.Add_RACW_TypeCode): Same.
+ (Transmit_As_Unconstrained): New function.
+ (Build_Ordered_Parameters_List): Use the above to order parameters.
+ (GARLIC_Support.Build_General_Calling_Stubs):
+ Use the above to determine which parameters to unmarshall using 'Input
+ at the point where their temporary is declared (as opposed to later on
+ with a 'Read call).
+ (PolyORB_Support.Build_General_Calling_Stubs):
+ Use the above to determine which parameters to unmarshall using From_Any
+ at the point where their temporary is declared (as opposed to later on
+ with an assignment).
+
+2008-04-08 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this is
+ an Input function for an access type, do not perform default
+ initialization on the local variable that receives the value, to
+ prevent spurious warnings when the type is null-excluding.
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Improve warnings on access types in pure
+ units.
+ (Size_Known): Generic formal scalar types have known at compile
+ time size, so remove check.
+ Fix casing error in formal parameter name in call
+ (Freeze_Subprogram): If the subprogram is a user-defined operator,
+ recheck its overriding indication.
+
+2008-04-08 Vincent Celier <celier@adacore.com>
+
+ * gnat1drv.adb: Send all messages indicating an error to standard error
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * gnatbind.adb (Restriction_Could_Be_Set): New procedure
+ (List_Applicable_Restrictions): Do not list existing restrictions
+
+2008-04-08 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.ads, g-socket.adb: Improve documentation of GNAT.Sockets:
+ add a pointer to generic sockets literature
+ do not mention that the given example is "typical" usage.
+ Remove obsolete comment about multicast not being supported on Windows.
+ (Connect_Socket): Make Server mode IN rather than IN OUT
+ since this formal is never modified.
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * sprint.adb (Write_Itype): Handle Itypes whose Parent field points to
+ the declaration for some different entity.
+ (Sprint_Node_Actual, case N_Derived_Type_Definition): When an interface
+ list is precent (following the parent subtype indication), display
+ appropriate "and" keyword.
+
+ * itypes.adb: Remove unnecessary calls to Init_Size_Align and Init_Esize
+ Remove unnecessary calls to Init_Size_Align and Init_Esize.
+ Add notes on use of Parent field of an Itype
+
+2008-04-08 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * lib-xref.adb (Is_On_LHS): Remove dead code
+ (Output_Overriden_Op): If the overridden operation is itself inherited,
+ list the ancestor operation, which is the one whose body or absstract
+ specification is actually being overridden. For source navigation
+ purposes.
+
+ * sem_ch7.adb (Is_Primitive_Of): use base type to determine whether
+ operation is primitive for the type.
+ (Declare_Inherited_Private_Subprograms): If the new operation overrides
+ an inherited private subprogram, set properly the Overridden_Operation
+ attribute, for better cross-reference information.
+ (Analyze_Package_Specification): Do late analysis of spec PPCs
+ (Install_Private_Declaration, Uninstall_Declarations): Save/restore
+ properly the full view and underlying full views of a private type in a
+ child unit, whose full view is derived from a private type in a parent
+ unit, and whose own full view becomes visible in the child body.
+
+ * sem_disp.adb (Check_Dispatching_Operation): When a body declares a
+ primitive operation after the type has been frozen, add an explicit
+ reference to the type and the operation, because other primitive
+ references have been emitted already.
+ (Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
+ dispatching call on VM targets.
+
+2008-04-08 Vincent Celier <celier@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * make.adb: (Gnatmake_Called): Remove, no longer necessary
+ (Compile_Surces): Call Delete_Temp_Config_Files only if Gnatmake_Called
+ is True and Debug_Flag_N is False. Debug_Flag_N means "keep temp files".
+ (Insert_Project_Sources): Take into account index in multi-unit source
+ files.
+ After building a library project, delete all temporary files.
+ (Initialize): Reset current output after parsing project file.
+ (Collect_Arguments_And_Compile): Never insert in the queue the sources
+ of library projects that are externally built.
+ Put file name in error and inform messages if -df is used
+ (Display): If invoked with -d7, do not display path names, but only
+ file names.
+
+ * makeutl.ads (Path_Or_File_Name): New function
+ (Path_Or_File_Name): New function
+
+2008-04-08 Arnaud Charlet <charlet@adacore.com>
+
+ * Make-lang.in: Disable warnings during first stage of bootstrap
+ Get rid of gnatbl.
+ Update dependencies.
+
+2008-04-08 Vincent Celier <celier@adacore.com>
+
+ * mlib-prj.adb (Build_Library): Compare with ALI file name in canonical
+ case to decide if ALI object file is included in library.
+ (Build_Library): Never attempt to build a library if the project is
+ externally built.
+
+2008-04-08 Thomas Quinot <quinot@adacore.com>
+
+ * nlists.adb (Is_Non_Empty_List): Remove redundant test. First
+ (No_List) is defined to return Empty.
+
+2008-04-08 Jose Ruiz <ruiz@adacore.com>
+
+ * osint.ads, osint.adb (Get_Libraries_From_Registry): Improve
+ documentation.
+ Update comments.
+ (Read_Default_Search_Dirs): Do not consider spaces as path separators
+ because spaces may be part of legal paths.
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * par-ch11.adb (P_Exception_Handler): Check indentation level for
+ handler
+
+2008-04-08 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch3.adb (P_Type_Declaration) Reject the keyword "synchronized"
+ in a type declaration, if this is not an interface declaration or
+ private type extension.
+
+2008-04-08 Vincent Celier <celier@adacore.com>
+
+ * prj-util.adb (Executable_Of): New String parameter Language. When
+ Ada_Main is False and Language is not empty, attempt to remove the body
+ suffix or the spec suffix of the language to get the base of the
+ executable file name.
+ (Put): New Boolean parameter Lower_Case, defauilted to False. When
+ Lower_Case is True, put the value in lower case in the name list.
+ (Executable_Of): If there is no executable suffix in the configuration,
+ then do not modify Executable_Extension_On_Target.
+
+ * prj-util.ads (Executable_Of): New String parameter Language,
+ defaulted to the empty string.
+ (Put): New Boolean parameter Lower_Case, defauilted to False
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb (Scan_Identifier): Handle case of identifier starting with
+ wide character using UTF-8 encoding.
+
+2008-04-08 Javier Miranda <miranda@adacore.com>
+
+ * sem.adb (Analyze): Consider case in which we analyze an empty node
+ that was generated by a call to a runtime function that is not
+ available under the configurable runtime.
+
+ * sem.ads (Inside_Freezing_Actions): New flag.
+ (Save_Check_Policy_List): New field in scope stack entry
+
+2008-04-08 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for
+ the ancestor part of an extension aggregate for a limited type.
+ (Resolve_Array_Aggregate): Issue warning for sliding of aggregate with
+ enumeration index bounds.
+ (Resolve_Array_Aggregate): Add circuit for diagnosing missing choices
+ when array is too short.
+ (Check_Expr_OK_In_Limited_Aggregate): Move function
+ Check_Non_Limited_Type from Resolve_Record_Aggregate to top level (and
+ change name).
+ (Resolve_Array_Aggregate.Resolve_Aggr_Expr):
+ Check_Expr_OK_In_Limited_Aggregates called to check for illegal limited
+ component associations.
+ (Check_Non_Limited_Type): Moved to outer level and renamed.
+ (Resolve_Record_Aggregate): In an extension aggregate, an association
+ with a box initialization can only designate a component of the
+ extension, not a component inherited from the given ancestor
+
+ * sem_case.adb: Use new Is_Standard_Character_Type predicate
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * s-imgdec.adb (Set_Decimal_Digits): Fix error when input is zero with
+ negative scale
+ (Set_Decimal_Digits): Properly handle Aft=0 (equivalent to Aft=1)
+ Properly handle case where Aft > Scale and input number is less than
+ one.
+
+2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * s-stoele.ads, s-soflin.ads: Move the location of
+ Dummy_Communication_Block from System.Storage_Elements to
+ System.Soft_Links.
+
+ * s-tpobop.ads: Add comment on usage of Dummy_Communication_Block to
+ emulate Communication_Block in certain scenarios.
+
+2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * s-strxdr.adb, s-stratt.ads, s-stratt.adb (Block_IO_OK): New
+ subprogram.
+ Add new subtype S_WWC, unchecked conversion routines From_WWC and
+ To_WWC.
+ (I_WWC, O_WWC): New routines for input and output of
+ Wide_Wide_Character.
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * stringt.adb (Write_String_Table_Entry): Handle wide characters
+ properly
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * styleg.adb (Check_Comment): Allow special char after -- in
+ non-end-of-line case
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+
+ * stylesw.adb: Implement -gnaty + - y options
+ (Set_GNAT_Style_Check_Options): Includ I in style check string
+
+ * stylesw.ads: Add comments for new style switch options
+
+2008-04-08 Sergey Rybin <rybin@adacore.com>
+
+ * tree_io.ads: Increase ASIS_Version_Number because of adding Sem_Aux
+ to the set of the GNAT components needed by ASIS.
+
+2008-04-08 Bob Duff <duff@adacore.com>
+
+ * types.h: Change CE_Null_Exception_Id to the correct value (8, was 9).
+
+2008-04-08 Tristan Gingold <gingold@adacore.com>
+
+ * vxaddr2line.adb: Use Unsigned_32 instead of Integer for address type.
+ Improve error message generation.
+
+2008-04-08 Vincent Celier <celier@adacore.com>
+
+ * a-direct.adb (Start_Search): Check for Name_Error before checking for
+ Use_Error, as specified in the RM. Check if directory is open and raise
+ Use_Error if it is not.
+
+2008-04-08 Vincent Celier <celier@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * vms_conv.adb (Output_Version): Print "GNAAMP" instead of "GNAT when
+ AAMP_On_Target is set.
+
+ * vms_data.ads: Add NOxxx to style check switch list
+ Add entry COMPONENTS for -gnatVe
+ Add VMS qualifiers for -eL (/FOLLOW_LINKS_FOR_FILES) and --subdirs=
+ (/SUBDIRS=).
+ (GCC_Switches): Add /ALL_BACK_END_WARNINGS.
+ Add qualifiers for gnatmetric coupling options
+ Add note that -gnata enables all checks
+ Add entries [NO]PARAMETER_ORDER for -gnatw.p[P]
+ Fix inconsistency for VMS qualifier for the gnatpp '-rnb' option
+ New warning flag -gnatw.e
+
+ * usage.adb: Add entries for -gnaty+ -gnaty- -gnatyy
+ Add entry for -gnatyN (forgotten before)
+ Line for new warning switch -gnatw.p
+ New warning flag -gnatw.e
+
+ * gnat_ugn.texi: Add documentation fpr project file switch -aP
+ Document -gnaty - + y
+ Replace occurences of "package specification" with "package spec"
+ Define preprocessing symbols in documentation of gnatprep
+ Clarify reason for distinguishing overflow checking
+ Add documentation for project-aware tool switches -eL and --subdirs=
+ Complete list of configuration pragmas
+ Specify that, even when gnatmake switch -x is used, mains on the command
+ line need to be sources of project files.
+ Editing of gnatcheck/gnatmetric doc.
+ Add documentation for -gnatw.p/-gnatw.P
+ Add missing documentation for -fno-inline-functions.
+ Add documentation for -gnatw.e
+
+ * gnat_rm.texi: Add documentation for No_Default_Initialization
+ Replace occurences of "package specification" with "package spec"
+ Document use of * in Warnings Off string
+ Update documentation of alignment/component clauses.
+ Add documentation for Invalid_Value
+ Document new consistency rule for Optimize_Alignment
+ Add documentation for Precondition and Postcondition pragmas
+ Add documentation for Check and Check_Policy pragmas
+ Document new Enum_Val attribute
+ Remove requirement for static string in pragma Assert
+ Add documentation on GNAT.Time_Stamp
+
+ * ug_words: add entry for -gnatVe
+ Add entries for -gnat.p[P] /WARNINGS=[NO]PARAMETER_ORDER
+ Add entry for -gnatw.e
+
+ * debug.adb: Add missing documentation for d.a flag
+ Document new -gnatd.a switch.
+ Add documentation for new gnatmake debug switch -df
+
+2008-04-08 Thomas Quinot <quinot@adacore.com>
+
+ * gen-soccon.c: Bump year in copyright notices.
+
+ * g-soccon-vxworks.ads: Add new constant IP_PKTINFO
+
+2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ctrl_c.c: Improve handling of ctrl-c on LynxOS and Windows.
+ Minor reformatting.
+
+2008-04-08 Robert Dewar <dewar@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * impunit.adb: Add Interfaces.Java.JNI, System.Strings.Stream_Ops,
+ Ada.Calendar.Conversions, Ada.Dispatching.EDF, GNAT.Time_Stamp
+
+ * s-intman-mingw.adb: Minor comment fix -- spell 'explicitly' correctly
+
+ * g-trasym.adb: Minor comment fix -- spell 'explicitly' correctly
+
+ * g-trasym.ads: Minor comment improvements
+
+ * s-stalib.adb: Minor comment fix -- spell 'explicitly' correctly
+
+ * a-sequio.ads, a-direio.ads: improve message for tagged type
+
+ * a-strunb.ads: Minor reformatting
+
+ * a-tifiio.adb: Minor reformatting
+
+ * atree.adb (Fix_Parents): Use clearer names for formals
+ Cleanup and simplify code
+ Use named notation in calls
+
+ * exp_fixd.adb (Do_Multiply_Fixed_Universal): Use named notation in
+ confusing calls
+
+ * uintp.adb: Used named notation for some confusing calls
+
+ * bindusg.adb: Minor change in one line of output
+
+ * cstand.adb: Minor reformatting of src representation of Standard
+
+ * a-assert.ads: Add comment.
+
+ * g-decstr.adb: Fix bad indentation
+
+ * expander.ads, expander.adb: Code clean up.
+
+ * sem_dist.ads: Minor comment improvement
+
+ * sem_type.adb, g-dirope.ads, g-exctra.ads, s-valwch.adb,
+ s-wchstw.adb, targparm.ads, widechar.adb: Minor reformatting
+
+ * i-cstrin.adb: Fix casing error in formal parameter name in call
+
+2008-04-08 Ed Schonberg <schonberg@adacore.com>
+
+ * binde.adb (Gather_All_Links, Gather_Dependencies): units that are
+ mentioned in limited_with_clauses to do create semantic dependencies
+ even though they appear in the ali file.
+
+2008-04-08 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.ads, g-comlin.adb (Expansion): Remove unreachable return
+ statement.
+ (Get_Configuration): New subprogram.
+
+ * prj-pp.ads, prj-pp.adb (Pretty_Print): new parameters Id and Id_Tree
+ These optional parameters help preserve the casing of the project's name
+ when pretty-printing.
+
+2008-04-08 Jerome Lambourg <lambourg@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * bindgen.adb (Gen_Adainit_Ada): If the main program is a CIL function,
+ then use __gnat_set_exit_status to report the returned status code.
+
+ * comperr.adb (Compiler_Abort): Convert most bug boxes into clean error
+ messages on .NET, since some constructs of the language are not
+ properly supported.
+
+ * gnatlink.adb (Gnatlink): In case the command line is too long for the
+ .NET linker, gnatlink now concatenate all .il files and pass this to
+ ilasm.
+
+2008-04-07 Aurelien Jarno <aurelien@aurel32.net>
+ Xavier Grave <grave@ipno.in2p3.fr>
+
+ * Makefile.in: Add make ifeq define for mips/mipsel support.
+ * g-soccon-linux-mips.ads, system-linux-mipsel.ads,
+ system-linux-mips.ads: New files.
+
+2008-04-07 Aurelien Jarno <aurelien@aurel32.net>
+
+ * sysdep.c: add __GLIBC__ to the #ifdef preprocessor macros to
+ detect systems using GNU libc.
+ * gsocket.h: ditto.
+ * socket.c: ditto.
+ * adaint.c: ditto.
+ * link.c: ditto.
+
+2008-04-07 Aurelien Jarno <aurelien@aurel32.net>
+
+ * s-osinte-linux-kfreebsd.ads (SC_NPROCESSORS_ONLN): New
+ constant constant for sysconf call.
+ (bit_field): New packed boolean type used by cpu_set_t.
+ (cpu_set_t): New type corresponding to the C type with
+ the same name. Note that on the Ada side we use a bit
+ field array for the affinity mask. There is not need
+ for the C macro for setting individual bit.
+ (pthread_setaffinity_np): New imported routine.
+ * Makefile.in: Use s-tasinf-linux.ads and s-tasinf-linux.adb
+ on GNU/kFreeBSD.
+
+2008-04-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils2.c (build_binary_op): Fold ARRAY_REF and ARRAY_RANGE_REF too.
+
+2008-04-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gigi.h (create_subprog_type): Remove returns_with_dsp parameter.
+ * decl.c (gnat_to_gnu_entity): Adjust for above new prototype.
+ * utils.c (create_subprog_type): Remove returns_with_dsp parameter.
+ * trans.c (gnat_to_gnu) <N_Return_Statement>: Remove code dealing with
+ Return by Depressed Stack Pointer.
+
+2008-04-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (is_variable_size): Do not unconditionally return false
+ on non-strict alignment platforms.
+
+2008-04-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (rest_of_type_decl_compilation_no_defer): New local function
+ used to process all the variants of the specified type.
+ (gnat_to_gnu_entity): Invoke rest_of_type_decl_compilation for enumeral
+ types too. Call rest_of_type_decl_compilation_no_defer if undeferring.
+ (rest_of_type_decl_compilation): Likewise.
+ * utils.c (gnat_pushdecl): Propagate the name to all variants of type.
+
+2008-04-03 Paolo Bonzini <bonzini@gnu.org>
+
+ * gigi.h (insert_block): Kill.
+ * utils.c (insert_block): Kill.
+
+2008-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: For a constant object whose
+ type has self-referential size, get the size from the initializing
+ expression directly if it is also a constant whose nominal type
+ has self-referential size.
+
+2008-04-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR ada/33688
+ * g-soccon-darwin.ads: Define new constant IP_PKTINFO.
+
+ PR ada/33857
+ * env.c: Always include crt_externs.h if __APPLE__ is defined.
+ (__gnat_setenv): Use setenv instead of putenv if __APPLE__ is defined.
+
+2008-04-01 Andreas Jaeger <aj@suse.de>
+
+ * g-soccon-linux-ppc.ads: Add new constants SO_REUSEPORT and
+ IP_PKTINFO.
+
+2008-03-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * g-table.adb, g-tasloc.adb, g-traceb.ads,
+ g-trasym.adb, g-utf_32.adb, gen-soccon.c, gigi.h, gmem.c,
+ gnatbind.adb, gnatchop.adb, gnatcmd.adb,
+ gnatcmd.ads, gnatdll.adb, gnatfind.adb,
+ gnatlink.adb, gnatmem.adb, gprep.adb,
+ i-cstrea-vms.adb, i-cstrin.adb, i-pacdec.ads,
+ i-vxwork.ads, impunit.adb, init.c, initialize.c, inline.adb,
+ layout.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
+ lib-xref.ads, lib.adb, link.c, live.ads,
+ make.adb, makegpr.adb, makeutl.adb, math_lib.adb,
+ mdll-utl.adb, mdll.ads, memroot.adb, memroot.ads,
+ misc.c, mlib-prj.adb, mlib-tgt-hpux.adb,
+ mlib-tgt-linux.adb, mlib-tgt-tru64.adb, mlib-tgt.ads,
+ namet.adb, namet.h, nlists.adb, nlists.ads,
+ nlists.h, opt.ads, osint-b.ads, osint-c.adb,
+ osint-c.ads, osint.adb, osint.ads, output.ads,
+ par-ch10.adb, par-ch12.adb, par-ch2.adb, par-ch3.adb,
+ par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb,
+ par-endh.adb, par-labl.adb, par-prag.adb,
+ par-sync.adb, par-tchk.adb, par-util.adb,
+ par.adb, prep.adb, prep.ads, prepcomp.adb, prj-attr.ads,
+ prj-dect.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
+ prj-nmsc.ads, prj-pp.adb, prj-proc.adb,
+ prj-strt.ads, prj-tree.ads, prj.adb, prj.ads: Fix comment typos.
+
+2008-03-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: Do not force a non-null
+ size if it has overflowed.
+
+2008-03-31 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils2.c (find_common_type): Document assumption on t1/t2 vs
+ lhs/rhs. Force use of lhs type if smaller, whatever the modes.
+
+2008-03-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * a-textio.ads, a-witeio.ads, a-ztexio.ads, ali.ads,
+ einfo.ads, erroutc.adb, erroutc.ads, exp_attr.adb,
+ exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
+ exp_pakd.ads, exp_prag.adb, exp_smem.adb,
+ exp_tss.ads, exp_util.adb, exp_util.ads,
+ exp_vfpt.adb, freeze.adb, freeze.ads,
+ frontend.adb, g-alleve.adb, g-altcon.adb,
+ g-altive.ads, g-alveop.ads, g-alvevi.ads,
+ g-arrspl.adb, g-busorg.ads, g-calend.adb,
+ g-calend.ads, g-casuti.ads, g-cgideb.adb,
+ g-comlin.adb, g-comlin.ads, g-curexc.ads,
+ g-debpoo.adb, g-debpoo.ads, g-decstr.adb,
+ g-dirope.adb, g-dirope.ads, g-dynhta.ads,
+ g-dyntab.adb, g-encstr.ads, g-excact.ads,
+ g-except.ads, g-expect.ads, g-heasor.adb,
+ g-hesora.adb, g-hesorg.adb, g-htable.ads,
+ g-locfil.ads, g-md5.adb, g-md5.ads,
+ g-memdum.ads, g-moreex.ads, g-os_lib.adb,
+ g-pehage.adb, g-pehage.ads, g-regexp.adb,
+ g-regexp.ads, g-regpat.adb, g-regpat.ads,
+ g-soccon-aix.ads, g-soccon-darwin.ads,
+ g-soccon-freebsd.ads, g-soccon-hpux-ia64.ads,
+ g-soccon-hpux.ads, g-soccon-irix.ads,
+ g-soccon-linux-64.ads, g-soccon-linux-ppc.ads,
+ g-soccon-linux-x86.ads, g-soccon-lynxos.ads,
+ g-soccon-mingw.ads, g-soccon-solaris-64.ads,
+ g-soccon-solaris.ads, g-soccon-tru64.ads,
+ g-soccon-vms.ads, g-soccon-vxworks.ads,
+ g-soccon.ads, g-socket.adb, g-socket.ads,
+ g-socthi-mingw.adb, g-socthi-vms.adb,
+ g-socthi-vxworks.adb, g-soliop-mingw.ads,
+ g-soliop-solaris.ads, g-soliop.ads, g-spipat.adb,
+ g-spipat.ads, g-string.adb, g-stsifd-sockets.adb: Fix comment
+ typos.
+
+2008-03-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Procedure>: Also set the public flag
+ if the procedure is imported.
+
+2008-03-26 Arnaud Charlet <charlet@adacore.com>
+
+ * adaint.c: Fix warnings.
+
+2008-03-26 Arnaud Charlet <charlet@adacore.com>
+
+ * g-dirope.ads, g-dirope.adb: (Dir_Type_Value): Moved to spec.
+
+2008-03-26 Arnaud Charlet <charlet@adacore.com>
+
+ * a-witeio.adb: Fix problem with Current_Output (introduce Self).
+ Fix problem of status check for null file
+
+2008-03-26 Arnaud Charlet <charlet@adacore.com>
+
+ * s-proinf-irix-athread.ads, s-vxwork-mips.ads,
+ s-traces.ads, s-vxwork-arm.ads, s-vxwork-ppc.ads, s-vxwork-sparcv9.ads,
+ s-tasinf-mingw.ads, s-tasinf-linux.ads, s-tasdeb.ads, mlib-tgt.ads,
+ i-cstrin.ads, uintp.adb, g-catiio.adb, s-vmexta.ads,
+ s-trafor-default.ads, s-vxwork-m68k.ads: Minor reformatting. Update
+ comments.
+
+2008-03-26 Thomas Quinot <quinot@adacore.com>
+
+ PR ada/33688
+ * g-socket.ads, g-socket.adb (Options, Set_Socket_Option,
+ Get_Socket_Option): Add support for Receive_Packet_Info.
+
+ * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
+ g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads,
+ g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-freebsd.ads,
+ g-soccon-hpux-ia64.ads, g-soccon-solaris-64.ads, g-soccon-darwin.ads,
+ g-soccon-lynxos.ads, g-soccon-linux-64.ads, g-soccon-linux-x86.ads: Add
+ new constants SO_REUSEPORT and IP_PKTINFO
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * a-taster.adb, s-shasto.adb, s-soflin.adb, s-taasde.adb, s-taenca.adb,
+ a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
+ a-intnam-lynxos.ads, a-retide.adb, a-intnam-tru64.ads, a-intnam-aix.ads,
+ a-intnam-irix.ads, a-intnam-hpux.ads, a-intnam-linux.ads,
+ a-intnam-solaris.ads, a-caldel-vms.adb, a-intnam-vms.ads,
+ a-excpol-abort.adb, a-intnam-mingw.ads, s-interr.adb, s-interr.ads,
+ s-intman.ads, s-gloloc.adb, s-osinte-lynxos-3.ads,
+ s-interr-sigaction.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
+ a-intnam-freebsd.ads, s-osinte-freebsd.ads, s-osinte-lynxos.ads,
+ s-taspri-lynxos.ads, s-osinte-tru64.ads, s-osinte-tru64.ads,
+ s-taspri-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
+ s-osinte-hpux-dce.ads, s-taprop-hpux-dce.adb, s-taspri-hpux-dce.ads,
+ s-osinte-linux.ads, s-osinte-dummy.ads, s-taprop-dummy.adb,
+ s-taspri-dummy.ads, s-interr-dummy.adb, s-osinte-solaris.ads,
+ s-osinte-mingw.ads, s-taprop-solaris.adb, s-taspri-solaris.ads,
+ s-inmaop-vms.adb, s-interr-vms.adb, s-intman-vms.ads, s-osinte-vms.ads,
+ s-osinte-vms.ads, s-taprop-vms.adb, s-taspri-vms.ads,
+ s-taspri-mingw.ads, s-interr-vxworks.adb, s-inmaop-posix.adb,
+ s-intman-vxworks.ads, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
+ s-taspri-vxworks.ads, s-taspri-posix.ads, a-caldel.adb, a-calend.adb,
+ a-elchha.adb, a-dynpri.adb, a-except.adb, a-except.ads, a-interr.ads,
+ a-textio.adb, a-tigeau.ads, atree.adb, s-taprob.adb, s-taprop.ads,
+ s-tarest.adb, s-tarest.ads, s-tasini.adb, s-taskin.adb, s-taskin.ads,
+ s-tasque.adb, s-tasren.adb, s-tasren.ads, s-tassta.adb, s-tassta.ads,
+ s-tasuti.adb, s-tataat.adb, s-tataat.ads, s-tpoben.adb, s-tpoben.ads,
+ s-tpobop.adb, s-tpobop.ads, s-tposen.adb, s-tposen.ads, s-valrea.adb,
+ s-valuti.adb, a-intnam-darwin.ads, s-osinte-darwin.ads, s-solita.adb,
+ a-ztinau.ads, s-osinte-linux-hppa.ads, a-except-2005.adb,
+ a-except-2005.ads, a-rttiev.adb, s-osinte-vxworks6.ads, s-regexp.adb,
+ s-tasloc.adb: Minor reformatting.
+ Update comments.
+ Remove "used for" sections from comments.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb,
+ s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb,
+ s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads,
+ s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb,
+ s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb,
+ a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
+ a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
+ a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads,
+ a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads,
+ a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads,
+ a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb,
+ i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads,
+ a-nlrear.ads, a-nucoar.ads, a-nurear.ads, i-forlap.ads, s-gearop.adb,
+ s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb, s-gecola.ads,
+ s-gerebl.adb, s-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads,
+ double spaced if it fits on one line and otherwise single spaced.
+
+2008-03-26 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-lynxos.adb,
+ s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
+ s-taprop-posix.adb (Create_Task): Do not attempt to set task priority
+ or task info if the thread could not be created.
+
+2008-03-26 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatvsn.ads (Library_Version): Bump to 4.4.
+ (Current_Year): Bump to 2008.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * ali.ads, ali.adb (Optimize_Alignment_Setting): New field in ALI record
+
+ * bcheck.adb (Check_Consistent_Optimize_Alignment): New procedure
+
+ * debug.adb: Add debug flags d.r and d.v
+ Add debug flag .T (Optimize_Alignment (Time))
+ Add debug flag .S (Optimize_Alignment (Space))
+
+ * freeze.adb (Freeze_Record_Type): Set OK_To_Reorder_Components
+ depending on setting of relevant debug flags.
+ Replace use of Warnings_Off by Has_Warnings_Off
+ (Freeze_Entity): In circuit for warning on suspicious convention
+ actuals, do not give warning if subprogram has same entity as formal
+ type, or if subprogram does not come from source.
+ (Freeze_Entity): Don't reset Is_Packed for fully rep speced record
+ if Optimize_Alignment set to Space.
+
+ * frontend.adb: Add call to Sem_Warn.Initialize
+ Add call to Sem_Warn.Output_Unused_Warnings_Off_Warnings
+ Reset Optimize_Alignment mode from debug switches .S and .T
+
+ * layout.adb (Layout_Composite_Object): Rewritten for
+ Optimize_Aligment pragma.
+
+ * lib-writ.ads, lib-writ.adb: New Ox parameter for Optimize_Alignment
+ mode.
+
+ * opt.ads, opt.adb: (Optimize_Alignment): New global switch
+
+ * par-prag.adb (N_Pragma): Chars field removed, use Chars
+ (Pragma_Identifier (.. instead, adjustments throughout to accomodate
+ this change. Add entry for pragma Optimize_Alignment
+
+ * sem_prag.adb (N_Pragma): Chars field removed, use Chars
+ (Pragma_Identifier (..
+ instead, adjustments throughout to accomodate this change.
+ (Process_Compile_Time_Warning_Or_Error): Use !! for generated msg
+ (Favor_Top_Level): Use new function Is_Access_Subprogram_Type
+ Add implementation of pragma Optimize_Alignment
+
+2008-03-26 Vincent Celier <celier@adacore.com>
+
+ * a-szuzti.adb, a-swuwti.adb, a-suteio.adb (functions Get_Line):
+ Improve memory usage to avoid use of stack.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * a-teioed.ads: Correct value of Default_Fill
+
+ * a-teioed.adb (Image): Use Fill_Character instead of '*' to fill
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb: Fix problem
+ with Current_Output (introduce Self).
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Ensure_Valid): Capture valid status if possible
+ (eliminate checks)
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * stand.ads: Deal with reordering of package standard declarations
+
+ * cstand.adb: Put package Standard declarations in proper order
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, einfo.adb (N_Pragma): Chars field removed, use Chars
+ (Pragma_Identifier (.. instead.
+ (OK_To_Reorder_Components): New flag
+ (Has_Entries): Code cleanup.
+ (Warnings_Off_Used): New flag
+ (Warnings_Off_Used_Unmodified): New flag
+ (Warnings_Off_Used_Unreferenced): New flag
+ (Has_Warnings_Off): New function
+ (Has_Unmodified): New function
+ (Has_Unreferenced): New function
+ (Is_Trivial_Subprogram): New flag
+ (Is_Static_Dispatch_Table_Entity): New attribute.
+ Change name Access_Subprogram_Type_Kind to Access_Subprogram_Kind
+ (more consistent with other similar names)
+ (Access_Subprogram_Type): New classification function
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads: Document new !! insertion sequence
+
+ * errout.adb (N_Pragma): Chars field removed, use Chars
+ (Pragma_Identifier (.. instead.
+ Replace use of Warnings_Off by Has_Warnings_Off
+ (Error_Msg_Internal): Don't delete warning ending in !!
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * par.adb (Check_No_Right_Paren): Removed no longer used
+
+ * par-ch10.adb (N_Pragma): Chars field removed, use Chars
+ (Pragma_Identifier (.. instead.
+
+ * par-ch10.adb (P_Subunit): Improvement in error recovery and message
+
+ * par-tchk.adb, par-ch5.adb, par-ch6.adb, par-ch3.adb,
+ par-ch4.adb: Minor improvements in error recovery and messages.
+
+ * erroutc.adb (Test_Style_Warning_Serious_Msg): Treat style msgs as
+ non-serious
+
+ * par-ch9.adb: Minor improvements in error recovery and messages
+ (P_Protected): Better error recovery for "protected type x;"
+
+ * par-util.adb: Minor improvements in error recovery and messages
+ (Check_No_Right_Paren): Removed no longer used
+
+2008-03-26 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Replace_Type): When checking for self-reference, verify
+ that the prefix of an attribute is the type of the aggregate being
+ expanded.
+
+2008-03-26 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb (N_Pragma): Chars field removed.
+ (Expand_N_Attribute_Reference): If the designated type associated with
+ attribute 'Unrestricted_Access is a subprogram entity then replace it
+ by an E_Subprogram_Type itype.
+ Implement attribute Old
+
+ * sem_attr.ads (Attribute_Class_Array): Move to snames.ads
+
+ * sem_attr.adb (Build_Access_Subprogram_Itype): Add documentation.
+ Replace call to
+ New_Internal_Entity by call to Create_Itype to centralize calls
+ building itypes, ad propagate the convention of the designated
+ subprogram. In addition, disable the machinery cleaning constant
+ indications from all entities in current scope when 'Unrestricted_Access
+ corresponds with a node initializing a dispatch table slot.
+ (Analyze_Attribute): Parameterless attributes returning a string or a
+ type will not be called with improper arguments, so we can remove junk
+ code that was dealing with this case.
+ Implement attribute Old
+
+ * snames.ads, snames.h, snames.adb: Add entries for attribute Old
+ Add entry for pragma Optimize_Alignment
+ New standard names Sync and Synchronize
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch11.adb (Expand_At_End_Handler): Set From_At_End flag on raise
+ stmt.
+ (No_Exception_Propagation_Active): New function.
+ (Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
+ Update comments, and review all uses of No_Exception_Propagation, which
+ are now correct and in sync with what gigi expects.
+
+ * restrict.ads, restrict.adb (No_Exception_Propagation_Active): New
+ function.
+ (Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
+ Update comments, and review all uses of No_Exception_Propagation, which
+ are now correct and in sync with what gigi expects.
+
+2008-03-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Access_Definition): If the access type is the return
+ result of a protected function, create an itype reference for it
+ because usage will be in an inner scope from the point of declaration.
+ (Build_Derived_Record_Type): Inherit Reverse_Bit_Order and
+ OK_To_Reorder_Components.
+ (Make_Index): If an overloaded range includes a universal integer
+ interpretation, resolve to Standard.Integer.
+ (Analyze_Subtype_Indication): Copy Convention to subtype
+ (Check_Abstract_Interfaces): Complete semantic checks on the legality of
+ limited an synchronized progenitors in type declaration and private
+ extension declarations.
+
+ * exp_ch13.adb (Expand_N_Freeze_Entity): If the scope of the entity is a
+ protected subprogram body, determine proper scope from subprogram
+ declaration.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Concat): Remove special tests for
+ No_Run_Time_Mode
+
+2008-03-26 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Extended_Return_Statement): Suppress generation
+ of a heap allocator for a limited unconstrained function return when
+ resstriction No_Allocators is active.
+ (Analyze_Allocator): The restriction No_Allocators is now only checked
+ on allocators that have Comes_From_Source set, as per RM-H.4(7).
+
+ * sem_ch4.adb (Expand_N_Extended_Return_Statement): Suppress generation
+ of a heap allocator for a limited unconstrained function return when
+ resstriction No_Allocators is active.
+ (Analyze_Allocator): The restriction No_Allocators is now only checked
+ on allocators that have Comes_From_Source set, as per RM-H.4(7).
+ (Has_Fixed_Op): If the name in a function call is Standard."*" and the
+ operands are fixed-point types, the universal_fixed predefined operation
+ is used, regardless of whether the operand type (s) have a primitive
+ operation of the same name.
+
+2008-03-26 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Make_DT, Make_Secondary_DT): Set attribute
+ Is_Static_Dispatch_Table
+ (Build_Dispatch_Tables): Replace calls to Exchange_Entities() by calls
+ to Exchange_Declarations to exchange the private and full-view. Bug
+ found working in this issue.
+ (Expand_Dispatching_Call): Propagate the convention of the subprogram
+ to the subprogram pointer type.
+ (Make_Secondary_DT): Replace generation of Prim'Address by
+ Address (Prim'Unrestricted_Access)
+ (Make_DT): Replace generation of Prim'Address by
+ Address (Prim'Unrestricted_Access)
+ (Make_Disp_*_Bodies): When compiling for a restricted profile, use
+ simple call form for single entry.
+ (Make_DT): Handle new contents of Access_Disp_Table (access to dispatch
+ tables of predefined primitives).
+ (Make_Secondary_DT): Add support to handle access to dispatch tables of
+ predefined primitives.
+ (Make_Tags): Add entities to Access_Dispatch_Table associated with
+ access to dispatch tables containing predefined primitives.
+
+ * exp_ch6.adb (N_Pragma): Chars field removed, use Chars
+ (Pragma_Identifier (.. instead, adjustments throughout to accomodate
+ this change.
+ (Register_Predefined_DT_Entry): Updated to handle the new contents
+ of attribute Access_Disp_Table (pointers to dispatch tables containing
+ predefined primitives).
+
+ * exp_util.ads, exp_util.adb (Corresponding_Runtime_Package): New
+ subprogram.
+ (Find_Interface_ADT): Updated to skip the new contents of attribute
+ Access_Dispatch_Table (pointers to dispatch tables containing predefined
+ primitives).
+
+ * sem_util.adb (Has_Abstract_Interfaces): Add missing support for
+ concurrent types.
+ (Set_Convention): Use new function Is_Access_Subprogram_Type
+ (Collect_Interfaces_Info): Updated to skip the new contents of attribute
+ Access_Dispatch_Table (pointers to dispatch tables containing predefined
+ primitives).
+
+ * exp_atag.ads, exp_atag.adb (Build_Inherit_Predefined_Prims): Improve
+ expanded code avoiding calls to Build_Predef_Prims.
+ (Build_Set_Predefined_Prim_Op_Address): Improve expanded code avoiding
+ call to Build_Get_Predefined_Prim_Op_Address.
+
+2008-03-26 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch7.adb (Make_Clean): Code cleanup using the new centralized
+ subprogram Corresponding_Runtime_Package to know the runtime package
+ that will provide support to a given protected type.
+
+ * exp_ch9.adb (Add_Private_Declarations,
+ Build_Protected_Subprogram_Call,
+ Build_Protected_Entry, Build_Simple_Entry_Call,
+ Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
+ Expand_N_Timed_Entry_Call, Make_Initialize_Protection): Code
+ cleanup using the new centralized subprogram Corresponding_Runtime
+ Package to know the runtime package that provides support to
+ a given protected type.
+
+2008-03-26 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If the component
+ assignment is within the initialization procedure for a packed array,
+ and Initialize_Scalars is enabled, compile right-hand side with checks
+ off, because the value is purposely out of range.
+
+2008-03-26 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb: Add processing for GNAT SYNC
+
+ * vms_conv.ads: (Command_Type): Add command Sync
+
+ * vms_conv.adb (Initialize): Add Command_List data for new command Sync
+
+ * vms_data.ads: Add entries for -gnatw.w
+ Add qualifier for gnatstub --header-file option
+ Add switches for GNAT SYNC
+
+ * prj-attr.ads, prj-attr.adb: Add new package Synchronize for GNAT SYNC
+ (Add_Package_Name): New procedure
+ (Package_Name_List): New function
+ (Initialize): Add known package names to the list
+ (Register_New_Package): Add the new package name to the list
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * g-pehage.adb, g-regist.adb, g-spipat.ads, g-spipat.adb,
+ s-asthan.adb, s-parint.adb, s-rpc.adb, s-stchop.adb: Replace
+ Raise_Exception by "raise with" construct.
+
+2008-03-26 Pascal Obry <obry@adacore.com>
+
+ * Makefile.in: Add proper GNAT.Serial_Communications implementation on
+ supported platforms.
+
+ * Makefile.rtl: Add g-sercom.o.
+
+ * impunit.adb: Add g-sercom.adb.
+
+ * s-crtl.ads (open): New routine.
+ (close): Likewise.
+ (write): Likewise.
+
+ * s-osinte-mingw.ads (BYTE): New type.
+ (CHAR): Likewise.
+ (OVERLAPPED): Likewise.
+ (GENERIC_READ): New constant.
+ (GENERIC_WRITE): Likewise.
+ (OPEN_EXISTING): Likewise.
+ (PSECURITY_ATTRIBUTES): Removed this type, use anonymous access
+ type instead.
+ (CreateFile): New routine.
+ (WriteFile): Likewise.
+ (ReadFile): Likewise.
+ (CloseHandle): Move next to the other file oriented routines.
+
+ * g-sercom.ads: New unit.
+
+ * g-sercom.adb: Default implementation, calls to this unit will raise
+ a program error exception.
+
+ * g-sercom-mingw.adb, g-sercom-linux.adb: Windows and
+ GNU/Linux implementations.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * itypes.adb (Create_Itype): Use new name Access_Subprogram_Kind
+
+ * sem_ch13.adb (Validate_Unchecked_Conversion): Give warning for
+ unchecked conversion for different conventions only for subprogram
+ pointers or on VMS.
+
+2008-03-26 Vincent Celier <celier@adacore.com>
+
+ * osint-c.adb (Set_Library_Info_Name): Use canonical case file names
+ to check if the specified object file is correct.
+
+2008-03-26 Thomas Quinot <quinot@adacore.com>
+
+ * sem_cat.adb (Validate_RACW_Primitives): Do not rely on
+ Comes_From_Source to exclude primitives from being checked. We want to
+ exclude predefined primitives only, so use the appropriate specific
+ predicate. Also, flag a formal parameter of an anonymous
+ access-to-subprogram type as illegal for a primitive operation of a
+ remote access to class-wide type.
+
+2008-03-26 Vincent Celier <celier@adacore.com>
+
+ * prj-dect.adb (Parse_Package_Declaration): When a package name is not
+ known, check if it may be a missspelling of a known package name. In
+ not verbose, not mode, issue warnings only if the package name is a
+ possible misspelling.
+ In verbose mode, always issue a warning for a not known package name,
+ plus a warning if the name is a misspelling of a known package name.
+
+ * prj-part.adb (Post_Parse_Context_Clause): Modify so that only non
+ limited withs or limited withs are parse during one call.
+ (Parse_Single_Project): Post parse context clause in two passes: non
+ limited withs before current project and limited withs after current
+ project.
+
+ * prj-proc.adb (Imported_Or_Extended_Project_From): Returns an extended
+ project with the name With_Name, even if it is only extended indirectly.
+ (Recursive_Process): Process projects in order: first single withs, then
+ current project, then limited withs.
+
+ * prj-tree.adb (Imported_Or_Extended_Project_Of): Returns an extended
+ project with the name With_Name, even if it is only extended indirectly.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * scn.adb (Initialize_Scanner): Format messages belong on standard error
+
+2008-03-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Analyze_Compilation_Unit): if a unit in the context is
+ a generic subprogram that is imported, do not attempt to compile
+ non-existent body.
+
+ * sem_ch12.adb (Instantiate_Subprogram_Body): if the generic is
+ imported, do not generate a raise_program_error for the non-existent
+ body.
+ (Pre_Analyze_Actuals): If an error is detected during pre-analysis,
+ perform minimal name resolution on the generic to avoid spurious
+ warnings.
+ (Find_Actual_Type): the designated type of the actual in a child unit
+ may be declared in a parent unit without being an actual.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch11.adb: Fix No_Exception_Restriction violation for SJLJ
+ * sinfo.ads, sinfo.adb (From_At_End): New flag
+
+2008-03-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Remove spurious check on
+ operations that have an interface parameter.
+ (Analyze_Subprogram_Body): Set Is_Trivial_Subprogram flag
+ Don't treat No_Return call as raise.
+
+ * sem_disp.adb (Check_Dispatching_Operations): apply check for
+ non-primitive interface primitives to access parameters, not to all
+ parameters of an access type.
+
+2008-03-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb (Install_Parent_Private_Declarations): If the private
+ declarations of a parent unit are made visible when compiling a child
+ instance, the parent is not a hidden open scope, even though it may
+ contain other pending instance.
+
+ * sem_ch8.adb (Restore_Scope_Stack): If an entry on the stack is a
+ hidden open scope for some child instance, it does affect the
+ visibility status of other stach entries.
+ (Analyze_Object_Renaming): Check that a class-wide object cannot be
+ renamed as an object of a specific type.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Check_Infinite_Recursion): Diagnose definite infinite
+ recursion and raise SE directly.
+ (Resolve_Actuals): Reset Never_Set_In_Source if warnings off is
+ set for formal type for IN mode parameter.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.ads, sem_warn.adb (Warnings_Off_Pragmas): New table
+ (Initialize): New procedure
+ (Output_Warnings_Off_Warnings): New procedure
+ (Check_References): Suppress certain msgs if Is_Trivial_Subprogram
+ (Output_Non_Modifed_In_Out_Warnings): Ditto
+ (Warn_On_Unreferenced_Entity): Ditto
+
+2008-03-26 Vincent Celier <celier@adacore.com>
+
+ * a-direct.adb (Start_Search): Raise Use_Error if the directory is not
+ readable.
+
+2008-03-26 Matthew Heaney <heaney@adacore.com>
+
+ * a-ciorse.ads, a-cidlli.ads, a-cdlili.ads, a-cihase.ads, a-cohase.ads,
+ a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-coorse.ads:
+ Marked with clauses as private, and controlled operations as overriding
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * g-byorma.adb (Read_BOM): Reorder tests so that UTF_32 is recognized
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * back_end.adb, back_end.ads: Minor reformatting
+
+ * bindgen.adb: Minor clarification of comments
+
+ * fname.ads: Minor comment fixes
+
+ * g-altive.ads, g-catiio.ads, g-trasym.ads, prj.ads,
+ prj-nmsc.adb, sem_aggr.adb: Minor reformatting
+
+ * xeinfo.adb, xnmake.adb, xsinfo.adb, xtreeprs.adb,
+ xsnames.adb: Remove warnings off pragma no longer needed
+
+ * a-catizo.ads, a-calari.ads, a-calfor.adb,
+ a-calfor.ads: Fix header.
+
+2008-03-26 Tristan Gingold <gingold@adacore.com>
+
+ * init.c: Do not adjust pc for HPARITH on alpha/vms.
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * lib-xref.adb: (OK_To_Set_Reference): New function
+ (Generate_Reference): Don't set referenced from occurrence in Warnings,
+ Unmodified, or Unreferenced pragma
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * alloc.ads: Add entries for Warnings_Off_Pragmas table
+
+2008-03-26 GNAT Script <nobody@adacore.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * tbuild.ads, tbuild.adb, trans.c, sprint.adb, exp_prag.adb, decl.c,
+ par-ch2.adb, sem_elab.adb, sem_util.ads (N_Pragma): Chars field
+ removed, use Chars (Pragma_Identifier (.. instead, adjustments
+ throughout to accomodate this change.
+
+ * s-pooglo.ads, s-pooloc.ads: Minor comment updates
+
+ * exp_dbug.adb: Use Sem_Util.Set_Debug_Info_Needed (not
+ Einfo.Set_Needs_Debug_Info)
+
+2008-03-26 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add documentation for -gnatw.w/-gnatw.W
+ Add description for the new gnatstub option '--header-file'
+ clarification of -gnatwz/-gnatwZ
+ Add a "Irix-Specific Considerations" section to document the need to
+ set LD_LIBRARY_PATH when using the default shared runtime library.
+ Added documentation for both gcov and gprof.
+
+ * gnat_rm.texi: Document that pragma Compile_Time_Warning generates
+ messages that are not suppressed when clients are compiled.
+ Add documentation of s-pooglo s-pooloc
+ Document the new GNAT.Serial_Communications API.
+ Add documentation for 'Old attribute
+ Add description of pragma Optimize_Alignment
+
+ * ug_words: Add entries for -gnatw.w -gnatw.W
+
+ * usage.adb: Add line for -gnatw.w (warn on warnings off)
+
+2008-03-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ Revert
+ 2008-03-05 Eric Botcazou <ebotcazou@adacore.com>
+ PR ada/35186
+ * decl.c (maybe_pad_type): Avoid padding an integral type when
+ bumping its alignment is sufficient.
+
+2008-03-25 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch6.adb, exp_disp.adb: Update copyright notice.
+ Fix wrong formatting (lines too long)
+
+2008-03-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * 9drpc.adb, a-caldel-vms.adb, a-caldel.adb,
+ a-calend-vms.adb, a-calend.adb, a-calend.ads,
+ a-calfor.adb, a-chahan.ads, a-chtgke.adb,
+ a-cihama.ads, a-ciorse.adb, a-clrefi.ads,
+ a-cohama.ads, a-comlin.ads, a-coorse.adb,
+ a-crbtgk.adb, a-direct.adb, a-except-2005.adb,
+ a-except-2005.ads, a-except.adb, a-except.ads,
+ a-exexda.adb, a-exexpr-gcc.adb, a-exexpr.adb,
+ a-exextr.adb, a-filico.ads, a-finali.ads,
+ a-intnam-aix.ads, a-intnam-solaris.ads, a-ngcefu.adb,
+ a-ngelfu.adb, a-numaux-darwin.adb, a-numeri.ads,
+ a-sequio.ads, a-strbou.ads, a-strfix.adb,
+ checks.adb, exp_ch3.adb, exp_ch4.adb,
+ exp_ch4.ads, exp_ch5.adb, exp_ch6.adb,
+ exp_ch6.ads, exp_ch7.adb, exp_ch7.ads,
+ exp_ch9.adb, exp_ch9.ads, exp_dbug.adb,
+ exp_dbug.ads, exp_disp.adb, exp_dist.adb,
+ exp_dist.ads, exp_fixd.adb, exp_fixd.ads: Fix comment typos.
+
+2008-03-24 Robert Dewar <dewar@adacore.com>
+
+ * s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb,
+ s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb,
+ s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads,
+ s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb,
+ s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb,
+ a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
+ a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
+ a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads,
+ a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads,
+ a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads,
+ a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb,
+ i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads,
+ a-nlrear.ads, a-nucoar.ads, a-nurear.ads, i-forlap.ads, s-gearop.adb,
+ s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb, s-gecola.ads,
+ s-gerebl.adb, s-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads,
+ double spaced if it fits on one line and otherwise single spaced.
+
+2008-03-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR documentation/15479
+ * Make-lang.in (doc/gnat_ugn.texi) Renamed from ...
+ (doc/gnat_ugn_unw.texi): ... this, and adjusted.
+ (doc/gnat_ugn.info): Renamed from ...
+ (doc/gnat_ugn_unw.info): ... this.
+ (doc/gnat_ugn.dvi): Renamed from ...
+ (doc/gnat_ugn_unw.dvi): ... this.
+ (doc/gnat_ugn.pdf): Renamed from ...
+ (doc/gnat_ugn_unw.pdf): ... this.
+ (ADA_INFOFILES, ADA_PDFFILES, ada.install-info, ada.dvi):
+ Adjusted.
+ * gnat_ugn.texi (FILE): Hard-code gnat_ugn; set filename
+ unconditionally to gnat_ugn.info. Fix cross references to the
+ GNAT Reference Manual. Convert links to the GCC, GDB, Emacs,
+ and GNU make manuals to be proper texinfo links.
+ * gnat_rm.texi: Fix cross references to the GNAT User's Guide.
+
+2008-03-21 Olivier Hainque <hainque@adacore.com>
+
+ * trans.c (Attribute_to_gnu) <'length>: Compute as (hb < lb)
+ ? 0 : hb - lb + 1 instead of max (hb - lb + 1, 0).
+
+2008-03-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (addressable_p): Add notes on addressability issues.
+
+2008-03-21 Olivier Hainque <hainque@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * trans.c (addressable_p): Accept COND_EXPR when both arms
+ are addressable.
+ (gnat_gimplify_expr): Let the gimplifier handle &COND_EXPR.
+ (call_to_gnu): Do not use name reference in the error message
+ for a misaligned by_reference_parameter. The actual may be a
+ general expression.
+
+2008-03-18 Paolo Bonzini <bonzini@gnu.org>
+
+ * misc.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
+
+2008-03-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * gnat_rm.texi (Implementation Defined Characteristics)
+ (Wide_Text_IO, Wide_Wide_Text_IO): Add @var annotations where
+ appropriate.
+ * gnat_ugn.texi (Wide Character Encodings, Switches for gnatbind)
+ (Switches for gnatchop, Installing a library): Likewise.
+
+2008-03-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (emit_range_check): Do not emit the check if the base type
+ of the expression is the type against which its range must be checked.
+
+2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (maybe_pad_type): Use value_factor_p.
+
+2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lang.opt (nostdlib): Move around.
+ * misc.c (gnat_handle_option): Fix formatting.
+ (gnat_dwarf_name): Move around.
+ * trans.c (Case_Statement_to_gnu): Fix formatting.
+ (gnat_to_gnu): Likewise.
+ * utils.c (aggregate_type_contains_array_p): Likewise.
+ (create_subprog_decl): Likewise.
+
+2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Do not
+ bother propagating the TYPE_USER_ALIGN flag when creating a JM type.
+
+2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Record_Type>: Do not force
+ BIGGEST_ALIGNMENT when capping the alignment of records with
+ strict alignment and size clause.
+
+2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lang-specs.h: Pass -gnatwa if -Wall is passed.
+ * misc.c (gnat_handle_option) <OPT_Wall>: Expand into -Wunused
+ and -Wuninitialized.
+ (gnat_post_options): Clear warn_unused_parameter.
+
+2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils.c (finish_record_type): Clear DECL_BIT_FIELD on sufficiently
+ aligned bit-fields, bumping the alignment of the record type if deemed
+ profitable.
+ (value_factor_p): Return false instead of 0.
+
+2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Add support
+ for scalar types with small alignment.
+
+2008-03-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (Loop_Statement_to_gnu): Set the SLOC of the loop label
+ from that of the front-end's end label.
+ (gnat_gimplify_stmt) <LOOP_STMT>: Set the SLOC of the backward goto
+ from that of the loop label.
+
+2008-03-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Add
+ comment for the packed array type case.
+ * utils.c (build_template): Use a loop to strip padding or
+ containing records for justified modular types.
+
+2008-03-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity): Issue a warning on suspiciously
+ large alignments specified for types.
+ (validate_alignment): Minor cleanup.
+
+2008-03-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (MAX_FIXED_MODE_SIZE): Define if not already defined.
+ (gnat_to_gnu_entity) <E_Record_Type>: Try to get a smaller form of
+ the component for packing, if possible, as well as if a component
+ size clause is specified.
+ <E_Record_Subtype>: For an array type used to implement a packed
+ array, get the component type from the original array type.
+ Try to get a smaller form of the component for packing, if possible,
+ as well as if a component size clause is specified.
+ (round_up_to_align): New function.
+ (make_packable_type): Add in_record parameter.
+ For a padding record, preserve the size. If not in_record and the
+ size is too large for an integral mode, attempt to shrink the size
+ by lowering the alignment.
+ Ditch the padding bits of the last component.
+ Compute sizes and mode manually, and propagate the RM size.
+ Return a BLKmode record type if its size has shrunk.
+ (maybe_pad_type): Use MAX_FIXED_MODE_SIZE instead of BIGGEST_ALIGNMENT.
+ Use Original_Array_Type to retrieve the type in case of an error.
+ Adjust call to make_packable_type.
+ (gnat_to_gnu_field): Likewise.
+ (concat_id_with_name): Minor tweak.
+ * trans.c (larger_record_type_p): New predicate.
+ (call_to_gnu): Compute the nominal type of the object only if the
+ parameter is by-reference. Do the conversion actual type -> nominal
+ type if the nominal type is a larger record.
+ (gnat_to_gnu): Do not require integral modes on the source type to
+ avoid the conversion for types with identical names.
+ (addressable_p): Add gnu_type parameter. If it is specified, do not
+ return true if the expression is not addressable in gnu_type.
+ Adjust recursive calls.
+ * utils.c (finish_record_type): Remove dead code.
+
+2008-03-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/35186
+ * decl.c (maybe_pad_type): Avoid padding an integral type when
+ bumping its alignment is sufficient.
+
+2008-03-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * gnatfind.adb, gnatxref.adb: Fix argument parsing typos.
+ * s-auxdec-empty.adb, s-auxdec.adb: Fix typos in copyright
+ statement.
+ * a-ngcoar.adb, a-ngrear.adb, g-awk.adb, g-debpoo.adb,
+ gprep.adb, make.adb, makegpr.adb, par-ch6.adb, prj-nmsc.adb,
+ sem_attr.adb, sem_ch4.adb, sem_ch8.adb: Fix typos in ada source
+ code output strings.
+ * sem_type.adb, system-vms-ia64.ads, system-vms.ads,
+ system-vms_64.ads: Fix typos in ada source code comments.
+ * sinfo-cn.adb: Remove incomplete sentence.
+
+ PR documentation/15479
+ * gnat_rm.texi, gnat_ugn.texi: Avoid standalone `non' word.
+
+2008-02-27 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/22255
+ * s-fileio.adb (Reset): Do not raise Use_Error if mode isn't changed.
+
+2008-02-27 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/34799
+ * sem_ch13.adb (Analyze_Record_Representation_Clause): Check
+ that underlying type is present.
+
+2008-02-26 Tom Tromey <tromey@redhat.com>
+
+ * misc.c (internal_error_function): Remove test of
+ USE_MAPPED_LOCATION.
+ * trans.c (gigi): Remove test of USE_MAPPED_LOCATION.
+ (Sloc_to_locus): Remove old location code.
+
+2008-02-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * gnat_rm.texi, gnat_ugn.texi: Fix spacing after `e.g.' and
+ `i.e.' by adding comma or `@:' as appropriate.
+ * gnat_rm.texi (Pragma Wide_Character_Encoding): Instead of
+ plain characters `C', use `@samp{C}'.
+ * gnat_ugn.texi (File Naming Rules, About gnatkr)
+ (Krunching Method): Likewise.
+
+ * gnat_ugn.texi (Conventions): List environment variables and
+ metasyntactic variables.
+ (Compiling Programs): Fix notation of metasyntactic variables.
+ Add @file where appropriate. Use @file for file extensions,
+ @samp for strings.
+ * gnat_rm.texi, gnat_ugn.texi: Where appropriate, use @samp
+ instead of @file, @env instead of @code.
+
+2008-02-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR documentation/15479
+ * gnat_rm.texi, gnat_ugn.texi: Where appropriate, replace `..'
+ and `...' with `@dots{}' or `@enddots{}'.
+
+ PR documentation/15479
+ * gnat_rm.texi, gnat_ugn.texi: Where appropriate, add @command,
+ use @command instead of @code, @option instead of @samp or @code,
+ @code instead of @var, @samp instead of @file.
+
+ PR documentation/15479
+ * gnat_ugn.texi (Using gnatmake in a Makefile): Do not ignore errors
+ in Makefile rules, by using `&&' rather than `;'.
+
+2008-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR documentation/15479
+ * gnat_ugn.texi: In non-code, avoid space before colon.
+ (Regular Expressions in gnatfind and gnatxref): Fix indentation.
+ (Examples of gnatxref Usage): Use @command{vi} instead of
+ @file{vi}.
+ (Character Set Control): Do not use @code for UTF-8.
+ (Validity Checking): Fix typo "NaNs" instead of "NaN's". Do not
+ use @code for IEEE.
+ * gnat_rm.texi (Aggregates with static bounds): Fix typo in code
+ sample.
+ * gnat_rm.texi, gnat_ugn.texi: Fix typos. Bump copyright years.
+
+2008-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ PR ada/35143
+ * env.c: Add __rtems__ to if defined.
+ * s-osinte-rtems.adb: Add To_Target_Priority. Fix formatting.
+ * s-osinte-rtems.ads: Add To_Target_Priority prototype and
+ PTHREAD_SCOPE_PROCESS/PTHREAD_SCOPE_SYSTEM constants. Add
+ pragma Convention as required.
+ * gsocket.h: Make compile in and out of RTS.
+ * Makefile.in: Add system-rtems.ads. Build DEC extensions.
+ Use g-soccon-rtems.ads.
+ * g-soccon-rtems.ads, system-rtems.ads: New files.
+
+2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR other/35107
+ * Make-lang.in (gnat1): Add $(GMPLIBS).
+
+2008-01-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (components_to_record): Improve comment.
+
+2008-01-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (components_to_record): Do not reuse the empty union type
+ if there is a representation clause on the record.
+ * trans.c (addressable_p): Return true for INTEGER_CST.
+
+2008-01-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (gnat_to_gnu) <N_Free_Statement>: Use POINTER_PLUS_EXPR
+ in pointer arithmetics.
+ * utils2.c (build_allocator): Likewise.
+
+2008-01-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils.c (build_function_stub): Properly build the call expression.
+
+2008-01-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: Process renamings
+ before converting the expression to the type of the object.
+ * trans.c (maybe_stabilize_reference) <CONSTRUCTOR>: New case.
+ Stabilize constructors for special wrapping types.
+
+2008-01-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (call_to_gnu): Invoke the addressable_p predicate only
+ when necessary. Merge some conditional statements. Update comments.
+ Rename unchecked_convert_p local variable to suppress_type_conversion.
+ Do not suppress conversions in the In case.
+ (addressable_p) <VIEW_CONVERT_EXPR>: Do not take alignment issues
+ into account on non strict-alignment platforms.
+
+2008-01-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils.c (aggregate_type_contains_array_p): New predicate.
+ (create_field_decl): In a packed record, force byte alignment
+ for fields without specified position that contain an array.
+
+2008-01-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils.c (unchecked_convert): Fold the VIEW_CONVERT_EXPR expression.
+
+2008-01-10 John David Anglin <dave.anglin.@nrc-cnrc.gc.ca>
+
+ PR ada/34466
+ * s-osinte-linux-hppa.ads (SC_NPROCESSORS_ONLN): New constant for
+ sysconf call.
+ (bit_field): New packed boolean type used by cpu_set_t.
+ (cpu_set_t): New type corresponding to the C type with
+ the same name. Note that on the Ada side we use a bit
+ field array for the affinity mask. There is not need
+ for the C macro for setting individual bit.
+ (pthread_setaffinity_np): New imported routine.
+
+2008-01-03 Tero Koskinen <tero.koskinen@iki.fi>
+
+ PR ada/34647
+ * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp()
+ on OpenBSD as is done on other BSD systems.
+
+ PR ada/34645
+ * sysdep.c (__gnat_ttyname, getc_immediate_nowait,
+ getc_immediate_common): Treat OpenBSD as FreeBSD regarding immediate
+ I/O.
+
+ PR ada/34644
+ * env.c (__gnat_clearenv): Treat OpenBSD as other BSD systems missing
+ clearenv().
+
+ PR ada/34646
+ * init.c (__gnat_error_handler, __gnat_install_handler,
+ __gnat_init_float): Define for OpenBSD.
+
+ * initialize.c (__gnat_initialize): Define for OpenBSD.
+
+2007-12-27 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/34553
+ * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp()
+ instead of mktemp() or tmpnam() on NetBSD.
+
+2007-12-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (call_to_gnu): Make the temporary for non-addressable
+ In parameters passed by reference.
+ (addressable_p): Return true for STRING_CST and CALL_EXPR.
+
+2007-12-19 Robert Dewar <dewar@adacore.com>
+
+ * g-expect-vms.adb, g-expect.adb, s-poosiz.adb:
+ Add pragma Warnings (Off) for unassigned IN OUT arguments
+
+ * sem_warn.adb (Output_Reference): Suppress messages for internal names
+ (Check_References): Extensive changes to tune up warnings
+ (Output_Non_Modifed_In_Out_Warnings): Changes to tune up warnings
+ (Has_Pragma_Unmodifed_Check_Spec): New function
+ (Check_References): Implement pragma Unmodified
+ (Warn_On_Unassigned_Out_Parameter): Implement pragma Unmodified
+
+ * par-prag.adb: Dummy entry for pragma Unmodified
+
+ * sem_prag.adb: Implement pragma Unmodified
+
+ * einfo.ads, einfo.adb: (Has_Pragma_Unmodified): New flag
+ (Proc_Next_Component_Or_Discriminant): Fix typo.
+ Update comments.
+
+ * sem_util.adb (Note_Possible_Modification): Add processinng for pragma
+ Unmodified.
+ (Reset_Analyzed_Flags): Use Traverse_Proc instead of Traverse_Func,
+ because the former already takes care of discarding the result.
+ (Mark_Coextensions): Remove ununused initial value from Is_Dynamic.
+ Add comment.
+
+ * snames.h, snames.ads, snames.adb: Add entry for pragma Unmodified
+
+2007-12-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * targparm.adb, targparm.ads, system.ads, system-darwin-ppc.ads,
+ system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
+ system-hpux-ia64.ads, system-vxworks-arm.ads, system-darwin-x86.ads,
+ system-vms_64.ads, system-vms-ia64.ads, system-linux-ia64.ads,
+ system-freebsd-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
+ system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads,
+ system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
+ system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
+ system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
+ system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads
+ (Dynamic_Trampolines_Used): Delete.
+
+ * system-lynxos-x86.ads, system-lynxos-ppc.ads: Ditto.
+ Turn on stack probing mechanism on LynxOS.
+
+2007-12-19 Bob Duff <duff@adacore.com>
+
+ * atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate
+ the resulting tail recursion by hand. This prevents running out of
+ memory on deeply nested concatenations, since Field2 is where the left
+ operand of concatenations is stored.
+ Fix bug (was returning OK_Orig in some cases). Fix return subtype to
+ clarify that it can only return OK or Abandon.
+
+ * sem_res.adb (Resolve_Op_Concat): Replace the recursion on the left
+ operand by iteration, in order to avoid running out of memory on
+ deeply-nested concatenations. Use the Parent pointer to get back up the
+ tree.
+ (Resolve_Op_Concat_Arg, Resolve_Op_Concat_First,
+ Resolve_Op_Concat_Rest): New procedures split out of
+ Resolve_Op_Concat, so the iterative algorithm in Resolve_Op_Concat is
+ clearer.
+
+ * checks.adb (Remove_Checks): Use Traverse_Proc instead of
+ Traverse_Func, because the former already takes care of discarding the
+ result.
+
+ * errout.adb (First_Node): Use Traverse_Proc instead of Traverse_Func,
+ because the former already takes care of discarding the result.
+ (Remove_Warning_Messages): Use appropriate subtype for Status and
+ Discard
+
+2007-12-19 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Not_OK_For_Backend): A component of a private type with
+ discriminants forces expansion of the aggregate into assignments.
+ (Init_Record_Controller): If the type of the aggregate is untagged and
+ is not inherently limited, the record controller is not limited either.
+
+2007-12-19 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference, case Size): Fix error in
+ handling compile time known size of record or array (case of front end
+ layout active, e.g. in GNAAMP).
+
+2007-12-19 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Complete the circuitry
+ that forces the construction of static dispatch tables in case of
+ record subtypes.
+
+2007-12-19 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb (Null_Statements): Moved to library level
+ (Trivial_Accept_OK): New function
+ (Expand_Accept_Declaration): Use Trivial_Accept_OK
+ (Expand_N_Accept_Statement): Use Trivial_Accept_OK
+
+2007-12-19 Robert Dewar <dewar@adacore.com>
+
+ * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Fix packed array type
+ in complex case where array is Volatile.
+
+2007-12-19 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type, Check_Current_Instance): Implement
+ properly the Ada2005 rules concerning when the current instance of a
+ record type is aliased.
+
+2007-12-19 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch3.adb (P_Record_Declaration): Guard against cascaded errors in
+ mangled declaration
+ (P_Type_Declaration): Diagnose misuse of "abstract" in untagged record
+ declarations.
+ (P_Variant_Part): Cleaner patch for parenthesized discriminant
+
+2007-12-19 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb (Package_Node_Id_Of): Returns Unknown_Package when
+ package is not known
+
+ * prj-attr.ads (Unknown_Package): New constant
+ Do not crash when an unknown package is in several projects
+
+ * prj-dect.adb (Parse_Package_Declaration): Mark an unknown package as
+ ignored
+
+ * prj-nmsc.adb (Check): Remove obsolete code related to no longer
+ existing package Language_Processing.
+
+2007-12-19 Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/15803, ada/15805
+ * sem_ch6.adb, sem_ch3.adb (Constrain_Access): In Ada2005, diagnose
+ illegal access subtypes when there is a constrained partial view.
+ (Check_For_Premature_Usage): New procedure inside
+ Access_Subprogram_Declaration for checking that an access-to-subprogram
+ type doesn't reference its own name within any formal parameters or
+ result type (including within nested anonymous access types).
+ (Access_Subprogram_Declaration): Add call to Check_For_Premature_Usage.
+ (Sem_Ch3.Analyze_Object_Declaration, Sem_ch6.Process_Formals): if the
+ context is an access_to_variable, the expression cannot be an
+ access_to_constant.
+
+2007-12-19 Bob Duff <duff@adacore.com>
+
+ * sem_ch4.adb (Analyze_Concatenation_Rest): New procedure.
+ (Analyze_Concatenation): Use iteration instead of recursion in order
+ to avoid running out of stack space for deeply nested concatenations.
+
+2007-12-19 Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Diagnose illegal renamings
+ whose renamed entity is a subprogram that requires overriding.
+ (Premature_Usage): Test for the case of N_Full_Type_Declaration when
+ issuing an error for premature usage and issue a message that says
+ 'type' rather than 'object'.
+
+2007-12-19 Gary Dismukes <dismukes@adacore.com>
+
+ PR ada/34149
+ * sem_disp.adb (Check_Dispatching_Call): Augment existing test for
+ presence of a statically tagged operand (Present (Static_Tag)) with
+ test for Indeterm_Ancestor_Call when determining whether to propagate
+ the static tag to tag-indeterminate operands (which forces dispatching
+ on such calls).
+ (Check_Controlling_Formals): Ada2005, access parameters can have
+ defaults.
+ (Add_Dispatching_Operation, Check_Operation_From_Private_View): do
+ not insert subprogram in list of primitive operations if already there.
+
+2007-12-19 Tristan Gingold <gingold@adacore.com>
+
+ * utils.c (create_var_decl_1): call rest_of_decl_compilation only for
+ global variable.
+
+2007-12-19 Thomas Quinot <quinot@adacore.com>
+
+ Part of PR ada/33688
+ * gen-soccon.c: Add constant IP_PKTINFO to allow getting ancillary
+ datagram info on Linux.
+
+2007-12-19 Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Check_Compilation_Needed): Normalize C_Source_Path so
+ that the source path name is always found in the dependencies.
+
+2007-12-19 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Update documentation of -gnatw.o
+ Fix name of Wide_Wide_Latin_1/9 file names
+ Add documentation for Ada.Exceptions.Last_Chance_Handler (a-elchha.ads)
+ Add missing documentation for Ada.Wide_[Wide_]Characters.Unicode
+ Add missing documentation for Ada.Command_Line.Response_File
+ Update list of warning letters for Warnings pragma
+ Add documentation for pragma Unmodified
+
+2007-12-19 Samuel Tardieu <sam@rfc1149.net>
+
+ * Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target.
+
+2007-12-17 Arnaud Charlet <charlet@adacore.com>
+
+ * s-vxwork-alpha.ads: Removed, no longer used.
+
+2007-12-15 Jakub Jelinek <jakub@redhat.com>
+
+ * Make-lang.in (gnat1, gnatbind): Pass ALL_CFLAGS on the link line.
+
+2007-12-13 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/34360
+ * Makefile.in: Change two occurrences of mlib-tgt.adb by correct name
+ mlib-tgt-specific.adb.
+
+2007-12-13 Bob Duff <duff@adacore.com>
+
+ * trans.c (Attribute_to_gnu): Check for violations of the
+ No_Implicit_Dynamic_Code restriction. This checking used to be done in
+ the front end, but is moved here so we can make it more accurate.
+
+2007-12-13 Pascal Obry <obry@adacore.com>
+
+ * adaint.c (__gnat_pthread_setaffinity_np): New routine. A dummy
+ version is provided for older GNU/Linux distribution not
+ supporting thread affinity sets.
+
+ * s-osinte-linux.ads (SC_NPROCESSORS_ONLN): New constant for sysconf
+ call.
+ (bit_field): New packed boolean type used by cpu_set_t.
+ (cpu_set_t): New type corresponding to the C type with
+ the same name. Note that on the Ada side we use a bit
+ field array for the affinity mask. There is not need
+ for the C macro for setting individual bit.
+ (pthread_setaffinity_np): New imported routine.
+
+ * s-taprop-linux.adb (Enter_Task): Check that the CPU affinity mask is
+ no null.
+ (Create_Task): Set the processor affinity mask if information
+ is present.
+
+ * s-tasinf-linux.ads, s-tasinf-linux.adb: New files.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
+ s-osinte-freebsd.ads, s-osinte-lynxos.ads, s-osinte-tru64.ads,
+ s-osinte-mingw.ads, s-osinte-aix.ads, s-osinte-hpux-dce.ads,
+ s-osinte-irix.ads, s-osinte-solaris.ads, s-intman-vms.adb,
+ s-osinte-vms.ads, s-osinte-vxworks6.ads, s-osinte-vxworks.ads,
+ s-auxdec.ads, s-auxdec-vms_64.ads, s-osinte-darwin.ads,
+ s-taprop-vms.adb, s-interr-sigaction.adb, s-osinte-linux-hppa.ads,
+ i-vxwork-x86.ads, s-tpopde-vms.ads: Add missing pragma Convention C
+ for subprogram pointers.
+
+ * g-ctrl_c.adb: New file.
+
+ * g-ctrl_c.ads (Install_Handler): New body.
+
+ * freeze.adb (Freeze_Subprogram): Use new flag Has_Pragma_Inline_Always
+ instead of obsolete function Is_Always_Inlined.
+ (Freeze_Entity): check for tagged type in imported C subprogram
+ (Freeze_Entity): check for 8-bit boolean in imported C subprogram
+ (Freeze_Entity): check for convention Ada subprogram pointer in
+ imported C subprogram.
+ (Freeze_Fixed_Point_Type): In the case of a base type where the low
+ bound would be chopped off and go from negative to zero, force
+ Loval_Excl_EP to be the same as Loval_Incl_EP (the included lower
+ bound) so that the size computation for the base type will take
+ negative values into account.
+
+2007-12-13 Eric Botcazou <ebotcazou@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Tristan Gingold <gingold@adacore.com>
+
+ * system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
+ system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
+ system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads,
+ system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
+ system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
+ system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
+ system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
+ system-vxworks-arm.ads, system-darwin-x86.ads, system.ads,
+ system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
+ system-linux-ppc.ads, system-linux-hppa.ads, system-hpux-ia64.ads,
+ system-vms-ia64.ads (Stack_Check_Limits): New target parameter.
+ (Always_Compatible_Rep): New flag to control trampolines globally.
+ (Dynamic_Trampolines_Used): New flag for implementing the
+ No_Implicit_Dynamic_Code restriction more correctly (not yet used,
+ and not yet set correctly for some targets).
+
+ * s-taprop-vxworks.adb: Use stack limit method of stack checking.
+ Simply indirectly call s-stchop when a task is created.
+
+ * ali.ads:
+ New flag added: Stack_Check_Switch_Set which is set when '-fstack-check'
+ appears as an argument (entries A) in an ALI file.
+
+ * fe.h (Stack_Check_Limits): Declare new target parameter.
+ (Check_Implicit_Dynamic_Code_Allowed): New procedure.
+
+ * init.c: Declare __gnat_set_stack_limit_hook for VxWorks kernel RTS.
+ This variable is declared in C to be sure not subject to elaboration
+ code.
+ (__gnat_map_signal, VxWorks): In kernel mode, map SIGILL to
+ Storage_Error.
+
+ * targparm.ads, targparm.adb (Stack_Check_Limits): New parameter.
+ (Always_Compatible_Rep, Dynamic_Trampolines_Used): New parameters.
+
+ * s-stchop.ads: Add comments.
+
+ * s-stchop-vxworks.adb: Package almost fully rewritten to use stack
+ limit method of stack checking.
+
+ * s-stchop-limit.ads: New file.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb, s-taskin.adb, a-ciorma.adb, a-coorma.adb, a-cohama.adb,
+ a-cihama.adb, g-awk.adb,
+ s-inmaop-posix.adb: Update handling of assigned value/unreferenced
+ warnings
+
+ * exp_smem.adb: Update handling of assigned value/unreferenced warnings
+
+ * sem.adb: Update handling of assigned value/unreferenced warnings
+
+ * a-exexpr-gcc.adb: Add a pragma warnings off for boolean return
+
+ * lib-xref.ads: Improve documentation for k xref type
+
+ * lib-xref.adb:
+ Update handling of assigned value/unreferenced warnings
+ (Generate_Reference): Warning for reference to entity for which a
+ pragma Unreferenced has been given should be unconditional.
+ If the entity is a discriminal, mark the original
+ discriminant as referenced.
+
+ * sem_warn.ads, sem_warn.adb
+ (Check_One_Unit): Test Renamed_In_Spec to control giving warning for
+ no entities referenced in package
+ (Check_One_Unit): Don't give message about no entities referenced in
+ a package if a pragma Unreferenced has appeared.
+ Handle new warning flag -gnatw.a/-gnatw.A
+ Update handling of assigned value/unreferenced warnings
+
+ * atree.h: Add flags up to Flag247
+ (Flag231): New macro.
+
+2007-12-13 Jose Ruiz <ruiz@adacore.com>
+
+ * adaint.h: (__gnat_plist_init): Not defined for RTX.
+
+ * initialize.c (__gnat_initialize): Do not call __gnat_plist_init for
+ RTX systems.
+
+ * Makefile.in: Add new files s-tasinf-linux.ads and s-tasinf-linux.adb.
+ (LIBGNAT_TARGET_PAIRS, MISCLIB, THREADSLIB,
+ EXTRA_GNATRTL_NONTASKING_OBJS, EXTRA_GNATRTL_TASKING_OBJS,
+ GNATLIB_SHARED for RTX run time): Use the versions required by RTX.
+
+ * mingw32.h:
+ Do not define GNAT_UNICODE_SUPPORT for RTX since it is not supported.
+
+ * sysdep.c (winflush_function for RTX): Procedure that does nothing
+ since we only have problems with Windows 95/98, which are not
+ supported by RTX.
+ (__gnat_ttyname): Return the empty string on Nucleus, just as
+ done on vxworks.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * a-textio.adb, a-textio.ads:
+ Extensive changes to private part for wide character encoding
+
+ * a-witeio.adb, a-witeio.ads, a-ztexio.ads, a-ztexio.adb
+ (Look_Ahead): Fix mishandling of encoded sequences
+ Move declaration of Wch_Con to private part (should not be visible)
+
+ * ali.adb (Scan_ALI): Set default encoding method to brackets instead of
+ UTF-8. Probably this is never used, but if it is, brackets is
+ clearly correct.
+
+ * bindgen.adb (Get_WC_Encoding): New procedure to properly handle
+ setting wide character encoding for no main program case and when
+ encoding is specified using -W?
+ Initialize stack limit of environment task if stack limit method of
+ stack checking is enabled.
+ (Gen_Adainit_Ada): Use Get_WC_Encoding to output encoding method
+ (Gen_Adainit_C): Use Get_WC_Encoding to output encoding method
+ (Get_Main_Unit_Name): New function.
+ (Gen_Adainit_Ada): Add call to main program for .NET when needed.
+ (Gen_Output_File): Set Bind_Main_Program to True for .NET
+
+ * bindusg.adb: Add line for -Wx switch
+
+ * s-wchcon.adb, s-wchcon.ads: (Is_Start_Of_Encoding): New function
+ Add comments
+ Add new useful constant WC_Longest_Sequences
+
+ * switch-b.adb: Clean up handling of -Wx switch
+ For -gnatWx, set Wide_Character_Encoding_Method_Specified
+
+ * switch-c.adb: -gnatg activates warning on assertion errors
+ For -gnatWx, set Wide_Character_Encoding_Method_Specified
+
+ * s-wchcon.adb: (Is_Start_Of_Encoding): New function
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * a-ngcoty.adb: New pragma Fast_Math
+
+ * opt.adb: New pragma Fast_Math
+
+ * par-prag.adb:
+ Add Implemented_By_Entry to the list of pragmas which do not require any
+ special processing.
+ (Favor_Top_Level): New pragma.
+ New pragma Fast_Math
+
+ * exp_attr.adb: Move Wide_[Wide_]Image routines to Exp_Imgv
+ (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
+ Expand_Allocator_Expression): Take into account VM_Target
+ (Expand_Attribute, case 'Identity): Handle properly the case where
+ the prefix is a task interface.
+ New pragma Fast_Math
+
+ * par.adb (Next_Token_Is): New function
+ (P_Pragma): Add Skipping parameter
+ (U_Left_Paren): New procedure
+ (U_Right_Paren): New procedure
+ New pragma Fast_Math
+
+ * par-ch10.adb (P_Subunit): Unconditional msg for missing ) after
+ subunit
+ New pragma Fast_Math
+
+ * sem_prag.adb: Add significance value to table Sig_Flag for pragma
+ Implemented_By_Entry.
+ (Analyze_Pragma): Add case for Ada 2005 pragma Implemented_By_Entry.
+ (Set_Inline_Flags): Do not try to link pragma Inline onto chain of rep
+ items, since it can apply to more than one overloadable entity. Set
+ new flag Has_Pragma_Inline_Always for Inline_Always case.
+ (Analyze_Pragma, case Complex_Representation): Improve error message.
+ (Analyze_Pragma, case Assert): When assertions are disabled build the
+ rewritten code with Sloc of expression rather than pragma, so new
+ warning about failing is not deleted.
+ (Analyze_Pragma): Allow pragma Preelaborable_Initialization to apply to
+ protected types and update error message to reflect that. Test whether
+ the protected type is allowed for the pragma (an error is issued if the
+ type has any entries, or components that do not have preelaborable
+ initialization).
+ New pragma Fast_Math
+ (Analyze_Pragma, case No_Return): Handle generic instance
+
+ * snames.h, snames.ads, snames.adb:
+ Add new predefined name for interface primitive _Disp_Requeue.
+ New pragma Fast_Math
+
+ * a-tags.ads, a-tags.adb: New calling sequence for
+ String_To_Wide_[Wide_]String
+ (Secondary_Tag): New subprogram.
+
+ * exp_imgv.ads, exp_imgv.adb: Move Wide_[Wide_]Image routines here
+ from Exp_Attr
+ New calling sequence for String_To_Wide_[Wide_]String
+ (Expand_Image_Attribute): Major rewrite. New calling sequence avoids
+ the use of the secondary stack for image routines.
+
+ * a-except-2005.adb, s-wchstw.ads, s-wchstw.adb, s-wwdenu.adb: New
+ calling sequence for String_To_Wide_[Wide_]String
+
+ * par-ch3.adb (P_Declarative_Items): Recognize use of Overriding in
+ Ada 95 mode
+ (P_Unknown_Discriminant_Part_Opt): Handle missing parens gracefully
+ Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+
+ * par-ch6.adb (P_Subprogram): Recognize use of Overriding in Ada 95 mode
+ (P_Formal_Part): Use Skipping parameter in P_Pragma call
+ to improve error recovery
+
+ * par-util.adb (Next_Token_Is): New function
+ (Signal_Bad_Attribute): Use new Namet.Is_Bad_Spelling_Of function
+
+ * par-ch2.adb (Skip_Pragma_Semicolon): Do not resynchronize to
+ semicolon if missing
+ (P_Pragma): Implement new Skipping parameter
+ Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+ Fix location of flag for unrecognized pragma message
+
+ * par-tchk.adb (U_Left_Paren): New procedure
+ (U_Right_Paren): New procedure
+
+2007-12-13 Geert Bosch <bosch@adacore.com>
+
+ * a-tifiio.adb:
+ (Put_Int64): Use Put_Digit to advance Pos. This fixes a case where
+ the second or later Scaled_Divide would omit leading zeroes,
+ resulting in too few digits produced and a Layout_Error as result.
+ (Put): Initialize Pos.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ atree.ads, atree.adb (Flag231..Flag247): New functions
+ (Set_Flag231..Set_Flag247): New procedures
+ (Basic_Set_Convention): Rename Set_Convention to be
+ Basic_Set_Convention
+ (Nkind_In): New functions
+ Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+
+ * exp_ch6.adb (Expand_Call): Use new flag Has_Pragma_Inline_Always
+ instead
+ of obsolete function Is_Always_Inlined
+ (Register_Predefined_DT_Entry): Initialize slots of the second
+ secondary dispatch table.
+ Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+ (Expand_N_Function_Call): Remove special provision for stack checking.
+
+ * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
+ Include _Disp_Requeue in the list of predefined operations.
+ (Find_Interface_ADT): Modified to fulfill the new specification.
+ Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+
+ * par-ch4.adb, nlists.ads, nlists.adb:
+ Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
+
+ * sinfo.ads, sinfo.adb: (Nkind_In): New functions
+ Fix location of flag for unrecognized pragma message
+
+ * sem_ch7.adb: Use Nkind_In
+
+2007-12-13 Vincent Celier <celier@adacore.com>
+
+ * opt.ads:
+ Indicate what flags are used by the Project Manager, gprbuild and
+ gprclean.
+ (Opt.Follow_Links_For_Dirs): New flag
+ (Warn_On_Assertion_Failure): New flag
+ (Wide_Character_Encoding_Method_Specified): New flag
+ (Suppress_All_Inlining): New switch set by -fno-inline
+ (Real_VMS_Target): New flag
+ New pragma Fast_Math
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * back_end.adb: Recognize -fno-inline
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb: Fix optimization problem with short-circuited form
+
+2007-12-13 Bob Duff <duff@adacore.com>
+
+ * clean.adb (Usage): Add line for -aP
+ (Check_Version_And_Help): Change Check_Version_And_Help to be generic,
+ with a parameter "procedure Usage", instead of passing a pointer to a
+ procedure. This is to eliminate trampolines (since the Usage procedure
+ is often nested in a main procedure, and it would be inconvenient to
+ unnest it).
+
+ * g-comlin.adb (For_Each_Simple_Switch): Change For_Each_Simple_Switch
+ to be generic, with a parameter "procedure Callback (...)", instead of
+ passing a pointer to a procedure. This is to eliminate trampolines
+ (since the Callback procedure is usually nested).
+
+ * gnatfind.adb, switch.adb, switch.ads, gnatlink.adb, gnatls.adb,
+ gnatname.adb, gnatxref.adb, gnatchop.adb, gprep.adb, gnatbind.adb
+ (Check_Version_And_Help): Change Check_Version_And_Help to be generic.
+
+ * g-pehage.adb (Compute_Edges_And_Vertices, Build_Identical_Key_Sets):
+ Use the generic Heap_Sort_G instead of Heap_Sort_A.
+
+2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.ads, einfo.adb: Flag 232 is now Implemented_By_Entry.
+ (Implemented_By_Entry, Set_Implemented_By_Entry): New routines.
+ (Write_Entry_Flags): Add an entry for Implemented_By_Entry.
+ (Renamed_In_Spec): New flag
+ (Has_Pragma_Inline_Always): New flag
+ Add missing doc for pragma Obsolescent_Warning
+ Add missing doc for 17 additional unused flags (230-247)
+ (Is_Derived_Type): Remove condition "not Is_Generic_Type".
+ Alphabetize with clauses.
+ Separate Is_Thunk and Has_Thunks flags
+ (Write_Entity_Flags): Add forgotten entry for Has_Thunks
+ (Related_Interface): Renamed to Related_Type.
+ (Has_Thunks/Set_Has_Thunks): Subprograms of new attribute.
+ (Set_Is_Flag): Restrict the assertion.
+
+2007-12-13 Vincent Celier <celier@adacore.com>
+
+ * errout.adb (Output_Source_Line): Do not keep a trailing space after
+ the source line number if the source line is empty.
+
+2007-12-13 Geert Bosch <bosch@adacore.com>
+
+ * eval_fat.adb (Decompose_Int): Handle argument of zero.
+ (Compose): Remove special casing of zero.
+ (Exponent): Likewise.
+ (Fraction): Likewise.
+ (Machine): Likewise.
+ (Decompose): Update comment.
+
+2007-12-13 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): If there is an aggregate for a
+ limited ancestor part, initialize controllers of enclosing record
+ before expanding ancestor aggregate.
+ (Gen_Assign): If a component of the aggregate is box-initialized, add
+ code to call Initialize if the component is controlled, and explicit
+ assignment of null if the component is an access type.
+
+ Handle properly aggregates for limited types that appear in object
+ declarations when the aggregate contains controlled values such as
+ protected types.
+ When expanding limited aggregates into individual components, do not
+ call Adjust on controlled components that are limited.
+
+2007-12-13 Ed Schonberg <schonberg@adacore.com>
+
+ * expander.adb: Take into account N_Subprogram_Renaming_Declaration
+
+2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Predefined_Primitive_Bodies): Generate the body of
+ predefined primitive _Disp_Requeue.
+ (Make_Predefined_Primitive_Specs): Create the spec for predefined
+ primitive _Disp_Requeue.
+ (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): Set the
+ type of formal Renamed_Eq to Entity_Id (instead of Node_Id).
+ (Make_Predefined_Primitive_Specs): Spec of "=" needed if the parent is
+ an interface type. In case of limited interfaces we now declare all the
+ predefined primitives associated with synchronized interfaces as
+ abstract.
+ (Predef_Spec_Or_Body): For interface types generate abstract subprogram
+ declarations.
+ (Predefined_Primitive_Bodies): Add body of "=" if the parent of the
+ tagged type is an interface type and there is no user-defined equality
+ function.
+ Add also bodies of predefined primitives associated with synchronized
+ interfaces.
+ (Freeze_Record_Type): Do not build bodies of predefined primitives of
+ interface types because they are now defined abstract.
+ Add missing documentation.
+ (Expand_Record_Controller): Update occurrence of Related_Interface
+ to Related_Type.
+ (Build_Offset_To_Top_Functions): Do nothing in case of VM.
+ (Expand_N_Object_Declaration): Take into account VM_Target when handling
+ class wide interface object declaration.
+ (Expand_Previous_Access_Type): Do not create a duplicate master entity
+ if the access type already has one.
+ (Expand_N_Object_Declaration): Defend against attempt to validity check
+ generic types. Noticed for -gnatVcf specified with previous errors.
+
+2007-12-13 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
+ Expand_Allocator_Expression): Take into account VM_Target
+
+ * exp_ch5.adb (Expand_N_Extended_Return_Statement): Do not use
+ secondary stack when VM_Target /= No_VM
+
+2007-12-13 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch7.adb (Expand_N_Package_Body): Replace occurrence of attribute
+ Is_Complation_Unit by Is_Library_Level_Entity in the code
+ that decides if the static dispatch tables need to be built.
+ (Wrap_Transient_Declaration): Do not generate a finalization call if
+ this is a renaming declaration and the renamed object is a component
+ of a controlled type.
+
+2007-12-13 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch8.ads, exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration):
+ In the case where the renamed subprogram is a dereference, call
+ Force_Evaluation on the prefix.
+
+2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch9.adb (Expand_N_Asynchronous_Select,
+ Expand_N_Conditional_Entry_Call, Expand_N_Timed_Entry_Call): Code and
+ comment reformatting.
+ (Set_Privals): Inherit aliased flag from formal. From code reading.
+ (Build_Simple_Entry_Call): Out parameters of an access type are passed
+ by copy and initialized from the actual. This includes entry parameters.
+ (Expand_N_Requeue_Statement): Reimplement in order to handle both Ada 95
+ and Ada 2005 models of requeue.
+ (Null_Statements): Still connsider do-end block null if it contains
+ Unreferenced and Warnings pragmas.
+ (Expand_N_Accept_Statement): Do not optimize away null do end if
+ dispatching policy is other than defaulted.
+ (Expand_N_Timed_Entry_Call): When the triggering statement is a
+ dispatching call, manually analyze the delay statement.
+ (Find_Parameter_Type): Move subprogram to Sem_Util.
+
+2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Primitive
+ _Disp_Requeue occupies dispatch table slot number 15. Move
+ _Disp_Timed_Select to slot 16.
+ (Make_Disp_Requeue_Body, Make_Disp_Requeue_Spec): New routines which
+ generate the spec and body of _Disp_Reqeueue.
+ (Make_DT): Build and initialize the second dispatch table.
+ Handle initialization of RC_Offset when the parent
+ is a private type with variable size components.
+ (Make_Secondary_DT): Complete documentation. Add support to
+ initialize the second dispatch table.
+ (Make_Tags): Generate the tag of the second dispatch table.
+ (Register_Primitive): Add support to register primitives in the
+ second dispatch table.
+
+2007-12-13 Pascal Obry <obry@adacore.com>
+
+ * expect.c (__gnat_kill) [WIN32]: Implement the SIGINT signal on
+ Windows. This signal is used by gnatmake to kill child processes for
+ example.
+
+2007-12-13 Javier Miranda <miranda@adacore.com>
+
+ * exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
+ support for generic dispatching constructor calls in which we need to
+ locate the tag of a secondary dispatch table associated with an
+ interface type to properly dispatch the call.
+ (Expand_N_Attribute_Reference [case Address],
+ Expand_Dispatching_Constructor_Call, Expand_Unc_Deallocation): Fix
+ handling of VM targets.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Assert): Recognize new warning flag for
+ assert fail
+
+ * ug_words: Add entries for -gnatw.a -gnatw.A
+
+ * sem_res.adb (Set_String_Literal_Subtype): If the context of the
+ literal is a subtype with non-static constraints, use the base type of
+ the context as the base of the string subtype, to prevent type
+ mismatches in gigi.
+ (Resolve_Actuals): If the actual is an entity name, generate a
+ reference before the actual is resolved and expanded, to prevent
+ spurious warnings on formals of enclosing protected operations.
+ (Analyze_Overloaded_Selected_Component): If type of prefix if
+ class-wide, use visible components of base type.
+ (Resolve_Selected_Component): Ditto.
+ (Resolve_Short_Circuit): Detect case of pragma Assert argument
+ evaluating to False, and issue warning message.
+
+ * usage.adb: Add lines for -gnatw.a and -gnatw.A
+
+2007-12-13 Emmanuel Briot <briot@adacore.com>
+
+ * g-calend.ads (No_Time): New constant, to represent an uninitialized
+ time value
+
+ * g-catiio.ads, g-catiio.adb (Value): Added support for more date
+ formats.
+ (Month_Name_To_Number): New subprogram
+
+ * g-dirope.adb (Get_Current_Dir): On windows, normalize the drive
+ letter to upper-case.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * gnat1drv.adb (Gnat1drv): Properly set new flag Opt.Real_VMS_Target
+
+ * layout.adb (Resolve_Attribute, case 'Access): If designated type of
+ context is a limited view, use non-limited view when available. If the
+ non-limited view is an unconstrained array, this enforces consistency
+ requirements in 3.10.2 (27).
+ (Layout_Type): For an access type whose designated type is a limited
+ view, examine its declaration to determine if it is an unconstrained
+ array, and size the access type accordingly.
+ (Layout_Type): Do not force 32-bits for convention c subprogram
+ pointers in -gnatdm mode, only if real vms target.
+
+ * sem_attr.adb (Analyze_Access_Attribute): Use new flag
+ Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
+ (Analyze_Access_Attribute,Attribute_Address): Remove checks for
+ violations of the No_Implicit_Dynamic_Code restriction.
+ (Resolve_Attribute, case 'Access): If designated type of context is a
+ limited view, use non-limited view when available. If the non-limited
+ view is an unconstrained array, this enforces consistency requirements
+ in 3.10.2 (27).
+ (Layout_Type): For an access type whose designated type is a limited
+ view, examine its declaration to determine if it is an unconstrained
+ array, and size the access type accordingly.
+
+2007-12-13 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (GNATCmd): Do not issue -d= switch to gnatmetric when
+ object directory of main project does not exist.
+ On VMS, correctly set then environment variable for the source
+ directories.
+
+2007-12-13 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * g-regist.ads, g-regist.adb (Set_Value): new parameter Expand; when
+ set to True this procedure will create the value of type REG_EXPAND_SZ.
+ It was only possible to create REG_SZ values before.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * g-spchge.ads, g-spchge.adb, g-u3spch.adb, g-u3spch.ads,
+ g-wispch.adb, g-wispch.ads, g-zspche.adb, g-zspche.ads,
+ namet-sp.adb, namet-sp.ads: New files.
+
+ * g-speche.adb: Use generic routine in g-spchge
+
+ * s-wchcnv.ads, s-wchcnv.adb:
+ Minor code cleanup (make formal type consistent with spec)
+
+ * namet.adb: Update comments.
+
+ * par-endh.adb (Evaluate_End_Entry): Use new
+ Namet.Sp.Is_Bad_Spelling_Of function
+
+ * par-load.adb (Load): Use new Namet.Sp.Is_Bad_Spelling_Of function
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): If a component of an
+ ancestor is an access type initialized with a box, set its type
+ explicitly, for use in subsequent expansion.
+ (Check_Misspelled_Component): Use new Namet.Sp.Is_Bad_Spelling_Of
+ function
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * g-spipat.adb (Break): Fix accessibility error (vsn taking not null
+ access Vstring)
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * inline.adb (Back_End_Cannot_Inline): Use new flag
+ Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
+
+ * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Use new flag
+ Has_Pragma_Inline_Always instead.
+ of obsolete function Is_Always_Inlined
+ (Build_Body_To_Inline): Same change
+ (Cannot_Inline): Same change
+ Do not give warning on exception raise in No_Return function
+
+ * sem_ch13.adb (Analyze_Record_Representation_Clause): If an inherited
+ component has two inconsistent component clauses in the same record
+ representation clause, favor the message that complains about
+ duplication rather than inconsistency.
+ Update comments.
+ (Record_Representation_Clause): Do not warn on missing component
+ clauses for inherited components of a type extension.
+ (Rep_Item_Too_Late): Do not attempt to link pragma into rep chain for
+ an overloadable item if it is a pragma that can apply to multiple
+ overloadable entities (e.g. Inline) because a pragma cannot be on
+ more than one chain at a time.
+ (Validate_Unchecked_Conversion): Add code to warn on unchecked
+ conversion where one of the operands is Ada.Calendar.Time.
+ (Analyze_Attribute_Definition_Clause): Fix typo in error message.
+ For now, ignore Component_Size clause on VM targets, as done for
+ pragma Pack.
+
+2007-12-13 Emmanuel Briot <briot@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * prj.ads, prj.adb (Is_A_Language): Now takes a Name_Id instead of a
+ string
+ (Must_Check_Configuration, Default_Language_Is_Ada): new flags in
+ prj.ads
+ (Hash): Move instantiation of System.HTable.Hash from spec to body
+ (prj-nmsc.adb): Optimize calls to Name_Find when on case sensitive
+ systems, since we do not need to recompute the Name_Id for the canonical
+ file name.
+ (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
+ as a parameter. This parameter is in fact always "ada" in all calls, and
+ we were doing 160560 extra calls to Name_Find to convert it to Name_Ada
+ while loading a project with 40000 files
+
+ * prj-attr.adb: Fix name of attribute Dependency_Driver
+ Change the kind of indexing for attribute Root
+
+ * prj-dect.adb (Parse_Declarative_Items): Allow redeclarations of
+ variables already declared, in case constructions.
+
+ * prj-env.adb (Initialize): Reset Current_Source_Path_File and
+ Current_Object_Path_File to No_Path.
+
+ * prj-ext.adb (Initialize_Project_Path): In multi language mode, use
+ ADA_PROJECT_PATH if value of GPR_PROJECT_PATH is empty.
+
+ * prj-makr.adb: new parameter Current_Dir
+
+ * prj-nmsc.ads, prj-nmsc.adb (Find_Explicit_Sources): Do not look for
+ Ada sources when language is not Ada.
+ Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
+ (Find_Excluded_Sources, Find_Explicit_Sources): new subprograms
+ (Must_Check_Configuration, Default_Language_Is_Ada): new flags.
+ (Locate_Directory): Always resolve links when computing Canonical_Path
+ (Look_For_Sources): Make sure that Name_Buffer contains the file name
+ in Source_Files before checking for the presence of a directory
+ separator.
+ Optimize calls to Name_Find when on case sensitive systems.
+ (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
+ as a parameter.
+ (Prj.Nmsc.Check): new parameter Current_Dir
+ (Check_Ada_Naming_Schemes): Restrictions on suffixes are relaxed. They
+ cannot be empty and the spec suffix cannot be the same as the body or
+ separate suffix.
+ (Get_Unit): When a file name can be of several unit kinds (spec, body or
+ subunit), always consider the longest suffix.
+ (Check_Configuration): Do not issue an error if there is no compiler
+ for a language. Just issue a warning and ignore the sources for the
+ language.
+ (Check_Library_Attributes): Only check Library_Dir if Library_Name is
+ not empty.
+ (Check_Naming_Schemes.Maked_Unit): Only output message if high verbosity
+ (Unit_Exceptions): New hash table
+ (Check_Naming_Schemes): Check if a file that could be a unit because of
+ the naming scheme is not in fact a source because there is an exception
+ for the unit.
+ (Look_For_Sources): Put the unit exceptions in hash table
+ Unit_Exceptions
+ (Get_Unit_Exceptions): Give initial value No_Source to local variable
+ Other_Part to avoid exception when code is compiled with validity
+ checking.
+ (Get_Sources_From_File): Check that there is no directory information
+ in the file names.
+ (Look_For_Sources): Check that there is no directory information in the
+ list of file names in Source_Files.
+ (Look_For_Sources): In multi-language mode, do not allow exception file
+ names that are excluded.
+ (Excluded_Sources_Htable): New hash table
+ (Search_Directories.Check_File): New procedure to simplify
+ Search_Directories.
+ (Search_Directories): Do not consider excluded sources
+ (Look_For_Sources): Populate Excluded_Sources_Htable before calling
+ Search_Directories.
+ (Get_Exceptions): Set component Lang_Kind of Source_Data
+ (Get_Unit_Exceptions): Ditto
+ (Search_Directories): Ditto
+
+ * prj-pars.adb: new parameter Current_Dir
+
+ * prj-part.ads, prj-part.adb:
+ Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
+ (Opt.Follow_Links_For_Dirs): New flag
+ (Project_Path_Name_Of): Cache information returned by this routine as
+ Locate_Regular_File is a costly routine. The code to output a log
+ information and the effective call to Locate_Regular_File is now
+ factorized into a routine (code clean-up).
+ (Parse, Parse_Single_Project): new parameter Current_Dir
+ When main project file cannot be found, indicate in the error
+ message the project path that was used to do the search.
+
+ * prj-proc.ads, prj-proc.adb (Opt.Follow_Links_For_Dirs): New flag
+ (Prj.Proc.Process*): new parameter Current_Dir
+
+ * switch-m.adb: Change Opt.Follow_Links to Opt.Follow_Links_For_Files
+
+2007-12-13 Bob Duff <duff@adacore.com>
+
+ * restrict.ads, restrict.adb (Check_Implicit_Dynamic_Code_Allowed): New
+ procedure to be called from the back end to check the
+ No_Implicit_Dynamic_Code restriction.
+
+2007-12-13 Arnaud Charlet <charlet@adacore.com>
+
+ * rtsfind.adb (Check_CRT): Take into account RTE_Available_Call
+ Fixes another case where RTE_Available_Call was ignored instead of being
+ taken into account.
+ (Load_Fail): Ditto.
+
+ * rtsfind.ads: Add new entries.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * g-byorma.adb, g-byorma.ads, g-decstr.adb, g-decstr.ads,
+ g-deutst.ads, g-encstr.adb, g-encstr.ads, g-enutst.ads: New files.
+
+ * scn.adb: Implement BOM recognition
+
+2007-12-13 Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Check_Private_Child_Unit): A non-private library level
+ subprogram body that acts as its own spec may not have a non-private
+ WITH clause on a private sibling.
+ (Build_Unit_Name): If the parent unit in the name in a with_clause on a
+ child unit is a renaming, create an implicit with_clause on that
+ parent, and not on the unit it renames, to prevent visibility errors
+ in the current unit.
+
+2007-12-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Formal_Subprogram): In the subprogram
+ renaming declaration, use the Slocs of the formal parameters from the
+ declaration of the formal subprogram when creating the formal parameter
+ entities in the renaming declaration.
+ (Analyze_Formal_Type_Declaration): Change the placement of the error
+ message concerning illegal known discriminants. It is now posted on the
+ type rather than on the first discriminant. This change ensures early
+ error report.
+ (Freeze_Subprogram_Body): If the generic subprogram is nested within
+ the package body that contains the instance, do not generate an
+ out-of-place freeze node for the enclosing package.
+ (Collect_Previous_Instantiations): Ignore internal instantiations
+ generated for formal packages.
+ (Validate_Derived_Type_Instance): Add a check that when a formal
+ derived type is Known_To_Have_Preelab_Init then the actual type must
+ have preelaborable initialization, and issue an error when this
+ condition is violated.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * s-imenne.adb, s-imenne.ads: New files.
+
+ * s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
+ s-imgdec.ads, s-imgenu.ads, s-imgint.adb, s-imgint.ads, s-imglld.adb,
+ s-imglld.ads, s-imglli.adb, s-imglli.ads, s-imgllu.adb, s-imgllu.ads,
+ s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwch.adb,
+ s-imgwch.ads: New calling sequence for Image routines to avoid sec
+ stack usage.
+
+2007-12-13 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Avoid
+ generation of spurious error if parent is an interface type; caused
+ because predefined primitive bodies will be generated later by
+ Freeze_Record_Type.
+ (Process_Subtype): The subtype inherits the Known_To_Have_Preelab_Init
+ flag.
+ (Derive_Subprograms): Handle derivations of predefined primitives
+ after all the user-defined primitives to ensure that they are
+ found in proper order in instantiations.
+ (Add_Interface_Tag_Components, Inherit_Components): Update occurrences
+ of Related_Interface to Related_Type.
+ (Record_Type_Declaration): Minor reordering of calls to decorate the
+ Tag component because the entity must have set its Ekind attribute
+ before setting its Is_Tag attribute.
+ (Analyze_Subtype_Declaration): In the case of subtypes with
+ Private_Kind, inherit Known_To_Have_Preelab_Init from the parent.
+
+2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): Include the requeue
+ statement to the list of contexts where a selected component with a
+ concurrent tagged type prefix should yield a primitive operation.
+ (Find_Primitive_Operation): Handle case of class-wide types.
+ (Analyze_Overloaded_Selected_Component): If type of prefix is
+ class-wide, use visible components of base type.
+ (Resolve_Selected_Component): Ditto.
+ (Try_Primitive_Operation, Collect_Generic_Type_Ops): If the type is a
+ formal of a generic subprogram. find candidate interpretations by
+ scanning the list of generic formal declarations.:
+ (Process_Implicit_Dereference_Prefix): If the prefix has an incomplete
+ type from a limited_with_clause, and the full view is available, use it
+ for subsequent semantic checks.
+ (Check_Misspelled_Selector): Use Namet.Sp.Is_Bad_Spelling_Of function
+ (Find_Primitive_Operation): New function.
+ (Analyze_Overloaded_Selected_Component): insert explicit dereference
+ only once if several interpretations of the prefix yield an access type.
+ (Try_Object_Operation): Code and comment cleanup.
+ (Analyze_Selected_Component): Reorder local variables. Minot comment and
+ code reformatting. When the type of the prefix is tagged concurrent, a
+ correct interpretation might be available in the primitive and
+ class-wide operations of the type.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for
+ renaming entry as subprogram using rename-as-body if subprogram spec
+ frozen.
+ (Use_One_Type): The clause is legal on an access type whose designated
+ type has a limited view.
+ (Find_Direct_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
+ (Find_Expanded_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
+ (Analyze_Renamed_Primitive_Operation): new procedure to determine the
+ operation denoted by a selected component.
+ (Analyze_Renamed_Entry): Resolve the prefix of the entry name, because
+ it can be an expression, possibly overloaded, that returns a task or
+ an access to one.
+
+2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a
+ requeue statement is dispatching. Do not emit an error when the name is
+ not an entry and the context is a dispatching select. Add code to
+ perform subtype conformance between the formals of the current entry
+ and those of the target interface primitive.
+ (Analyze_Asynchronous_Select, Analyze_Conditional_Entry_Call, Analyze_
+ Timed_Entry_Call): Analyze the triggering statement as the first step of
+ the processing. If this is a dispatching select, postpone the analysis
+ of all select statements until the Expander transforms the select. This
+ approach avoids generating duplicate identifiers after the Expander has
+ replicated some of the select statements. In case the Expander is
+ disabled, perform regular analysis.
+ (Check_Triggering_Statement): New routine.
+ (Analyze_Requeue): Exclude any interpretations that are not entries when
+ checking overloaded names in a requeue. Also test type conformance for
+ matching interpretations rather than requiring subtype conformance at
+ that point to conform with the RM's resolution rule for requeues.
+
+2007-12-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an
+ inherited operation is a defaulted tag-indeterminate call, and there is
+ a statically tagged actual, use the static tag as a controlling actual
+ for the defaulted actual.
+
+2007-12-13 Geert Bosch <bosch@adacore.com>
+
+ * sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static
+ context, so do not call Check_Non_Static_Context.
+
+2007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check
+ whether formal E is an entity which may have parameters.
+
+2007-12-13 Bob Duff <duff@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Is_Concurrent_Interface): New routine.
+ (Set_Convention): New procedure to set the Convention flag, and in
+ addition make sure the Favor_Top_Level flag is kept in sync (all
+ foreign-language conventions require Favor_Top_Level = True).
+ (Collect_Abstract_Interfaces): Update occurrences of Related_Interface
+ to Related_Type.
+ (Collect_Interfaces_Info): Minor update to handle the two secondary
+ dispatch tables. Update occurrence of Related_Interface to Related_Type.
+ (Generate_Parent_Ref): Add parameter to specify entity to check
+ (Is_Preelaborable_Expression): Allow the name of a discriminant to
+ initialize a component of a type with preelaborable initialization.
+ This includes the case of a discriminal used in such a context.
+ (Is_Dependent_Component_Of_Mutable_Object): Take into account the
+ latest Ada 2005 rules about renaming and 'Access of
+ discriminant-dependent components.
+ (Check_Nested_Access): Add handling when there are no enclosing
+ subprograms (e.g. case of a package body).
+ (Find_Parameter_Type): Factor routine from several other compiler files.
+ Remove routine from Find_Overridden_Synchronized_Primitive.
+
+2007-12-13 Thomas Quinot <quinot@adacore.com>
+
+ * sinput.adb (Get_Source_File_Index): Add assertion to guard against
+ an invalid access to an uninitialized slot in the
+ Source_File_Index_Table.
+
+2007-12-13 Thomas Quinot <quinot@adacore.com>
+
+ * sinput-l.adb (Load_File): Disable style checks when preprocessing.
+
+2007-12-13 Bob Duff <duff@adacore.com>
+
+ * s-soflin.ads: Apply new pragma Favor_Top_Level to all
+ access-to-subprogram types in this package.
+
+2007-12-13 Olivier Hainque <hainque@adacore.com>
+
+ * s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant
+ with Stack_Grows_Down in System.Parameters. Rename Array_Address into
+ Stack_Overlay_Address and document that we are using an internal
+ abstraction.
+ (Byte_Size, Unsigned_32_Size): Remove, now useless.
+ (Pattern_Type, Bytes_Per_Pattern): New subtype and constant, to be used
+ consistently throughout the various implementation pieces.
+
+ * s-stausa.adb (Stack_Slots): New type, abstraction for the stack
+ overlay we are using to fill the stack area with patterns.
+ (Top_Slot_Index_In, Bottom_Slot_Index_In): Operations on Stack_Slots.
+ (Push_Index_Step_For, Pop_Index_Step_For): Likewise.
+ (Fill_Stack, Compute_Result): Use the Stack_Slots abstraction.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * s-stoele.adb ("mod"): mod negative value raises Constraint_Error
+
+2007-12-13 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tassta.adb:
+ (Create_Task): Take into account tasks created by foreign threads.
+ Code clean up: use constants instead of hard coded values.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * styleg.adb (Check_Comment): More liberal rules for comment placement
+
+2007-12-13 Olivier Hainque <hainque@adacore.com>
+
+ * tb-alvms.c (struct tb_entry_t, __gnat_backtrace): Revert back to use
+ of Procedure Value instead of Frame Pointer as the invocation
+ identifier associated with the instruction pointer in each traceback
+ entry.
+
+ * g-trasym-vms-alpha.adb (Traceback_Entry, PV_For, FP_For,
+ TB_Entry_For): Revert back to use of Procedure Value instead of Frame
+ Pointer as the invocation identifier passed to tbk$symbolize.
+
+ * s-traent-vms.ads, s-traent-vms.adb
+ (Traceback_Entry, PV_For, FP_For, TB_Entry_For): Revert back to use of
+ Procedure Value instead of Frame Pointer as the invocation identifier
+ passed to tbk$symbolize.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * tbuild.ads, tbuild.adb:
+ Fix location of flag for unrecognized pragma message
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * treepr.ads, treepr.adb: (pl): implement use of positive value
+ shorthands
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * xeinfo.adb: Remove warnings
+ * xnmake.adb: Remove warnings
+ * xsinfo.adb: Remove warnings
+ * xtreeprs.adb: Remove warnings
+ * xsnames.adb: Remove warnings
+
+ * a-ngcoar.adb: Fix typo.
+ * s-interr.adb: Minor reformatting
+ * env.c: Minor reformatting.
+ * g-bytswa.adb: Minor reformatting.
+ * g-rannum.ads: Minor documentation improvements
+ * s-tasinf-mingw.adb: Minor header fix
+ * a-clrefi.adb: Minor reformatting
+ * g-sttsne.ads: Minor documentation improvement
+ * g-sttsne-locking.ads: Minor documentation improvement
+ * g-soliop-solaris.ads: Minor documentation improvement
+ * g-soliop-mingw.ads: Minor documentation improvement
+ * g-soliop.ads: Minor documentation improvement
+ * exp_aggr.ads: Minor reformatting
+ * debug.adb: Add documentation for the gprbuild debug flags
+ * exp_ch2.adb: Use Nkind_In to simplify code throughout
+ * exp_pakd.adb: Minor reformatting
+
+ * g-altive.ads, g-alleve.adb: Remove assertions.
+ Add comment about minor differences between targets regarding
+ floating-point operations.
+
+ * g-thread.adb: Remove pragma unreferenced.
+ * lib.ads: Minor reformatting
+ * par-ch9.adb: Minor reformatting of error messages
+ * sem_case.adb: Minor reformatting
+ * s-fileio.adb: Minor reformattinng
+ * s-vmexta.ads: Minor typo
+ * vxaddr2line.adb:
+ Take into account 'Success' value as per new GNAT warning.
+
+2007-12-13 Vincent Celier <celier@adacore.com>
+
+ * a-direct.adb (Create_Path): Always take '/' as a directory separator,
+ even on Windows
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * gnat_ugn.texi: Dcoument new rules for style check comment alignment
+ Document that suffixes may be terminations of each others
+ Add doc for -gnatw.a and -gnatw.A
+ Document gnatbind -Wx switch
+ Document BOM recognition
+ Document pragma Implemented_By_Entry.
+ Document new units.
+
+ * gnat_rm.texi: (Favor_Top_Level): Document new pragma.
+ Add doc for pragma Unreferenced suppressing no entities referenced msg
+ Add documentation of GNAT.Directory_Operations.Iteration
+ Add documentation of GNAT.Random_Numbers
+ Add documentation for pragma Shared.
+ Correct documentation for Bit_Order
+ Add documentation for the Pool_Address attribute.
+ Fix and improve documentation of pragma machine_attribute.
+ New pragma Fast_Math
+ Document BOM recognition
+
+ * vms_data.ads: Add entries for -gnatw.a -gnatw.A
+ Add /Wide_Character_Encoding for binder
+ Add qualifier for the new gnatpp option --no-separate-loop-then
+
+2007-12-13 Matthew Heaney <heaney@adacore.com>
+
+ * a-cohase.ads, a-cihama.ads, a-cihase.ads, a-cohama.ads: Document
+ which generic formal operations are called for each operation.
+
+2007-12-13 Olivier Hainque <hainque@adacore.com>
+
+ * tb-gcc.c (uw_data_t, trace_callback): Only define if not GCC-SJLJ eh.
+ (__gnat_backtrace): Early return 0 if using GCC-SJLJ eh.
+
+2007-12-13 Emmanuel Briot <briot@adacore.com>
+
+ * s-os_lib.ads, s-os_lib.adb (Normalize_Pathname): Do not compute
+ Reference_Dir unless we actually need it.
+
+2007-12-13 Vasiliy Fofanov <fofanov@adacore.com>
+ Tristan Gingold <gingold@adacore.com>
+
+ * g-socthi-vms.ads (Fd_Set_Access): make it 32-bit.
+
+ * s-osprim-vms.adb,
+ a-calend-vms.adb: Remove pragma warning off and add pragma
+ unreferenced.
+
+2007-12-13 Robert Dewar <dewar@adacore.com>
+
+ * impunit.adb: Add entries for missing units
+
+ * Makefile.rtl: Add new run-time units.
+
+ * Make-lang.in: Update dependencies.
+
+2007-12-13 Bob Duff <duff@adacore.com>
+
+ * itypes.ads, itypes.adb (Create_Itype): For access-to-subprogram
+ types, set Can_Use_Internal_Rep appropriately, based on
+ Always_Compatible_Rep_On_Target.
+
+2007-12-13 Gary Dismukes <dismukes@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * make.adb (Scan_Make_Arg): Add test for -aamp_target switch, passing
+ it to the front end and setting the aamp_target environment variable
+ to the switch's argument to ensure that gnaampbind and gnaamplink will
+ take the specified library into account.
+ (Make): Only set Check_Object_Consistency to False for JVM, not for CIL
+ target, since the CIL compiler supports an "object" file (.il files).
+
+2007-12-13 Vincent Celier <celier@adacore.com>
+
+ * symbols-processing-vms-ia64.adb (Process.Skip_Half): New procedure
+ (Process.H): Remove variable. Replace Read_Half (H) with Skip_Half.
+
+2007-12-13 Geert Bosch <bosch@adacore.com>
+
+ * s-parame-vxworks.adb:
+ Update comments to reflect usage of this package by Nucleus.
+
+2007-12-13 Arnaud Charlet <charlet@adacore.com>
+
+ * i-vxwork.ads: Kill new warning on Convention C, since changing the
+ spec would break code.
+
+ * i-forbla-unimplemented.ads, vx_stack_info.c: New files.
+
+ * system-vxworks-alpha.ads: Removed.
+
+2007-12-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ada-tree.h (TYPE_RETURNS_BY_TARGET_PTR_P): Move around.
+
+2007-12-09 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/34366
+ * sem_ch3.adb (Designates_T): New function.
+ (Mentions_T): Factor reusable part of the logic into Designates_T.
+ Consider non-access parameters and access and non-access result.
+ (Check_Anonymous_Access_Components): Set ekind of anonymous access to
+ E_Subprogram_Type to E_Anonymous_Access_Subprogram_Type.
+
+ * einfo.ads: Update comment for E_Anonymous_Access_Subprogram_Type.
+
+2007-12-07 Ludovic Brenta <ludovic@ludovic-brenta.org>
+
+ PR ada/34361
+ * mlib-tgt.adb, mlib-tgt.ads: Fix comments at the top to reflect
+ the new implementation of target-specific calls.
+
+2007-12-07 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <case E_Access_Type>: When computing
+ the designated full view, only follow a second level Full_View link
+ for Non_Limited_Views of from_limited_with references.
+
+2007-12-07 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/15805
+ * sem_ch6.adb (Process_Formals): Prevent an access type formal
+ to be initialized with an access to constant object.
+
+ * sem_ch3.adb (Analyze_Object_Declaration): Signal an error
+ when an access to constant is used to initialize an access
+ value.
+
+ PR ada/21346
+ * a-direct.adb (Compose): Containing_Directory can be an empty string.
+
+2007-12-07 Olivier Hainque <hainque@adacore.com>
+
+ PR ada/34173
+ * decl.c (gnat_to_gnu_entity) <case E_Array_Type>: When setting
+ the alignment on the GCC XUA array type, set TYPE_USER_ALIGN if
+ this is from an alignment clause on the GNAT entity.
+ * utils.c (create_field_decl): Rewrite the computation of DECL_ALIGN
+ to distinguish the case where we set it from the type's alignment.
+ When so, propagate TYPE_USER_ALIGN into DECL_USER_ALIGN to indicate
+ whether this alignment was set from an explicit alignment clause.
+
+2007-12-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (make_packable_type): Revert last change.
+ (gnat_to_gnu_field): Avoid setting size and position multiple times.
+ * utils.c (finish_record_type): Retrieve the real name of the type.
+
+2007-12-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (lvalue_required_p): Take base node directly instead
+ of its parent. Rename second parameter to 'gnu_type'.
+ <N_Indexed_Component>: Return 0 if the node isn't the prefix.
+ <N_Slice>: Likewise.
+ (Identifier_to_gnu): Rename parent_requires_lvalue to require_lvalue.
+ Adjust calls to lvalue_required_p.
+
+2007-12-05 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/21489
+ * exp_ch9.adb (Build_Simple_Entry_Call): Initialize OUT access type
+ parameters of an entry call.
+
+2007-12-03 Robert Dewar <dewar@adacore.com>
+ Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/34287
+ * sem_util.adb (Safe_To_Capture_Value): Do not capture values
+ of variables declared in a library-level package.
+
+2007-12-02 Samuel Tardieu <sam@rfc1149.net>
+
+ * clean.adb (Clean_Library_Directory): Use Empty_String'Access intead
+ of Empty_String'Unchecked_Access.
+
+ * Makefile.in: Add support for sh4-linux.
+
+ * system-linux-sh4.ads: New file.
+
+2007-12-01 Kostik Belousov <kostikbel@ukr.net>
+
+ PR ada/33722
+ * env.c (__gnat_setenv): FreeBSD 7 has a POSIX conformant putenv()
+ and its argument must not be free()ed.
+
+2007-11-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (make_packable_type): Retrieve the real name of the type.
+ (maybe_pad_type): Simplify similar code.
+
+2007-11-28 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/15804
+ * par-ch3.adb (P_Variant_Part): Signal an error when anything other
+ than an identifier is used after "case" in a variant_part.
+
+ PR ada/17318
+ * par-ch4.adb (Is_Parameterless_Attribute): New map.
+ (P_Name, Scan_Apostrophe block): Parse left parenthesis following
+ attribute name or not depending on the new map.
+
+ * sem-attr.adb (Analyze_Attribute): Parameterless attributes
+ returning a string or a type will not be called with improper
+ arguments.
+
+ * sem-attr.ads (Attribute_Class_Array): Move to snames.ads.
+
+ * snames.ads (Attribute_Class_Array): Moved from sem-attr.ads.
+
+ PR ada/32792
+ * sem_attr.adb (Analyze_Attribute, Attribute_Integer_Value clause):
+ Signal an error when attribute argument is a fixed-point value of
+ an unknown type.
+
+ PR ada/22559
+ * sem_ch3.adb (Build_Derived_Numeric_Type): Do not set RM_Size on
+ a derived ordinary fixed point type.
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Recompute
+ RM_Size when a Small clause is found.
+
+2007-11-26 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ PR 34081/C++
+ * trans.c (Subprogram_Body_to_gnu, Compilation_Unit_to_gnu):
+ Pass 'false' for the new allocate_struct_function parameter.
+ * utils.c (build_function_stub): Likewise.
+
+2007-11-25 Richard Guenther <rguenther@suse.de>
+
+ * utils.c (gnat_pushlevel): Use BLOCK_CHAIN.
+ (gnat_poplevel): Likewise.
+
+2007-11-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the type has
+ strict alignment, no alignment clause and a known static size, cap
+ the type alignment to the greatest power of 2 factor of the size.
+ (gnat_to_gnu_field): If the field has a component clause, is aliased
+ or of a type with strict alignment, require that its size be equal to
+ that of the type.
+ (validate_size): Use the type size as the minimum size for a type with
+ strict alignment.
+
+2007-11-23 Samuel Tardieu <sam@rfc1149.net>
+
+ * s-inmaop-posix.adb, s-intman-vxworks.adb, s-taprop-hpux-dce.adb,
+ s-taprop-irix.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
+ s-taprop-posix.adb, s-taprop-tru64.adb, s-taprop-vxworks.adb:
+ Use 'Access instead of 'Unchecked_Access in second and third
+ arguments of pthread_sigmask.
+
+2007-11-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (ceil_alignment): New function.
+ (gnat_to_gnu_entity): Use it to set the alignment on atomic types.
+ (make_packable_type): Likewise.
+
+2007-11-22 Olivier Hainque <hainque@adacore.com>
+
+ * trans.c (gnat_to_gnu) <case N_Free_Statement>: Reformat lines
+ to fit in 80 columns.
+
+2007-11-21 Aurelien Jarno <aurelien@aurel32.net>
+
+ * s-osinte-kfreebsd-gnu.ads (To_Target_Priority): New function.
+ * Makefile.in: Add EH_MECHANISM=-gcc to kfreebsd-gnu. Remove SYMLIB.
+
+2007-11-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/34098
+ * misc.c (gnat_adjust_rli): Delete.
+ (gnat_init): Do not initialize the translation code here.
+ Do not call set_lang_adjust_rli.
+ * trans.c (init_code_table): Make static.
+ (gnat_init_stmt_group): Delete.
+ (gigi): Initialize the translation code entirely here.
+ Emit debug info for the common types here instead of...
+ * utils.c (gnat_init_decl_processing): ...here.
+ * gigi.h (init_code_table): Delete.
+ (gnat_init_stmt_group): Likewise.
+
+2007-11-16 Olivier Hainque <hainque@adacore.com>
+
+ * utils2.c (build_call_alloc_dealloc) <if gnu_obj>: Move the code
+ retrieving an allocator return value from a super-aligned address from
+ here to ...
+ * trans.c (gnat_to_gnu) <case N_Free_Statement>: ... here, and don't
+ expect a super-aligned address for a fat or thin pointer.
+
+2007-11-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (call_to_gnu): Always set the source location on the call
+ expression. If the function returns-by-target, also set it on the
+ address expression.
+
+2007-11-14 Samuel Tardieu <sam@rfc1149.net>
+
+ * adaint.c, init.c, initialize.c, link.c: Remove system-specific
+ sections of non-supported Interix target.
+
+ * s-osinte-interix.ads: Removed.
+
+ * i-cstrin.ads (chars_ptr): Make it a C convention type.
+
+2007-11-13 Samuel Tardieu <sam@rfc1149.net>
+
+ * a-tasatt.adb: Add a comment at the beginning of the package
+ explaining why in general 'Unchecked_Access must be used instead
+ of 'Access.
+
+ * sem_prag.adb (Process_Convention): Move the test for the
+ entity on which the Convention pragma applies down to also
+ forbid pragma Convention on enumeration literals reached
+ through renamings.
+
+2007-11-10 Samuel Tardieu <sam@rfc1149.net>
+
+ * a-tasatt.adb: Revert previous change for this file as it will
+ generate an error when this package is instantiated from a
+ local context.
+
+2007-11-07 Samuel Tardieu <sam@rfc1149.net>
+
+ * a-tasatt.adb: Type Wrapper should be declared in comment instead
+ of already declared type Node_Access.
+ Use 'Access instead of 'Unchecked_Access when applicable. Local
+ lifetime is the one of the package.
+ (Set_Value): W is allocated on the heap.
+
+ * g-socket.adb: Use 'Access instead of 'Unchecked_Access when
+ applicable.
+ (Get_Socket_Option): Optlen formal of C_Getsockopt is of an anonymous
+ access type.
+ (Receive_Socket): Fromlen formal of C_Recvfrom is of an anonymous
+ access type.
+
+ * s-taasde.adb: Use 'Access instead of 'Unchecked_Access when
+ applicable.
+ (elaboration code): Timer_Queue lifetime is the one of the
+ package.
+
+ * tracebak.c (i386 alternative): Remove useless comparaison
+ which is always false; LOWEST_ADDRESS is 0 and is never greater
+ than an unsigned integer.
+
+ * sem_attr.adb (Analyze_Attribute): Remove duplicate identical
+ embedded check for "Ada_Version >= Ada_05".
+
+2007-11-07 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (make_aligning_type): Set the mode of the RECORD_TYPE we
+ craft and expand comment.
+
+2007-11-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lang-specs.h: Move translation of -fRTS= after -gnatez switch.
+
+2007-10-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * misc.c (gnat_handle_option): Replace call to abort with
+ call to gcc_unreachable.
+ (gnat_init): Likewise.
+ (gnat_expand_expr): Likewise.
+ (fp_prec_to_size): Likewise.
+ (fp_size_to_prec): Likewise.
+
+2007-10-23 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/33608
+ * tracebak.c: #undef abort after including system.h.
+
+2007-10-20 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * Makefile.in (LIBGNAT_TARGET_PAIRS) Add s-tasinf-mingw.adb,
+ s-tasinf-mingw.ads, a-exetim-mingw.adb, a-exetim-mingw.ads
+ for win32 targets.
+ (EXTRA_GNATRTL_TASKING_OBJS): Add a-exetim.o for win32 targets.
+
+2007-10-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-osinte-tru64.adb: (Hide_Yellow_Zone): Add On parameter.
+ Set the protection status of the guard page based on the value of On.
+
+ * s-osinte-tru64.ads: (Hide_Yellow_Zone): Add On parameter.
+
+ * s-taprop-tru64.adb: (Enter_Task): Pass True to Hide_Yellow_Zone.
+ (Exit_Task): Pass False to Hide_Yellow_Zone.
+
+2007-10-15 Robert Dewar <dewar@adacore.com>
+
+ * s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
+ s-taprop-vxworks.adb, s-taprop-posix.adb, a-calend-vms.adb,
+ a-calend.adb, a-nuflra.adb, a-tigeau.adb, a-wtgeau.adb,
+ checks.adb, bindgen.adb, eval_fat.adb, exp_fixd.adb, fmap.adb,
+ freeze.adb, g-awk.adb, g-calend.adb, g-diopit.adb, g-expect.adb,
+ gnatchop.adb, gnatlink.adb, g-spipat.adb, g-thread.adb, make.adb,
+ mdll.adb, mlib.adb, mlib-prj.adb, osint.adb, par-ch3.adb, prj.adb,
+ prj-makr.adb, sem_prag.adb, sem_type.adb, s-fatgen.adb, s-fileio.adb,
+ sinfo.ads, sinput-d.adb, s-taasde.adb, s-tasdeb.ads, s-tasren.adb,
+ s-tassta.adb, s-tpobop.adb, s-tposen.adb, stylesw.adb, types.ads,
+ uintp.adb, validsw.adb, makegpr.adb, a-rbtgso.adb, a-crbtgo.adb,
+ a-coorse.adb, a-convec.adb, a-coinve.adb, a-cohama.adb, a-ciorse.adb,
+ a-cihama.adb, a-cidlli.adb, a-chtgop.adb, a-cdlili.adb, a-cdlili.adb,
+ a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb, a-ciorma.adb,
+ a-coorma.adb, a-ztgeau.adb, symbols-vms.adb, a-crdlli.adb,
+ a-calari.adb, a-calfor.adb, s-os_lib.adb, s-regpat.adb, a-ngrear.adb:
+ Minor reformatting.
+ Add Unreferenced and Warnings (Off) pragmas for cases of
+ variables modified calls where they are IN OUT or OUT parameters and
+ the resulting values are not subsequently referenced. In a few cases,
+ we also remove redundant code found by the new warnings.
+
+ * ug_words, vms_data.ads, usage.adb, sem_util.adb, sem_util.ads,
+ sem_warn.adb, sem_warn.ads, sem_res.adb, sem_ch7.adb, sem_ch8.adb,
+ sem_ch5.adb, opt.ads, lib-xref.adb, lib-xref.ads, exp_smem.adb,
+ sem_ch11.adb, exp_ch6.adb, einfo.ads, einfo.adb: implement a new
+ warning controlled by -gnatw.o that warns on cases of out parameter
+ values being ignored.
+
+2007-10-15 Geert Bosch <bosch@adacore.com>
+
+ * adaint.c, socket.c, cal.c: Initial port to arm-mentor-nucleus.
+
+ * expect.c: Initial port to arm-mentor-nucleus.
+ Use kill for __gnat_kill() on VMS.
+
+2007-10-15 Emmanuel Briot <briot@adacore.com>
+
+ * ali.ads, ali.adb (Scan_ALI): Initialize XE.Tref to a known default
+ value.
+ (Xref_Record): Change type for Line, since in the case of a reference to
+ a predefined entity (as happens for array index types), the line is set
+ to 0.
+ Add support for parsing multiple array index types info, or
+ multiple inherited interfaces info. This information cannot be stored
+ in Xref_Entity_Record, which only supports a single instance of Tref_*,
+ and is therefore stored in the list of references instead. It has a
+ special treatement later on in tools that use this information.
+
+2007-10-15 Tristan Gingold <gingold@adacore.com>
+
+ * debug.adb: Document use of -gnatd.a and -gnatd.I
+
+ * layout.adb: On OpenVMS -gnatd.a disables alignment optimization.
+
+2007-10-15 Javier Miranda <miranda@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Case Access,
+ Unchecked_Access, and Unrestricted_Access. Cleanup code that takes
+ care of access to class-wide interface types plus removal of bizarre
+ conversion of tagged object to access type (reported by Gary
+ Dismukes). After this patch there is no need to perform any
+ additional management on these nodes in Expand_Interface_Actuals.
+
+ * exp_disp.adb (Expand_Interface_Actuals): Code cleanup. Remove code
+ that handles use of 'Access and 'Unchecked_Access applied to
+ actuals covering interface types. Such code is now
+ centralized in Expand_N_Attribute_Reference.
+
+2007-10-15 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Build_Init_Procedure): Keep separate the initialization
+ of tagged types whose ultimate ancestor is a CPP type.
+ (Freeze_Array_Type): For a packed array type, generate an initialization
+ procedure if the type is public, to handle properly a client that
+ specifies Normalize_Scalars.
+
+2007-10-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.adb (Actual_Index_Expression): When the expansion occurs
+ inside a generic body, retrieve the full view of the entry family
+ discrete subtype if available.
+
+2007-10-15 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Do not
+ attempt to generate stubs for hidden primitive operations.
+
+2007-10-15 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-specific.adb (Support_For_Libraries): New function,
+ returning None, used when there is no platform specific body for
+ MLib.Tgt.Specific.
+
+2007-10-15 Bob Duff <duff@adacore.com>
+
+ * sem_case.adb, sem_ch13.adb, lib-sort.adb: Replace use of Heap_Sort_A
+ (passing'Unrestricted_Access of nested subprograms to Sort) with use of
+ the generic Heap_Sort_G, in order to avoid trampolines.
+
+2007-10-15 Vasiliy Fofanov <fofanov@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * vx_stack_info.c: New file.
+
+ * i-forbla-unimplemented.ads: New file.
+
+ * Makefile.in: i-forbla-unimplemented.ads: a variant of i-forbla.ads
+ for unsupported configurations; use it on VMS targets instead of the
+ real one.
+ (EXTRA_LIBGNAT_SRCS,EXTRA_LIBGNAT_OBJS for VxWorks): Include
+ vx_stack_info.{c,o} that contains the routine __gnat_get_stack_info
+ used by VxWorks targets to have access to task-specific data and be
+ able to extract the stack boundaries for stack checking.
+ Use system-vms-ia64.ads on ivms.
+
+ * Make-lang.in: Update dependencies.
+
+ * sysdep.c (__gnat_get_stack_info): Move to a standalone file
+ (vx_stack_info.c).
+
+2007-10-15 Vincent Celier <celier@adacore.com>
+
+ * snames.adb, snames.ads: Add new standard name runtime_library_dir
+
+ * prj.ads (Language_Config): Add new component Runtime_Library_Dir
+
+ * prj-attr.adb: Add project level attribute Runtime_Library_Dir
+
+ * prj-env.adb (Create_Mapping_File): Do not put an entry if the path of
+ the source is unknown.
+
+ * prj-ext.adb: Spelling error fix
+
+ * prj-nmsc.adb (Check_Ada_Name): Reject any unit that includes an Ada
+ 95 reserved word in its name.
+ (Process_Project_Level_Array_Attributes): Process new attribute
+ Runtime_Library_Dir.
+
+ * prj-part.adb (Parse_Single_Project): Do not check the name of the
+ config project against the user project names.
+
+ * prj-proc.adb (Expression): In multi-language mode, indexes that do
+ not include a dot are always case insensitive.
+ (Process_Declarative_Items): Ditto
+ (Process_Project_Tree_Phase_1): Set Success to False in case an error is
+ detected.
+
+ * prj-util.adb (Value_Of (In_Array)): When Force_Lower_Case_Index is
+ True, compare both indexes in lower case.
+
+2007-10-15 Robert Dewar <dewar@adacore.com>
+
+ * rtsfind.adb: (Load_RTU): Turn off style checks for Load call
+
+2007-10-15 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): In the case of a box
+ association for an access component, add an association with null as
+ the expression. Remove testing for array subtypes and the setting in
+ that case of Ctyp to the array component type, which prevented proper
+ inclusion of an association for null-initialized arrays. Collapse
+ condition that tests for array subtypes into just a test of
+ Is_Partially_Initialized_Type (which already covers arrays anyway).
+
+2007-10-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.adb: Minor code reformatting.
+ (Check_Generic_Child_Unit): Iterate over the homonym chain in order to
+ find the parent package which may have been hidden by local
+ declarations.
+
+2007-10-15 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Concurrent_Type): Set the Is_Constrained
+ flag of derived concurrent types, taking into account the flag setting
+ on the parent subtype and any new set of discriminants.
+
+2007-10-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch4.adb: Minor code and comment reformatting.
+ (Analyze_Allocator): When the designated type of an unconstrained
+ allocator is a record with unknown discriminants or an array with
+ unknown range bounds, emit a detailed error message depending on the
+ compilation mode and whether the designated type is limited.
+
+2007-10-15 Tristan Gingold <gingold@adacore.com>
+
+ * system-vms-ia64.ads: New file.
+
+ * system-vms_64.ads: Minor comment fix.
+
+2007-10-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Find_Corresponding_Spec): If the previous entity is a
+ body generated for a function with a controlling result that is a null
+ extension, discard the generated body in favor of the current explicit
+ one.
+
+2007-10-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Find_Controlling_Arg): Examine the call node before
+ examining its original form, to handle properly operator calls that
+ have been rewritten.
+
+2007-10-15 Olivier Hainque <hainque@adacore.com>
+
+ * tb-alvms.c (tb_entry_t, __gnat_backtrace): Store a frame pointer
+ instead of a procedure value in each traceback entry.
+
+ * g-trasym-vms-alpha.adb (Symbolic_Traceback): Pass frame pointer
+ instead of procedure value to TBK$SYMBOLIZE.
+
+ * s-traent-vms.adb (PV_For): Rename as FP_For and access the proper
+ field.
+ (TB_Entry_For): Account for the PV/FP renaming.
+
+ * s-traent-vms.ads (Traceback_Entry): Rename PV component into FP and
+ add comment.
+ (Null_TB_Entry): Account for change of component name.
+ (PV_For): Rename as FP_For.
+
+2007-10-15 Tristan Gingold <gingold@adacore.com>
+
+ * trans.c (gnat_to_gnu): Remove the padding structure more often.
+ This optimize assignment to over-aligned record.
+
+2007-10-15 Emmanuel Briot <briot@adacore.com>
+
+ * xref_lib.adb (Get_Full_Type): Add support for the 'h' entity type, ie
+ interfaces.
+
+ * xr_tabls.adb (Add_Reference): Add support for the new 'R' reference
+ type, for dispatching calls.
+
+2007-10-15 Vincent Celier <celier@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add documentation for switches --version and --help
+ for the GNAT tools gnatbind, gnatlink, gnatmake, gnatchop, gnatname,
+ gnatxref, gnatfind, gnatls, and gnatclean.
+ Document -gnatw.o.
+ Mention attribute Excluded_Source_Dirs
+ Replace obsolescent attribute Locally_Removed_Files with attribute
+ Excluded_Source_Files.
+ Improve documentation of -u (gnatbind)
+ Document how to do reliable stack checking for the environmental task
+ on iVMS.
+
+ * gnat_rm.texi: Rewrite section about No_Implicit_Dynamic_Code.
+ Document attribute Excluded_Source_Files and indicate that attribute
+ Locally_Removed_Files is obsolescent.
+
+2007-10-15 Thomas Quinot <quinot@adacore.com>
+
+ * g-soccon-vms.ads: Fix value of MSG_WAITALL.
+
+ * gen-soccon.c:
+ Update documentation to note that OpenVMS 8.3 or later must be used
+ to generate g-soccon-vms.ads.
+
+ * atree.adb: Add ??? comment
+
+ * exp_util.adb: Minor reformatting.
+ Add ??? comment in Kill_Dead_Code.
+
+2007-10-15 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads: Comment clarification
+
+ * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
+ (Expand_N_Op_Eq): Improve handling of array equality with -gnatVa
+
+ * lib.ads: Comment update
+
+ * init.c: Minor reformatting.
+
+ * sem_attr.adb: Minor formatting
+
+ * osint-b.ads: Minor reformatting
+
+ * sem_ch9.adb: Implement -gnatd.I switch
+
+ * g-comlin.adb: (Start): Fix handling of empty command line.
+
+ * gnatcmd.adb (GNATCmd): Do not put the -rules in the -cargs section,
+ even when -rules follows the -cargs section.
+
+2007-10-08 Ollie Wild <aaw@google.com>
+
+ * misc.c (LANG_HOOKS_PUSHDECL): Replaced lhd_return_tree with
+ gnat_return_tree.
+ (gnat_init_gcc_eh): Replaced gnat_eh_runtime_type with
+ gnat_return_tree.
+ (gnat_eh_runtime_type): Removed.
+ (gnat_return_tree): New function.
+
+2007-10-08 Ben Elliston <bje@au.ibm.com>
+
+ PR ada/33454
+ Revert:
+ 2007-08-31 Ben Elliston <bje@au.ibm.com>
+
+ * Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads
+ when compiling for powerpc64-*-linux.
+ * system-linux-ppc64.ads: New file.
+
+2007-09-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ Mapped location support
+ * back_end.adb (Call_Back_End): Pass information about source
+ files instead of units to gigi.
+ * gigi.h (struct File_Info_Type): New.
+ (gigi): Rename and change type of number_units parameter, change
+ type of file_info_ptr parameter.
+ * trans.c (number_files): New global variable.
+ (gigi): Rename and change type of number_units parameter, change
+ type of file_info_ptr parameter.
+ If mapped location support is enabled, create the isomorphic mapping
+ between source files and line maps.
+ (Sloc_to_locus): If mapped location support is enabled, translate
+ source location into mapped location.
+ (annotate_with_node): Rename into set_expr_location_from_node.
+ Call set_expr_location instead of annotate_with_locus.
+ (Pragma_to_gnu): Adjust for above change.
+ (Loop_Statement_to_gnu): Likewise.
+ (call_to_gnu): Likewise.
+ (Handled_Sequence_Of_Statements_to_gnu): Likewise.
+ (gnat_to_gnu): Likewise.
+ (add_stmt_with_node): Likewise.
+ (add_cleanup): Likewise.
+ * utils.c (gnat_init_decl_processing): Do not set input_line.
+
+2007-09-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch8.adb (Analyze_Use_Type): Code cleanup.
+ (Applicable_Use): Emit a warning when a package tries to use itself.
+ (Use_One_Type): Add variable Is_Known_Used. Emit a warning when a type
+ is already in use or the package where it is declared is in use or is
+ declared in the current package.
+ (Spec_Reloaded_For_Body): New subsidiary routine for Use_One_Type.
+
+ * a-tasatt.adb, s-osprim-vxworks.adb, g-socthi-mingw.adb,
+ s-intman-vms.adb, g-socket.adb, g-thread.adb, s-tarest.adb,
+ s-tassta.adb, s-tporft.adb: Remove redundant 'use type' clause.
+
+2007-09-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calend-vms.adb, a-calend.adb:
+ Add a section on leap seconds control along with two entities used to
+ enable and disable leap seconds support. The array Leap_Second_Times is
+ now constant and contains hard time values pre-generated. Remove
+ all elaboration code used to populate the table of leap seconds.
+
+ * bindgen.adb:
+ Add entity Leap_Seconds_Support to the list of global run-time variables
+ along with a comment on its usage and values.
+ (Gen_Adainit_Ada): Add code to generate the declaration and import of
+ Integer variable Leap_Seconds_Support. Set its value to zero (disabled)
+ or one (enabled) depending on the presence of binder switch "-y".
+ (Gen_Adainit_C): Add code to generate the declaration of external int
+ __gl_leap_seconds_support. Set is value to zero (disabled) or one
+ (enabled) depending on the presence of binder switch "-y".
+
+ * init.c: Add __gl_leap_seconds_support to the list of global values
+ computed by the binder.
+
+2007-09-26 Jerome Guitton <guitton@adacore.com>
+
+ * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
+ s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-dummy.adb,
+ s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
+ s-taprop-posix.adb (Stop_Task): New function, dummy implementation.
+
+ * s-taprop.ads, s-taprop-vxworks.adb (Stop_Task): New function.
+
+ * s-tasdeb.adb (Stop_All_Tasks): New function, implementing a run-time
+ function which can be called by the debugger to interrupt the tasks of
+ an Ada application asynchronously, as needed on VxWorks.
+ (Stop_All_Tasks_Handler): Renamed from Stop_All_Tasks.
+
+ * s-tasdeb.ads (Stop_All_Tasks_Handler): New function declaration,
+ renamed from Stop_All_Tasks. Update comments.
+ (Stop_All_tasks): New function declaration.
+
+2007-09-26 Olivier Hainque <hainque@adacore.com>
+
+ * adaint.c (if defined (__Lynx__)): Wrap #def/#undef VMOS_DEV around
+ #include <utime.h> and #define GCC_RESOURCE_H before
+ #include <sys/wait.h>.
+ Add more protections in __gnat_translate_vms.
+
+ * expect.c (if defined (__Lynx__)): #define GCC_RESOURCE_H before
+ #include <sys/wait.h>.
+
+2007-09-26 Thomas Quinot <quinot@adacore.com>
+ Sergey Rybin <rybin@adacore.com>
+
+ * gnatvsn.ads (PCS_Version_Number, ASIS_Version_Number): Removed.
+
+ * exp_dist.ads (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
+ where it belongs.
+
+ * opt.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
+
+ * rtsfind.adb (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
+ where it belongs.
+
+ * sem_dist.ads: Minor comment fix
+
+ * tree_io.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
+
+2007-09-26 Javier Miranda <miranda@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * a-tags.adb:
+ (Get_HT_Link/Set_HT_Link): Updated to handle the additional level of
+ indirection added to the HT_Link component of the TSD. This is required
+ to statically allocate the TSD.
+
+ * a-tags.ads:
+ Minor reordering of the declarations in the private part. Required to
+ add a level of indirection to the contents of the TSD component HT_Link.
+ This is required to statically allocate the TSD.
+
+ * decl.c (gnat_to_gnu_entity) <object>: Do not exclude objects with
+ Is_Statically_Allocated set from constant objects.
+ Do not make exported constants created by the compiler volatile.
+ (gnat_to_gnu_param): Do not treat an IN parameter whose address is taken
+ as read-only.
+
+ * trans.c (Identifier_to_gnu): For constants, unshare initializers
+ before returning them.
+
+ * exp_disp.ads, exp_disp.adb (Building_Static_DT): Spec moved to the
+ public part of the package.
+ (Make_DT): Move HT_Link component out of the TSD record. For this
+ purpose Make_DT now declares a separate object that stores the
+ HT_Link value, and initializes the TSD component with the address
+ of this new object. The addition of this level of indirection is
+ required to statically allocate the TSD because the TSD cannot
+ have variable components.
+ (Expand_Interface_Conversion): Improve the expanded code.
+ (Expand_Interface_Thunk): Set Is_Thunk in the thunk entity.
+
+ * sem_disp.adb (Check_Dispatching_Operation): In case of a body
+ declaring a primitive operation ---allowed by RM 3.9.2 (13.e/2)---,
+ if we are building static dispatch tables then we must not generate
+ extra code to register the primitive because the dispatch table will
+ be built at the end of the library package; otherwise we notify that
+ we cannot build the static dispatch table.
+
+2007-09-26 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb, gnat1drv.adb, sem_util.ads: Improve warnings for address
+ overlays.
+
+ * sem_ch13.ads, sem_ch13.adb: Improve warnings for address overlays
+ (Analyze_Record_Representation_Clause): Suppress junk warning for
+ missing component clause.
+ (Analyze_Attribute_Definition_Clause, case Address): Apply the special
+ tests for controlled type overlay to composites with controlled
+ components.
+ (Analyze_Record_Representation_Clause): Add reference for component name
+
+2007-09-26 Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * einfo.adb (Is_Thunk): New attribute applicable to subprograms. True
+ for thunks associated with interface types.
+
+ * einfo.ads: Improve documentatation of Is_Internal
+ (Is_Thunk): New attribute applicable to subprograms. True for thunks
+ associated with interface types.
+ Extensive comment fixes regarding flags that appear in all entities. The
+ documentation is now consistent for all such flags (there were a number
+ of errors in the documentation in this regard).
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Minor code cleanup.
+
+ * exp_ch6.adb (Make_Build_In_Place_Call_*): Return immediately if any
+ of these procedures are passed a function call that already has
+ build-in-place actuals (testing new flag
+ Is_Expanded_Build_In_Place_Call). Set the flag on the function call in
+ the case where processing continues.
+ (Expand_Call): If the call is generated from a thunk body then we
+ propagate the extra actuals associated with the accessibility
+ level of the access type actuals.
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Set the Protected_Formal field
+ of each extra formal of a protected operation to reference the
+ corresponding extra formal of the subprogram denoted by the
+ operation's Protected_Body_Subprogram.
+
+ * sinfo.ads, sinfo.adb (Is_Expanded_Build_In_Place_Call): New flag on
+ N_Function_Call nodes.
+
+2007-09-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb: Activate memmove type processing if debug flag d.s is set
+
+ * debug.adb: Add d.s flag.
+
+2007-09-26 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_dbug.adb (Debug_Renaming_Declaration): Set Is_Internal on the
+ debug variable so that it won't be initialized when pragma
+ Initialize_Scalars is in effect.
+
+2007-09-26 Gary Dismukes <dismukes@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Remove check for preelaborable
+ initialization of a full view. This is moved to
+ Analyze_Package_Specification.
+
+ * sem_ch7.adb (Analyze_Package_Specification): Add check for
+ preelaborable initialization of a full view in entity loop.
+ (Uninstall_Declarations): If entity is a use-visible compilation unit,
+ its child units are use-visible only if they are visible child units.
+
+ * sem_util.adb (Is_Preelaborable_Expression): New function to determine
+ whether an expression can be used within a type declaration that
+ requires preelaborable init.
+ (Check_Components): Replace inline code that does partial checking for
+ preelaborable default expressions with call to
+ Is_Preelaborable_Expression.
+ (Has_Preelaborable_Initialization): In the case of a generic actual
+ subtype, (that is, Is_Generic_Actual is True), return the result of
+ applying Has_Preelaborable_Initialization to the generic actual's base
+ type.
+
+2007-09-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks. Add a
+ call to Jan_1_Day _Of_Week to optimize its performance.
+ (Is_Leap): Move the routine to the scope of Week_In_Year.
+ (Jan_1_Day_Of_Week): New routine in Week_In_Year which calculates the
+ weekday on which January 1 falls of Year - 1 and Year + 1. This function
+ avoids calling Time_Of and Split, thus making it more efficent.
+ (Week_In_Year): Reimplemented in oder to follow ISO 8601.
+
+ * g-calend.ads (Week_In_Year): Change comment to reflect new
+ implementation.
+
+2007-09-26 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.ads, g-comlin.adb (Command_Line_Configuration,
+ Command_Line): New types
+ (Define_Alias, Define_Prefix, Free): New subprograms. These provide
+ support for defining how switches can be grouped on a command line (as
+ is the case for -gnatw... for GNAT), and how simple switches can be
+ used as aliases for more complex switches (-gnatwa is same as
+ -gnatwbcef...)
+ (Set_Command_Line, Add_Switch, Remove_Switch): New subprogram
+ (Start, Current_*): New subprograms
+ Added support for parsing an array of strings in addition to the real
+ command line.
+ (Opt_Parser, Opt_Parser_Data): New type. As a result, some types had to
+ be moved from the body to the private part of the spec.
+ (*): All subprograms now have an extra parameter with default value to
+ specify which parser should be used. For backward compatibility, it
+ defaults to parsing the command line of the application. They were also
+ modified to properly handle cases where each of the argument does not
+ start at index 1 (which is always true for Ada.Command_Line, but not
+ when processing any Argument_List).
+ (Free): New subprogram
+ (Internal_Initialize_Option_Scan, Find_Longuest_Matching_Switch,
+ Argument): New subprograms
+ (Switch_Parameter_Type): New enum, which clarifies the code. The extra
+ special characters like ':', '=',... are now handled in a single place,
+ which makes the code more extensible eventually.
+ (Getopt, Full_Switch): When the switch was returned as part of the
+ special character '*', make sure it is prepended by the switch character
+ ('-' in general), so that the application knows whether "foo" or "-foo"
+ was specified on the command line.
+
+2007-09-26 Florian Villoing <villoing@adacore.com>
+
+ * g-dirope.adb (Remove_Dir): In case we are removing directories
+ recursively, make sure that if an exception is raised during the
+ processing, the current working directory is reset to its initial
+ value before propagating the exception.
+
+2007-09-26 Vincent Celier <celier@adacore.com>
+
+ * gnatbind.adb: If there are several ALI files specified and there is
+ a main program to bind, the first ALI is expected to contain the main
+ subprogram and the names of the binder generated files will be derived
+ from the first ALI file name.
+ (Gnatbind): Fix insertion character in invocation of Error_Msg
+
+2007-09-26 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (Check_Files): Do not include sources that have been
+ removed by attributes Exclude_Source_Files or Locally_Removed_Files.
+
+2007-09-26 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.ads, lib-xref.adb: The entry for array types now carries
+ information about each of its index types, following the type
+ reference for its component type.
+
+2007-09-26 Vincent Celier <celier@adacore.com>
+
+ * make.adb: (Kill): New procedure (__gnat_kill imported)
+ (Running_Compile, Outstanding_Compiles): Global variables that
+ were previously local to procedure Compile_Sources.
+ (Sigint_Intercepted): Send signal SIGINT to all outstanding
+ compilation processes.
+
+ (Gnatmake): If project files are used, create the mapping of all the
+ sources, so that the correct paths will be found.
+
+ * prj-env.ads, prj-env.adb (Create_Mapping): New procedure
+
+2007-09-26 Vincent Celier <celier@adacore.com>
+
+ * makeutl.ads (Main_Config_Project): Moved to gpr_util.ads
+
+ * prj.ads, prj.adb (Default_Language): Remove function, no longer used
+ Replace components Compiler_Min_Options and Binder_Min_Options with
+ Compiler_Required_Switches and Binder_Required_Switches in record
+ Language_Config.
+ Remove components Default_Language and Config in Project_Tree_Data,
+ no longer used.
+
+ * prj-attr.adb: New attributes Required_Switches (<language>) in
+ packages Compiler and Binder.
+
+ * prj-nmsc.adb: Major rewrite of the processing of configuration
+ attributes for gprbuild. No impact on GNAT tools.
+
+ * prj-proc.ads, prj-proc.adb (Process_Project_Tree_Phase_2): No longer
+ process configuration attributes: this is done in Prj.Nmsc.Check.
+ (Recursive_Process): Make a full copy of packages inherited from project
+ being extended, instead of a shallow copy.
+ (Process_Project_Tree_Phase_1): New procedure
+ (Process_Project_Tree_Phase_1): New procedure
+ (Process): Implementation now uses the two new procedures
+
+ * prj-util.adb (Executable_Of): Get the suffix and the default suffix
+ from the project config, not the tree config that no longer exists.
+
+2007-09-26 Vincent Celier <celier@adacore.com>
+
+ * Make-lang.in: Update dependencies..
+
+2007-09-26 Vincent Celier <celier@adacore.com>
+
+ * osint.adb, osint.ads: Minor reformatting
+
+ * osint-b.adb, osint-b.ads (Set_Current_File_Name_Index): New procedure
+
+2007-09-26 Gary Dismukes <dismukes@adacore.com>
+
+ * par-ch4.adb (P_Record_Or_Array_Component_Association): Change Ada 95
+ message to cite use of <> in aggregate component associations rather
+ than wrongly indicating use of limited aggregates.
+
+2007-09-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb (Analyze_Access_Attribute): Fix missing set of
+ Address_Taken.
+
+2007-09-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct
+ ancestor of the derived type, the operations are inherited from the
+ primary dispatch table of the parent.
+ (OK_For_Limited_Init_In_05): Remove old comment. Reject in-place calls
+ when the context is an explicit type conversion.
+
+2007-09-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution
+ rule for qualified expressions properly, to detect improper conversions
+ and resolve some cases of overloading.
+
+2007-09-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Call): If the call is dispatching, generate the
+ proper kind of reference to the primitive operation, for better source
+ navigation.
+ (Valid_Conversion): A tagged conversion is legal if both operands are
+ tagged.
+
+2007-09-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.adb (Check_References): Catch more cases of unreferenced
+ packages.
+
+2007-09-26 Vincent Celier <celier@adacore.com>
+
+ * snames.adb, snames.ads: Change Include_Option to Include_Switches
+
+2007-09-26 Robert Dewar <dewar@adacore.com>
+
+ * s-wchstw.adb: provide messages for run time unit exceptions
+
+ * a-witeio.adb: Minor reformatting
+
+ * exp_ch13.adb: Minor reformatting
+
+2007-09-26 Sergey Rybin <rybin@adacore.com>
+
+ * vms_data.ads: Revise gnatmetric qualifiers.
+ Add qualified for the new gnatbind option '-y'
+
+ * gnat_ugn.texi: Revise the gnatmetric section.
+ Add entry for new gnatbind option '-y'.
+
+ * gnat_rm.texi: Minor spelling correction.
+ Document restriction on overlaying controlled types
+
+2007-09-26 Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Link_Executables): Do not fail when the root project has
+ no sources, but is an extending project.
+
+2007-09-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c: Fix misplaced #define.
+
+2007-09-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils2.c (build_unary_op) <ADDR_EXPR> [INDIRECT_REF]: Propagate
+ the TYPE_REF_CAN_ALIAS_ALL flag to the result.
+
+2007-09-21 Olivier Hainque <hainque@adacore.com>
+
+ * utils.c (type_for_nonaliased_component_p): Return false for
+ all AGGREGATE_TYPEs.
+
+2007-09-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: Make again the type of an
+ object covered by 13.3(19) volatile.
+
+2007-09-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/26797
+ PR ada/32407
+ * utils.c (unchecked_convert): Use a subtype as the intermediate type
+ in the special VIEW_CONVERT_EXPR case.
+
+2007-09-12 Robert Dewar <dewar@adacore.com>
+
+ * types.ads, a-charac.ads, freeze.adb: Minor reformatting.
+
+ * a-except.adb, g-hesora.adb, g-speche.adb, lib.adb, lib.ads,
+ lib-load.adb, lib-writ.adb, s-assert.adb, s-carun8.adb,
+ s-casuti.adb, s-crc32.adb, s-exctab.adb, s-htable.adb, s-imgenu.adb,
+ s-mastop.adb, s-memory.adb, s-memory.ads, s-secsta.adb, s-soflin.adb,
+ s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-stache.adb, s-stalib.adb,
+ s-stoele.adb, s-strcom.adb, s-strops.adb, s-traceb.adb, s-traent.adb,
+ s-wchcnv.adb, s-wchcon.adb, s-wchjis.adb, s-addope.adb, s-except.adb,
+ s-os_lib.adb, s-string.adb, s-utf_32.adb, a-elchha.adb,
+ a-chlat1.ads, a-elchha.ads, a-except.ads, g-hesora.ads, g-htable.ads,
+ g-speche.ads, par-prag.adb, restrict.adb, restrict.ads, s-assert.ads,
+ s-carun8.ads, s-casuti.ads, s-crc32.ads, sem_ch11.adb, sem_prag.adb,
+ s-exctab.ads, s-htable.ads, s-imgenu.ads, s-mastop.ads, snames.adb,
+ snames.ads, snames.h, s-purexc.ads, s-secsta.ads, s-soflin.ads,
+ s-sopco3.ads, s-sopco4.ads, s-sopco5.ads, s-stache.ads, s-stalib.ads,
+ s-stoele.ads, s-strcom.ads, s-strops.ads, s-traceb.ads, s-traent.ads,
+ s-unstyp.ads, s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-addope.ads,
+ s-except.ads, s-os_lib.ads, s-string.ads, s-utf_32.ads: Implement
+ pragma Compiler_Unit and adds it to relevant library units.
+
+2007-09-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): An others association with
+ a box need not correspond to any component.
+
+2007-09-12 Robert Dewar <dewar@adacore.com>
+
+ * g-thread.ads: Document use of "with GNAT.Threads" to ensure loading
+ the tasking version of the Ada run time when foreign threads are
+ present and there are no explicit Ada tasks or tasking constructs.
+
+ * gnat_rm.texi: Clarify documentation of GNAT.Threads.
+
+2007-09-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * bindusg.adb (Display): Correct comment for switch -X. Add a line for
+ the usage of switch -y.
+
+ * switch-b.adb (Scan_Binder_Switches): Set flag Leap_Seconds_Support
+ when switch -y is present.
+
+ * opt.ads: Add binder flag Leap_Seconds_Support used to enable/disable
+ leap seconds in Ada.Calendar and its children.
+
+2007-09-12 Jose Ruiz <ruiz@adacore.com>
+
+ * a-extiti.ads (Timer): The discriminant is a "not null access
+ constant" in the Reference Manual.
+ (Cancel_Handler): Cancelled is an out parameter in the Reference Manual.
+
+2007-09-12 Robert Dewar <dewar@adacore.com>
+
+ * a-swuwha.adb: Remove junk RM header
+
+2007-09-12 Vincent Celier <celier@adacore.com>
+
+ * g-bytswa-x86.adb (Swap2, Swap4, Swap8): Remove explicit "in" mode
+ indicator
+
+ * g-bytswa.ads: Minor reformatting
+
+2007-09-12 Thomas Quinot <quinot@adacore.com>
+
+ * g-soccon-solaris-64.ads, g-soccon-hpux-ia64.ads:
+ Add new constant Thread_Blocking_IO, always True by default, set False
+ on a per-runtime basis.
+ (Need_Netdb_Buffer): New constant.
+
+2007-09-12 Arnaud Charlet <charlet@adacore.com>
+
+ * s-dsaser.ads (Get_Local_Partition_Id, Get_Passive_Partition_Id):
+ Added renames for corresponding functions in System.Partition_Interface.
+
+2007-09-12 Doug Rupp <rupp@adacore.com>
+
+ * Makefile.in: Remove VMS specific System.CRTL packages which are no
+ longer needed.
+
+ * s-crtl-vms64.ads: Removed.
+
+2007-09-12 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: For a subtype
+ with discriminant constraints, generalize the code for BIT_FIELDs
+ to PACKED fields of constant size and propagate DECL_PACKED.
+
+2007-09-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (array_type_has_nonaliased_component): New predicate.
+ (gnat_to_gnu_field) <E_Array_Type>: Invoke the above predicate to
+ set the TYPE_NONALIASED_COMPONENT flag on the type.
+ <E_Array_Subtype>: Likewise.
+ * gigi.h (type_for_nonaliased_component_p): Declare.
+ * utils.c (type_for_nonaliased_component_p): New predicate.
+ (create_field_decl): Invoke the above predicate to set the
+ DECL_NONADDRESSABLE_P flag on the field.
+
+2007-09-11 Javier Miranda <miranda@adacore.com>
+
+ * einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute. Present
+ in library level record type entities if we are generating statically
+ allocated dispatch tables.
+
+ * exp_disp.adb (Make_Tags/Make_DT): Replace previous code
+ importing/exporting the _tag declaration by new code
+ importing/exporting the dispatch table wrapper. This change allows us
+ to statically allocate of the TSD.
+ (Make_DT.Export_DT): New procedure.
+ (Build_Static_DT): New function.
+ (Has_DT): New function.
+
+ * freeze.adb (Freeze_Static_Object): Code cleanup: Do not reset flags
+ True_Constant and Current_Value. Required to statically
+ allocate the dispatch tables.
+ (Check_Allocator): Make function iterative instead of recursive.
+ Also return inner allocator node, when present, so that we do not have
+ to look for that node again in the caller.
+
+2007-09-11 Jan Hubicka <jh@suse.cz>
+
+ * misc.c (gnat_expand_body): Kill.
+ (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
+
+2007-09-10 Robert Dewar <dewar@adacore.com>
+
+ * exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb,
+ mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
+ mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+ mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads,
+ ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads,
+ bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads,
+ bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb,
+ butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb,
+ comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads,
+ elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads,
+ err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb,
+ exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads,
+ exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb,
+ exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb,
+ exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
+ exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb,
+ exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads,
+ exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
+ exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb,
+ exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb,
+ exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
+ exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb,
+ fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads,
+ get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb,
+ gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb,
+ gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
+ gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads,
+ gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads,
+ gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb,
+ gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads,
+ inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads,
+ lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb,
+ lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads,
+ make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads,
+ mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
+ mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads,
+ mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
+ mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt,
+ osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb,
+ osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads,
+ par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb,
+ par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
+ par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
+ par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb,
+ par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
+ prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads,
+ prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb,
+ prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
+ prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
+ prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
+ prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
+ prj-util.adb, prj-util.ads, restrict.adb, restrict.ads,
+ rtsfind.adb, rtsfind.ads, scn.adb, scn.ads,
+ scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb,
+ sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
+ sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb,
+ sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads,
+ sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
+ sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
+ sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads,
+ sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb,
+ sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
+ sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb,
+ sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads,
+ sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb,
+ sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb,
+ sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads,
+ sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads,
+ stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb,
+ styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads,
+ switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
+ switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb,
+ tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads,
+ treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads,
+ types.h, uintp.h, urealp.h, usage.adb, usage.ads,
+ validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb,
+ xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb,
+ xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb,
+ gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb,
+ mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb,
+ symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb,
+ mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb,
+ mlib-tgt-vms.ads: Replace headers with GPL v3 headers.
+
+2007-09-10 Emmanuel Briot <briot@adacore.com>
+
+ * s-regpat.adb (Parse_Character_Class): Fix handling of empty character
+ classes ("[]").
+
+2007-09-10 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * adaint.c (__gnat_translate_vms): new function.
+
+2007-09-10 Gary Dismukes <dismukes@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only
+ create an abstract subprogram in the case of 'Input. For 'Output we now
+ create a real spec/body when the type is abstract, since it can
+ potentially be called.
+ (Predefined_Primitive_Bodies): Now allow the creation of a predefined
+ body for 'Output when the type is abstract (only the creation of the
+ body for 'Input is excluded when the type is abstract).
+ (Stream_Operation_OK): Add an additional condition in the return
+ statement, so that False will be returned for TTS_Stream_Input if the
+ associated tagged type is an abstract extension. Add comments for
+ return statement.
+ (Expand_N_Object_Declaration): For the case of a shared passive
+ variable, insert init proc call only after the shared variable
+ procedures have been processed, because the IP call needs to undergo
+ shared passive variable reference expansion, which requires these
+ procedures to be available (and elaborated).
+
+2007-09-10 Vincent Celier <celier@adacore.com>
+
+ * prj-env.ads, prj-env.adb (Create_Mapping_File (Language)): Remove
+ parameter Runtime_Project.
+
+2007-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Build_Record_Aggr_Code): If an aggregate component is
+ given a box association, the type of the component is discriminated,
+ and the value of the discriminant is the discriminant of the enclosing
+ type, retrieve its value from the aggregate itself, where it must have
+ been supplied.
+
+ * sem_ch4.adb (Analyze_One_Call): Further refinement to previous fix,
+ to remove other spurious ambiguities on arithmetic operations involving
+ literals and addresses, on systems where Address is a visible integer
+ type, when the operator is called in functional notation.
+ (Try_Primitive_Operation): Within an instance, a call in prefixed form
+ is legal when the types match, even if the operation is currently
+ hidden.
+
+2007-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Build_Local_Package): A formal package with no
+ associations is legal if all formals have defaults. It is not
+ equivalent to a formal declared with a box.
+
+2007-09-10 Sergey Rybin <rybin@adacore.com>
+
+ * vms_data.ads: Add qualifier for the new gnatmetric '-lratio' option
+
+2007-09-10 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Add description of the new '-lratio' option
+ Update 7.3.1 section about availability of the feature.
+
+2007-09-10 Thomas Quinot <quinot@adacore.com>
+
+ * exp_smem.ads, exp_smem.adb (Make_Shared_Var_Procs): Return last
+ inserted node.
+
+2007-09-10 Olivier Hainque <hainque@adacore.com>
+
+ * Makefile.in: (mips-irix section): Activate build of libgmem.
+
+2007-09-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber
+ x87 registers.
+
+2007-09-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: Deal with variable built for
+ a debug renaming declaration specially.
+
+2007-09-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <Object>: Simplify the condition under
+ which a constant renaming is treated as a normal object declaration.
+ * trans.c (lvalue_required_p) <N_Slice>: New case, extracted from
+ the N_Indexed_Component case.
+ <N_Indexed_Component>: Fall through to above case.
+ <N_Object_Renaming_Declaration>: Return true for all composite types.
+
+2007-09-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (make_packable_type): If the new type has been given BLKmode,
+ try again to get an integral mode for it.
+
+2007-09-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ Re-apply accidentally reverted change:
+
+ 2007-02-07 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * raise-gcc.c (get_region_description_for, get_call_site_action_for,
+ get_action_description_for): Replace _Unwind_Word with _uleb128_t
+ and _Unwind_SWord with _sleb128_t.
+
+2007-09-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (convert_with_check): Update call to real_2expN.
+
+2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
+
+ * trans.c (Compilation_unit_to_gnu): Use set_cfun.
+ * utils.c (end_subprog_body): Likewise.
+
+2007-09-03 Nick Clifton <nickc@redhat.com>
+
+ * Make-lang.in: Change copyright header to refer to version 3 of
+ the GNU General Public License and to point readers at the
+ COPYING3 file and the FSF's license web page.
+ * ada-tree.def, nmake.adt, nlists.h, snames.h, utils.c,
+ Makefile.rtl, Makefile.in, config-lang.in, uintp.h, urealp.h,
+ namet.h, decl.c, utils2.c, lang.opt, elists.h, atree.h, types.h,
+ treeprs.adt, lang-specs.h, cuintp.c, stringt.h, gnatbl.c:
+ Likewise.
+
+2007-08-31 Vincent Celier <celier@adacore.com>
+
+ PR ada/4720
+
+ * gnatchop.adb, gnatfind.adb, gnatlink.adb, gnatls.adb,
+ gnatname.adb, gnatxref.adb, gprep.adb, clean.adb gnatbind.adb
+ (Check_Version_And_Help): New procedure in package Switch to process
+ switches --version and --help.
+ Use Check_Version_And_Help in GNAT tools
+
+ * make.adb: Ditto.
+ (Compile_Sources): Make sure that sources that are "excluded" are not
+ compiled.
+ (Gnatmake): Do not issue -aO. to gnatbind and only issue -I- if a
+ project file is used.
+ (Version_Switch): Remove, moved to Switch
+ (Help_Switch): Remove, moved to Switch
+ (Display_Version): Remove, moved to Switch
+
+ * switch.ads, switch.adb (Check_Version_And_Help): New procedure in
+ package Switch to process switches --version and --help.
+ (Display_Version): New procedure
+
+ * gnatvsn.ads, gnatvsn.adb (Copyright_Holder): New function.
+
+2007-08-31 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.adb (Internal_Tag): Protect the run-time against wrong
+ internal tags.
+
+2007-08-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New routine.
+ (Mark_Non_Null): If the node for which we just generated an access check
+ is a reference to an *in* parameter and the reference appears in the
+ declarative part of a subprogram body, mark the node as known non null.
+
+2007-08-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.ads, einfo.adb: New flag Is_Raised (Flag224). Update the
+ structure of E_Exception to reflect the new flag.
+ (Is_Raised, Set_Is_Raised): New inlined routines.
+ Update the usage of available flag to reflect the addition of Is_Raised.
+ (Is_Raised, Set_Is_Raised): Bodies of new routines.
+ (Write_Entity_Flags): Write the status of flag Is_Raised.
+ (Is_Descendent_Of_Address): New entity flag, to simplify handling of
+ spurious ambiguities when integer literals appear in the context of an
+ address type that is a visible integer type.
+
+ * sem_ch11.adb (Analyze_Exception_Handler): Add code to warn on local
+ exceptions never being raised.
+ (Analyze_Raise_Statement): When analyzing an exception, mark it as being
+ explicitly raised.
+
+2007-08-31 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch11.adb (Expand_At_End_Handler): Avoid generation of raise
+ statement when compiling under restriction No_Exceptions_Proparation.
+
+2007-08-31 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Build_Record_Init_Proc): If there is a static
+ initialization aggregate for the type, generate itype references for
+ thetypes of its (sub)components, to prevent out-of-scope errors in gigi.
+
+2007-08-31 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch8.adb (Expand_N_Package_Renaming_Declaration): In the case of a
+ library-level package renaming, pass the declaration associated with
+ the renaming's special debug variable to Qualify_Entity_Names to ensure
+ that its encoded name is properly qualified.
+
+ * exp_dbug.adb (Qualify_All_Entity_Names): Check for a variable entity
+ occurring in the list of entities to qualify, and do not attempt to
+ traverse an entity list in that case. Variables associated with
+` library-level package renamings can now occur in the table.
+
+ * exp_dbug.ads: Revise documentation of the encoding for renaming
+ declarations.
+
+2007-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * layout.adb (Layout_Type): Use Underlying_Type to determine whether an
+ access type points to an unconstrained array.
+
+2007-08-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * restrict.adb, namet.adb, par-util.adb: Remove redundant type
+ conversion.
+
+ * sem_res.adb (Resolve_Qualified_Expression): Add machinery to detect
+ simple redundant qualifications. The check is performed whenever the
+ expression is a non-overloaded identifier.
+ (Resolve_Type_Conversion): Enchance the redundant type conversion check
+ to include loop parameters.
+ (Valid_Conversion): Avoid generation of spurious error message.
+
+2007-08-31 Bob Duff <duff@adacore.com>
+
+ * par-ch4.adb (P_Simple_Expression): Fold long sequences of
+ concatenations of string literals into a single literal, in order to
+ avoid very deep recursion in the front end, which was causing stack
+ overflow.
+
+ * sem_eval.adb (Eval_Concatenation): If the left operand is the empty
+ string, and the right operand is a string literal (the case of "" &
+ "..."), optimize by avoiding copying the right operand -- just use the
+ value of the right operand directly.
+
+ * stringt.adb (Store_String_Chars): Optimize by growing the
+ String_Chars table all at once, rather than appending characters one by
+ one.
+ (Write_String_Table_Entry): If the string to be printed is very long,
+ just print the first few characters, followed by the length. Otherwise,
+ doing "pn(n)" in the debugger can take an extremely long time.
+
+ * sem_prag.adb (Process_Interface_Name): Replace loop doing
+ Store_String_Char with Store_String_Chars.
+
+2007-08-31 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: Add new attribute Excluded_Source_Files
+
+ * prj-nmsc.adb: Use attribute Excluded_Source_Files before
+ Locally_Removed_Files.
+
+ * snames.ads, snames.adb: New standard name Excluded_Source_Files
+
+2007-08-31 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Analyze_Subunit_Context): When analyzing context
+ clauses of subunits, ignore limited_with_clauses that are illegal and
+ have not been fully analyzed.
+
+2007-08-31 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb: The predicate Is_Descendent_Of_Address is now an entity
+ flag, for effiency. It is called when analyzing arithmetic operators
+ and also for actuals in calls that are universal_integers. The flag is
+ set for the predefined type address, and for any type or subtype
+ derived from it.
+
+ * sem_ch4.adb (Analyze_One_Call): Reject an actual that is a
+ Universal_Integer, when the formal is a descendent of address and the
+ call appears in user code.
+ (Analyze_Selected_Component): if the prefix is a private extension, the
+ tag component is visible.
+
+ * sem_util.ads, sem_util.adb: Remove Is_Descendent_Of_Address, now an
+ entity flag.
+
+2007-08-31 Robert Dewar <dewar@adacore.com>
+
+ * s-fileio.adb (Open): Normalize file name to lower case in non-case
+ sensitive file name systems to avoid unexpected mismatch in Vista.
+
+2007-08-31 Vincent Celier <celier@adacore.com>
+
+ * tempdir.adb: On VMS, take into account GNUTMPDIR before TMPDIR
+
+2007-08-31 Vincent Celier <celier@adacore.com>
+
+ * symbols-vms.adb (Initialize): Read symbol files with continuation
+ lines
+ (Finalize): If symbol is long, split the line
+
+2007-08-31 Vincent Celier <celier@adacore.com>
+
+ * fmap.ads: Minor comment updates
+
+2007-08-31 GNAT Script <nobody@adacore.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2007-08-31 Bob Duff <duff@adacore.com>
+
+ * sinfo.ads: Minor comment fix.
+
+2007-08-31 Thomas Quinot <quinot@adacore.com>
+
+ * stand.ads: (Standard_Debug_Renaming_Type): Make comment consistent
+ with implementation.
+ Documentation cleanup only.
+
+2007-08-31 Sergey Rybin <rybin@adacore.com>
+
+ * vms_data.ads: Add new qualifier /STMT_NAME_ON_NEW_LINE for the new
+ gnatpp '--separate-stmt-name' option.
+ Add new qualifier /USE_ON_NEW_LIN for the new gnatpp '--use-on-new-line'
+ option.
+
+ * gnat_ugn.texi: Add description for the new gnatpp
+ '--separate-stmt-name' and '--use-on-new-line' options.
+
+2007-08-31 Ben Elliston <bje@au.ibm.com>
+
+ * Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads
+ when compiling for powerpc64-*-linux.
+ * system-linux-ppc64.ads: New file.
+
+2007-08-22 Krister Walfridsson <cato@df.lth.se>
+
+ * env.c ( __gnat_clearenv): Use the __gnat_unsetenv mechanism for
+ NetBSD.
+
+2007-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * misc.c (gnat_type_max_size): Constify.
+
+2007-08-16 Gary Dismukes <dismukes@adacore.com>
+
+ * cstand.adb (Create_Standard): Create an entity for a zero-sized type
+ associated with Standard_Debug_Renaming_Type, to be used as the type of
+ the special variables whose names provide debugger encodings for
+ renaming declarations.
+
+ * einfo.ads, einfo.adb (Debug_Renaming_Link): Change to return Node25.
+ (Set_Debug_Renaming_Link): Change to set Node25.
+ (Write_Field13_Name): Remove case for E_Enumeration_Literal.
+ (Write_Field25_Name): Add case for E_Variable to output
+ "Debug_Renaming_Link".
+ (Write_Field23_Name): Correct the output string for "Limited_View".
+
+ * exp_dbug.adb: Add with and use of Tbuild.
+ (Debug_Renaming_Declaration): Replace creation of an enumeration type
+ and literal with creation of a variable of type
+ Standard_Debug_Renaming_Type whose name encodes both the renamed object
+ and the entity of the renaming declaration.
+ (Qualify_Entity_Name): Add the delayed qualification of the entity name
+ part of the name of a variable that has a Debug_Renaming_Link.
+
+ * stand.ads (Standard_Debug_Renaming_Type): New Entity_Id denoting a
+ special type to be associated with variables that provide debugger
+ encodings for renaming declarations.
+
+2007-08-16 Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an
+ ancestor part given by an aggregate to test for an unchecked conversion,
+ since this can occur in some cases when the ancestor part is a function
+ call, and we don't want to fall into the recursive call to this
+ procedure in that case.
+
+ * exp_ch3.adb (Stream_Operation_OK): Revise tests for availability of
+ stream attributes on limited types to account for user-specified
+ attributes as well as whether Input (resp. Output) becomes available
+ due to Read (resp. Write) being available for the type. Change Boolean
+ variable to the more accurate name
+ Has_Predefined_Or_Specified_Stream_Attribute. Change convoluted
+ double-"not" predicate at beginning of return statement to more
+ understandable form.
+
+ * exp_ch5.adb (Expand_N_Extended_Return_Statement): If the extended
+ return has an associated N_Handled_Sequence_Of_Statements, then wrap it
+ in a block statement and use that as the first statement of the
+ expanded return rather than incorrectly using the handled sequence as
+ the first statement.
+
+ * exp_ch6.adb (Expand_N_Subprogram_Declaration): If this is a protected
+ operation, generate an explicit freeze node for it rather than
+ generating extra formals, to ensure that gigi has the proper order of
+ elaboration for anonymous subtypes in the signature of the subprograms.
+ (Build_In_Place_Formal): Move assertion to beginning of loop.
+ (Is_Build_In_Place_Function_Call): Allow for an unchecked conversion
+ applied to a function call (occurs for some cases of 'Input).
+ (Make_Build_In_Place_Call_In_*): Allow for an unchecked conversion
+ applied to a function call (occurs for some cases of 'Input).
+
+ * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For Ada
+ 2005, generate an extended return statement enclosing the result object
+ and 'Read call.
+
+ * freeze.adb (Freeze_Record_Type): Extend the current management of
+ components that are access type with an allocator as default value: add
+ missing support to the use of qualified expressions of the
+ allocator (which also cause freezing of the designated type!)
+ (Freeze_Entity): Call Freeze_Subprogram in the case of a predefined
+ dispatching operation, since extra formals may be needed by calls to
+ build-in-place functions (such as stream 'Input).
+
+ * sem_ch6.adb (Create_Extra_Formals): Skip creation of the extra
+ formals for 'Constrained and accessibility level in the case of a
+ predefined dispatching operation.
+
+ * exp_util.adb (Insert_Actions): A protected body is a valid insertion
+ point, no need to find the parent node.
+
+2007-08-16 Javier Miranda <miranda@adacore.com>
+
+ * exp_attr.adb (Attribute_Priority): Add missing support for entries
+ and entry barriers.
+
+2007-08-16 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch9.adb (Build_Protected_Entry): Undo previous change because it
+ is not really required and can introduce regression with the debugger.
+ The original problem is fixed with the patch written for checks.adb.
+
+2007-08-16 Thomas Quinot <quinot@adacore.com>
+
+ * g-dyntab.adb, g-table.adb, table.adb: (Set_Item): Suppress
+ Range_Check on Allocated_Table.
+
+2007-08-16 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Collect_Arguments): Call Test_If_Relative_Path with
+ Including_Non_Switch set to False.
+ (Gnatmake): For the compiler, call Test_If_Relative_Path with
+ Including_Non_Switch set to False.
+
+ * makeutl.adb, makeutl.ads (Test_If_Relative_Path): New Boolean
+ parameter Including_Non_Switch, defaulted to True. When
+ Including_Non_Switch is False, options that are not switches and
+ appear as relative path are not converted to absolute paths.
+
+2007-08-16 Nicolas Roche <roche@adacore.com>
+
+ * Makefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub
+ makefiles
+
+ * Make-lang.in: Update dependencies
+
+2007-08-16 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch10.adb (Has_With_Clause): If the name of the with clause
+ currently inspected is a selected component, retrieve the entity of
+ its selector.
+ (Install_Limited_Withed_Unit): Call Has_Limited_With_Clause starting
+ from the immediate ancestor of Main_Unit_Entity.
+ (Install_Limited_Withed_Unit): Do not install the limited view of
+ package P if P is reachable through an ancestor chain from package C
+ and C also has a with clause for P in its body.
+ (Has_Limited_With_Clause): New routine.
+ (Has_With_Clause): New routine.
+
+2007-08-16 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Copy_Generic_Node): A reference to a child unit of the
+ generic for an enclosing instance is a global reference, even though
+ its scope is the enclosing instance.
+
+2007-08-16 Gary Dismukes <dismukes@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (OK_For_Limited_Init_In_05): Allow calls to 'Input to
+ initialize a limited object.
+ (Build_Derived_Record_Type): Add missing check of rules ARM 3.9.4
+ 13/2 and 14/2.
+ Make sure Has_Complex_Representation is inherited by derived type.
+
+2007-08-16 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb (Analyze_Assignment): Make sure we still note update in
+ exception case
+
+2007-08-16 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Check_Dispatching_Operation): If the operation
+ implements an operation inherited from a progenitor interface, verify
+ that they are subtype-conformant.
+
+2007-08-16 Hristian Kirtchev <kirtchev@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Nicolas Setton <setton@adacore.com>
+
+ * sem_res.adb (Comes_From_Predefined_Lib_Unit): New.
+ (Resolve): Alphabetize local variables. Add new variable From_Lib. When
+ the statement which is being resolved comes from a predefined library
+ unit, all non-predefined library interpretations are skipped.
+ (Resolve_Op_Concat): If string concatenation was folded in the parser,
+ but the "&" is user defined, give an error, because the folding would
+ be wrong.
+
+ * sinfo.ads, sinfo.adb (Is_Folded_In_Parser): New flag to indicate that
+ the parser has folded a long sequence of concatenations of string
+ literals.
+
+ * trans.c (Handled_Sequence_Of_Statements_to_gnu): Mark "JMPBUF_SAVE"
+ and "JMP_BUF" variables as artificial.
+ (N_String_Literal): Do not use alloca for very long string literals. Use
+ xmalloc/free instead. Otherwise the stack might overflow.
+
+ * utils.c (init_gigi_decls): Mark "JMPBUF_T" type as created by the
+ compiler.
+
+2007-08-16 Vincent Celier <celier@adacore.com>
+
+ * vms_conv.adb (Process_Argument): Ensure that project related options
+ are not put in the -cargs section when using GNAT COMPILE.
+
+2007-08-16 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add note on preprocessing (output file not written)
+
+2007-08-16 Thomas Quinot <quinot@adacore.com>
+
+ * a-tags.adb: Minor reformatting.
+
+2007-08-16 Bob Duff <duff@adacore.com>
+
+ * sem_type.ads, sem_ch4.adb: Minor reformatting.
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+
+ * g-soccon-interix.ads, a-excpol-interix.adb, a-intnam-interix.ads,
+ s-osinte-interix.ads, system-interix.ads: Removed.
+
+2007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calend-vms.adb, a-calend.adb ("+", "-", Add, Subtract): Remove
+ calls to Check_Within_Time_Bounds.
+ ("+", "-", Add, Subtract): Remove calls to Check_Within_Time_Bounds.
+ (Difference): Account for possible rounding of the resulting difference
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+
+ * uintp.adb, a-ztedit.adb, s-wchcon.adb, xnmake.adb, s-wchcon.adb,
+ par-ch5.adb, par-ch10.adb, get_targ.adb, a-wtedit.adb, a-teioed.adb,
+ s-osinte-solaris.adb, s-osinte-solaris.ads,
+ s-osinte-freebsd.ads, s-osinte-freebsd.adb: Minor reformatting.
+
+ * styleg.adb, styleg.ads, stylesw.adb, stylesw.ads: implement style
+ switch -gnatyS. Enable -gnatyS in GNAT style check mode
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * inline.adb, types.ads, inline.ads, frontend.adb, alloc.ads:
+ Suppress unmodified in-out parameter warning in some cases
+ This patch is a also fairly significant change to the way suppressible
+ checks are handled.
+
+ * checks.ads, checks.adb (Install_Null_Excluding_Check): No check
+ needed for access to concurrent record types generated by the expander.
+ (Generate_Range_Check): When generating a temporary to capture the
+ value of a conversion that requires a range check, set the type of the
+ temporary before rewriting the node, so that the type is always
+ properly placed for back-end use.
+ (Apply_Float_Conversion_Check): Handle case where the conversion is
+ truncating.
+ (Get_Discriminal): Code reformatting. Climb the scope stack looking
+ for a protected type in order to examine its discriminants.
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * a-stzsup.adb, nlists.adb, lib-util.adb, treepr.adb,
+ a-stwisu.adb, a-strsup.adb: Fix warnings for range
+ tests optimized out.
+
+ * exp_ch4.adb (Expand_N_In): Add warnings for range tests optimized out.
+ (Get_Allocator_Final_List): For the case of an anonymous access type
+ that has a specified Associated_Final_Chain, do not go up to the
+ enclosing scope.
+ (Expand_N_Type_Conversion): Test for the case of renamings of access
+ parameters when deciding whether to apply a run-time accessibility
+ check.
+ (Convert_Aggr_In_Allocator): Use Insert_Actions to place expanded
+ aggregate code before allocator, and ahead of declaration for
+ temporary, to prevent access before elaboration when the allocator is
+ an actual for an access parameter.
+ (Expand_N_Type_Conversion): On an access type conversion involving an
+ access parameter, do not apply an accessibility check when the
+ operand's original node was an attribute other than 'Access. We now
+ create access conversions for the expansion of 'Unchecked_Access and
+ 'Unrestricted_Access in certain cases and clearly accessibility should
+ not be checked for those.
+
+ * exp_ch6.ads, exp_ch6.adb (Add_Call_By_Copy_Code): For an actual that
+ includes a type conversion of a packed component that has been expanded,
+ recover the original expression for the object, and use this expression
+ in the post-call assignment statement, so that the assignment is made
+ to the object and not to a back-end temporary.
+ (Freeze_Subprogram): In case of primitives of tagged types not defined
+ at the library level force generation of code to register the primitive
+ in the dispatch table. In addition some code reorganization has been
+ done to leave the implementation clear.
+ (Expand_Call): When expanding an inherited implicit conversion,
+ preserve the type of the inherited function after the intrinsic
+ operation has been expanded.
+
+ * exp_ch2.ads, exp_ch2.adb
+ (Expand_Entry_Parameter.In_Assignment_Context): An implicit dereference
+ of an entry formal appearing in an assignment statement does not assign
+ to the formal.
+ (Expand_Current_Value): Instead of calling a routine to determine
+ whether the prefix of an attribute reference should be optimized or
+ not, prevent the optimization of such prefixes all together.
+
+ * lib-xref.adb (Generate_Reference.Is_On_LHS): An indexed or selected
+ component whose prefix is known to be of an access type is an implicit
+ dereference and does not assign to the prefix.
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * atree.ads, atree.adb (New_Copy_Tree): If hash table is being used and
+ itype is visited, make an entry into table to link associated node and
+ new itype.
+ Add comments and correct harmless error in Build_NCT_Hash_Tables
+ (Array_Aggr_Subtype): Associate each itype created for an index type to
+ the corresponding range construct, and not to the aggregate itself. to
+ maintain a one-to-one correspondence between itype and its associated
+ node, to prevent errors when complex expression is copied.
+ Fix mishandling of multiple levels of parens
+
+ * sem_aggr.adb: Create a limited view of an incomplete type, to make
+ treatment of limited views uniform for all visible declarations in a
+ limited_withed package.
+ (New_Copy_Tree): If hash table is being used and itype is visited,
+ make an entry into table to link associated node and new itype.
+ (Resolve_Record_Aggregate): Do not add an others box association for a
+ discriminated record component that has only discriminants, when there
+ is a box association for the component itself.
+
+ * par-ch4.adb: Fix mishandling of multiple levels of parens
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+
+ * comperr.adb: Fix problem with suppressing warning messages from gigi
+
+ * erroutc.ads, erroutc.adb, errout.ads,
+ errout.adb (Write_Eol): Remove trailing spaces before writing the line
+ (Write_Eol_Keep_Blanks): New procedure to write a line, including
+ possible trailing spaces.
+ (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
+ Fix problem with suppressing warning messages from back end
+ Improve handling of deleted warnings
+
+ * gnat1drv.adb:
+ Fix problem with suppressing warning messages from back end
+ Handle setting of Static_Dispatch_Tables flag.
+
+ * prepcomp.adb:
+ Fix problem with suppressing warning messages from back end
+
+ * exp_intr.adb: Improve handling of deleted warnings
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: Improve -gnatdI to cover all cases of serialization
+ Add documentation of dZ, d.t
+
+ * sprint.ads, sprint.adb: Improve -gnatdI to cover all cases of
+ serialization.
+ (Sprint_Node_Actual): Generate new output associated with implicit
+ importation and implicit exportation of object declarations.
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * einfo.ads, einfo.adb: Create a limited view of an incomplete type,
+ to make treatment of limited views uniform for all visible declarations
+ in a limited_withed package.
+ Improve warnings for in out parameters
+ (Set_Related_Interaface/Related_Interface): Allow the use of this
+ attribute with constants.
+ (Write_Field26_Name): Handle attribute Related_Interface in constants.
+ Warn on duplicate pragma Preelaborable_Initialialization
+
+ * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Force the
+ generation of a freezing node to ensure proper management of null
+ excluding access types in the backend.
+ (Create_Extra_Formals): Test base type of the formal when checking for
+ the need to add an extra accessibility-level formal. Pass the entity E
+ on all calls to Add_Extra_Formal (rather than Scope (Formal) as was
+ originally being done in a couple of cases), to ensure that the
+ Extra_Formals list gets set on the entity E when the first entity is
+ added.
+ (Conforming_Types): Add missing calls to Base_Type to the code that
+ handles anonymous access types. This is required to handle the
+ general case because Process_Formals builds internal subtype entities
+ to handle null-excluding access types.
+ (Make_Controlling_Function_Wrappers): Create wrappers for constructor
+ functions that need it, even when not marked Requires_Overriding.
+ Improve warnings for in out parameters
+ (Analyze_Function_Return): Warn for disallowed null return
+ Warn on return from procedure with unset out parameter
+ Ensure consistent use of # in error messages
+ (Check_Overriding_Indicator): Add in parameter Is_Primitive.
+ (Analyze_Function_Return): Move call to Apply_Constraint_Check before
+ the implicit conversion of the expression done for anonymous access
+ types. This is required to generate the code of the null excluding
+ check (if required).
+
+ * sem_warn.ads, sem_warn.adb (Check_References.Publicly_Referenceable):
+ A formal parameter is never publicly referenceable outside of its body.
+ (Check_References): For an unreferenced formal parameter in an accept
+ statement, use the same warning circuitry as for subprogram formal
+ parameters.
+ (Warn_On_Unreferenced_Entity): New subprogram, taken from
+ Output_Unreferenced_Messages, containing the part of that routine that
+ is now reused for entry formals as described above.
+ (Goto_Spec_Entity): New function
+ (Check_References): Do not give IN OUT warning for dispatching operation
+ Improve warnings for in out parameters
+ (Test_Ref): Check that the entity is not undefinite before calling
+ Scope_Within, in order to avoid infinite loops.
+ Warn on return from procedure with unset out parameter
+ Improved warnings for unused variables
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of child unit
+ (Expand_N_Attribute_Reference): Further unify the handling of the
+ three forms of access attributes, using common code now for all three
+ cases. Add a test for the case of applying an access attribute to
+ an explicit dereference when the context is an access-to-interface
+ type. In that case we need to apply the conversion to the prefix
+ of the explicit dereference rather than the prefix of the attribute.
+ (Attribute_Version, UET_Address): Set entity as internal to ensure
+ proper dg output of implicit importation.
+ (Expand_Access_To_Type): Removed.
+ (Expand_N_Attribute_Reference): Merge the code from the three cases
+ of access attributes, since the processing is largely identical for
+ these cases. The substantive fix here is to process the case of a
+ type name prefix (current instance case) before handling the case
+ of interface prefixes.
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_ch3.ads, exp_ch3.adb (Add_Final_Chain): New subprogram.
+ (Freeze_Array_Type, Freeze_Record_Type): For the case of a component
+ type that is an anonymous access to controlled object, establish
+ an associated finalization chain to avoid corrupting the global
+ finalization list when a dynamically allocated object designated
+ by such a component is deallocated.
+ (Make_Controlling_Function_Wrappers): Create wrappers for constructor
+ functions that need it, even when not marked Requires_Overriding.
+ (Initialize_Tag): Replace call to has_discriminants by call to
+ Is_Variable_Size_Record in the circuitry that handles the
+ initialization of secondary tags.
+ (Is_Variable_Size_Record): New implementation.
+ (Expand_N_Object_Declaration): Suppress call to init proc if there is a
+ Suppress_Initialization pragma for a derived type.
+ (Is_Variable_Size_Record): New subprogram.
+ (Build_Offset_To_Top_Functions): New implementation that simplifies the
+ initial version of this routine and also fixes problems causing
+ incomplete initialization of the table of interfaces.
+ (Build_Init_Procedure): Improve the generation of code to initialize the
+ the tag components of secondary dispatch tables.
+ (Init_Secondary_Tags): New implementation that simplifies the previous
+ version of this routine.
+ (Make_DT): Add parameter to indicate when type has been frozen by an
+ object declaration, for diagnostic purposes.
+ (Check_Premature_Freezing): New subsidiary procedure of Make_DT, to
+ diagnose attemps to freeze a subprogram when some untagged type of its
+ profile is a private type whose full view has not been analyzed yet.
+ (Freeze_Array_Type): Generate init proc for packed array if either
+ Initialize or Normalize_Scalars is set.
+ (Make_Controlling_Function_Wrappers, Make_Null_Procedure_Specs): when
+ constructing the new profile, copy the null_exclusion indicator for each
+ parameter, to ensure full conformance of the new body with the spec.
+
+ * sem_type.ads, sem_type.adb (Make_Controlling_Function_Wrappers):
+ Create wrappers for constructor functions that need it, even when not
+ marked Requires_Overriding.
+ (Covers): Handle properly designated types of anonymous access types,
+ whose non-limited views are themselves incomplete types.
+ (Add_Entry): Use an entity to store the abstract operation which hides
+ an interpretation.
+ (Binary_Op_May_Be_Hidden): Rename to Binary_Op_Interp_Has_Abstract_Op.
+ (Collect_Interps): Use Empty as an actual for Abstract_Op in the
+ initialization aggregate.
+ (Function_Interp_May_Be_Hidden): Rename to
+ Function_Interp_Has_Abstract_Op.
+ (Has_Compatible_Type): Remove machinery that skips interpretations if
+ they are labeled as potentially hidden by an abstract operator.
+ (Has_Hidden_Interp): Rename to Has_Abstract_Op.
+ (Set_May_Be_Hidden): Rename to Set_Abstract_Op.
+ (Write_Overloads): Output the abstract operator if present.
+ (Add_Entry): Before inserting a new entry into the interpretation table
+ for a node, determine whether the entry will be disabled by an abstract
+ operator.
+ (Binary_Op_Interp_May_Be_Hidden): New routine.
+ (Collect_Interps): Add value for flag May_Be_Hidden in initialization
+ aggregate.
+ (Function_Interp_May_Be_Hidden): New routine.
+ (Has_Compatible_Type): Do not consider interpretations hidden by
+ abstract operators when trying to determine whether two types are
+ compatible.
+ (Has_Hidden_Interp): New routine.
+ (Set_May_Be_Hidden_Interp): New routine.
+ (Write_Overloads): Write the status of flag May_Be_Hidden.
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.ads, exp_disp.adb (Build_Dispatch_Tables): Handle tagged
+ types declared in the declarative part of a nested package body or in
+ the proper body of a stub.
+ (Set_All_DT_Position): Add missing check to avoid wrong assignation
+ of the same dispatch table slot to renamed primitives.
+ (Make_Select_Specific_Data_Table): Handle private types.
+ (Tagged_Kind): Handle private types.
+ (Make_Tags, Make_DT): Set tag entity as internal to ensure proper dg
+ output of implicit importation and exportation.
+ (Expand_Interface_Thunk): Fix bug in the expansion assuming that the
+ first formal of the thunk is always associated with the controlling
+ type. In addition perform the following code cleanup: remove formal
+ Thunk_Alias which is no longer required, cleanup evaluation of the
+ the controlling type, and update the documentation.
+ Replace occurrence of Default_Prim_Op_Count by
+ Max_Predef_Prims. Addition of compile-time check to verify
+ that the value of Max_Predef_Prims is correct.
+ (Check_Premature_Freezing): Apply check in Ada95 mode as well.
+ (Make_DT): Add parameter to indicate when type has been frozen by an
+ object declaration, for diagnostic purposes.
+ (Build_Static_Dispatch_Tables): New subprogram that takes care of the
+ construction of statically allocated dispatch tables.
+ (Make_DT): In case of library-level tagged types export the declaration
+ of the primary tag. Remove generation of tags (now done by Make_Tags).
+ Additional modifications to handle non-static generation of dispatch
+ tables. Take care of building tables for asynchronous interface types
+ (Make_Tags): New subprogram that generates the entities associated with
+ the primary and secondary tags of Typ and fills the contents of Access_
+ Disp_Table. In case of library-level tagged types imports the forward
+ declaration of the primary tag that will be declared later by Make_DT.
+ (Expand_Interface_Conversion): In case of access types to interfaces
+ replace an itype declaration by an explicit type declaration to avoid
+ problems associated with the scope of such itype in transient blocks.
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * exp_util.ads, exp_util.adb:
+ This patch replaces a number of occurrences of explicit tests for N_Null
+ with calls to Known_Null. This improves tracking of null values, since
+ Known_Null also catches null constants, and variables currently known to
+ be null, so we get better tracking.
+ (Ensure_Defined): create an itype reference only in the scope of the
+ itype.
+ (Side_Effect_Free): A selected component of an access type that
+ denotes a component with a rep clause must be treated as not
+ side-effect free, because if it is part of a linked structure its
+ value may be affected by a renaming.
+ (Expand_Subtype_From_Expr): For limited objects initialized with build
+ in place function calls, do nothing; otherwise we prematurely introduce
+ an N_Reference node in the expression initializing the object, which
+ breaks the circuitry that detects and adds the additional arguments to
+ the called function. Bug found working in the new patch for statically
+ allocated dispatch tables.
+ (Is_Library_Level_Tagged_Type): New subprogram.
+ (Remove_Side_Effects): If the expression of an elementary type is an
+ operator treat as a function call.
+ (Make_Literal_Range): If the index type of the array is not integer, use
+ attributes properly to compute the constraint on the resulting aggregate
+ which is a string.
+
+ * freeze.ads, freeze.adb (Freeze_Entity): If the entity is a
+ class-wide type whose base type is an incomplete private type, leave
+ class-wide type unfrozen so that freeze nodes can be generated
+ properly at a later point.
+ (Freeze_Entity, array case): Handle case of pragma Pack and component
+ size attributre clause for same array.
+
+2007-08-14 Vincent Celier <celier@adacore.com>
+
+ * prj.ads, prj.adb: Update Project Manager to new attribute names for
+ gprbuild.
+ Allow all valid declarations in configuration project files
+ (Reset): Initialize all tables and hash tables in the project tree data
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+ (Slash_Id): Change type to be Path_Name_Type
+ (Slash): Return a Path_Name_Type instead of a File_Name_Type
+
+ * prj-attr.ads, prj-attr.adb: Remove attributes no longer used by
+ gprbuild.
+ Update Project Manager to new attribute names for ghprbuild
+ Allow all valid declarations in configuration project files
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+
+ * prj-com.ads:
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+
+ * prj-dect.adb (Prj.Strt.Attribute_Reference): Set correctly the case
+ insensitive flag for attributes with optional index.
+ (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
+ array attribute, put the index in lower case.
+ Update Project Manager to new attribute names for ghprbuild
+ Allow all valid declarations in configuration project files
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+
+ * prj-env.ads, prj-env.adb:
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+ (Get_Reference): Change type of parameter Path to Path_Name_Type
+
+ * prj-ext.ads, prj-ext.adb (Initialize_Project_Path): Make sure, after
+ removing '-' from the path to start with the first character of the
+ next directory.
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+
+ * prj-nmsc.ads, prj-nmsc.adb:
+ Update Project Manager to new attribute names for ghprbuild
+ Allow all valid declarations in configuration project files
+ (Search_Directories): Detect subunits that are specified with an
+ attribute Body in package Naming. Do not replace a source/unit in the
+ same project when the order of the source dirs are known. Detect
+ duplicate sources/units in the same project when the order of the
+ source dirs are not known.
+ (Check_Ada_Name): Allow all identifiers that are not reserved words
+ in Ada 95.
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+ (Look_For_Sources): If the list of sources is empty, set the object
+ directory of non extending project to nil.
+ Change type of path name variables to be Path_Name_Type
+ (Locate_Directory): Make sure that on Windows '/' is converted to '\',
+ otherwise creating missing directories will fail.
+
+ * prj-attr-pm.adb, prj-tree.ads, prj-proc.ads, prj-proc.adb,
+ prj-part.ads, prj-part.adb:
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+
+ * prj-strt.adb (Prj.Strt.Attribute_Reference): Set correctly the case
+ insensitive flag for attributes with optional index.
+ (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
+ array attribute, put the index in lower case.
+ (Parse_Variable_Reference): Allow the current project name to be used in
+ the prefix of an attribute reference.
+
+ * prj-util.ads, prj-util.adb
+ (Value_Of (for arrays)): New Boolean parameter Force_Lower_Case_Index,
+ defaulted to False. When True, always check against indexes in lower
+ case.
+
+ * snames.ads, snames.h, snames.adb:
+ Update Project Manager to new attribute names for gprbuild
+ Allow all valid declarations in configuration project files
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * opt.ads: Warning for non-local exception propagation now off by
+ default
+ New switch -gnatI to disable representation clauses
+ Implement new pragma Implicit_Packing
+
+ * usage.adb:
+ Warning for non-local exception propagation now off by default
+ Add warning for unchecked conversion of pointers wi different
+ conventions.
+ New switch -gnatI to disable representation clauses
+
+ * usage.adb: new switch -gnatyS
+
+ * gnat_ugn.texi: For the gnatcheck Non_Qualified_Aggregates rule add a
+ note that aggregates of anonymous array types are not flagged.
+ -gnatwc now includes membership tests optimized away
+ -gnatw.x warnings are now off by default
+ Added conditional compilation Appendix
+ Add documentation of -gnatI
+ Add documentation for new -gnatyS style check
+ Update documentation about SAL and auto-init on Windows.
+
+ * gnat_rm.texi:
+ Add documentation for pragma Check_Name and 'Enabled attribute
+ Document that Eliminate on dispatching operation is ignored
+ Document IDE attributes VCS_Repository_Root and VCS_Patch_Root.
+ Document pragma Main
+ Document pragma Implicit_Packing
+
+ * sem_ch13.adb: Add warning for unchecked conversion of pointers wi
+ different conventions
+ New switch -gnatI to disable representation clauses
+
+ * switch-c.adb (Scan_Front_End_Switches): When a -gnat switch is not
+ recognized, report the invalid characters including "-gnat" instead of
+ just the first character in the switch.
+ New switch -gnatI to disable representation clauses
+ Set Warn_On_Object_Renames_Function true for -gnatg
+
+ * vms_data.ads: Add doc for /IGNORE_REP_CLAUSES
+ Add STATEMENTS_AFTER_THEN_ELSE as synonym for -gnatyS
+ Add qualifier /ADD_PROJECT_SEARCH_DIR= for different tools, equivalent
+ to switch -aP (add directory to project search dir).
+
+ * par-prag.adb: Implement new pragma Implicit_Packing
+
+ * sem_prag.adb (Analyze_Pragma, case Complex_Representation): Mark the
+ type as having a non-standard representation, to force expansion on
+ conversion to related types.
+ (Analyze_Pragma): Warn on misspelled pragma
+ (Analyze_Pragma, case Convention_Identifier): Fix checking of second arg
+ Ensure consistent use of # in error messages
+ Implement pragma Implicit_Packing
+
+2007-08-14 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * targtyps.c (get_target_maximum_default_alignment): New function.
+ Maximum alignment
+ that the compiler might choose by default for a type or object.
+ (get_target_default_allocator_alignment): New function. Alignment known
+ to be honored by the target default allocator.
+ (get_target_maximum_allowed_alignment): New function. Maximum alignment
+ we might accept for any type or object on the target.
+ (get_target_maximum_alignment): Now synonym of maximum_default_alignment
+
+ * gigi.h (get_target_maximum_default_alignment): Declare new function.
+ (get_target_default_allocator_alignment): Likewise.
+ (get_target_maximum_allowed_alignment): Likewise.
+
+ PR ada/19037
+ * decl.c (gnat_to_gnu_entity) <object>: Except for the renaming of the
+ result of a function call, first try to use a stabilized reference for
+ a constant renaming too.
+ (validate_alignment): Use target_maximum_allowed_alignment instead of
+ MAX_OFILE_ALIGNMENT as the upper bound to what we accept.
+ (gnat_to_gnu_entity): Use common nodes directly.
+ (gnat_to_gnu_entity) <object>: Pick the values of the type to annotate
+ alignment and size for the object.
+ (lvalue_required_p): Handle N_Parameter_Association like N_Function_Call
+ and N_Procedure_Call_Statement.
+ (takes_address): Rename to lvalue_required_p, add third parameter
+ 'aliased' and adjust recursive calls.
+ <N_Indexed_Component>: Update 'aliased' from the array type.
+ <N_Selected_Component>: New case.
+ <N_Object_Renaming_Declaration>: New Likewise.
+ (Identifier_to_gnu): Adjust for above changes.
+ (maybe_stabilize_reference) <CONST_DECL>: New case.
+
+ * utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Look through conversion
+ between type variants.
+ (build_simple_component_ref): Likewise.
+ (build_call_alloc_dealloc): Use target_default_allocator_alignment
+ instead of BIGGEST_ALIGNMENT as the threshold to trigger the super
+ aligning type circuitry for allocations from the default storage pool.
+ (build_allocator): Likewise.
+ (build_simple_component_ref): Manually fold the reference for a
+ constructor if the record type contains a template.
+
+ * utils.c (value_zerop): Delete.
+ (gnat_init_decl_processing): Emit debug info for common types.
+ (rest_of_record_type_compilation): If a union contains a field
+ with a non-constant qualifier, treat it as variable-sized.
+ (finish_record_type): Give the stub TYPE_DECL a name.
+ (rest_of_record_type_compilation): Likewise.
+ (convert) <CONSTRUCTOR>: New case. Build a new constructor if
+ types are equivalent array types.
+ (create_field_decl): Claim fields of any ARRAY_TYPE are addressable,
+ even if the type is not passed by reference.
+ (static_ctors, static_dtors): Delete.
+ (end_subprog_body): Do not record constructors and destructors.
+ (build_global_cdtor): Delete.
+ (gnat_write_global_declarations): Do not call build_global_cdtor.
+
+ * lang-spARGET_VXWORKS_RTP is defined, append -mrtp when
+ -fRTS=rtp is specified.
+ If CONFIG_DUAL_EXCEPTIONS is 1, append -fsjlj when -fRTS=sjlj is
+ specified.
+
+ * misc.c (gnat_init_gcc_eh): Use __gnat_eh_personality_sj for the name
+ of the personality function with SJLJ exceptions.
+
+ * raise-gcc.c (PERSONALITY_FUNCTION): Use __gnat_eh_personality_sj for
+ the name of the personality function with SJLJ exceptions.
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * par.ads, par.adb: Improve handling of extra right parens.
+ (Par): Remove flag From_Limited_With_Clause.
+
+ * par-util.adb, par-ch3.adb: Improve error recovery for bad constraint
+ Improve handling of extra right parens.
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+
+ * par-tchk.adb (TF_Semicolon): Improve error recovery
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.ads, sem_attr.adb (Analyze_Attribute, case Value): For
+ enumeration type, mark all literals as referenced.
+ (Eval_Attribute, case 'Image): If the argument is an enumeration
+ literal and names are available, constant-fold but mark nevertheless as
+ non-static.
+ Clean up function names.
+ (Name_Modifies_Prefix): Rename to Name_Implies_Lvalue_Prefix. Clarify
+ comment.
+ (Requires_Simple_Name_Prefix): Removed.
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch11.adb: Improved warnings for unused variables
+
+ * sem_ch3.ads, sem_ch3.adb (Build_Derived_Record_Type): If the ancestor
+ is a synchronized interface, the derived type is limited.
+ (Analyze_Object_Declaration): Mark the potential coextensions in the
+ definition and expression of an object declaration node.
+ (Build_Derived_Type): For the completion of a private type declaration
+ with a derived type declaration, chain the parent type's representation
+ items to the last representation item of the derived type (not the
+ first one) if they are not present already.
+ (Analyze_Object_Declaration, Constant_Redeclaration): Allow incomplete
+ object declaration of forward references to tags.
+ (Access_Subprogram_Declaration): In Ada2005, anonymous access to
+ subprogram types can appear as access discriminants of synchronized
+ types.
+ (OK_For_Limited_Init_In_05): The initialization is legal is it is a call
+ given in prefixed form as a selected component.
+ (Process_Discriminants): If not all discriminants have defaults, place
+ error message on a default that is present.
+ (Analyze_Private_Extension_Declaration): Diagnose properly an attempt to
+ extend a synchronized tagged type.
+ Improved warnings for unused variables
+ (Is_Visible_Component): Fix a visibility hole on a component inherited
+ by a private extension when parent is itself declared as a private
+ extension, and the derivation is in a child unit.
+ (Find_Hidden_Interface): Move spec from the package body.
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb: Improve warnings on redundant assignments
+
+ * sem_util.ads, sem_util.adb: (Is_Variable): Add defense against junk
+ parameter
+ (Is_Synchronized_Tagged_Type): New subprogram that returns true
+ in case of synchronized tagged types (AARM 3.9.4 (6/2)).
+ (Safe_To_Capture_Value): Can now return True for constants, even if Cond
+ is set to False. Improves handling of Known_[Not_]Null.
+ (Wrong_Type): Special case address arithmetic attempt
+ (Collect_Abstract_Interfaces): Add new formal to allow collecting
+ abstract interfaces just using the partial view of private types.
+ (Has_Abstract_Interfaces): Add new formal to allow checking types
+ covering interfaces using the partial view of private types.
+ (Is_Fully_Initialized_Type): Special VM case for uTag component. This
+ component still needs to be defined in this case, but is never
+ initialized as VMs are using other dispatching mechanisms.
+ (Abstract_Interface_List): For a protected type, use base type to get
+ proper declaration.
+ Improve warnings on redundant assignments
+ (Is_Variable): Handle properly an implicit dereference of a prefixed
+ function call.
+ (Build_Actual_Subtype): If this is an actual subtype for an
+ unconstrained formal parameter, use the sloc of the body for the new
+ declaration, to prevent anomalises in the debugger.
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_elim.adb (Set_Eliminated): Ignore pragma Eliminate for
+ dispatching operation
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_aggr.ads,
+ exp_aggr.adb (Convert_Aggr_In_Allocator): Use Insert_Actions to place
+ expanded aggregate code before allocator, and ahead of declaration for
+ temporary, to prevent access before elaboration when the allocator is
+ an actual for an access parameter.
+ (Is_Static_Dispatch_Table_Aggregate): Handle aggregates initializing
+ the TSD and the table of interfaces.
+ (Convert_To_Assignments): Augment the test for delaying aggregate
+ expansion for limited return statements to include the case of extended
+ returns, to prevent creation of an unwanted transient scope.
+ (Is_Static_Dispatch_Table_Aggregate): New subprogram.
+ (Expand_Array_Aggregate): Handle aggregates associated with
+ statically allocated dispatch tables.
+ (Expand_Record_Aggregate): Handle aggregates associated with
+ statically allocated dispatch tables.
+ (Gen_Ctrl_Actions_For_Aggr): Generate a finalization list for allocators
+ of anonymous access type.
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Assign_Array): If source or target of assignment
+ is a variable that renames a slice, use the variable itself in the
+ expannsion when the renamed expression itself may be modified between
+ the declaration of the renaming and the array assignment.
+
+2007-08-14 Jerome Guitton <guitton@adacore.com>
+
+ * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
+ s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
+ s-taprop-vms.adb, s-taprop-posix.adb (Continue_Task, Stop_All_Tasks):
+ New functions; dummy implementations.
+
+ * s-osinte-vxworks.ads (Task_Stop, Task_Cont, Int_Lock, Int_Unlock): New
+ functions, used to implement the multi-tasks mode routines on VxWorks.
+
+ * s-osinte-vxworks.adb, s-osinte-vxworks6.adb (Task_Cont, Task_Stop):
+ New functions, thin
+ binding to the VxWorks routines which have changed between VxWorks 5
+ and 6.
+ (Int_Lock, Int_Unlock): New function, thin binding to kernel routines
+ which are not callable from a RTP.
+
+ * s-taprop-vxworks.adb (Stop_All_Tasks, Continue_Task): New functions,
+ implemented for the multi-tasks mode on VxWorks 5 and 6.
+
+ * s-taprop.ads (Stop_All_Tasks, Continue_Task): New functions.
+
+ * s-tasdeb.ads, s-tasdeb.adb (Continue_All_Tasks, Stop_All_Tasks): New
+ functions.
+
+2007-08-14 Vincent Celier <celier@adacore.com>
+
+ * clean.adb, fmap.adb, sinput-p.adb, sinput-p.ads, gnatcmd.adb,
+ gnatname.adb, makeutl.ads, makeutl.adb, makegpr.adb, mlib-tgt-vms.adb
+ mlib-tgt-darwin.adb, mlib-tgt-lynxos.adb, mlib-prj.adb, mlib-tgt.adb,
+ mlib-tgt.ads, mlib-tgt-irix.adb mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
+ mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+ mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, mlib-tgt-aix.adb,
+ mlib-tgt-tru64.adb, mlib.ads, mlib.adb (Create_Sym_Links): New
+ procedure.
+ (Major_Id_Name): New function.
+ mlib-tgt.ads/mlib.tgt.adb:
+ (Library_Major_Minor_Id_Supported): New function, default returns True
+ Most mlib-tgt-*.adb that support shared libraries and symbolic links:
+ (Build_Dynamic_Library): Add support for major/minor ids for shared libs
+ Other mlib-tgt-*.adb (aix, mingw, vms, vxworks, xi):
+ Implementation of Library_Major_Minor_Id_Supported returns False
+ clean.adb:
+ (Clean_Library_Directory): If major/minor ids are supported, clean all
+ library files.
+ Major update of the Project Manager and of the project aware tools,
+ including gprmake, so that the same sources in the GNAT repository
+ can be used by gprbuild.
+
+2007-08-14 Olivier Hainque <hainque@adacore.com>
+
+ * system-solaris-x86.ads (ZCX_By_Default): Switch to True.
+ (GCC_ZCX_Support): Switch to True.
+
+ * s-intman-solaris.adb (Notify_Exception): Call
+ Adjust_Context_For_Raise before raising, as expected for signal
+ handlers in general.
+
+ * s-intman-posix.adb (Notify_Exception): Remove declaration of
+ Adjust_Context_For_Raise, moved to the spec of this unit to be visible
+ to other implementation bodies.
+
+ * s-intman.ads (Adjust_Context_For_Raise): Declare and import here, to
+ be visible by multiple implementation bodies.
+
+ * init.c [VMS section] (__gnat_handle_vms_condition): Adjust context
+ only for conditions coming from hardware.
+ [alpha-tru64 section] (__gnat_adjust_context_for_raise): Implement,
+ adjustments to signal context prior to exception raise from signal
+ handler.
+ (__gnat_map_signal for VxWorks): Map SIGSEGV to Storage_Error in RTP
+ mode.
+ Solaris section: (__gnat_adjust_context_for_raise): New function.
+ Implementation of the machine context adjustments to perform prior to
+ raise from a signal handler. Version for both sparc and x86.
+ (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Define.
+ (__gnat_error_handler): Expect a third argument, ucontext_t *. Adjust it
+ prior to raising as expected for any handler, before possible nested
+ faults to make sure all the contexts in a chain have been adjusted by
+ the time we propagate.
+
+2007-08-14 Pascal Obry <obry@adacore.com>
+
+ * s-osinte-mingw.ads: Add support for Ada.Execution_Time on Windows.
+ (SYSTEM_INFO): New record.
+ (SetThreadIdealProcessor): New imported routine needed for supporting
+ task_info pragma on Windows.
+
+ * s-taprop-mingw.adb (Enter_Task): Check if CPU number given in task
+ info can be applied to the current host.
+ (Create_Task): Set the ideal processor if information is present.
+
+ * s-tasinf-mingw.adb, s-tasinf-mingw.ads,
+ a-exetim-mingw.adb, a-exetim-mingw.ads: New files.
+
+2007-08-14 Olivier Hainque <hainque@adacore.com>
+
+ * s-taprop-linux.adb (Get_Stack_Attributes): New subprogram. Fetch the
+ stack size and initial stack pointer value for a given task.
+ (Enter_Task): Get the stack attributes of the task we are entering and
+ let the stack checking engine know about them.
+
+ * s-stchop.adb, s-stchop.ads (Notify_Stack_Attributes): New subprogram.
+ Let the stack-checking engine know about the initial sp value and stack
+ size associated with the current task.
+ (Set_Stack_Info): If a stack base has been notified for the current
+ task, honor it. Fallback to the previous less accurate method otherwise.
+
+ * s-stchop-vxworks.adb (Notify_Stack_Attributes): Dummy body.
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb: Create a limited view of an incomplete type, to make
+ treatment of limited views uniform for all visible declarations in a
+ limited_withed package.
+ Set flag indicating that a subprogram body for a child unit has a
+ generated spec.
+ (Analyze_Compilation_Unit): If unit is a subprogram body that has no
+ separate declaration, remove the unit name from visibility after
+ compilation, so that environment is clean for subsequent compilations.
+ (Install_Limited_Context_Clauses): Do not install a
+ limited_private_with_clause unless the current unit is a body or a
+ private child unit.
+ (Analyze_Subunit, Install_Parents): Treat generic and non-generic units
+ in the same fashion.
+ (Install_Limited_Withed_Unit): Do not install a limited with clause if
+ it applies to the declaration of the current package body.
+ (Remove_Private_With_Clauses): If there is a regular with_clause for
+ the unit, delete Private_With_Clause from context, to prevent improper
+ hiding when processing subsequent nested packages and instantiations.
+
+2007-08-14 Jose Ruiz <ruiz@adacore.com>
+
+ * adaint.c (__gnat_is_absolute_path): For VxWorks systems we accept
+ dir/file, device:/dir/file, and device:drive_letter:/dir/file as
+ representing absolute path names.
+ __gnat_set_file_time_name [VMS]: Fix some 64/32 bit issues.
+
+ * cstreams.c (__gnat_full_name for VxWorks): Use
+ __gnat_is_absolute_path to detect whether we need to add the current
+ directory to normalize the path.
+
+2007-08-14 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads,
+ a-tags.adb (Displace): Associate a message with the raised CE
+ exception.
+ (To_Addr_Ptr, To_Address, To_Dispatch_Table_Ptr,
+ To_Object_Specific_Data_Ptr To_Predef_Prims_Ptr,
+ To_Tag_Ptr, To_Type_Specific_Data_Ptr): Moved here from the package
+ spec.
+ (Default_Prim_Op_Count): Removed.
+ (IW_Membership, Get_Entry_Index, Get_Offset_Index, Get_Prim_Op_Kind,
+ Register_Tag, Set_Entry_Index, Set_Offset_To_Top, Set_Prim_Op_Kind):
+ Remove pragma Inline_Always.
+
+ * rtsfind.ads (Default_Prim_Op_Count): Removed
+ (Max_Predef_Prims): New entity
+ (RE_Expanded_Name): Removed
+ (RE_HT_Link): Removed
+ (RE_Iface_Tag): Remmoved
+ (RE_Ifaces_Table): Removed
+ (RE_Interfaces_Array): Removed
+ (RE_Interface_Data_Element): Removed
+ (RE_Nb_Ifaces): Removed
+ (RE_RC_Offset): Removed
+ (RE_Static_Offset_To_Top): Removed
+
+ * exp_atag.ads, exp_atag.adb (Build_Inherit_Prims): Addition of a new
+ formal.
+ (Build_Inherit_Predefined_Prims): Replace occurrences of Default_
+ Prim_Op_Count by Max_Predef_Prims.
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * binde.adb (Elab_All_Links): Remove unnecessary call to
+ Generic_Separately_Compiled (if a unit satisfies this predicate, there
+ won't be an associated Afile).
+ (Elab_All_Links): Fail if a referenced unit cannot be found
+
+ * bindgen.adb:
+ Fix comments in bindgen regarding consistency checks done in Bcheck:
+ the checks are made across units within a partition, not across several
+ partitions.
+ Fix generation of C binder file for VxWorks.
+
+ * lib.ads, lib.adb (Generic_Separately_Compiled): Rename to
+ Generic_May_Lack_ALI, more descriptive of the current use of the
+ predicate, and update documentation.
+
+ * lib-writ.ads, lib-writ.adb (Write_With_Lines): Minor code
+ reorganization and documentation update for the case of predefined
+ library generics (for which we do not reference an Afile).
+
+2007-08-14 Robert Dewar <dewar@adacore.com>
+
+ * s-intman-irix.adb, s-osinte-irix.adb, s-osinte-irix.ads,
+ s-proinf-irix-athread.ads, s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads,
+ s-parame-hpux.ads, s-intman-dummy.adb, s-tasinf-solaris.adb,
+ s-tasinf-solaris.ads, s-asthan-vms-alpha.adb, s-inmaop-vms.adb,
+ s-intman-vms.adb, s-intman-vms.ads, s-osprim-mingw.adb,
+ s-parame-vms-restrict.ads, s-parame-ae653.ads, s-intman-vxworks.ads,
+ s-intman-vxworks.ads, s-intman-vxworks.adb, s-parame-vxworks.ads,
+ s-tfsetr-vxworks.adb, s-interr.adb, s-interr.ads, a-tasatt.adb,
+ exp_ch13.adb, s-htable.ads, s-imgboo.ads, s-imglli.ads, s-imgllu.ads,
+ s-imguns.ads, g-eacodu.adb, par-ch12.adb, s-stache.ads, s-stausa.adb,
+ s-poosiz.adb, s-parame.ads, s-mastop.ads, s-osinte-darwin.ads,
+ a-chtgke.adb, s-asthan-vms-alpha.adb, s-parame-vms-alpha.ads,
+ s-parame-vms-ia64.ads, s-parame-vxworks.adb, s-except.ads,
+ g-altcon.adb: Minor reformatting
+
+ ada-tree.h: Delete empty line.
+
+ ali.ads: Minor reformatting
+ Clarification of comments.
+ Minor spelling correction
+
+ * exp_dbug.adb: Add Warnings Off to suppress new warning
+
+ * a-witeio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
+ formal
+
+ * a-strunb.adb (Set_Unbounded_String): Avoid memory leak by freeing old
+ value
+
+ * a-textio.adb (Write): Remove an unnecessary IN OUT mode from
+
+ * a-textio.ads: Reorder the standard input/output/error declarations
+ for consistency.
+
+ * g-dirope.adb, g-dirope.ads: Change Dir to mode IN for Open call
+
+ * par-ch2.adb: Recognize RM specially in errout
+ Change 'R'M to RM in all error messages
+
+ * scng.adb: Recognize RM specially in errout
+
+ * sem.ads, sem.adb, exp_strm.adb, exp_ch5.ads, expander.adb: Rename
+ N_Return node to be N_Simple_Return, to reflect Ada 2005 terminology.
+
+ * s-direio.adb: Add missing routine header box.
+
+ * sem_attr.ads: Add ??? comments
+
+ * sem_eval.adb: Recognize RM specially in errout
+ Change 'R'M to RM in all error messages
+
+ * sem_maps.adb, sem_maps.ads: Remove some unnecessary IN OUT modes
+
+ * s-tasinf.ads: Fix minor comment typo.
+
+ * a-cihama.adb: Minor comment addition
+
+ * a-ztexio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
+ formal
+
+ * s-tasinf-tru64.ads: Fix minor comment typo.
+
+ * itypes.ads: Comment update.
+
+ * ali-util.adb: Remove Generic_Separately_Compiled guard, not needed
+ anymore.
+
+ * argv.c: Added protection against null gnat_argv and gnat_envp.
+
+ * bcheck.adb (Check_Consistency): Use correct markup character ({) in
+ warning message when Tolerate_Consistency_Errors is True.
+
+ * cstand.adb (Create_Standard): Do not call Init_Size_Alignment for
+ Any_Id, as this subprogram is only applicable to *type* entities (it
+ sets RM_Size). Instead initialize just Esize and Alignment.
+
+2007-08-14 Bob Duff <duff@adacore.com>
+
+ * a-cihama.ads, a-cidlli.ads, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
+ a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
+ a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorse.ads, a-cohama.ads,
+ a-cohata.ads, a-convec.adb, a-coinve.ads, a-coinve.adb, a-convec.ads,
+ a-coorse.ads (Next): Applied pragma Inline.
+ Make all Containers packages Remote_Types (unless they are already
+ Pure).
+ (Previous): applied pragma Inline
+ (Elements_Type): is now a record instead of an array
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+
+ * table.adb, g-table.adb, g-dyntab.adb (Append): Reimplement in terms
+ of Set_Item.
+ (Set_Item): When the new item is an element of the currently allocated
+ table passed by reference, save a copy on the stack if we're going
+ to reallocate. Also, in Table.Set_Item, make sure we test the proper
+ variable to determine whether to call Set_Last.
+
+ * sinput-d.adb, sinput-l.adb, stringt.adb, switch-m.adb,
+ symbols-vms.adb, symbols-processing-vms-alpha.adb,
+ symbols-processing-vms-ia64.adb, sem_elab.adb, repinfo.adb: Replace
+ some occurrences of the pattern
+ T.Increment_Last;
+ T.Table (T.Last) := Value;
+ with a cleaner call to
+ T.Append (Value);
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch12.ads, sem_ch12.adb (Instantiate_Type): If the formal is a
+ derived type with interface progenitors use the analyzed formal as the
+ parent of the actual, to create renamings for all the inherited
+ operations in Derive_Subprograms.
+ (Collect_Previous_Instances): new procedure within of
+ Load_Parent_Of_Generic, to instantiate all bodies in the compilation
+ unit being loaded, to ensure that the generation of global symbols is
+ consistent in different compilation modes.
+ (Is_Tagged_Ancestor): New function testing the ancestor relation that
+ takes progenitor types into account.
+ (Validate_Derived_Type_Instance): Enforce the rule of 3.9.3(9) by
+ traversing over the primitives of the formal and actual types to locate
+ any abstract subprograms of the actual type that correspond to a
+ nonabstract subprogram of the formal type's ancestor type(s), and issue
+ an error if such is found.
+ (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation,
+ Instantiate_Package_Body, Instantiate_Subprogram_Body):
+ Remove bogus guard around calls to Inherit_Context.
+ (Reset_Entity): If the entity is the selector of a selected component
+ that denotes a named number, propagate constant-folding to the generic
+ template only if the named number is global to the generic unit.
+ (Set_Instance_Env): Only reset the compilation switches when compiling
+ a predefined or internal unit.
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Try_Class_Wide_Operation): use base type of first
+ parameter to determine whether operation applies to the prefix.
+ (Complete_Object_Operation): If actual has an access type and
+ controlling formal is not an in_parameter, reject the actual if it is
+ an access_to_constant type.
+ (Try_Primitive_Operation): If the type of the prefix is a formal tagged
+ type, the candidate operations are found in the scope of declaration of
+ the type, because the type has no primitive subprograms.
+ (Analyze_Selected_Component): If prefix is class-wide, and root type is
+ a private extension, only examine visible components before trying to
+ analyze as a prefixed call.
+ Change Entity_List to Type_To_Use, for better readability.
+ (Has_Fixed_Op): Use base type when checking whether the type of an
+ operator has a user-defined multiplication/division
+ (Check_Arithmetic_Pair): Use Ada 2005 rules to remove ambiguities when
+ user-defined operators are available for fixed-point types.
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_cat.ads, sem_cat.adb (Has_Stream_Attribute_Definition): New
+ formal At_Any_Place indicating, when True, that we want to test for
+ availability of the stream attribute at any place (as opposed to the
+ current visibility context only).
+ (Missing_Read_Write_Attributes): A stream attribute is missing for the
+ purpose of enforcing E.2.2(8) only if it is not available at any place.
+ Take into account the Ada2005 pragma Has_Preelaborable_Initialization
+ when checking the legality of an extension aggregate in a preelaborable
+ package. Treat the literal null as a valid default expression in a
+ component declaration for a type with preelaborable initialization.
+ A limited interface is a legal progenitor for the designated type of a
+ remote access to class-wide type.
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.ads, sem_ch8.adb (Find_Type, case of a 'Base attribute
+ reference): Use correct entity as denoted entity for the selector of
+ the rewritten node.
+ (Find_Direct_Name): Add comment about Generate_Reference incorrectly
+ setting the Referenced_As_LHS flag for entities that are implicitly
+ dereferenced.
+ (Find_Type): If the type is an internally generated incomplete type,
+ mark the full view as referenced, to prevent spurious warnings.
+ (Find_Selected_Component, Has_Components): Handle properly non-limited
+ views that are themselves incomplete types.
+ Handle interfaces visible through limited-with clauses.
+ (Analyze_Subprogram_Renaming): Disambiguate and set the entity of a
+ subprogram generic actual for which we have generated a renaming.
+ Warn when the renaming introduces a homonym of
+ the renamed entity, and the renamed entity is directly visible.
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_res.adb (Resolve_Allocator): Propagate any coextensions that
+ appear in the subtree to the current allocator if it is not a static
+ coextension.
+ (Resolve_Allocator): Perform cleanup if resolution has determined that
+ the allocator is not a coextension.
+ (Resolve): Skip an interpretation hidden by an abstract operator only
+ when the type of the interpretation matches that of the context.
+ (Resolve): When looping through all possible interpretations of a node,
+ do not consider those that are hidden by abstract operators.
+ (Resolve_Actuals): When verifying that an access to class-wide object
+ is an actual for a controlling formal, ignore anonymous access to
+ subprograms whose return type is an access to class_wide type.
+ (Resolve_Slice): If the prefix of the slice is a selected component
+ whose type depends on discriminants, build its actual subtype before
+ applying range checks on the bounds of the slice.
+ (Valid_Conversion): In an instance or inlined body, compare root types,
+ to prevent anomalies between private and public views.
+ (Resolve): Improve error message for ambiguous fixed multiplication
+ expressions that involve universal_fixed multiplying operations.
+
+2007-08-14 Javier Miranda <miranda@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.adb (Build_Protected_Entry): Propagate the original source
+ location to allow the correct generation of errors in case of
+ restrictions applied to the expanded code.
+ (Expand_Entry_Barrier): Remove all generated renamings for a barrier
+ function if the condition does not reference them.
+ (Expand_Entry_Body_Declarations): Mark the index constant as having a
+ valid value.
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+ Pablo Oliveira <oliveira@adacore.com>
+
+ * exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating
+ typecode parameters for a union (in a variant record), remove
+ extraneous layer of Any wrapping for member label.
+ (Expand_Receiving_Stubs_Bodies): For an RCI package body that has
+ elabration statements, register the package with the name server
+ at the beginning, not at the end, of the elaboration statements so
+ that they can create remote access to subprogram values that designate
+ remote subprograms from the package.
+
+2007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * g-catiio.adb (Image): For the case of %s, use Ada.Calendar.Time
+ values to compute the number of seconds since the Unix Epoc in order to
+ account for Daylight Savings Time. Perform special processing for dates
+ that are earlier than the Unix Epoc to obtain a negative number.
+
+2007-08-14 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing
+ switches.
+
+2007-08-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnatlink.adb (Gnatlink): Pass switches to the linker even if the
+ binder-generated file is not in Ada.
+ Pass -mrtp to the linker if it is GCC and --RTS=rtp has been
+ recorded in the ALI file.
+ Pass -fsjlj to the linker if it is GCC and --RTS=sjlj has been recorded.
+
+2007-08-14 Vincent Celier <celier@adacore.com>
+
+ * gnatls.adb: (Corresponding_Sdep_Entry): Always return a value
+ (Output_Source): Do nothing if parameter is No_Sdep_Id
+
+ * make.adb (Gnatmake): Do not rebuild an archive simply because a
+ shared library it imports has a later time stamp.
+ (Check): Resolve the symbolic links in the path name of the object
+ directory.
+ Check that the ALI file is in the correct object directory
+ Check if a file name does not correspond to the mapping of units
+ to file names.
+ (Display_Version): New procedure
+ (Initialize): Process switches --version and --help
+ Use type Path_Name_Type for path name
+
+2007-08-14 Paul Hilfinger <hilfinger@adacore.com>
+
+ * impunit.adb: Re-organize System.Random_Numbers and
+ GNAT.Random_Numbers and add to builds.
+
+ * Makefile.rtl: Add s-rannum.ad* and g-rannum.ad*, a-assert*
+
+ * s-rannum.ads, s-rannum.adb, g-rannum.ads, g-rannum.adb: New files.
+
+ * a-assert.ads, a-assert.adb: New files.
+
+2007-08-14 Gary Dismukes <dismukes@adacore.com>
+
+ * layout.adb (Layout_Type): In the case of access-to-subprogram types,
+ if AAMP_On_Target is True, then the size of the type encompasses two
+ addresses (a static link and a subprogram address), except in the case
+ of library-level access types.
+
+2007-08-14 Vincent Celier <celier@adacore.com>
+
+ * output.ads, output.adb (Write_Eol): Remove trailing spaces before
+ writing the line.
+ (Write_Eol_Keep_Blanks): New procedure to write a line, including
+ possible trailing spaces.
+ (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
+
+2007-08-14 Javier Miranda <miranda@adacore.com>
+
+ * par-ch6.adb (P_Formal_Part): Fix wrong error message associated with
+ null-excluding access types.
+
+2007-08-14 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code
+ that is common to Analyze_Protected_Type and Analyze_Task_Type. In case
+ of private types add missing check on matching interfaces in the
+ partial and full declarations.
+ (Analyze_Protected_Type): Code cleanup.
+ (Analyze_Task_Type): Code cleanup.
+
+2007-08-14 Javier Miranda <miranda@adacore.com>
+
+ * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a
+ generated interface thunk.
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+
+ * s-ficobl.ads: Declare AFCB as a tagged incomplete type, to prevent
+ obsolescent warning on application of 'Class to an incomplete type.
+
+ * s-finroo.ads: Declare Root_Controlled as a tagged incomplete type, to
+ prevent obsolescent warning on application of 'Class to an incomplete
+ type.
+
+2007-08-14 Pascal Obry <obry@adacore.com>
+
+ * s-fileio.adb (Is_Open): Add check for usability of the underlying
+ file stream.
+
+2007-08-14 Cyrille Comar <comar@adacore.com>
+
+ * s-finimp.adb (Detach_From_Final_List): make this procedure idempotent
+ since it is potentially used in cases implying double finalization of
+ the same object.
+
+2007-08-14 Jose Ruiz <ruiz@adacore.com>
+
+ * s-tasini.adb (Get_Stack_Info): Move this function to
+ System.Soft_Links.Tasking because it is common to the full and the
+ restricted run times.
+ (Init_RTS): Do not set the Get_Stack_Info soft link because it is done
+ in SSL.Tasking.Init_Tasking_Soft_Links.
+
+ * s-solita.adb (Get_Stack_Info): Function moved from
+ System.Tasking.Initialization because it is common to the full and the
+ restricted run times.
+ (Init_Tasking_Soft_Links): Set the tasking soft link for Get_Stack_Info.
+
+2007-08-14 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tpobop.ads, s-tpobop.adb, s-tasren.ads, s-tasren.adb,
+ s-taskin.ads (Requeue_With_Abort): Rename field With_Abort.
+ (PO_Do_Or_Queue, Task_Do_Or_Queue, Requeue_Call): Remove With_Abort
+ parameter.
+
+ * s-tassta.adb (Task_Wrapper): Increased value of the small overflow
+ guard to 12K.
+
+2007-08-14 Gary Dismukes <dismukes@adacore.com>
+
+ * s-veboop.adb (SU): New named number initialized to
+ System.Storage_Unit.
+ (True_Val): The initialization expression is revised to use SU (=
+ Storage_Unit) rather than assuming 8 for the component size of an
+ unpacked Boolean array.
+
+2007-08-14 Tristan Gingold <gingold@adacore.com>
+
+ * tracebak.c: Use tb-ivms.c on OpenVMS Itanium.
+
+ * tb-ivms.c: New file.
+
+ * g-trasym-vms-ia64.adb: Fixed for OpenVMS version 8.2
+
+2007-08-14 Geert Bosch <bosch@adacore.com>
+
+ * i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads,
+ s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads:
+ Add required linker pragmas for automatically linking with the gnalasup
+ linear algebra support library, and the systems math library.
+ Rename cdot to cdotu and zdot to zdotu.
+ Update header comment to describe purpose of package.
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.adb (Find_Final_List): For an anonymous access type that has
+ an explicitly specified Associated_Final_Chain, use that list.
+ (Expand_N_Package_Body): Build dispatch tables of library level tagged
+ types.
+ (Expand_N_Package_Declaration): Build dispatch tables of library level
+ tagged types. Minor code cleanup.
+
+2007-08-14 Vincent Celier <celier@adacore.com>
+
+ * gnatchop.adb (Terminate_Program): Remove exception and use
+ Types.Terminate_Program instead.
+
+ * osint.ads, osint.adb (Current_Exit_Status): New global variable
+ (Find_Program_Name): Added protection against empty name.
+ (OS_Exit_Through_Exception): New procedure
+
+ * s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body
+ (OS_Exit_Default): New procedure that contains the previous
+ implementation of procedure OS_Exit.
+ (Final_Value): Remove obsolete Interix stuff.
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.ads: Reorganize example code so that it also works on
+ Windows XP.
+
+2007-08-14 Tristan Gingold <gingold@adacore.com>
+
+ * g-trasym.ads: AIX now supports symbolic backtraces.
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-load.adb (From_Limited_With_Chain): Always scan the stack of
+ units being loaded to detect circularities. A circularity may be
+ present even if the current chain of pending units to load starts from
+ a limited_with_clause.
+
+ * lib-load.ads: Change profile of Load_Unit to use a with_clause
+ rather than a boolean flag, in order to detect circularities in
+ with_clauses.
+
+ * par-load.adb: Use current with_clause in calls to Load_Unit, rather
+ than propagating the From_Limited_With flag, in order to handle
+ properly circularities involving with_clauses.
+
+2007-08-14 Nicolas Setton <setton@adacore.com>
+
+ * link.c (FreeBSD): Add "const" keyword where needed, to eliminate
+ warnings.
+
+2007-08-14 Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects
+ to build for libgnala.
+ libgnat: Add rules to build libgnala.a
+ (LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from
+ target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5.
+ Add s-osinte-vxworks-kernel.adb to the target pairs of the
+ kernel run-time lib for VxWorks 6, which would provide a different
+ implementation for Task_Cont and Task_Stop than the VxWorks 5 version.
+ x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now
+ running ZCX by default.
+ Add g-sttsne-locking to LynxOS version.
+ Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead.
+ On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads.
+
+ * system-darwin-x86.ads: New file.
+
+ * Make-lang.in: Delete files before copying onto them, so if they are
+ read-only, the copy won't fail.
+ Update dependencies
+
+2007-08-14 Pascal Obry <obry@adacore.com>
+
+ * mdll-fil.adb, * mdll.adb: Implement a more consistent libraries
+ naming scheme.
+
+2007-08-14 Vincent Celier <celier@adacore.com>
+
+ * mlib-utl.adb (Gcc_Name): Change from constant String to String_Access
+ (Gcc): Initialize Gcc_Name at the first call
+
+2007-08-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb (Analyze_Package_Specification): Do not install private
+ with_clauses of the enclosing unit when analyzing the package
+ specification of a nested instance.
+
+2007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed.
+ (Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines.
+ Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the
+ layout of N_Allocator.
+
+2007-08-14 Thomas Quinot <quinot@adacore.com>
+
+ * rtsfind.adb (Check_RPC): Add PCS version check.
+
+ * gnatvsn.ads, gnatvsn.adb: Add PCS version.
+ (Gnat_Free_Software): New function.
+
+ * sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns
+ the PCS_Version value from s-parint, used to check that it is consistent
+ with what exp_dist expects.
+
+ * s-parint.ads (PCS_Version): New entity for checking consistency
+ between exp_dist and PCS.
+
+ * gen-soccon.c: (SO_REUSEPORT): New constant.
+
+2007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calfor.adb (Image (Duration; Boolean)): Change type of local
+ variable Sub_Second to Duration in order to accomodate a larger range
+ of arithmetic operations.
+
+2007-08-14 Bob Duff <duff@adacore.com>
+
+ * g-sttsne-locking.ads: Move comments from spec to body.
+ * g-sttsne-locking.adb: Move comments from spec to body.
+ * g-sttsne-vxworks.ads: Removed.
+ * g-sttsne-vxworks.adb: Removed.
+
+2007-08-11 Ian Lance Taylor <iant@google.com>
+
+ * misc.c (gnat_get_alias_set): Change return type to
+ alias_set_type.
+
+2007-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * decl.c, utils2.c: Fix whitespace in last change.
+
+2007-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * decl.c (compare_field_bitpos): Constify.
+ * utils2.c (compare_elmt_bitpos): Likewise.
+
+2007-07-27 Aurelien Jarno <aurelien@aurel32.net>
+
+ * s-osinte-kfreebsd-gnu.ads ((sigset_t_ptr): Removed, replaced by
+ anonymous access type.
+ (pthread_sigmask): Now take an access sigset_t.
+
+2007-07-05 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * s-osinte-rtems.ads: Correct prototype of pthread_sigmask.
+
+2007-06-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/25737
+ * misc.c (gnat_post_options): Do not force flag_tree_salias to 0.
+
+2007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ * trans.c (Attribute_to_gnu): When subtracting an
+ offset from a pointer, use POINTER_PLUS_EXPR with
+ NEGATE_EXPR instead of MINUS_EXPR.
+ (gnat_to_gnu): Likewise.
+ * utils.c (convert): When converting between
+ thin pointers, use POINTER_PLUS_EXPR and sizetype
+ for the offset.
+ * utils2.c (known_alignment): POINTER_PLUS_EXPR
+ have the same semantics as PLUS_EXPR for alignment.
+ (build_binary_op): Add support for the semantics of
+ POINTER_PLUS_EXPR's operands.
+ When adding an offset to a pointer, use POINTER_PLUS_EXPR.
+
+2007-06-11 Rafael Ávila de Espíndola <espindola@google.com>
+
+ * trans.c (Attribute_to_gnu): Use signed_or_unsigned_type_for instead
+ of get_signed_or_unsigned_type.
+ * misc.c (LANG_HOOKS_SIGNED_TYPE): Remove.
+
+2007-06-11 Bob Duff <duff@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * g-stsifd-sockets.adb (Create): Work around strange behavior of
+ 'bind' on windows that causes 'connect' to fail intermittently, by
+ retrying the 'bind'.
+ (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+
+2007-06-10 Duncan Sands <baldrick@free.fr>
+
+ * decl.c (gnat_to_gnu_entity): Use pointers to dummy nodes, rather
+ than to void, for the fields when making a new fat pointer type.
+ (gnat_substitute_in_type): Now substitute_in_type.
+ * gigi.h (gnat_substitute_in_type): Likewise. Adjust recursive calls.
+ * trans.c (gnat_gimplify_expr): Remove COMPONENT_REF kludge.
+ * utils.c (update_pointer_to): Update fat pointers by updating the
+ dummy node pointers used for the fields.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * g-soccon-freebsd.ads, g-soccon-vxworks.ads:,
+ g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
+ g-soccon-solaris.ads, g-soccon-vms.ads, g-soccon-tru64.ads: Add new
+ constant Thread_Blocking_IO, always True by default, set False
+ on a per-runtime basis.
+ (Need_Netdb_Buffer): New constant.
+
+ * g-stheme.adb, g-sttsne.ads, g-sttsne-locking.ads,
+ g-sttsne-locking.adb, g-sttsne-vxworks.ads, g-sttsne-vxworks.adb: New
+ files.
+
+ * g-socthi-vxworks.ads, g-socthi-vxworks.adb,
+ g-socthi-vms.ads, g-socthi-vms.adb (Safe_Gethostbyname,
+ Safe_Gethostbyaddr, Safe_Getservbyname, Safe_Getservbyport): Use new
+ child package Task_Safe_NetDB
+ (Host_Error_Messages): Add stub body.
+ (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+
+ * g-soccon-mingw.ads: Add Windows-specific constants.
+ (Need_Netdb_Buffer): New constant.
+ (GNAT.Sockets.Thin.C_Inet_Addr, Windows version): Remove useless Ada
+ wrapper and import inet_addr(3) from the standard sockets library
+ directly instead.
+ (In_Addr): Add alignment clause.
+ (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * a-taster.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
+ s-osinte-irix.ads, s-interr-sigaction.adb, s-mastop-irix.adb,
+ s-osinte-hpux-dce.ads, s-osinte-interix.ads, s-osinte-solaris.ads,
+ s-taspri-solaris.ads, s-inmaop-vms.adb, s-interr-vms.adb,
+ s-mastop-vms.adb, s-osinte-vms.ads, s-tpopde-vms.adb,
+ s-osinte-mingw.ads, s-interr-vxworks.adb, i-cstrea-vms.adb,
+ a-diocst.adb, a-direio.adb, a-interr.adb, a-sequio.adb, a-siocst.adb,
+ a-ssicst.adb, a-storio.adb, a-ststio.adb, a-stwima.adb, a-tasatt.adb,
+ a-taside.adb, a-tiocst.adb, a-witeio.adb, a-wtcstr.adb, g-crc32.adb,
+ g-dirope.adb, g-dyntab.adb, g-memdum.adb, g-regexp.adb, g-spipat.adb,
+ g-spitbo.adb, g-string.adb, g-string.ads, g-table.adb, g-thread.adb,
+ i-cobol.adb, i-cpoint.adb, i-cstrea.adb, i-cstrin.adb, i-pacdec.adb,
+ s-addima.adb, s-arit64.adb, s-auxdec.adb, s-auxdec.ads,
+ s-auxdec-vms_64.ads, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
+ s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
+ s-direio.adb, s-fileio.adb, s-finimp.ads, s-geveop.adb, s-imgenu.adb,
+ s-pack03.adb, s-pack05.adb, s-pack06.adb, s-pack07.adb, s-pack09.adb,
+ s-pack10.adb, s-pack11.adb, s-pack12.adb, s-pack13.adb, s-pack14.adb,
+ s-pack15.adb, s-pack17.adb, s-pack18.adb, s-pack19.adb, s-pack20.adb,
+ s-pack21.adb, s-pack22.adb, s-pack23.adb, s-pack24.adb, s-pack25.adb,
+ s-pack26.adb, s-pack27.adb, s-pack28.adb, s-pack29.adb, s-pack30.adb,
+ s-pack31.adb, s-pack33.adb, s-pack34.adb, s-pack35.adb, s-pack36.adb,
+ s-pack37.adb, s-pack38.adb, s-pack39.adb, s-pack40.adb, s-pack41.adb,
+ s-pack42.adb, s-pack43.adb, s-pack44.adb, s-pack45.adb, s-pack46.adb,
+ s-pack47.adb, s-pack48.adb, s-pack49.adb, s-pack50.adb, s-pack51.adb,
+ s-pack52.adb, s-pack53.adb, s-pack54.adb, s-pack55.adb, s-pack56.adb,
+ s-pack57.adb, s-pack58.adb, s-pack59.adb, s-pack60.adb, s-pack61.adb,
+ s-pack62.adb, s-pack63.adb, s-pooloc.adb, s-poosiz.adb, s-scaval.adb,
+ s-sequio.adb, s-shasto.adb, s-stalib.ads, s-stratt.adb, s-strcom.adb,
+ s-taasde.adb, s-tasdeb.adb, s-tasuti.ads, s-tataat.ads, s-tpoben.ads,
+ s-valenu.adb, s-widenu.adb, s-wwdenu.adb, s-addope.adb, a-stzmap.adb,
+ a-ztcstr.adb, a-ztexio.adb, s-osinte-linux-hppa.ads: Replace
+ Unchecked_* by Ada.Unchecked_*
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * g-string.adb, s-proinf-irix-athread.adb, s-gloloc-mingw.adb,
+ s-tfsetr-default.adb, gnatfind.adb, gnatxref.adb, gprep.adb,
+ g-regexp.adb, g-regexp.ads, g-regpat.ads, g-tasloc.adb, g-tasloc.ads,
+ output.adb, switch-m.ads, tree_in.ads, tree_io.ads, indepsw.ads,
+ g-utf_32.adb, g-utf_32.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
+ a-zchuni.ads: Replace GNAT.xxx by System.xxx when appropriate.
+
+ * s-utf_32.adb, s-utf_32.ads, s-os_lib.adb, s-os_lib.ads, s-regexp.adb,
+ s-regexp.ads, s-regpat.adb, s-regpat.ads, s-string.adb, s-string.ads,
+ s-tasloc.adb, s-tasloc.ads: New files.
+
+2007-06-06 Bob Duff <duff@adacore.com>
+
+ * g-expect-vms.adb:
+ (Send_Signal, Close): Raise Invalid_Process if the process id is invalid.
+ * g-expect.ads, g-expect.adb (Send): Avoid useless copy of the string.
+ (Send_Signal, Close): Raise Invalid_Process if the process id is
+ invalid.
+ (Pattern_Matcher_Access): Is now a general access type to be able to
+ use aliased string.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * a-intnam-aix.ads: Adjust comment to account for SIGADAABORT change
+ (SIGEMT is now used instead of SIGTERM on AIX).
+
+ * s-osinte-aix.ads (Linker_Options): Use -pthread instead of -lpthreads.
+ (Time_Slice_Supported): Set to True.
+ Use SIGEMT instead of SIGTERM as SIGADAABORT.
+
+2007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calend.ads, a-calend.adb, a-calend-vms.ads, a-calend-vms.adb ("-"
+ (Time, Time)): Use To_Relative_Time rather than manual calculation to
+ express the bounds of Duration as Time. Raise Time_Error when the
+ result is greater or equal to the higher bound of Duration (on the
+ margin case).
+ ("+" (Time, Duration)): Reorder code. Remove the declaration of constant
+ Ada_High_And_Leaps.
+ ("-" (Time, Duration)): Reorder code. Remove the declaration of constant
+ Ada_High_And_Leaps.
+ ("-" (Time, Time)): Reorder code.
+ (All_Leap_Seconds): Removed.
+ (Arithmetic_Operations.Add): Remove sign related kludge.
+ (Arithmetic_Operations.Difference): Control the leaps seconds processing
+ with flag Leap_Support.
+ (Arithmetic_Operations.Subtract): Remove sign related kludge.
+ (Check_Within_Time_Bounds): New procedure.
+ (Clock): Control the leap seconds processing with flag Leap_Support.
+ (Cumulative_Leap_Seconds): Assert that the target supports leap seconds.
+ (Formatting_Operations.Split): Control the leap seconds processing with
+ flag Leap_Support.
+ (Formatting_Operations.Time_Of): Control the leaps seconds processing
+ with flag Leap_Support. Adjust the year, month and day (if applicable)
+ when the value of day seconds designates a new day.
+ (Split): Use parameter associations for better readability. Integrate
+ flag Is_Ada_05.
+ (Time_Of): Use parameter associations for better readability. Integrate
+ flag Is_Ada_05.
+
+ * a-calfor.adb (Split): Use parameter associations for better
+ readability. Integrate flag Is_Ada_05.
+ (Time_Of): Remove flag Leap_Checks. Use parameter associations for
+ better readability. Integrate flag Is_Ada_05.
+
+2007-06-06 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taprop-vms.adb, s-taprop-hpux-dce.adb, s-taprop-vxworks.adb,
+ s-osprim-posix.adb, s-taprop-posix.adb, s-osprim-vxworks.adb,
+ s-taprop-solaris.adb, s-osprim-solaris.adb, s-taprop-dummy.adb,
+ s-osprim-unix.adb, s-osinte-freebsd.adb, s-osinte-freebsd.ads,
+ s-osinte-lynxos.adb, s-osinte-lynxos.ads, s-taprop-tru64.adb,
+ s-taprop-lynxos.adb, s-taprop-irix.adb, s-osinte-tru64.adb,
+ s-osinte-tru64.ads, s-taprop-linux.adb, s-parame.ads,
+ s-parame-vms-alpha.ads, s-parame-vms-ia64.ads, s-parame-hpux.ads,
+ s-parame-vms-restrict.ads, s-parame-ae653.ads, s-parame-vxworks.ads,
+ s-taprop-mingw.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos-3.adb,
+ s-osprim-mingw.adb (Timed_Delay, Timed_Sleep): Register the base
+ time when entering this routine to detect a backward clock setting
+ (manual setting or DST adjustment), to avoid waiting for a longer delay
+ than needed.
+ (Time_Duration, To_Timeval, struct_timeval): Removed when not relevant.
+ Remove handling of deferred priority change, and replace by setting the
+ task priority directly, as required by AI-188.
+ Update comments.
+ (Max_Task_Image_Length): New constant.
+ Replace Warnings (Off) by Unreferenced pragma, cleaner.
+ (Dynamic_Priority_Support): Removed, no longer needed.
+ (Poll_Base_Priority_Change): Ditto.
+ (Set_Ceiling): Add this procedure to change the ceiling priority
+ associated to a lock. This is a dummy implementation because dynamic
+ priority ceilings are not supported by the underlying system.
+
+ * a-dynpri.adb (Set_Priority): Take into account case where Target is
+ accepting a RV with its priority boosted.
+ Remove handling of deferred priority change, and replace by setting the
+ task priority directly, as required by AI-188.
+
+ * s-taenca.adb (Try_To_Cancel_Entry_Call): Remove special case for
+ Succeeded = True.
+ Remove handling of deferred priority change, and replace by setting the
+ task priority directly, as required by AI-188.
+ (Wait_For_Completion, Wait_For_Call, Timed_Selective_Wait): Change state
+ of Self_Id earlier.
+
+ * s-tasini.ads, s-tasini.adb (Wakeup_Entry_Caller): Relax assertion.
+ (Poll_Base_Priority_Change): Removed.
+ Code clean up: use SSL.Current_Target_Exception.
+
+ * s-tasren.adb (Task_Count): Call Yield to let a chance to other tasks
+ to run as this is a potentially dispatching point.
+ (Call_Synchronous): Use Local_Defer_Abort.
+ (Callable): Relax assertion.
+ (Selective_Wait): Relax assertion in case abort is not allowed.
+ Remove handling of deferred priority change, and replace by setting the
+ task priority directly, as required by AI-188.
+
+ * s-tasuti.adb (Make_Passive): Adjust assertions.
+ Remove handling of deferred priority change, and replace by setting the
+ task priority directly, as required by AI-188.
+
+2007-06-06 Arnaud Charlet <charlet@adacore.com>
+
+ * system-vxworks-sparcv9.ads, system-solaris-x86.ads,
+ system-irix-o32.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
+ system-lynxos-x86.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
+ system-vxworks-mips.ads, system-vxworks-alpha.ads,
+ system-vxworks-x86.ads, system-linux-ppc.ads, system-mingw.ads,
+ system-vms-zcx.ads, system-darwin-ppc.ads, system-vxworks-ppc.ads,
+ system-interix.ads, system-linux-hppa.ads, system-tru64.ads,
+ system-hpux.ads, system-irix-n32.ads, system-solaris-sparc.ads,
+ system-solaris-sparcv9.ads, system-vms.ads, system.ads,
+ system-vms_64.ads, system-hpux-ia64.ads, system-linux-x86_64.ads,
+ system-linux-ia64.ads: Document mapping between Ada and OS priorities.
+ This patch changes the largest non-binary modulus from 2**31-1 to
+ 2**32-1.
+ (Compiler_System_Version): Removed, no longer used.
+ Clean up system files by removing flags only used on a single target.
+ Also remove obsolete flags, only used during bootstrap from system.ads
+ (Address): Add a pragma Preelaborable_Initialization.
+
+ * system-aix.ads: Ditto.
+ (GCC_ZCX_Support): Set to true.
+ Update priority range on AIX and map Ada priorities to target
+ priorities appropriately for different scheduling policies.
+
+ * ttypes.ads: set largest non-binary modulus from 2**31-1 to 2**32-1
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-specific.adb, mlib-tgt-specific.ads,
+ mlib-tgt-vms.adb, mlib-tgt-vms.ads: New files.
+
+ * mlib-tgt.adb, mlib-tgt.ads, mlib-tgt-darwin.adb,
+ mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb, mlib-tgt-lynxos.adb,
+ mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb,
+ mlib-tgt-vms-ia64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+ mlib-tgt-hpux.adb, mlib-tgt-tru64.adb: Make a common body for package
+ MLib.Tgt, containing the default versions of the exported subprograms.
+ For each platform, create a specific version of the body of new child
+ package MLib.Tgt.Specific that contains only the body of subprograms
+ that are different from the default.
+ (Archive_Builder_Append_Options): New function.
+
+2007-06-06 Matthew Gingell <gingell@adacore.com>
+
+ * s-osinte-aix.adb: Map Ada priorities to target priorities
+ appropriately for different scheduling policies.
+
+2007-06-06 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-linux.ads (sigset_t): Bump alignment to match more closely
+ its C counterpart.
+ Remove references to Unchecked_Conversion, and use Ada.xxx instead.
+ Replace Unchecked_Conversion by Ada.Unchecked_Conversion.
+
+2007-06-06 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * s-osprim-vms.ads, s-osprim-vms.adb (Initialize): New procedure.
+ Noop on VMS, added for interface commonality.
+
+2007-06-06 Eric Botcazou <ebotcazou@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: Manually mark the top of the
+ renamed expression of a full renaming at toplevel.
+ (gnat_to_gnu_entity, case object): If not defining, do not look inside
+ the values the constant is initialized to if it is an N_Allocator.
+ (gnat_to_gnu_entity) <E_Array_Subtype>: Manually mark the top of the
+ TYPE_SIZE_UNIT of inner types after the stride is elaborated.
+ (make_aligning_type): Accept an extra ROOM argument for storage to be
+ made available before the aligned field, and an extra BASE_ALIGN
+ argument for callers to pass the alignment guaranteed to be honored for
+ the whole aligning object. Avoid call to finish_record_type, which only
+ interferes with the sizes we want to set.
+ (gnat_to_gnu_entity) <E_Variable>: Pass the required extra arguments to
+ make_aligning_type for super-aligned objects on stack.
+ (components_to_record): Pass the adjusted size of the type when creating
+ fields in the qualified union for the variant part.
+ (gnat_substitute_in_type): Copy TYPE_USER_ALIGN.
+ (gnat_to_gnu_entity, case E_Signed_Integer_Subtype): Likewise for
+ packed array type.
+ (maybe_pad_type): Set TYPE_USER_ALIGN.
+ (make_aligning_type): Likewise.
+ ALIGN argument is unsigned int.
+ (gnat_to_gnu_entity, case E_Function): Back annotate return mechanism.
+ (gnat_to_gnu_param): Likewise, for parameters.
+ (gnat_to_gnu_entity) <object>: Always instantiate the renaming object
+ if it is constant and stems from a function call.
+ (gnat_to_gnu_entity) <E_Record_Type>: Set packed to -2 if the alignment
+ of the record is specified. Adjust accordingly.
+ (adjust_packed): New static function.
+ (gnat_to_gnu_field): Use it to adjust the packedness setting.
+ (components_to_record): Likewise.
+ (gnat_to_gnu_entity) <object>: Do not test the renamed expression for
+ side-effects if the object is deemed constant.
+ (gnat_to_gnu_entity) <E_Array_Type>: Create a name for the fat pointer
+ type instead of merely finalizing it. Tidy.
+ <E_Access_Subprogram_Type>: Retrieve the type from the TYPE_DECL.
+ <E_Access_Type>: Likewise.
+ (defer_debug_incomplete_list): Rename to defer_finalize_list.
+ (defer_debug_level): Delete.
+ (gnat_to_gnu_entity) <debug_deferred>: Likewise
+ <E_Array_Type>: Call rest_of_record_type_compilation on the fat pointer
+ type.
+ <E_Record_Type>: Do not explicitly defer finalizing the type.
+ Adjust for write_record_type_debug_info renaming.
+ <E_Subprogram_Type>: Likewise.
+ Finalize deferred types right after deferred incomplete types are
+ expanded.
+ (rest_of_type_decl_compilation): New global function.
+ (components_to_record): Rename defer_debug parameter to do_not_finalize.
+ (components_to_record): Propagate the packedness to the fields of the
+ qualified union type if there is a variant part.
+ (gnat_to_gnu_entity) <E_Array_Type>: Use new function
+ instead of inline code to adjust the XUT field offsets.
+ (gnat_to_gnu_entity): Adjust for new prototype of finish_record_type.
+ <E_Record_Subtype>: Do not let finish_record_type compute the sizes
+ and write the debug info if the type derives from a discriminated one.
+ (gnat_to_gnu_entity) <E_Array_Type>: Adjust call to create_index_type.
+ <E_Array_Subtype>: Likewise.
+ <E_String_Literal_Subtype>: Likewise.
+ (gnat_to_gnu_entity): Set TYPE_USER_ALIGN on types only if they have
+ an alignment clause.
+ (maybe_pad_type): Update ORIG_SIZE to the minimum required to meet ALIGN
+ before giving warning.
+ (prepend_one_attribute_to): New function, helper to prepend an attribute
+ to an attribute list.
+ (gnat_to_gnu_entity) <E_Procedure>: Use it.
+ (prepend_attributes): Likewise.
+ (gnat_to_gnu_entity) <E_Variable>: Use constants of the proper type.
+ <E_Array_Type>: Declare the padding type for the element type, if any.
+ <E_Array_Subtype>: Likewise.
+ (defer_limited_with): New variable.
+ (Gigi_Equivalent_Type): New function.
+ (gnat_to_gnu_entity): Use it at start and use result throughout.
+ (gnat_to_gnu_entity, case E_Access_Type): Rework to use
+ Gigi_Equivalent_Type, support Limited_With, allow two levels of
+ indirection, precompute if unconstrained array to simplify logic, and
+ use defer_limited_with to defer elaboration of some types from limited
+ with.
+ (finalize_from_with_types): New function.
+
+2007-06-06 Gary Dismukes <dismukes@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+ Tristan Gingold <gingold@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * trans.c (Identifier_to_gnu): Change test for deferred constant by
+ adding guard that the entity is an E_Constant before testing presence
+ of Full_view (and remove unnecessary test that entity is not a type).
+ For a CONST_DECL used by reference, manually retrieve
+ the DECL_INITIAL. Do not invoke fold in the other DECL_P cases either.
+ (struct language_function): Move from utils.c to here.
+ (struct parm_attr): New structure.
+ (parm_attr, parm_attr vector, parm_attr GC vector): New types.
+ (f_parm_attr_cache): New macro.
+ (Attribute_to_gnu) <Attr_Length>: When not optimizing, cache the
+ expressions for the 'First, 'Last and 'Length attributes of the
+ unconstrained array IN parameters.
+ (Subprogram_Body_to_gnu): Use gnu_subprog_decl throughout.
+ Allocate the information structure for the function earlier, as well
+ as the language-specific part.
+ If the parameter attributes cache has been populated, evaluate the
+ cached expressions on entry.
+ (takes_address): Add OPERAND_TYPE parameter. Handle N_Function_Call,
+ N_Procedure_Call_Statement and N_Indexed_Component.
+ (Pragma_to_gnu): Translate inspection_point to an asm statement
+ containaing a comment and a reference to the object (either its address
+ for BLKmode or its value).
+ (Identifier_to_gnu): Use TREE_CONSTANT instead of CONST_DECL to decide
+ to go to DECL_INITIAL. Together with the size constraint relaxation
+ in create_var_decl, enlarges the set of situations in which an
+ identifier may be used as an initializer without implying elaboration
+ code.
+ (Subprogram_Body_to_gnu): Do not fiddle with the debug interface but set
+ DECL_IGNORED_P on the function if Needs_Debug_Info is not set on the
+ node.
+ (maybe_stabilize_reference): Remove lvalues_only parameter.
+ (gnat_stabilize_reference): Adjust for above change.
+ (gnat_to_gnu): Do not set location information on the result
+ if it is a reference.
+ (add_cleanup): Add gnat_node parameter and set the location of the
+ cleanup to it.
+ (Handled_Sequence_Of_Statements_to_gnu): Adjust calls to add_cleanup.
+ (Exception_Handler_to_gnu_zcx): Likewise.
+ (gigi): Remove the cgraph node if the elaboration procedure is empty.
+ (Subprogram_Body_to_gnu): If a stub is attached to the subprogram, emit
+ the former right after the latter.
+ (start_stmt_group): Make global.
+ (end_stmt_group): Likewise.
+ (gnu_constraint_error_label_stack, gnu_storage_error_label_stack): New
+ vars.
+ (gnu_program_error_label_stack): Likewise.
+ (gigi): Initialize them.
+ (call_to_gnu, gnat_to_gnu, emit_check): Add new arg to build_call_raise.
+ (gnat_to_gnu, N_{Push,Pop}_{Constraint,Storage,Program}_Error_Label):
+ New cases.
+ (push_exception_label_stack): New function.
+ (takes_address): New function.
+
+ * utils.c (struct language_function): Move to trans.c from here.
+ (unchecked_convert): Do not wrap up integer constants in
+ VIEW_CONVERT_EXPRs.
+ (create_var_decl_1): Decouple TREE_CONSTANT from CONST_DECL. Prevent
+ the latter for aggregate types, unexpected by later passes, and relax an
+ arbitrary size constraint on the former.
+ (create_field_decl): Use tree_int_cst_equal instead of operand_equal_p
+ to compare the sizes.
+ (convert_vms_descriptor): When converting to a fat pointer type, be
+ prepared for a S descriptor at runtime in spite of a SB specification.
+ (shift_unc_components_for_thin_pointers): New function.
+ (write_record_type_debug_info): For variable-sized fields, cap the
+ alignment of the pointer to the computed alignment.
+ (finish_record_type): Change HAS_REP parameter into REP_LEVEL.
+ If REP_LEVEL is 2, do not compute the sizes.
+ (build_vms_descriptor): Adjust for new prototype of finish_record_type.
+ (build_unc_object_type): Likewise.
+ (declare_debug_type): New function.
+
+ * ada-tree.def: USE_STMT: removed (not emitted anymore).
+
+ * misc.c (gnat_expand_expr): Call to gnat_expand_stmt removed because
+ no statement is expandable anymore.
+ (gnat_init_gcc_eh): Do not initialize the DWARF-2 CFI machinery twice.
+ (gnat_handle_option): Only allow flag_eliminate_debug_types to be set
+ when the user requested it explicitely.
+ (gnat_post_options): By default, set flag_eliminate_unused_debug_types
+ to 0 for Ada.
+ (get_alias_set): Return alias set 0 for a type if
+ TYPE_UNIVERSAL_ALIASING_P is set on its main variant.
+
+ * ada-tree.h: (TYPE_UNIVERSAL_ALIASING_P): New macro.
+ (DECL_FUNCTION_STUB): New accessor macro.
+ (SET_DECL_FUNCTION_STUB): New setter macro.
+
+ * lang.opt (feliminate-unused-debug-types): Intercept this flag for Ada.
+
+ * fe.h (Get_Local_Raise_Call_Entity, Get_RT_Exception_Entity): New
+ declarations.
+
+2007-06-06 Jose Ruiz <ruiz@adacore.com>
+
+ * s-intman-vxworks.ads, s-intman-vxworks.adb (Abort_Task_Signal):
+ Rename to Abort_Task_Interrupt to be able to keep the same interface
+ as the rest of the targets.
+
+ * s-osinte-vxworks.ads s-osinte-vxworks.adb
+ (To_VxWorks_Priority): Remove explicit "in" mode indicator
+
+ * s-osinte-vxworks6.ads, s-vxwork-arm.ads, system-vxworks-arm.ads:
+ New files.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * a-chahan.ads: Remove obsolescent pragmas
+
+ * a-chlat1.ads: Minor reformatting
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * comperr.adb (Compiler_Abort): New Finalize/Output_Messages interface
+ for Errout
+
+ * errout.adb: New Finalize/Compilation_Errors/Output_Messages
+ implementation
+
+ * errout.ads (Finalize): Changed interface
+ (Output_Messages): New procedure
+ (Compilation_Errors): New Interface
+
+ * prepcomp.ads, prepcomp.adb (Parse_Preprocessing_Data_File): New
+ Finalize/Output_Messages interface for Errout
+ (Prepare_To_Preprocess): New Finalize/Output_Messages interface for
+ Errout.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * a-except.ads, a-except.adb: (Rmsg_28): Fix description for E.4(18)
+ check.
+ (Raise_Current_Excep): Call Debug_Raise_Exception just before
+ propagation starts, to let debuggers know about the event in a reliable
+ fashion.
+ (Local_Raise): Moved to System.Exceptions
+ More convenient to have this as a separate unit
+
+ * s-except.adb, s-except.ads: New files.
+
+ * a-exextr.adb (Unhandled_Exception): Delete - replaced by
+ Debug_Unhandled_Exception in System.Exceptions where it belongs
+ together with a couple of other debug helpers.
+ (Notify_Unhandled_Exception): Use Debug_Unhandled_Exception instead of
+ the former Unhandled_Exception.
+
+ * exp_ch11.ads, exp_ch11.adb: (Possible_Local_Raise): New procedure
+ (Warn_No_Exception_Propagation): New procedure
+ (Warn_If_No_Propagation): Rewritten for new warning generation
+ (Expand_Exception_Handlers): New warning generation
+ (Expand_N_Raise_xxx_Error): Rewritten for new warnings
+ (Add_Exception_Label): Use Special_Exception_Package_Used for test
+ instead of Most_Recent_Exception_Used (accomodates Exception_Traces)
+ (Expand_Local_Exception_Handlers): Unconditionally add extra block wrap
+ even if restriction is set (makes life easier in Check_Returns)
+ (Expand_Local_Exception_Handlers): Follow renamed entity chain when
+ checking exception identities.
+ (Expand_Local_Exception_Handlers): Do not optimize when all others case
+ (Expand_Local_Exception_Handlers): Set Exception_Junk flag on generated
+ block for handler (used by Check_Returns)
+ (Expand_Local_Exception_Handlers): Local_Raise now takes an address
+ (Expand_N_Handled_Sequence_Of_Statements): Properly handle -gnatd.x to
+ remove all exception handlers when optimizing local raise statements.
+ (Find_Local_Handler): Use Get_Renamed_Entity
+ (Expand_N_Handled_Sequence_Of_Statements): If the handled sequence is
+ marked analyzed after expanding exception handlers, do not generate
+ redundant cleanup actions, because they have been constructed already.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+
+ * a-finali.ads (Ada.Finalization): Add missing pragma Remote_Types. The
+ presence of this categorization pragma is mandated by the language.
+ (Limited_Controlled): Add missing pragma Preelaborable_Initialization
+ for this type.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * bcheck.adb, binde.adb, binderr.adb, binderr.ads, butil.adb,
+ butil.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
+ err_vars.ads, exp_tss.adb, exp_tss.ads, fmap.adb, fmap.ads,
+ fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
+ lib-sort.adb, lib-util.adb, lib-util.ads, lib-xref.adb, makeutl.ads,
+ makeutl.adb, nmake.adt, osint.adb, osint.ads, osint-b.adb,
+ par-load.adb, prj-attr.adb, prj-dect.adb, prj-err.adb, prj-makr.adb,
+ prj-part.adb, prj-pp.adb, prj-proc.adb, prj-tree.adb, prj-tree.ads,
+ prj-util.adb, prj-util.ads, scans.adb, scans.ads, sem_ch2.adb,
+ sinput-c.adb, styleg-c.adb, tempdir.adb, tempdir.ads, uname.adb,
+ uname.ads, atree.h, atree.ads, atree.adb, ali-util.ads, ali-util.adb,
+ ali.ads, ali.adb:
+ Move Name_Id, File_Name_Type and Unit_Name_Type from package Types to
+ package Namet. Make File_Name_Type and Unit_Name_Type types derived from
+ Mame_Id. Add new type Path_Name_Type, also derived from Name_Id.
+ Use variables of types File_Name_Type and Unit_Name_Type in error
+ messages.
+ (Get_Name): Add parameter Ignore_Special, and set it reading file name
+ (New_Copy): When debugging the compiler, call New_Node_Debugging_Output
+ here.
+ Define flags Flag217-Flag230 with associated subprograms
+ (Flag_Word5): New record type.
+ (Flag_Word5_Ptr): New access type.
+ (To_Flag_Word5): New unchecked conversion.
+ (To_Flag_Word5_Ptr): Likewise.
+ (Flag216): New function.
+ (Set_Flag216): New procedure.
+
+2007-06-06 Arnaud Charlet <charlet@adacore.com>
+
+ * a-stzunb.adb, a-stwiun.adb, a-strunb.adb: (Insert): Use 'Length
+ instead of 'Size.
+
+ * a-stwifi.ads, a-stzfix.ads: Minor reformatting
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads, a-tags.adb (Tag_Size): This constant is now internal to
+ the package.
+ (Object_Specific_Data_Array): This is now internal to the package.
+ (Object_Specific_Data): This is now internal to the package.
+ (Select_Specific_Data_Element): This is now internal to the package.
+ (Select_Specific_Data_Array): This is now internal to the package.
+ (Select_Specific_Data): This is now internal to the package.
+ (Offset_To_Top_Function_Ptr): This is now public.
+ (To_Offset_To_Top_Function_Ptr): Removed.
+ (Storage_Offset_Ptr,To_Storage_Offset_Ptr): These declarations are now
+ local to subprogram Offset_To_Top.
+ (Predefined_DT): Removed.
+ (Typeinfo_Ptr): Removed.
+ (OSD): This function is now internal to this package.
+ (SSD): This function is now internal to this package.
+ (DT): New function that displaces the pointer to the table of primitives
+ to get access to the enclosing wrapper record.
+ (IW_Membership): Code cleanup.
+ (Offset_To_Top): Code cleanup.
+ (Predefined_DT): Removed.
+ (Register_Interface_Tag): Removed.
+ (Set_Interface_Table): Removed.
+ (Set_Offset_Index): Removed.
+ (Set_Offset_To_Top): Code cleanup.
+ (Set_OSD): Removed.
+ (Set_Signature): Removed.
+ (Set_SSD): Removed.
+ (Set_Tagged_Kind): Removed.
+ (Typeinfo_Ptr): Removed.
+ (TSD): Removed.
+ (Displace): Add missing check on null actual.
+
+ * exp_disp.ads, exp_disp.adb
+ (Select_Expansion_Utilities): Removed.
+ (Build_Common_Dispatching_Select_Statements): Moved to exp_atags.
+ (Expand_Dispatching_Call): Update calls to Get_Prim_Op_Address because
+ the interface requires a new parameter.
+ (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
+ Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Replace
+ calls to subprograms Build_T, Build_S, etc. by the corresponding code.
+ Done to remove package Select_Expansion_Utilities.
+ (Make_DT): New implementation for statically allocated dispatch tables.
+ (Make_Secondary_DT): Moved to the scope of Make_DT.
+ (Register_Primitive): Code cleanup plus incoporate the use of the new
+ function DT_Address_Attribute.
+ (Expand_Interface_Thunk): The profile of this subprogram has been
+ changed to return the Thunk_Id and the corresponding code.
+ (Fill_DT_Entry): Removed. Its functionality is now provided by
+ subprogram Register_Primitive.
+ (Fill_Secondary_DT_Entry): Removed. Its functionality is now provided by
+ subprogram Register_Primitive.
+ (Register_Primitive): New subprogram that incorporates the previous
+ functionalities of Fill_DT_Entry and Fill_Secondary_DT_Entry.
+ (Build_Common_Dispatching_Select_Statements): Remove formal Typ. This
+ was only required to call Make_DT_Access_Action, which is now removed.
+ (Ada_Actions): Removed
+ (Action_Is_Proc): Removed
+ (Action_Nb_Arg): Removed
+ Replace all the calls to Make_DT_Access_Action by direct calls to
+ Make_Procedure_Call_Statement or Make_Function_Call.
+ (Set_DTC_Entity_Value): New subprogram.
+ (Set_All_DT_Position): Add call to new subprogram Set_DTC_Entity_Value.
+ (Expand_Interface_Thunk): Add missing support for primitives that are
+ functions with a controlling result (case in which there is no need
+ to generate the thunk).
+
+ * exp_atag.ads, exp_atag.adb
+ (Build_DT): New subprogram that displaces the pointer to reference the
+ base of the wrapper record.
+ (Build_Typeinfo_Offset): Removed.
+ (RTE_Tag_Node): Removed.
+ (Build_Common_Dispatching_Select_Statements): Moved here from exp_disp
+ (Build_Get_RC_Offset): Removed.
+ (Build_Inherit_Predefined_Prims): Removed.
+ (Build_Inherit_TSD: Removed.
+ (Build_New_TSD): Removed.
+ (Build_Set_External_Tag): Removed.
+ (Build_Set_Predefined_Prim_Op_Address): Add documentation.
+ (Build_Set_Prim_Op_Address): Add documentation.
+ (Build_Set_TSD): Removed.
+
+ * rtsfind.ads, rtsfind.adb
+ (Load_Fail): If load fails and we are not in configurable run-time
+ mode, then raise Unrecoverable_Error.
+ (Text_IO_Kludge): Generate an error message if a run-time library is
+ not available in a given run-time (ie. zfp run-time).
+ (RTE_Record_Component): Add code to check that the component we search
+ for is not found in two records in the given run-time package.
+ (RE_DT_Offset_To_Top_Size, RE_DT_Predef_Prims_Size): Removed
+ (RE_DT_Predef_Prims_Offset): New entity
+ (RE_Static_Offset_To_Top): New entity
+ (RE_HT_Link): New entity.
+ (System_Address_Image): Addition of this run-time package.
+ (RE_Address_Image): New entity.
+ (RE_Abstract_Interface): Removed.
+ (RE_Default_Prim_Op_Count): Removed.
+ (RE_DT_Entry_Size): Removed.
+ (RE_DT_Min_Prologue_Size): Removed.
+ (RE_DT_Prologue_Size): Removed.
+ (RE_Ifaces_Table_Ptr): Removed.
+ (RE_Interface_Data_Ptr): Removed.
+ (RE_Type_Specific_Data): Removed.
+ (RE_Primary_DT): Removed.
+ (RE_Register_Interface_Tag): Removed.
+ (RE_Set_Offset_Index): Removed.
+ (RE_Set_OSD): Removed.
+ (RE_Set_SSD): Removed.
+ (RE_Set_Signature): Removed.
+ (RE_Set_Tagged_Kind): Removed.
+ (RE_Address_Array): New entity.
+ (RE_DT): New entity.
+ (RE_Iface_Tag): New entity.
+ (RE_Interfaces_Table): New entity.
+ (RE_No_Dispatch_Table): New entity.
+ (RE_NDT_Prims_Ptr): New entity.
+ (RE_NDT_TSD): New entity.
+ (RE_Num_Prims): New entity.
+ (RE_Offset_To_Top_Function_Ptr): New entity.
+ (RE_OSD_Table): New entity.
+ (RE_OSD_Num_Prims): New entity.
+ (RE_Predef_Prims): New entity
+ (RE_Predef_Prims_Table_Ptr): New entity.
+ (RE_Primary_DT): New entity.
+ (RE_Signature): New entity.
+ (RE_SSD): New entity.
+ (RE_TSD): New entity.
+ (RE_Type_Specific_Data): New entity.
+ (RE_Tag_Kind): New entity.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+
+ * a-textio.ads, a-textio.adb (Write): Add explicit size clause for the
+ C imported variable.
+ (Skip_Line): Do not reset Before_LM_PM immediately when Before_LM is set
+ on entry.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * a-tienio.adb (Get): Adjust buffer size to accomodate one extra
+ character
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * a-tifiio.adb (Put, internal): For negative numbers, check that there
+ is room for at least one digit and the minus sign.
+ (Put.Put_Character): Never put a character outside of the range of
+ string To.
+
+2007-06-06 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils2.c (build_allocator): Provide the extra arguments to
+ make_aligning_type for super-aligned objects allocated from the default
+ pool. Leave enough room for a pointer before the aligning field, and
+ store the system's allocator return value there.
+ (build_call_alloc_dealloc): When releasing a super-aligned object,
+ retrieve the system's allocator return value from where build_allocator
+ has stored it, just ahead of the adjusted address we are passed.
+ (build_call_raise): Handle properly the generation of line numbers when
+ the node is marked No_Location.
+ (compare_elmt_bitpos): Use tree_int_cst_compare. Stabilize the sort
+ by using DECL_UID on ties.
+ (build_binary_op) <EQ_EXPR>: Accept fat pointer types with the same
+ main variant.
+ (build_call_raise): Handle converting exception into goto; support new
+ argument KIND.
+ (build_component_ref): Add new arg to build_call_raise.
+
+2007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-ztflau.adb, a-wtflau.adb, a-tiflau.adb (Load_Real): Do not parse
+ "." in the case of nnn.xxx when nnn terminates with an underscore.
+ Parse the remaining "#" or ":" in the case of nnn#.xxx#
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * a-tigeau.ads, a-tigeau.adb: (Store_Char): Change Buf to IN OUT
+
+2007-06-06 Arnaud Charlet <charlet@adacore.com>
+ Vincent Celier <celier@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * bindgen.adb (Gen_Output_File_Ada): Generate pragma No_Run_Time when
+ needed.
+ (Gen_Output_File_Ada, Gen_Output_File_C): Never use __attribute
+ ((destructor)) for adafinal, even when switch -a is used.
+ Do not issue pragma Linker_Destructor for adafinal when switch -a is
+ used.
+ (Gen_Object_Files_Options): Add formatting of Linker Options, when
+ Output_Linker_Option_List is set. Suppress this formatting when
+ Zero_Formatting is set.
+ Add case for CLI_Target.
+ (System_Restrictions_Used): New flag, used to avoid generating with of
+ System_Restrictions and initialization of the data unless there is
+ some use of System.Restrictions in the partition.
+ (Check_System_Restrictions_Used): New procedure
+
+ * s-stalib.adb: Remove with of System.Restrictions. No longer needed
+ since we only with this unit in the binder file if it is used elsewhere
+ in the partition.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * bindusg.adb: Add line for @<response file>
+ Add lines for new switches -R and -Z
+
+ * gnatbind.adb (Gnatbind): Do not include sources from the GNAT
+ hierarchy in the list of files of the closure when -R is used
+ (Gnatbind): Accept arguments starting with '@' to indicate response
+ files and take the arguments from the response files.
+ If List_Closure is set, display the referenced files
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * checks.ads, checks.adb (Apply_Address_Clause_Check): Handle case in
+ which the address-clause is applied to in-mode actuals (allowed by
+ 13.1(22)).
+ (Apply_Discriminant_Check): Do not generate a check if the type is
+ constrained by a current instance.
+ (Activate_Division_Check): New procedure
+ (Activate_Overflow_Check): New procedure
+ (Activate_Range_Check): New procedure
+ Call these new Activate procedures instead of setting flags directly
+ (Apply_Array_Size_Check): Removed, no longer needed.
+ Code clean up: remove obsolete code related to GCC 2.
+ (Get_E_Length): Protect against bomb in case scope is standard
+ (Selected_Range_Checks): If the node to be checked is a conversion to
+ an unconstrained array type, and the expression is a slice, use the
+ bounds of the slice to construct the required constraint checks.
+ Improve NOT NULL error messages
+ (Apply_Constraint_Check): If the context is a null-excluding access
+ type, diagnose properly the literal null.
+
+2007-06-06 Pascal Obry <obry@adacore.com>
+
+ * clean.adb (Clean_Archive): Use untouched casing for the archive name
+ and the corresponding .deps file.
+ (Clean_Interface_Copy_Directory): Use untouched casing for the library
+ src directory. Minor code-clean-up. Use untouched casing for files
+ read into the library src dir.
+ (Clean_Library_Directory): Idem.
+ (Parse_Cmd_Line): Accept new switch -aP
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * einfo.ads, einfo.adb (Available_View): New synthesized attribute
+ applicable to types that have the With_Type flag set. Returns the
+ non-limited view of the type, if available, otherwise the type itself.
+ For class-wide types, there is no direct link in the tree, so we have
+ to retrieve the class-wide type of the non-limited view of the Etype.
+ New attributes Static_Initialization and Static_Elaboration_Desired.
+ Remove the pragma Thread_Body, and the associated flag
+ Is_Thread_Body in entities, and all related code.
+ (Suppress_Value_Tracking_On_Call): New flag
+ E_Exception has Esize and Alignment fields
+ (Universal_Aliasing): New function.
+ (Set_Universal_Aliasing): New procedure.
+ (Write_Entity_Flags): Deal with Universal_Aliasing flag.
+ (Check_Nested_Access): New procedure.
+ (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
+ (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
+ (Related_Interface): New attribute. Present in dispatch table pointer
+ components of records. Set to point to the entity of the corresponding
+ interface type.
+ (Is_By_Reference_Type): Recurse on the full view of an incomplete type.
+ (Original_Access_Type): Remove, not needed.
+ (Root_Type): Handle properly subtypes of class-wide-types.
+ Update comments.
+
+ * sem_ch4.adb (Analyze_Explicit_Dereference): Add support for
+ class-wide types visible through limited-with clauses.
+ (Try_Primitive_Operation): When examining all primitive operations of a
+ tagged type, do not consider subprograms labeled as hidden unless they
+ belong to a private generic type with a tagged parent.
+ (Try_Object_Operation): Extensive rewriting, to handle properly various
+ overloading cases, when several ancestors may have class-wide operations
+ that are possible candidates, and when the overloaded functions return
+ array types and have defaulted parameters so that the call may be
+ interpreted as an indexing.
+ (Analyze_Allocator): Remove Mark_Allocator and its invocation.
+ (Process_Function_Call): use Next, rather than Next_Actual, to analyze
+ successive actuals before analyzing the call itself.
+ (Try_Primitive_Operation): A primitive operation is compatible with the
+ prefix if the prefix has a synchronized type and the type of the formal
+ is its corresponding record, as can be the case when the primitive
+ operation is declared outside of the body of the type.
+ (Traverse_Homonyms): New subprocedure of Try_Class_Wide_Operation, to
+ perform homonym traversal, looking for class-wide operation matches
+ (formerly done in statements of Try_Class_Wide_Operation). Matches on
+ access parameters are now restricted to anonymous access types.
+ (Mark_Allocator): An allocator with a discriminant association parent is
+ a coextension.
+ (Try_One_Prefix_Interpretation): If the type of the object is
+ incomplete, as can be happen when it is a limited view obtained through
+ a limited_with_clause, the selected component is not part of a prefixed
+ call.
+ (Complete_Object_Operation): Diagnose properly an object that is not
+ aliased when the corresponding controlling formal is an access
+ parameter.
+ (Try_Primitive_Operation, Try_Class_Wide_Operation): Diagnose properly
+ ambiguous calls in prefixed notation, where two primitives differ only
+ in that the controlling argument of one is an access parameter.
+
+ * sem_ch6.adb (Has_Single_Return): Add guard in code that determines
+ whether a function that returns an unconstrained type can be inlined.
+ (Process_Formals): Diagnose properly the illegal use of an incomplete
+ type in the profile of an access_to_subprogram declaration.
+ (Check_Synchronized_Overriding): Nothing check for concurrent types, the
+ operations are attached to the corresponding record.
+ (Analyze_Subprogram_Specification): Add variables Formal and Formal_Typ.
+ When processing a primitive of a concurrent type which implements an
+ interface change the type of all controlling formals to that of the
+ corresponding record type.
+ (Check_Synchronized_Overriding): Relax the conditional logic when trying
+ to determine the tagged type to which a primitive belongs.
+ (Check_Conventions): Capture condition to ignore a primitive operation
+ (which is shared between the loop in Check_Conventions and the one in
+ Check_Convention) in a new local function Skip_Check.
+ (Check_Convention): Rename Prim_Op to Second_Prim_Op to avoid possible
+ confusion with Check_Conventions' own Prim_Op local variable.
+ (Create_Extra_Formals): Test for a tagged result type rather than a
+ controlling result when determining whether to add a BIP_Alloc_Form
+ formal and a BIP_Final_List formal to the function.
+ (Check_Conformance); For parameters that are anonymous access types,
+ subtype conformance requires that the not null and the constant
+ indicators must match
+ (Check_Synchronized_Overriding): New parameter Formal_Typ. Add machinery
+ to retrieve the appropriate type when processing a concurrent type
+ declared within a generic. Minor comment reformatting. Change invocation
+ of Overrides_Synchronized_Primitive to Find_Overridden_Synchronized_Pri-
+ mitive.
+ (Analyze_Subprogram_Body): If the return type of a function is an
+ anonymous access to the limited view of a class-wide type, and the
+ non-limited view of the type is available, update the type of the
+ function so that code can be generated.
+ (Process_Formals): In case of access-subtype itype whose designated
+ type is also an itype (situation that happens now with access to
+ subprograms) we mark the access-type itype with the Has_Delayed_Freeze
+ attribute to avoid backend problems.
+ (Check_Return_Subtype_Indication): Replace R_Type with R_Stm_Type in
+ init of R_Stm_Type_Is_Anon_Access. Also check that base types of the
+ anonymous types' designated types are same before testing
+ Subtypes_Statically_Match.
+ (Create_Extra_Formals): Test for a named access parameter that is a
+ controlling formal as an additional condition for adding an
+ accessibility level formal. This can occur in the subp type created for
+ dispatching calls in Expand_Dispatching_Call, and allows calling
+ Create_Extra_Formals from that procedure rather than special-casing the
+ extra formals there.
+ (Create_Extra_Formals): Add BIP_Alloc_Form and BIP_Final_List formals
+ when the function has a controlling result.
+ (Check_Returns): Add much more knowledge of the optimization of local
+ raise statements to gotos, to retain proper warnings in this case.
+ (Check_Statement_Sequence): Ignore N_Push_xxx_Label and N_Pop_xxx_Label
+ nodes when looking for last statement.
+
+ * sem_type.ads, sem_type.adb (Specific_Type): Add support for
+ class-wide types visible through limited with clauses.
+ (Add_One_Interp): If the operands are anonymous access types, the
+ predefined operator on universal_access is immediately visibles
+ (Find_Unique_Type): Handle anonymous access to subprogram types just as
+ other anonymous access types.
+ (Disambiguate): Take into account CIL convention.
+ (Interface_Present_In_Ancestor): Add support for class-wide interfaces.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * sinput.ads, sinput.adb, uintp.ads, urealp.adb, stringt.adb,
+ sem_elim.adb, prj-strt.adb, repinfo.ads, repinfo.adb, namet.ads,
+ elists.ads, elists.adb, lib.ads, lib.adb (Unlock): New procedure.
+ Fix lower bound of tables.
+ Add rep clauses.
+
+ * nlists.adb: Ditto.
+ (Prev_Node, Next_Node): Change index type to Int so that it properly
+ covers the range First_Node_Id - 1 up.
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_aggr.ads, exp_aggr.adb:
+ (Build_Record_Aggr_Code): Add missing initialization of secondary tags
+ in extension aggregates.
+ (Flatten): Other conditions being met, an aggregate is static if the
+ low bound given by component associations is different from the low
+ bound of the base index type.
+ (Packed_Array_Aggregate_Handled): If the component type is itself a
+ packed array or record, the front-end must expand into assignments.
+ (Gen_Ctrl_Actions_For_Aggr): In call to Init_Controller, pass False to
+ Init_Pr, instead of Ancestor_Is_Expression.
+ (Gen_Ctrl_Actions_For_Aggr): When processing an aggregate of a
+ coextension chain root, either generate a list controller or use the
+ already existing one.
+ (Static_Array_Aggregate): New procedure to construct a positional
+ aggregate that can be handled by the backend, when all bounds and
+ components are compile-time known constants.
+ (Expand_Record_Aggregate): Force conversion of aggregates of tagged
+ types covering interface types into assignments.
+ (Replace_Type): move to Build_Record_Aggr_Code.
+ (Expand_Record_Aggr_Code): if the target of the aggregate is an
+ interface type, convert to the definite type of the aggregate itself,
+ so that needed components are visible.
+ (Convert_Aggr_In_Object_Decl): If the aggregate has controlled
+ components and the context is an extended return statement do not
+ create a transient block for it, to prevent premature finalization
+ before the return is executed.
+ (Gen_Assign): Do not generate a call to deep adjust routine if the
+ component type is itself an array of controlled (sub)-components
+ initialized with an inner aggregate.
+ (Component_Check): New name for Static_Check. This name is now more
+ appropriate, and documentation is added which was missing.
+ (Component_Check): Add test for bit aligned component value
+ (Component_Not_OK_For_Backend): Renames Has_Delayed_Nested_Aggregate_Or_
+ Tagged_Comps, name is more appropriate given added function below.
+ (Component_Not_OK_For_Backend): Check for bit aligned component ref.
+
+2007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Case Callable and
+ Terminated: Add unchecked type conversion from System.Address to
+ System.Tasking.Task_Id when calling the predefined primitive
+ _disp_get_task_id.
+ Disable new Ada 05 accessibility check for JVM.NET targets, which
+ cannot be implemented in a practical way.
+ (Expand_N_Attribute_Reference: case Attribute_Tag): The use of 'Tag in
+ the sources always references the tag of the actual object. Therefore,
+ if 'Tag is applied in the sources to class-wide interface objects we
+ generate code that displaces "this" to reference the base of the object.
+ (Expand_N_Attribute_Reference, case Size): Return specified size if
+ known to front end.
+ (Expand_N_Attribute_Reference): The expansion of the 'Address attribute
+ has code that displaces the pointer of the object to manage interface
+ types. However this code must not be executed when the prefix is a
+ subprogram. This bug caused the wrong expansion of the internally
+ generated assignment that fills the dispatch table when the primitive
+ is a function returning a class-wide interface type.
+ (Expand_N_Attribute_Reference:Attribute_Valid): Remove incorrect call to
+ Set_Attribute_Name for Name_Unaligned_Valid.
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address):
+ If the initialization is the equivalent aggregate of the initialization
+ procedure of the type, do not remove it.
+ (Expand_N_Attribute_Definition_Clause): Exclude access variables
+ initialized to null from having their expression reset to empty and
+ note this exception in the comment.
+
+2007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch2.adb: Remove "with" and "use" clauses for Namet and Snames.
+ Add "with" and "use" clauses for Sem_Attr.
+ (Expand_Current_Value): Do not replace occurences of attribute
+ references where the prefix must be a simple name.
+
+ * sem_attr.ads, sem_attr.adb: Remove "with" and "use" clauses for
+ Namet. Add new arrays Attribute_Name_Modifies_Prefix and
+ Attribute_Requires_Simple_Name_Prefix.
+ (Name_Modifies_Prefix): Body of new function.
+ (Requires_Simple_Name_Prefix): Body of new function.
+ (Resolve_Attribute, case Access): Improve error message for case of
+ mismatched conventions.
+ (Analyze_Attribute, case 'Tag): The prefix the attribute cannot be of an
+ incomplete type.
+ (Analyze_Attribute, case 'Access): If the type of the prefix is a
+ constrained subtype for a nominal unconstrained type, use its base type
+ to check for conformance with the context.
+ (Resolve_Attribute): Remove test of the access type being associated
+ with a return statement from condition for performing accessibility
+ checks on access attributes, since this case is now captured by
+ Is_Local_Anonymous_Access.
+ (Analyze_Access_Attribute): Set Address_Taken on entity
+ (Analyze_Attribute, case Address): Set Address_Taken on entity
+ (OK_Self_Reference): Traverse tree to locate enclosing aggregate when
+ validating an access attribute whose prefix is a current instance.
+ (Resolve_Attribute): In case of attributes 'Code_Address and 'Address
+ applied to dispatching operations, if freezing is required then we set
+ the attribute Has_Delayed_Freeze in the prefix's entity.
+ (Check_Local_Access): Set flag Suppress_Value_Tracking_On_Call in
+ current scope if access of local subprogram taken
+ (Analyze_Access_Attribute): Check legality of self-reference even if the
+ expression comes from source, as when a single component association in
+ an aggregate has a box association.
+ (Resolve_Attribute, case 'Access): Do not apply accessibility checks to
+ the prefix if it is a protected operation and the attribute is
+ Unrestricted_Access.
+ (Resolve_Attribute, case 'Access): Set the Etype of the attribute
+ reference to the base type of the context, to force a constraint check
+ when the context is an access subtype with an explicit constraint.
+ (Analyze_Attribute, case 'Class): If the prefix is an interface and the
+ node is rewritten as an interface conversion. leave unanalyzed after
+ resolution, to ensure that type checking against the context will take
+ place.
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_ch3.adb (Make_Controlling_Function_Wrappers): generate wrapper a
+ wrapper when the full view of the controlling type of an inherited
+ function that dispatches on result implements interfaces.
+ (Expand_N_Object_Declaration): In cases where the type of the
+ declaration is anonymous access, create finalization list for it.
+ (Expand_N_Object_Declaration): Generate a persistent_bss directive only
+ if the object has no explicit initialization, to match description of
+ functionality of pragam Persistent_BSS.
+ (Build_Equivalent_Array_Aggregate, Build_Equivalent_Record_Aggregate):
+ new function to build static aggregates, to replace initialization call
+ when static initialization is desired.
+ (Freeze_Type): Generate a list controller for an access type whenever
+ its designated type has controlled anonymous access discriminants.
+ (Build_Equivalent_Aggregate): New procedure to compute a static
+ aggregate to be used as default initialization for composite types,
+ instead of a generating a call to the initialization procedure for the
+ type.
+ (Build_Initialization_Call): When available, replace a call to the
+ initialization procedure with a copy of the equivalent static aggregate
+ for the type.
+ (Expand_N_Object_Declaration): Use New_Occurrence_Of in generated
+ declarations for objects of a class-wide interface type, rather than
+ just identifiers, to prevent visibility problems.
+ (Expand_N_Object_Declaration): When expanding the declaration for an
+ object of a class-wide interface type, preserve the homonym chain of
+ the original entity before exchanging it with that of the generated
+ renaming declaration.
+ (Freeze_Enumeration_Type): Don't raise CE if No_Exception_Propagation
+ active, because there is no way to handle the exception.
+ (Freeze_Record_Type): In case of CPP_Class types add a call to Make_DT
+ to do a minimum decoration of the Access_Disp_Table list.
+ (Expand_Record_Controller): Avoid the addition of the controller between
+ the component containing the tag of a secondary dispatch table and its
+ adjacent component that stores the offset to the base of the object.
+ This latter component is only generated when the parent type has
+ discriminants ---documented in Add_Interface_Tag_Components).
+ (Apply_Array_Size_Check): Removed, no longer needed.
+ (Expand_N_Full_Type_Declaration): If the type has anonymous access
+ components, create a Master_Entity for it only if it contains tasks.
+ (Build_Init_Procedure): Suppress the tag assignment compiling under
+ no run-time mode.
+ (Freeze_Record_Type): Remove code associated with creation of dispatch
+ table.
+ (Init_Secondary_Tags): Update type of actuals when generating calls to
+ Ada.Tags.Set_Offset_To_Top
+ (Stream_Operation_OK): Disable use of streams compiling under no
+ run-time mode
+ (Expand_N_Object_Declaration): Don't do Initialize_Scalars initalization
+ if Has_Init_Expression set.
+ (Build_Init_Procedure): Replace call to Fill_DT_Entry by call to
+ Register_Primitive, which provides the same functionality.
+ (Requires_Init_Proc): Return false in case of interface types.
+ (Add_Secondary_Tables): Use the new attribute Related_Interface to
+ cleanup the code.
+ (Predefined_Primitive_Freeze): Do not assume that an internal entity
+ is always associated with a predefined primitive because the internal
+ entities associated with interface types are not predefined primitives.
+ Therefore, the call to Is_Internal is replaced by a call to the
+ function Is_Predefined_Dispatching_Operation.
+ (Make_Eq_If): When generating the list of comparisons for the
+ components of a given variant, omit the controller component that is
+ present if the variant has controlled components.
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * exp_ch4.adb (Complete_Coextension_Finalization): Add machinery to
+ handle the creation of finalization lists and calls for nested
+ coextensions when the root of the chains is part of a return statement.
+ (Inside_A_Return_Statement): New function inside Complete_Coextension_
+ Finalization.
+ (Expand_Record_Equality): Skip components that are interface types.
+ (Displace_Allocator_Pointer): Add missing support for interface subtypes
+ (Expand_N_Allocator): Replace invocation of Is_Local_Access_Discriminant
+ with Rewrite_Coextension. Change the condition for detecting coextension
+ root nodes.
+ (Is_Local_Access_Discriminant): Removed.
+ (Rewrite_Coextension): New routine which rewrites a static coextension
+ as a temporary and uses its unrestricted access in the construction of
+ the outer object.
+ (Complete_Coextension_Finalization): New routine. Generate finalization
+ attachment calls to all delayed coextensions.
+ (Expand_N_Allocator): Call Complete_Coextension_Finalization whenever
+ the allocator is not a coextension itself and has delayed coextensions.
+ If the current allocator is controlled, but also a coextension, delay
+ the generation of the finalization attachment call.
+ Rename local variable "Node" to "Nod" in order to avoid confusion with
+ "Elists.Node".
+ (Expand_Allocator_Expression): Call Adjust for initialized allocators of
+ limited types that are not inherently limited. Such an allocator is
+ illegal, but is generated by the expander for a return statement, to
+ copy the result onto the secondary stack. This is the only case where a
+ limited object can be copied. Generate code to displace the pointer
+ to the object if the qualified expression is a class-wide interface
+ object. Such displacement was missing and hence the copy of the object
+ was wrong.
+ (Apply_Accessibility_Check): Handle allocated objects initialized in
+ place.
+ (Displace_Allocator_Pointer): Subsidiary procedure to Expand_N_Allocator
+ and Expand_Allocator_Expression. Allocating class-wide interface objects
+ this routine displaces the pointer to the allocated object to reference
+ the component referencing the corresponding secondary dispatch table.
+ Expand_Allocator_Expression): Add missing support to allocate class-wide
+ interface objects initialized with a qualified expression.
+ (Get_Allocator_Final_List): Test for an anonymous access type that is a
+ function result type, and use the finalization list associated with the
+ function scope in that case (such an anonymous type should not be
+ treated like an access parameter's type).
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): For the assignment of a
+ controlled type, use Make_Handler_For_Ctrl_Operation to construct the
+ required exception handler.
+ (Expand_Simple_Function_Return, Expand_N_Return_Statement): Handle
+ properly the case of a function whose return type is a limited
+ class-wide interface type. Modify the code of the accessibility
+ check to handle class-wide interface objects. In this case we need to
+ displace "this" to reference the primary dispatch table to get access
+ to the TSD of the object (to evaluate its accessibility level).
+ (Expand_N_Extended_Return_Statement): Test for a tagged result type
+ rather than a controlling result as one of the conditions for
+ generating tests of the implicit BIP_Alloc_Form formal. The
+ initialization assignment is also handled according to whether the
+ result is tagged instead of controlling.
+ In the case where the init assignment is inserted in the "then" part of
+ the allocation conditional, rewrite the target to be a dereference of
+ the implicit BIP_Object_Access formal.
+ If the returned value is unconstrained and created on the secondary
+ stack, mark the enclosing block and function so that the secondary
+ stack is not reclaimed on return.
+ Treat returns from functions with controlling results similarly to
+ returns from functions with unconstrained result subtypes.
+ If the object returned is unconstrained, and an allocator must be
+ created for it, analyze the allocator once the block for the extended
+ return is installed, to ensure that finalizable components
+ of the expression use the proper finalization list. Guard the call to
+ Move_Final_List with a check that there is something to finalize.
+ (Make_Tag_Ctrl_Assignment): Use "old" handling
+ of controlled type assignment for virtual machines, since new code uses
+ unsupported features (such as direct access to bytes in memory).
+
+2007-06-06 Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.ads, exp_ch6.adb (Expand_Call): When adding an extra
+ accessibility actual, check for the case of an aliased object that has
+ been rewritten as an Access attribute, and assign Prev to Prev_Orig so
+ we fall into processing for the attribute rather than the name of the
+ object.
+ (Expand_Inline_Call): If an actual is a literal, and the corresponding
+ formal has its address taken in the body, create a temporary to capture
+ value. If the return type is a limited interface, do not treat the
+ return value as Controlled.
+ (Is_In_Place_Function): If the return type is a limited interface,
+ treat as returning in place. The actual returned object may not always
+ be limited, but the caller has to assume that it is returned in place.
+ (Add_Final_List_Actual_To_Build_In_Place_Call): If the call is the
+ context of an allocator, use the correct finalization chain (that is,
+ the chain belonging to the access type, rather than the chain belonging
+ to the current scope).
+ (Add_Alloc_Form_Actual_To_Build_In_Place_Call): Test for a tagged
+ result type rather than a controlling result as a precondition for
+ adding an allocation form actual to a build-in-place call.
+ (Add_Final_List_Actual_To_Build_In_Place_Call): Ditto.
+ (Freeze_Subprogram): Code cleanup. Remove all the code that register the
+ primitive in the dispatch tables. This work is now done by Make_DT when
+ the type is frozen.
+ (Register_Predefined_DT_Entry): Removed.
+ (Add_Return): If end label is not present, use sloc of last statement
+ for generated return statement in procedure, for better gdb behavior
+ on expanded code.
+ (Add_Access_Actual_To_Build_In_Place_Call): Set parent fields of the
+ object address nodes to ensure proper processing by routines like
+ Insert_After*.
+ (Expand_Call): Fix generation of validity check for parameter
+ (Add_Alloc_Form_Actual_To_Build_In_Place_Call): Return without passing
+ the allocation form parameter if the result subtype is constrained,
+ except when the function has a controlling result.
+ (Add_Final_List_Actual_To_Build_In_Place_Call): Test Controlled_Type
+ rather than Is_Controlled and Has_Controlled_Component, since we want to
+ include class-wide result types in this treatment. Also test for a
+ controlling result, since that also requires passing a finalization
+ list.
+ (Make_Build_In_Place_Call_In_Allocator): Call Add_Alloc_Form_Actual_*
+ even when the result subtype is constrained, to handle calls involving
+ controlling results.
+ (Make_Build_In_Place_Call_In_Anonymous_Context): Add_Alloc_Form_Actual_*
+ is now called even when the result subtype is constrained, to handle
+ calls involving controlling results.
+ (Make_Build_In_Place_Call_In_Assignment): Remove test for Is_Constrained
+ on call to Add_Alloc_Form_Actual_To_Build_In_Place_Call (that procedure
+ now performs the test).
+ (Make_Build_In_Place_Call_In_Object_Declaration):
+ Add_Alloc_Form_Actual_* is now called even when the result subtype is
+ constrained, to handle calls involving controlling results.
+ (Add_Return): Accomodate rewritten pattern from local raise to goto
+ transformation, so that we still recognize an transfer statement
+ and do the right thing here in that case.
+ (Expand_N_Subprogram_Body): Add dummy Push/Pop_xxx_Label nodes at start
+ and end of subprogram code.
+ (Register_Interface_DT_Entry, Register_Predefined_DT_Entry): Add missing
+ support for primitives that are functions (without formals) with a
+ controlling result.
+ (Inherited_From_Formal): If the actual subtype has not generic parent
+ type, it is not an actual for a formal derived type, and there is no
+ operation to inherit from the formal.
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): Set Sloc of
+ inserted cleanup code appropriately for GDB use.
+ (Make_Deep_Proc): Use Make_Handler_For_Ctrl_Operation to create
+ exception handler for Deep_Adjust or Deep_Finalize.
+ (Make_Handler_For_Ctrl_Operation): New subprogram. When runtime entity
+ Raise_From_Controlled_Operation is available, use a call to that
+ subprogram instead of a plain "raise Program_Error" node to raise
+ Program_Error if an exception is propagated from an Adjust or Finalize
+ operation.
+ (Insert_Actions_In_Scope_Around): If the statement to be wrapped
+ appears in the optional statement list of a triggering alternative, the
+ scope actions can be inserted directly there, and not in the list that
+ includes the asynchronous select itself.
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry): Set sloc of
+ generated exception handler appropriately when debugging generated code.
+ Deal properly with No_Exception_Propagation restriction mode.
+ (Expand_N_Abort_Statement): Add an unchecked type conversion from
+ System.Address to System.Tasking.Task_Id when processing the result of
+ the predefined primitive _disp_get_task_id.
+ (Expand_N_Asynchronous_Select): Clarify comment.
+ (Expand_N_Protected_Type_Declaration): Minor code cleanup.
+ (Find_Parameter_Type): New routine inside Type_Conformant_Parameters.
+ (Type_Conformant_Parameters): New parameter Prim_Op_Typ. Code cleanup.
+ (Add_Private_Declarations, Build_Protected_Body): Use proper slocs for
+ privals and for generated call to Complete_Entry_Body, for better gdb
+ behavior.
+ (Copy_Result_Type): Utility to construct a parameter and result profile
+ for protected functions whose return type is an anonymous access to
+ subprogram.
+ (Build_Protected_Sub_Spec and Expand_Access_Protected_Subprogram_Type):
+ call the above.
+ (Build_Task_Activation_Call): Insert Activate_Tasks call at proper
+ point when the local-raise-to-goto transformation has taken place.
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+ Nicolas Setton <setton@adacore.com>
+
+ * exp_dbug.adb (Get_Encoded_Name): Modified to continue providing its
+ functionality when the backend is generating code.
+ Otherwise any serious error
+ reported by the backend calling the frontend routine Error_Msg
+ changes the Compilation_Mode to Check_Semantics, disables the
+ functionality of this routine and causes the generation of
+ spureous additional errors.
+
+ * exp_dbug.ads (Pointers to Unconstrained Arrays): Document the
+ debugging information now generated by the compiler for fat-pointer
+ types.
+ Document the contents of DW_AT_producer in the GNAT Vendor extensions to
+ DWARF2/3.
+ Document GNAT Vendor extensions to DWARF 2/3 and the "-gdwarf+" switch.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.ads, exp_dist.adb (Make_Transportable_Check): New subprogram
+ (GARLIC_Support.Build_Subprogram_Receiving_Stubs,
+ PolyORB_Support.Build_Subprogram_Receiving_Stubs):
+ For a remote call to a function with a classwide return type, apply an
+ E.4(18) check to the returned value.
+ (Add_RACW_Primitive_Declarations_And_Bodies): Do not generate stubs for
+ stream attributes of the designated type of an RACW, as they are not
+ dispatching primitive operations.
+
+2007-06-06 Geert Bosch <bosch@adacore.com>
+
+ * exp_fixd.adb (Integer_Literal): Add optional argument to construct a
+ negative literal
+ (Do_Divide_Fixed_Fixed): Add comments to indicate Frac is always
+ positive
+ (Do_Divide_Fixed_Universal): Handle case of negative Frac.
+ (Do_Multiply_Fixed_Fixed): Add coments to indicate Frac is always
+ positive
+ (Do_Multiply_Fixed_Universal): Handle case of negative Frac.
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+
+ * exp_imgv.adb (Expand_Value_Attribute): Disable compilation of this
+ attribute compiling package Ada.Tags under No_Run_Time_Mode.
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+
+ * exp_intr.adb (Expand_Unc_Deallocation): Add missing support for
+ deallocation of class-wide interface objects.
+ (Expand_Dispatching_Constructor_Call): Take into account that if the
+ result of the dispatching constructor is an interface type, the
+ function returns a class-wide interface type; otherwise the returned
+ object would be actual. The frontend previously accepted returning
+ interface types because Expand_Interface_Actuals silently performed
+ the management of the returned type "as if" it were a class-wide
+ interface type.
+ (Expand_Dispatching_Constructor_Call): Replace call to
+ Make_DT_Access_Action by direct call to Make_Function_Call.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_pakd.adb (Expand_Packed_Not): Use RM_Size rather than ESize to
+ compute masking constant, since we now set Esize properly to the
+ underlying size.
+ (Create_Packed_Array_Type): Set proper Esize value adjusted as required
+ to match the alignment.
+ (Create_Packed_Array_Type): Use Short_Short_Unsigned as base type for
+ packed arrays of 8 bits or less.
+
+ * freeze.adb (Freeze_Entity): When freezing the formals of a
+ subprogram, freeze the designated type of a parameter of an access type
+ only if it is an access parameter.
+ Increase size of C convention enumeration object
+ (Freeze_Entity, array type case): Make sure Esize value is properly
+ adjusted for the alignment if it is known.
+ (Freeze_Entity, array type case): When checking bit packed arrays for
+ the size being incorrect, check RM_Size, not Esize.
+ (Freeze_Record_Type): Check for bad discriminated record convention
+ (In_Exp_Body): Return true if the body is generated for a subprogram
+ renaming, either an attribute renaming or a renaming as body.
+ (Check_Itype): If the designated type of an anonymous access component
+ is a non-protected subprogram type, indicate that it is frozen, to
+ prevent out-of-scope freeze node at some subsequent call.
+ (Freeze_Subprogram): On OpenVMS, reject descriptor passing mechanism
+ only if the subprogram is neither imported nor exported, as well as the
+ NCA descriptor class if the subprogram is exported.
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Remove properly a
+ default initialization on an imported object, when there is no
+ initialization call generated for it.
+ (Expand_Pragma_Assert): Add handling of No_Exception_Propagation
+ restriction
+
+ * snames.h, snames.ads, snames.adb, par-prag.adb: New pragma
+ Static_Elaboration_Desired.
+ Remove pragma Thread_Body.
+ Implement a new pragma No_Body
+ Removes the Explicit_Overriding pragma
+ Remove Optional_Overriding pragma
+ (Prag): Deal with Universal_Aliasing.
+ (Name_CIL, Name_CIL_Constructor, Convention_CIL,
+ Pragma_CIL_Constructor): New names.
+
+ * sem_cat.adb (Validate_Object_Declaration): An initialization that
+ uses the equivalent aggregate of a type must be treated as an implicit
+ initialization.
+ (Get_Categorization): Check a unit for pragma Preelaborate only if it
+ has none of the other categories.
+ (Process_Import_Or_Interface_Pragma): Report an error for an attempt
+ to apply Import to an object renaming declaration.
+
+ * sem_prag.adb (Process_Import_Or_Interface): Warn that a type imported
+ from a C++ class should be declared as limited and that it will be
+ considererd limited.
+ (Analyze_Pragma): Warn that a type specified with pragma CPP_Class
+ should be declared as limited and that it will be considererd limited.
+ (Ada_2005_Pragma): New procedure, used to deal with Ada 2005 pragmas
+ (Analyze_Pragma, case Export): Diagnose export of enumeration literal
+ (Analyze_Pragma): Deal with Universal_Aliasing.
+ (Sig_Flags): Likewise.
+ (Set_Encoded_Interface_Name): Suppress encoding when compiling for AAMP.
+ (Overflow_Checks_Unsuppressed): New flag.
+ (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
+ (Analyze_Pragma [case Pack]): Ignore pragma Pack and post warning in
+ case of JVM or .NET targets, and compiling user code.
+ Add debugging convenience routine rv
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_strm.adb (Make_Field_Attributes): Avoid _Parent components that
+ are interface type.
+ (Build_Elementary_Input_Call): For floating-point use right type in the
+ absence of strange size or stream size clauses.
+ (Build_Elementary_Write_Call): Same fix
+ (Has_Stream_Standard_Rep): Returns False if Stream_Size attribute
+ set to value that does not match base type size.
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.ads, exp_util.adb (Expand_Subtype_From_Expr): In Ada2005, an
+ object of a limited type can be initialized with a call to a function
+ that returns in place. If the limited type has unknown discriminants,
+ and the underlying type is a constrained composite type, build an actual
+ subtype from the function call, as is done for private types.
+ (Side_Effect_Free): An expression that is the renaming of an object or
+ whose prefix is the renaming of a object, is not side-effect free
+ because it may be assigned through the renaming and its value must be
+ captured in a temporary.
+ (Has_Controlled_Coextensions): New routine.
+ (Expand_Subtype_From_Expr): Do nothing if type is a limited interface,
+ as is done for other limited types.
+ (Non_Limited_Designated_Type): new predicate.
+ (Make_CW_Equivalent_Type): Modified to handle class-wide interface
+ objects.
+ Remove all handling of with_type clauses.
+
+ * par-ch10.adb: Remove all handling of with_type clauses.
+
+ * lib-load.ads, lib-load.adb (Load_Main_Source): Do not get the
+ checksum if the main source could not be parsed.
+ (Loat_Unit): When processing a child unit, determine properly whether
+ the parent unit is a renaming when the parent is itself a child unit.
+ Remove handling of with_type clauses.
+
+ * sinfo.ads, sinfo.adb (Is_Static_Coextension): New function.
+ (Set_Is_Static_Coextension): New procedure.
+ (Has_Local_Raise): New function
+ (Set_Has_Local_Raise): New procedure
+ (Renaming_Exception): New field
+ (Has_Init_Expression): New flag
+ (Delay_Finalize_Attach): Remove because flag is obsolete.
+ (Set_Delay_Finalize_Attach): Remove because flag is obsolete.
+ Remove all handling of with_type clauses.
+ (Exception_Junk): Can now be set in N_Block_Statement
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * frontend.adb (Frontend): Return immediately if the main source could
+ not be parsed, because of preprocessing errors.
+
+ * gnat1drv.adb (gnat1drv): Handle RE_Not_Available gracefully.
+ (Gnat1drv): Exit with errors if the main source could not be parsed,
+ because of preprocessing errors.
+ (Check_Rep_Info): New procedure
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * g-hesorg.ads, g-heasor.ads,
+ g-busorg.ads, g-bubsor.ads: Update documentation
+ GNAT.Heap/Bubble_Sort_G is now pure
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * g-catiio.ads, g-catiio.adb (Image): Check for null picture string
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * g-comlin.ads, g-comlin.adb:
+ Add new warning for renaming of function return objects
+
+ * opt.adb (Tree_Write, Tree_Read): Use proper expressions for size
+ (Tree_Read): Use size of object instead of type'object_size, since the
+ latter is incorrect for packed array types.
+ (Tree_Write): Same fix
+
+ * opt.ads: Add new warning for renaming of function return objects
+ (Generating_Code): New boolean variable used to indicate that the
+ frontend as finished its work and has called the backend to process
+ the tree and generate the object file.
+ (GCC_Version): Is now private
+ (Static_Dispatch_Tables): New constant declaration.
+ (Overflow_Checks_Unsuppressed): New flag.
+ (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
+ (List_Closure): New flag for gnatbind (-R)
+ Zero_Formatting: New flag for gnatbind (-Z)
+ (Special_Exception_Package_Used): New flag.
+ (Warn_On_Unrepped_Components): New flag.
+
+ * sem_ch8.adb (Check_Library_Unit_Renaming): Check that the renamed
+ unit is a compilation unit, rather than relying on its scope, so that
+ Standard can be renamed.
+ (Analyze_Object_Renaming): Add new warning for renaming of function
+ return objects.
+ Also reject attempt to rename function return object in Ada 83 mode.
+ (Attribute_Renaming): In case of tagged types, add the body of the
+ generated function to the freezing actions of the type.
+ (Find_Type): A protected type is visible right after the reserved word
+ "is" is encountered in its type declaration. Set the entity and type
+ rather than emitting an error message.
+ (New_Scope): Properly propagate Discard_Names to inner scopes
+ (Check_Nested_Access): New procedure.
+ (Has_Nested_Access, Set_Has_Nested_Access): New procedures.
+ (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
+
+ * sem_warn.ads, sem_warn.adb: Improvements to infinite loop warning
+ Add new warning for renaming of function return objects
+ (Check_References): Suppress warnings for objects whose type or
+ base type has Warnings suppressed.
+ (Set_Dot_Warning_Switch): Add processing for -gnatw.c/C
+ (Set_Warning_Switch): Include new -gnatwc in -gnatwa
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+ Emmanuel Briot <briot@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * g-debpoo.ads, g-debpoo.adb (Free_Physically.Free_Blocks): Use the
+ absolute value of Header.Block_Size when displaying the freed physical
+ memory in traces.
+ (Allocate): Compute Storage_Address using Integer_Address, not
+ Storage_Offset, because the range of Storage_Offset may not be large
+ enough.
+ (Configure): New parameter Low_Level_Traces
+ (Allocate, Deallocation, Free_Physically): Added low-level traces
+ (Configure): new parameter Errors_To_Stdout.
+ (Output_File): new subprogram
+ (Deallocate, Dereference): Send error messages to the proper stream
+ (Print_Pool, Print_Info_Stdout): Make sure the output goes to stdout, as
+ documented. Previous code would send it to the current output file
+ defined in GNAT.IO, which might not be stdout
+ (Is_Valid): Adjust comment to mention that a positive reply means that
+ Header_Of may be used to retrieve the allocation header associated with
+ the subprogram Storage address argument. Return False early if this
+ address argument is misaligned.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (GNATCmd): Accept switch -aP for commands that accept
+ switch -P
+ (ASIS_Main): New global variable
+ (Get_Closure): New procedure
+ (GNATCmd): Set ASIS_Main when -P and -U with a main is used for gnat
+ check, metric or pretty. Call Get_Closure in this case.
+ (Check_Files): For GNAT LIST, check all sources of all projects when
+ All_Projects is True.
+ (GNATCmd): Accept -U for GNAT LIST
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * gnatlink.adb (Gnatlink): Do not specify -static-libgcc when --LINK=
+ has been specified
+ Correct error message when invocation of the linker fails
+ Add explicit size clause for the C imported variables
+ Object_List_File_Supported and Using_GNU_Linker to emphasize that
+ we expect char size.
+ Read target parameters earlier, since this is needed to set
+ Target_VM properly. Also do not use -static/shared-libgcc for non GCC
+ targets.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * gnatls.adb:
+ Add 3 spaces before the default project directory when displaying
+ the project search path.
+ Add new command line switch '-l' to display license information.
+
+2007-06-06 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * gmem.c: Add support for timestamps on memory operations.
+
+ * memtrack.adb, gnatmem.adb: Add support for timestamps on memory
+ operations (not used currently, just foundation for future
+ enhancements). Add possibility to perform full dump of gmem.out file.
+ (Print_Back_Traces): Declare accesses to root arrays constants since
+ they aren't modified.
+ (Print_Back_Traces): allocate root arrays on the heap rather than stack.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * gnatsym.adb: Update Copyright notice
+ (Parse_Cmd_Line): Accept new switch -D
+ (Gnatsym): In Direct policy (switch -D) copy reference file to symbol
+ file.
+
+ * prj.ads (Policy): New policy Direct
+ (Yes_No_Unknown): New enumeration type
+ (Project_Data): New component Libgnarl_Needed
+
+ * prj-nmsc.adb (Check_For_Source): When recording a source file make
+ use the untouched pathname casing.
+ (Get_Directories): Ensure that the Display_Exec_Directory is using the
+ proper casing on non case-sensitive platforms like Windows.
+ (Get_Unit): Accept file names x__... and x~... (where x = a, g, i or s)
+ on all platforms, as it is not possible to know which one is allowed
+ before processing the project files.
+ (Check_Stand_Alone_Library): Check that Library_Reference_Symbol_File is
+ specified when symbol policy is Direct. Check that when there is a
+ symbol file defined (either by default or with attribute
+ Library_Symbol_File) it is not the same as the reference symbol file.
+ (Check_Stand_Alone_Library): Recognize new symbol policy Direct.
+ (Look_For_Sources): Allow Locally_Removed_Files to be declare in non
+ extending projects.
+ (Record_Ada_Source): Record a source that has been locally removed in an
+ imported project.
+
+ * symbols.ads (Policy): New policy Direct
+
+ * symbols-vms.adb (Initialize): Take new policy Direct in case
+ statement
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * g-os_lib.ads, g-os_lib.adb (Normalize_Pathname.Get_Directory):
+ Correct obvious bug (return Dir; instead of return Directory;).
+ (Normalize_Pathname): Use Reference_Dir'Length, not Reference_Dir'Last
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+
+ * g-pehage.adb (Produce): Open output files in Binary mode, so that
+ they have UNIX line endings (LF only) even on Windows, and thus pass
+ all GNAT style checks.
+
+2007-06-06 Emmanuel Briot <briot@adacore.com>
+
+ * g-regpat.adb (Quote): Fix improper quoting of '.'
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+
+ * g-soccon.ads: Add new constant Thread_Blocking_IO, always True by
+ default, set False on a per-runtime basis.
+ (Need_Netdb_Buffer): New constant.
+
+ * g-socket.ads, g-socket.adb: Import new package
+ GNAT.Sockets.Thin.Task_Safe_NetDB.
+ (Raise_Host_Error): Use Host_Error_Message from platform-specific thin
+ binding to obtain proper message.
+ (Close_Selector): Use GNAT.Sockets.Thin.Signalling_Fds.Close.
+ Replace various occurrences of Arry (Arry'First)'Address with the
+ equivalent Arry'Address (GNAT always follows implementation advice from
+ 13.3(14)).
+ (Get_Host_By_Address, Get_Host_By_Name,
+ Get_Service_By_Name, Get_Service_By_Port): Do not use GNAT.Task_Lock;
+ instead, rely on platform-specific task safe netdb operations provided
+ by g-socthi.
+
+ * g-socthi.ads, g-socthi.adb (Initialize): Remove obsolete formal
+ parameter Process_Blocking_IO.
+ (Host_Error_Messages): Add stub body.
+ (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+ (Safe_Gethostbyname, Safe_Gethostbyaddr, Safe_Getservbyname,
+ Safe_Getservbyport): Move functions into new child package
+ Task_Safe_NetDB.
+ (Nonreentrant_Gethostbyname, Nonreentrant_Gethostbyaddr,
+ Nonreentrant_Getservbyname, Nonreentrant_Getservbyport): New routines.
+ (In_Addr): Add alignment clause.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * g-trasym.ads, g-traceb.ads: Update list of supported targets
+ Add note about symbolic traceback
+
+2007-06-06 Pascal Obry <obry@adacore.com>
+
+ * hostparm.ads (Normalized_CWD): Use the host directory separator
+ instead of the hardcoded forward slash which is not the proper
+ character on Windows for example.
+ (Java_VM): Removed.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * a-clrefi.adb, a-clrefi.ads: New files
+
+ * impunit.adb: Add s-os_lib in the list of user visible units.
+ (Non_Imp_File_Names_95): Add a-clrefi to this list
+ Remove obsolete run-time entries.
+ (Non_Imp_File_Names_05): Add Ada 2005 entries for:
+ "a-exetim" -- Ada.Execution_Time
+ "a-extiti" -- Ada.Execution_Time.Timers
+
+ * mlib-prj.ads, mlib-prj.adb
+ (Build_Library): Use untouched object dir and library dir. At the
+ same time makes sure that the checks are done using the canonical
+ form. Removes hard-coded directory separator and use the proper host
+ one instead.
+ (Process_Project): Do not look in object directory to check if libgnarl
+ is needed for a library, if there is no object directory.
+ (Build_Library): Scan the ALI files to decide if libgnarl is needed for
+ linking.
+ (Build_Library): When invoking gnatbind, use a response file if the
+ total size of the arguments is too large.
+
+ * Makefile.rtl: (g-sttsne): New object file.
+ Add entry for a-clrefi, s-utf_32, System.Exceptions
+
+ * Make-lang.in: Remove bogus dependency of s-memory.o on memtrack.o.
+ (GNAT_ADA_OBJS, GNATBIND_OBJS): Add s-except.o.
+ (GNATBIND_OBJS): Add new objects a-clrefi.o and a-comlin.o
+ Change g-string to s-string, g-os_lib to s-os_lib
+ Change all g-utf_32 references to s-utf_32
+
+2007-06-06 Tristan Gingold <gingold@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * init.c: Do not adjust IP of an imported VMS exception of ia64.
+ LIB$STOP is called to raise an exception and the IP of the exception
+ is the instruction right after the call.
+ (__gnat_adjust_context_for_raise, AIX): Implement.
+ (__gnat_error_handler, AIX): Accept SIGINFO related arguments and call
+ adjust_context_for_raise before Raise_From_Signal_Hanler.
+ (__gnat_install_handler, AIX): Add SA_SIGINFO to the sa_flags, to ensure
+ siginfo is passed to the handler, necessary to let the zcx propagation
+ engine unwind past it.
+
+2007-06-06 Olivier Hainque <hainque@adacore.com>
+
+ * initialize.c (__gnat_initialize for vxworks): Update documentation
+ on the ZCX support, using different sets of crtstuff objects than with
+ GCC 3.4.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * layout.ads, layout.adb (Adjust_Esize_Alignment): Move spec to package
+ spec from body
+ (Layout_Type): Fix recomputation of size from alignment.
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch12.adb (Analyze_Associations): Diagnose use of an others
+ association in an instance.
+ (Copy_Generic_Node): If the node is a string literal, no need to copy
+ its descendants.
+ (Is_Generic_Formal): For a formal subprogram, the declaration is the
+ grandparent of the entity.
+ (Analyze_Formal_Interface_Type): Transform into a full type declaration,
+ to simplify handling of formal interfaces that derive from other formal
+ interfaces.
+ (Instantiate_Subprogram_Body): The defining unit name of the body of
+ the instance should be a defining identifier.
+ (Install_Formal_Packages): make global to the package, for use in
+ instantiations of child units.
+ (Analyze_Package_Instantiation): Do not attempt to set information on an
+ enclosing master of an entry when expansion is disabled.
+ (Instantiate_Type): If the actual is a tagged synchronized type and the
+ generic ancestor is an interface, create a generic actual for the
+ corresponding record.
+ (Analyze_Formal_Derived_Interface_Type): Rewrite as a derived type
+ declaration, to ensure that the interface list is processed correctly.
+ (Inline_Instance_Body): If enclosing scope is an instance body, remove
+ its entities from visibiility as well.
+ (Pre_Analyze_Actuals): if the actual is an allocator with constraints
+ given with a named association, analyze the expression only, not the
+ discriminant association itself.
+ (Reset_Entity): If the analysis of a selected component is transformed
+ into an expanded name in the prefix of a call with parameters, do not
+ transform the original node into an expanded name, to prevent visibility
+ errors in the case of nested generics.
+ (Check_Private_View): For an array type, check whether the index types
+ may need exchanging.
+
+2007-06-06 Arnaud Charlet <charlet@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * lib-writ.adb: Handle Convention_CIL in addition to Convention_Java,
+ since both are separated.
+ Add support for imported CIL packages.
+ Add further special handling of "value_type" for CIL.
+ Add special handling of pragma Import for CIL.
+
+ * make.ads, make.adb: When switch -eS is used, direct all outputs to
+ standard output instead of standard error, except errors.
+ (Absolute_Path): Use untouched casing for the parent directory.
+ (Add_Library_Search_Dir): Use the untouched directory name.
+ (Add_Source_Search_Dir): Idem.
+ (Change_To_Object_Directory): Update output to use proper casing.
+ (Create_Binder_Mapping_File): Use the untouched filename to set
+ ALI_Name.
+ (Gnatmake): Use untouched library and executable directory names.
+ (Insert_Project_Sources): Use untouched filename for spec and body.
+ (Is_In_Object_Directory): Use untouched object directory.
+ (Mark_Directory): Idem.
+ (Collect_Arguments_And_Compile): Ensure that Full_Source_File always
+ contains the non-canonical filename in all cases.
+ (Change_To_Object_Directory): In verbose mode, display the name of the
+ object directory we're changing to.
+ (Compile_Sources): Make sure, when a project file is used, to compile
+ the body of the unit, when there is one, even when only the spec is
+ recorded in an ALI file.
+ (Gcc_Switches, Binder_Switches, Linker_Switches): Tables moved from the
+ spec to the body.
+ (Report_Compilation_Failed): New procedure
+ (Bind, Display_Commands, Compile_Sources, Initialize, Scan_Make_Arg):
+ procedures moved from the spec to the body.
+ (Extract_Failure): Removed, not used
+ Replace explicit raises of exception Bind_Failed and Link_Failed with
+ calls to Make_Failed with the proper message.
+ Replace explicit raises of exception Compilation_Failed with calls to
+ procedure Report_Compilation_Failed.
+ (Initialize): Create mapping files unconditionally when using project
+ files.
+
+ * sem_mech.adb: (Name_CIL, Name_CIL_Constructor, Convention_CIL,
+ Pragma_CIL_Constructor): New names.
+
+ * targparm.ads, targparm.adb
+ (Compiler_System_Version): Removed, no longer used.
+ (Get_Target_Parameters): Relax checks on system.ads validity. Add
+ handling of two new system flags: JVM and CLI.
+
+2007-06-06 Jose Ruiz <ruiz@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in (LIBGNAT_TARGET_PAIRS for VxWorks 6): For the RTP run
+ time, use the default s-interr body that provides interrupt support
+ based on signals.
+ (LIBGNAT_TARGET_PAIRS for x86-linux): Use specialized versions of
+ a-exetim.ad{s,b}, a-extiti.ad{s,b}, a-rttiev.ad{s,b}, s-osinte.ad{s,b},
+ g-soccon.ads, and s-taprop.adb for the marte run time.
+ (EXTRA_GNATRTL_TASKING_OBJS for x86-linux): Execution time clocks and
+ timers are supported on marte.
+ (EH_MECHANISM for marte): Do not use ZCX.
+ (THREADSLIB for marte): Use -lmarte.
+ Add mlib-tgt-vms.o to the list of objects for gnatmake for VMS
+ Add mlib-tgt-specific.o to gnatmake objects
+ mlib-tgt-<platforms>.adb is now the body of MLib.Tgt.Specific, no
+ longer of MLib.Tgt.
+ (LIBGNAT_TARGET_PAIRS for vxworks): When building a run time for VxWorks
+ 6, either kernel or rtp, use a specialized version of s-osinte.ads.
+
+2007-06-06 Pascal Obry <obry@adacore.com>
+
+ * mkdir.c (__gnat_mkdir): Add support for UTF-8.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * mlib.ads, mlib.adb (Build_Library): Do not use hard-coded directory
+ separator, use instead the proper host directory separator.
+ (Copy_ALI_Files): Make sure that an already existing ALI file in the
+ ALI copy dir is writable, before doing the copy.
+
+ * mlib-utl.ads, mlib-utl.adb:
+ (Gcc): If length of command line is too long, put the list of object
+ files in a response file, if this is supported by the platform.
+ (Ar): If invocation of the archive builder is allowed to be done in
+ chunks and building it in one shot would go above an OS dependent
+ limit on the number of characters on the command line, build the archive
+ in chunks.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * osinte-c.ads, osint-c.adb (Set_Library_Info_Name): Fail if base name
+ of specified object file is not equal to base name of source.
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Process_Full_View): Propagate the CPP_Class attribute to
+ the full type declaration.
+ (Analyze_Component_Declaration): Add local variable E to capture the
+ initialization expression of the declaration. Replace the occurences of
+ Expression (N) with E.
+ (OK_For_Limited_Init_In_05): Allow initialization of class-wide
+ limited interface object with a function call.
+ (Array_Type_Declaration): If the declaration lacks subtype marks for
+ indices, create a simple index list to prevent cascaded errors.
+ (Is_Null_Extension): Ignore internal components created for secondary
+ tags when checking whether a record extension is a null extension.
+ (Check_Abstract_Interfaces): Add missing support for interface subtypes
+ and generic formals.
+ (Derived_Type_Declaration): Add missing support for interface subtypes
+ and generic formals.
+ (Analyze_Object_Declaration): If an initialization expression is
+ present, traverse its subtree and mark all allocators as static
+ coextensions.
+ (Add_Interface_Tag_Component): When looking for components that may be
+ secondary tags, ignore pragmas that can appear within a record
+ declaration.
+ (Check_Abstract_Overriding): an inherited function that dispatches on
+ result does not need to be overriden if the controlling type is a null
+ extension.
+ (Mentions_T): Handle properly a 'class attribute in an anonymous access
+ component declaration, when the prefix is an expanded name.
+ (Inherit_Component): If the derivation is for a private extension,
+ inherited components remain visible and their ekind should not be set
+ to Void.
+ (Find_Type_Of_Object): In the case of an access definition, always set
+ Is_Local_Anonymous_Access. We were previously not marking the anonymous
+ access type of a return object as a local anonymous type.
+ (Make_Index): Use Ambiguous_Character to report ambiguity on a discrete
+ range with character literal bounds.
+ (Constrain_Array): Initialize the Packed_Array_Type field to Empty.
+ (Access_Subprogram_Declaration): Indicate that the type declaration
+ depends on an incomplete type only if the incomplete type is declared
+ in an open scope.
+ (Analyze_Subtype_Declaration): Handle properly subtypes of
+ synchronized types that are tagged, and that may appear as generic
+ actuals.
+ (Access_Subprogram_Declaration): An anonymous access to subprogram can
+ appear as an access discriminant in a private type declaration.
+ (Add_Interface_Tag_Components): Complete decoration of the component
+ containing the tag of a secondary dispatch table and the component
+ containing the offset to the base of the object (this latter component
+ is only generated when the parent type has discriminants --as documented
+ in this routine).
+ (Inherit_Components): Use the new decoration of the tag components to
+ improve the condition that avoids inheriting the components associated
+ with secondary tags of the parent.
+ (Build_Discriminanted_Subtype): Indicate to the backend that the
+ size of record types associated with dispatch tables is known at
+ compile time.
+ (Analyze_Subtype_Declaration): Propagate Is_Interface flag when needed.
+ (Analyze_Interface_Declaration): Change setting of Is_Limited_Interface
+ to include task, protected, and synchronized interfaces as limited
+ interfaces.
+ (Process_Discriminants): Remove the setting of
+ Is_Local_Anonymous_Access on the type of (anonymous) access
+ discriminants of nonlimited types.
+ (Analyze_Interface_Type_Declaration): Complete the decoration of the
+ class-wide entity it is is already present. This situation occurs if
+ the limited-view has been previously built.
+ (Enumeration_Type_Declaration): Initialize properly the Enum_Pos_To_Rep
+ field.
+ (Add_Interface_Tag_Components.Add_Tag): Set the value of the attribute
+ Related_Interface.
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): Ignore internal components
+ of the type that specify the position of interface tags when the type
+ inherits discriminated array components from the parent type.
+ If a component is initialized with a box, check for the presence of a
+ default expression in its declaration before using its default
+ initialization procedure.
+ (Resolve_Record_Aggregate): If a component is box-initialized, and the
+ component type has a discriminants, create a partial aggregate for it
+ by copying the discriminants of the component subtype.
+ Reject attempt to initialize a discriminant with a box.
+ (Array_Aggr_Subtype): Indicate to the backend that the size of arrays
+ associated with dispatch tables is known at compile time.
+ (Get_Value): If an association in a record aggregate has a box
+ association, and the corresponding record component has a default
+ expression, always copy the default expression, even when the
+ association has a single choice, in order to create a proper
+ association for the expanded aggregate.
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * par-ch12.adb (P_Generic_Associations): The source position of an
+ Others association is that of the others keyword, not that of the token
+ that follows the box.
+ (P_Formal_Type_Definition): Handle formal access types that carry a
+ not null indicator.
+
+ * par-ch3.adb (P_Known_Discriminant_Part_Opt, P_Component_Items): If
+ multiple identifier are present, save Scan_State before scanning the
+ colon, to ensure that separate trees are constructed for each
+ declaration.
+ (P_Identifier_Declarations): For object declaration, set new flag
+ Has_Init_Expression if initialization expression present.
+ (P_Null_Exclusion): Properly diagnose NOT NULL coming before NULL
+ Improve NOT NULL error messages
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * par-ch4.adb: (P_Name): Recover from literal used as name
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * prep.ads, prep.adb (Expression): New Boolean parameter Complemented,
+ defaulted to False.
+ In the "not" case, recursive call with Complemented set to True.
+ Do not allow "or" or "and" operators when Complemented is True.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * prj.adb (Project_Empty): Gives default value for new component
+ Libgnarl_Needed
+
+ * prj-attr.ads: Minor reformatting
+
+ * prj-env.ads, prj-env.adb (For_All_Object_Dirs): Register object
+ directory using the untouched casing.
+ (For_All_Source_Dirs): Idem.
+
+ * prj-ext.ads, prj-ext.adb (Search_Directories): New table to record
+ directories specified with switches -aP.
+ (Add_Search_Project_Directory): New procedure
+ (Initialize_Project_Path): Put the directories in table
+ Search_Directories in the project search path.
+ (Initialize_Project_Path): For VMS, transform into canonical form the
+ project path.
+
+2007-06-06 Arnaud Charlet <charlet@adacore.com>
+
+ * restrict.ads, restrict.adb (No_Exception_Handlers_Set): Only return
+ true if configurable run-time or No_Run_Time is set.
+ (Set_Restriction): Avoid setting restriction No_Elaboration_Code when
+ processing an unit which is not the one being compiled.
+
+2007-06-06 Arnaud Charlet <charlet@adacore.com>
+
+ * s-arit64.adb: Replace System.Pure_Exceptions by Ada 05 syntax.
+ Replace UC by Ada.UC
+
+ * s-bitops.adb: Get rid of System.Pure_Exceptions.
+ Replace UC by Ada.UC
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb: (Check_End_Of_Line): Deal with very long lines
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * sem.ads, sem.adb (Semantics): Save and restore Global_Discard_Names
+ Remove no longer used nodes.
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_ch10.ads, sem_ch10.adb (Analyze_Compilation_Unit): Disable check
+ on obsolescent withed unit in case of limited-withed units.
+ (Analyze_Compilation_Unit): Add guard to code that removed an
+ instantiation from visibility, to prevent compiler aborts when
+ instantiation is abandoned early on.
+ (Install_Limited_Withed_Unit): Recognize a limited-with clause on the
+ current unit being analyzed, and Distinguish local incomplete types
+ from limited views of types declared elsewhere.
+ (Build_Limited_Views.Decorate_Tagged_Type): Add documentation
+ to state that the class-wide entity is shared by the limited-view
+ and the full-view.
+ (Analyze_With_Clause): Improve placement of flag for case of
+ unimplemented unit.
+ (Analyze_With_Clause): Recognize use of GNAT.Exception_Traces in a
+ manner similar to GNAT.Current_Exception. This is a violation of
+ restriction (No_Exception_Propagation), and also inhibits the
+ optimization of local raise to goto.
+ (Analyze_With_Clause): Check for Most_Recent_Exception being with'ed,
+ and if so set Most_Recent_Exception_Used flag in Opt, and also check
+ for violation of restriction No_Exception_Propagation.
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the
+ use of entity Exception_Occurrence if it is not available in the
+ target run-time.
+
+ * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): When
+ concurrent types are declared within an Ada 2005 generic, build their
+ corresponding record types since they are needed for overriding-related
+ semantic checks.
+ (Analyze_Protected_Type): Rearrange and simplify code for testing that a
+ protected type does not implement a task interface or a nonlimited
+ interface.
+ (Analyze_Task_Type): Rearrange and simplify code for testing that a task
+ type does not implement a protected interface or a nonlimited interface.
+ (Single_Task_Declaration, Single_Protected_Declaration): use original
+ entity for variable declaration, to ensure that debugging information
+ is correcty generated.
+ (Analyze_Protected_Type, Analyze_Task_Type): Do not call expander
+ routines if the expander is not active.
+ (Analyze_Task_Body): Mark all handlers to stop optimization of local
+ raise, since special things happen for task exception handlers.
+
+ * sem_disp.adb (Check_Controlling_Formals): Add type retrieval for
+ concurrent types declared within a generic.
+ (Check_Dispatching_Operation): Do not emit warning about late interface
+ operations in the context of an instance.
+ (Check_Dispatching_Call): Remove restriction against calling a
+ dispatching operation with a limited controlling result.
+ (Check_Dispatching_Operation): Replace calls to Fill_DT_Entry and
+ Register_Interface_DT_Entry by calls to Register_Primitive.
+ (Check_Dispatching_Formals): Handle properly a function with a
+ controlling access result.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Stream_Size):
+ Check for restriction No_Implementation_Attributes if in Ada 95 mode.
+ (Storage_Pool): Do not crash when RE_Stack_Bounded_Pool is not available
+ (Analyze_Attribute_Definition_Clause [External_Tag]): Generate error
+ message when using a VM, since this attribute is not supported.
+ (Analyze_Record_Representation_Clause): Give unrepped component warnings
+
+ * usage.adb: Add new warning for renaming of function return objects
+ Indicate that -gnatwp and -gnatwP concern front-end inlining
+ Add line for -gnatyg
+ Add usage information for -gnatw.c/C
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb
+ (Find_Var): Do not consider function call in test for infinite loop
+ warning if warnings set off for function entity.
+ (One_Bound): Do not create a temporary for a loop bound if it is a
+ character literal.
+ (Analyze_Assignment): Traverse the right hand side of an assignment and
+ mark all allocators as static coextensions.
+ (Analyze_Assignment): Exempt assignments involving a dispatching call
+ to a function with a controlling access result from the check requiring
+ the target to be class-wide.
+
+2007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_res.ads, sem_res.adb (Process_Allocator): Do not propagate the
+ chain of coextensions when an allocator serves as the root of such a
+ chain.
+ (Propagate_Coextensions): Remove the test for the root being an
+ allocator.
+ (Resolve_Allocator): Add condition to ensure that all future decoration
+ occurs on an allocator node. Add processing and cleanup for static
+ coextensions.
+ (Valid_Conversion): If the operand type is the limited view of a
+ class-wide type, use the non-limited view is available to determine
+ legality of operation.
+ (Ambiguous_Character): move to spec, for use elsewhere.
+ (Ambiguous_Character): Handle Wide_Wide_Character in Ada 2005 mode
+ (Resolve_Range): Diagnose properly an ambiguous range whose bounds are
+ character literals.
+ (Resolve_Arithmetic_Op): Call Activate_Division_Check instead of setting
+ Do_Division_Check flag explicitly.
+ (Resolve_Actuals): If the actual is of a synchronized type, and the
+ formal is of the corresponding record type, this is a call to a
+ primitive operation of the type, that is declared outside of the type;
+ the actual must be unchecked-converted to the type of the actual
+ (Resolve_Call): Kill all current values for any subprogram call if
+ flag Suppress_Value_Tracking_On_Call is set.
+ (Resolve_Type_Conversion): Generate error message the the operand
+ or target of interface conversions come from a limited view.
+ (Check_Infinite_Recursion): Ignore generated calls
+ (Check_Allocator_Discrim_Accessibility): New procedure for checking
+ that an expression that constrains an access discriminant in an
+ allocator does not denote an object with a deeper level than the
+ allocator's access type.
+ (Resolve_Allocator): In the case of an allocator initialized by an
+ aggregate of a discriminated type, check that associations for any
+ access discriminants satisfy accessibility requirements by calling
+ Check_Allocator_Discrim_Accessibility.
+ (Resolve_Equality_Op): Handle comparisons of anonymous access to
+ subprogram types in the same fashion as other anonymous access types.
+ (Resolve_Concatenation_Arg): Remove initial character '\' in an error
+ message that is not a continuation message.
+ (Resolve_Type_Conversion): Add missing support for conversion to
+ interface type.
+ (Resolve_Actuals): Introduce a transient scope around the call if an
+ actual is a call to a function returning a limited type, because the
+ resulting value must be finalized after the call.
+ (Resolve_Actuals): If the call was given in prefix notations, check
+ whether an implicit 'Access reference or implicit dereference must be
+ added to make the actual conform to the controlling formal.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch7.adb (Check_Anonymous_Access_Types): Fix error for null body
+ (Derive_Inherited_Private_Subprogram): Code cleanup. In case of explicit
+ overriding of an inherited private subprogram now there is no need to
+ inherit its dispatching slot and reduce the size of the dispatch table.
+ Set_All_DT_Position now ensures that the same slot is now assigned to
+ both entities. This is required to statically build the dispatch table.
+ (Declare_Inherited_Private_Subprograms): Rewriten to avoid the need
+ of calling Set_All_DT_Position to re-evaluate the position of the
+ entries in the dispatch table. Such reevaluation is not desired if
+ the tagged type is already frozen.
+
+2007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_util.ads, sem_util.adb (May_Be_Lvalue): A prefix of an attribute
+ reference acts as an lvalue when the attribute name modifies the prefix
+ (Is_Coextension_Root): New routine.
+ (Mark_Static_Coextensions): New routine.
+ (Type_Access_Level): Revise code for checking the level of the
+ anonymous access type of a return object.
+ (Safe_To_Capture_Value): Not safe to capture if Address_Taken
+ (Matches_Prefixed_View_Profile): Remove the no longer necessary
+ retrieval of the corresponding controlling record type.
+ (Find_Overridden_Synchronized_Primitive): Code cleanup. Add handling of
+ concurrent types declared within a generic as well as class wide types.
+ Emit a mode incompatibility error whenever a protected entry or routine
+ override an interface routine whose first parameter is not of mode
+ "out", "in out" or access to variable.
+ (Overrides_Synchronized_Primitive): Rename to
+ Find_Overridden_Synchronized_Primitive.
+ (Collect_Interface_Components): New subprogram that collects all the
+ components of a tagged record containing tags of secondary dispatch
+ tables.
+ (Add_Global_Declaration): New procedure
+ (Abstract_Interface_List): Handle properly the case of a subtype of a
+ private extension.
+ (Type_Access_Level): In the case of a type whose parent scope is a
+ return statement, call Type_Access_Level recursively on the enclosing
+ function's result type to determine the level of the return object's
+ type.
+ (Build_Elaboration_Entity): Build name of elaboration entity from the
+ scope chain of the entity, rather than the unit name of the file name.
+ (Check_Nested_Access): New procedure.
+ (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
+ (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
+ (Get_Renamed_Entity): Utility routine for performing common operation
+ of chasing the Renamed_Entity field of an entity.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_elab.adb (Check_A_Call): Specialize elaboration warnings on
+ elaboration model
+ (Check_A_Call): Add check for entry call which was causing blowup
+
+2007-06-06 Olivier Hainque <hainque@adacore.com>
+
+ * raise-gcc.c (__gnat_eh_personality): Tweak the signature and add
+ special code on ia64-vms to handle major incompatibilities between the
+ GCC unwinding ABI and the VMS Condition Handling Facility, both calling
+ this routine with a very different set of arguments and expectations on
+ the return value.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+
+ * socket.c (__gnat_close_signalling_fd): New function.
+ (__gnat_safe_gethostbyaddr, __gnat_safe_gethostbyname,
+ __gnat_safe_getservbyname, __gnat_safe_getservbyport):
+ New supporting functions for task safe Netdb operations.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * a-except-2005.ads, a-except-2005.adb
+ (Raise_From_Controlled_Operation): New procedure in
+ (private part of) Ada.Exceptions (standard runtime version). Used to
+ provide informational exception message when Program_Error is raised as
+ a result of an Adjust or Finalize operation propagating an exception.
+ (Rmsg_28): Fix description for E.4(18) check.
+ (Raise_Current_Excep): Call Debug_Raise_Exception just before
+ propagation starts, to let debuggers know about the event in a reliable
+ fashion.
+ Take the address of E and dereference to make sure it is homed on stack
+ and prevent the stores from being deleted, necessary for proper
+ debugger behavior on "break exception" hits.
+ (Local_Raise): Moved to System.Exceptions
+
+ * s-finimp.adb (Raise_From_Finalize): Code to construct an appropriate
+ exception message from the current occurrence and raise Program_Error
+ has been moved to Ada.Exceptions.Raise_From_Controlled_Operation.
+
+2007-06-06 Jose Ruiz <ruiz@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * s-taprob.adb (Unlock): Change the ceiling priority of the underlying
+ lock, if needed.
+
+ * s-taprop.ads (Set_Ceiling): Add this procedure to change the ceiling
+ priority associated to a lock.
+
+ * s-tpoben.adb ([Vulnerable_]Complete_Task, Lock_Entries): Relax
+ assertion to take into account case of no abort restriction.
+ (Initialize_Protection_Entries): Add initialization for the field
+ New_Ceiling associated to the protected object.
+ (Unlock_Entries): Change the ceiling priority of the underlying lock, if
+ needed.
+
+ * s-solita.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
+ since this function needs to be set consistently with Update_Exception.
+
+ * s-tarest.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
+ since this function needs to be set consistently with Update_Exception.
+
+ * s-taskin.ads: Update comments on
+ Interrupt_Server_Blocked_On_Event_Flag.
+ (Unbind_Handler): Fix handling of server_task wakeup
+ (Server_Task): Set self's state so that Unbind_Handler can take
+ appropriate actions.
+ (Common_ATCB): Now use a constant from System.Parameters to determine
+ the max size of the Task_Image field.
+
+ * s-tassta.adb (Task_Wrapper): Now pass the overflow guard to the
+ Initialize_Analyzer function.
+ ([Vulnerable_]Complete_Task, Lock_Entries): Relax assertion to
+ take into account case of no abort restriction.
+ ([Vulnerable_]Complete_Master): Modify assertion.
+
+ * s-tataat.adb (Finalize): Use the nestable versions of
+ Defer/Undefer_Abort.
+
+ * s-tpobop.adb (Protected_Entry_Call): Relax assertion.
+
+ * s-tpobop.ads: Update comments.
+
+ * s-tposen.adb (Protected_Single_Entry_Call): Call Lock_Entry instead
+ of locking the object manually, to avoid inconsistencies between
+ Lock/Unlock_Entry assertions.
+
+ * s-interr.ads, s-interr.adb (Server_Task): Fix race condition when
+ terminating
+ application and System.Parameters.No_Abort is True.
+ Update comments on Interrupt_Server_Blocked_On_Event_Flag.
+ (Unbind_Handler): Fix handling of server_task wakeup
+ (Server_Task): Set self's state so that Unbind_Handler can take
+ appropriate actions.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+
+ * s-finroo.ads, s-finroo.adb (Read, Write): Use null procedure
+ declarations instead of an explicit null body, for conciseness.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_eval.adb (Eval_Relational_Op): nothing to do if an operand is an
+ illegal aggregate and the type is still Any_Composite.
+ (Subtypes_Statically_Match): Fix problem of empty discriminant list
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_smem.adb (Check_Shared_Var): Check explicitly for as task object,
+ to prevent subsequent expansion.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * sinput-l.ads, sinput-l.adb: implement a new pragma No_Body
+
+2007-06-06 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sprint.ads, sprint.adb (Sprint_Node_Actual): Output aggregate for
+ exceptions.
+ (Write_Itype): Handle case of string literal subtype, which
+ comes up in this context.
+ (Update_Itype): when debugging expanded code, update sloc of itypes
+ associated with defining_identifiers and ranges, for gdb use.
+ (Sprint_Node_Actual): Add static keyword to object or exception
+ declaration output if Is_Statically_Allocated is True.
+ (Sprint_End_Label): Set entity of end marker for a subprogram, package,
+ or task body, so that the tree carries the proper Sloc information for
+ debugging use.
+ (Write_Indent): In Dump_Source_Text mode, ignore implicit label nodes
+
+2007-06-06 Arnaud Charlet <charlet@adacore.com>
+
+ * s-secsta.adb (Chunk): Ensure this object has a static size known at
+ compile time, to avoid dynamic memory allocation
+ (Elaboration code): Only use dynamic memory allocation when needed.
+
+2007-06-06 Quentin Ochem <ochem@adacore.com>
+
+ * s-stausa.ads, s-stausa.adb (Initialize_Analyzer): Added parameter
+ "Overflow_Guard".
+ (Stack_Analyzer): Added field "Overflow_Guard"
+ (Task_Result): Added field "Overflow_Guard".
+ (Index_Str): New constant.
+ (Task_Name_Str): New constant.
+ (Actual_Size_Str): New constant.
+ (Pattern_Array_Element_Size): New constant.
+ (Get_Usage_Range): New subprogram.
+ (Output_Result): Added parameter Max_Size_Len and Max_Actual_Use_Len.
+ Now align the output.
+ Added comments.
+ (Initialize): Added value for Overflow_Guard.
+ (Fill_Stack): Use constant Pattern_Array_Elem_Size when relevant.
+ Update the value of the overflow guard according to the actual
+ beginning of the pattern array.
+ (Initialize_Analyzer): Added parameter Overflow_Guard.
+ Take this parameter into accound when computing the max size.
+ (Compute_Result): Use constant Pattern_Array_Elem_Size when relevant.
+ (Report_Result): Removed extra useless procedure.
+ Updated call to Output_Result.
+ Moved full computation of the Task_Result here.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+
+ * g-soccon-darwin.ads, gen-soccon.c: Add new constant
+ Thread_Blocking_IO, always True by default, set False on a per-runtime
+ basis.
+ Add Windows-specific constants
+ Add new constant Need_Netdb_Buffer.
+ Add new macros to indicate whether getXXXbyYYY is thread safe and, if
+ not, whether to use getXXXbyYYY_r.
+
+ * gsocket.h: Add new constant Need_Netdb_Buffer.
+ Add new macros to indicate whether getXXXbyYYY is thread safe and, if
+ not, whether to use getXXXbyYYY_r.
+
+2007-06-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-stoele.ads, s-stoele.adb: Move inline_always subprograms earlier
+ than their first call.
+ Add type Dummy_Communication_Block used in the generation of the pre-
+ defined dispatching primitive _disp_asynchronous_select.
+ (Storage_Element): Put Pragma Universal_Aliasing on it.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * a-dirval-vms.adb, a-dirval.ads, a-dirval.adb (Windows): New Boolean
+ function.
+
+ * a-dirval-mingw.adb (Is_Valid_Path_Name): Forbid a path with a drive
+ letter if it is not followed by a '/' or a '\'.
+ (Windows): New Boolean function
+
+ * a-direct.ads, a-direct.adb: Remove unnecessary and misplaced pragma
+ Ada 2005.
+ (Containing_Directory): On Windows, keep at least one '/' or '\' after a
+ drive letter.
+ (Containing_Directory): Raise Use_Error when the directory is a root
+ directory.
+ (Extension): When returning the result, use a conversion to Result_Type,
+ not a qualification.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * stylesw.ads, stylesw.adb (Set_GNAT_Style_Check): New procedure
+ (Set_Style_Check_Options): Recognize new -gnatyg style switch
+
+ * switch-c.adb (Scan_Front_End_Switches, case -gnatg): Set
+ Warn_On_Non_Local_Exception to False, to turn off warnings for
+ No_Exception_Propagation in ZFP runtime.
+ (Scan_Front_End_Switches): Fix handling of --RTS switch for non GCC
+ back-ends.
+ (Scan_Front_End_Switches): For 'g', call Set_GNAT_Style_Checks
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * switch-b.adb (Scan_Binder_Switches): Add processing for new
+ switches -R and -Z
+
+ * switch-m.adb (Normalize_Compiler_Switches): Do not record switch -E
+ (Scan_Make_Switches): Recognize new switch -aP
+
+2007-06-06 Matthew Gingell <gingell@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * s-stchop-vxworks.adb (Set_Stack_Info): Instead of trying to map the
+ VxWorks task descriptor in the Ada run time, call a C subprogram
+ (__gnat_get_stack_info) that extracts the required information.
+
+ * sysdep.c: Back out temporary lynxos workaround.
+ (__gnat_get_stack_info): Add this procedure that passes to the Ada run
+ time the stack information associated to the currently executing task.
+ Only VxWorks systems require this function.
+
+2007-06-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tracebak.c (FRAME_OFFSET): Add parameter FP. On SPARC/Solaris, do not
+ add the stack bias if the offset is computed from a frame address.
+ (__gnat_backtrace): Adjust for above change.
+
+2007-06-06 Thomas Quinot <quinot@adacore.com>
+
+ * types.h, types.ads: Rename PE_Illegal_CW_Actual_E_4_18 to
+ PE_Non_Transportable_Actual.
+ (By_Descriptor_Last): New constant.
+ (By_Copy_Return): Likewise.
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+
+ * vms_conv.adb (Process_Argument): Keep arguments starting with '+' as
+ is.
+
+ * vms_data.ads: Add entries for -gnatw.x and -gnatw.X
+ /STYLE_CHECKS=GNAT: Change meaning to -gnatyg
+ /GNAT_INTERNAL: New compiler qualifier corresponding to -gnatg
+ Add missing comment for /OPTIMIZE=SPACE
+ Add entry for OPTIMIZE=SPACE
+ Add new qualifier /ALL_PROJECTS (= -U) for GNAT LIST
+ Add documentation for new qualifiers corresponding to -gnatw.c/.C
+
+2007-06-06 Vincent Celier <celier@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * xgnatugn.adb: Allow dots to be used in ug_words (-gnatw.c and
+ -gnatw.C)
+
+ * gnat_ugn.texi: Fix ordering of -g switch for gnatmake
+ Document gnatbind switch -a
+ (case Constructions): Document that variables declarations are allowed
+ for previously declared variables.
+ Fix external lib project example
+ -gnatg: Indicate new VMS qualifier /GNAT_INTERNAL
+ Indicate that "#if not X or Y then" is not allowed in input files to
+ gnatprep.
+ Document gnatw.x and gnatw.X warning flags
+ Mention -Winline switch to activate warnings when back-end inlining is
+ ineffective.
+ Add gnatcheck rule descriptions
+ Describe how to use the GNAT driver to call a tool on a closure.
+ Describe how to run project-wide checks or metrics.
+ Document gnatbind's -R option
+ Updated to account for Ada 2005 support
+
+ * gnat_rm.texi (Case Construction): Allow variable declarations for
+ previously declared variables.
+ (Representation Clauses and Pragmas): Lift restriction on alignment
+ clauses for record types.
+ (Ada.Characters.*): Fix typo in reference to A.3.3(27).
+ Document No_Exception_Propagation restriction
+ Document No_Body pragma
+ Updated to account for Ada 2005 support; corrected some typos
+ (Implementation Defined Pragmas): Document pragma Universal_Aliasing.
+
+ * gnat-style.texi: Make it clear that we never use mode IN for
+ procedures or functions
+
+ * ug_words: Add entries for -gnatw.x and -gnatw.X
+ Add entries for -gnatw.c/.C
+
+2007-06-06 Pascal Obry <obry@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Add_Archive_Path): Use untouched object and library
+ dirs and library name.
+ (Build_Global_Archive): Idem. Minor code clean-up. Removes duplicate
+ comments.
+ (Build_Library): Idem.
+ (Compile_Individual_Sources): Idem.
+ (Compile_Link_With_Gnatmake): Idem.
+ (Compile_Sources): Idem.
+ (Get_Imported_Directories): Idem.
+ (Link_Executables): Idem. Same change for the executable dir.
+ (Check_Compilation_Needed): C_Source_Path new variable containing
+ the canonical form of Source_Path to check against the source names
+ in the dependency file.
+ (Build_Global_Archive, Compile_Individual_Sources, Compile_Sources): In
+ verbose mode, display the name of the object directory we're changing
+ to.
+ (Saved_Switches): New name of table X_Switches
+ (Scan_Arg): Recognize new switch -aP and save in table Saved_Switches
+ (Usage): New line for switch -aP
+ (Get_Imported_Directories.Add): Make sure that Add_Arg is True before
+ testing if a directory should be added to the search path.
+
+2007-06-06 Javier Miranda <miranda@adacore.com>
+
+ * a-cidlli.ads, a-cdlili.ads, a-cohama.ads, a-coinve.ads,
+ a-convec.ads (Empty_Vector, Empty_Map, Empty_List): Move this object
+ declaration after freezing point of all its associated tagged types;
+ otherwise such types are frozen too early.
+
+2007-06-06 Robert Dewar <dewar@adacore.com>
+
+ * a-reatim.adb: Documentation addition
+
+ * g-cgideb.adb: Minor code reorganization
+
+ * tree_io.adb, treepr.adb, cstand.adb, krunch.adb, par.adb,
+ mdll-utl.adb, par-ch5.adb, par-tchk.adb, s-exctab.ads, s-memory.ads,
+ s-osprim.ads, s-restri.ads, s-soflin.ads: Minor reformatting.
+
+ * debug.ads, debug.adb (Get_Debug_Flag_K): Remove unused obsolete
+ function. Change name New_Scope to Push_Scope
+ (Get_Debug_Flag_K): Remove unused obsolete function.
+
+ * exp_ch8.adb, inline.adb, sem_ch8.ads: Change name New_Scope to
+ Push_Scope.
+
+ * makeusg.adb: Update Copyright notice
+ Add line for switch -aP
+
+ * makeusg.adb: Fix wording of some usage messages
+
+ * s-assert.adb (Raise_Assert_Failure): Add call to
+ Debug_Raise_Assert_Failure.
+
+ * s-unstyp.ads (type Packed_Bytes2): Change alignment to use 'Min
+ (2, Standard'Alignment) for compatibility with AAMP (where alignment
+ is restricted to 1).
+
+ * s-wchjis.adb: Remove use of System.Pure_Exceptions
+
+ * tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): Set the
+ node location to No_Location when we're not debugging the expanded
+ code.
+
+2007-05-22 Alexandre Oliva <aoliva@redhat.com>
+
+ * misc.c (enumerate_modes): Consider log2_b to always be one.
+
+2007-05-14 Rafael Ávila de Espíndola <espindola@google.com>
+
+ * misc.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
+
+2007-05-02 Pascal Obry <obry@adacore.com>
+
+ * gnatchop.adb (Write_Source_Reference_Pragma): Change implementation
+ to use Stream_IO.File_Type. This is needed to make use of the UTF-8
+ encoding support of Stream_IO.
+ (Write_Unit): Idem.
+
+ * adaint.h, adaint.c (__gnat_os_filename): New routine. Returns the
+ filename and corresponding encoding to match the OS requirement.
+ (__gnat_file_exists): Do not call __gnat_stat() on Windows as this
+ routine will fail on specific devices like CON: AUX: ...
+
+ PR ada/29856: Add missing braces
+
+2007-04-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR ada/31660
+ * ada-tree.h (lang_tree_node): Fix typo in chain_next.
+
+2007-04-21 Jan Hubicka <jh@suse.cz>
+
+ * misc.c (gnat_expand_body): Don't call target for destructors,
+ avoid redundant check on syntax errors.
+
+2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ * ada-tree.h (lang_tree_node): Use GENERIC_NEXT
+ instead of checking GIMPLE_STMT_P in chain_next.
+
+2007-04-17 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ PR ada/31576
+ * system-linux-alpha.ads: Disable constant condition warning for the
+ Default_Bit_Order variable.
+ * system-linux-s390.ads: Likewise.
+ * system-linux-s390x.ads: Likewise.
+ * system-linux-sparc.ads: Likewise.
+
+2007-04-06 Javier Miranda <miranda@adacore.com>
+ Matt Heaney <heaney@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ a-coprnu.ads, a-cohata.ads, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
+ a-cgarso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads, a-chtgke.ads,
+ a-chtgke.ads, a-coprnu.ads, a-contai.ads, a-chtgke.ads, a-chtgke.adb,
+ a-stwiha.ads, a-strhas.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
+ a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads, a-stzfix.ads,
+ a-stzhas.ads, a-szuzha.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoio.ads,
+ a-ztinio.ads, a-zttest.ads, a-zzunio.ads, a-astaco.ads, a-charac.ads,
+ a-chlat1.ads, ada.ads, a-dynpri.ads, a-flteio.ads, a-fwteio.ads,
+ a-inteio.ads, a-intnam.ads, a-ioexce.ads, a-iwteio.ads, a-lfteio.ads,
+ a-lfwtio.ads, a-liteio.ads, a-liwtio.ads, a-llftio.ads, a-llfwti.ads,
+ a-llitio.ads, a-lliwti.ads, a-ncelfu.ads, a-ngcefu.ads, a-ngelfu.ads,
+ a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads, a-nllcty.ads,
+ a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads, a-nucoty.ads,
+ a-nuelfu.ads, a-numeri.ads, a-sfteio.ads, a-sfwtio.ads, a-siteio.ads,
+ a-siwtio.ads, a-ssitio.ads, a-ssiwti.ads, a-storio.ads, a-strfix.ads,
+ a-string.ads, a-stwifi.ads, a-titest.ads, a-unccon.ads, a-uncdea.ads,
+ a-wtcoio.ads, a-wtinio.ads, a-wttest.ads, calendar.ads, directio.ads,
+ i-c.ads, ioexcept.ads, machcode.ads, sequenio.ads, text_io.ads,
+ unchconv.ads, unchdeal.ads, a-widcha.ads, a-zchara.ads, a-stboha.ads,
+ a-stfiha.ads, a-coteio.ads, a-envvar.ads, a-lcteio.ads, a-llctio.ads,
+ a-scteio.ads, a-swbwha.ads, a-swfwha.ads, a-szbzha.ads, a-szfzha.ads,
+ a-tiboio.ads, a-wwboio.ads, a-zzboio.ads, a-dispat.ads, a-tgdico.ads,
+ expander.adb, g-socket.ads, par-labl.adb, sinput-c.adb, s-tarest.ads,
+ s-stchop.ads, g-expect-vms.adb, s-taprop-lynxos.adb,
+ s-taprop-tru64.adb, s-taprop-irix.adb,
+ s-taprop-hpux-dce.adb, s-traceb-hpux.adb,
+ s-taprop-linux.adb, s-taprop-dummy.adb, s-osprim-unix.adb,
+ s-osprim-solaris.adb, s-taprop-solaris.adb, s-taprop-vms.adb,
+ s-osprim-mingw.adb, s-taprop-mingw.adb, s-osprim-posix.adb,
+ s-taprop-posix.adb, a-exexpr-gcc.adb, a-ststio.adb, a-ststio.ads,
+ a-textio.adb, a-textio.ads, a-tideau.adb, a-tideau.ads, a-witeio.adb,
+ a-witeio.ads, a-wtdeau.adb, a-wtdeau.ads, g-calend.adb, g-calend.ads,
+ g-dirope.adb, g-expect.ads, gnatchop.adb, g-spipat.adb, g-spipat.ads,
+ s-direio.adb, s-direio.ads, s-fatgen.adb, s-fatgen.ads, s-parint.adb,
+ s-sequio.adb, s-sequio.ads, s-taprop.ads, s-valdec.adb, s-valdec.ads,
+ s-valint.adb, s-valint.ads, s-vallld.adb, s-vallld.ads, s-vallli.adb,
+ s-vallli.ads, s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
+ s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads, xref_lib.adb,
+ s-stchop.adb, i-vxwork-x86.ads, a-crbtgo.ads, a-crbtgo.adb,
+ a-coorse.ads, a-coorse.adb, a-cohama.ads, a-cohama.adb, a-ciorse.ads,
+ a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-chtgop.ads, a-chtgop.ads,
+ a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cihase.ads, a-cohase.adb,
+ a-cohase.ads, a-swuwha.ads, a-ciormu.ads, a-coormu.ads, a-rbtgso.ads,
+ a-stunha.ads, a-ciorma.adb, a-coorma.adb, a-ztdeau.adb, a-ztdeau.ads,
+ a-ztexio.adb, a-ztexio.ads: Addition of null-exclusion to anonymous
+ access types.
+ Update documentation.
+ Minor rewording.
+
+2007-04-06 Robert Dewar <dewar@adacore.com>
+
+ * system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
+ system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
+ system-vxworks-sparcv9.ads, system-solaris-x86.ads, system-irix-o32.ads,
+ system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
+ system-linux-x86.ads, system-vxworks-mips.ads, system-interix.ads,
+ system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
+ system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
+ system-vxworks-alpha.ads, system-vms_64.ads, system-darwin-ppc.ads,
+ system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
+ system-hpux-ia64.ads, targparm.adb,
+ targparm.ads (Functions_Return_By_DSP_On_Target): Removed
+
+ * system.ads: Move Functions_Return_By_DSP to obsolete section,
+ kept for bootstrap purposes only.
+
+2007-04-06 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
+ s-osinte-freebsd.ads, s-osinte-aix.ads, s-osinte-darwin.ads,
+ s-taprop-posix.adb (Create_Task): Fix handling of Task_Info.
+ (PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM): New constants.
+
+2007-04-06 Robert Dewar <dewar@adacore.com>
+
+ * a-except.adb, a-except.ads, a-except-2005.ads, a-except-2005.adb
+ (Local_Raise): New dummy procedure called when a raise is converted
+ to a local goto. Used for debugger to detect that the exception
+ is raised.
+
+ * debug.adb: Document new d.g flag (expand local raise statements to
+ gotos even if pragma Restriction (No_Exception_Propagation) is not set)
+
+ * exp_sel.adb: Use Make_Implicit_Exception_Handler
+
+ * exp_ch11.adb (Expand_Exception_Handlers): Use new flag -gnatw.x to
+ suppress warnings for unused handlers.
+ (Warn_If_No_Propagation): Use new flag -gnatw.x to suppress
+ warnings for raise statements not handled locally.
+ (Get_RT_Exception_Entity): New function
+ (Get_Local_Call_Entity): New function
+ (Find_Local_Handler): New function
+ (Warn_If_No_Propagation): New procedure
+ (Expand_At_End_Handler): Call Make_Implicit_Handler
+ (Expand_Exception_Handlers): Major additions to deal with local handlers
+ (Expand_N_Raise_Constraint_Error, Expand_N_Raise_Program_Error,
+ Expand_N_Raise_Storage_Error, (Expand_N_Raise_Statement): Add handling
+ for local raise
+
+ * exp_ch11.ads (Get_RT_Exception_Entity): New function
+ (Get_Local_Call_Entity): New function
+
+ * gnatbind.adb (Restriction_List): Add No_Exception_Propagation to list
+ of restrictions that the binder will never suggest adding.
+
+ * par-ch11.adb (P_Exception_Handler): Set Local_Raise_Statements field
+ to No_Elist.
+
+ * restrict.adb (Check_Restricted_Unit): GNAT.Current_Exception may not
+ be with'ed in the presence of pragma Restriction
+ (No_Exception_Propagation).
+
+ * sem.adb (Analyze): Add entries for N_Push and N_Pop nodes
+
+ * sem_ch11.adb (Analyze_Exception_Handler): If there is a choice
+ parameter, then the handler is not a suitable target for a local raise,
+ and this is a violation of restriction No_Exception_Propagation.
+ (Analyze_Handled_Statements): Analyze choice parameters in exception
+ handlers before analyzing statement sequence (needed for proper
+ detection of local raise statements).
+ (Analyze_Raise_Statement): Reraise statement is a violation of the
+ No_Exception_Propagation restriction.
+
+ * s-rident.ads: Add new restriction No_Exception_Propagation
+
+ * tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): New
+ function, like Make_Exception_Handler but sets Local_Raise_Statements
+ to No_List.
+ (Add_Unique_Serial_Number): Deal with case where this is called during
+ processing of configuration pragmas.
+
+2007-04-06 Thomas Quinot <quinot@adacore.com>
+ Pat Rogers <rogers@adacore.com>
+ Pascal Obry <obry@adacore.com>
+
+ * g-stsifd-sockets.adb: New file.
+
+ * g-socthi.ads, g-socket.adb, g-socthi-vxworks.adb,
+ g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi-vms.ads,
+ g-socthi-vms.adb: Move signalling
+ fd management to a nested package, so that they can conveniently be
+ moved to a subunit that is shared across Windows, VMS, and VxWorks
+ (Ada implementation) or completed with imported bodies from socket.c
+ (UNIX case).
+ (Read_Signalling_Fd, Write_Signalling_Fd, Create_Signalling_Fds): New
+ subprograms.
+ (Check_Selector): Use Read_Signalling_Fd to read and discard data from
+ the signalling file descriptor.
+ (Abort_Selector): Use Write_Signalling_Fd to write dummy data to the
+ signalling file descriptor.
+ (Create_Selector): Use new C-imported subprogram Create_Signalling_Fds
+ instead of creating a pair of sockets for signalling here.
+
+ * g-socthi.adb: Ditto.
+ Set the runtime process to ignore SIGPIPEs on platforms that support
+ neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
+
+ * g-socthi-mingw.adb: Ditto.
+ (WS_Version): Use Windows 2.2.
+ Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
+
+ * g-soliop-mingw.ads: Link with ws2_32 for Windows 2.x support.
+ Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
+
+ * Makefile.in: New libgnat pair g-stsifd.adb<g-stsifd-sockets.adb.
+ added GNAT byte swapping facility
+ Update FreeBSD THREADSLIB from -lc_r to -lpthread, for FreeBSD 6.
+
+ * g-bytswa.adb, g-bytswa-x86.adb, g-bytswa.ads: New files.
+
+ * socket.c (__gnat_read_signalling_fd, __gnat_write_controlling_fd):
+ New subprograms.
+ (__gnat_create_signalling_fds): New subprogram.
+ Set the runtime process to ignore SIGPIPEs on platforms that support
+ neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
+
+2007-04-06 Hristian Kirtchev <kirtchev@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * a-calend-vms.ads, a-calend.ads, a-calend.adb, a-calend-vms.adb:
+ New version of Ada.Calendar which supports the new upper bound of Ada
+ time (2399-12-31 86_399.999999999).
+ The following modifications have been made to the package:
+ - New representation of time as count of nanoseconds since the start of
+ Ada time (1901-1-1 0.0).
+ - Target independent Split and Time_Of routines which service both
+ Ada 95 and Ada 2005 code.
+ - Target independent interface to the Ada 2005 children of Calendar.
+ - Integrated leap seconds into Ada 95 and Ada 2005 mode.
+ - Handling of non-leap centenial years.
+ - Updated clock function.
+ - Updated arithmetic and comparison operators.
+
+ * a-caldel.adb (To_Duration): Add call to target independent routine in
+ Ada.Calendar to handle the conversion of time to duration.
+
+ * sysdep.c (__gnat_localtime_tzoff): Test timezone before setting off
+ (UTC Offset).
+ If timezone is obviously incorrect (outside of -14 hours .. 14 hours),
+ set off to 0.
+ (__gnat_localtime_tzoff for Lynx and VxWorks): Even though these
+ targets do not have a natural time zone, GMT is used as a default.
+ (__gnat_get_task_options): New.
+
+ * a-direct.adb (Modification_Time): Add with and use clauses for
+ Ada.Calendar and Ada.
+ Calendar.Formatting. Remove with clause for Ada.Unchecked_Conversion
+ since it is no longer needed.
+ (Duration_To_Time): Removed.
+ (OS_Time_To_Long_Integer): Removed.
+ (Modification_Time): Rewritten to use Ada.Calendar and Ada.Calendar.
+ Formatting Time_Of routines which automatically handle time zones,
+ buffer periods and leap seconds.
+
+ * a-calari.ads, a-calari.adb ("+", "-", Difference): Add calls to
+ target independent routines in Ada.Calendar.
+
+ * a-calfor.ads, a-calfor.adb:
+ Code cleanup and addition of validity checks in various routines.
+ (Day_Of_Week, Split, Time_Of): Add call to target independent routine in
+ Ada.Calendar.
+
+ * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): Add call to target
+ independent routine in Ada.Calendar.
+
+2007-04-06 Olivier Hainque <hainque@adacore.com>
+
+ * adaint.c:
+ (convert_addresses): Adjust prototype and dummy definition to expect an
+ extra file_name argument.
+
+ * gmem.c (__gnat_convert_addresses): Wrapper to convert_addresses,
+ filling the now expected file_name argument with the appropriate
+ argv[0] expansion.
+ (__gnat_gmem_a2l_initialize, __gnat_gmem_read_next_frame): Use it.
+ (tracebk): Array of void * instead of char *, corresponding to what
+ convert_addresses expects.
+ (exename): New static global, to hold the executable file name to be
+ used in all convert_addresses invocations.
+ (gmem_read_backtrace, __gnat_gmem_symbolic): Account for tracebk type
+ change.
+ (__gnat_gmem_a2l_initialize): Resolve exename.
+ (__gnat_convert_addresses): Use exename as the convert_addresses
+ file_name argument.
+
+ * g-trasym.adb (Symbolic_Traceback): Adjust signature of imported
+ "convert_addresses", now expecting a filename argument. Import the
+ necessary entities to compute the filename to use and pass it to
+ convert_addresses.
+
+2007-04-06 Matt Gingell <gingell@adacore.com>
+
+ * system-aix.ads: Back out previous change.
+ (Functions_Return_By_DSP): Removed
+
+2007-04-06 Pascal Obry <obry@adacore.com>
+
+ * s-osprim-mingw.adb (Timed_Delay): Use the right clock (standard one
+ or the monotonic used by Ada.Real_Time) to compute the sleep duration
+ on Windows.
+
+2007-04-06 Jose Ruiz <ruiz@adacore.com>
+
+ * s-osinte-vxworks.ads, s-osinte-vxworks.adb (VX_FP_TASK): Remove this
+ function. Its value changes in different VxWorks versions, and it is
+ now handled by the function __gnat_get_task_options.
+
+ * s-taprop-vxworks.adb (Create_Task): Call the function
+ __gnat_get_task_options to get the required options for creating a task.
+
+2007-04-06 Pascal Obry <obry@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * adaint.c: Replace all occurences of S2WS to S2WSU (Unicode) when
+ dealing with filename.
+ (__gnat_fopen): Call the proper macro (8bits or UTF8) to convert the
+ filename from a standard string to a wide-string depending on the
+ encoding value.
+ (__gnat_freopen): Idem.
+ (__gnat_current_time): New function (wrapper for time(3) standard C
+ function).
+
+ * g-os_lib.ads (Current_Time): New function. Returns the current
+ system time as an OS_Time value.
+
+ * s-osprim.ads (Clock): Add more precise definition of UNIX epoch.
+ (Monotonic_Clock): Same.
+
+2007-04-06 Quentin Ochem <ochem@adacore.com>
+
+ * ali.ads, ali.adb (Get_Nat): Raise an exception if the file cursor is
+ not on a natural.
+ (Scan_ALI): Cancel the xref line if there has been a reading ALI error.
+
+2007-04-06 Jose Ruiz <ruiz@adacore.com>
+
+ * a-retide.adb: Add elaboration code to ensure that the tasking run
+ time is initialized when using delay operations even when no task is
+ created.
+
+2007-04-06 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads, a-tags.adb (Object_Specific_Data): Remove
+ component Num_Prim_Ops.
+ (Set_Num_Prim_Ops): Removed.
+ Remove all the assertions because all the routines of this
+ package are inline always.
+ (Get_Offset_Index): Add support to primary dispatch tables.
+ Move the documentation about the dispatch table to a-tags.ads
+ (Set_External_Tag): Removed
+ (Inherit_TSD): Removed.
+ (Interface_Data_Element, Interfaces_Array, Interface_Data): Declarations
+ moved to a-tags.ads
+ (Displace, IW_Membership, Inherit_TSD, Interface_Ancestor_Tags,
+ Register_Interface_Tag, Set_Offset_To_Top): Update all the occurrences
+ of the TSD field "Table" because this field has been renamed to
+ "Ifaces_Table".
+ (Inherit_CPP_DT): Removed.
+ (K_Typeinfo, K_Offset_To_Top, K_Tagged_Kind, K_Signature,
+ Cstring, Tag_Table, Type_Specific_Data, Dispatch_Table): These
+ declarations have been moved to a-tags.ads
+ (Check_Size): Removed.
+ (Expanded_Name): Updated to get access to the new field of TSD
+ containing the address of the expanded name.
+ (Get_Access_Level/Set_Access_Level): Removed.
+ (Get_Predefined_Prim_Op_Address): Removed.
+ (Set_Predefined_Prim_Op_Address): Removed.
+ (Get_Prim_Op_Address/Set_Prim_Op_Address): Removed.
+ (Get_Remotely_Callable/Set_Remotely_Callable): Removed.
+ (Set_Expanded_Name): Removed.
+ (Inherit_DT): Removed.
+ (Inherit_CPP_DT): Removed.
+ (Set_RC_Offset): Removed.
+ (Set_TSD): Removed.
+ (Base_Address): New function that displaces "this" to point to the base
+ of the object (that is, to point to the primary tag of the object).
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.ads, exp_ch3.adb (Analyze_N_Full_Type_Declaration): For an
+ anonymous access component, do not create a master_id if type already
+ has one, as may happen if the type is a subcomponent of a packed array
+ type.
+ (Build_Init_Procedure, Component_Needs_Simple_Initialization,
+ Initialize_Tag): Remove code associated with the old CPP pragmas.
+ CPP_Virtual and CPP_Vtable are no longer supported.
+ (Build_Offset_To_Top_Internal): Add support for concurrent record types
+ (Build_Offset_To_Top_Functions): Add support for concurrent record types
+ (Freeze_Record_Type): Remove call to
+ Init_Predefined_Interface_Primitives.
+ (Init_Secondary_Tags.Initialize_Tag): New subprogram containing all the
+ code required to initialize the tags of the secondary dispatch tables.
+ This leaves the algoritm more clear.
+ (Init_Secondary_Tags): Add support for concurrent record types
+ (Make_Predefined_Primitive_Specs): Code cleanup.
+ (Predefined_Primitive_Bodies): Code cleanup.
+ (Build_Master_Renaming): New local subprogram.
+ (Expand_N_Full_Type_Declaration): Build the master_id associated with
+ anonymous access to task type components.
+ (Expand_N_Subtype_Indication): The bounds of a range constraint in a
+ subtype indication are resolved during analysis, and must not be done
+ here.
+ (Stream_Operation_OK): Check Restriction_Active before RTE_Available.
+
+2007-04-06 Geert Bosch <bosch@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Type_Conversion): Remove special processing
+ for conversion of a Float_Type'Truncation to integer.
+
+ * exp_attr.adb (Is_Inline_Floating_Point_Attribute): New function to
+ check if a node is an attribute that can be handled directly by the
+ back end.
+ (Expand_N_Attribute_Reference): Suppress expansion of floating-point
+ attributes that can be handled directly by the back end.
+ (Expand_N_Attribute_Reference, case 'Access and 'Unchecked_Access):
+ use new predicate Is_Access_Protected_Subprogram_Type.
+ (Expand_N_Attribute_Reference, case 'Write): The reference is legal for
+ and Unchecked_Union if it is generated as part of the default Output
+ procedure for a type with default discriminants.
+ (Expand_N_Attribute_Reference): Avoid the expansion of dispatching calls
+ if we are compiling under restriction No_Dispatching_Calls.
+ (Constrained): Use Underlying_Type, in case the type is private without
+ discriminants, but the full type has discriminants.
+ (Expand_N_Attribute_Reference): Replace call to Get_Access_Level by
+ call to Build_Get_Access_Level.
+ (Expand_N_Attribute_Reference): The use of 'Address with class-wide
+ interface objects requires a call to the run-time subprogram that
+ returns the base address of the object.
+ (Valid_Conversion): Improve error message on illegal attempt to store
+ an anonymous access to subprogram value into a record component.
+
+ * sem_res.adb (Resolve_Equality_Op): Detect ambiguity for "X'Access =
+ null".
+ (Simplify_Type_Conversion): New procedure that performs simplification
+ of Int_Type (Float_Type'Truncation (X)).
+ (Resolve_Type_Conversion): Call above procedure after resolving operand
+ and before performing checks. This replaces the existing ineffective
+ code in Exp_Ch4.
+ (Set_String_Literal_Subtype): When creating the internal static lower
+ bound subtype for a string literal, use a newly created copy of the
+ subtree representing the lower bound.
+ (Resolve_Call): Exclude build-in-place function calls from transient
+ scope treatment. Update comments to describe this exception.
+ (Resolve_Equality_Op): In case of dispatching call check violation of
+ restriction No_Dispatching_Calls.
+ (Resolve_Call): If the call returns an array, the context imposes the
+ component type of the array, and the function has one non-defaulted
+ parameter, rewrite the call as the indexing of a call with a single
+ parameter, to handle an Ada 2005 syntactic ambiguity for calls written
+ in prefix form.
+ (Resolve_Actuals): If an actual is an allocator for an access parameter,
+ the master of the created object is the innermost enclosing statement.
+ (Remove_Conversions): For a binary operator, check if type of second
+ formal is numeric, to check if an abstract interpretation is present
+ in the case of exponentiation as well.
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * atree.h, atree.ads, atree.adb (Copy_Node_With_Replacement): When
+ copying a parameter list in a call, set properly the First_Named_Formal
+ and Next_Named_Formal fields in the new list and in the enclosing call.
+ (Watch_Node,New_Node_Breakpoint,New_Node_Debugging_Output): Shorten
+ names, to ease typing in the debugger. Improve comments.
+ (Watch_Node): New variable, intended to be set in the debugger.
+ (New_Node_Breakpoint): New do-nothing procedure to set a breakpoint on,
+ called when the watched node is created.
+ (New_Node_Debugging_Output): Combined version of local procedures
+ New_Node_Debugging_Output and New_Entity_Debugging_Output, now global,
+ with a parameter so that conditional breakpoints like "if Node = 12345"
+ work.
+ (New_Node, New_Entity): Call the global New_Node_Debugging_Output.
+ Add Elist1 function
+
+2007-04-06 Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * checks.ads, checks.adb (Selected_Range_Checks): No range check is
+ required for a conversion between two access-to-unconstrained-array
+ types.
+ (Expr_Known_Valid): Validity checks do not apply to discriminants, but
+ to discriminant constraints on discriminant objects. This rule must
+ apply as well to discriminants of protected types in private components.
+ (Null_Exclusion_Static_Checks): If No_Initialization is set on an
+ object of a null-excluding access type then don't require the
+ the object declaration to have an expression and don't emit a
+ run-time check.
+
+2007-04-06 Arnaud Charlet <charlet@adacore.com>
+ Eric Botcazou <botcazou@adacore.com>
+
+ * gnatvsn.ads, comperr.adb (Get_Gnat_build_Type): Renamed Build_Type
+ and made constant.
+
+ * comperr.ads, comperr.adb (Compiler_Abort): Add third parameter
+ Fallback_Loc. Use it as the sloc info when Current_Error_Node doesn't
+ carry any.
+
+ * fe.h (Compiler_Abort): Add third parameter.
+
+ * misc.c (internal_error_function): Build third argument from current
+ input location and pass it to Compiler_Abort.
+
+2007-04-06 Gary Dismukes <dismukes@adacore.com>
+
+ * cstand.adb (Create_Standard): When the target's storage unit size is
+ greater than a byte, set Has_Non_Standard_Rep and Has_Pragma_Pack on
+ Standard_String.
+
+2007-04-06 Nicolas Roche <roche@adacore.com>
+
+ * cstreams.c (__gnat_full_name): Fix issues on VxWorks 6.x for which
+ absolute path can have the following form: device:/a/b. In this case
+ '/' should be inserted between the path and the filename.
+
+2007-04-06 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <botcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Constant>: Associate an external
+ VAR_DECL to a CONST_DECL we make for a public constant when we know the
+ corresponding definition has created the so made visible variable.
+ Handle anonymous access to protected subprogram.
+ (gnat_to_gnu_entity) <E_Variable>: Do not make the underlying type of an
+ object with an address clause volatile. Re-enable original fix.
+ <E_Subprogram_Type>: Set TYPE_REF_CAN_ALIAS_ALL on the reference type
+ too.
+ (gnat_to_gnu_entity) <E_Class_Wide_Type>: Retrieve the TYPE_DECL
+ associated with either the Equivalent or Root type, instead of the
+ naked type node.
+ (gnat_to_gnu_entity): Manually mark the top of the DECL_FIELD_OFFSET
+ subtree for every field of a global record type.
+ (gnat_to_gnu_entity) <E_Record_Subtype>: If the subtype has
+ discriminants, invoke again variable_size on its newly computed sizes.
+
+2007-04-06 Robert Dewar <dewar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * einfo.ads, einfo.adb: (First_Component_Or_Discriminant): New function
+ (Next_Component_Or_Discriminant): New function and procedure
+ (First_Index, First_Literal, Master_Id,
+ Set_First_Index, Set_First_Literal, Set_Master_Id):
+ Add missing Ekind assertions.
+ (Is_Access_Protected_Subprogram_Type): New predicate.
+ (Has_RACW): New entity flag, set on package entities to indicate that
+ the package contains the declaration of a remote accecss-to-classwide
+ type.
+ (E_Return_Statement): This node type has the Finalization_Chain_Entity
+ attribute, in case the result type has controlled parts.
+ (Requires_Overriding): Add this new flag, because "requires
+ overriding" is subtly different from "is abstract" (see AI-228).
+ (Is_Abstract): Split Is_Abstract flag into Is_Abstract_Subprogram and
+ Is_Abstract_Type. Make sure these are called only when appropriate.
+ (Has_Pragma_Unreferenced_Objects): New flag
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): If the left-hand side is
+ class-wide, the tag of the right-hand side must be an exact match, not
+ an ancestor of that of the object on left-hand side.
+ (Move_Activation_Chain): New procedure to create the call to
+ System.Tasking.Stages.Move_Activation_Chain.
+ (Expand_N_Extended_Return_Statement): Generate code to call
+ System.Finalization_Implementation.Move_Final_List at the end of a
+ return statement if the function's result type has controlled parts.
+ Move asserts to Build_In_Place_Formal.
+ (Move_Final_List): New function to create the call statement.
+ (Expand_N_Assignment_Statement): In case of assignment to a class-wide
+ tagged type, replace generation of call to the run-time subprogram
+ CW_Membership by call to Build_CW_Membership.
+ (Expand_N_Return_Statement): Replace generation of call to the run-time
+ subprogram Get_Access_Level by call to Build_Get_Access_Level.
+ (Expand_N_Simple_Function_Return): Replace generation of call to the
+ run-time subprogram Get_Access_Level by call to Build_Get_Access_Level.
+
+ * exp_ch6.ads, exp_ch6.adb (Expand_Call): Use new predicate
+ Is_Access_Protected_Subprogram_Type, to handle both named and anonymous
+ access to protected operations.
+ (Add_Task_Actuals_To_Build_In_Place_Call): New procedure to add the
+ master and chain actual parameters to a build-in-place function call
+ involving tasks.
+ (BIP_Formal_Suffix): Add new enumeration literals to complete the case
+ statement.
+ (Make_Build_In_Place_Call_In_Allocator,
+ Make_Build_In_Place_Call_In_Anonymous_Context,
+ Make_Build_In_Place_Call_In_Assignment,
+ Make_Build_In_Place_Call_In_Object_Declaration): Call
+ Add_Task_Actuals_To_Build_In_Place_Call with the appropriate master.
+ (Expand_Inlined_Call): If the subprogram is a null procedure, or a
+ stubbed procedure with a null body, replace the call with a null
+ statement without using the full inlining machinery, for efficiency
+ and to avoid invalid values in source file table entries.
+
+ * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Add support for
+ renamings of calls to build-in-place functions.
+
+ * rtsfind.adb (RTE_Record_Component_Available): New subprogram that
+ provides the functionality of RTE_Available to record components.
+ (RTU_Entity): The function Entity has been renamed to RTU_Entity
+ to avoid undesired overloading.
+ (Entity): New subprogram that returns the entity for the referened
+ unit. If this unit has not been loaded, it returns Empty.
+ (RE_Activation_Chain_Access, RE_Move_Activation_Chain): New entities.
+ Remove no longer used entities.
+ (RE_Finalizable_Ptr_Ptr, RE_Move_Final_List): New entities.
+ (RE_Type_Specific_Data): New entity.
+ (RE_Move_Any_Value): New entity.
+ (RE_TA_A, RE_Get_Any_Type): New entities.
+ (RE_Access_Level, RE_Dispatch_Table, E_Default_Prim_Op_Count,
+ RE_Prims_Ptr, RE_RC_Offset, RE_Remotely_Callable,
+ RE_DT_Typeinfo_Ptr_Size, RE_Cstring_Ptr, RE_DT_Expanded_Name): Added.
+ (Entity): New subprogram that returns the entity for the referened
+ unit. If this unit has not been loaded, it returns Empty.
+ (RTE): Addition of a new formal that extends the search to the scopes
+ of the record types found in the chain of the package.
+
+ * sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Print
+ "abstract subprograms must be visible" message, whether or not the type
+ is an interface; that is, remove the special case for interface types.
+ (Analyze_Function_Return): Remove error message "return of task objects
+ is not yet implemented" because this is now implemented.
+ (Create_Extra_Formals): Add the extra master and activation chain
+ formals in case the result type has tasks.
+ Remove error message "return of limited controlled objects is not yet
+ implemented".
+ (Create_Extra_Formals): Add the extra caller's finalization list formal
+ in case the result type has controlled parts.
+ (Process_Formals): In case of access formal types there is no need
+ to continue with the analysis of the formals if we already notified
+ errors.
+ (Check_Overriding_Indicator): Add code to check overriding of predefined
+ operators.
+ (Create_Extra_Formals): Prevent creation of useless Extra_Constrained
+ flags for formals that do not require them,.
+ (Enter_Overloaded_Entity): Do not give -gnatwh warning message unless
+ hidden entity is use visible or directly visible.
+ (Analyze_Abstract_Subprogram_Declaration,Analyze_Subprogram_Body,
+ Analyze_Subprogram_Declaration,Analyze_Subprogram_Specification,
+ Check_Conventions,Check_Delayed_Subprogram,Make_Inequality_Operator,
+ New_Overloaded_Entity): Split Is_Abstract flag into
+ Is_Abstract_Subprogram and Is_Abstract_Type.
+
+ * s-finimp.ads, s-finimp.adb (Move_Final_List): New procedure to move
+ a return statement's finalization list to the caller's list, used for
+ build-in-place functions with result type with controlled parts.
+ Remove no longer used entities.
+
+ * s-taskin.ads (Activation_Chain): Remove pragma Volatile. It is no
+ longer needed, because the full type is now limited, and therefore a
+ pass-by-reference type.
+ (Foreign_Task_Level): New constant.
+
+ * s-tassta.ads, s-tassta.adb (Move_Activation_Chain): New procedure to
+ move tasks from the activation chain belonging to a return statement to
+ the one passed in by the caller, and update the master to the one
+ passed in by the caller.
+ (Vulnerable_Complete_Master, Check_Unactivated_Tasks): Check the master
+ of unactivated tasks, so we don't kill the ones that are being returned
+ by a build-in-place function.
+ (Create_Task): Ignore AI-280 for foreign threads.
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * errout.adb (Unwind_Internal_Type): Use predicate
+ Is_Access__Protected_Subprogram_Type.
+
+ * freeze.adb (Size_Known): Use First/Next_Component_Or_Discriminant
+ (Freeze_Entity, packed array case): Do not override explicitly set
+ alignment and size clauses.
+ (Freeze_Entity): An entity declared in an outer scope can be frozen if
+ the enclosing subprogram is a child unit body that acts as a spec.
+ (Freeze_Entity): Use new predicate Is_Access_Protected_Subprogram_Type.
+ (Freeze_Record_Type): New Ada 2005 processing for reverse bit order
+ Remove all code for DSP option
+
+ * layout.adb (Layout_Record_Type): Use First/
+ Next_Component_Or_Discriminant
+ (Layout_Type): Use new predicate Is_Access_Protected_Subprogram_Type,
+ to handle properly the anonymous access case.
+
+ * sem_attr.adb (Build_Access_Object_Type): Use E_Access_Attribute_Type
+ for all access attributes, because overload resolution should work the
+ same for 'Access, 'Unchecked_Access, and 'Unrestricted_Access. This
+ causes the error message for the ambiguous "X'Access = Y'Access" and
+ "X'Unrestricted_Access = Y'Access" and so forth to match.
+ (Resolve_Attribute, case 'Access): Remove use of Original_Access_Type,
+ now that anonymous access to protected operations have their own kind.
+ (Resolve_Attribute): In case of dispatching call check the violation of
+ restriction No_Dispatching_Calls.
+ (Check_Array_Type): Check new -gnatyA array index style option
+
+ * sem_ch3.ads, sem_ch3.adb (Derived_Type_Declaration): Reject an
+ attempt to derive from a synchronized tagged type.
+ (Analyze_Type_Declaration): If there is a incomplete tagged view of the
+ type, inherit the class-wide type already created, because it may
+ already have been used in a self-referential anonymous access component.
+ (Mentions_T): Recognize self-referential anonymous access components
+ that use (a subtype of) the class-wide type of the enclosing type.
+ (Build_Derived_Record_Type): Add earlier setting of Is_Tagged_Type. Pass
+ Derived_Type for Prev formal on call to
+ Check_Anonymous_Access_Components rather than Empty.
+ (Make_Incomplete_Type_Declaration): Add test for case where the type has
+ a record extension in deciding whether to create a class-wide type,
+ rather than just checking Tagged_Present.
+ (Replace_Anonymous_Access_To_Protected_Subprogram): Procedure applies
+ to stand-alone object declarations as well as component declarations.
+ (Array_Type_Declaration): Initialize Packed_Array_Type to Empty, to
+ prevent accidental overwriting when enclosing package appears in
+ a limited_with_clause.
+ (Array_Type_Declaration): If the component type is an anonymous access,
+ the associated_node for the itype is the type declaration itself.
+ (Add_Interface_Tag_Components): Modified to support concurrent
+ types with abstract interfaces.
+ (Check_Abstract_Interfaces): New subprogram that verifies the ARM
+ rules 3.9.4 (15/2), 9.1 (9.d/2) and 9.4 (11.d/2).
+ (Build_Derived_Record_Type): Add call to Analyze_Interface_Declaration
+ to complete the decoration of synchronized interface types. Add also
+ a call to Check_Abstract_Interfaces to verify the ARM rules.
+ (Derive_Interface_Subprograms): Modified to support concurrent types
+ with abstract interfaces.
+ (Analyze_Subtype_Indication): Resolve the range with the given subtype
+ mark, rather than delaying the full resolution depending on context.
+ (Analyze_Component_Declaration,Analyze_Interface_Declaration,
+ Analyze_Object_Declaration,Analyze_Subtype_Declaration,
+ Array_Type_Declaration,Build_Derived_Record_Type,
+ Build_Discriminated_Subtype,Check_Abstract_Overriding,Check_Completion,
+ Derive_Interface_Subprograms,Derive_Subprogram,Make_Class_Wide_Type,
+ Process_Full_View,Record_Type_Declaration): Split Is_Abstract flag into
+ Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are
+ called only when appropriate.
+ (Copy_And_Swap): Copy Has_Unreferenced_Objects flag from full type
+ to private type.
+ (Analyze_Subtype_Declaration): For an access subtype declaration, create
+ an itype reference for the anonymous designated subtype, to prevent
+ scope anonmalies in gigi.
+ (Build_Itype_Reference): New utility, to simplify construction of such
+ references.
+
+2007-04-06 Vincent Celier <celier@adacore.com>
+
+ * errutil.adb (Initialize): Initialize warnings table, if all warnings
+ are suppressed, supply an initial dummy entry covering all possible
+ source locations.
+
+ * make.adb (Scan_Make_Arg): Reject options that should start with "--"
+ and start with only one, such as "-RTS=none".
+ (Collect_Arguments): Do not check for sources outside of projects.
+ Do not collect arguments if project is externally built.
+ (Compile_Sources): Do nothing, not even check if the source is up to
+ date, if its project is externally built.
+ (Compile): When compiling a predefined source, add -gnatpg
+ as the second switch, after -c.
+ (Compile_Sources): Allow compilation of Annex J renames without -a
+ (Is_In_Object_Directory): Check if the ALI file is in the object
+ even if there is no project extension.
+ (Create_Binder_Mapping_File): Only put a unit in the mapping file for
+ gnatbind if the ALI file effectively exists.
+ (Initialize): Add the directory where gnatmake is invoked in front of
+ the path if it is invoked from a bin directory, even without directory
+ information, so that the correct GNAT tools will be used when spawned
+ without directory information.
+
+ * makeusg.adb: Change switch -S to -eS
+ Add lines for new switches -we, -wn and -ws
+ Add line for new switch -p
+
+ * prj-proc.adb (Process): Set Success to False when Warning_Mode is
+ Treat_As_Error and there are warnings.
+
+ * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Do not skip
+ -gnatww Change gnatmake switch -S to -eS
+ (Scan_Make_Switches): Code reorganisation. Process separately multi
+ character switches and single character switches.
+ (Scan_Make_Switches): New Boolean out parameter Success. Set Success to
+ False when switch is not recognized by gnatmake.
+ (Scan_Make_Switches): Set Setup_Projects True when -p or
+ --create-missing-dirs is specified.
+
+ * fname.adb (Is_Predefined_File_Name): Return True for annex J
+ renamings Calendar, Machine_Code, Unchecked_Conversion and
+ Unchecked_Deallocation only when Renamings_Included is True.
+
+ * par.adb: Allow library units Calendar, Machine_Code,
+ Unchecked_Conversion and Unchecked_Deallocation to be recompiled even
+ when -gnatg is not specified.
+ (P_Interface_Type_Definition): Remove the formal Is_Synchronized because
+ there is no need to generate always a record_definition_node in case
+ of synchronized interface types.
+ (SIS_Entry_Active): Initialize global variable to False
+ (P_Null_Exclusion): For AI-447: Add parameter Allow_Anonymous_In_95 to
+ indicate cases where AI-447 says "not null" is legal.
+
+ * makeutl.ads, makeutil.adb (Executable_Prefix_Path): New function
+
+ * makegpr.adb (Check_Compilation_Needed): Take into account dependency
+ files with with several lines starting with the object fileb name.
+ (Scan_Arg): Set Setup_Projects True when -p or --create-missing-dirs
+ is specified.
+ (Initialize): Add the directory where gprmake is invoked in front of the
+ path, if it is invoked from a bin directory or with directory
+ information, so that the correct GNAT tools will be used when invoked
+ directly.
+ (Check_Compilation_Needed): Process correctly backslashes on Windows.
+
+ * vms_data.ads: Update switches/qualifiers
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * exp_aggr.adb:
+ If the array component is a discriminated record, the array aggregate
+ is non-static even if the component is given by an aggregate with
+ static components.
+ (Expand_Record_Aggregate): Use First/Next_Component_Or_Discriminant
+ (Convert_Aggr_In_Allocator): If the allocator is for an access
+ discriminant and the type is controlled. do not place on a finalization
+ list at this point. The proper list will be determined from the
+ enclosing object.
+ (Build_Record_Aggr_Code): If aggregate has box-initialized components,
+ initialize record controller if needed, before the components, to ensure
+ that they are properly finalized.
+ (Build_Record_Aggr_Code): For the case of an array component that has a
+ corresponding array aggregate in the record aggregate, perform sliding
+ if required.
+
+2007-04-06 Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch13.adb (Expand_External_Tag_Definition): Replace call to the
+ run-time subprogram Set_External_Tag by call to Build_Set_External_Tag.
+
+ * exp_ch4.adb (Expand_Allocator_Expression): Don't perform a run-time
+ accessibility on class-wide allocators if the allocator occurs at the
+ same scope level as the allocator's type. The check is guaranteed to
+ succeed in that case, even when the expression originates from a
+ parameter of the containing subprogram.
+ (Expand_N_Op_Eq): Do nothing in case of dispatching call if compiling
+ under No_Dispatching_Calls restriction. During the semantic analysis
+ we already notified such violation.
+ (Tagged_Membership): Constant folding. There is no need to check
+ the tag at run-time if the type of the right operand is non
+ class-wide abstract.
+ Replace call to Is_Ancestor by call to Is_Parent
+ to support concurrent types with interface types.
+ (Expand_N_Allocator): Add an assertion associated with the generation
+ of the master_id.
+ (Expand_N_Slice): Do not enable range check to nodes associated
+ with the frontend expansion of the dispatch table.
+ (Is_Local_Access_Discriminant): Subsidiary function to
+ Expand_N_Allocator.
+ (Tagged_Membership): Replace generation of call to the run-time
+ subprogram CW_Membership by call to Build_CW_Membership.
+ (Expand_Allocator_Expression): Replace generation of call to the
+ run-time subprogram Get_Access_Level by call to Build_Get_Access_Level.
+
+ * exp_disp.ads, exp_disp.adb (Make_DT): Code reorganization to
+ initialize most the TSD components by means of an aggregate.
+ Modify the declaration of the object containing the TSD
+ because we now expand code that has a higher level of abstraction.
+ The TSD has a discriminant containing the Inheritance Depth Level,
+ value that is used in the membership test but also to fix the size
+ of the table of ancestors.
+ (Expand_Interface_Conversion): Insert function body at the closest place
+ to the conversion expression, to prevent access-before-elaboration
+ errors in the backend.
+ Code improved to reduce the size of the dispatch table if
+ compiling under restriction No_Dispatching_Calls plus code cleanup.
+ Code reorganization plus removal of calls to Set_Num_Prim_Ops
+ (Make_Secondary_DT): Remove call to Set_Num_Prim_Ops.
+ (Expand_Dispatching_Call): Minor code reorganization plus addition of
+ code to return immediately if compiling under No_Dispatching_Calls
+ restriction.
+ (Set_All_DT_Position): Remove code associated with the old CPP pragmas.
+ CPP_Virtual and CPP_Vtable are no longer supported.
+ (Expand_Interface_Conversion): Add missing support for interface type
+ derivations.
+ (Expand_Interface_Actuals): Replace calls to Is_Ancestor by calls to
+ Is_Parent to support concurrent types with interfaces.
+ (Init_Predefined_Interface_Primitives): Removed.
+ (Make_Secondary_DT): Modified to support concurrent record types.
+ (Set_All_DT_Position): Modified to support concurrent record types.
+ (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entries associated
+ with Get_External_Tag, Inherit_TSD, Set_External_Tag.
+ (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entry associated
+ with CW_Membership.
+ (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entries associated
+ with Get_Access_Level, Get_Predefined_Prim_Op_Address,
+ Get_Prim_Op_Address Get_RC_Offset, Get_Remotely_Callable, Inherit_DT,
+ Set_Access_Level, Set_Expanded_Name, Set_Predefined_Prim_Op_Address,
+ Set_Prim_Op_Address, Set_RC_Offset, Set_Remotely_Callable, Set_TSD.
+ (Expand_Dispatching_Call): Replace generation of call to the run-time
+ subprograms Get_Predefined_Prim_Op_Address and Get_Prim_Op_Address by
+ calls to Build_Get_Predefined_Prim_Op_Address, and Build_Get_Prim_Op_
+ Address.
+ (Fill_DT_Entry, Fill_Secondary_DT_Entry): Replace generation of call to
+ the run-time subprograms Set_Predefined_Prim_Op_Address and Set_Prim_
+ Op_Address by calls to Build_Set_Predefined_Prim_Op_Address, and
+ Build_Set_Prim_Op_Address.
+ (Get_Remotely_Callable): Subprogram removed.
+ (Init_Predefined_Interface_Primitives): Replace generation of call to
+ the run-time subprograms Inherit_DT by call to Build_Inherit_Predefined_
+ Prims.
+
+ * sem_elab.adb (Set_Elaboration_Constraint): Replace the call to
+ First (Parameter_Associations ()) with the call to First_Actual that
+ returns an actual parameter expression for both named and positional
+ associations.
+
+ * sem_disp.adb (Check_Dispatching_Call): In case of dispatching call
+ check violation of restriction No_Dispatching_Calls.
+ (Check_Controlling_Type): A formal of a tagged incomplete type is a
+ controlling argument.
+
+ * exp_util.ads, exp_util.adb (Type_May_Have_Bit_Aligned_Components): Use
+ First/Next_Component_Or_Discriminant
+ (Insert_Actions): Add entries for new N_Push and N_Pop nodes
+ (Find_Implemented_Interface): Removed. All the calls to this subprogram
+ specify Any_Limited_Interface, and this functionality is already
+ provided by the function Has_Abstract_Interfaces.
+ (Find_Interface, Find_Interface_Tag, Find_Interface_ADT): Modified to
+ support concurrent types implementing interfaces.
+ (Find_Implemented_Interface): Removed. All the calls to this subprogram
+ specify kind Any_Limited_Interface, and this functionality is already
+ provided by the function Has_Abstract_Interfaces.
+ (Remove_Side_Effects): replace Controlled_Type by
+ CW_Or_Controlled_Type whenever the issue is related to
+ using or not the secondary stack.
+
+ * par-ch12.adb (P_Formal_Type_Definition): Update calls to
+ P_Interface_Type_Definition to fulfill the new interface (the formal
+ Is_Synchronized is no longer required).
+
+ * Make-lang.in (GNAT_ADA_OBJS): Addition of exp_atag.o
+ Update dependencies.
+
+ * exp_atag.ads, exp_atag.adb: New file
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+
+ * exp_ch7.ads, exp_ch7.adb (Find_Final_List): If the access type is
+ anonymous, use finalization list of enclosing dynamic scope.
+ (Expand_N_Package_Declaration): For a library package declaration
+ without a corresponding body, generate RACW subprogram bodies in the
+ spec (just as we do for the task activation call).
+ (Convert_View): Split Is_Abstract flag into Is_Abstract_Subprogram and
+ Is_Abstract_Type. Make sure these are called only when appropriate.
+ Remove all code for DSP option
+ (CW_Or_Controlled_Type): new subprogram.
+
+2007-04-06 Eric Botcazou <botcazou@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch9.ads, exp_ch9.adb (Family_Offset): Add new 'Cap' boolean
+ parameter. If it is set to true, return a result capped according to
+ the global upper bound for the index of an entry family.
+ (Family_Size): Add new 'Cap' boolean parameter. Pass it to Family_Offset
+ (Build_Find_Body_Index): Adjust for above change.
+ (Entry_Index_Expression): Likewise.
+ (Is_Potentially_Large_Family): New function extracted from...
+ (Collect_Entry_Families): ...here. Call it to detect whether the family
+ is potentially large.
+ (Build_Entry_Count_Expression): If the family is potentially large, call
+ Family_Size with 'Cap' set to true.
+ (Expand_N_Protected_Type_Declaration, Expand_N_Protected_Body): Generate
+ a protected version of an operation declared in the private part of
+ a protected object, because they may be invoked through a callback.
+ (Set_Privals): If the type of a private component is an anonymous access
+ type, do not create a new itype for each protected body.
+ If the body of a protected operation creates
+ controlled types (including allocators for class-widetypes), the
+ body of the corresponding protected subprogram must include a
+ finalization list.
+ (Build_Activation_Chain_Entity): Build the chain entity for extended
+ return statements.
+ (Type_Conformant_Parameters): Use common predicate Conforming_Types
+ to determine whether operation overrides an inherited primitive.
+ (Build_Wrapper_Spec): Add code to examine the parents while looking
+ for a possible overriding candidate.
+ (Build_Simple_Entry_Call): Set No_Initialization on the object used to
+ hold an actual parameter value since its initialization is separated
+ from the the declaration. Prevents errors on null-excluding access
+ formals.
+
+2007-04-06 Thomas Quinot <quinot@adacore.com>
+ Pablo Oliveira <oliveira@adacore.com>
+
+ * exp_dist.ads, exp_dist.adb (Build_To_Any_Call, Build_From_Any_Call):
+ Do an Unchecked_Conversion to handle the passage from the Underlying
+ Type to the Base Type when calling Build_To_Any_Call and
+ Build_From_Any_Call.
+ (Build_Actual_Object_Declaration): Set Object's Ekind to E_Variable or
+ E_Constant, depending upon Variable formal.
+ (GARLIC_Support.Build_Subprogram_Receiving_Stubs,
+ PolyORB_Support.Build_Subprogram_Receiving_Stubs): For a formal
+ parameter that requires an extra constrained parameter, declare
+ temporary for actual as a variable, not a constant.
+ (Add_RACW_Primitive_Declarations_And_Bodies): Generate bodies only when
+ the unit being compiled is the one that contains the stub type.
+ Change primitive operation name for the RACW associated with a RAS
+ from Call to _Call so it cannot clash with any legal identifier.
+ (PolyORB_Support.Add_RACW_Write_Attribute): Remove unused constant
+ Is_RAS.
+ (Append_RACW_Bodies): New subprogram.
+ (Expand_Receiving_Stubs_Bodies): Pass a 'Stmts' list to
+ Add_Receiving_Stubs_To_Declarations functions.
+ When expanding a package body, this list correspond to the
+ statements in the HSS at the end of the pacakge.
+ When expanding a package spec, this list correspond to the
+ spec declarations.
+ (Add_Receiving_Stubs_To_Declarations): Append the function
+ registering the receiving stubs at the end of the 'Stmts' list.
+ (RCI_Package_Locator): Pass the new Version generic formal when
+ instantiating a RCI_Locator package.
+ (Build_From_Any_Function): To compute the High bound for an
+ unconstrained array actual, we add the Low bound with the length.
+ Thus we must convert the low bound and the length to an appropriate
+ type before doing the sum.
+ (Build_Subprogram_Receiving_Stubs, PolyORB):
+ * Retrieve the extra formals parameters at the
+ end of the parameter stream.
+ * Use Move_Any_Value to write back out parameters
+ after executing the request as it is more efficient
+ than Copy_Any_Value.
+ * Build the any containing Extra Formals with the
+ appropriate typecode.
+ (PolyORB_Support.Helpers.Append_Record_Traversal): Nothing to do for an
+ empty Component_List.
+ (Build_Actual_Object_Declaration): New subprogram. Build and insert into
+ the tree the declaration for an object that serves as actual parameter
+ in server-side stubs.
+ (GARLIC_Support.Build_Subprogram_Receiving_Stubs,
+ PolyORB_Support.Build_Subprogram_Receiving_Stubs):
+ Use Build_Actual_Object_Declaration to prepare the actuals.
+ (Add_Parameter_To_NVList): Set the parameter mode to In for
+ Extra Constrained Parameters.
+ (Build_General_Calling_Stubs): Set the parameter type to boolean for
+ Extra Constrained parameters.
+ (Build_To_Any_Function, Build_From_Any_Function,
+ Built_TypeCode_Function): When Typ is implicit, call the correct
+ function with the first not implicit parent type.
+ (TC_Rec_Add_Process_Element, FA_Rec_Add_Process_Element,
+ (FA_Ary_Add_Process_Element): When Datum is an Any, we cannot infer the
+ typecode from the Etype. Therefore we retrieve the correct typecode
+ with a call to Get_Any_Type.
+ (Copy_Specification): Do controlling formal type substitution based on
+ Is_Controlling_Formal flag, instead of caller-provided object type.
+ (Build_Subprogram_Calling_Stubs): When retrieveing the original spec for
+ a RACW primitive operation, we might get a subprogram declaration for an
+ ancestor of the RACW designated type (not for the designated type
+ itself), in the case where this operation is inherited. In this case we
+ have no easy means of determining the original tagged type for which
+ the primitive was declared, so instead we now rely on
+ Copy_Specification to use the Is_Controlling_Formal flag to determine
+ which formals require type substitution.
+
+2007-04-06 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_intr.adb (Expand_Exception_Call): Calls to subprograms in
+ GNAT.Current_Exception are not allowed if pragma Restrictions
+ (No_Exception_Propagation) is set and in any case make the associated
+ handler unsuitable as a target for a local raise statement.
+ (Expand_Dispatching_Constructor_Call): Replace generation of call to the
+ run-time subprogram CW_Membership by call to Build_CW_Membership.
+ (Expand_Dispatching_Constructor_Call): If the dispatching tag is given
+ by a function call, a temporary must be created before expanding the
+ Constructor_Call itself, to prevent out-of-order elaboration in the
+ back-end when stack checking is enabled..
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_pakd.adb (Expand_Packed_Boolean_Operator): The bounds of the
+ result are the bounds of the left operand, not the right.
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_strm.adb
+ (Build_Mutable_Record_Write_Procedure): For an Unchecked_Union type, use
+ discriminant defaults.
+ (Build_Record_Or_Elementary_Output_Procedure): Ditto.
+ (Make_Component_List_Attributes): Ditto.
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): In semantics-only mode treat
+ an association with a box as providing a value even though the
+ initialization procedure for the type is not available.
+ (Resolve_Record_Aggregate): Check that a choice of an association with a
+ box corresponds to a component of the type.
+ (Resolve_Record_Aggregate): Split Is_Abstract flag into
+ Is_Abstract_Subprogram and Is_Abstract_Type.
+
+ * exp_tss.adb (Base_Init_Proc): Use Is_Type instead of Type_Kind for
+ assert.
+
+ * inline.adb (Add_Inlined_Body): Split Is_Abstract flag into
+ Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are
+ called only when appropriate.
+
+2007-04-06 Olivier Hainque <hainque@adacore.com>
+
+ * g-alleve.ads (Low Level Vector type definitions): Map each to the
+ associated vector view instead of all to the unsigned char view.
+
+ * g-altcon.adb (Generic_Conversions): New internal generic package,
+ offering facilities for all the Vector/View conversion routines
+ implemented by this unit.
+ (To_View/To_Vector - all versions): Reimplemented in a systematic
+ manner, using the internal Generic_Conversions facilities.
+
+2007-04-06 Pascal Obry <obry@adacore.com>
+
+ * g-arrspl.adb (Free) [Element_Access]: New routine to free the source
+ string.
+ (Create): Free the source string before storing the new one.
+
+2007-04-06 Vincent Celier <celier@adacore.com>
+
+ * g-debpoo.adb (Validity): New package with a complete new
+ implementation of subprograms Is_Valid and Set_Valid.
+ (Is_Valid): Move to local package Validity
+ (Set_Valid): Move to local package Validity
+
+2007-04-06 Arnaud Charlet <charlet@adacore.com>
+ Pablo Oliveira <oliveira@adacore.com>
+
+ * g-expect.adb (Get_Command_Output): When expanding the output buffer
+ we must ensure that there is enough place for the new data we are going
+ to copy in.
+
+2007-04-06 Thomas Quinot <quinot@adacore.com>
+
+ * g-md5.ads, g-md5.adb (Digest): Fix off-by-one error in padding
+ computation.
+
+2007-04-06 Jose Ruiz <ruiz@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (B_Start): Add prefix of binder generated file.
+ (Stack_String): Add this String that contains the name of the Stack
+ package in the project file.
+ (Packages_To_Check_By_Stack): Add this list that contains the packages
+ to be checked by gnatstack, which are the naming and the stack packages.
+ (Check_Files): If no .ci files were specified for gnatstack we add all
+ the .ci files belonging to the projects, including binder generated
+ files.
+ (Non_VMS_Usage): Document that gnatstack accept project file switches.
+ (GNATCmd): Update the B_Start variable if we are in a VMS environment.
+ Add gnatstack to the list of commands that use project file related
+ switches, and get the single attribute Switches from the stack package
+ in a project file when calling gnatstack. Parse the -U flag for
+ processing files belonging to all projects in the project tree.
+ Remove all processing for command Setup
+
+ * prj-attr.adb: Add new package Stack with single attribute Switches
+
+ * vms_conv.ads (Command_Type): Add command Stack.
+ Move to body declarations that are only used in the body: types Item_Id,
+ Translation_Type, Item_Ptr, Item and its subtypes.
+
+ * vms_conv.adb: (Initialize): Add data for new command Stack.
+ Add declarations moved from the spec: types Item_Id, Translation_Type,
+ Item_Ptr, Item and its subtypes.
+ (Cargs_Buffer): New table
+ (Cargs): New Boolean global variable
+ (Process_Buffer): New procedure to create arguments
+ (Place): Put character in table Buffer or Cargs_Buffer depending on the
+ value of Cargs.
+ (Process_Argument): Set Cargs when processing qualifiers for GNAT
+ COMPILE
+ (VMS_Conversion): Call Process_Buffer for table Buffer and, if it is not
+ empty, for table Cargs_Buffer.
+ (Initialize): Remove component Setup in Command_List
+
+2007-04-06 Vincent Celier <celier@adacore.com>
+
+ * gprep.adb (Process_Files.Process_One_File): Use full file name when
+ issuing pragma Source_Reference.
+
+2007-04-06 Emmanuel Briot <briot@adacore.com>
+
+ * g-regpat.adb (Parse_Posix_Character_Class): Fix handling of
+ [[:xdigit:]] character class.
+ Also raise an exception when an invalid character class is used.
+
+2007-04-06 Pascal Obry <obry@adacore.com>
+
+ * i-cstrea.ads: (fopen): Add encoding parameter.
+ (freopen): Idem.
+ Change reference from a-sysdep.c to sysdep.c in comment.
+ Update copyright notice.
+ This set of patch add support for the encoding form parameter.
+
+ * mingw32.h (S2WSU): New macro to convert from a string to a
+ wide-string using the UTF-8 encoding. The S2WS macro supports now only
+ standard 8bits encoding.
+ (WS2SU): As above but converting from wide-sring to string.
+ This is needed as it is necessary to have access to both versions in the
+ runtime for the form parameter encoding support.
+ This set of patch add support for the encoding form parameter.
+ (S2WS): Improve implementation to handle cases where the filename is not
+ UTF-8 encoded. In this case we default to using the current code page
+ for the conversion.
+
+ * s-crtl-vms64.ads, s-crtl.ads (Filename_Encoding): New enumeration
+ type (UTF8, ASCII_8bits). This enumeration has a rep clause to match
+ the constants defined in adaint.h.
+ (fopen): Add encoding parameter.
+ (freopen): Idem.
+
+ * s-ficobl.ads (AFCB): Add Encoding field to record the filename
+ encoding. This is needed for the Reset routine (freopen low level-call).
+
+ * s-fileio.adb (Open): Decode encoding form parameter and set the
+ corresponding encoding value into AFCB structure.
+ (Reset): Pass the encoding value to freopen.
+ (Close): Move the call to Lock_Task to the beginning of the procedure.
+
+2007-04-06 Geert Bosch <bosch@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * i-fortra.ads: Add Double_Complex type.
+
+ * impunit.adb: (Is_Known_Unit): New function
+ Add Gnat.Byte_Swapping
+ Add GNAT.SHA1
+ Add new Ada 2005 units
+ Ada.Numerics.Generic_Complex_Arrays, Ada.Numerics.Generic_Real_Arrays,
+ Ada.Numerics.Complex_Arrays, Ada.Numerics.Real_Arrays,
+ Ada.Numerics.Long_Complex_Arrays, Ada.Numerics.Long_Long_Complex_Arrays,
+ Ada.Numerics.Long_Long_Real_Arrays and Ada.Numerics.Long_Real_Arrays
+
+ * impunit.ads (Is_Known_Unit): New function
+
+ * a-ngcoar.adb, a-ngcoar.ads, a-ngrear.adb,
+ a-ngrear.ads, a-nlcoar.ads, a-nllcar.ads, a-nllrar.ads, a-nlrear.ads,
+ a-nucoar.ads, a-nurear.ads, g-bytswa.adb, g-bytswa-x86.adb,
+ g-bytswa.ads, g-sha1.adb, g-sha1.ads, i-forbla.ads, i-forlap.ads,
+ s-gearop.adb, s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb,
+ s-gecola.ads, s-gerebl.adb, s-gerebl.ads, s-gerela.adb, s-gerela.ads:
+ New files.
+
+ * Makefile.rtl: Add g-bytswa, g-sha1, a-fzteio and a-izteio
+
+ * a-fzteio.ads, a-izteio.ads: New Ada 2005 run-time units.
+
+2007-04-06 Eric Botcazou <botcazou@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * init.c: Reuse PA/HP-UX code for IA-64/HP-UX, except
+ __gnat_adjust_context_for_raise.
+ (__gnat_init_float): on x86 vxworks 5.x and 6.x, we use the same
+ implementation of floating point operations as native x86 targets.
+ So the FPU should be initialized in the same way using finit. Fix
+ floating point operations accuracy issues.
+ (__gnat_install_handler, case FreeBSD): Use proper type for sa_sigaction
+ member in struct sigaction, so as to avoid warning for incompatible
+ pointer types.
+
+2007-04-06 Serguei Rybin <rybin@adacore.com>
+
+ * lib.ads, lib.adb (Tree_Read): Release the memory occupied by the
+ switches from previously loaded tree
+
+2007-04-06 Thomas Quinot <quinot@adacore.com>
+
+ * lib-writ.adb (Write_With_Lines): Factor duplicated code between the
+ cases where a given dependency has a body or not.
+ (Write_With_File_Names): New subprogram, common code for the two cases
+ above.
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * lib-xref.ads, lib-xref.adb:
+ Modify the loop that collects type references, to include interface
+ types that the type implements. List each of these interfaces when
+ building the entry for the type.
+ (Generate_Definition): Initialize component Def and Typ of new entry
+ in table Xrefs, to avoid to have these components unitialized.
+ (Output_References): Split Is_Abstract flag into
+ Is_Abstract_Subprogram and Is_Abstract_Type.
+ (Generate_Reference): Add barrier to do not generate the warning
+ associated with Ada 2005 entities with entities generated by the
+ expander.
+
+2007-04-06 Robert Dewar <dewar@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Add -gnatyl documentation
+ Update 'Exception Handling Control' chapter which was outdated.
+ Minor fix to documentation of -gnatwq
+ Remove section "Adapting the Run Time to a New C++ Compiler" because
+ it is now obsolete.
+ Add passage on need of -nostart-files in some non-ada-main cases.
+ Document new switch -eS (/STANDARD_OUTPUT_FOR_COMMANDS) for gnatmake
+ Update documentation about Interfacing with C++
+ Add documentation for new gnatmake switch -p
+ Add missing protocol part in URLs.
+ Document -gnatyA
+ Document pragma Compile_Time_Error
+ Add documentation for Object_Size indicating that stand alone
+ objects can have a larger size in some cases.
+ Add node for GNAT.Byte_Swapping, GNAT.SHA1
+ Update reference to the Ravenscar profile.
+ Document pragma Unreferenced_Objects
+
+ * gnat-style.texi: Fix typo
+
+2007-04-06 Vincent Celier <celier@adacore.com>
+
+ * mlib.adb (Building_Library): Only output "building a library..." in
+ verbose mode
+
+ * mlib-prj.adb (Build_Library): Only output lists of object and ALI
+ files in verbose mode.
+
+ * mlib-utl.adb (Ar): Only output the first object files when not in
+ verbose mode.
+ (Gcc): Do not display all the object files if not in verbose mode, only
+ the first one.
+
+2007-04-06 Robert Dewar <dewar@adacore.com>
+
+ * namet.ads, namet.adb (wn): Improve this debugging routine. Calling
+ it no longer destroys the contents of Name_Buffer or Name_Len and
+ non-standard and invalid names are handled better.
+ (Get_Decoded_Name_String): Improve performance by using
+ Name_Has_No_Encodings flag in the name table.
+ (Is_Valid_Name): New function to determine whether a Name_Id is valid.
+ Used for debugging printouts.
+
+2007-04-06 Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * par-ch3.adb: (P_Type_Declaration): Set Type_Token_Location
+ (P_Interface_Type_Definition): Remove the formal Is_Synchronized because
+ there is no need to generate always a record_definition_node in case
+ of synchronized interface types.
+ (P_Type_Declaration): Update calls to P_Interface_Type_Definition.
+ (P_Null_Exclusion): For AI-447: Remove warnings about "not null" being
+ illegal in Ada 95, in cases where it is legal. Change the warnings to
+ errors in other cases. Don't give the error unless the "not null"
+ parses properly. Correct the source position at which the error occurs.
+ (P_Known_Discriminant_Part_Opt): Pass Allow_Anonymous_In_95 => True to
+ P_Null_Exclusion, to suppress "not null" warnings.
+ (P_Identifier_Declarations): Code cleanup. Removed unrequired label and
+ associated goto statements.
+
+ * par-endh.adb (Pop_End_Context): Allow more flexibility in placement
+ of END RECORD
+
+ * scans.ads (Type_Token_Location): New flag
+
+ * par-ch6.adb (P_Mode): Check specifically for case of IN ACCESS
+ (P_Formal_Part): Pass Allow_Anonymous_In_95 => True to
+ P_Null_Exclusion, to suppress "not null" warnings.
+
+2007-04-06 Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * par-prag.adb (Prag): Add dummy entry for pragma Compile_Time_Error
+ (Extensions_Allowed): No longer sets Ada_Version
+ Entry for pragma Unreferenced_Objects
+
+ * sem_prag.adb (Analyze_Pragma, case Priority): Force with of
+ system.tasking if pragma priority used in a procedure
+ (Analyze_Pragma, case Warning): Handle dot warning switches
+ (Process_Compile_Time_Warning_Or_Error): New procedure
+ (Analyze_Pragma): Add processing for Compile_Time_Error
+ Add support for extra arguments External_Name and Link_Name.
+ Remove code associated with pragmas CPP_Virtual and CPP_Vtable.
+ (Process_Import_Or_Interface): Add support for the use of pragma Import
+ with tagged types.
+ (Extensions_Allowed): No longer affects Ada_Version
+ (Analyze_Pragma): Split Is_Abstract flag into Is_Abstract_Subprogram and
+ Is_Abstract_Type. Make sure these are called only when appropriate.
+ Add processing for pragma Unreferenced_Objects
+
+ * snames.h, snames.ads, snames.adb: Add entry for pragma
+ Compile_Time_Error
+ Add new standard name Minimum_Binder_Options for new gprmake
+ Add new standard names for gprmake: Archive_Suffix,
+ Library_Auto_Init_Supported, Library_Major_Minor_Id_Supported,
+ Library_Support, Library_Version_Options,
+ Shared_Library_Minimum_Options,
+ Shared_Library_Prefix, Shared_Library_Suffix, Symbolic_Link_Supported.
+ Change Name_Call to Name_uCall so that it cannot clash with a legal
+ subprogram name.
+ Add new standard names Mapping_Spec_Suffix and Mapping_Body_Suffix
+ Append C_Plus_Plus to convention identifiers as synonym for CPP
+ Add new standard names Stack and Builder_Switches
+ Add new standard names: Compiler_Minimum_Options, Global_Config_File,
+ Library_Builder, Local_Config_File, Objects_Path, Objects_Path_File,
+ Run_Path_Option, Toolchain_Version.
+ Entry for pragma Unreferenced_Objects
+
+ * switch-c.adb (Scan_Front_End_Switches): Store correct -gnateD
+ switches, without repetition of "eD". Make sure that last character of
+ -gnatep= switch is not taken as -gnat switch character.
+ Complete rewrite of circuit for handling saving compilation options
+ Occasioned by need to support dot switchs for -gnatw, but cleans up
+ things in general.
+ -gnatX does not affect Ada_Version
+ Include -gnatyA in -gnatg style switches
+
+ * sem_warn.ads, sem_warn.adb (Output_Unreferenced_Messages): Exclude
+ warnings on return objects.
+ (Warn_On_Useless_Assignment): Exclude warnings on return objects
+ (Set_Dot_Warning_Switch): New procedure
+ (Check_References): Add missing case of test for
+ Has_Pragma_Unreferenced_Objects
+ (Output_Unreferenced_Messages): Implement effect of new pragma
+ Unreferenced_Objects, remove special casing of limited controlled
+ variables.
+
+2007-04-06 Vincent Celier <celier@adacore.com>
+
+ * prj-ext.adb (Initialize_Project_Path): New procedure that initialize
+ the default project path, initially done during elaboration of the
+ package.
+ If the prefix returned by Sdefault is null, get the prefix from a call
+ to Executable_Prefix_Path.
+ (Project_Path): Call Initialize_Project_Path if Current_Project_Path is
+ null.
+
+ * prj-nmsc.adb (Get_Path_Names_And_Record_Sources): Use the non
+ canonical directory name to open the directory from which files are
+ retrieved.
+ (Record_Other_Sources): Idem.
+ (Locate_Directory): Add the possibility to create automatically missing
+ directories when Setup_Projects is True.
+ Call Locate_Directory so that the directory will be created when
+ Setup_Projects is True, for object dir, library dir, library ALI dir,
+ library source copy dir and exec dir.
+
+ * prj-pp.adb (Max_Line_Length): Set to 255 for compatibility with older
+ versions of GNAT.
+
+2007-04-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.ads, sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order):
+ Use First/Next_Component_Or_Discriminant
+ (Analyze_Record_Representation_Clause):
+ Use First/Next_Component_Or_Discriminant
+ (Check_Component_Overlap): Use First/Next_Component_Or_Discriminant
+ (Analyze_Attribute_Definition_Clause, case Value_Size): Reject
+ definition if type is unconstrained.
+ (Adjust_Record_For_Reverse_Bit_Order): New procedure
+ (Analyze_Attribute_Definition_Clause): Split Is_Abstract flag into
+ Is_Abstract_Subprogram and Is_Abstract_Type.
+ (Adjust_Record_For_Reverse_Bit_Order): New procedure
+
+ * repinfo.adb (List_Record_Info): Use First/
+ Next_Component_Or_Discriminant.
+
+ * style.ads, styleg-c.adb, styleg-c.ads (Check_Array_Attribute_Index):
+ New procedure.
+
+ * stylesw.ads, stylesw.adb: Recognize new -gnatyA style switch
+ Include -gnatyA in default switches
+
+ * opt.ads: (Warn_On_Non_Local_Exception): New flag
+ (Warn_On_Reverse_Bit_Order): New flag
+ (Extensions_Allowed): Update the documentation.
+ (Warn_On_Questionable_Missing_Parens): Now on by default
+
+ * usage.adb: Add documentation of -gnatw.x/X switches
+ Document new -gnatyA style switch
+ -gnatq warnings are on by default
+
+2007-04-06 Ed Falis <falis@adacore.com>
+
+ * s-carun8.adb, s-carsi8.adb (Compare_Array_?8): modify so that last
+ full word is no longer compared twice.
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Install_Limited_Context_Clauses.
+ Expand_Limited_With_Clause): Use a new copy of selector name in the
+ call to Make_With_Clause. This fixes the tree structure for ASIS
+ purposes. Nothing is changed in the compiler behaviour.
+ (Process_Body_Clauses): Handle properly use clauses whose prefix is
+ a package renaming.
+ (Install_Limited_With_Clauses): Do not install non-limited view when it
+ is still incomplete.
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch12.adb (Check_Generic_Actuals): Use first subtype of actual
+ when capturing size information, instead of base type, which for a
+ formal array type will be the unconstrained type.
+ (Analyze_Formal_Object_Declaration): Add check for illegal default
+ expressions for a formal in object of a limited type.
+ (Instantiate_Object): Ditto.
+ (Check_Formal_Package_Instance): Skip entities that are formal objects,
+ because they were defaulted in the formal package and no check applies
+ to them.
+ (Check_Formal_Package_Instance): Extend conformance check to other
+ discrete types beyond Integer.
+ (Process_Default): Copy directly the unmatched formal. A generic copy
+ has already been performed in Analyze_Formal_Package.
+ (Analyze_Associations): If a formal subprogram has no match, check for
+ partial parametrization before looking for a default, to prevent
+ spurious errors.
+ (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation): Do
+ not set the instantiation environment before analyzing the actuals.
+ Fixes regression on 8515-003 with implementation of AI-133.
+ Set_Instance_Env checks whether the generic unit is a predefined
+ unit, in which case the instance must be analyzed with the latest Ada
+ mode. This setting must take place after analysis of the actuals,
+ because the actuals must be analyzed and frozen in the Ada mode extant
+ outside of the current instantiation.
+ (Save_Env, Restore_Env): Preserve and restore the configuration
+ parameters so that predefined units can be compiled in the proper Ada
+ mode.
+ (Analyze_Formal_Object_Declaration,Analyze_Formal_Subprogram,
+ Instantiate_Type): Split Is_Abstract flag into Is_Abstract_Subprogram
+ and Is_Abstract_Type.
+ (Analyze_Formal_Package): For better error recovery, Add exception
+ handler to catch Instantion_Error, which can be raised in
+ Analyze_Associations
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch4.adb (Try_Primitive_Operation): The call is legal if the
+ prefix type is a discriminated subtype of the type of the formal.
+ (Analyze_Allocator): Collect all coextensions regardless of the context.
+ Whether they can be allocated statically is determined in exp_ch4.
+ (Analyze_Selected_Component): If the prefix is a limited view and the
+ non-limited view is available, use the non-limited one.
+ (Operator_Check): For "X'Access = Y'Access" (which is ambiguous, and
+ therefore illegal), suggest a qualified expression rather than a type
+ conversion, because a type conversion would be illegal in this context.
+ (Anayze_Allocator): Trace recursively all nested allocators so that all
+ coextensions are on the corresponding list for the root. Do no mark
+ coextensions if the root allocator is within a declaration for a stack-
+ allocated object, because the access discriminants will be allocated on
+ the stack as well.
+ (Analyze_Call): Remove restriction on calls to limited functions for the
+ cases of generic actuals for formal objects, defaults for formal objects
+ and defaults for record components.
+ (Analyze_Allocator): Before analysis, chain coextensions on the proper
+ element list. Their expansion is delayed until the enclosing allocator
+ is processed and its finalization list constructed.
+ (Try_Primitive_Operation): If the prefix is a concurrent type, looks
+ for an operation with the given name among the primitive operations of
+ the corresponding record type.
+ (Analyze_Selected_Component): If the prefix is a task type that
+ implements an interface, and there is no entry with the given name,
+ check whether there is another primitive operation (e.g. a function)
+ with that name.
+ (Try_Object_Operation, Analyze_One_Call, Try_Indexed_Call): Handle
+ properly the indexing of a function call written in prefix form, where
+ the function returns an array type, and all parameters of the function
+ except the first have defaults.
+ (Analyze_Equality_Op): If this is a call to an implicit inequality, keep
+ the original operands, rather than relocating them, for efficiency and
+ to work properly when an operand is overloaded.
+ (Analyze_Allocator,Operator_Check,Remove_Abstract_Operations): Split
+ Is_Abstract flag into Is_Abstract_Subprogram and Is_Abstract_Type.
+ (Analyze_Selected_Component): If the prefix is a private extension, only
+ scan the visible components, not those of the full view.
+ (Try_Primitive_Operation): If the operation is a procedure, collect all
+ possible interpretations, as for a function, because in the presence of
+ classwide parameters several primitive operations of the type can match
+ the given arguments.
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb (Analyze_Assignment): Reject a right-hand side that is a
+ tag-indeterminate call to an abstract function, when the left-hand side
+ is not classwide.
+ (Analyze_Loop_Statement): Improve detection of infinite loops
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch7.ads, sem_ch7.adb (Inspect_Deferred_Constant_Completion): Move
+ out of Analyze_Package_Declaration, because processing must be applied
+ to package bodies as well, for deferred constants completed by pragmas.
+ (Analyze_Package_Declaration): When the package declaration being
+ analyzed does not require an explicit body, call Check_Completion.
+ (May_Need_Implicit_Body): An implicit body is required when a package
+ spec contains the declaration of a remote access-to-classwide type.
+ (Analyze_Package_Body): If the package contains RACWs, append the
+ pending subprogram bodies generated by exp_dist at the end of the body.
+ (New_Private_Type,Unit_Requires_Body): Split Is_Abstract flag into
+ Is_Abstract_Subprogram and Is_Abstract_Type.
+ (Preserve_Full_Attributes): The full entity list is not an attribute
+ that must be preserved from full to partial view.
+
+ * sem_dist.adb (Add_RAS_Dereference_TSS):
+ Change primitive name to _Call so it cannot clash with any legal
+ identifier, and be special-cased in Check_Completion.
+ Mark the full view of the designated type for the RACW associated with
+ a RAS as Comes_From_Source to get proper view switching when installing
+ private declarations.
+ Provite a placeholder nested package body along with the nested spec
+ to have a place for Append_RACW_Bodies to generate the calling stubs
+ and stream attributes.
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb (Has_Components): If the argument is an incomplete type
+ that is a limited view, check the non-limited view if available.
+ (Undefined): Refine error message for missing with of Text_IO
+ (Find_Expanded_Name): Use Is_Known_Unit for more accurate error message
+ to distinguish real missing with cases.
+ Fix format of all missing with messages
+ (Analyze_Subprogram_Renaming): Emit proper error message on illegal
+ renaming as body when renamed entity is abstract.
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_type.ads, sem_type.adb (Has_Abstract_Interpretation): Make
+ predicate recursive, to handle complex expressions on literals whose
+ spurious ambiguity comes from the abstract interpretation of some
+ subexpression.
+ (Interface_Present_In_Ancestor): Add support to concurrent record
+ types.
+ (Add_One_Interp,Disambiguate): Split Is_Abstract flag into
+ Is_Abstract_Subprogram and Is_Abstract_Type.
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Object_Access_Level): If the object is a
+ dereference of a local object R created as a reference to another
+ object O, use the access level of O.
+ (Matches_Prefixed_View_Profile): Use common predicate Conforming_Types,
+ rather than local Same_Formal_Type, to check whether protected operation
+ overrides an inherited one.
+ (Same_Formal_Type): New predicate, used when matching signatures of
+ overriding synchronized operations, to handle the case when a formal
+ has a type that is a generic actual.
+ (Is_Aliased_View): Replace check on E_Task_Type and E_Protected_Type by
+ predicate Is_Concurrent_Type. This ensures supportin case of subtypes.
+ (Needs_One_Actual): New predicate, for Ada 2005 use, to resolve
+ syntactic ambiguities involving indexing of function calls that return
+ arrays.
+ (Abstract_Interface_List): New subprogram that returns the list of
+ abstract interfaces associated with a concurrent type or a
+ concurrent record type.
+ (Interface_Present_In_Parent): New subprogram used to check if a
+ given type or some of its parents implement a given interface.
+ (Collect_Abstract_Interfaces): Add support for concurrent types
+ with interface types.
+ (Has_Abstract_Interfaces): Add support for concurrent types with
+ interface types.
+ (Is_Parent): New subprogram that determines whether E1 is a parent
+ of E2. For a concurrent type its parent is the first element of its
+ list of interface types; for other types this function provides the
+ same result than Is_Ancestor.
+ (Enclosing_Subprogram): Add test for N_Extended_Return_Statement.
+ (Collect_Synchronized_Interfaces): Removed because the subprogram
+ Collect_Abstract_Interfaces provides this functionality.
+ (Collect_Abstract_Interfaces): Minor update to give support to
+ concurrent types and thus avoid undesired code duplication.
+ (Get_Subprogram_Entity): Handle entry calls.
+ (May_Be_Lvalue): Include actuals that appear as in-out parameters in
+ entry calls.
+ (Enter_Name): Do not give -gnatwh hiding warning for record component
+ entities, they never result in hiding.
+
+2007-04-06 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sinfo.ads, sinfo.adb (Coextensions): New element list for allocators,
+ to chain nested components that are allocators for access discriminants
+ of the enclosing object.
+ Add N_Push and N_Pop nodes
+ New field Exception_Label added
+ (Local_Raise_Statements): New field in N_Exception_Handler_Node
+ (Local_Raise_Not_OK): New flag in N_Exception_Handler_Node
+ (Is_Coextension): New flag for allocators, to mark allocators that
+ correspond to access discriminants of dynamically allocated objects.
+ (N_Block_Statement): Document the fact that the corresponding entity
+ can be an E_Return_Statement.
+ (Is_Coextension): New flag for allocators.
+ Remove all code for DSP option
+
+ * sprint.ads, sprint.adb: Display basic information for class_wide
+ subtypes. Add handling of N_Push and N_Pop nodes
+
+2007-04-06 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tpobop.adb (Exceptional_Complete_Entry_Body): Undefer abortion
+ before propagating exception.
+
+2007-04-06 Olivier Hainque <hainque@adacore.com>
+
+ * tracebak.c (PC_ADJUST - ia64): -4 instead of -16, expected to yield
+ an address always within the call instruction from a return address.
+
+2007-04-06 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <botcazou@adacore.com>
+
+ * trans.c (call_to_gnu) <TYPE_RETURNS_BY_TARGET_PTR_P>: Return an
+ expression with a COMPOUND_EXPR including the call instead of emitting
+ the call directly here.
+ (gnat_to_gnu) <N_Slice>: Do not return a non-constant low bound if the
+ high bound is constant and the slice is empty. Tidy.
+ (tree_transform, case N_Op_Not): Handle properly the case where the
+ operation applies to a private type whose full view is a modular type.
+ (Case_Statement_To_gnu): If an alternative is an E_Constant with an
+ Address_Clause, use the associated Expression as the GNAT tree
+ representing the choice value to ensure the corresponding GCC tree is
+ of the proper kind.
+ (maybe_stabilize_reference): Stabilize COMPOUND_EXPRs as a whole
+ instead of just the operands, as the base GCC stabilize_reference does.
+ <CALL_EXPR>: New case. Directly stabilize the call if an lvalue is not
+ requested; otherwise fail.
+ (addressable_p) <COMPONENT_REF>: Do not test DECL_NONADDRESSABLE_P.
+
+2007-04-06 Thomas Quinot <quinot@adacore.com>
+
+ * uintp.ads, uintp.adb (UI_Div_Rem): New subprogram, extending previous
+ implementation of UI_Div.
+ (UI_Div): Reimplement as a call to UI_Div_Rem.
+ (UI_Rem): Take advantage of the fact that UI_Div_Rem provides the
+ remainder, avoiding the cost of a multiplication and a subtraction.
+ (UI_Modular_Inverse): Take advantage of the fact that UI_Div_Rem
+ provides both quotient and remainder in a single computation.
+ (UI_Modular_Exponentiation, UI_Modular_Inverse): New modular arithmetic
+ functions for uint.
+ (UI_Modular_Inverse): Add a note that the behaviour of this subprogram
+ is undefined if the given n is not inversible.
+
+2007-04-06 Olivier Hainque <hainque@adacore.com>
+
+ * utils2.c (known_alignment): Handle COMPOUND_EXPR, COND_EXPR and
+ BIT_AND_EXPR. Handle also VIEW_CONVERT_EXPR, as the other conversion
+ opcodes.
+
+2007-04-06 Eric Botcazou <botcazou@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * utils.c (update_pointer_to): Make a copy of the couple of FIELD_DECLs
+ when updating the contents of the old pointer to an unconstrained array.
+ (end_subprog_body): Set error_gnat_node to Empty.
+ (write_record_type_debug_info): Do not be unduly sparing with our bytes.
+ (unchecked_convert): For subtype to base type conversions, require that
+ the source be a subtype if it is an integer type.
+ (builtin_decls): New global, vector of available builtin functions.
+ (gnat_pushdecl): Add global builtin function declaration nodes to the
+ builtin_decls list.
+ (gnat_install_builtins): Adjust comments.
+ (builtin_function): Set DECL_BUILTIN_CLASS and DECL_FUNCTION_CODE before
+ calling gnat_pushdecl, so that it knows when it handed a builtin
+ function declaration node.
+ (builtin_decl_for): Search the builtin_decls list.
+
+2007-04-06 Eric Botcazou <botcazou@adacore.com>
+
+ * s-stchop-vxworks.adb:
+ (Stack_Check): Raise Storage_Error if the argument has wrapped around.
+
+2007-04-06 Robert Dewar <dewar@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * a-diroro.ads: Inserted the pragma Unimplemented_Unit
+
+ * bindgen.adb (Gen_Output_File_Ada): Generate pragma Ada_95 at start
+ of files
+ Add mention of -Sev (set initialize_scalars option from environment
+ variable at run time) in gnatbind usage message.
+
+ * elists.ads, elists.adb: (Append_Unique_Elmt): New procedure
+
+ * fname-uf.ads: Minor comment fix
+
+ * osint.ads: Change pragma Elaborate to Elaborate_All
+
+ * par-load.adb: Add documentation.
+
+ * sem_cat.ads, sem_cat.adb: Minor code reorganization
+
+ * s-parint.ads (RCI_Locator) : Add 'Version' generic formal
+
+ * s-secsta.ads: Extra comments
+
+ * s-soflin.ads: Minor comment fixes
+
+ * s-stratt.ads (Block_Stream_Ops_OK): Removed.
+
+ * s-wchcon.ads: Minor comment addition
+
+ * treepr.adb: Minor change in message
+ (Print_Name,Print_Node): Make these debug printouts more robust: print
+ "no such..." instead of crashing on bad input.
+
+2007-03-30 Rafael Ávila de Espíndola <espindola@google.com>
+
+ * trans.c (Attribute_to_gnu): Use get_signed_or_unsigned_type
+ instead of gnat_signed_or_unsigned_type.
+ * utils.c (gnat_signed_or_unsigned_type): Remove.
+ * misc.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove
+ * gigi.h (gnat_signed_or_unsigned_type): Remove
+
+2007-03-09 Roger Sayle <roger@eyesopen.com>
+
+ * cuintp.c (UI_To_gnu): Use fold_buildN calls instead of calling
+ fold with the result of buildN.
+ * decl.c (gnat_to_gnu_entity): Likewise.
+ * trans.c (Attribute_to_gnu, gnat_to_gnu, emit_check): Likewise.
+ * utils.c (finish_record_type, merge_sizes, max_size, convert):
+ Likewise.
+ * utils2.c (gnat_truthvalue_conversion, compare_arrays,
+ nonbinary_modular_operation, build_binary_op, build_unary_op,
+ build_cond_expr): Likewise.
+
+ * utils.c (convert): Use fold_build1 when casting values to void.
+ * utils2.c (gnat_truthvalue_conversion): Use build_int_cst and
+ fold_convert instead of convert when appropriate.
+
+2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
+
+ * Make-lang.in: Add install-pdf target as copied from
+ automake v1.10 rules.
+
+2007-02-28 Andreas Schwab <schwab@suse.de>
+
+ * Make-lang.in (doc/gnat_ugn_unw.texi): Depend on
+ $(gcc_docdir)/include/gcc-common.texi and gcc-vers.texi.
+ (doc/gnat-style.info): Likewise.
+
+2007-02-26 Brooks Moses <brooks.moses@codesourcery.com>
+
+ * gnat-style.texi: Standardize title page.
+ * gnat_rm.texi: Likewise.
+ * gnat_ugn.texi: Likewise.
+
+2007-02-25 Mark Mitchell <mark@codesourcery.com>
+
+ * decl.c (annotate_value): Adjust for refactoring of tree_map
+ hierarchy.
+
+2007-02-24 Mark Mitchell <mark@codesourcery.com>
+
+ * decl.c (annotate_value): Adjust for refactoring of tree_map
+ hierarchy.
+
+2007-02-21 Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/18819
+ * sem_ch3.adb (Create_Constrained_Components): for a subtype of an
+ untagged derived type, add hidden components to keep discriminant
+ layout consistent, when a given discriminant of the derived type
+ constraints several discriminants of the parent type.
+
+2007-02-16 Eric Botcazou <ebotcazou@adacore.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * trans.c (call_to_gnu): Use build_call_list instead of build3 to
+ build the call expression.
+ (gnat_stabilize_reference_1): Handle tcc_vl_exp.
+ * utils.c (max_size) <tcc_exceptional>: Delete.
+ <tcc_vl_exp>: New case.
+ <tcc_expression>: Delete CALL_EXPR subcase.
+ (build_global_cdtor): Use build_call_nary instead of build3.
+ * utils2.c (build_call_1_expr): Likewise.
+ (build_call_2_expr): Likewise.
+ (build_call_0_expr): Likewise.
+ (build_call_alloc_dealloc): Likewise.
+
+2007-02-07 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * raise-gcc.c (get_region_description_for, get_call_site_action_for,
+ get_action_description_for): Replace _Unwind_Word with _uleb128_t
+ and _Unwind_SWord with _sleb128_t.
+
+2007-02-06 Paolo Bonzini <bonzini@gnu.org>
+
+ * Make-lang.in (ada/decl.o): Add gt-ada-decl.h dependency.
+ * decl.c: Include gt-ada-decl.h.
+ (annotate_value_cache): New.
+ (annotate_value): Use it instead of TREE_COMPLEXITY.
+
+2007-02-03 Kazu Hirata <kazu@codesourcery.com>
+
+ * misc.c, utils2.c: Fix comment typos.
+
+2007-01-24 Roger Sayle <roger@eyesopen.com>
+
+ * decl.c (gnat_to_gnu_entity): Use TREE_OVERFLOW instead of
+ TREE_CONSTANT_OVERFLOW.
+ (allocatable_size_p, annotate_value): Likewise.
+ * trans.c (gnat_to_gnu): Likewise.
+ * utils.c (unchecked_convert): Likewise.
+ * utils2.c (build_simple_component_ref): Likewise.
+
+2007-01-23 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/30541
+ * Make-lang.in: Replace invocations of gnatmake with $(GNATMAKE).
+ (gnatboot2): Pass staged GNATMAKE instead of STAGE_PREFIX.
+ (gnatboot3): Likewise.
+ (GNATBIND): Do not define.
+ * Makefile.in (GNATBIND): Do not define.
+
+2007-01-08 Richard Guenther <rguenther@suse.de>
+
+ * cuintp.c (build_cst_from_int): Use built_int_cst_type.
+ * trans.c (gnat_to_gnu): Likewise.
+
+2006-12-07 Geoffrey Keating <geoffk@apple.com>
+
+ * Makefile.in: Replace CROSS_COMPILE with CROSS_DIRECTORY_STRUCTURE.
+ * adaint.c: Likewise.
+
+2006-12-05 Aldy Hernandez <aldyh@redhat.com>
+
+ Merge from gimple-tuples-branch:
+ 2006-11-02 Aldy Hernandez <aldyh@redhat.com>
+
+ * ada-tree.h (lang_tree_node): Handle gimple tuples.
+ * trans.c (gnat_gimplify_expr): Replace MODIFY_EXPR with
+ GIMPLE_MODIFY_STMT.
+
+2006-12-02 Kazu Hirata <kazu@codesourcery.com>
+
+ * Makefile.in, mingw32.h, trans.c: Fix comment typos.
+ * gnat_rm.texi, gnat_ugn.texi: Follow spelling conventions.
+ Fix typos.
+
+2006-11-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/27936
+ * trans.c (add_decl_expr): Do not dynamically elaborate padded objects
+ if the initializer takes into account the padding.
+
+2006-11-11 Richard Guenther <rguenther@suse.de>
+
+ * trans.c (maybe_stabilize_reference): Remove handling of
+ FIX_CEIL_EXPR, FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
+
+2006-11-05 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/29707
+ * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads
+ (To_Target_Priority): New function.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * a-taster.adb, s-traent-vms.adb, a-elchha.ads, a-elchha.adb,
+ a-exctra.adb, ali-util.adb, exp_disp.ads, s-stalib.ads, s-traent.adb,
+ s-addope.ads, s-addope.adb, a-rbtgso.adb, a-crbltr.ads, a-coprnu.adb,
+ a-cgcaso.adb, a-cgarso.adb, a-cgaaso.adb, a-coormu.adb, a-ciormu.adb,
+ a-rbtgso.ads, a-stunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb,
+ a-secain.adb, a-slcain.adb, a-shcain.adb, a-stwiha.adb, a-stwiha.adb,
+ a-strhas.adb, a-strhas.adb, a-stzhas.adb, a-stzhas.adb, a-szuzha.adb,
+ a-chacon.adb, a-chacon.adb, a-chacon.ads, a-stboha.adb, a-swbwha.adb,
+ a-szbzha.adb: Minor reformatting. Fix header.
+
+ * a-numaux-x86.adb: Add parentheses for use of unary minus
+ * a-ngcefu.adb: Supply missing parentheses for unary minus
+ * a-ngcoty.adb: Add parens for use of unary minus
+ * a-ngelfu.adb: Add missing parens for unary minus
+ * a-tifiio.adb: Add parentheses for uses of unary minus
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Unary_Op): Add warning for use of unary minus
+ with multiplying operator.
+ (Expected_Type_Is_Any_Real): New function to determine from the Parent
+ pointer whether the context expects "any real type".
+ (Resolve_Arithmetic_Op): Do not give an error on calls to the
+ universal_fixed "*" and "/" operators when they are used in a context
+ that expects any real type. Also set the type of the node to
+ Universal_Real in this case, because downstream processing requires it
+ (mainly static expression evaluation).
+ Reword some continuation messages
+ Add some \\ sequences to continuation messages
+ (Resolve_Call): Refine infinite recursion case. The test has been
+ sharpened to eliminate some false positives.
+ Check for Current_Task usage now includes entry barrier, and is now a
+ warning, not an error.
+ (Resolve): If the call is ambiguous, indicate whether an interpretation
+ is an inherited operation.
+ (Check_Aggr): When resolving aggregates, skip associations with a box,
+ which are priori correct, and will be replaced by an actual default
+ expression in the course of expansion.
+ (Resolve_Type_Conversion): Add missing support for conversion from
+ a class-wide interface to a tagged type. Minor code cleanup.
+ (Valid_Tagged_Converion): Add support for abstact interface type
+ conversions.
+ (Resolve_Selected_Component): Call Generate_Reference here rather than
+ during analysis, and use May_Be_Lvalue to distinguish read/write.
+ (Valid_Array_Conversion): New procedure, abstracted from
+ Valid_Conversion, to incorporate accessibility checks for arrays of
+ anonymous access types.
+ (Valid_Conversion): For a conversion to a numeric type occurring in an
+ instance or inlined body, no need to check that the operand type is
+ numeric, since this has been checked during analysis of the template.
+ Remove legacy test for scope name Unchecked_Conversion.
+
+ * sem_res.ads: Minor reformatting
+
+ * a-except.adb, a-except-2005.adb: Turn off subprogram ordering
+ (PE_Current_Task_In_Entry_Body): New exception code
+ (SE_Restriction_Violation): Removed, not used
+
+ * a-except.ads: Update comments.
+
+ * types.h, types.ads: Add definition for Validity_Check
+ (PE_Current_Task_In_Entry_Body): New exception code
+ (SE_Restriction_Violation): Removed, not used
+
+2006-10-31 Thomas Quinot <quinot@adacore.com>
+
+ * g-socthi-vxworks.adb (C_Gethostbyname): Fix wrong test for returned
+ error status.
+
+2006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * a-calend-vms.adb (Leap_Sec_Ops): Temp body for package in private
+ part of Ada.Calendar: all subprogram raise Unimplemented.
+ (Split_W_Offset): Temp function body, raising Unimplemented
+
+ * a-calend.ads, a-calend-vms.ads:
+ Add imported variable Invalid_TZ_Offset used to designate targets unable
+ to support time zones.
+ (Unimplemented): Temporary function raised by the body of new
+ subprograms below.
+ (Leap_Sec_Ops): New package in the private part of Ada.Calendar. This
+ unit provides handling of leap seconds and is used by the new Ada 2005
+ packages Ada.Calendar.Arithmetic and Ada.Calendar.Formatting.
+ (Split_W_Offset): Identical spec to that of Ada.Calendar.Split. This
+ version returns an extra value which is the offset to UTC.
+
+ * a-calend.adb (Split_W_Offset): Add call to localtime_tzoff.
+ (Leap_Sec_Ops): New body for package in private part of Ada.Calendar.
+ (Split_W_Offset): New function body.
+ (Time_Of): When a date is close to UNIX epoch, compute the time for
+ that date plus one day (that amount is later substracted after
+ executing mktime) so there are no problems with time zone adjustments.
+
+ * a-calend-mingw.adb: Remove Windows specific version no longer needed.
+
+ * a-calari.ads, a-calari.adb, a-calfor.ads, a-calfor.adb,
+ a-catizo.ads, a-catizo.adb: New files.
+
+ * impunit.adb: Add new Ada 2005 entries
+
+ * sysdep.c: Add external variable __gnat_invalid_tz_offset.
+ Rename all occurences of "__gnat_localtime_r" to
+ "__gnat_localtime_tzoff".
+ (__gnat_localtime_tzoff for Windows): Add logic to retrieve the time
+ zone data and calculate the GMT offset.
+ (__gnat_localtime_tzoff for Darwin, Free BSD, Linux, Lynx and Tru64):
+ Use the field "tm_gmtoff" to extract the GMT offset.
+ (__gnat_localtime_tzoff for AIX, HPUX, SGI Irix and Sun Solaris): Use
+ the external variable "timezone" to calculate the GMT offset.
+
+2006-10-31 Arnaud Charlet <charlet@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * s-osinte-posix.adb, s-osinte-linux.ads, s-osinte-freebsd.adb,
+ s-osinte-freebsd.ads, s-osinte-solaris-posix.ads, s-osinte-hpux.ads,
+ s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-lynxos-3.ads,
+ s-osinte-lynxos-3.adb (To_Target_Priority): New function maps from
+ System.Any_Priority to a POSIX priority on the target.
+
+ * system-linux-ia64.ads:
+ Extend range of Priority types on Linux to use the whole range made
+ available by the system.
+
+ * s-osinte-aix.adb, s-osinte-aix.ads (To_Target_Priority): New
+ function maps from System.Any_Priority to a POSIX priority on the
+ target.
+ (PTHREAD_PRIO_PROTECT): Set real value.
+ (PTHREAD_PRIO_INHERIT): Now a function.
+ (SIGCPUFAIL): New signal.
+ (Reserved): Add SIGALRM1, SIGWAITING, SIGCPUFAIL, since these signals
+ are documented as reserved by the OS.
+
+ * system-aix.ads: Use the full range of priorities provided by the
+ system on AIX.
+
+ * s-taprop-posix.adb: Call new function To_Target_Priority.
+ (Set_Priority): Take into account Task_Dispatching_Policy and
+ Priority_Specific_Dispatching pragmas when determining if Round Robin
+ must be used for scheduling the task.
+
+ * system-linux-x86_64.ads, system-linux-x86.ads,
+ system-linux-ppc.ads: Extend range of Priority types on Linux to use
+ the whole range made available by the system.
+
+ * s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-irix.adb,
+ s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-hpux-dce.adb,
+ s-taprop-lynxos.adb (Finalize_TCB): invalidate the stack-check cache
+ when deallocating the TCB in order to avoid potential references to
+ deallocated data.
+ (Set_Priority): Take into account Task_Dispatching_Policy and
+ Priority_Specific_Dispatching pragmas when determining if Round Robin
+ or FIFO within priorities must be used for scheduling the task.
+
+ * s-taprop-vxworks.adb (Enter_Task): Store the user-level task id in
+ the Thread field (to be used internally by the run-time system) and the
+ kernel-level task id in the LWP field (to be used by the debugger).
+ (Create_Task): Reorganize to unify the calls to taskSpawn into a single
+ instance, and propagate the current task options to the spawned task.
+ (Set_Priority): Take into account Priority_Specific_Dispatching pragmas.
+ (Initialize): Set Round Robin dispatching when the corresponding pragma
+ is in effect.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
+ system-linux-hppa.ads, system-hpux-ia64.ads,
+ system-lynxos-ppc.ads, system-lynxos-x86.ads, system-tru64.ads,
+ system-vxworks-sparcv9.ads, system-solaris-x86.ads,
+ system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
+ system-vxworks-m68k.ads, system-vxworks-mips.ads, system-interix.ads,
+ system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
+ system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
+ system-vxworks-alpha.ads, system.ads: Add pragma Warnings(Off,
+ Default_Bit_Order) to kill constant condition warnings for references
+ to this switch.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * mlib-tgt-lynxos.adb, mlib-tgt-mingw.adb, mlib-tgt-tru64.adb,
+ mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb,
+ mlib-tgt-linux.adb, mlib-tgt-solaris.adb: Use Append_To, instead of
+ Ext_To, when building the library file name
+
+ * mlib-tgt-vxworks.adb: ditto.
+ (Get_Target_Suffix): Add support for x86 targets.
+
+ * mlib-fil.ads, mlib-fil.adb: (Append_To): New function
+
+ * mlib-tgt-darwin.adb:
+ Use Append_To, instead of Ext_To, when building the library file name
+ (Flat_Namespace): New global variable.
+ (No_Shared_Libgcc_Switch): Rename to No_Shared_Libgcc_Options.
+ (Shared_Libgcc_Switch): Rename to With_Shared_Libgcc_Options.
+ (Link_Shared_Libgcc): Delete.
+ (Build_Dynamic_Library): Adjust for above changes.
+ Use Opt package.
+ (Build_Dynamic_Library): Pass -shared-libgcc if GCC 4 or later.
+
+2006-10-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-taprop-solaris.adb: (Time_Slice_Val): Change type to Integer.
+ (Initialize): Add type conversions required by above change.
+
+2006-10-31 Jose Ruiz <ruiz@adacore.com>
+
+ * s-osinte-vxworks.ads, s-osinte-vxworks.adb:
+ (getpid): New body for this function that uses the underlying taskIdSelf
+ function for VxWorks 5 and VxWorks 6 in kernel mode.
+ (unsigned_int): New type, modular to allow logical bit operations.
+ (taskOptionsGet): New imported function.
+
+ * s-taspri-vxworks.ads (Private_Data): Change the type for the LWP
+ field to be compliant with the type used by the corresponding operating
+ system primitive.
+
+2006-10-31 Pascal Obry <obry@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * adaint.c (__gnat_get_libraries_from_registry): Call explicitly the
+ ASCII version of the registry API. This is needed as the GNAT runtime
+ is now UNICODE by default.
+ Include version.h.
+ (get_gcc_version): Do not hardcode the return value.
+ (__gnat_file_time_name): On Windows properly set the default returned
+ value to -1 which corresponds to Invalid_Time.
+ (__gnat_fopen): New routine. A simple wrapper on all plateforms
+ except on Windows where it does conversion for unicode support.
+ (__gnat_freopen): Idem.
+ (__gnat_locate_exec_on_path): If environment variable PATH does not
+ exist, return a NULL pointer
+
+ * adaint.h: (__gnat_fopen): Declare.
+ (__gnat_freopen): Likewise.
+
+ * mingw32.h (_tfreopen): Define this macro here for older MingW
+ version.
+ Activate the unicode support on platforms using a MingW runtime
+ version 3.9 or newer.
+
+ * s-crtl.ads (fopen): Is now an import to the wrapper __gnat_freopen.
+ This is needed for proper unicode support on Windows.
+ (freopen): Idem.
+
+2006-10-31 Eric Botcazou <ebotcazou@adacore.com>
+ Nicolas Setton <setton@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * gigi.h: (tree_code_for_record_type): Declare.
+ (add_global_renaming_pointer): Rename to record_global_renaming_pointer.
+ (get_global_renaming_pointers): Rename to
+ invalidate_global_renaming_pointers.
+ (static_ctors): Delete.
+ (static_dtors): Likewise.
+ (gnat_write_global_declarations): Declare.
+ (create_var_decl): Adjust descriptive comment to indicate that the
+ subprogram may return a CONST_DECL node.
+ (create_true_var_decl): Declare new function, similar to
+ create_var_decl but forcing the creation of a VAR_DECL node.
+ (get_global_renaming_pointers): Declare.
+ (add_global_renaming_pointer): Likewise.
+
+ * ada-tree.h (DECL_READONLY_ONCE_ELAB): New macro.
+
+ * decl.c (gnat_to_gnu_entity) <case E_Function>: Don't copy the type
+ tree before setting TREE_ADDRESSABLE for by-reference return mechanism
+ processing.
+ (gnat_to_gnu_entity): Remove From_With_Type from computation for
+ imported_p.
+ <E_Access_Type>: Use the Non_Limited_View as the full view of the
+ designated type if the pointer comes from a limited_with clause. Make
+ incomplete designated type if it is in the main unit and has a freeze
+ node.
+ <E_Incomplete_Type>: Rework to treat Non_Limited_View, Full_View, and
+ Underlying_Full_View similarly. Return earlier if the full view already
+ has an associated tree.
+ (gnat_to_gnu_entity) <E_Record_Type>: Restore comment.
+ (gnat_to_gnu_entity) <E_Record_Type>: Do not use a dummy type.
+ (gnat_to_gnu_entity) <E_Variable>: Set TYPE_REF_CAN_ALIAS_ALL on the
+ reference type built for objects with an address clause.
+ Use create_true_var_decl with const_flag set for
+ DECL_CONST_CORRESPONDING_VARs, ensuring a VAR_DECL is created with
+ TREE_READONLY set.
+ (gnat_to_gnu_entity, case E_Enumeration_Type): Set TYPE_NAME
+ for Character and Wide_Character types. This info is read by the
+ dwarf-2 writer, and is needed to be able to use the command "ptype
+ character" in the debugger.
+ (gnat_to_gnu_entity): When generating a type representing
+ a Character or Wide_Character type, set the flag TYPE_STRING_FLAG,
+ so that debug writers can distinguish it from ordinary integers.
+ (elaborate_expression_1): Test the DECL_READONLY_ONCE_ELAB flag in
+ addition to TREE_READONLY to assert the constantness of variables for
+ elaboration purposes.
+ (gnat_to_gnu_entity, subprogram cases): Change loops on formal
+ parameters to call new Einfo function First_Formal_With_Extras.
+ (gnat_to_gnu_entity): In type_annotate mode, replace a discriminant of a
+ protected type with its corresponding discriminant, to obtain a usable
+ declaration
+ (gnat_to_gnu_entity) <E_Access_Protected_Subprogram_Type>: Be prepared
+ for a multiple elaboration of the "equivalent" type.
+ (gnat_to_gnu_entity): Adjust for renaming of add_global_renaming_pointer
+ into record_global_renaming_pointer.
+ (gnat_to_gnu_entity) <E_Array_Type>: Do not force
+ TYPE_NONALIASED_COMPONENT to 0 if the element type is an aggregate.
+ <E_Array_Subtype>: Likewise.
+ (gnat_to_gnu_entity) <E_Incomplete_Subtype>: Add support for regular
+ incomplete subtypes and incomplete subtypes of incomplete types visible
+ through a limited with clause.
+ (gnat_to_gnu_entity) <E_Array_Subtype>: Take into account the bounds of
+ the base index type for the maximum size of the array only if they are
+ constant.
+ (gnat_to_gnu_entity, renaming object case): Do not wrap up the
+ expression into a SAVE_EXPR if stabilization failed.
+
+ * utils.c (create_subprog_decl): Turn TREE_ADDRESSABLE on the type of
+ a result decl into DECL_BY_REFERENCE on this decl, now what is expected
+ by lower level compilation passes.
+ (gnat_genericize): New function, lowering a function body to GENERIC.
+ Turn the type of RESULT_DECL into a real reference type if the decl
+ has been marked DECL_BY_REFERENCE, and adjust references to the latter
+ accordingly.
+ (gnat_genericize_r): New function. Tree walking callback for
+ gnat_genericize.
+ (convert_from_reference, is_byref_result): New functions. Helpers for
+ gnat_genericize_r.
+ (create_type_decl): Call gnat_pushdecl before calling
+ rest_of_decl_compilation, to make sure that field TYPE_NAME of
+ type_decl is properly set before calling the debug information writers.
+ (write_record_type_debug_info): The heuristics which compute the
+ alignment of a field in a variant record might not be accurate. Add a
+ safety test to make sure no alignment is set to a smaller value than
+ the alignment of the field type.
+ (make_dummy_type): Use the Non_Limited_View as the underlying type if
+ the type comes from a limited_with clause. Do not loop on the full view.
+ (GET_GNU_TREE, SET_GNU_TREE, PRESENT_GNU_TREE): New macros.
+ (dummy_node_table): New global variable, moved from decl.c.
+ (GET_DUMMY_NODE, SET_DUMMY_NODE, PRESENT_DUMMY_NODE): New macros.
+ (save_gnu_tree): Use above macros.
+ (get_gnu_tree): Likewise.
+ (present_gnu_tree): Likewise.
+ (init_dummy_type): New function, moved from decl.c. Use above macros.
+ (make_dummy_type): Likewise.
+ (tree_code_for_record_type): New function extracted from make_dummy_type
+ (init_gigi_decls): Set DECL_IS_MALLOC on gnat_malloc.
+ (static_ctors): Change it to a vector, make static.
+ (static_dtors): Likewise.
+ (end_subprog_body): Adjust for above change.
+ (build_global_cdtor): Moved from trans.c.
+ (gnat_write_global_declarations): Emit global constructor and
+ destructor, and call cgraph_optimize before emitting debug info for
+ global declarations.
+ (global_decls): New global variable.
+ (gnat_pushdecl): Store the global declarations in global_decls, for
+ later use.
+ (gnat_write_global_declarations): Emit debug information for global
+ declarations.
+ (create_var_decl_1): Former create_var_decl, with an extra argument to
+ state whether the creation of a CONST_DECL is allowed.
+ (create_var_decl): Behavior unchanged. Now a wrapper around
+ create_var_decl_1 allowing CONST_DECL creation.
+ (create_true_var_decl): New function, similar to create_var_decl but
+ forcing the creation of a VAR_DECL node (CONST_DECL not allowed).
+ (create_field_decl): Do not always mark the field as addressable
+ if its type is an aggregate.
+ (global_renaming_pointers): New static variable.
+ (add_global_renaming_pointer): New function.
+ (get_global_renaming_pointers): Likewise.
+
+ * misc.c (gnat_dwarf_name): New function.
+ (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
+ (gnat_post_options): Add comment about structural alias analysis.
+ (gnat_parse_file): Do not call cgraph_optimize here.
+ (LANG_HOOKS_WRITE_GLOBALS): Define to gnat_write_global_declarations.
+
+ * trans.c (process_freeze_entity): Don't abort if we already have a
+ non dummy GCC tree for a Concurrent_Record_Type, as it might
+ legitimately have been elaborated while processing the associated
+ Concurrent_Type prior to this explicit freeze node.
+ (Identifier_to_gnu): Do not make a variable referenced in a SJLJ
+ exception handler volatile if it is of variable size.
+ (process_type): Remove bypass for types coming from a limited_with
+ clause.
+ (call_to_gnu): When processing the copy-out of a N_Type_Conversion GNAT
+ actual, convert the corresponding gnu_actual to the real destination
+ type when necessary.
+ (add_decl_expr): Set the DECL_READONLY_ONCE_ELAB flag on variables
+ originally TREE_READONLY but whose elaboration cannot be performed
+ statically.
+ Part of fix for F504-021.
+ (tree_transform, subprogram cases): Change loops on formal parameters to
+ call new Einfo function First_Formal_With_Extras.
+ (gnat_to_gnu) <N_Op_Shift_Right_Arithmetic>: Ignore constant overflow
+ stemming from type conversion for the lhs.
+ (Attribute_to_gnu) <Attr_Alignment>: Also divide the alignment by the
+ number of bits per unit for components of records.
+ (gnat_to_gnu) <N_Code_Statement>: Mark operands addressable if needed.
+ (Handled_Sequence_Of_Statements_to_gnu): Register the cleanup associated
+ with At_End_Proc after the SJLJ EH cleanup.
+ (Compilation_Unit_to_gnu): Call elaborate_all_entities only on the main
+ compilation unit.
+ (elaborate_all_entities): Do not retest type_annotate_only.
+ (tree_transform) <N_Abstract_Subprogram_Declaration>: Process the
+ result type of an abstract subprogram, which may be an itype associated
+ with an anonymous access result (related to AI-318-02).
+ (build_global_cdtor): Move to utils.c.
+ (Case_Statement_to_gnu): Avoid adding the choice of a when statement if
+ this choice is not a null tree nor an integer constant.
+ (gigi): Run unshare_save_expr via walk_tree_without_duplicates
+ on the body of elaboration routines instead of mark_unvisited.
+ (add_stmt): Do not mark the tree.
+ (add_decl_expr): Tweak comment.
+ (mark_unvisited): Delete.
+ (unshare_save_expr): New static function.
+ (call_to_gnu): Issue an error when making a temporary around a
+ procedure call because of non-addressable actual parameter if the
+ type of the formal is by_reference.
+ (Compilation_Unit_to_gnu): Invalidate the global renaming pointers
+ after building the elaboration routine.
+
+2006-10-31 Bob Duff <duff@adacore.com>
+
+ * a-filico.adb (Finalize(List_Controller)): Mark the finalization list
+ as finalization-started, so we can raise Program_Error on 'new'.
+
+ * s-finimp.adb: Raise Program_Error on 'new' if finalization of the
+ collection has already started.
+
+ * s-finimp.ads (Collection_Finalization_Started): Added new special
+ flag value for indicating that a collection's finalization has started.
+
+ * s-tassta.adb (Create_Task): Raise Program_Error on an attempt to
+ create a task whose master has already waited for dependent tasks.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * lib.adb, lib.ads: (In_Predefined_Unit): New functions
+
+ * a-finali.ads, a-ngcoty.ads, a-strbou.ads, a-stream.ads, a-strmap.ads,
+ a-strunb.ads, a-stwibo.ads, a-stwima.ads, a-stwiun.ads, a-taside.ads,
+ a-coorse.ads, a-convec.ads, a-coinve.ads, a-cohama.ads, a-ciorse.ads,
+ a-cihama.ads, a-cihase.ads, a-cohase.ads, a-ciorma.ads, a-coorma.ads,
+ a-ciormu.ads, a-coormu.ads, a-stzbou.ads, a-stzmap.ads, a-stzunb.ads,
+ a-except-2005.ads: Add pragma Preelaborable_Warning
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * a-dispat.ads, a-dispat.adb, a-diroro.ads, a-diroro.adb: New files.
+
+ * ali.adb (Get_Name): Properly handle scanning of wide character names
+ encoded with brackets notation.
+ (Known_ALI_Lines): Add S lines to this list.
+ (Scan_ALI): Acquire S (priority specific dispatching) lines.
+ New flag Elaborate_All_Desirable in unit table
+
+ * ali.ads (Priority_Specific_Dispatching): Add this range of
+ identifiers to be used for Priority_Specific_Dispatching table entries.
+ (ALIs_Record): Add First_Specific_Dispatching and
+ Last_Specific_Dispatching that point to the first and last entries
+ respectively in the priority specific dispatching table for this unit.
+ (Specific_Dispatching): Add this table for storing each S (priority
+ specific dispatching) line encountered in the input ALI file.
+ New flag Elaborate_All_Desirable in unit table
+
+ * bcheck.adb: (Check_Configuration_Consistency): Add call to
+ Check_Consistent_Dispatching_Policy.
+ (Check_Consistent_Dispatching_Policy): Add this procedure in charge of
+ verifying that the use of Priority_Specific_Dispatching,
+ Task_Dispatching_Policy, and Locking_Policy is consistent across the
+ partition.
+
+ * bindgen.adb: (Public_Version_Warning): function removed.
+ (Set_PSD_Pragma_Table): Add this procedure in charge of getting the
+ required information from ALI files in order to initialize the table
+ containing the specific dispatching policy.
+ (Gen_Adainit_Ada): Generate the variables required for priority specific
+ dispatching entries (__gl_priority_specific_dispatching and
+ __gl_num_specific_dispatching).
+ (Gen_Adainit_C): Generate the variables required for priority specific
+ dispatching entries (__gl_priority_specific_dispatching and
+ __gl_num_specific_dispatching).
+ (Gen_Output_File): Acquire settings for Priority_Specific_Dispatching
+ pragma entries.
+ (Gen_Restrictions_String_1, Gen_Restrictions_String_2): Removed.
+ (Gen_Restrictions_Ada, Gen_Restrictions_C, Set_Boolean): New procedures.
+ (Tab_To): Removed.
+ (Gen_Output_File_Ada/_C): Set directly __gl_xxx variables instead of
+ a call to gnat_set_globals.
+ Generate a string containing settings from
+ Priority_Specific_Dispatching pragma entries.
+ (Gen_Object_Files_Options): Do not include the runtime libraries when
+ pragma No_Run_Time is specified.
+
+ * init.c (__gnat_install_handler, case FreeBSD): Use SA_SIGINFO, for
+ consistency with s-intman-posix.adb.
+ (__gnat_error_handler, case FreeBSD): Account for the fact that the
+ handler is installed with SA_SIGINFO.
+ (__gnat_adjust_context_for_raise, FreeBSD case): New function for
+ FreeBSD ZCX support, copied from Linux version.
+ Add MaRTE-specific definitions for the linux target. Redefine sigaction,
+ sigfillset, and sigemptyset so the routines defined by MaRTE.
+ (__gl_priority_specific_dispatching): Add this variable that stores the
+ string containing priority specific dispatching policies in the
+ partition.
+ (__gl_num_specific_dispatching): Add this variable that indicates the
+ highest priority for which a priority specific dispatching pragma
+ applies.
+ (__gnat_get_specific_dispatching): Add this routine that returns the
+ priority specific dispatching policy, as set by a
+ Priority_Specific_Dispatching pragma appearing anywhere in the current
+ partition. The input argument is the priority number, and the result
+ is the upper case first character of the policy name.
+ (__gnat_set_globals): Now a dummy function.
+ (__gnat_handle_vms_condition): Feed adjust_context_for_raise with
+ mechargs instead of sigargs, as the latter can be retrieved from the
+ former and sigargs is not what we want on ia64.
+ (__gnat_adjust_context_for_raise, alpha-vms): Fetch sigargs from the
+ mechargs argument.
+ (__gnat_adjust_context_for_raise, ia64-vms): New function.
+ (tasking_error): Remove unused symbol.
+ (_abort_signal): Move this symbol to the IRIX specific part since this
+ is the only target that uses this definition.
+ (Check_Abort_Status): Move this symbol to the IRIX specific part since
+ this is the only target that uses this definition.
+ (Lock_Task): Remove unused symbol.
+ (Unlock_Task): Remove unused symbol.
+
+ * lib-writ.adb (Write_ALI): Output new S lines for
+ Priority_Specific_Dispatching pragmas.
+ Implement new flag BD for elaborate body desirable
+
+ * lib-writ.ads: Document S lines for Priority Specific Dispatching.
+ (Specific_Dispatching): Add this table for storing the entries
+ corresponding to Priority_Specific_Dispatching pragmas.
+ Document new BD flag for elaborate body desirable
+
+ * par-prag.adb (Prag): Add Priority_Specific_Dispatching to the list
+ of known pragmas.
+
+2006-10-31 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads, a-tags.adb:
+ (Predefined_DT): New function that improves readability of the code.
+ (Get_Predefined_Prim_Op_Address, Set_Predefined_Prim_Op_Address,
+ Inherit_DT): Use the new function Predefined_DT to improve code
+ readability.
+ (Register_Interface_Tag): Update assertion.
+ (Set_Interface_Table): Update assertion.
+ (Interface_Ancestor_Tags): New subprogram required to implement AI-405:
+ determining progenitor interfaces in Tags.
+ (Inherit_CPP_DT): New subprogram.
+
+ * exp_disp.adb (Expand_Interface_Thunk): Suppress checks during the
+ analysis of the thunk code.
+ (Expand_Interface_Conversion): Handle run-time conversion of
+ access to class wide types.
+ (Expand_Dispatching_Call): When generating the profile for the
+ subprogram itype for a dispatching operation, properly terminate the
+ formal parameters chaind list (set the Next_Entity of the last formal
+ to Empty).
+ (Collect_All_Interfaces): Removed. This routine has been moved to
+ sem_util and renamed as Collect_All_Abstract_Interfaces.
+ (Set_All_DT_Position): Hidden entities associated with abstract
+ interface primitives are not taken into account in the check for
+ 3.9.3(10); this check is done with the aliased entity.
+ (Make_DT, Set_All_DT_Position): Enable full ABI compatibility for
+ interfacing with CPP by default.
+ (Expand_Interface_Conversion): Add missing support for static conversion
+ from an interface to a tagged type.
+ (Collect_All_Interfaces): Add new out formal containing the list of
+ abstract interface types to cleanup the subprogram Make_DT.
+ (Make_DT): Update the code to generate the table of interfaces in case
+ of abstract interface types.
+ (Is_Predefined_Dispatching_Alias): New function that returns true if
+ a primitive is not a predefined dispatching primitive but it is an
+ alias of a predefined dispatching primitive.
+ (Make_DT): If the ancestor of the type is a CPP_Class and we are
+ compiling under full ABI compatibility mode we avoid the generation of
+ calls to run-time services that fill the dispatch tables because under
+ this mode we currently inherit the dispatch tables in the IP subprogram.
+ (Write_DT): Emit an "is null" indication for a null procedure primitive.
+ (Expand_Interface_Conversion): Use an address as the type of the formal
+ of the internally built function that handles the case in which the
+ target type is an access type.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * binde.adb (Better_Choice, Worse_Choice): Implement new preferences.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * bindusg.ads, bindusg.adb:
+ Change to package and rename procedure as Display, which
+ now ensures that it only outputs usage information once.
+
+2006-10-31 Jose Ruiz <ruiz@adacore.com>
+
+ * cal.c: Use the header sys/time.h for VxWorks 6.2 or greater when
+ using RTPs.
+
+ * mkdir.c: Use a different version of mkdir for VxWorks 6.2 or greater
+ when using RTPs.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * treepr.adb: Use new subtype N_Membership_Test
+
+ * checks.ads, checks.adb: Add definition for Validity_Check
+ (Range_Or_Validity_Checks_Suppressed): New function
+ (Ensure_Valid): Test Validity_Check suppressed
+ (Insert_Valid_Check): Test Validity_Check suppressed
+ (Insert_Valid_Check): Preserve Do_Range_Check flag
+ (Validity_Check_Range): New procedure
+ (Expr_Known_Valid): Result of membership test is always valid
+ (Selected_Range_Checks): Range checks cannot be applied to discriminants
+ by themselves. Disabling those checks must also be done for task types,
+ where discriminants may be used for the bounds of entry families.
+ (Apply_Address_Clause_Check): Remove side-effects if address expression
+ is non-static and is not the name of a declared constant.
+ (Null_Exclusion_Static_Checks): Extend to handle Function_Specification.
+ Code cleanup and new error messages.
+ (Enable_Range_Check): Test for some cases of suppressed checks
+ (Generate_Index_Checks): Suppress index checks if index checks are
+ suppressed for array object or array type.
+ (Apply_Selected_Length_Checks): Give warning for compile-time detected
+ length check failure, even if checks are off.
+ (Ensure_Valid): Do not generate a check on an indexed component whose
+ prefix is a packed boolean array.
+ * checks.adb: (Alignment_Checks_Suppressed): New function
+ (Apply_Address_Clause_Check): New procedure, this is a completely
+ rewritten replacement for Apply_Alignment_Check
+ (Get_E_Length/Get_E_First_Or_Last): Add missing barrier to ensure that
+ we request a discriminal value only in case of discriminants.
+ (Apply_Discriminant_Check): For Ada_05, only call Get_Actual_Subtype for
+ assignments where the target subtype is unconstrained and the target
+ object is a parameter or dereference (other aliased cases are known
+ to be unconstrained).
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * clean.adb, gnatname.adb, gnatsym.adb, prep.adb, prep.ads,
+ prepcomp.adb, prj.ads, prj-strt.adb, sem_maps.ads,
+ vms_conv.adb: Fix bad table increment values (much too small)
+
+ * table.adb (Realloc): Make sure we get at least some new elements
+ Defends against silly small values for table increment
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * einfo.ads, einfo.adb (Obsolescent_Warning): Now defined on all
+ entities. Move other fields around to make this possible
+ (Is_Derived_Type): Add missing call to Is_Type.
+ (Extra_Formals): New function for subprograms, entries, subprogram
+ types.
+ (Set_Extra_Formals): New procedure for subprograms, entries, subp types.
+ (First_Formal_With_Extras): New function for subprogs, entries, subp
+ types.
+ (Write_Field28_Name): New procedure for node display of "Extra_Formals".
+ Add node information for E_Return_Statement.
+ (Elaborate_Body_Desirable): New flag
+ (Is_Return_By_Reference_Type): Rename Is_Return_By_Reference_Type
+ to be Is_Inherently_Limited_Type, because return-by-reference has
+ no meaning in Ada 2005.
+ (E_Return_Statement): New entity kind.
+ (Return_Applies_To): Field of E_Return_Statement.
+ (Is_Return_Object): New flag in object entities.
+ (Is_Dynamic_Scope): Make it True for E_Return_Statement.
+ (Must_Have_Preelab_Init): New flag
+ (Known_To_Have_Preelab_Init): New flag
+ (Is_Formal_Object): Move from Sem_Ch8 body to Einfo
+ (Is_Visible_Formal): New flag on entities in formal packages.
+ (Low_Bound_Known): New flag
+ (Non_Limited_View, Set_Non_Limited_View): Add membership test agains
+ Incomplete_Kind.
+ (Write_Field17_Name): Correct spelling of Non_Limited_View. Add name
+ output when Id is an incomplete subtype.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads, errout.adb (Finalize): Implement switch -gnatd.m
+ Avoid abbreviation Creat
+ (Finalize): List all sources in extended mail source if -gnatl
+ switch is active.
+ Suppress copyright notice to file in -gnatl=f mode if -gnatd7 set
+ (Finalize): Implement new -gnatl=xxx switch to output listing to file
+ (Set_Specific_Warning_On): New procedure
+ (Set_Specific_Warning_Off): New procedure
+ Add implementation of new insertion \\
+ (Error_Msg_Internal): Add handling for Error_Msg_Line_Length
+ (Unwind_Internal_Type): Improve report on anonymous access_to_subprogram
+ types.
+ (Error_Msg_Internal): Make sure that we set Last_Killed to
+ True when a message from another package is suppressed.
+ Implement insertion character ~ (insert string)
+ (First_Node): Minor adjustments to get better placement.
+
+ * frontend.adb:
+ Implement new -gnatl=xxx switch to output listing to file
+
+ * gnat1drv.adb:
+ Implement new -gnatl=xxx switch to output listing to file
+
+ * opt.ads: (Warn_On_Questionable_Missing_Paren): New switch
+ (Commands_To_Stdout): New flag
+ Implement new -gnatl=xxx switch to output listing to file
+ New switch Dump_Source_Text
+ (Warn_On_Deleted_Code): New warning flag for -gnatwt
+ Define Error_Msg_Line_Length
+ (Warn_On_Assumed_Low_Bound): New switch
+
+ * osint.ads, osint.adb
+ (Normalize_Directory_Name): Fix bug.
+ Implement new -gnatl=xxx switch to output listing to file
+ (Concat): Removed, replaced by real concatenation
+ Make use of concatenation now allowed in compiler
+ (Executable_Prefix.Get_Install_Dir): First get the full path, so that
+ we find the 'lib' or 'bin' directory even when the tool has been
+ invoked with a relative path.
+ (Executable_Name): New function taking string parameters.
+
+ * osint-c.ads, osint-c.adb:
+ Implement new -gnatl=xxx switch to output listing to file
+
+ * sinput-d.adb: Change name Creat_Debug_File to Create_Debug_File
+
+ * switch-c.adb:
+ Implement new -gnatl=xxx switch to output listing to file
+ Recognize new -gnatL switch
+ (no longer keep in old warning about old style usage)
+ Use concatenation to simplify code
+ Recognize -gnatjnn switch
+ (Scan_Front_End_Switches): Clean up handling of -gnatW
+ (Scan_Front_End_Switches): Include Warn_On_Assumed_Low_Bound for -gnatg
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * erroutc.ads, erroutc.adb (Set_Specific_Warning_On): New procedure
+ (Set_Specific_Warning_Off): New procedure
+ (Warning_Specifically_Suppressed): New function
+ (Validate_Specific_Warnings): New procedure
+ (Output_Msg_Text): Complete rewrite to support -gnatjnn
+
+ * err_vars.ads: Implement insertion character ~ (insert string)
+
+2006-10-31 Bob Duff <duff@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): For extension aggregates, if
+ the parent part is a build-in-place function call, generate assignments.
+ (Expand_Record_Aggregate): Call Convert_To_Assignments if any components
+ are build-in-place function calls.
+ (Replace_Self_Reference): New subsidiary of
+ Make_OK_Assignment_Statement, to replace an access attribute that is a
+ self-reference into an access to the appropriate component of the
+ target object. Generalizes previous mechanism to handle self-references
+ nested at any level.
+ (Is_Self_Referential_Init): Remove, not needed.
+ (Is_Self_Referential_Init): New predicate to simplify handling of self
+ referential components in record aggregates.
+ (Has_Default_Init_Comps, Make_OK_Assignment_Statement): Add guard to
+ check for presence of entity before checking for self-reference.
+ (Has_Default_Init_Comps): Return True if a component association is a
+ self-reference to the enclosing type, which can only come from a
+ default initialization.
+ (Make_OK_Assignment_Statement): If the expression is of the form
+ Typ'Acc, where Acc is an access attribute, the expression comes from a
+ default initialized self-referential component.
+ (Build_Record_Aggr_Code): If the type of the aggregate is a tagged type
+ that has been derived from several abstract interfaces we must also
+ initialize the tags of the secondary dispatch tables.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb:
+ (Expand_Access_To_Protected_Op): If the context indicates that an access
+ to a local operation may be transfered outside of the object, create an
+ access to the wrapper operation that must be used in an external call.
+ (Expand_N_Attribute_Reference, case Attribute_Valid): For the AAMP
+ target, pass the Valid attribute applied to a floating-point prefix on
+ to the back end without expansion.
+ (Storage_Size): Use the new run-time function Storage_Size to retrieve
+ the allocated storage when it is specified by a per-object expression.
+ (Expand_N_Attribute_Reference): Add case for Attribute_Stub_Type.
+ Nothing to do here, the attribute has been rewritten during semantic
+ analysis.
+ (Expand_Attribute_Reference): Handle expansion of the new Priority
+ attribute
+ (Find_Fat_Info): Handle case of universal real
+ (Expand_Access_To_Protected_Op): Fix use of access to protected
+ subprogram from inside the body of a protected entry.
+ (Expand_Access_To_Protected_Op): Common procedure for the expansion of
+ 'Access and 'Unrestricted_Access, to transform the attribute reference
+ into a fat pointer.
+ (Is_Constrained_Aliased_View): New predicate to help determine whether a
+ subcomponent's enclosing variable is aliased with a constrained subtype.
+ (Expand_N_Attribute_Reference, case Attribute_Constrained): For Ada_05,
+ test Is_Constrained_Aliased_View rather than Is_Aliased_View, because
+ an aliased prefix must be known to be constrained in order to use True
+ for the attribute value, and now it's possible for some aliased views
+ to be unconstrained.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch2.adb: Change Is_Lvalue to May_Be_Lvalue
+ (Expand_Entity_Reference): Correct error of not handling subprogram
+ formals in current_value processing.
+
+2006-10-31 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch3.ads, exp_ch3.adb (Expand_N_Object_Declaration): Do not
+ register in the final list objects containing class-wide interfaces;
+ otherwise we incorrectly register the tag of the interface in the final
+ list.
+ (Make_Controlling_Function_Wrappers): Add missing barrier to do not
+ generate the wrapper if the parent primitive is abstract. This is
+ required to report the correct error message.
+ (Expand_N_Subtype_Indication): Do validity checks on range
+ (Clean_Task_Names): If an initialization procedure includes a call to
+ initialize a task (sub)component, indicate that the procedure will use
+ the secondary stack.
+ (Build_Init_Procedure, Init_Secondary_Tags): Enable full ABI
+ compatibility for interfacing with CPP by default.
+ (Expand_N_Object_Declaration): Only build an Adjust call when the
+ object's type is a nonlimited controlled type.
+ * exp_ch3.adb: Add with and use of Exp_Ch6.
+ (Expand_N_Object_Declaration): Check for object initialization that is a
+ call to build-in-place function and apply Make_Build_In_Place_Call_In_
+ Object_Declaration to the call.
+ (Freeze_Type): When the designated type of an RACW was not frozen at the
+ point where the RACW was declared, validate the primitive operations
+ with respect to E.2.2(14) when it finally is frozen.
+ (Build_Initialization_Call,Expand_Record_Controller): Rename
+ Is_Return_By_Reference_Type to be Is_Inherently_Limited_Type, because
+ return-by-reference has no meaning in Ada 2005.
+ (Init_Secondary_Tags): Add missing call to Set_Offset_To_Top
+ to register tag of the immediate ancestor interfaces in the
+ run-time structure.
+ (Init_Secondary_Tags): Moved to the specification to allow the
+ initialization of extension aggregates with abstract interfaces.
+ (Build_Master_Renaming): Make public, for use by function declarations
+ whose return type is an anonymous access type.
+ (Freeze_Record_Type): Replace call to Insert_List_Before by call to
+ Insert_List_Before_And_Analyze after the generation of the specs
+ associated with null procedures.
+ (Expand_Tagged_Root): Update documentation in its specification.
+ (Init_Secondary_Tags): Update documentation.
+ (Build_Init_Procedure): If we are compiling under CPP full ABI compa-
+ tibility mode and the immediate ancestor is a CPP_Pragma tagged type
+ then generate code to inherit the contents of the dispatch table
+ directly from the ancestor.
+ (Expand_Record_Controller): Insert controller component after tags of
+ implemented interfaces.
+ (Freeze_Record_Type): Call new procedure Make_Null_Procedure_Specs to
+ create null procedure overridings when null procedures are inherited
+ from interfaces.
+ (Make_Null_Procedure_Specs): New procedure to generate null procedure
+ declarations for overriding null primitives inherited from interfaces.
+ (Is_Null_Interface_Procedure): New function in
+ Make_Null_Procedure_Specs.
+ (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): If the
+ immediate ancestor of a tagged type is an abstract interface type we
+ must generate the specification of the predefined primitives associated
+ with controlled types (because the dispatch table of the ancestor is
+ null and hence these entries cannot be inherited). This is required to
+ elaborate well the dispatch table.
+
+2006-10-31 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Type_Conversion): Handle missing interface type
+ conversion.
+ (Expand_N_In): Do validity checks on range
+ (Expand_Selected_Component): Use updated for of Denotes_Discriminant.
+ (Expand_N_Allocator): For "new T", if the object is constrained by
+ discriminant defaults, allocate the right amount of memory, rather than
+ the maximum for type T.
+ (Expand_Allocator_Expression): Suppress the call to Remove_Side_Effects
+ when the allocator is initialized by a build-in-place call, since the
+ allocator is already rewritten as a reference to the function result,
+ and this prevents an unwanted duplication of the function call.
+ Add with and use of Exp_Ch6.
+ (Expand_Allocator_Expresssion): Check for an allocator whose expression
+ is a call to build-in-place function and apply
+ Make_Build_In_Place_Call_In_Allocator to the call (for both tagged and
+ untagged designated types).
+ (Expand_N_Unchecked_Type_Conversion): Do not do integer literal
+ optimization if source or target is biased.
+ (Expand_N_Allocator): Add comments for case of an allocator within a
+ function that returns an anonymous access type designating tasks.
+ (Expand_N_Allocator): apply discriminant checks for access
+ discriminants of anonymous access types (AI-402, AI-416)
+
+2006-10-31 Bob Duff <duff@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.ads (Expand_N_Extended_Return_Statement): New procedure.
+
+ * exp_ch5.adb (Expand_N_Loop_Statement): Do validity checks on range
+ (Expand_N_Assignment_Statement): Call
+ Make_Build_In_Place_Call_In_Assignment if the right-hand side is a
+ build-in-place function call. Currently, this can happen only for
+ assignments that come from aggregates.
+ Add -gnatd.l --Use Ada 95 semantics for limited function returns,
+ in order to alleviate the upward compatibility introduced by AI-318.
+ (Expand_N_Extended_Return_Statement): Add support for handling the
+ return object as a build-in-place result.
+ (Expand_Non_Function_Return): Implement simple return statements nested
+ within an extended return.
+ (Enable_New_Return_Processing): Turn on the new processing of return
+ statements.
+ (Expand_Non_Function_Return): For a return within an extended return,
+ don't raise Program_Error, because Sem_Ch6 now gives a warning.
+ (Expand_N_Extended_Return_Statement): Implement AI-318
+ (Expand_Simple_Function_Return): Ditto.
+ (Expand_N_If_Statement): Handle new -gnatwt warning
+ (Expand_N_Case_Statement): Handle new -gnatwt warning
+ (Expand_N_Assignment): Handle assignment to the Priority attribute of
+ a protected object.
+ (Expand_N_Assignment_Statement): Implement -gnatVe/E to control
+ validity checking of assignments to elementary record components.
+ (Expand_N_Return_Statement): return Class Wide types on the secondary
+ stack independantly of their controlled status since with HIE runtimes,
+ class wide types are not potentially controlled anymore.
+
+ * expander.adb (Expand): Add case for new N_Extended_Return_Statement
+ node kind.
+
+ * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Avoid
+ Expand_Cleanup_Actions in case of N_Extended_Return_Statement, because
+ it expects a block, procedure, or task. The return statement will get
+ turned into a block, and Expand_Cleanup_Actions will happen then.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Bob Duff <duff@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.ads, exp_ch6.adb: Use new Validity_Check suppression
+ capability.
+ (Expand_Inlined_Call): Tagged types are by-reference types, and
+ therefore should be replaced by a renaming declaration in the expanded
+ body, as is done for limited types.
+ (Expand_Call): If this is a call to a function with dispatching access
+ result, propagate tag from context.
+ (Freeze_Subprogram): Enable full ABI compatibility for interfacing with
+ CPP by default.
+ (Make_Build_In_Place_Call_In_Assignment): New procedure to do
+ build-in-place when the right-hand side of an assignment is a
+ build-in-place function call.
+ (Make_Build_In_Place_Call_In_Allocator): Apply an unchecked conversion
+ of the explicit dereference of the allocator to the result subtype of
+ the build-in-place function. This is needed to satisfy type checking
+ in cases where the caller's return object is created by an allocator for
+ a class-wide access type and the type named in the allocator is a
+ specific type.
+ (Make_Build_In_Place_Call_In_Object_Declaration): Apply an unchecked
+ conversion of the reference to the declared object to the result subtype
+ of the build-in-place function. This is needed to satisfy type checking
+ in cases where the declared object has a class-wide type. Also, in the
+ class-wide case, change the type of the object entity to the specific
+ result subtype of the function, to avoid passing a class-wide object
+ without explicit initialization to the back end.
+ (Register_Interface_DT_Entry): Moved outside the body of
+ Freeze_Subprogram because this routine is now public; it is called from
+ Check_Dispatching_Overriding to handle late overriding of abstract
+ interface primitives.
+ (Add_Access_Actual_To_Build_In_Place_Call): New utility procedure for
+ adding an implicit access actual on a call to a build-in-place function.
+ (Expand_Actuals): Test for an actual parameter that is a call to a
+ build-in-place function and apply
+ Make_Build_In_Place_Call_In_Anonymous_Context to the call.
+ (Is_Build_In_Place_Function): New function to determine whether an
+ entity is a function whose calls should be handled as build-in-place.
+ (Is_Build_In_Place_Function_Call): New function to determine whether an
+ expression is a function call that should handled as build-in-place.
+ (Make_Build_In_Place_Call_In_Allocator): New procedure for handling
+ calls to build-in-place functions as the initialization of an allocator.
+ (Make_Build_In_Place_Call_In_Anonymous_Context): New procedure for
+ handling calls to build-in-place functions in contexts that do not
+ involve init of a separate object (for example, actuals of subprogram
+ calls).
+ (Make_Build_In_Place_Call_In_Object_Declaration): New procedure for
+ handling calls to build-in-place functions as the initialization of an
+ object declaration.
+ (Detect_Infinite_Recursion): Add explicit parameter Process to
+ instantiation of Traverse_Body to avoid unreferenced warning.
+ (Check_Overriding_Inherited_Interfaces): Removed.
+ (Register_Interface_DT_Entry): Code cleanup.
+ (Register_Predefined_DT_Entry): Code cleanup.
+ (Expand_Inlined_Call.Rewrite_Procedure_Call): Do not omit block around
+ inlined statements if within a transient scope.
+ (Expand_Inlined_Call.Process_Formals): When replacing occurrences of
+ formal parameters with occurrences of actuals in inlined body, establish
+ visibility on the proper view of the actual's subtype for the body's
+ context.
+ (Freeze_Subprogram): Do nothing if we are compiling under full ABI
+ compatibility mode and we have an imported CPP subprogram because
+ for now we assume that imported CPP primitives correspond with
+ objects whose constructor is in the CPP side (and therefore we
+ don't need to generate code to register them in the dispatch table).
+ (Expand_Actuals): Introduce copy of actual, only if it might be a bit-
+ aligned selected component.
+ (Add_Call_By_Copy_Node): Add missing code to handle the case in which
+ the actual of an in-mode parameter is a type conversion.
+ (Expand_Actuals): If the call does not come from source and the actual
+ is potentially misaligned, let gigi handle it rather than rejecting the
+ (Expand_N_Subprogram_Body, Freeze_Subprogram): set subprograms returning
+ Class Wide types as returning by reference independantly of their
+ controlled status since with HIE runtimes class wide types are not
+ potentially controlled anymore.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch9.adb (Update_Prival_Types): Simplify code for entity
+ references that are private components of the protected object.
+ (Build_Barrier_Function): Set flag Is_Entry_Barrier_Function
+ (Update_Prival_Subtypes): Add explicit Process argument to Traverse_Proc
+ instantiation to deal with warnings.
+ (Initialize_Protection): If expression for priority is non-static, use
+ System_Priority as its expected type, in case the expression has not
+ been analyzed yet.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * exp_dbug.ads, exp_dbug.adb (Get_External_Name): Add missing
+ initialization of Homonym_Len.
+ (Fully_Qualify_Name): Remove kludge to eliminate anonymous block
+ names from fully qualified name. Fixes problem of duplicate
+ external names differing only in the presence of such a block name.
+
+2006-10-31 Thomas Quinot <quinot@adacore.com>
+ Pablo Oliveira <oliveira@adacore.com>
+
+ * exp_dist.adb (Get_Subprogram_Ids): This function will no more assign
+ subprogram Ids, even if they are not yet assigned.
+ (Build_Subprogram_Id): It is now this function that will take care of
+ calling Assign_Subprogram_Ids if necessary.
+ (Add_Receiving_Stubs_To_Declarations): Checking the subprograms ids
+ should be done only once they are assigned.
+ (Build_From_Any_Function, case of tagged types): Add missing call to
+ Allocate_Buffer.
+ (Corresponding_Stub_Type): New subprogram. Returns the associated stub
+ type for an RACW type.
+ (Add_RACW_Features): When processing an RACW declaration for which the
+ designated type is already frozen, enforce E.2.2(14) rules immediately.
+ (GARLIC_Support.Build_Subprogram_Receiving_Stubs): Do not perform any
+ special reordering of controlling formals.
+
+ * exp_dist.ads (Corresponding_Stub_Type): New subprogram. Returns the
+ associated stub type for an RACW type.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_fixd.adb (Rounded_Result_Set): For multiplication and division of
+ fixed-point operations in an integer context, i.e. as operands of a
+ conversion to an integer type, indicate that result must be rounded.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * exp_imgv.adb (Expand_Image_Attribute): For Wide_[Wide_]Character
+ cases, pass the encoding method, since it is now required by the run
+ time.
+
+ * s-valwch.ads, s-valwch.adb (Value_Wide_Wide_Character): Avoid
+ assumption that Str'First = 1.
+ (Value_Wide_Character): Takes EM (encoding method) parameter and passes
+ it on to the Value_Wide_Wide_Character call.
+ (Value_Wide_Wide_Character): Takes EM (encoding method) parameter and
+ properly handles a string of the form quote-encoded_wide_char-quote.
+
+ * s-wchcnv.adb: Minor reformatting
+
+2006-10-31 Javier Miranda <miranda@adacore.com>
+
+ * exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
+ run-time membership test to ensure that the constructed object
+ implements the target abstract interface.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Common_Object): Use a single
+ Machine_Attribute pragma internally to implement the user pragma.
+ Add processing for pragma Interface so that it is now completely
+ equivalent to pragma Import.
+
+ * sem_prag.adb (Analyze_Pragma, case Obsolescent): Extend this pragma
+ so that it can be applied to all entities, including record components
+ and enumeration literals.
+ (Analyze_Pragma, case Priority_Specific_Dispatching): Check whether
+ priority ranges are correct, verify compatibility against task
+ dispatching and locking policies, and if everything is correct an entry
+ is added to the table containing priority specific dispatching entries
+ for this compilation unit.
+ (Delay_Config_Pragma_Analyze): Delay processing
+ Priority_Specific_Dispatching pragmas because when processing the
+ pragma we need to access run-time data, such as the range of
+ System.Any_Priority.
+ (Sig_Flags): Add Pragma_Priority_Specific_Dispatching.
+ Allow pragma Unreferenced as a context item
+ Add pragma Preelaborable_Initialization
+ (Analyze_Pragma, case Interface): Interface is extended so that it is
+ now syntactically and semantically equivalent to Import.
+ (Analyze_Pragma, case Compile_Time_Warning): Fix error of blowups on
+ insertion characters.
+ Add handling for Pragma_Wide_Character_Encoding
+ (Process_Restrictions_Restriction_Warnings): Ensure that a warning
+ never supercedes a real restriction, and that a real restriction
+ always supercedes a warning.
+ (Analyze_Pragma, case Assert): Set Low_Bound_Known if assert is of
+ appropriate form.
+
+2006-10-31 Bob Duff <duff@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_ch7.adb (Build_Array_Deep_Procs, Build_Record_Deep_Procs,
+ Make_Deep_Record_Body): Rename Is_Return_By_Reference_Type to be
+ Is_Inherently_Limited_Type, because return-by-reference has no meaning
+ in Ada 2005.
+ (Find_Node_To_Be_Wrapped): Use new method of determining the result
+ type of the function containing a return statement, because the
+ Return_Type field was removed. We now use the Return_Applies_To field.
+
+ * exp_util.ads, exp_util.adb: Use new subtype N_Membership_Test
+ (Build_Task_Image_Decl): If procedure is not called from an
+ initialization procedure, indicate that function that builds task name
+ uses the sec. stack. Otherwise the enclosing initialization procedure
+ will carry the indication.
+ (Insert_Actions): Remove N_Return_Object_Declaration. We now use
+ N_Object_Declaration instead.
+ (Kill_Dead_Code): New interface to implement -gnatwt warning for
+ conditional dead code killed, and change implementation accordingly.
+ (Insert_Actions): Add N_Return_Object_Declaration case.
+ Correct comment to mention N_Extension_Aggregate node.
+ (Set_Current_Value_Condition): Call Safe_To_Capture_Value to avoid bad
+ attempts to save information for global variables which cannot be
+ safely tracked.
+ (Get_Current_Value_Condition): Handle conditions the other way round
+ (constant on left). Also handle right operand of AND and AND THEN
+ (Set_Current_Value_Condition): Corresponding changes
+ (Append_Freeze_Action): Remove unnecessary initialization of Fnode.
+ (Get_Current_Value_Condition): Handle simple boolean operands
+ (Get_Current_Value_Condition): Handle left operand of AND or AND THEN
+ (Get_Current_Value_Condition): If the variable reference is within an
+ if-statement, does not appear in the list of then_statments, and does
+ not come from source, treat it as being at unknown location.
+ (Get_Current_Value_Condition): Enhance to allow while statements to be
+ processed as well as if statements.
+ (New_Class_Wide_Subtype): The entity for a class-wide subtype does not
+ come from source.
+ (OK_To_Do_Constant_Replacement): Allow constant replacement within body
+ of loop. This is safe now that we fixed Kill_Current_Values.
+ (OK_To_Do_Constant_Replacement): Check whether current scope is
+ Standard, before examining outer scopes.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * krunch.ads, krunch.adb (Krunch): New Boolean parameter VMS_On_Target.
+ When True, apply VMS treatment to children of packages A, G, I and S.
+ For F320-016
+
+ * fname-uf.adb (Get_File_Name): Call Krunch with OpenVMS_On_Target
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb: Add handling of Last_Assignment field
+ (Warn_Overlay): Supply missing continuation marks in error msgs
+ (Freeze_Entity): Add check for Preelaborable_Initialization
+
+ * g-comlin.adb: Add Warnings (Off) to prevent new warning
+
+ * g-expect.adb: Add Warnings (Off) to prevent new warning
+
+ * lib-xref.adb: Add handling of Last_Assignment field
+ (Generate_Reference): Centralize handling of pragma Obsolescent here
+ (Generate_Reference): Accept an implicit reference generated for a
+ default in an instance.
+ (Generate_Reference): Accept a reference for a node that is not in the
+ main unit, if it is the generic body corresponding to an subprogram
+ instantiation.
+
+ * xref_lib.adb: Add pragma Warnings (Off) to avoid new warnings
+
+ * sem_warn.ads, sem_warn.adb (Set_Warning_Switch): Add processing for
+ -gnatwq/Q.
+ (Warn_On_Useless_Assignment): Suppress warning if enclosing inner
+ exception handler.
+ (Output_Obsolescent_Entity_Warnings): Rewrite to avoid any messages on
+ use clauses, to avoid messages on packages used to qualify, and also
+ to avoid messages from obsolescent units.
+ (Warn_On_Useless_Assignments): Don't generate messages for imported
+ and exported variables.
+ (Warn_On_Useless_Assignments): New procedure
+ (Output_Obsolescent_Entity_Warnings): New procedure
+ (Check_Code_Statement): New procedure
+
+ * einfo.ads, einfo.adb (Has_Static_Discriminants): New flag
+ Change name Is_Ada_2005 to Is_Ada_2005_Only
+ (Last_Assignment): New field for useless assignment warning
+
+2006-10-31 Olivier Hainque <hainque@adacore.com>
+
+ * g-alleve.adb (lvx, stvx): Ceil-Round the Effective Address to the
+ closest multiple of VECTOR_ALIGNMENT and not the closest multiple of 16.
+
+2006-10-31 Bob Duff <duff@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * g-awk.adb (Default_Session, Current_Session): Compile this file in
+ Ada 95 mode, because it violates the new rules for AI-318.
+
+ * g-awk.ads: Use overloaded subprograms in every case where we used to
+ have a default of Current_Session. This makes the code closer to be
+ correct for both Ada 95 and 2005.
+
+ * g-moreex.adb (Occurrence): Turn off warnings for illegal-in-Ada-2005
+ code, relying on the fact that the compiler generates a warning
+ instead of an error in -gnatg mode.
+
+ * lib-xref.ads (Xref_Entity_Letters): Add entry for new
+ E_Return_Statement entity kind.
+ Add an entry for E_Incomplete_Subtype in Xref_Entity_Letters.
+
+ * par.adb (P_Interface_Type_Definition): Addition of one formal to
+ report an error if the reserved word abstract has been previously found.
+ (SS_End_Type): Add E_Return for new extended_return_statement syntax.
+
+ * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve message for
+ parenthesized range attribute usage
+ (P_Expression_No_Right_Paren): Add missing comment about error recovery.
+
+ * par-ch6.adb (P_Return_Object_Declaration): AI-318: Allow "constant"
+ in the syntax for extended_return_statement. This is not in the latest
+ RM, but the ARG is expected to issue an AI allowing this.
+ (P_Return_Subtype_Indication,P_Return_Subtype_Indication): Remove
+ N_Return_Object_Declaration. We now use N_Object_Declaration instead.
+ (P_Return_Object_Declaration, P_Return_Subtype_Indication,
+ P_Return_Statement): Parse the new syntax for extended_return_statement.
+
+ * par-endh.adb (Check_End, Output_End_Deleted, Output_End_Expected,
+ Output_End_Missing): Add error-recovery code for the new
+ extended_return_statement syntax; that is, the new E_Return entry on
+ the scope stack.
+
+ * s-auxdec-vms_64.ads, s-auxdec.ads (AST_Handler): Change type from
+ limited to nonlimited, because otherwise we violate the new Ada 2005
+ rules about returning limited types in function Create_AST_Handler in
+ s-asthan.adb.
+
+ * sem.adb (Analyze): Add cases for new node kinds
+ N_Extended_Return_Statement and N_Return_Object_Declaration.
+
+ * sem_aggr.adb (Aggregate_Constraint_Checks): Verify that component
+ type is in the same category as type of context before applying check,
+ to prevent anomalies in instantiations.
+ (Resolve_Aggregate): Remove test for limited components in aggregates.
+ It's unnecessary in Ada 95, because if it has limited components, then
+ it must be limited. It's wrong in Ada 2005, because limited aggregates
+ are now allowed.
+ (Resolve_Record_Aggregate): Move check for limited types later, because
+ OK_For_Limited_Init requires its argument to have been resolved.
+ (Get_Value): When copying the component default expression for a
+ defaulted association in an aggregate, use the sloc of the aggregate
+ and not that of the original expression, to prevent spurious
+ elaboration errors, when the expression includes function calls.
+ (Check_Non_Limited_Type): Correct code for AI-287, extension aggregates
+ were missing. We also didn't handle qualified expressions. Now also
+ allow function calls. Use new common routine OK_For_Limited_Init.
+ (Resolve_Extension_Aggregate): Minor fix to bad error message (started
+ with space can upper case letter).
+
+ * sem_ch3.ads, sem_ch3.adb (Create_Constrained_Components): Set
+ Has_Static_Discriminants flag
+ (Record_Type_Declaration): Diagnose an attempt to declare an interface
+ type with discriminants.
+ (Process_Range_Expr_In_Decl): Do validity checks on range
+ (Build_Discriminant_Constraints): Use updated form of
+ Denotes_Discriminant.
+ (Process_Subtype): If the subtype is a private subtype whose full view
+ is a concurrent subtype, introduce an itype reference to prevent scope
+ anomalies in gigi.
+ (Build_Derived_Record_Type, Collect_Interface_Primitives,
+ Record_Type_Declaration): The functionality of the subprograms
+ Collect_Abstract_Interfaces and Collect_All_Abstract_Interfaces
+ is now performed by a single routine.
+ (Build_Derived_Record_Type): If the type definition includes an explicit
+ indication of limitedness, then the type must be marked as limited here
+ to ensure that any access discriminants will not be treated as having
+ a local anonymous access type.
+ (Check_Abstract_Overriding): Issue a detailed error message when an
+ abstract subprogram was not overridden due to incorrect mode of its
+ first parameter.
+ (Analyze_Private_Extension_Declaration): Add support for the analysis of
+ synchronized private extension declarations. Verify that the ancestor is
+ a limited or synchronized interface or in the generic case, the ancestor
+ is a tagged limited type or synchronized interface and all progenitors
+ are either limited or synchronized interfaces.
+ Derived_Type_Declaration): Check for presence of private extension when
+ dealing with synchronized formal derived types.
+ Process_Full_View): Enchance the check done on the usage of "limited" by
+ testing whether the private view is synchronized.
+ Verify that a synchronized private view is completed by a protected or
+ task type.
+ (OK_For_Limited_Init_In_05): New function.
+ (Analyze_Object_Declaration): Move check for limited types later,
+ because OK_For_Limited_Init requires its argument to have been resolved.
+ Add -gnatd.l --Use Ada 95 semantics for limited function returns,
+ in order to alleviate the upward compatibility introduced by AI-318.
+ (Constrain_Corresponding_Record): If the constraint is for a component
+ subtype, mark the itype as frozen, to avoid out-of-scope references to
+ discriminants in the back-end.
+ (Collect_Implemented_Interfaces): Protect the recursive algorithm of
+ this subprogram against wrong sources.
+ (Get_Discr_Value, Is_Discriminant): Handle properly references to a
+ discriminant of limited type completed with a protected type, when the
+ discriminant is used to constrain a private component of the type, and
+ expansion is disabled.
+ (Find_Type_Of_Object): Do not treat a return subtype that is an
+ anonymous subtype as a local_anonymous_type, because its accessibility
+ level is the return type of the enclosing function.
+ (Check_Initialization): In -gnatg mode, turn the error "cannot
+ initialize entities of limited type" into a warning.
+ (OK_For_Limited_Init): Return true for generated nodes, since it
+ sometimes violates the legality rules.
+ (Make_Incomplete_Declaration): If the type for which an incomplete
+ declaration is created happens to be the currently visible entity,
+ preserve the homonym chain when removing it from visibility.
+ (Check_Conventions): Add support for Ada 2005 (AI-430): Conventions of
+ inherited subprograms.
+ (Access_Definition): If this is an access to function that is the return
+ type of an access_to_function definition, context is a type declaration
+ and the scope of the anonymous type is the current one.
+ (Analyze_Subtype_Declaration): Add the defining identifier of a regular
+ incomplete subtype to the set of private dependents of the original
+ incomplete type.
+ (Constrain_Discriminated_Type): Emit an error message whenever an
+ incomplete subtype is being constrained.
+ (Process_Incomplete_Dependents): Transform an incomplete subtype into a
+ corresponding subtype of the full view of the original incomplete type.
+ (Check_Incomplete): Properly detect invalid usage of incomplete types
+ and subtypes.
+
+2006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * g-catiio.ads, g-catiio.adb (Value): New function.
+ Given an input String, try and parse a valid Time value.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * g-debpoo.adb (Is_Valid): Correctly compute Offset using
+ Integer_Address arithmetic, as in Set_Valid.
+
+2006-10-31 Arnaud Charlet <charlet@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * gnatcmd.adb (Process_Link): Use Osint.Executable_Name instead of
+ handling executable extension manually and duplicating code.
+
+ * make.adb: Implement new -S switch
+ (Gnatmake): Use new function Osint.Executable_Name instead
+ of handling executable extension manually.
+
+ * prj-util.adb (Executable_Of): Make sure that if an Executable_Suffix
+ is specified, the executable name ends with this suffix.
+ Take advantage of Osint.Executable_Name instead of duplicating code.
+
+ * switch-m.adb: Recognize new gnatmake -S switch
+
+ * targparm.ads, targparm.adb (Executable_Extension_On_Target): New
+ variable.
+ (Get_Target_Parameters): Set Executable_Extension_On_Target if
+ available.
+
+ * makeusg.adb: Add line for gnatmake -S switch
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * gnatlink.adb (Gnatlink): If gcc is not called with -shared-libgcc,
+ call it with -static-libgcc, as there are some platforms, such as
+ Darwin, where one of these two switches is compulsory to link.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * gnatls.adb: Take into account GPR_PROJECT_PATH, when it is defined,
+ instead of ADA_PROJECT_PATH, for the project path.
+ (Gnatls): When displaying the project path directories, use host dir
+ specs.
+
+ * prj-ext.adb (Prj.Ext elaboration): On VMS, only expand relative path
+ names in the project path, as absolute paths may correspond to
+ multi-valued VMS logical names.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * g-os_lib.ads, g-os_lib.adb (Locate_Exec_On_Path): Always return an
+ absolute path name.
+ (Locate_Regular_File): Ditto
+ (Change_Dir): Remove, no longer used
+ (Normalize_Pathname): Do not use Change_Dir to get the drive letter
+ on Windows. Get it calling Get_Current_Dir.
+ (OpenVMS): Remove imported boolean, no longer needed.
+ (Normalize_Pathname)[VMS]: Do not resolve directory names.
+ (Pid_To_Integer): New function to convert a Process_Id to Integer
+
+2006-10-31 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.ads, g-socket.adb (Close_Selector): Once the signalling
+ sockets are closed, reset the R_Sig_Socket and W_Sig_Socket components
+ to No_Socket.
+ (Selector_Type): Add default value of No_Socket for R_Sig_Socket and
+ W_Sig_Socket.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * g-speche.ads, g-speche.adb: Add special case to recognize misspelling
+ initial letter o as a zero.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * g-spipat.adb (S_To_PE): Remove incorrect use of 0 instead of Str'First
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * layout.adb (Layout_Record_Type): Deal with non-static subtypes of
+ variant records
+ (Layout_Variant_Record): Retrieve the discriminants from the entity
+ rather than from the type definition, because in the case of a full
+ type for a private type we need to take the discriminants from the
+ partial view.
+ (Layout_Component_List): When applying the Max operator to variants with
+ a nonstatic size, check whether either operand is static and scale that
+ operand from bits to storage units before applying Max.
+ (Layout_Type): In VMS, if a C-convention access type has no explicit
+ size clause (and does not inherit one in the case of a derived type),
+ then the size is reset to 32 from 64.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * lib-load.adb (Load_Unit): Skip the test for a unit not found when
+ its file has already been loaded, according to the unit being loaded,
+ not to the current value of Multiple_Unit_Index.
+
+2006-10-31 Thomas Quinot <quinot@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in: Set EH mechanism to ZCX for FreeBSD.
+ (NO_REORDER_ADAFLAGS): New var defined to -fno-toplevel-reorder if
+ possible.
+ (a-except.o): Pass it to the compiler.
+ (gnatlib-shared-vms): Removed -nostartfiles switch in link step.
+ (LIBGNAT_TARGET_PAIRS for Windows): Avoid the use of the specific
+ a-calend-mingw.adb version.
+
+ * Makefile.rtl: Added s-dsaser.
+ Add object entries for Ada.Calendar.[Arithmetic/Formatting/Time_Zones]
+ (GNATRTL_TASKING_OBJS): Add Ada.Dispatching and
+ Ada.Dispatching.Round_Robin.
+ Added new unit Ada.Containers.Restricted_Bounded_Doubly_Linked_Lists
+
+ * Make-lang.in: Remove all references to gt-ada-decl.h.
+ Add concatenation (s-strops/s-sopco3/s-sopco4/s-sopco5) to compiler
+ sources.
+ Add dependency on ada/s-restri.o for GNAT1 and GNATBIND objects.
+ Update dependencies.
+
+ * system-freebsd-x86.ads: Make ZCX the default EH mechanism for FreeBSD
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * mlib-utl.adb (Initialized): Remove, no longer used
+ (Initialize): Remove, no longer used
+ (Ar): If Ar_Exec is null, get the location of the archive builder and,
+ if there is one, the archive indexer. Fail if the archive builder cannot
+ be found.
+ (Gcc): If the driver path is unknown, get it. Fail if the driver cannot
+ be found.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.ads, sem_ch10.adb (Check_Redundant_Withs,
+ Process_Body_Clauses): If the context of a body includes a use clause
+ for P.Q then a with_clause for P in the same body is not redundant,
+ even if the spec also has a with_clause on P.
+ Add missing continuation mark to error msg
+ (Build_Limited_Views): A limited view of a type is tagged if its
+ declaration includes a record extension.
+ (Analyze_Proper_Body): Set Corresponding_Stub field in N_Subunit
+ node, even if the subunit has errors. This avoids malfunction by
+ Lib.Check_Same_Extended_Unit in the presence of syntax errors.
+ (Analyze_Compilation_Unit): Add circuit to make sure we get proper
+ generation of obsolescent messages for with statements (cannot do
+ this too early, or we cannot implement avoiding the messages in the
+ case of obsolescent units withing obsolescent units).
+ (Install_Siblings): If the with_clause is on a remote descendant of
+ an ancestor of the current compilation unit, find whether there is
+ a sibling child unit that is immediately visible.
+ (Remove_Private_With_Clauses): New procedure, invoked after completing
+ the analysis of the private part of a nested package, to remove from
+ visibility the private with_clauses of the enclosing package
+ declaration.
+ (Analyze_With_Clause): Remove Check_Obsolescent call, this checking is
+ now centralized in Generate_Reference.
+ (Install_Limited_Context_Clauses): Remove superfluous error
+ message associated with unlimited view visible through use
+ and renamings. In addition, at the point in which the error
+ is reported, we add the backslash to the text of the error
+ to ensure that it is reported as a single error message.
+ Use new // insertion for some continuation messages
+ (Expand_Limited_With_Clause): Use copy of name rather than name itself,
+ to create implicit with_clause for parent unit mentioned in original
+ limited_with_clause.
+ (Install_Limited_With_Unit): Set entity of parent identifiers if the
+ unit is a child unit. For ASIS queries.
+ (Analyze_Subunit): If the subunit appears within a child unit, make all
+ ancestor child units directly visible again.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * par-ch10.adb (P_Context_Clause): Minor error message fix
+
+2006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * par-ch12.adb: Grammar update and cleanup.
+ (P_Formal_Type_Definition, P_Formal_Derived_Type_Definition): Add
+ support for synchronized derived type definitions.
+ Add the new actual Abstract_Present to every call to
+ P_Interface_Type_Definition.
+ (P_Formal_Object_Declarations): Update grammar rules. Handle parsing of
+ a formal object declaration with an access definition or a subtype mark
+ with a null exclusion.
+ (P_Generic_Association): Handle association with box, and others_choice
+ with box, to support Ada 2005 partially parametrized formal packages.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * par-ch3.adb (P_Range_Or_Subtype_Mark): Check for bad parentheses
+ (P_Type_Declaration): Remove barrier against the reserved word "limited"
+ after "abstract" to give support to the new syntax of AARM 3.4 (2/2).
+ (P_Type_Declaration): Minor code cleanup. Add support for synchronized
+ private extensions.
+ (P_Type_Declaration): Add the new actual Abstract_Present to every call
+ to P_Interface_Type_Definition.
+ (P_Interface_Type_Definition): Addition of one formal to report an error
+ if the reserved word abstract has been previously found.
+ (P_Identifier_Declarations): Update grammar rules. Handle parsing of an
+ object renaming declaration with an access definition or subtype mark
+ with a possible null exclusion.
+
+ * par-ch9.adb: Minor error msg fix
+
+ * par-load.adb: Add missing continuation mark to error msg
+
+ * par-tchk.adb: (Wrong_Token): Code cleanup, use concatenation
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * prj-dect.adb (Parse_Attribute_Declaration): Do not issue warning for
+ unknown attribute in unknown package or in package that does not need
+ to be checked.
+ (Parse_Package_Declaration): Do not issue warning for unknown package in
+ quiet output.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * prj-makr.adb (Packages_To_Check_By_Gnatname): New global constant
+ (Make): Call Parse with Packages_To_Check_By_Gnatname for parameter
+ Packages_To_Check.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Ada_Name): For children of package A, G, I and S
+ on VMS, change "__" to '.' before checking the name.
+ (Record_Ada_Source): Always add the source file name in the list of
+ of sources, even if it is not the first time, as it is for another
+ source index.
+ (Get_Unit): Replace both '_' (after 'a', 'g', 'i' or 's') with a single
+ dot, instead of replacing only the first '_'.
+
+ * prj-part.adb (Parse): Convert project file path to canonical form
+
+ * prj-proc.adb (Recursive_Process): Make sure that, when a project is
+ extended, the project id of the project extending it is recorded in its
+ data, even when it has already been processed as an imported project.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * repinfo.adb (List_Entities): Don't list entities from renaming
+ declarations.
+
+2006-10-31 Arnaud Charlet <charlet@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * restrict.ads, restrict.adb (Restriction_Active): Now returns False if
+ only a restriction warning is active for the given restriction. This is
+ desirable because we do not want to modify code in the case where only
+ a warning is set.
+ (Set_Profile_Restrictions): Make sure that a Profile_Warnings never
+ causes overriding of real restrictions.
+ Take advantage of new No_Restrictions constant.
+
+ * raise.h: (__gnat_set_globals): Change profile.
+
+2006-10-31 Arnaud Charlet <charlet@adacore.com>
+
+ * rtsfind.adb: Remove s-polint from comment as it exists no more.
+
+ * rtsfind.ads:
+ Move entity RE_Get_Active_Partition_Id to package System.DSA_Services.
+ Move all the entities in obsolete package System.PolyORB_Interface to
+ System.Partition_Interface.
+ (RE_Storage_Size): New function in System.Tasking.
+ (RE_Get_Ceiling): New entity.
+ (RE_Set_Ceiling): New entity.
+ (RO_PE_Get_Ceiling): New entity.
+ (RO_RE_Set_Ceiling): New entity.
+ (Inherit_CPP_DT): New entity
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb (Scan, case of numeric literal): Better msg for identifier
+ starting with a digit.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_attr.ads, sem_attr.adb (Analyze_Access_Attribute): Diagnose
+ properly an attempt to apply Unchecked_Access to a protected operation.
+ (OK_Self_Reference): New subprogram to check the legality of an access
+ attribute whose prefix is the type of an enclosing aggregate.
+ Generalizes previous mechanism to handle attribute references nested
+ arbitrarily deep within the aggregate.
+ (Analyze_Access_Attribute): An access attribute whose prefix is a type
+ can appear in an aggregate if this is a default-initialized aggregate
+ for a self-referential type.
+ (Resolve_Attribute, case Access): Ditto.
+ Add support for new implementation defined attribute Stub_Type.
+ (Eval_Attribute, case Attribute_Stub_Type): New case.
+ (Analyze_Attribute, case Attribute_Stub_Type): New case.
+ (Stream_Attribute_Available): Implement using new subprogram from
+ sem_cat, Has_Stream_Attribute_Definition, instead of incorrect
+ Has_Specified_Stream_Attribute flag.
+ Disallow Storage_Size and Storage_Pool for access to subprogram
+ (Resolve_Attribute, case 'Access et al): Take into account anonymous
+ access types of return subtypes in extended return statements. Remove
+ accessibility checks on anonymous access types when Unchecked_Access is
+ used.
+ (Analyze_Attribute): Add support for the use of 'Class to convert
+ a class-wide interface to a tagged type.
+ Add support for the attribute Priority.
+ (Resolve_Attribute, case Attribute_Access): For Ada_05, add test for
+ whether the designated type is discriminated with a constrained partial
+ view and require static matching in that case.
+ Add local variable Des_Btyp. The Designated_Type
+ of an access to incomplete subtype is either its non-limited view if
+ coming from a limited with or its etype if regular incomplete subtype.
+
+ * sem_cat.ads, sem_cat.adb (Validate_Remote_Access_To_Class_Wide_Type):
+ Fix predicate to identify and allow cases of (expander-generated)
+ references to tag of designated object of a RACW.
+ (Validate_Static_Object_Name): In Ada 2005, a formal object is
+ non-static, and therefore cannot appear as a primary in a preelaborable
+ package.
+ (Has_Stream_Attribute_Definition): New subprogram, abstracted from
+ Has_Read_Write_Attributes.
+ (Has_Read_Write_Attributes): Reimplement in termes of
+ Has_Stream_Attribute_Definition.
+ (Missing_Read_Write_Attributes): When checking component types in a
+ record, unconditionally call Missing_Read_Write_Attributes recursively
+ (remove guard checking for Is_Record_Type / Is_Access_Type).
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch11.adb (Analyze_Handled_Statements): Move final test for
+ useless assignments here and conditionalize it on absence of exception
+ handlers.
+ (Analyze_Exception_Handlers): Small code reorganization of error
+ detection code, for new handling of formal packages.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.ads, sem_ch12.adb (Save_References): If node is an operator
+ that has been constant-folded, preserve information of original tree,
+ for ASIS uses.
+ (Analyze_Formal_Derived_Type): Set the limited present flag of the newly
+ generated private extension declaration if the formal derived type is
+ synchronized. Carry synchronized present over to the generated private
+ extension.
+ (Validate_Derived_Type_Instance): Ensure that the actual of a
+ synchronized formal derived type is a synchronized tagged type.
+ (Instantiate_Formal_Package): When creating the instantiation used to
+ validate the actual package of a formal declared without a box, check
+ whether the formal itself depends on a prior actual.
+ (Instantiate_Formal_Subprogram): Create new entities for the defining
+ identifiers of the formals in the renaming declaration, for ASIS use.
+ (Instantiate_Formal_Subprogram, Instantiate_Formal_Type): When creating
+ a renaming declaration or a subtype declaration for an actual in an
+ instance, capture location information of declaration in generic, for
+ ASIS use.
+ (Instantiate_Formal_Package): Add comments on needed additional tests.
+ AI-317 (partial parametrization) is fully implemented.
+ (Validate_Private_Type_Instance): Add check for actual which
+ must have preelaborable initialization
+ Use new // insertion for some continuation messages
+ (Analyze_Formal_Object_Declaration): Change usage of Expression to
+ Default_Expression. Add type retrieval when the declaration has an
+ access definition. Update premature usage of incomplete type check.
+ (Check_Access_Definition): New subsidiary routine. Check whether the
+ current compilation version is Ada 05 and the supplied node has an
+ access definition.
+ (Instantiate object): Alphabetize local variables. Handle the creation
+ of new renaming declarations with respect to the kind of definition
+ used - either an access definition or a subtype mark. Guard against
+ unnecessary error message in the context of anonymous access types after
+ they have been resolved. Add check for required null exclusion in a
+ formal object declaration.
+ (Switch_View): A private subtype of a non-private type needs to be
+ switched (the base type can have been switched without its private
+ dependents because of the last branch of Check_Private_View.
+ (Check_Private_View): Do not recompute Base_Type (T), instead use cached
+ value from BT.
+ (Instantiate_Type): Emit an error message whenever a class-wide type of
+ a tagged incomplete type is used as a generic actual.
+ (Find_Actual_Type): Extend routine to handle a component type in a child
+ unit that is imported from a formal package in a parent.
+ (Validate_Derived_Type_Instance): Check that analyzed formal and actual
+ agree on constrainedness, rather than checking against ultimate ancestor
+ (Instantiate_Subprogram_Body): Create a cross-reference link to the
+ generic body, for navigation purposes.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb: Storage pool cannot be given for access to subprogram
+ type.
+ (New_Stream_Subprogram): When processing an attribute definition clause
+ for a stream-oriented subprogram, record an entity node occurring at
+ the point of clause to use for checking the visibility of the clause,
+ as defined by 8.3(23) as amended by AI-195.
+ (New_Stream_Subprogram): New procedure, factoring behaviour from both
+ New_Stream_Function and New_Stream_Procedure.
+ (New_Stream_Function, New_Stream_Procedure): Removed.
+ (Analyze_Attribute_Definition_Clause, case Address): Check new
+ Alignment_Check check
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_ch4.adb (Try_Primitive_Operation): Code cleanup to ensure that we
+ generate the same errors compiling under -gnatc.
+ (Try_Object_Operation): If no candidate interpretation succeeds, but
+ there is at least one primitive operation with the right name, report
+ error in call rather than on a malformed selected component.
+ (Analyze_Selected_Component): If the prefix is an incomplete type from
+ a limited view, and the full view is available, use the full view to
+ determine whether this is a prefixed call to a primitive operation.
+ (Operator_Check): Verify that a candidate interpretation is a binary
+ operation before checking the type of its second formal.
+ (Analyze_Call): Add additional warnings for function call contexts not
+ yet supported.
+ (Analyze_Allocator): Move the check for "initialization not allowed for
+ limited types" after analyzing the expression. This is necessary,
+ because OK_For_Limited_Init looks at the structure of the expression.
+ Before analysis, we don't necessarily know what sort of expression it
+ is. For example, we don't know whether F(X) is a function call or an
+ indexed component; the former is legal in Ada 2005; the latter is not.
+ (Analyze_Allocator): Correct code for AI-287 -- extension aggregates
+ were missing. We also didn't handle qualified expressions. Now also
+ allow function calls. Use new common routine OK_For_Limited_Init.
+ (Analyze_Type_Conversion): Do not perform some legality checks in an
+ instance, because the error message will be redundant or spurious.
+ (Analyze_Overloaded_Selected_Component): Do not do style check when
+ setting an entity, since we do not know it is the right entity yet.
+ (Analyze_Selected_Component): Move Generate_Reference call to Sem_Res
+ (Analyze_Overloaded_Selected_Component): Same change
+ (Analyze_Selected_Component): Remove unnecessary prefix type retrieval
+ since regular incomplete subtypes are transformed into corresponding
+ subtypes of their full views.
+ (Complete_Object_Operation): Treat name of transformed subprogram call
+ as coming from source, for browsing purposes.
+ (Try_Primitive_Operation): If formal is an access parameter, compare
+ with base type of object to determine whether it is a primitive
+ operation.
+ (Operator_Check): If no interpretation of the operator matches, check
+ whether a use clause on any candidate might make the operation legal.
+ (Try_Class_Wide_Operation): Check whether the first parameter is an
+ access type whose designated type is class-wide.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch5.ads, sem_ch5.adb (Analyze_Loop_Statement): Add circuit to
+ warn on infinite loops.
+ Add \\ to some continuation messages
+ (Analyze_Assignment_Statement): Call Warn_On_Useless_Assignment
+ (Process_Bounds): If the bounds are integer literals that result from
+ constant-folding, and they carry a user-defined type, preserve that type
+ rather than treating this as an integer range.
+ (Analyze_Exit_Statement): Test for E_Return_Statement in legality check.
+ (Analyze_Goto_Statement): Test for E_Return_Stateemnt in legality check.
+ (Analyze_Assignment_Statement): Add call to Check_Elab_Assign for
+ left hand side of assignment.
+ (Analyze_Assignment): Add suport to manage assigments to the attribute
+ priority of a protected object.
+ (Check_Possible_Current_Value_Condition): Allow fully qualified names
+ not just identifiers.
+ (Check_Possible_Current_Value_Condition): Acquire left operand of AND
+ or AND THEN for possible tracking.
+ (Analyze_Iteration_Scheme): Check for setting Current_Value for the
+ case of while loops so we can track values in the loop body.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Declaration): A null
+ procedure cannot be a protected operation (it is a basic_declaration,
+ not a subprogram_declaration).
+ (Check_Overriding_Indicator): Rename formal Does_Override to Overridden_
+ Subp. Add logic for entry processing.
+ (Check_Synchronized_Overriding): New procedure in New_Overloaded_Entity.
+ Determine whether an entry or subprogram of a protected or task type
+ override an inherited primitive of an implemented interface.
+ (New_Overloaded_Entity): Add calls to Check_Synchronized_Overriding.
+ Update the actual used in calls to Check_Overriding_Indicator.
+ (Analyze_Generic_Subprogram_Body): If the subprogram is a child unit,
+ generate the proper reference to the parent unit, for cross-reference.
+ (Analyze_Subprogram_Declaration): Protect Is_Controlling_Formal with
+ Is_Formal.
+ Add -gnatd.l --Use Ada 95 semantics for limited function returns,
+ (Add_Extra_Formal): Revise procedure to allow passing in associated
+ entity, scope, and name suffix, and handle setting of the new
+ Extra_Formals field.
+ (Create_Extra_Formals): Change existing calls to Add_Extra_Formal to
+ pass new parameters. Add support for adding the new extra access formal
+ for functions whose calls are treated as build-in-place.
+ (Analyze_A_Return_Statement): Correct casing in error message.
+ Move Pop_Scope to after Analyze_Function_Return, because an extended
+ return statement really is a full-fledged scope. Otherwise, visibility
+ doesn't work right. Correct use of "\" for continuation messages.
+ (Analyze_Function_Return): Call Analyze on the Obj_Decl, rather than
+ evilly trying to call Analyze_Object_Declaration directly. Otherwise,
+ the node doesn't get properly marked as analyzed.
+ (Analyze_Subprogram_Body): If subprogram is a function that returns
+ an anonymous access type that denotes a task, build a Master Entity
+ for it.
+ (Analyze_Return_Type): Add call to Null_Exclusion_Static_Checks. Verify
+ proper usage of null exclusion in a result definition.
+ (Process_Formals): Code cleanup and new error message.
+ (Process_Formals): Detect incorrect application of null exclusion to
+ non-access types.
+ (Conforming_Types): Handle conformance between [sub]types and itypes
+ generated for entities that have null exclusions applied to them.
+ (Maybe_Primitive_Operation): Add an additional type retrieval when the
+ base type is an access subtype. This case arrises with null exclusions.
+ (New_Overloaded_Entity): Do not remove the overriden entity from the
+ homonym chain if it corresponds with an abstract interface primitive.
+ (Process_Formals): Replace membership test agains Incomplete_Kind with a
+ call to the synthesized predicate Is_Incomplete_Type.
+ (Analyze_Subprogram_Body): Check wrong placement of abstract interface
+ primitives.
+ (Analyze_Subprogram_Declaration): Check that abstract interface
+ primitives are abstract or null.
+ (Analyze_Subprogram_Specification): Remove previous check for abstract
+ interfaces because it was not complete.
+ (Has_Interface_Formals): Removed.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch7.adb (Check_Anonymous_Access_Types): New procedure, subsidiary
+ of Analyze_Package_Body, to create Itype references for anonymous
+ access types created in the package declaration, whose designated types
+ may have only a limited view.
+ (Analyze_Package_Specification): For the private part of a nested
+ package, install private_with_clauses of enclosing compilation unit if
+ we are in its visible part.
+ (Declare_Inherited_Private_Subprograms): Complete barrier
+ to ensure that the primitive operation has an alias to some parent
+ primitive. This is now required because, after the changes done for the
+ implementation of abstract interfaces, the contents of the list of
+ primitives has entities whose alias attribute references entities of
+ such list of primitives.
+ (Analyze_Package_Specification): Simplify code that handles parent units
+ of instances and formal packages.
+ (Uninstall_Declarations): Check the convention consistency among
+ primitive overriding operations of a tagged record type.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb: Minor error msg rewording
+ (Undefined): When checking for misspellings, invert arguments (to get
+ expected and found set right)
+ (Analyze_Subprogram_Renaming): Propagate Is_Pure, Is_Preelaborated
+ (Analyze_Generic_Renaming): Same fix
+ (Use_One_Package): Do not take into account the internal entities of
+ abstract interfaces during the analysis of entities that are marked
+ as potentially use-visible.
+ (Find_Type): Handle the case of an attribute reference for
+ implementation defined attribute Stub_Type (simply let the analysis of
+ the attribute reference rewrite it).
+ (Use_One_Type, End_Use_Type): Reject a reference to a limited view of a
+ type that appears in a Use_Type clause.
+ (Analyze_Object_Renaming): Add support for renaming of the Priority
+ attribute.
+ (Find_Type): In Ada 2005, a task type can be used within its own body,
+ when it appears in an access definition.
+ (Analyze_Object_Renaming): Remove warning on null_exclusion.
+ (Analyze_Object_Renaming): Introduce checks for required null exclusion
+ in a formal object declaration or in a subtype declaration.
+ (Analyze_Subprogram_Renaming): Add call to Check_Null_Exclusion.
+ (Check_Null_Exclusion): New local routine to
+ Analyze_Subprogram_Renaming. Check whether the formals and return
+ profile of a renamed subprogram have required null exclusions when
+ their counterparts of the renaming already impose them.
+ (In_Generic_Scope): New local routine to Analyze_Object_Renaming.
+ Determine whether an entity is inside a generic scope.
+ (In_Open_Scope): First pass of documentation update.
+ (Find_Expanded_Name): Add support for shadow entities associated with
+ limited withed packages. This is required to handle nested packages.
+ (Analyze_Package_Renaming): Remove the restriction imposed by AI-217
+ that makes a renaming of a limited withed package illegal.
+
+2006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch9.adb (Analyze_Protected_Definition): Remove call to
+ Check_Overriding_Indicator.
+ (Analyze_Task_Definition): Ditto.
+ (Analyze_Protected_Type, Analyze_Task_Type): Code cleanup.
+ (Check_Overriding_Indicator): To find overridden interface operation,
+ examine only homonyms that have an explicit subprogram declaration, not
+ inherited operations created by an unrelated type derivation.
+ (Check_Overriding_Indicator): When checking for the presence of "null"
+ in a procedure, ensure that the queried node is a procedure
+ specification.
+ (Matches_Prefixed_View_Profile): Add mechanism to retrieve the parameter
+ type when the formal is an access to variable.
+ (Analyze_Protected_Type): Add check for Preelaborable_Initialization
+ (Analyze_Task_Type): Same addition
+ (Analyze_Entry_Declaration): Call Generate_Reference_To_Formals, to
+ provide navigation capabilities for entries.
+
+2006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_disp.adb (Check_Dispatching_Operation): Do not flag subprograms
+ inherited from an interface ancestor by another interface in the
+ context of an instance as 'late'.
+ (Is_Tag_Indeterminate, Propagate_Tag): Handle properly the dereference
+ of a call to a function that dispatches on access result.
+ (Check_Dispatching_Operation): In case of late overriding of a primitive
+ that covers abstract interface subprograms we register it in all the
+ secondary dispatch tables associated with abstract interfaces.
+ (Check_Dispatching_Call): Add check that a dispatching call is not made
+ to a function with a controlling result of a limited type. This is a
+ current implementation restriction.
+ (Check_Controlling_Formal): Remove bogus checks for E.2.2(14).
+ (Check_Dispatching_Operation): Do no emit a warning if the controlling
+ argument is an interface type that is a generic formal.
+ (Is_Interface_Subprogram): Removed.
+ (Check_Dispatching_Operation): If the subprogram is not a dispatching
+ operation, check the formals to handle the case in which it is
+ associated with an abstract interface type.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elab.ads, sem_elab.adb (Check_Elab_Assign): New procedure
+ Add new calls to this procedure during traversal
+ (Activate_Elaborate_All_Desirable): Do not set elaboration flag on
+ another unit if expansion is disabled.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * sem_eval.adb (Compile_Time_Compare): Make use of information from
+ Current_Value in the conditional case, to evaluate additional
+ comparisons at compile time.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_type.adb (Add_One_Interp): If node is an indirect call, preserve
+ subprogram type to provide better diagnostics in case of ambiguity.
+ (Covers): Handle coverage of formal and actual anonymous access types in
+ the context of generic instantiation.
+ (Covers/Interface_Present_In_Ancestors): Use the base type to manage
+ abstract interface types; this is required to handle concurrent types
+ with discriminants and abstract interface types.
+ (Covers): Include type coverage of both regular incomplete subtypes and
+ incomplete subtypes of incomplete type visibles through a limited with
+ clause.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Enter_Name): Exclude -gnatwh warning
+ messages for entities in packages which are not used.
+ (Collect_Synchronized_Interfaces): New procedure.
+ (Overrides_Synchronized_Primitive): New function.
+ (Denotes_Discriminant): Extend predicate to apply to task types.
+ Add missing continuation marks in error msgs
+ (Unqualify): New function for removing zero or more levels of
+ qualification from an expression. There are numerous places where this
+ ought to be used, but we currently only deal properly with zero or one
+ level.
+ (In_Instance); The analysis of the actuals in the instantiation of a
+ child unit is not within an instantiation, even though the parent
+ instance is on the scope stack.
+ (Safe_To_Capture_Value): Exclude the case of variables that are
+ renamings.
+ (Check_Obsolescent): Removed
+ (Is_Aliased_View): A reference to an enclosing instance in an aggregate
+ is an aliased view, even when rewritten as a reference to the target
+ object in an assignment.
+ (Get_Subprogram_Entity): New function
+ (Known_To_Be_Assigned): New function
+ (Type_Access_Level): Compute properly the access level of a return
+ subtype that is an anonymous access type.
+ (Explain_Limited_Type): Correct use of "\" for continuation messages.
+ (Is_Transfer): The new extended_return_statement causes a transfer of
+ control.
+ (Has_Preelaborable_Initialization): New function
+ (Has_Null_Exclusion): New function. Given a node N, determine whether it
+ has a null exclusion depending on its Nkind.
+ Change Is_Lvalue to May_Be_Lvalue
+ (May_Be_Lvalue): Extensive additional code to deal with subprogram
+ arguments (IN parameters are not Lvalues, IN OUT parameters are).
+ (Safe_To_Capture_Value): Extend functionality so it can be used for
+ the current value condition case.
+ (Has_Compatible_Alignment): New function
+ (Is_Dependent_Component_Of_Mutable_Object): Revise the tests for mutable
+ objects to handle the Ada 2005 case, where aliasedness no longer implies
+ that the object is constrained. In particular, for dereferenced names,
+ the designated object must be assumed to be unconstrained.
+ (Kill_Current_Values): Properly deal with the case where we encounter
+ a loop in the scope chain.
+ (Safe_To_Capture_Value): Do not let a loop stop us from capturing
+ a value.
+ (Compile_Time_Constraint_Error): Improve error message in error case
+
+ * exp_ch13.adb (Expand_N_Freeze_Entity): Remove the freezing node
+ associated with entities of abstract interface primitives.
+ Call Apply_Address_Clause_Check instead of Apply_Alignment_Check
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * s-osinte-tru64.adb:
+ Mark Asm statements Volatile to prevent warnings (seems a
+ reasonable change anyway)
+ Fixes new warnings
+
+ * s-mastop-irix.adb: Add Volatile to Asm statements
+ Suppresses warning, and seems appropriate in any case
+
+ * s-osinte-vms.adb: Add Volatile to Asm statement
+
+ * s-vaflop-vms-alpha.adb: Add Volatile to Asm statements
+
+ * exp_code.ads, exp_code.adb (Asm_Input_Value): Note that Error can be
+ returned.
+ Add call to Check_Code_Statement
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * sinfo.ads, sinfo.adb (Set_Synchronized_Present,
+ Synchronized_Present): Add Formal_Derived_Type_Definition and
+ Private_Extension_Declaration to the list of assertions.
+ (Is_Entry_Barrier_Function): New flag
+ (Has_Self_Reference): New flag on aggregates, to indicate that they
+ contain a reference to the enclosing type, inserted through a default
+ initialization.
+ (Next_Rep_Item): Move from Node4 to Node5.
+ (Entity): Add this field for N_Attribute_Definition_Clause.
+ (Comes_From_Extended_Return_Statement): New flag on N_Return_Statement
+ (N_Return_Object_Declaration): Remove this node kind. We now use
+ N_Object_Declaration instead.
+ (Actual_Designated_Subtype): Move to a different place to make room in
+ N_Extended_Return_Statement.
+ (Procedure_To_Call): Move to a different place to make room in
+ N_Extended_Return_Statement.
+ (Return_Type): Removed this field to make room in return statements
+ (both kinds).
+ (Return_Statement_Entity): New field in return statements, in part to
+ replace Return_Type, and in part to support the fact that return
+ statements are now pushed on the scope stack during semantic analysis.
+ (Return_Object_Declarations): New field to support extended return
+ statements.
+ (N_Extended_Return_Statement): New node for extended_return_statement
+ nonterminal.
+ (N_Return_Object_Declaration): New node for part of
+ extended_return_statement nonterminal. Needed because all the necessary
+ fields won't fit in N_Extended_Return_Statement.
+ Generic_associations now carry the Box_Present flag, to indicate a
+ default for an actual in a partially parametrized formal package.
+
+ * snames.h, snames.ads, snames.adb: Add definition for Validity_Check
+ (Preset_Names): Add entries for Priority_Specific_Dispatching pragma
+ and for the new predefined dispatching policies: EDF_Across_Priorities,
+ Non_Preemptive_Within_Priorities, and Round_Robin_Within_Priorities.
+ Introduce new name Stub_Type for implementation defined attribute.
+ Add pragma Preelaborable_Initialization
+ Add entry for Priority attribute.
+ Add Pragma_Wide_Character_Encoding
+ (Get_Convention_Name): Given a convention id, this function returns the
+ corresponding name id from the names table.
+
+2006-10-31 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Bob Duff <duff@adacore.com>
+
+ * sprint.adb (Sprint_Node_Actual, case Parameter_Specification): Do not
+ print null exclusion twice in the case of an access definition,
+ Implement new -gnatL switch
+ Remove N_Return_Object_Declaration. We now use
+ N_Object_Declaration instead. Implement the case for
+ N_Extended_Return_Statement. Alphabetize the cases.
+ Add cases for new nodes N_Extended_Return_Statement and
+ N_Return_Object_Declaration. The code is not yet written.
+ Update the output for N_Formal_Object_Declaration
+ and N_Object_Renaming_Declaration.
+ (Write_Itype): Account for the case of a modular integer subtype whose
+ base type is private.
+
+2006-10-31 Arnaud Charlet <charlet@adacore.com>
+
+ * s-restri.ads, s-restri.adb: Mark this package as Preelaborate.
+ Remove elaboration code, now done in the binder.
+
+ * s-rident.ads: Make this unit Preelaborate.
+ (No_Restrictions): New constant used to clean up code and follow
+ preelaborate constraints.
+
+ * s-stalib.adb:
+ Add System.Restrictions dependence, referenced directly from the
+ binder generated file.
+
+2006-10-31 Gary Dismukes <dismukes@adacore.com>
+
+ * s-scaval.adb (Initialize): Add new Boolean flag AFloat that is set
+ True when AAMP extended floating-point is in use (48-bit). Change type
+ ByteLF to ByteLLF, add new array type ByteLF and condition the size of
+ the two byte array types on AFloat. Change type of IV_Ilf overlay
+ variable from Byte8 to ByteLF. Add appropriate initializations of
+ floating-point overlays for AAMP cases.
+
+2006-10-31 Javier Miranda <miranda@adacore.com>
+
+ * s-tpoben.ads, s-tpoben.adb, s-taprob.ads, s-taprob.adb
+ (Get_Ceiling): New subprogram that returns
+ the ceiling priority of the protected object.
+ (Set_Ceiling): New subprogram that sets the new ceiling priority of
+ the protected object.
+
+ * s-tarest.adb: (Create_Restricted_Task): Fix potential CE.
+
+ * s-taskin.ads, s-taskin.adb: (Storage_Size): New function.
+
+2006-10-31 Jose Ruiz <ruiz@adacore.com>
+
+ * s-tpobop.adb (Requeue_Call): Introduce a dispatching point when
+ requeuing to the same protected object to give higher priority tasks
+ the opportunity to execute.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+
+ * widechar.adb (Is_Start_Of_Wide_Char): In case of brackets encoding,
+ add more precise check for the character sequence that follows '[' to
+ avoid possible confusion in case if '[' is the last character of a
+ string literals.
+ (Scan_Wide): Always allow brackets encoding
+
+2006-10-31 Olivier Hainque <hainque@adacore.com>
+
+ * s-stchop.ads: make this unit preelaborate. This is desirable in
+ general and made mandatory by the use of this unit by s-taprop which
+ is itself preelaborate.
+
+ * s-stchop-vxworks.adb (Set_Stack_Info, Task_Descriptor type): Add
+ Td_Events component.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * a-dirval-vms.adb (Invalid_Character): Specify that digits are allowed
+ in file names.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * a-direct.ads, a-direct.adb (Search): New procedure in Ada 2005
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Check_Compilation_Needed): Take into account path names
+ with spaces.
+ (Check_Compilation_Needed): When checking a C or C++ source, do not
+ resolve symbolic links.
+ (Display_Command): New Boolean parameter Ellipse, defaulted to False.
+ When not in verbose mode and Ellipse is True, display "..." for the
+ first argument with Display set to False.
+ (Build_Global_Archive): Always set Display True for the first object
+ file. Call Display_Command with Ellipse set to True.
+
+2006-10-31 Matt Heaney <heaney@adacore.com>
+
+ * a-crbtgo.ads: Commented each subprogram
+
+ * a-crbtgo.adb: Added reference to book from which algorithms were
+ adapted.
+
+ * a-crbtgk.ads, a-crbtgk.adb (Generic_Insert_Post): pass flag to
+ indicate which child.
+ (Generic_Conditional_Insert): changed parameter name from "Success" to
+ "Inserted".
+ (Generic_Unconditional_Insert_With_Hint): improved algorithm
+
+ * a-coorse.adb (Replace_Element): changed parameter name in call to
+ conditional insert operation.
+
+ * a-convec.adb, a-coinve.adb (Insert): removed obsolete comment
+
+ * a-cohama.adb (Iterate): manipulate busy-bit here, instead of in
+ Generic_Iteration
+
+ * a-ciorse.adb (Replace_Element): changed parameter name in call to
+ conditional insert operation.
+
+ * a-cihama.adb (Iterate): manipulate busy-bit here, instead of in
+ Generic_Iteration.
+
+ * a-cidlli.ads, a-cidlli.adb (Splice): Position param is now mode in
+ instead of mode inout.
+
+ * a-chtgop.adb (Adjust): modified comments to reflect current AI-302
+ draft
+ (Generic_Read): preserve existing buckets array if possible
+ (Generic_Write): don't send buckets array length anymore
+
+ * a-cdlili.ads, a-cdlili.adb (Splice): Position param is now mode in
+ instead of mode inout.
+
+ * a-cihase.adb (Difference): iterate over smaller of Tgt and Src sets
+ (Iterate): manipulate busy-bit here, instead of in Generic_Iteration
+
+ * a-cohase.adb (Difference): iterate over smaller of Tgt and Src sets
+ (Iterate): manipulate busy-bit here, instead of in Generic_Iteration
+ (Replace_Element): local operation is now an instantiation
+
+ * a-chtgke.ads, a-chtgke.adb (Generic_Conditional_Insert): manually
+ check current length.
+ (Generic_Replace_Element): new operation
+
+2006-10-31 Doug Rupp <rupp@adacore.com>
+
+ * g-trasym-vms-alpha.adb: Dummy_User_Act_Proc: New function.
+ Call TBK$SYMBOLIZE without omitting parameters.
+
+2006-10-31 Vincent Celier <celier@adacore.com>
+
+ * symbols-processing-vms-ia64.adb,
+ symbols-processing-vms-alpha.adb (Process): Do not include symbols
+ that come from generic instantiations in bodies.
+
+2006-10-31 Pat Rogers <rogers@adacore.com>
+
+ * a-rttiev.ads, a-rttiev.adb:
+ This is a significant redesign primarily for the sake of automatic
+ timer task termination but also to fix a design flaw.
+ Therefore we are now using an RTS lock, instead of a protected
+ object, to provide mutual exclusion to the queue of pending events
+ and the type Timing_Event is no longer a protected type.
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+ Ben Brosgol <brosgol@adacore.com>
+
+ * debug.adb: Update flags documentation
+
+ * gnat_ugn.texi: Add documentation for new -gnatwq switch
+ Clean up documentation for several other warning switches
+ Clarify how task stack size can be specified with various
+ versions of Windows.
+ Add note that -gnatVo includes ranges including loops
+ Add documentation for -gnatL switch
+ Add note on elaboration warning for initializing variables
+ Add documentation for new -gnatwt warning switch
+ Document new form of pragma Warnings (On|Off, string)
+ Add comment on use of pragma Warnings to control warnings
+ Add documentation for -gnatjnn switch
+ Modify section on interfacing with C for VMS 64-bit.
+ Add doc for -gnatVe/E
+ Add documentation of new warning flags -gnatww/-gnatwW
+ Add warnings about address clause overlays to list of warnings
+ (Exception Handling Control): Document that the option --RTS must be
+ used consistently for gcc and gnatbind.
+ Clarify that inlining is not always possible
+ Update documentation on pragma Unchecked_Union.
+
+ * gnat_rm.texi:
+ Add documentation for new extended version of pragma Obsolescent
+ Add documentation for implementation defined attribute 'Stub_Type.
+ Add note on use of Volatile in asm statements
+ Add documentation on use of pragma Unreferenced in context clause
+ Document new form of pragma Warnings (On|Off, pattern)
+ Document pragma Wide_Character_Encoding
+ Add note that pragma Restrictions (No_Elaboration_Code) is only fully
+ enforced if code generation is active.
+ Add section on pragma Suppress to document GNAT specific check
+ Alignment_Check
+ Clarify difference between No_Dispatching_Calls & No_Dispatch.
+ Add documentation for pragma Restrictions (No_Elaboration_Code)
+
+ * gnat-style.texi:
+ Add comments on layout of subprogram local variables in the
+ presence of nested subprograms.
+
+ * ug_words: Resync.
+
+ * elists.ads: Minor reformatting
+ Node returns Node_Or_Entity_Id (doc change only)
+
+ * xgnatugn.adb: Replace ACADEMICEDITION with GPLEDITION
+
+ * g-arrspl.ads (Create): Update comments.
+
+ * sem.ads: Add details on the handling of the scope stack.
+
+ * usage.adb: Update documentation.
+
+ * validsw.ads, validsw.adb:
+ Add definition of Validity_Check_Components and implement -gnatVe/E
+
+ * vms_data.ads: Add missing VMS qualifiers.
+
+ * s-addope.ads: Add documentation on overflow and divide by zero
+
+2006-10-31 Robert Dewar <dewar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * fmap.adb: Put routines in alpha order
+
+ * g-boumai.ads: Remove redundant 'in' keywords
+
+ * g-cgi.adb: Minor reformatting
+
+ * g-cgi.ads: Remove redundant 'in' keywords
+
+ * get_targ.adb: Put routines in alpha order
+
+ * prj-attr.ads: Minor reformatting
+
+ * s-atacco.ads: Minor reformatting
+
+ * scn.adb: Put routines in alpha order
+
+ * sinput-l.adb: Minor comment fix
+
+ * sinput-p.adb: Minor comment fix
+
+ * s-maccod.ads: Minor reformatting
+
+ * s-memory.adb: Minor reformatting
+
+ * s-htable.adb: Fix typo in comment.
+
+ * s-secsta.adb: Minor comment update.
+
+ * s-soflin.adb: Minor reformatting
+
+ * s-stoele.ads:
+ Add comment about odd qualification in Storage_Offset declaration
+
+ * s-strxdr.adb:
+ Remove unnecessary 'in' keywords for formal parameters.
+
+ * treeprs.adt: Minor reformatting
+
+ * urealp.adb: Put routines in alpha order
+
+ * s-wchcon.ads, s-wchcon.adb (Get_WC_Encoding_Method): New version
+ taking string.
+
+ * s-asthan-vms-alpha.adb: Remove redundant 'in' keywords
+
+ * g-trasym-vms-ia64.adb: Remove redundant 'in' keywords
+
+ * env.c (__gnat_unsetenv): Unsetenv is unavailable on LynxOS, so
+ workaround as on other platforms.
+
+ * g-eacodu-vms.adb: Remove redundant 'in' keywords
+ * g-expect-vms.adb: Remove redundant 'in' keywords
+
+ * gnatdll.adb (Add_Files_From_List): Handle Name_Error and report a
+ clear error message if the list-of-files file cannot be opened.
+
+ * g-thread.adb (Unregister_Thread_Id): Add use type Thread_Id so the
+ equality operator is always visible.
+
+ * lang.opt: Woverlength-strings: New option.
+
+ * nmake.adt:
+ Update copyright, since nmake.ads and nmake.adb have changed.
+
+ * osint-b.ads, osint-b.adb (Time_From_Last_Bind): removed function .
+ (Binder_Output_Time_Stamps_Set): removed.
+ (Old_Binder_Output_Time_Stamp): idem.
+ (New_Binder_Output_Time_Stamp): idem.
+ (Recording_Time_From_Last_Bind): idem.
+ (Recording_Time_From_Last_Bind): Make constant.
+
+ * output.ads, output.adb (Write_Str): Allow LF characters
+ (Write_Spaces): New procedure
+
+ * prepcomp.adb (Preproc_Data_Table): Change Increment from 5% to 100%
+
+ * inline.adb: Minor reformatting
+
+ * s-asthan-vms-alpha.adb: Remove redundant 'in' keywords
+
+ * s-mastop-vms.adb: Remove redundant 'in' keywords
+
+ * s-osprim-vms.adb: Remove redundant 'in' keywords
+
+ * s-trafor-default.adb: Remove redundant 'in' keywords
+
+ * 9drpc.adb: Remove redundant 'in' keywords
+
+ * s-osinte-mingw.ads: Minor reformatting
+
+ * s-inmaop-posix.adb: Minor reformatting
+
+ * a-direio.ads: Remove quotes from Compile_Time_Warning message
+
+ * a-exexda.adb: Minor code reorganization
+
+ * a-filico.adb: Minor reformatting
+
+ * a-finali.adb: Minor reformatting
+
+ * a-nudira.ads: Remove quote from Compile_Time_Warning message
+
+ * a-numeri.ads: Minor reformatting
+
+ * a-sequio.ads: Remove quotes from Compile_Time_Warning message
+
+ * exp_pakd.ads: Fix obsolete comment
+
+ * a-ztenau.adb, a-ztenio.adb, a-wtenau.adb, a-tienau.adb,
+ a-wtenio.adb (Put): Avoid assuming low bound of string is 1.
+ Probably not a bug, but certainly neater and more efficient.
+
+ * a-tienio.adb: Minor reformatting
+
+ * comperr.adb (Compiler_Abort): Call Cancel_Special_Output at start
+ Avoid assuming low bound of string is 1.
+
+ * gnatbind.adb: Change Bindusg to package and rename procedure as
+ Display, which now ensures that it only outputs usage information once.
+ (Scan_Bind_Arg): Avoid assuming low bound of string is 1.
+
+ * g-pehage.adb (Build_Identical_Keysets): Replace use of 1 by
+ Table'First.
+
+ * g-regpat.adb (Insert_Operator): Add pragma Warnings (Off) to kill
+ warning.
+ (Match): Add pragma Assert to ensure that Matches'First is zero
+
+ * g-regpat.ads (Match): Document that Matches lower bound must be zero
+
+ * makeutl.adb (Is_External_Assignment): Add pragma Assert's to check
+ documented preconditions (also kills warnings about bad indexes).
+
+ * mdll.adb (Build_Dynamic_Library): Avoid assumption that Afiles'First
+ is 1.
+ (Build_Import_Library): Ditto;
+
+ * mdll-utl.adb: (Gnatbind): Avoid assumption that Alis'First = 1
+
+ * rtsfind.adb (RTE_Error_Msg): Avoid assuming low bound of string is 1.
+
+ * sem_case.adb (Analyze_Choices): Add pragma Assert to check that
+ lower bound of choice table is 1.
+
+ * sem_case.ads (Analyze_Choices): Document that lower bound of
+ Choice_Table is 1.
+
+ * s-imgdec.adb (Set_Decimal_Digits): Avoid assuming low bound of
+ string is 1.
+
+ * uintp.adb (Init_Operand): Document that low bound of Vec is always 1,
+ and add appropriate Assert pragma to suppress warnings.
+
+ * atree.h, atree.ads, atree.adb
+ Change Elist24 to Elist25
+ Add definitions of Field28 and Node28
+ (Traverse_Field): Use new syntactic parent table in sinfo.
+
+ * cstand.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only
+
+ * itypes.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only
+
+ * exp_tss.adb: Put routines in alpha order
+
+ * fe.h: Remove redundant declarations.
+
+2006-10-23 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+ * utils.c (builtin_function): Rename to gnat_builtin_function.
+ Move common code to add_builtin_function.
+ * misc.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as
+ gnat_builtin_function.
+ * gigi.h (builtin_function): Rename to gnat_builtin_function.
+ Change the signature.
+
+2006-10-16 Brooks Moses <bmoses@stanford.edu>
+
+ * Makefile.in: Add TEXI2PDF definition.
+ * Make-lang.in: Add "ada.pdf" target.
+
+2006-10-03 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl.c, utils.c: Fix comment typos.
+ * utils.c: Fix a typo.
+
+2006-09-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set "const" flag
+ on "pure" Ada subprograms if SJLJ exceptions are used.
+ * trans.c (Handled_Sequence_Of_Statements_to_gnu): Set TREE_NO_WARNING
+ on the declaration node of JMPBUF_SAVE.
+ * utils.c (init_gigi_decls): Set DECL_IS_PURE on the declaration nodes
+ of Get_Jmpbuf_Address_Soft and Get_GNAT_Exception.
+ * utils2.c (build_call_0_expr): Do not set TREE_SIDE_EFFECTS.
+
+2006-08-20 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/28716
+ g-socket.adb (Bind_Socket): Call Set_Address.
+
+2006-09-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/15802
+ * decl.c (same_discriminant_p): New static function.
+ (gnat_to_gnu_entity) <E_Record_Type>: When there is a parent
+ subtype and we have discriminants, fix up the COMPONENT_REFs
+ for the discriminants to make them reference the corresponding
+ fields of the parent subtype after it has been built.
+
+2006-09-15 Roger Sayle <roger@eyesopen.com>
+
+ PR ada/18817
+ * utils.c (max_size): Perform constant folding of (A ? B : C) - D
+ into A ? B - D : C - D when calculating the size of a MINUS_EXPR.
+
+2006-09-13 Olivier Hainque <hainque@adacore.com>
+
+ PR ada/29025
+ * trans.c (gnat_gimplify_expr) <ADDR_EXPR>: When taking the address
+ of a SAVE_EXPR, just make the operand addressable/not-readonly and
+ let the common gimplifier code make and propagate a temporary copy.
+ (call_to_gnu): Clarify the use of SAVE_EXPR for not addressable
+ out/in-out actuals and defer setting the addressable/readonly bits
+ to the gimplifier.
+
+2006-09-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/28591
+ * decl.c (components_to_record): Defer emitting debug info for the
+ record type associated with the variant until after we are sure to
+ actually use it.
+
+2006-09-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/21952
+ * gigi.h (gnat_internal_attribute_table): Declare.
+ * misc.c (LANG_HOOKS_ATTRIBUTE_TABLE): Define to above.
+ * utils.c (gnat_internal_attribute_table): New global variable.
+ (builtin_function): Always call decl_attributes on the builtin.
+ (handle_const_attribute): New static function.
+ (handle_nothrow_attribute): Likewise.
+
+2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
+
+2006-06-23 Olivier Hainque <hainque@adacore.com>
+
+ * misc.c (gnat_type_max_size): Look at TYPE_ADA_SIZE if we have
+ not been able to get a constant upper bound from TYPE_SIZE_UNIT.
+
+2006-06-20 James A. Morrison <phython@gcc.gnu.org>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/18692
+ * Make-lang.in: Add check-gnat to lang_checks. Rename existing
+ check-gnat into check-acats.
+
+2006-06-17 Karl Berry <karl@gnu.org>
+
+ * gnat-style.texi (@dircategory): Use "Software development"
+ instead of "Programming", following the Free Software Directory.
+
+2006-06-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR ada/27944
+ * s-taprop-hpux-dce.adb: Delete redundant 'with System.Parameters'.
+
+2006-06-06 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/27769
+ mlib-utl.adb: Use Program_Name.
+
+2006-05-28 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl.c, env.c, gigi.h, init.c, initialize.c, raise-gcc.c,
+ sem_ch13.adb, sysdep.c, targtyps.c, tb-alvxw.c, tracebak.c,
+ trans.c, utils.c: Fix comment typos. Follow spelling
+ conventions.
+ * gnat_rm.texi, gnat_ugn.texi, : Fix typos. Follow spelling
+ conventions.
+
+2006-05-19 Nicolas Setton <setton@adacore.com>
+
+ * misc.c (gnat_dwarf_name): New function.
+ (LANG_HOOKS_DWARF_NAME): Define to it.
+
+2006-05-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Make-lang.in (ada/decl.o): Replace target.h with $(TARGET_H).
+ (ada/misc.o): Likewise.
+ (ada/utils.o): Likewise.
+
+2006-04-08 Aurelien Jarno <aurel32@debian.org>
+
+ * Makefile.in: Add Ada support for GNU/kFreeBSD.
+ * s-osinte-kfreebsd-gnu.ads: New file.
+
+2006-03-29 Carlos O'Donell <carlos@codesourcery.com>
+
+ * Make-lang.in: Rename docdir to gcc_docdir.
+
+2006-03-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gigi.h (get_ada_base_type): Delete.
+ * utils2.c (get_ada_base_type): Likewise.
+ * trans.c (convert_with_check): Operate in the real base type.
+
+2006-03-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * uintp.adb (Num_Bits): Handle Uint_Int_First specially.
+
+2006-03-02 Richard Sandiford <richard@codesourcery.com>
+
+ * utils.c (create_var_decl): Use have_global_bss_p when deciding
+ whether to make the decl common.
+
+2006-02-20 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+ * Make-lang.in (Ada): Remove.
+ (.PHONY): Remove Ada
+
+2006-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Find_Boolean_Types): If one of the operands is an
+ aggregate, check the interpretations of the other operand to find one
+ that may be a boolean array.
+
+ (Analyze_Selected_Component): Fix flow-of-control typo in case where
+ the prefix is a private extension.
+
+2006-02-17 Eric Botcazou <botcazou@adacore.com>
+
+ PR ada/26315
+ * utils2.c (find_common_type): If both input types are BLKmode and
+ have the same constant size, keep using the first one.
+
+ * bindgen.adb: (Gen_Versions_Ada): Revert previous workaround.
+
+ * decl.c (gnat_to_gnu_entity): Only check TREE_OVERFLOW for a constant.
+
+ * misc.c (gnat_handle_option): New case for -Woverlength-strings.
+
+2006-02-17 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
+ s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
+ s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-lynxos.adb,
+ s-taprop-tru64.adb (Set_False, Set_True, Suspend_Until_True): Add
+ Abort_Defer/Undefer pairs to avoid the possibility of a task being
+ aborted while owning a lock.
+
+2006-02-17 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Allocator): If the allocated object is accessed
+ through an access to class-wide interface we force the displacement of
+ the pointer to the allocated object to reference the corresponding
+ secondary dispatch table.
+ (Expand_N_Op_Divide): Allow 64 bit divisions by small power of 2,
+ if Long_Shifts are supported on the target, even if 64 bit divides
+ are not supported (configurable run time mode).
+ (Expand_N_Type_Conversion): Do validity check if validity checks on
+ operands are enabled.
+ (Expand_N_Qualified_Expression): Do validity check if validity checks
+ on operands are enabled.
+
+2006-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_dbug.adb (Debug_Renaming_Declaration): Indicate that the entity
+ must be materialized when the renamed expression is an explicit
+ dereference.
+
+2006-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Statically_Discriminated_Components): Return false if
+ the bounds of the type of the discriminant are not static expressions.
+
+ * sem_aggr.adb (Check_Static_Discriminated_Subtype): Return false if
+ the bounds of the discriminant type are not static.
+
+2006-02-17 Robert Dewar <dewar@adacore.com>
+
+ * g-os_lib.adb (Copy_File): Make sure that if From has an Invalid_FD,
+ then we close To if it is valid.
+
+2006-02-17 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * init.c (facility_resignal_table): new array
+ (__gnat_default_resignal_p): enhance default predicate to resignal if
+ VMS condition has one of the predefined facility codes.
+
+2006-02-17 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * Makefile.in: Use VMS64 specialized versions of several units in
+ Interfaces.C hierarchy to be compatible with HP C default size choices.
+ Use the default version of Ada.Synchronous_Task_Control for VxWorks 653.
+
+2006-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Analyze_With_Clause): If the unit is a subprogram
+ instantiation, the corresponding entity is the related_instance of the
+ wrapper package created for the instance.
+
+2006-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation): Inline_Now is false if
+ the current instance is nested within another instance in a child unit.
+
+2006-02-17 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Discriminated_Subtype): In case of concurrent
+ type we cannot inherit the primitive operations; we inherit the
+ Corresponding_Record_Type (which has the list of primitive operations).
+ (Check_Anonymous_Access_Types): When creating anonymous access types for
+ access components, use Rewrite in order to preserve the tree structure,
+ for ASIS use.
+ (Analyze_Object_Declaration): For limited types with access
+ discriminants with defaults initialized by an aggregate, obtain
+ subtype from aggregate as for other mutable types.
+ (Derived_Type_Declaration): If the derived type is a limited interface,
+ set the corresponding flag (Is_Limited_Record is not sufficient).
+
+2006-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order
+ to inline a function that returns an unconstrained type, the return
+ expression must be the first variable declared in the body of the
+ function.
+
+2006-02-17 Javier Miranda <miranda@adacore.com>
+
+ * sem_res.adb (Resolve_Type_Conversion): In case of conversion to an
+ abstract interface type, the static analysis is not enough to know if
+ the interface is implemented or not by the source tagged type. Hence
+ we must pass the work to the expander to generate the required code to
+ evaluate the conversion at run-time.
+ (Resolve_Equality_Op): Do not apply previous
+ transformation if expansion is disasbled, to prevent anomalies when
+ locating global references in a generic unit.
+
+2006-02-17 Vincent Celier <celier@adacore.com>
+
+ * snames.ads, snames.adb: New standard names for new project attributes:
+ archive_builder, archive_indexer, compiler_pic_option,
+ config_body_file_name, config_body_file_name_pattern,
+ config_file_switches, config_file_unique, config_spec_file_name,
+ config_spec_file_name_pattern, default_builder_switches,
+ default_global_compiler_switches, default_language,
+ dependency_file_kind, global_compiler_switches, include_path,
+ include_path_file, language_kind, linker_executable_option,
+ linker_lib_dir_option, linker_lib_name_option, mapping_file_switches,
+ roots, runtime_project.
+
+2006-02-17 Matthew Heaney <heaney@adacore.com>
+
+ * a-convec.ads, a-convec.adb:
+ (operator "&"): handle potential overflow for large index types
+ (Insert): removed Contraint_Error when using large index types
+ (Insert_Space): removed Constraint_Error for large index types
+ (Length): moved constraint check from Length to Insert
+
+ * a-coinve.ads, a-coinve.adb: Stream attribute procedures are declared
+ as not null access.
+ Explicit raise statements now include an exception message.
+ (operator "&"): handle potential overflow for large index types
+ (Insert): removed Contraint_Error when using large index types
+ (Insert_Space): removed Constraint_Error for large index types
+ (Length): moved constraint check from Length to Insert
+
+2006-02-17 Robert Dewar <dewar@adacore.com>
+
+ * s-wchcnv.adb: Document handling of [ on output (we do not change
+ this to ["5B"] and the new comments say why not.
+
+ * gnat_ugn.texi:
+ Add note for -gnatVo that this now includes the cases of type
+ conversions and qualified expressions.
+ Add comments on handling of brackets encoding for Text_IO
+
+2006-02-17 Ramon Fernandez <fernandez@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * expander.adb: Fix typo in comment
+
+ * exp_pakd.adb: Fix typo
+ Minor comment reformatting.
+
+ * g-dyntab.adb: Minor reformatting
+
+ * exp_ch6.adb (Register_Interface_DT_Entry): Traverse the list of
+ aliased subprograms to look for the abstract interface subprogram.
+
+2006-02-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * env.c (__gnat_setenv): Use size_t.
+ (__gnat_unsetenv): Likewise.
+ (__gnat_clearenv): Likewise.
+
+2006-02-16 Arnaud Charlet <charlet@adacore.com>
+
+ * opt.ads (Ada_Version_Default): Set to Ada 2005 by default.
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+
+ * a-intnam-os2.ads, a-intnam-unixware.ads, g-soccon-unixware.ads,
+ g-soliop-unixware.ads, i-os2err.ads, i-os2lib.adb, i-os2lib.ads,
+ i-os2syn.ads, i-os2thr.ads, s-intman-irix-athread.adb,
+ s-osinte-aix-fsu.ads, s-osinte-fsu.adb, s-parame-os2.adb,
+ s-osinte-irix-athread.ads, s-osinte-linux-fsu.ads, s-osinte-os2.adb,
+ s-osinte-os2.ads, s-osinte-solaris-fsu.ads, s-osinte-unixware.adb,
+ s-osinte-unixware.ads, s-osprim-os2.adb, s-taprop-irix-athread.adb,
+ s-taprop-os2.adb, s-tasinf-irix-athread.adb, s-tasinf-irix-athread.ads,
+ s-taspri-os2.ads, system-os2.ads, system-unixware.ads: Removed,
+ no longer used.
+
+2006-02-13 Jose Ruiz <ruiz@adacore.com>
+
+ * a-taster.adb (Current_Task_Fallback_Handler): Document why explicit
+ protection against race conditions is not needed.
+ (Set_Dependents_Fallback_Handler): Add mutual exclusive access to the
+ fallback handler.
+ (Set_Specific_Handler): Add mutual exclusive access to the specific
+ handler.
+ (Specific_Handler): Add mutual exclusive access for retrieving the
+ specific handler.
+
+ * s-tarest.adb (Task_Wrapper): Add mutual exclusive access to the fall
+ back handler.
+
+ * s-taskin.ads (Common_ATCB): Remove pragma Atomic for
+ Fall_Back_Handler and Specific_Handler.
+
+ * s-tassta.adb (Task_Wrapper): Add mutual exclusive access to the task
+ termination handlers.
+ Set two different owerflow depending on the maximal stack size.
+
+ * s-solita.adb (Task_Termination_Handler_T): Document why explicit
+ protection against race conditions is not needed when executing the
+ task termination handler.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * s-gloloc-mingw.adb, a-cgaaso.ads, a-stzmap.adb, a-stzmap.adb,
+ a-stzmap.ads, a-ztcoio.adb, a-ztedit.adb, a-ztedit.ads, a-ztenau.adb,
+ a-ztenau.ads, a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
+ a-comlin.adb, a-decima.adb, a-decima.ads, a-direio.adb, a-direio.adb,
+ a-direio.adb, a-direio.ads, a-ngcoty.adb, a-ngcoty.ads, a-nuflra.adb,
+ a-nuflra.ads, a-sequio.adb, a-sequio.ads, a-sequio.ads, a-storio.ads,
+ a-stream.ads, a-ststio.adb, a-ststio.adb, a-ststio.ads, a-ststio.ads,
+ a-stwima.adb, a-stwima.adb, a-stwima.ads, a-stwise.adb, a-teioed.adb,
+ a-teioed.ads, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tasatt.ads,
+ a-tideau.adb, a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
+ a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.ads, a-tiflau.adb,
+ a-tiflau.ads, a-tiflio.adb, a-tiflio.adb, a-tiflio.ads, a-tigeau.ads,
+ a-tiinau.adb, a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoio.adb,
+ a-timoio.ads, a-titest.adb, a-titest.ads, a-wtcoio.adb, a-wtdeau.adb,
+ a-wtdeau.ads, a-wtdeio.adb, a-wtdeio.ads, a-wtedit.adb, a-wtedit.adb,
+ a-wtedit.ads, a-wtenau.adb, a-wtenau.ads, a-wtenau.ads, a-wtenio.adb,
+ a-wtenio.ads, a-wtfiio.adb, a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads,
+ a-wtflio.adb, a-wtflio.adb, a-wtflio.ads, a-wtgeau.ads, a-wtinau.adb,
+ a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb, a-wtmoau.ads,
+ a-wtmoio.adb, a-wtmoio.ads, xref_lib.adb, xref_lib.ads, xr_tabls.adb,
+ g-boubuf.adb, g-boubuf.ads, g-cgideb.adb, g-io.adb, gnatdll.adb,
+ g-pehage.adb, i-c.ads, g-spitbo.adb, g-spitbo.ads, mdll.adb,
+ mlib-fil.adb, mlib-utl.adb, mlib-utl.ads, prj-env.adb, prj-tree.adb,
+ prj-tree.ads, prj-util.adb, s-arit64.adb, s-asthan.ads, s-auxdec.adb,
+ s-auxdec.ads, s-chepoo.ads, s-direio.adb, s-direio.ads, s-errrep.adb,
+ s-errrep.ads, s-fileio.adb, s-fileio.ads, s-finroo.adb, s-finroo.ads,
+ s-gloloc.adb, s-gloloc.ads, s-io.adb, s-io.ads, s-rpc.adb,
+ s-rpc.ads, s-shasto.ads, s-sequio.adb, s-stopoo.ads, s-stratt.adb,
+ s-stratt.ads, s-taasde.adb, s-taasde.ads, s-tadert.adb, s-sequio.ads,
+ s-taskin.adb, s-tasque.adb, s-tasque.ads, s-wchjis.ads, makegpr.adb,
+ a-coinve.adb, a-cidlli.adb, eval_fat.adb, exp_dist.ads, exp_smem.adb,
+ fmap.adb, g-dyntab.ads, g-expect.adb, lib-xref.ads, osint.adb,
+ par-load.adb, restrict.adb, sinput-c.ads, a-cdlili.adb,
+ system-vms.ads, system-vms-zcx.ads, system-vms_64.ads: Minor
+ reformatting.
+
+2006-02-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-tasatt.adb, s-osinte-lynxos-3.adb, s-osinte-lynxos.adb,
+ s-osinte-aix.adb, s-interr-sigaction.adb, s-asthan-vms-alpha.adb,
+ s-interr-vms.adb, s-intman-vms.adb, s-interr-vxworks.adb,
+ s-intman-vxworks.adb, s-asthan-vms-alpha.adb, a-ztexio.adb,
+ a-reatim.adb, a-taside.adb, a-textio.adb, a-witeio.adb, prj-attr.adb,
+ s-intman-irix.adb, s-intman-solaris.adb, s-intman-posix.adb,
+ a-dynpri.adb, a-interr.adb, g-dynhta.adb, s-asthan.adb, s-interr.adb,
+ s-pooglo.adb, s-pooloc.adb, s-poosiz.adb, s-tasren.adb, s-tasuti.adb,
+ s-tataat.adb, s-tpobop.adb: Remove redundant with clauses.
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-vxworks.ads,
+ s-osinte-solaris.ads, s-osinte-linux.ads, s-osinte-freebsd.ads,
+ s-osinte-solaris-posix.ads, s-osinte-lynxos-3.ads, s-osinte-lynxos.ads,
+ s-osinte-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
+ s-osinte-hpux-dce.ads, s-osinte-linux-hppa.ads,
+ s-osinte-linux-alpha.ads, s-inmaop-posix.adb (sigset_t_ptr): Removed,
+ replaced by anonymous access type.
+ (pthread_sigmask): Now take an access sigset_t
+
+ * s-osinte-hpux.ads: Ditto.
+ (pthread_mutex_t, pthread_cond_t): Update definitions to support
+ properly 32 and 64 bit ABIs.
+
+2006-02-13 Pascal Obry <obry@adacore.com>
+
+ * s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb,
+ s-taprop-lynxos.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
+ s-taprop-linux.adb, s-taprop-solaris.adb,
+ s-taprop-vms.adb (Create_Task): Remove task adjustment code. This
+ adjustement is already done when calling this routine.
+
+2006-02-13 Pascal Obry <obry@adacore.com>
+
+ * system-mingw.ads (Underlying_Priorities): Update the priority mapping
+ table to take advantage of the 16 priority levels available on Windows
+ 2000 and XP. On NT4 there are only 7 priority levels, this is properly
+ supported by this new mapping.
+
+2006-02-13 Nicolas Setton <setton@adacore.com>
+
+ * adadecode.h, adadecode.c: (__gnat_decode): Improve support of types.
+ (get_encoding): New subprogram. Extracts the encodings from an encoded
+ Ada name.
+
+2006-02-13 Pascal Obry <obry@adacore.com>
+ Nicolas Roche <roche@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * adaint.h, adaint.c (DIR_SEPARATOR): Use _T() macro for Unicode
+ support.
+ (__gnat_try_lock): Add unicode support by using a specific section on
+ Windows.
+ (__gnat_get_current_dir): Idem.
+ (__gnat_open_read): Idem.
+ (__gnat_open_rw): Idem.
+ (__gnat_open_create): Idem.
+ (__gnat_create_output_file): Idem.
+ (__gnat_open_append): Idem.
+ (__gnat_open_new): Idem.
+ (__gnat_file_time_name): Idem.
+ (__gnat_set_file_time_name): Idem.
+ (__gnat_stat): Idem.
+ (win32_no_block_spawn): Idem.
+ (__gnat_locate_exec_on_path): Idem.
+ (__gnat_opendir): New routine.
+ (__gnat_closedir): Idem.
+ (__gnat_readdir): Add new parameter length (pointer to int). Update
+ implementation to use it and add specific Win32 code for Unicode
+ support.
+ (__gnat_get_env_value_ptr): Remove. Replaced by __gnat_getenv in env.c
+ (__gnat_set_env_value): Remove. Replaced by __gnat_setenv in env.c
+ (convert_addresses): Do not define this dummy routine on VMS.
+
+ * mingw32.h (GNAT_UNICODE_SUPPORT): New definition, if set the GNAT
+ runtime Unicode support will be activated.
+ (S2WS): String to Wide-String conversion. This version just copy a
+ string in non Unicode version.
+ (WS2S): Wide-String to String conversion. This version just copy a
+ string in non Unicode version.
+
+ * g-dirope.adb: (Close): Now import __gnat_closedir from adaint.c.
+ (Open): Now import __gnat_opendir from adaint.c.
+ (Read): Change the implementation to support unicode characters. It is
+ not possible to use strlen() on Windows as this version supports only
+ standard ASCII characters. So the length of the directory entry is now
+ returned from the imported __gnat_readdir routine.
+ Update copyright notice.
+
+ * s-crtl-vms64.ads, s-crtl.ads: (closedir): Moved to adaint.c.
+ (opendir): Moved to adaint.c.
+
+ * g-os_lib.adb (Copy_Time_Stamp): Fix off-by-one range computation.
+ (Get_Directory): Fix wrong indexing.
+ (Getenv): replace __gnat_get_env_value_ptr from adaint.c by
+ __gnat_getenv from env.c
+ (Setenv): replace __gnat_set_env_value from adaint.c by __gnat_setenv
+ from env.c
+
+ * env.h, env.c: New file.
+
+ * s-scaval.adb (Initialize): Replace __gnat_get_env_value_ptr from
+ adaint.c by __gnat_getenv from env.c
+
+ * s-shasto.adb (Initialize): replace __gnat_get_env_value_ptr from
+ adaint.c by __gnat_getenv from env.c
+
+ * Make-lang.in: Add env.o in the list of C object needed by gnat1
+ and gnatbind.
+ Update dependencies.
+
+2006-02-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * ada-tree.h: (TYPE_UNCHECKED_UNION_P): Deleted.
+
+ * gigi.h (value_factor_p): Add prototype and description, now public.
+
+ * decl.c (gnat_to_gnu_field): Don't attempt BLKmode to integral type
+ promotion for field with rep clause if the associated size was proven
+ to be in error.
+ Expand comments describing attempts to use a packable type.
+ (gnat_to_gnu_entity) <E_Signed_Integer_Subtype,
+ E_Floating_Point_Subtype>: Inherit alias set of what we are making a
+ subtype of to ensure conflicts amongst all subtypes in a hierarchy,
+ necessary since these are not different types and pointers may
+ actually designate any subtype in this hierarchy.
+ (gnat_to_gnu_entity, case E_Record_Type): Always make fields for
+ discriminants but put them into record only if not Unchecked_Union;
+ pass flag to components_to_record showing Unchecked_Union.
+ (make_dummy_type): Use UNION_TYPE only if Unchecked_Union and no
+ components before variants; don't set TYPE_UNCHECKED_UNION_P.
+ (components_to_record): New argument UNCHECKED_UNION.
+ Remove special case code for Unchecked_Union and instead use main code
+ with small changes.
+
+ PR ada/26096
+ (gnat_to_gnu_entity) <E_Variable>: Do not initialize the aligning
+ variable with the expression being built, only its inner field.
+
+ * trans.c (Handled_Sequence_Of_Statements_to_gnu): Remove call to
+ emit_sequence_entry_statements.
+ (emit_sequence_entry_statements, body_with_handlers_p): Delete.
+ (establish_gnat_vms_condition_handler): Move before
+ Subprogram_Body_to_gnu.
+ (Subprogram_Body_to_gnu): On VMS, establish_gnat_vms_condition_handler
+ for a subprogram if it has a foreign convention or is exported.
+ (Identifier_to_gnu): Manually unshare the DECL_INITIAL tree when it is
+ substituted for a CONST_DECL.
+ (tree_transform, case N_Aggregate): Remove code for UNION_TYPE and pass
+ Etype to assoc_to_constructor.
+ (assoc_to_constructor): New argument, GNAT_ENTITY; use it to ignore
+ discriminants of Unchecked_Union.
+ (TARGET_ABI_OPEN_VMS): Define to 0 if not defined, so that later uses
+ don't need cluttering preprocessor directives.
+ (establish_gnat_vms_condition_handler): New function. Establish the GNAT
+ condition handler as current in the compiled function.
+ (body_with_handlers_p): New function. Tell whether a given sequence of
+ statements node is attached to a package or subprogram body and involves
+ exception handlers possibly nested within inner block statements.
+ (emit_sequence_entry_statements): New function, to emit special
+ statements on entry of sequences when necessary. Establish GNAT
+ condition handler in the proper cases for VMS.
+ (Handled_Sequence_Of_Statements_to_gnu): Start block code with
+ emit_sequence_entry_statements.
+
+ * utils2.c (find_common_type): If both input types are BLKmode and
+ have a constant size, use the smaller one.
+ (build_simple_component_ref): Also match if FIELD and NEW_FIELD are
+ the same.
+
+ * utils.c (value_factor_p): Make public, to allow uses from other gigi
+ units.
+ (create_type_decl): Do not set the flag DECL_IGNORED_P for dummy types.
+ (convert, case UNION_TYPE): Remove special treatment for unchecked
+ unions.
+
+ PR ada/18659
+ (update_pointer_to): Update variants of pointer types to unconstrained
+ arrays by attaching the list of fields of the main variant.
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * a-exexpr.adb, a-exexpr-gcc.adb
+ (Process_Raise_Exception): Removed, merged with Propagate_Exception.
+ (Propagate_Exception): Now take extra From_Signal_Handler parameter.
+ Remove code unused for exception propagation for the compiler itself
+ from a-except.adb and update to still share separate packages.
+
+ * a-except.ads, a-except.adb: Ditto.
+ Add comments that this version is now used only by the compiler and
+ other basic tools. The full version that includes the Ada 2005 stuff
+ is in separate files a-except-2005.ads/adb. The reason is that we do
+ not want to cause bootstrap problems with compilers not recognizing
+ Wide_Wide_String.
+ Add exception reason code PE_Implicit_Return
+ Add new exception reason code (Null Exception_Id)
+
+ * a-except-2005.adb, a-except-2005.ads: New files.
+
+ * s-wchcon.ads: (Get_WC_Encoding_Method): New function.
+
+ * s-wchcon.adb: New file.
+
+ * Makefile.in (LIBGNAT_SRCS): Add tb-gcc.c.
+ (traceback.o deps): Likewise.
+ (SPARC/Solaris): Accept sparc[64|v9]-sun-solaris.
+ Activate build of GMEM instrumentation library on VMS targets.
+ (gnatlib-sjlj, gnatlib-zcx): Pass EH_MECHANISM to make gnatlib.
+ Use a-except-2005.ads/adb for all run-time library builds unless
+ specified otherwise.
+ [VMS] (LIBGNAT_TARGET_PAIRS_AUX1,2): Rename s-parame-vms.ads to
+ s-parame-vms-alpha.ads and add s-parame-vms-ia64.ads.
+ Use s-parame.adb on all native platforms.
+ Use s-parame-vxworks.adb on all vxworks platforms.
+ Add env.c env.h in LIBGNAT_SRCS
+ Add env.o in LIBGNAT_OBJS
+ (GNATMAKE_OBJS): Remove ctrl_c.o object.
+ (LIBGNAT_TARGET_PAIRS for x86-vxworks): Use an specialized version of
+ s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
+ supports VxWorks 6 RTPs.
+ (EXTRA_GNATRTL_NONTASKING_OBJS for x86-vxworks): Remove the use of
+ i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
+
+ * types.h, types.ads (Terminate_Program): New exception
+ Add comment on modifying multiple versions of a-except.adb when the
+ table of exception reasons is modified.
+ Add exception reason code PE_Implicit_Return
+ Add new exception reason code (Null Exception_Id)
+
+ * clean.adb (Initialize): Get the target parameters before checking
+ if target is OpenVMS. Move the OpenVMS specific code here from package
+ body elaboration code.
+
+2006-02-13 Thomas Quinot <quinot@adacore.com>
+ Vincent Celier <celier@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * ali-util.adb (Get_File_Checksum): Update to account for change in
+ profile of Initialize_Scanner.
+
+ * gprep.adb (Gnatprep): Update to account for change in profile of
+ Initialize_Scanner.
+ (Process_One_File): Same.
+
+ * lib.adb (Get_Code_Or_Source_Unit): New subprogram factoring the
+ common code between Get_Code_Unit and Get_Source_Unit. Reimplement
+ that behaviour using the new Unit information recorded in the source
+ files table, rather than going through all units every time.
+ (Get_Code_Unit): Reimplement in terms of Get_Code_Or_Source_Unit.
+ (Get_Source_Unit): Same.
+
+ * prepcomp.adb (Parse_Preprocessing_Data_File): Update to account for
+ change in profile of Initialize_Scanner.
+ (Prepare_To_Preprocess): Same.
+
+ * lib.ads: Fix typo in comment (templace -> template).
+
+ * prj-part.adb (Parse_Single_Project): Update to account for change in
+ profile of Initialize_Scanner.
+
+ * scn.adb (Initialize_Scanner): Account for change in profile of
+ Scng.Initialize_Scanner: set Current_Source_Unit in Scn instead of Scng.
+ Also record the association of the given Source_File_Index to the
+ corresponding Unit_Number_Type.
+
+ * scng.ads, scng.adb (Initialize_Scanner.Set_Reserved): Remove
+ procedure.
+ (Initialize_Scanner): Call Scans.Initialize_Ada_Keywords.
+ Remove Unit formal for generic scanner: this formal
+ is only relevant to Scn (the scanner instance used to parse Ada source
+ files), not to other instances. Update comment accordingly.
+ (Scan): Use new function Snames.Is_Keyword_Name.
+
+ * sinfo-cn.adb: Fix typo in comment.
+
+ * sinput.adb (Unit, Set_Unit): Accessors for new source file attribute
+ Unit.
+
+ * sinput.ads (Source_File_Record): New component Unit, used to capture
+ the unit identifier (if any) associated to a source file.
+
+ * sinput-c.adb, sinput-l.adb (Load_File): Initialize new component
+ Unit in Source_File_Record.
+
+ * sinput-p.adb (Source_File_Is_Subunit): Update to account for change
+ in profile of Initialize_Scanner.
+
+ * scans.adb (Initialize_Ada_Keywords): New procedure
+
+ * scans.ads (Initialize_Ada_Keywords): New procedure to initialize the
+ Ada keywords in the Namet table, without the need to call
+ Initialize_Scanner.
+
+ * snames.adb: Add pragma Ada_2005 (synonym for Ada_05)
+ (Is_Keyword_Name): New function
+
+ * snames.ads: Add subtype Configuration_Pragma_Names
+ Add pragma Ada_2005 (synonym for Ada_05)
+ (Is_Keyword_Name): New function
+
+ * snames.h: Add pragma Ada_2005 (synonym for Ada_05)
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+
+ * a-stwisu.adb, a-strsup.adb, a-stzsup.adb (Super_Slice): Fix slice
+ index.
+
+ * a-stwima.adb (To_Set): Add extra check when N = 0.
+
+ * g-regpat.adb: (Match_Simple_Operator): Avoid possible overflow.
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+
+ * s-parame-mingw.adb, s-parame-linux.adb,
+ s-parame-solaris.adb: Removed, replaced by s-parame.adb
+
+ * s-parame-vxworks.ads: Fix typo.
+
+ * s-parame-vxworks.adb: New file.
+
+ * s-parame.adb: Version now used by all native platforms.
+ (Default_Stack_Size): Use 2 megs for default stack size and use
+ __gl_default_stack_size when available.
+ (Minimum_Stack_Size): Use 12K.
+
+ * s-taprop-mingw.adb: Set default stack size linker switch to 2megs.
+ (Create_Task): Refine implementation taking advantage of the XP stack
+ size support. On XP, we now create the thread using the flag
+ STACK_SIZE_PARAM_IS_A_RESERVATION.
+
+ * s-osinte-mingw.ads (Stack_Size_Param_Is_A_Reservation): New constant.
+
+ * sysdep.c (__gnat_is_windows_xp): New routine, returns 1 on Windows
+ XP and 0 on older Windows versions.
+
+ * interfac-vms.ads: Removed, no longer used.
+
+2006-02-13 Matthew Heaney <heaney@adacore.com>
+
+ * a-rbtgso.adb, a-crbtgo.adb, a-crbtgk.adb, a-coorse.adb,
+ a-cohama.adb, a-ciorse.adb, a-cihama.adb, a-cihase.adb,
+ a-cohase.adb: All explicit raise statements now include an exception
+ message.
+
+ * a-ciormu.ads, a-ciormu.adb, a-coormu.ads, a-coormu.adb
+ (Update_Element_Preserving_Key): renamed op to just Update_Element.
+ Explicit raise statements now include an exception message
+
+ * a-cihase.ads, a-cohase.ads: Removed comment.
+
+ * a-stboha.ads, a-stboha.adb, a-stfiha.ads, a-envvar.adb,
+ a-envvar.ads, a-swbwha.ads, a-swbwha.adb, a-swfwha.ads, a-szbzha.ads,
+ a-szbzha.adb, a-szfzha.ads: New files.
+
+2006-02-13 Matthew Heaney <heaney@adacore.com>
+
+ * a-cgcaso.adb, a-cgaaso.adb: Implemented using heapsort instead of
+ quicksort.
+
+2006-02-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lang.opt: Wvariadic-macros: New option.
+ Wold-style-definition: Likewise.
+ Wmissing-format-attribute: Likewise.
+
+ * misc.c (gnat_handle_option): New cases for -Wvariadic-macros,
+ -Wold-style-definition and -Wmissing-format-attribute.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * a-ticoio.ads, a-ticoio.adb: Add use clause (moved here from spec)
+
+ * a-coteio.ads, a-lcteio.ads, a-llctio.ads, a-scteio.ads: New files.
+
+2006-02-13 Nicolas Roche <roche@adacore.com>
+
+ * a-envvar.adb, a-envvar.ads: New files.
+
+2006-02-13 Douglas Rupp <rupp@adacore.com>
+
+ * s-parame-vms.ads: Renamed to s-parame-vms-alpha.ads
+
+ * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: New files.
+
+2006-02-13 Pat Rogers <rogers@adacore.com>
+
+ * a-rttiev.adb, a-rttiev.ads: New files.
+
+2006-02-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-tiboio.adb, a-tiboio.ads, a-wwboio.adb,
+ a-wwboio.ads, a-zzboio.adb, a-zzboio.ads: New files.
+
+ * impunit.adb, Makefile.rtl: Added new Ada 2005 units.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * rtsfind.adb, exp_prag.adb, lib-writ.adb, par-labl.adb,
+ sem_case.adb: Minor code reorganization (not Present should be No)
+
+2006-02-13 Geert Bosch <bosch@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * a-tifiio.adb (Put_Digits): Test Last against To'First - 1 instead of
+ 0, since the lower bound of the actual string may be greater than one.
+
+ PR ada/20753
+ * a-tifiio.adb (Put): Fix condition to raise Layout_Error when invalid
+ layout is requested.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * back_end.adb (Scan_Compiler_Arguments): Check if
+ Search_Directory_Present is True and, if it is, add the argument in
+ the source search directory path.
+
+ * switch-c.adb (Scan_Front_End_Switches): Accept switch "-I". Set
+ Search_Directory_Present to True.
+
+2006-02-13 Joel Brobecker <brobecke@adacore.com>
+
+ * bindgen.adb (Gen_Main_C): declare the ensure_reference variable as
+ volatile, to tell the compiler to preserve this variable at any level
+ of optimization.
+ (Gen_Versions_Ada): Temporarily work around codegen bug.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * gnatlink.adb (Process_Binder_File): If -shared is specified, invoke
+ gcc to link with option -shared-libgcc.
+ (Gnatlink): Remove duplicate switches -shared-libgcc
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * gnatvsn.ads (Current_Year): New constant, used to easily update
+ copyright on all GNAT tools.
+
+ * gnatls.adb, gnatname.adb, vms_conv.adb: Add 2006 to displayed
+ copyright notice.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * erroutc.ads, erroutc.adb (Set_Message_Blank): Don't insert space
+ after hyphen (small aesthetic change useful for a range of numbers
+ using ^-^.
+ Suppress range checks for a couple of assignments which otherwise
+ cause validity checks with validity checking turned on.
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Size):
+ Improvement in error message for object.
+ (Rep_Item_Too_Late): Remove '!' in warning message.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * err_vars.ads: Suppress range checks for a couple of assignments
+ which otherwise cause validity checks with validity checking turned on.
+ Update comments.
+
+ * errout.adb (Error_Msg_Internal): Do not suppress warning messages.
+ Make message unconditional if it is a warning.
+ (Error_Msg_NEL): Always output warning messages.
+ Suppress range checks for a couple of assignments which otherwise
+ cause validity checks with validity checking turned on.
+
+ * errout.ads (Message Insertion Characters): Document that '!' is
+ implied by '?' in error messages.
+
+ * gnat1drv.adb: (Bad_Body): Remove '!' in warning message.
+ (Gnat1drv): Use a goto to end of main subprogram instead of
+ Exit_Program (E_Success) so that finalization can occur normally.
+
+2006-02-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-stchop.adb (Stack_Check): Raise Storage_Error if the argument has
+ wrapped around.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * a-direct.adb (Duration_To_Time, OS_Time_To_Long_Integer): New
+ Unchecked_Conversion functions.
+ (Modification_Time): Use direct conversion of OS_Time to Calendar time
+ when OpenVMS returns False.
+
+ * a-dirval-mingw.adb, a-dirval-vms.adb, a-dirval.ads,
+ a-dirval.adb (OpenVMS): New Boolean function
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * checks.adb (Build_Discriminant_Checks): If the expression being
+ checks is an aggregate retrieve the values of its discriminants to
+ generate the check, rather than creating a temporary and a reference
+ to it.
+ (Apply_Access_Check): Rewritten to handle new Is_Known_Null flag
+ (Install_Null_Excluding_Check): Ditto
+ (Selected_Length_Checks): Build actual subtype for the original Ck_Node,
+ not for the renamed object, so that the actual itype is attached in the
+ proper context.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * debug.adb: Eliminate numeric switches for binder/gnatmake
+
+ * switch-m.adb (Normalize_Compiler_Switches): Record numeric debug
+ switches for the compiler.
+ (Scan_Make_Switches): Do not allow numeric debug switches for gnatmake
+ (Scan_Make_Switches): When failing with an illegal switch, output an
+ error message with the full switch.
+ Eliminate numeric switches for binder/gnatmake
+
+ * switch.ads, switch.adb (Bad_Switch): New procedure
+
+ * switch-b.adb (Scan_Binder_Switches): Do not accept combined switches.
+ Remove 0-9 as debug flag character possibilities
+ -d is now controlling the primary stack size when its value is a
+ positive. Also add checks against invalid values, and support for kb,
+ mb. Ditto for -D switch.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+ Serguei Rybin <rybin@adacore.com>
+
+ * opt.ads opt.adb: Add Ada_Version_Explicit_Config along with
+ save/restore routines.
+ Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+ were not always properly handled previously.
+ Since we are changing the tree format anyway, also get rid of the
+ junk obsolete Immediate_Errors flag.
+ (Tree_Read): Change the way of reading Tree_Version_String - now we
+ read the version string from the tree even if its length is not the
+ same as the length of the version string computed from Gnatvsn.
+ (Search_Directory_Present): New Boolean flag for the compiler.
+ Define Tree_Version_String as a dynamic string.
+ (Default_Stack_Size): new variable, used to handle switch -d.
+
+ * par-prag.adb:
+ For pragma Ada_2005, remove stuff about setting Ada_Version_Explicit
+ only for main unit.
+ Add pragma Ada_2005 (synonym for Ada_05)
+ Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+ were not always properly handled previously.
+
+ * directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Change
+ explicit Ada_95 to Ada_2005.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads, einfo.adb (First_Tag_Component): Protect the frontend
+ against errors in the source program: a private types for which the
+ corresponding full type declaration is missing and pragma CPP_Virtual
+ is used.
+ (Is_Unchecked_Union): Check flag on Implementation_Base_Type.
+ (Is_Known_Null): New flag
+ (Has_Pragma_Pure): New flag
+ (No_Return): Present in all entities, set only for procedures
+ (Is_Limited_Type): A type whose ancestor is an interface is limited if
+ explicitly declared limited.
+ (DT_Offset_To_Top_Func): New attribute that is present in E_Component
+ entities. Only used for component marked Is_Tag. If present it stores
+ the Offset_To_Top function used to provide this value in tagged types
+ whose ancestor has discriminants.
+
+ * exp_ch2.adb: Update status of new Is_Known_Null flag
+
+ * sem_ch7.adb: Maintain status of new Is_Known_Null flag
+
+ * sem_cat.adb (Get_Categorization): Don't treat function as Pure in
+ the categorization sense if Is_Pure was set by pragma Pure_Function.
+
+2006-02-13 Quentin Ochem <ochem@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * bindusg.adb: Updated documentation for -d and -D switches.
+
+ * raise.h (__gnat_set_globals): added new parameter for
+ Default_Stack_Size.
+
+ * init.c (__gnat_adjust_context_for_raise) <alpha-vms case>: Implement.
+ (__gnat_handle_vms_condition): Adjust context before raise.
+ (__gnat_install_handler): Restore the global vector setup for GCC
+ versions before 3.4, as the frame based circtuitry is not available
+ in this case.
+ (__gnat_set_globals): added a parameter default_stack_size
+ (__gl_default_stack_size): new variable.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Build_Array_Aggr_Code): Rename variable
+ "Others_Mbox_Present" to "Others_Box_Present" because the mbox concept
+ does not exist in the Ada RM.
+ (Compatible_Int_Bounds): Determine whether two integer range bounds
+ are of equal length and have the same start and end values.
+ (Is_Int_Range_Bounds): Determine whether a node is an integer range.
+ (Build_Record_Aggr_Code): Perform proper sliding of a nested array
+ aggregate when it is part of an object declaration.
+ (Build_Record_Aggr_Code) If the aggregate ttype is a derived type that
+ constrains discriminants of its parent, add explicitly the discriminant
+ constraints of the ancestor by retrieving them from the
+ stored_constraint of the parent.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference, case Mechanism_Code): If
+ attribute Mechanism_Code is applied to renamed subprogram, modify
+ prefix to point to base subprogram.
+ Max/Min attributes now violate Restriction No_Implicit_Conditionals
+
+ * sinfo.ads: Document that Mechanism_Code cannot be applied to
+ renamed subprograms so that the front-end must replace the prefix
+ appropriately.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch3.adb (Component_Needs_Simple_Initialization): Add check for
+ availability of RE_Interface_Tag.
+ (Build_Initialization_Call): Fix wrong access to the discriminant value.
+ (Freeze_Record_Type): Do not generate the tables associated with
+ timed and conditional dispatching calls through synchronized
+ interfaces if compiling under No_Dispatching_Calls restriction.
+ When compiling for Ada 2005, for a nonabstract
+ type with a null extension, call Make_Controlling_Function_Wrappers
+ and insert the wrapper function declarations and bodies (the latter
+ being appended as freeze actions).
+ (Predefined_Primitive_Bodies): Do not generate the bodies of the
+ predefined primitives associated with timed and conditional
+ dispatching calls through synchronized interfaces if we are
+ compiling under No_Dispatching_Calls.
+ (Build_Init_Procedure): Use RTE_Available to check if a run-time
+ service is available before generating a call.
+ (Make_Controlling_Function_Wrappers): New procedure.
+ (Expand_N_Full_Type_Declaration): Create a class-wide master for
+ access-to-limited-interfaces because they can be used to reference
+ tasks that implement such limited interface.
+ (Build_Offset_To_Top_Functions): Build the tree corresponding to the
+ procedure spec and body of the Offset_To_Top function that is generated
+ when the parent of a type with discriminants has secondary dispatch
+ tables.
+ (Init_Secondary_Tags): Handle the case in which the parent of the type
+ containing secondary dispatch tables has discriminants to generate the
+ correct arguments to call Set_Offset_To_Top.
+ (Build_Record_Init_Proc): Add call to Build_Offset_To_Top_Functions.
+
+ * a-tags.ads, a-tags.adb: (Check_Index): Removed.
+ Add Wide_[Wide_]Expanded_Name.
+ (Get_Predefined_Prim_Op_Address): New subprogram that provides exactly
+ the same functionality of Get_Prim_Op_Address but applied to predefined
+ primitive operations because the pointers to the predefined primitives
+ are now saved in a separate table.
+ (Parent_Size): Modified to get access to the separate table of primitive
+ operations or the parent type.
+ (Set_Predefined_Prim_Op_Address): New subprogram that provides the same
+ functionality of Set_Prim_Op_Address but applied to predefined primitive
+ operations.
+ (Set_Signature): New subprogram used to store the signature of a DT.
+ (Displace): If the Offset_To_Top value is not static then call the
+ function generated by the expander to get such value; otherwise use
+ the value stored in the table of interfaces.
+ (Offset_To_Top): The type of the actual has been changed to Address to
+ give the correct support to tagged types with discriminants. In this
+ case this value is stored just immediately after the tag field.
+ (Set_Offset_To_Top): Two new formals have been added to indicate if the
+ offset_to_top value is static and hence pass this value to the run-time
+ to store it in the table of interfaces, or else if this value is dynamic
+ and then pass to the run-time the address of a function that is
+ generated by the expander to provide this value for each object of the
+ type.
+
+ * rtsfind.ads (Default_Prin_Op_Count): Removed.
+ (Default_Prim_Op_Count): New entity
+ (Get_Predefined_Prim_Op_Address): New entity
+ (Set_Predefined_Prim_Op_Address): New entity
+ (RE_Set_Signature): New entity
+
+2006-02-13 Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_Allocator_Expression): Pass Allocator => True to
+ Make_Adjust_Call done for a newly-allocated object.
+
+ * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): If the statements
+ in a subprogram are wrapped in a cleanup block, indicate that the
+ subprogram contains an inner block with an exception handler.
+ (Make_Adjust_Call): New Boolean formal Allocator indicating whether the
+ Adjust call is for a newly-allocated object. In that case we must not
+ assume that the finalization list chain pointers are correct (since they
+ come from a bit-for-bit copy of the original object's pointers) so if
+ the attach level would otherwise be zero (no change), we set it to 4
+ instead to cause the pointers to be reset to null.
+
+ * s-finimp.adb (Attach_To_Final_List): New attach level: 4, meaning
+ reset chain pointers to null.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Assign_Array): If the right-hand side is a
+ string, and the context requires a loop for the assignment (e.g.
+ because the left-hand side is packed), generate a unique name for the
+ temporary that holds the string, to prevent spurious name clashes.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call): Handle calls to functions that
+ return unconstrained arrays.
+ Update comments.
+ (Expand_Call): An indirect call through an access parameter of a
+ protected operation is not a protected call.
+ Add circuit to raise CE in Ada 2005 mode following call
+ to Raise_Exception.
+ (Register_DT_Entry): Do nothing if
+ the run-time does not give support to abstract interfaces.
+ (Freeze_Subprogram): In case of dispatching operations, do not generate
+ code to register the operation in the dispatch table if the source
+ is compiled with No_Dispatching_Calls.
+ (Register_Predefined_DT_Entry): Generate code that calls the new
+ run-time subprogram Set_Predefined_Prim_Op_Address instead of
+ Set_Prim_Op_Address.
+
+ * sem_ch5.adb (Analyze_Assignment_Statement): Do not apply length checks
+ on array assignments if the right-hand side is a function call that has
+ been inlined. Check is performed on the assignment in the block.
+ (Process_Bounds): If bounds and range are overloaded, apply preference
+ rule for root operations to disambiguate, and diagnose true ambiguity.
+ (Analyze_Assignment): Propagate the tag for a class-wide assignment with
+ a tag-indeterminate right-hand side even when Expander_Active is True.
+ Needed to ensure that dispatching calls to T'Input are allowed and
+ get the tag of the target class-wide object.
+
+ * sem_ch6.adb (New_Overloaded_Entity): Handle entities that override
+ an inherited primitive operation that already overrides several
+ abstract interface primitives. For transitivity, the new entity must
+ also override all the abstract interface primitives covered by the
+ inherited overriden primitive.
+ Emit warning if new entity differs from homograph in same scope only in
+ that one has an access parameter and the other one has a parameter of
+ a general access type with the same designated type, at the same
+ position in the signature.
+ (Make_Inequality_Operator): Use source locations of parameters and
+ subtype marks from corresponding equality operator when creating the
+ tree structure for the implicit declaration of "/=". This does not
+ change anything in behaviour except that the decoration of the
+ components of the subtree created for "/=" allows ASIS to get the
+ string images of the corresponding identifiers.
+ (Analyze_Return_Statement): Remove '!' in warning message.
+ (Check_Statement_Sequence): Likewise.
+ (Analyze_Subprogram_Body): For an access parameter whose designated type
+ is an incomplete type imported through a limited_with clause, use the
+ type of the corresponding formal in the body.
+ (Check_Returns): Implicit return in No_Return procedure now raises
+ Program_Error with a compile time warning, instead of beging illegal.
+ (Has_Single_Return): Function returning unconstrained type cannot be
+ inlined if expression in unique return statement is not an identifier.
+ (Build_Body_To_Inline): It is possible to inline a function call that
+ returns an unconstrained type if all return statements in the function
+ return the same local variable. Subsidiary procedure Has_Single_Return
+ verifies that the body conforms to this restriction.
+
+ * sem_res.adb (Resolve_Equality_Op): If the operands do not have the
+ same type, and one of them is of an anonymous access type, convert
+ the other operand to it, so that this is a valid binary operation for
+ gigi.
+ (Resolve_Type_Conversion): Handle subtypes of protected types and
+ task types when accessing to the corresponding record type.
+ (Resolve_Allocator): Add '\' in 2-line warning message.
+ Remove '!' in warning message.
+ (Resolve_Call): Add '\' in 2-line warning message.
+ (Valid_Conversion): Likewise.
+ (Resolve_Overloaded_Selected_Component): If disambiguation succeeds, the
+ resulting type may be an access type with an implicit dereference.
+ Obtain the proper component from the designated type.
+ (Make_Call_Into_Operator): Handle properly a call to predefined equality
+ given by an expanded name with prefix Standard, when the operands are
+ of an anonymous access type.
+ (Check_Fully_Declared_Prefix): New procedure, subsidiary of Resolve_
+ Explicit_Dereference and Resolve_Selected_Component, to verify that the
+ prefix of the expression is not of an incomplete type. Allows full
+ diagnoses of all semantic errors.
+ (Resolve_Actuals): If the actual is an allocator whose directly
+ designated type is a class-wide interface we build an anonymous
+ access type to use it as the type of the allocator. Later, when
+ the subprogram call is expanded, if the interface has a secondary
+ dispatch table the expander will add a type conversion to force
+ the displacement of the pointer.
+ (Resolve_Call): If a function that returns an unconstrained type is
+ marked Inlined_Always and inlined, the call will be inlined and does
+ not require the creation of a transient scope.
+ (Check_Direct_Boolean_Op): Removed
+ (Resolve_Comparison_Op): Remove call to above
+ (Resolve_Equality_Op): Remove call to above
+ (Resolve_Logical_Op): Inline above, since this is only call.
+ (Valid_Conversion): Handle properly conversions between arrays of
+ convertible anonymous access types.
+
+ PR ada/25885
+ (Set_Literal_String_Subtype): If the lower bound is not static, wrap
+ the literal in an unchecked conversion, because GCC 4.x needs a static
+ value for a string bound.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
+ components of the corresponding record, take into account component
+ definitions that are access definitions.
+ (Expand_N_Asynchronous_Select): A delay unit statement rewritten as a
+ procedure is not considered a dispatching call and will be expanded
+ properly.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.ads, exp_disp.adb (Expand_Dispatching_Call): If the
+ controlling argument of the dispatching call is an abstract interface
+ class-wide type then we use it directly.
+ Check No_Dispatching_Calls restriction.
+ (Default_Prim_Op_Position): Remove the code that looks for the last
+ entity in the list of aliased subprograms. This code was wrong in
+ case of renamings.
+ (Fill_DT_Entry): Add assertion to avoid the use of this subprogram
+ when the source is compiled with the No_Dispatching_Calls restriction.
+ (Init_Predefined_Interface_Primitives): No need to inherit primitives
+ if we are compiling with restriction No_Dispatching_Calls.
+ (Make_Disp_XXX): Addition of assertion to avoid the use of all these
+ subprograms if we are compiling under No_Dispatching_Calls restriction.
+ (Make_DT): Generate a dispatch table with a single dummy entry if
+ we are compiling with the No_Dispatching_Calls restriction. In
+ addition, in this case we don't generate code that calls to the
+ following run-time subprograms: Set_Type_Kind, Inherit_DT.
+ (Make_Select_Specific_Data_Table): Add assertion to avoid the use
+ of this subprogram if compiling with the No_Dispatching_Calls
+ restriction.
+ (Expand_Type_Conversion): Instead of using the actual parameter,
+ the argument passed as parameter to the conversion function was
+ erroneously referenced by the expander.
+ (Ada_Actions): Addition of Get_Predefined_Prim_Op_Address,
+ Set_Predefined_Primitive_Op_Address and Set_Signature.
+ (Expand_Dispatching_Call): Generate call to
+ Get_Predefined_Prim_Op_Address for predefined primitives.
+ (Fill_DT_Entry): Generate call to Set_Predefined_Prim_Op_Address for
+ predefined primitives.
+ (Make_DT, Make_Secondary_DT): If the tagged type has no user defined
+ primitives we reserve one dummy entry to ensure that the tag does not
+ point to some memory that is associated with some other object. In
+ addition, remove all the old code that generated the assignments
+ associated with the signature of the dispatch table and replace them
+ by a call to the new subprogram Set_Signature.
+ (Set_All_DT_Position): Change the algorithm because now we have a
+ separate dispatch table associated with predefined primitive operations.
+ (Expand_Interface_Conversion): In case of non-static offset_to_top
+ add explicit dereference to get access to the object after the call
+ to displace the pointer to the object.
+ (Expand_Interface_Thunk): Modify the generation of the actual used
+ in the calls to the run-time function Offset_To_Top to fulfil its
+ new interface.
+ (Make_DT): Add the new actuals required to call Set_Offset_To_Top.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_dist.adb (Copy_Specification): For access parameters, copy
+ Null_Exclusion flag, which will have been set for stream subprograms
+ in Ada2005 mode.
+
+2006-02-13 Pascal Obry <obry@adacore.com>
+
+ * expect.c (__gnat_expect_portable_execvp): New implementation. The
+ previous implementation was using the C runtime spawnve routine but
+ the corresponding wait was using directly the Win32 API. This was
+ causing some times a lock when waiting for an event using
+ WaitForSingleObject in __gnat_waitpid. This new implementation uses
+ the Win32 CreateProcess routine. Avoiding mixing C runtime and Win32
+ API fixes this problem.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * exp_intr.adb (Expand_Unc_Deallocation): Correct error of bad analyze
+ call.
+
+2006-02-13 Thomas Quinot <quinot@adacore.com>
+
+ * exp_pakd.ads: Fix typos in comments.
+
+ * exp_pakd.adb (Convert_To_PAT_Type): For the case of a bit packed
+ array reference that is an explicit dereference, mark the converted
+ (packed) array reference as analyzed to prevent a forthcoming
+ reanalysis from resetting its type to the original (non-packed) array
+ type.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.ads, exp_util.adb (Find_Prim_Op,
+ Is_Predefined_Primitive_Operation): When
+ searching for the predefined equality operator, verify that operands
+ have the same type.
+ (Is_Predefined_Dispatching_Operation): Remove the code that looks
+ for the last entity in the list of aliased subprograms. This code
+ was wrong in case of renamings.
+ (Set_Renamed_Subprogram): New procedure
+ (Remove_Side_Effects): Replace calls to Etype (Exp) with use of the
+ Exp_Type constant computed when entering this subprogram.
+ (Known_Null): New function
+ (OK_To_Do_Constant_Replacement): New function
+ (Known_Non_Null): Check scope before believing Is_Known_Non_Null flag
+ (Side_Effect_Free): An attribute reference 'Input is not free of
+ side effect, unlike other attributes that are functions. (from code
+ reading).
+ (Remove_Side_Effects): Expressions that involve packed arrays or records
+ are copied at the point of reference, and therefore must be marked as
+ renamings of objects.
+ (Is_Predefined_Dispatching_Operation): Return false if the operation is
+ not a dispatching operation.
+
+ PR ada/18819
+ (Remove_Side_Effects): Lift enclosing type conversion nodes for
+ elementary types in all cases.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Handle subtypes of protected types and
+ task types when accessing to the corresponding record type.
+ Remove '!' in warning message.
+
+2006-02-13 Olivier Hainque <hainque@adacore.com>
+
+ * g-altive.ads (VECTOR_ALIGNMENT): Set to Min (16, Max_Alignment),
+ to avoid useless and space inefficient overalignments on targets where
+ Max_Alignment is larger than 16.
+
+2006-02-13 Pascal Obry <obry@adacore.com>
+
+ * g-catiio.adb (Sec_Number): New type used to compute the number of
+ seconds since 1-1-1970.
+ (Image) [Natural]: The parameter was an Integer, as we can't deal with
+ negative numbers (years, months...) it is better to have a Natural here.
+ Code clean-up.
+ (Image) [Number]: Change parameter from Long_Integer to Number.
+ (Image): Use Number type to compute the seconds since 1-1-1970 to fix an
+ overflow for dates past year 2038.
+
+2006-02-13 Matthew Heaney <heaney@adacore.com>
+
+ * g-dyntab.adb (Index_Of): conversion from Natural can no longer raise
+ Constraint_Error.
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatbind.adb (Scan_Bind_Arg): Replace error by warning on -M and
+ native platforms.
+ (Gnatbind): Do not call Exit_Program (E_Success) at the end, so that
+ finalization can occur normally.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (Rules_Switches): New table
+ (Add_To_Rules_Switches): New procedure
+ (GNATCmd): For command CHECK, put all options following "-rules" in the
+ Rules_Switches table. Append these -rules switches after the -cargs
+ switches.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * g-spipat.adb (Image, case PC_Assign_Imm and case PC_Assign_OnM):
+ These two cases were generating incorrect output, and if this unit
+ was built with checks on, generated a discriminant mismatch constraint
+ error.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * lib-xref.adb (Get_Type_Reference): For a private type whose full
+ view is an array type, indicate the component type as well, for
+ navigation purposes.
+ (Generate_Reference): Don't consider array ref on LHS to be a case
+ of violating pragma Unreferenced.
+ Do not give Ada 2005 warning except on real reference.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Collect_Arguments_And_Compile): For VMS, when compiling the
+ main source, add switch -mdebug-main=_ada_ so that the executable can
+ be debugged by the standard VMS debugger.
+ (Gnatmake): Set No_Main_Subprogram to True when there is no main
+ subprogram, to avoid issuing -mdebug-main=_ada_ for VMS uselessly.
+ Exit the Multi_Main_Loop when Unique_Compile is True after compilation
+ of the last source, as the binding and linking phases are never
+ performed.
+ Set all executable obsolete when rebuilding a library.
+
+ * makeutl.adb (Linker_Options_Switches): Do not process empty linker
+ options.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+
+ PR ada/23973
+ * par-ch3.adb (P_Derived_Type_Def_Or_Private_Ext_Decl): Reorganize the
+ code to improve the error message reported when the program has
+ declarations of abstract interface types and it is not compiled with
+ the -gnat05 switch.
+ (P_Access_Definition): Reorganize the code to improve the error
+ message reported when the new Ada 2005 syntax for anonymous
+ access types is used and the program is not compiled with the
+ -gnat05 switch.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * par-ch6.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb,
+ stylesw.ads, usage.adb, vms_data.ads: Implement -gnatyI switch
+ (MODE_IN)
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+
+ * par-endh.adb (Explicit_Start_Label): Add code to protect the parser
+ against source containing syntax errors.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * prj.adb (Reset): Initialize the first element of table Namings with
+ the standard naming data.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * prj.ads (Error_Warning): New enumeration type
+
+ * prj-nmsc.ads, prj-nmsc.adb (Error_Msg): If location parameter is
+ unknown, use the location of the project to report the error.
+ (When_No_Sources): New global variable
+ (Report_No_Ada_Sources): New procedure
+ (Check): New parameter When_No_Sources. Set value of global variable
+ When_No_Sources,
+ (Find_Sources): Call Report_No_Ada_Sources when appropriate
+ (Get_Sources_From_File): Ditto
+ (Warn_If_Not_Sources): Better warning messages indicating the unit name
+ and the file name.
+
+ * prj-pars.ads, prj-pars.adb (Parse): New parameter When_No_Sources.
+ Call Prj.Proc.Process with parameter When_No_Sources.
+
+ * prj-proc.ads, prj-proc.adb (Check): New parameter When_No_Sources.
+ Call Recursive_Check with parameter When_No_Sources.
+ (Recursive_Check): New parameter When_No_Sources. Call itself and
+ Prj.Nmsc.Check with parameter When_No_Sources.
+ (Process): New parameter When_No_Sources. Call Check with parameter
+ When_No_Sources.
+ (Copy_Package_Declarations): New procedure to copy renamed parameters
+ and setting the location of the declared attributes to the location
+ of the renamed package.
+ (Process_Declarative_Items): Call Copy_Package_Declarations for renamed
+ packages.
+
+2006-02-13 Vincent Celier <celier@adacore.com>
+
+ * prj-makr.adb (Make): Preserve the comments from the original project
+ file.
+ When removing nodes (attributes Source_Dirs, Source_Files,
+ Source_List_File and package Naming), save the comments and attach the
+ saved comments to the newly created nodes.
+ Do not add a with clause for the naming package if one already exists.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * restrict.ads (No_Dispatching_Calls): New GNAT restriction.
+
+ * sem_disp.adb (Override_Dispatching_Operation): Traverse the list of
+ aliased entities to look for the overriden abstract interface
+ subprogram.
+ (Is_Interface_Subprogram): Complete documentation.
+ (Check_Dispatching_Operation): Do not generate code to register the
+ operation in the dispatch table if the source is compiled with
+ restriction No_Dispatching_Calls.
+ (Override_Dispatching_Operation): Check for illegal attempt to override
+ No_Return procedure with procedure that is not No_Return
+ (Check_Dispatching_Call): Suppress the check for an abstract operation
+ when the original node of an actual is a tag-indeterminate attribute
+ call, since the attribute, which must be 'Input, can never be abstract.
+ (Is_Tag_Indeterminate): Handle checking of tag indeterminacy of a
+ call to the Input attribute (even when rewritten).
+ (Propagate_Tag): Augment comment to indicate the possibility of a call
+ to an Input attribute.
+
+ * sem_disp.ads (Override_Dispatching_Operation): Moved to spec to allow
+ calling it from Exp_Ch3.Make_Controlling_Function_Wrappers.
+
+ * s-rident.ads: (No_Dispatching_Calls): New GNAT restriction.
+ No_Wide_Characters is no longer partition-wide
+ No_Implementation_Attributes/Pragmas are now Ada 2005 (AI-257)
+ rather than GNAT
+
+2006-02-13 Douglas Rupp <rupp@adacore.com>
+
+ * s-auxdec-vms_64.ads (Short_Address): Wrap it in a type.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): Restructure the code that
+ handles default-initialized components to keep separate the management
+ of this feature but also avoid the unrequired resolution and
+ expansion of components that do not have partially initialized
+ values.
+ (Collect_Aggr_Bounds): Add '\' in 2-line warning message.
+ (Check_Bounds): Likewise.
+ (Check_Length): Likewise.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): In case of 'Class applied to an
+ abstract interface type call analyze_and_resolve to expand the type
+ conversion into the corresponding displacement of the
+ reference to the base of the object.
+ (Eval_Attribute, case Width): For systems where IEEE extended precision
+ is supported, the maximum exponent occupies 4 decimal digits.
+ (Accessibility_Message): Add '\' in 2-line warning message.
+ (Resolve_Attribute): Likewise.
+ (case Attribute_Access): Significantly revise checks
+ for illegal access-to-subprogram Access attributes to properly enforce
+ the rules of 3.10.2(32/2).
+ Diagnose use of current instance with an illegal attribute.
+
+ * sem_util.ads, sem_util.adb (Enclosing_Generic_Body): Change formal
+ to a Node_Id.
+ (Enclosing_Generic_Unit): New function to return a node's innermost
+ enclosing generic declaration node.
+ (Compile_Time_Constraint_Error): Remove '!' in warning messages.
+ (Type_Access_Level): The accessibility level of anonymous acccess types
+ associated with discriminants is that of the current instance of the
+ type, and that's deeper than the type itself (AARM 3.10.2 (12.3.21)).
+ (Compile_Time_Constraint_Error): Handle case of conditional expression.
+ (Kill_Current_Values_For_Entity): New function
+ (Enter_Name): Change formal type to Entity_Id
+
+2006-02-13 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch10.adb (Check_Redundant_Withs): New procedure in
+ Analyze_Compilation_Unit.
+ Detect and warn on redundant with clauses detected in a package spec
+ and/or body when -gnatwr is used.
+ (Analyze_Context): Analyze config pragmas before other items
+ (Install_Context_Items): Don't analyze config pragmas here
+ (Install_Limited_Withed_Unit): Set limited entity of package in
+ with_clause so that cross-reference information or warning messages on
+ unused packages can be properly generated
+ (Is_Visible_Through_Renamings): Return false if the limited_with_clause
+ has Error_Posted set. Prevent infinite loops in illegal programs.
+ (Check_Private_Child_Unit): Move test for a nonprivate with clause down
+ to the point of the error test requiring the current unit to be private.
+ This ensures that private with clauses are not exempted from the basic
+ checking for being a descendant of the same library unit parent as a
+ withed private descendant unit.
+ (Check_Private_Limited_Withed_Unit): Revise the checking algorithm to
+ handle private with clauses properly, as well as to account for cases
+ where the withed unit is a public descendant of a private ancestor
+ (in which case the current unit must be a descendant of the private
+ ancestor's parent). The spec comments were updated accordingly. Also,
+ the old error message in this subprogram was replaced with error
+ messages that mirror the errors tested and reported by
+ Check_Private_Child_Unit.
+ Parameter and variable names improved for readability.
+ (Install_Limited_Context_Clauses): Remove test for a withed unit being
+ private as the precondition for calling
+ Check_Private_Limited_Withed_Unit since that subprogram has been
+ revised to test public units as well as private units.
+
+2006-02-13 Thomas Quinot <quinot@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch12.adb (Inline_Instance_Body): Remove erroneous assumption
+ that Scope_Stack.First = 1.
+ Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+ were not always properly handled previously.
+ (Formal_Entity): Complete rewrite, to handle properly some complex case
+ with multiple levels of parametrization by formal packages.
+ (Analyze_Formal_Derived_Type): Propagate Ada 2005 "limited" indicator
+ to the corresponding derived type declaration for proper semantics.
+
+ * sem_prag.adb (Analyze_Pragma): Remove '!' in warning message.
+ (Check_Component): Enforce restriction on components of
+ unchecked_unions: a component in a variant cannot contain tasks or
+ controlled types.
+ (Unchecked_Union): Allow nested variants and multiple discriminants, to
+ conform to AI-216.
+ Add pragma Ada_2005 (synonym for Ada_05)
+ Properly handle Ada_Version_Explicit and Ada_Version_Config, which
+ were not always properly handled previously.
+ Document that pragma Propagate_Exceptions has no effect
+ (Analyze_Pragma, case Pure): Set new flag Has_Pragma_Pure
+ (Set_Convention_From_Pragma): Check that if a convention is
+ specified for a dispatching operation, then it must be
+ consistent with the existing convention for the operation.
+ (CPP_Class): Because of the C++ ABI compatibility, the programmer is no
+ longer required to specify an vtable-ptr component in the record. For
+ compatibility reasons we leave the support for the previous definition.
+ (Analyze_Pragma, case No_Return): Allow multiple arguments
+
+ * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Flag a
+ non-overrideen inherited operation with a controlling result as
+ illegal only its implicit declaration comes from the derived type
+ declaration of its result's type.
+ (Check_Possible_Deferred_Completion): Relocate the object definition
+ node of the subtype indication of a deferred constant completion rather
+ than directly analyzing it. The analysis of the generated subtype will
+ correctly decorate the GNAT tree.
+ (Record_Type_Declaration): Check whether this is a declaration for a
+ limited derived record before analyzing components.
+ (Analyze_Component_Declaration): Diagnose record types not explicitly
+ declared limited when a component has a limited type.
+ (Build_Derived_Record_Type): Code reorganization to check if some of
+ the inherited subprograms of a tagged type cover interface primitives.
+ This check was missing in case of a full-type associated with a private
+ type declaration.
+ (Constant_Redeclaration): Check that the subtypes of the partial and the
+ full view of a constrained deferred constant statically match.
+ (Mentions_T): A reference to the current type in an anonymous access
+ component declaration must be an entity name.
+ (Make_Incomplete_Type_Declaration): If type is tagged, set type of
+ class_wide type to refer to full type, not to the incomplete one.
+ (Add_Interface_Tag_Components): Do nothing if RE_Interface_Tag is not
+ available. Required to give support to the certified run-time.
+ (Analyze_Component_Declaration): In case of anonymous access components
+ perform missing checks for AARM 3.9.2(9) and 3.10.2 (12.2).
+ (Process_Discriminants): For an access discriminant, use the
+ discriminant specification as the associated_node_for_itype, to
+ simplify accessibility checks.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch4.adb (Remove_Abstract_Interpretations): Even if there are no
+ abstract interpretations on an operator, remove interpretations that
+ yield Address or a type derived from it, if one of the operands is an
+ integer literal.
+ (Try_Object_Operation.Try_Primitive_Operation,
+ Try_Object_Operation.Try_Class_Wide_Operation): Set proper source
+ location when creating the new reference to a primitive or class-wide
+ operation as a part of rewriting a subprogram call.
+ (Try_Primitive_Operations): If context requires a function, collect all
+ interpretations after the first match, because there may be primitive
+ operations of the same type with the same profile and different return
+ types. From code reading.
+ (Try_Primitive_Operation): Use the node kind to choose the proper
+ operation when a function and a procedure have the same parameter
+ profile.
+ (Complete_Object_Operation): If formal is an access parameter and prefix
+ is an object, rewrite as an Access reference, to match signature of
+ primitive operation.
+ (Find_Equality_Type, Find_One_Interp): Handle properly equality given
+ by an expanded name with prefix Standard, when the operands are of an
+ anonymous access type.
+ (Remove_Abstract_Operations): If the operation is abstract because it is
+ inherited by a user-defined type derived from Address, remove it as
+ well from the set of candidate interpretations of an overloaded node.
+ (Analyze_Membership_Op): Membership test not applicable to cpp-class
+ types.
+
+2006-02-13 Bob Duff <duff@adacore.com>
+
+ * sem_ch8.adb (Note_Redundant_Use): Suppress unhelpful warning about
+ redundant use clauses.
+ In particular, if the scope of two use clauses overlaps, but one is not
+ entirely included in the other, we should not warn. This can happen
+ with nested packages.
+ (Analyze_Subprogram_Renaming): Protect the compiler against previously
+ reported errors. The bug was reported when the compiler was built
+ with assertions enabled.
+ (Find_Type): If the node is a 'Class reference and the prefix is a
+ synchronized type without a corresponding record, return the type
+ itself.
+
+2006-02-13 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Check that
+ if this is the full-declaration associated with a private declaration
+ that implement interfaces, then the private type declaration must be
+ limited.
+ (Analyze_Single_Protected, Analyze_Single_Task): Do not mark the object
+ as aliased. The use of the 'access attribute is not available for such
+ object (for this purpose the object should be explicitly marked as
+ aliased, but being an anonymous type this is not possible).
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_elab.adb (Same_Elaboration_Scope): A package that is a
+ compilation unit is an elaboration scope.
+ (Add_Task_Proc): Add '\' in 2-line warning message.
+ (Activate_All_Desirable): Deal with case of unit with'ed by parent
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_type.adb (Write_Overloads): Improve display of candidate
+ interpretations.
+ (Add_One_Interp): Do not add to the list of interpretations aliased
+ entities corresponding with an abstract interface type that is an
+ immediate ancestor of a tagged type; otherwise we have a dummy
+ conflict between this entity and the aliased entity.
+ (Disambiguate): The predefined equality on universal_access is not
+ usable if there is a user-defined equality with the proper signature,
+ declared in the same declarative part as the designated type.
+ (Find_Unique_Type): The universal_access equality operator defined under
+ AI-230 does not cover pool specific access types.
+ (Covers): If one of the types is a generic actual subtype, check whether
+ it matches the partial view of the other type.
+
+2006-02-13 Thomas Quinot <quinot@adacore.com>
+
+ * sinput-d.adb (Write_Line): Update the Source_Index_Table after each
+ line. This is necessary to allow In_Extended_Main_Unit to provide
+ correct results for itypes while writing out expanded source.
+ (Close_File): No need to update the source_index_table here since it's
+ now done for each line.
+
+2006-02-13 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sprint.adb (Write_Itype): Preserve Sloc of declaration, if any, to
+ preserve the source unit where the itype is declared, and prevent a
+ backend abort.
+ (Note_Implicit_Run_Time_Call): New procedure
+ (Write_Itype): Handle missing cases (E_Class_Wide_Type and
+ E_Subprogram_Type)
+
+ * sprint.ads: Document use of $ for implicit run time routine call
+
+2006-02-13 Quentin Ochem <ochem@adacore.com>
+
+ * s-stausa.adb (Initialize_Analyzer): fixed error in assignment of
+ task name.
+
+2006-02-13 Bob Duff <duff@adacore.com>
+
+ * s-valint.adb (Scan_Integer): Call Scan_Raw_Unsigned instead of
+ Scan_Unsigned, so we do not scan leading blanks and sign twice.
+ Integer'Value("- 5") and Integer'Value("-+5") now correctly
+ raise Constraint_Error.
+
+ * s-vallli.adb (Scan_Long_Long_Integer): Call
+ Scan_Raw_Long_Long_Unsigned instead of Scan_Long_Long_Unsigned, so we
+ do not scan leading blanks and sign twice.
+ Integer'Value("- 5") and Integer'Value("-+5") now correctly
+ raise Constraint_Error.
+
+ * s-valllu.ads, s-valllu.adb (Scan_Raw_Long_Long_Unsigned,
+ Scan_Long_Long_Unsigned): Split out most of the processing from
+ Scan_Long_Long_Unsigned out into
+ Scan_Raw_Long_Long_Unsigned, so that Val_LLI can call the Raw_ version.
+ This prevents scanning leading blanks and sign twice.
+ Also fixed a bug: Modular'Value("-0") should raise Constraint_Error
+ See RM-3.5(44).
+
+ * s-valuns.ads, s-valuns.adb (Scan_Raw_Unsigned, Scan_Unsigned): Split
+ out most of the processing from Scan_Unsigned out into
+ Scan_Raw_Unsigned, so that Val_LLI can call the Raw_ version.
+ This prevents scanning leading blanks and sign twice.
+
+ * s-valuti.ads, s-valuti.adb (Scan_Plus_Sign): Add Scan_Plus_Sign, for
+ use with Modular'Value attribute.
+ (Scan_Plus_Sign): Add Scan_Plus_Sign, for use with Modular'Value
+ attribute.
+
+2006-02-13 Robert Dewar <dewar@adacore.com>
+
+ * s-wchjis.adb (JIS_To_EUC): Raise Constraint_Error for invalid value
+
+2006-02-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tracebak.c (PPC AIX/Darwin): Define FORCE_CALL to 1.
+ (PPC VxWorks): Likewise.
+ (Generic unwinder): Define FORCE_CALL to 0 if not already defined.
+ (forced_callee): Make non-inlinable and non-pure.
+ (__gnat_backtrace): Call forced_callee if FORCE_CALL is set to 1.
+
+2006-02-13 Arnaud Charlet <charlet@adacore.com>
+ Ben Brosgol <brosgol@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Remove limitations with sparc m64
+ support.
+ Document that gnatbind -M option is for cross environments only.
+ Added description of using gnatmem to trace gnat rtl allocs and deallocs
+ Add note on use of $ to label implicit run time calls
+ Add documentation for -gnatyI (check mode IN)
+ Updated chapter on compatibility with HP Ada
+ VMS-oriented edits.
+ Ran spell and corrected errors
+ Add documentation for gnatbind -d and rework documentation of -D
+ at the same time.
+ Add subprogram/data elimination section.
+ Minor editing of annex A.
+ Add section for gnatcheck.
+ Add documentation for restriction No_Dispatching_Calls
+ Add documentation for pragma Ada_2005
+ Remove mention of obsolete pragma Propagate_Exceptions
+ Document that pragma Unreferenced can appear after DO in ACCEPT
+ Clarify Pure_Function for library level units
+ Mention Max/Min in connection with No_Implicit_Conditionals
+ No_Wide_Characters restriction is no longer partition-wide
+ Add a nice example for Universal_Literal_String attribute
+ Document that pragma No_Return can take multiple arguments
+
+ * ug_words: Added entry for gnatcheck
+
+ * g-ctrl_c.ads (Install_Handler): Enhance comments
+
+ * g-os_lib.ads: Add comments to OS_Exit that it is abrupt termination
+
+ * g-trasym.ads: Add documentation on how to do off line symbolic
+ traceback computation.
+
+ * s-fatgen.adb: Add comments for Unaligned_Valid
+
+ * stand.ads: Fix typo in comment
+
+2006-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Make-lang.in (check-gnat): Run run_acats with $(SHELL).
+
+2006-02-06 Roger Sayle <roger@eyesopen.com>
+
+ * decl.c (gnat_substitute_in_type): Don't handle CHAR_TYPE.
+
+2006-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/25926
+ * initialize.c (__gnat_initialize): Provide HP-UX 10 host and target
+ implementation that calls __main.
+
+2006-01-25 Peter O'Gorman <peter@pogma.com>
+
+ PR bootstrap/25859
+ * Makefile.in (GCC_LINK): Remove quotes.
+ (tools targets): Link with either $(GNATLINK) --GCC="$(GCC_LINK)"
+ or $(GCC_LINK).
+
+ (powerpc-darwin): Pass -shared-libgcc when building shared library.
+
+2006-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR ada/24533
+ * s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8.
+
+2005-12-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * s-osinte-linux-hppa.ads: Correct alignment of atomic_lock_t.
+
+2005-12-12 Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in: Remove dummy setting of GCC_FOR_TARGET, no longer
+ needed.
+
+2005-12-12 Arnaud Charlet <charlet@adacore.com>
+
+ * Make-lang.in: Update dependencies
+
+2005-12-12 Arnaud Charlet <charlet@adacore.com>
+
+ * Make-lang.in: Add rule for ada/exp_sel.o
+
+2005-12-12 Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in (mingw section): Remove EH_MECHANISM setting.
+
+2005-12-09 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatvsn.ads (Library_Version): Bump to version 4.2
+ (ASIS_Version_Number): Bumped.
+
+2005-12-09 Doug Rupp <rupp@adacore.com>
+
+ * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change
+ Ada bind file prefix on VMS from b$ to b__.
+ (Build_Dynamic_Library): Change Init file suffix on VMS from $init to
+ __init.
+
+ * prj-nmsc.adb: Change some Hostparm.OpenVMS checks to
+ Targparm.OpenVMS_On_Target.
+ (Object_Suffix): Initialize with target object suffix.
+ (Get_Unit): Change Ada bind file prefix on VMS from b$ to b__.
+
+ * butil.adb: Change some Hostparm.OpenVMS checks to
+ Targparm.OpenVMS_On_Target.
+
+ * clean.adb: Change some Hostparm.OpenVMS checks to
+ Targparm.OpenVMS_On_Target.
+ (Object_Suffix): Initialize with call to Get_Target_Object_Suffix.
+ ({declaraction},Delete_Binder_Generated_Files,{initialization}): Change
+ Ada bind file prefix on VMS from b$ to b__.
+
+ * gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in
+ --GCC so that Get_Target_Parameters can find system.ads.
+ (Gnatlink): Call Get_Target_Parameters in mainline.
+ Initialize standard packages for Targparm.
+ Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
+ (Process_Args): Also Check for object files with target object
+ extension.
+ (Make_Binder_File_Names): Create with target object extension.
+ (Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$
+ to b__.
+
+ * mlib-prj.adb: Change some Hostparm.OpenVMS checks to
+ Targparm.OpenVMS_On_Target.
+ ({declaration},Build_Library,Check_Library): Change Ada bind file
+ prefix on VMS from b$ to b__.
+
+ * osint-b.adb: Change some Hostparm.OpenVMS checks to
+ Targparm.OpenVMS_On_Target.
+ (Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to
+ b__.
+
+ * targext.c: New file.
+
+ * Makefile.in: add support for vxworks653 builds
+ (../../vxaddr2line): gnatlink with targext.o.
+ (TOOLS_LIBS): Move targext.o to precede libgnat.
+ (init.o, initialize.o): Minor clean up in dependencies.
+ (GNATLINK_OBJS): Add targparm.o, snames.o
+ Add rules fo building targext.o and linking it explicitly with all
+ tools.
+ Also add targext.o to gnatlib.
+
+ * Make-lang.in: Add rules for building targext.o and linking it in
+ with gnat1 and gnatbind.
+ Add entry for exp_sel.o.
+
+ * osint.adb Change some Hostparm.OpenVMS checks to
+ Targparm.OpenVMS_On_Target.
+ (Object_File_Name): Use target object suffix.
+
+ * osint.ads (Object_Suffix): Remove, no longer used.
+ (Target_Object_Suffix): Initialize with target object suffix.
+
+ * rident.ads: Add special exception to license.
+
+ * targparm.adb (Get_Target_Parameters): Set the value of
+ Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive
+ value.
+ (Get_Target_Parameters): Set OpenVMS_On_Target if openvms.
+
+ * targparm.ads: Add special exception to license.
+
+ * g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New
+ function.
+ (Copy_File): Make sure from file is closed if error on to file
+ (Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions.
+
+ * make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix.
+ (Executable_Suffix): Intialize with Get_Target_Executable_Suffix.
+
+ * osint-c.adb (Set_Output_Object_File_Name): Initialize extension with
+ target object suffix.
+
+2005-12-09 Jose Ruiz <ruiz@adacore.com>
+ Quentin Ochem <ochem@adacore.com>
+ Florian Villoing <villoing@adacore.com>
+
+ * a-taster.ads, a-taster.adb: New files.
+
+ * a-elchha.adb (Last_Chance_Handler): Change the task termination soft
+ link to the version that does nothing. This way the task termination
+ routine is not executed twice for the environment task when finishing
+ because of an unhandled exception.
+
+ * a-exextr.adb (Notify_Unhandled_Exception): Call the task termination
+ handler because of an unhandled exception.
+
+ * a-taside.adb (Abort_Tasks): Call the Abort_Tasks procedure from
+ System.Tasking.Utilities instead of that in System.Tasking.Stages.
+
+ * s-finimp.adb (initialization code): Modify the soft link for the
+ finalization of the global list instead of Adafinal.
+
+ * s-soflin.ads, s-soflin.adb (Task_Termination_NT): Add this
+ non-tasking version of the soft link for task termination. We do
+ nothing since if we are using the non-tasking version it
+ means that the task termination functionality is not used.
+ (Null_Finalize_Global_List): Add this null version for the procedure
+ in charge of finalizing the global list for controlled objects.
+ (Null_Adafinal): Remove this procedure. Adafinal_NT has been created
+ instead for handling run-time termination in a more flexible way.
+ (Adafinal_NT): This new procedure will take care of finalizing the
+ global list for controlled objects if needed, but no tasking
+ finalization.
+
+ * s-tarest.adb (Task_Lock): Do not try to lock again the
+ Global_Task_Lock if we already own it. Otherwise, we get blocked in
+ some run-time operations.
+ (Task_Unlock): Do not try to actually unlock the Global_Task_Lock
+ until all nested locks have been released.
+ (Task_Wrapper): Call the fall-back task termination handler. It
+ applies to all tasks but the environment task.
+ (Finalize_Global_Tasks): Add the call for the task termination
+ procedure for the environment task.
+ (Task_Wrapper): suppress warnings around declaration of
+ Secondary_Stack_Address.
+
+ * s-tasini.adb (Final_Task_Unlock): Global_Task_Lock_Nesting has been
+ moved to the Common_ATCB record.
+ (Task_Lock): Global_Task_Lock_Nesting has been moved to the
+ Common_ATCB record.
+ (Task_Unlock): Global_Task_Lock_Nesting has been moved to the
+ Common_ATCB record.
+
+ * s-taskin.adb (Initialize_ATCB): Initialize Global_Task_Lock_Nesting,
+ Fall_Back_Handler, and Specific_Handler.
+
+ * s-taskin.ads (Cause_Of_Termination): Redefine this type here, already
+ defined in Ada.Task_Termination, to avoid circular dependencies.
+ (Termination_Handler): Redefine this type here, alredy defined in
+ Ada.Task_Termination, for avoiding circular dependencies.
+ (Common_ATCB): Add the Fall_Back_Handler and Specific_Handler required
+ for storing task termination handlers. In addition,
+ Global_Task_Lock_Nesting has been moved from Ada_Task_Control_Block to
+ Common_ATCB because it is used by both the regular and the restricted
+ run times.
+ (Ada_Task_Control_Block): Move Global_Task_Lock_Nesting from here to
+ Common_ATCB because it is used by both the regular and the restricted
+ run times.
+ (Common_ATCB): Added a dynamic task analyzer field.
+
+ * s-tassta.adb (Abort_Tasks): Move the code in charge of checking
+ potentially blocking operations to System.Tasking.Utilities.Abort_Tasks.
+ (Task_Wrapper): Call the task termination handler. It applies to all
+ tasks but the environment task.
+ (Finalize_Global_Tasks): Call the task termination procedure for the
+ environment task. The call to Finalize_Global_List is now performed
+ using the soft links mechanism.
+ (Task_Wrapper): added dynamic stack analysis.
+
+ * s-tasuti.adb (Abort_Tasks): The code in charge of checking
+ potentially blocking operations has been moved from
+ System.Tasking.Stages.Abort_Tasks to this procedure. There can be
+ direct calls to System.Tasking.Utilities.Abort_Tasks that do not pass
+ through System.Tasking.Stages.Abort_Tasks, and we do not want to miss
+ this run-time check.
+
+ * s-solita.adb (Task_Termination_Handler_T): Add this task-safe version
+ of task termination procedure.
+ (Init_Tasking_Soft_Links): Install the task-safe version of the soft
+ link for the task termination procedure.
+
+ * bindusg.adb: (Bindusg): Added documentation for -u option.
+
+ * bindgen.adb (Get_Main_Ada) Added handling of dynamic stack analysis.
+ (Get_Main_C): Add handling of dynamic stack analysis.
+ (Gen_Output_File_C): Add external functions for dynamic stack analysis.
+
+ * Makefile.rtl: Add entry for a-taster (Ada.Task_Termination).
+ (GNATRTL_NONTASKING_OBJS) Added entries for dynamic stack analysis
+ (GNATRTL_NONTASKING_OBJS): Add AltiVec files.
+
+ * opt.ads: Added flags used by dynamic stack measurement.
+ (Max_Line_Length): Remove (not used anymore)
+
+ * s-io.ads, s-io.adb (Standard_Error): new subprogram
+ (Standart_Output): new subprogram
+ (Set_Output): new subprogram
+ (Put): now uses the value of Current_Out to know if the output has to be
+ send to stderr or stdout.
+
+ * s-stausa.ads: Complete implementation.
+
+ * switch-b.adb: Added handling of -u switch for dynamic stack analysis.
+
+ * impunit.adb (Non_Imp_File_Names_05): Add Ada.Task_Termination to the
+ list of Ada 05 files.
+ (GNAT Library Units): Add AltiVec files.
+
+ * g-allein.ads, g-alleve.adb, g-alleve.ads, g-altcon.adb,
+ g-altcon.ads, g-altive.ads, g-alveop.adb, g-alveop.ads
+ g-alvety.ads, g-alvevi.ads: New files providing altivec API.
+
+2005-12-09 Nicolas Setton <setton@adacore.com>
+
+ * adaint.c (__gnat_locate_regular_file): Return immediately if
+ file_name is empty.
+
+2005-12-09 Javier Miranda <miranda@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body
+ to the specification because the frontend generates code that uses this
+ subprogram.
+ (Set_Interface_Table): Add missing assertion.
+ Update documentation describing the run-time structure.
+ (Displace): New subprogram that displaces the pointer to the object
+ to reference one of its secondary dispatch tables.
+ (IW_Membership): Modified to use the new table of interfaces.
+ (Inherit_TSD): Modified to use the new table of interfaces.
+ (Register_Interface_Tag): Use the additional formal to fill the
+ contents of the new table of interfaces.
+ (Set_Interface_Table): New subprogram that stores in the TSD the
+ pointer to the table of interfaces.
+ (Set_Offset_To_Top): Use the additional formal to save copy of
+ the offset value in the table of interfaces.
+ Update structure of GNAT Primary and Secondary dispatch table diagram.
+ Add comment section on GNAT dispatch table prologue.
+ (Offset_To_Signature): Update the constant value of the Signature field.
+ (Dispatch_Table): Update comment on hidden fields in the prologue.
+ (Get_Entry_Index, Get_Prim_Op_Kind, Get_Offset_Index, OSD,
+ Set_Entry_Index, Set_Offset_Index, Set_Prim_Op_Kind, SSD, TSD): Change
+ the type of formal parameter T to Tag, introduce additional assertions.
+ (Get_Num_Prim_Ops, Set_Num_Prim_Ops): Remove an unnecessary type
+ conversion.
+ (Get_Tagged_Kind, Set_Tagged_Kind): New bodies.
+
+ * exp_ch6.adb (Register_Interface_DT_Entry): Remove the Thunk_Id actual
+ in all the calls to Expand_Interface_Thunk. Instead of referencing the
+ record component containing the tag of the secondary dispatch table we
+ have to use the Offset_To_Top run-time function to get this information;
+ otherwise if the pointer to the base of the object has been displace
+ we get a wrong value if we use the 'position attribute.
+
+ * exp_disp.adb (Expand_Interface_Thunk): Remove the Thunk_Id actual in
+ all the calls to Expand_Interface_Thunk.
+ (Make_Secondary_DT): Secondary dispatch tables do not have a table of
+ interfaces; hence the call to Set_Interface_Table was clearly wrong.
+ (Collect_All_Interfaces): Modify the internal subprogram Collect to
+ ensure that the interfaces implemented by the ancestors are placed
+ at the header of the generated list.
+ (Expand_Interface_Conversion): Handle the case in which the displacement
+ associated with the interface conversion is not statically known. In
+ this case we generate a call to the new run-time subprogram Displace.
+ (Make_DT): Generate and fill the new table of interfaces.
+ (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Add entries for
+ Get_Tagged_Kind and Set_Tagged_Kind.
+ (Tagged_Kind): New function that determines the tagged kind of a type
+ with respect to limitedness and concurrency and returns a reference to
+ RE_Tagged_Kind.
+ (Make_Disp_Asynchronous_Select_Body, Make_Disp_Conditional_Select_Body,
+ Make_Disp_Timed_Select_Body): Correctly retrieve the pointer to the
+ primary dispatch table for a type.
+ (Make_DT, Make_Secondary_DT): Set the tagged kind in the primary and
+ secondary dispatch table respectively of a tagged type.
+
+ * exp_disp.ads (Expand_Interface_Thunk): Remove Thunk_Id formal.
+ (Expand_Interface_Conversion): New subprogram to indicate if the
+ displacement of the type conversion is statically known.
+ (DT_Access_Action): Add values Get_Tagged_Kind and Set_Tagged_Kind.
+
+ * rtsfind.ads (RE_Offset_To_Top): New entity
+ (RTU_Id): Add Ada_Task_Termination to the list so that it is made
+ accessible to users.
+ (Re_Displace): New entity
+ (RE_Interface_Data): New entity
+ (RE_Set_Interface_Data): New_Entity
+ (RE_Id, RE_Unit_Table): Add entry for RE_Get_Tagged_Kind,
+ Set_Tagged_Kind, RE_Tagged_Kind, RE_TK_Abstract_Limited_Tagged,
+ RE_TK_Abstract_Tagged, RE_TK_Limited_Tagged, RE_TK_Protected,
+ RE_TK_Tagged, RE_TK_Task.
+
+ * exp_ch3.adb (Init_Secondary_Tags): Modify the subprogram
+ Init_Secondary_Tags_Internal to allow its use with interface types and
+ also to generate the code for the new additional actual required
+ by Set_Offset_To_Top.
+ (Build_Init_Statements): In case of components associated with abstract
+ interface types there is no need to generate a call to its IP.
+ (Freeze_Record_Type): Generate Select Specific Data tables only for
+ concurrent types.
+ (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies): Generate
+ the bodies and specifications of the predefined primitive operations
+ dealing with dispatching selects and abort, 'Callable, 'Terminated only
+ for concurrent types.
+
+ * exp_sel.ads, exp_sel.adb: New files.
+
+ * exp_ch9.adb (Build_Protected_Entry, Expand_N_Protected_Body,
+ Expand_N_Protected_Type_Declaration, Make_Initialize_Protection): Handle
+ properly protected objects and attach handler in the case of the
+ restricted profile.
+ Move embeded package Select_Expansion_Utilities into a separate external
+ package.
+ (Expand_N_Asynchronous_Select, Expand_N_Conditional_Select,
+ Expand_N_Timed_Entry_Call): Correct calls external package Exp_Sel.
+ (Build_K, Build_S_Assignment): New subprograms, part of the select
+ expansion utilities.
+ (Expand_N_Asynchronous_Select, Expand_N_Conditional_Entry_Call,
+ Expand_N_Timed_Entry_Call): Optimize expansion of select statements
+ where the trigger is a dispatching procedure of a limited tagged type.
+
+2005-12-09 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity, renaming object case): Don't early expand
+ pointer initialization values. Make a SAVE_EXPR instead. Add comments
+ about the use and expansion of SAVE_EXPRs in the various possible
+ renaming handling cases.
+ (components_to_record, compare_field_bitpos): Sort by DECL_UID, not by
+ abusing DECL_FCONTEXT.
+
+2005-12-09 Matthew Heaney <heaney@adacore.com>
+
+ * a-convec.adb (Merge): Added assertions to check whether vector params
+ are sorted.
+
+ * a-coinve.adb (Merge): Added assertions to check whether vector params
+ are sorted.
+
+ * a-cohama.ads (Cursor'Write): raises Program_Error per latest AI-302
+ draft.
+ (Cursor'Read): raises PE
+
+ * a-cohama.adb (Insert.New_Node): Uses box-style syntax to init elem
+ to its default value.
+
+ * a-cihama.adb: Manually check whether cursor's key and elem are
+ non-null
+
+ * a-cidlli.ads, a-cidlli.adb (Splice): Changed param name and param mode
+ (Merge): Assert that target and source lists are in order
+ (Swap): Declare non-const temporaries, to pass to Splice
+
+ * a-cdlili.ads: (Splice): Changed param name and param mode
+
+ * a-cdlili.adb: (Splice): Changed param name and param mode
+ (Merge): Assert that target and source lists are in order
+ (Swap): Declare non-const temporaries, to pass to Splice
+
+ * a-ciorma.ads, a-coorma.ads: (Read): declare Stream param as not null
+ (Write): declare Stream param as not null
+
+ * a-ciorma.adb, a-coorma.adb: All explicit raise statements now include
+ an exception message.
+
+2005-12-09 Thomas Quinot <quinot@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * hostparm.ads (Max_Line_Length): Set to Types.Column_Number'Last - 1,
+ which is the absolute maximum length we can support.
+
+ * frontend.adb: For the processing of configuration pragma files,
+ remove references to Opt.Max_Line_Length, which is not checked anymore.
+
+ * namet.ads (Name_Buffer): Adjust size to reflect increase on max line
+ length.
+
+ * scn.adb, scng.adb:
+ Always check line length against the absolute supported maximum,
+ Hostparm.Max_Line_Length.
+
+ * stylesw.adb (Set_Style_Check_Options, case M): The maximum supported
+ value for the maximum line length is Max_Line_Length (not
+ Column_Number'Last).
+ Minor error msg update
+ (Set_Style_Check_Options): New interface returning error msg
+ Minor code reorganization (processing for 'M' was out of alpha order)
+
+ * switch-c.adb: New interface for Set_Style_Check_Options
+
+ * stylesw.ads (Set_Style_Check_Options): New interface returning error
+ msg.
+
+2005-12-09 Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Default-initialialized records
+ with IP subprogram were only supported if there were limited types.
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): Default-initialialized
+ records with IP subprogram were only supported if there were limited
+ types.
+
+2005-12-09 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (tree_transform, emit_check): Adjust calls to
+ build_call_raise, passing the now expected GNAT_NODE argument.
+
+ * gigi.h (build_call_raise): Add a GNAT_NODE argument to convey better
+ source line information than what the current global locus indicates
+ when appropriate.
+
+ * utils2.c (build_simple_component_ref): Return 0 if the offset of the
+ field has overflowed.
+ (build_call_raise): Add a GNAT_NODE argument to convey better source
+ line information than what the current global locus indicates when
+ appropriate.
+ (build_component_ref): Adjust call to build_call_raise.
+
+2005-12-09 Pascal Obry <obry@adacore.com>
+
+ * g-diopit.adb (Find): Fix test to exit the iterator and make sure that
+ the iterator is quitting iteration on parent directory.
+
+2005-12-09 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): In case of tagged types
+ and the assignment to a class-wide object, before the assignment we
+ generate a run-time check to ensure that the tag of the Target is
+ covered by the tag of the source.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * exp_imgv.adb (Expand_Image_Attribute): Generate extra boolean
+ parameter in call to Image_Wide_Character.
+
+ * s-imgwch.ads, s-imgwch.adb (Image_Wide_Character): Add boolean
+ parameter Ada_2005 to deal with annoying FFFE/FFFF inconsistency.
+ (Image_Wide_Character): Add boolean parameter Ada_2005 to deal with
+ annoying FFFE/FFFF inconsistency.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.ads, exp_util.adb (Is_Ref_To_Bit_Packed_Slice): Handle case
+ of type conversion.
+ (Find_Interface): New subprogram that given a tagged type and one of its
+ component associated with the secondary table of an abstract interface
+ type, return the entity associated with such abstract interface type.
+ (Make_Subtype_From_Expr): If type has unknown discriminants, always use
+ base type to create anonymous subtype, because entity may be a locally
+ declared subtype or generic actual.
+ (Find_Interface): New subprogram that given a tagged type and one of its
+ component associated with the secondary table of an abstract interface
+ type, return the entity associated with such abstract interface type.
+
+ * sem_res.adb (Resolve_Type_Conversion): Handle the case in which the
+ conversion cannot be handled at compile time. In this case we pass this
+ information to the expander to generate the appropriate code.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb (Itype_Printed): New flag
+ (Is_Limited_Type): Derived types do not inherit limitedness from
+ interface progenitors.
+ (Is_Return_By_Reference_Type): Predicate does not apply to limited
+ interfaces.
+
+ * einfo.ads (Itype_Printed): New flag
+ Move Is_Wrapper_Package to proper section
+ Add missing Inline for Is_Volatile
+
+ * output.ads, output.adb (Write_Erase_Char): New procedure
+ (Save/Restore_Output_Buffer): New procedures
+ (Save/Restore_Output_Buffer): New procedures
+
+ * sprint.ads, sprint.adb (Write_Itype): Handle case of record itypes
+ Add missing support for anonymous access type
+ (Write_Id): Insert calls to Write_Itype
+ (Write_Itype): New procedure to output itypes
+
+ * par-ch12.adb (P_Formal_Derived_Type_Definition): In Ada 2005, handle
+ use of "limited" in declaration.
+
+ * sinfo.ads, sinfo.adb:
+ Formal derived types can carry an explicit "limited" indication.
+
+ * sem_ch3.adb: Add with and use of Targparm.
+ (Create_Component): If Frontend_Layout_On_Target is True and the
+ copied component does not have a known static Esize, then reset
+ the size and positional fields of the new component.
+ (Analyze_Component_Declaration): A limited component is
+ legal within a protected type that implements an interface.
+ (Collect_Interfaces): Do not add to the list the interfaces that
+ are implemented by the ancestors.
+ (Derived_Type_Declaration): If the parent of the full-view is an
+ interface perform a transformation of the tree to ensure that it has
+ the same parent than the partial-view. This simplifies the job of the
+ expander in order to generate the correct object layout, and it is
+ needed because the list of interfaces of the full-view can be given in
+ any order.
+ (Process_Full_View): The parent of the full-view does not need to be
+ a descendant of the parent of the partial view if both parents are
+ interfaces.
+ (Analyze_Private_Extension_Declaration): If declaration has an explicit
+ "limited" the parent must be a limited type.
+ (Build_Derived_Record_Type): A derived type that is explicitly limited
+ must have limited ancestor and progenitors.
+ (Build_Derived_Type): Ditto.
+ (Process_Full_View): Verify that explicit uses of "limited" in partial
+ and full declarations are consistent.
+ (Find_Ancestor_Interface): Remove function.
+ (Collect_Implemented_Interfaces): New procedure used to gather all
+ implemented interfaces by a type.
+ (Contain_Interface): New function used to check whether an interface is
+ present in a list.
+ (Find_Hidden_Interface): New function used to determine whether two
+ lists of interfaces constitute a set equality. If not, the first
+ differing interface is returned.
+ (Process_Full_View): Improve the check for the "no hidden interface"
+ rule as defined by AI-396.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Only test for useless pack on record
+ types, not on record subtypes.
+ (Freeze_Entity): Code cleanup. Add barrier to the loop
+ that generates the references for primitive operations. This allows to
+ remove an unnecessary exception handler.
+ Code reformatting and comment clean ups.
+
+2005-12-09 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (GNATCmd): GNAT CHECK accepts switch -U
+ If GNAT CHECK is called with a project file, but with no
+ source on the command line, call gnatcheck with all the compilable
+ sources of the project.
+ Take into account the new command Check, for gnatcheck. Treat as for
+ other ASIS tools: take into account project, specific package Check and
+ Compiler switches.
+ For ASIS tools, add the switches in package Compiler for
+ the invocation of the compiler.
+
+ * prj-attr.adb: Add package Check and its attributes
+
+ * vms_conv.ads (Command_Type): New command Check, for gnatcheck
+
+ * vms_conv.adb (Initialize): Change Params of command Check to
+ unlimited files.
+ Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
+ Add data for new command Check
+
+ * vms_data.ads: Add project related qualifiers for GNAT CHECK and GNAT
+ ELIM.
+ Add qualifiers for Check command options
+ (Command_Type): New command Check
+
+2005-12-09 Thomas Quinot <quinot@adacore.com>
+
+ * mlib-utl.adb (Ar): Use Output.Buffer_Max to determine whether a
+ command line switch overruns the output buffer.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb: Processing for new pragma Complete_Representation
+ (Analyze_Pragma, case Debug): Implement two argument form.
+
+ * par-prag.adb: Entry for new pragma Complete_Representation
+ (Prag, case Debug): Recognize two argument form of pragma Debug
+ New interface for Set_Style_Check_Options.
+
+ * sem_ch13.adb: Implement new pragma Complete_Representation.
+
+ * snames.adb, snames.ads, snames.h: Entry for new pragma
+ Complete_Representation.
+
+2005-12-09 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Revise test for
+ available user-specified stream attributes on limited parameters to
+ also test the type directly rather than only its underlying type (for
+ Ada 95) and, in the case of Ada 2005, to check that the user-specified
+ attributes are visible at the point of the subprogram declaration.
+ For Ada 2005, the error message is modified to indicate that the
+ type's stream attributes must be visible (again, only for -gnat05).
+
+2005-12-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Subtypes_Match): Handle properly Ada05 arrays of
+ anonymous access types.
+
+ * sem_eval.adb (Subtypes_Statically_Match): Implement new rules for
+ matching of anonymous access types and anonymous access to subprogram
+ types. 'R'M 4.9.1 (2/2).
+
+2005-12-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Remove_Abstract_Operations): Do not apply preference
+ rule prematurely when operands are universal, remaining ambiguities
+ will be removed during resolution.
+ Code cleanup.
+
+ * sem_type.adb (Disambiguate): In Ada95 mode, discard interpretations
+ that are Ada 2005 functions.
+ (Has_Abstract_Interpretation): Subsidiary to
+ Remove_Conversions, to remove ambiguities caused by abstract operations
+ on numeric types when operands are universal.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization
+ for case where spec is categorized.
+
+2005-12-09 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch8.adb (Find_Type): In case of tagged types that are concurrent
+ types use the corresponding record type. This was not needed before
+ the implementation of Ada 2005 synchronized types because
+ concurrent types were never tagged types in Ada 95.
+
+2005-12-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch9.adb (Analyze_Delay_Alternative, Analyze_Delay_Until): Use the
+ first subtype of the type of the expression to verify that it is a
+ legal Time type.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Full_Qualified_Name): Now provides
+ decoded names.
+
+2005-12-09 Quentin Ochem <ochem@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Falis <falis@adacore.com>
+ Florian Villoing <villoing@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Created section "Stack Related Tools"
+ Moved "Stack Overflow Checking" subsection from "Switches for gcc" to
+ "Stack Related Tools"
+ Added subsection "Static Stack Usage Analysis"
+ Added subsection "Dynamic Stack Usage Analysis"
+ Include documentation of itypes in sprint listing (-gnatG)
+ Documented gnatbind -D switch (default sec stack size for fixed sec
+ stacks).
+ Added Interrupt_State and Persistent_BSS to list of configuration
+ pragmas.
+ Add missing doc for maximum value of nnn in -gnatyMnnn
+
+ * gnat_rm.texi: Document the AltiVec binding.
+ Add documentation for pragma Complete_Representation
+ Shortened an overly long line (> 79 chars)
+ Clarify documentation of unchecked conversion in implementation
+ defined cases.
+ Document two argument form of pragma Debug
+
+ * types.ads (Column_Number): Update documentation.
+
+ * exp_ch7.ads (Make_Adjust_Call): Document the special processing for
+ library level Finalize_Storage_Only objects (these are not attached to
+ any finalization list).
+
+ * system-mingw.ads: (Underlying_Priorities): Update comment.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * i-c.adb, i-cexten.ads, i-cobol.adb, i-cobol.ads, i-cpoint.ads,
+ i-cpp.adb, i-cpp.ads, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
+ inline.adb, interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads,
+ i-os2thr.ads, itypes.adb, itypes.adb, itypes.ads, krunch.ads,
+ krunch.adb, lib.adb, lib.ads, lib-list.adb, lib-load.adb,
+ lib-load.ads, lib-sort.adb, live.adb, make.ads, i-cstrea-vms.adb,
+ interfac-vms.ads, makegpr.adb, indepsw-gnu.adb, indepsw.ads,
+ s-wchcon.ads, sdefault.ads, sem_ch10.adb, sem_eval.ads: Minor
+ reformatting.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * s-vaflop-vms-alpha.adb: (Ne_F): New function
+ (Ne_G): New function
+
+ * exp_ch4.adb (Expand_Allocator_Expression): Factor duplicated code
+ for tag assignment.
+ (Rewrite_Comparison): Handle case where operation is not a comparison
+ and ignore, and also handle type conversion case.
+
+2005-12-09 Thomas Quinot <quinot@adacore.com>
+
+ * exp_aggr.ads: Fix typo in comment.
+ ???-mark Convert_Aggr_In_Assignment as needing documentation.
+
+2005-12-09 Gary Dismukes <dismukes@adacore.com>
+
+ * layout.adb: Replace various uses of byte by storage unit throughout.
+ (Get_Max_SU_Size): Name changed from Get_Max_Size. In the case of a
+ static size, convert to storage units before returning, to conform to
+ spec.
+
+2005-12-09 Matthew Gingell <gingell@adacore.com>
+
+ * g-exctra.ads: Fix typo in comment.
+
+2005-12-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils.c: Minor reformatting.
+
+2005-12-09 Robert Dewar <dewar@adacore.com>
+
+ * g-soccon.ads:
+ Further comment fixes to make the status of the default file clear
+
+ * s-bitops.adb: Clarify comment for Bits_Array
+
+2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+ * Make-lang.in (ada.install-normal): Remove.
+
+2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+ * Make-lang.in: Remove all dependencies on s-gtype.
+
+2005-12-05 Richard Guenther <rguenther@suse.de>
+
+ * utils.c (convert): Use fold_convert where appropriate.
+
+2005-12-05 Paolo Bonzini <bonzini@gnu.org>
+
+ * Makefile.in (gnatlib): Fix regex, using \. instead of . when
+ a period is meant.
+
+2005-12-02 Richard Guenther <rguenther@suse.de>
+
+ * trans.c (gnat_gimplify_expr): Use buildN instead of build.
+
+2005-12-01 Roger Sayle <roger@eyesopen.com>
+
+ * utils.c (max_size): Only test for TREE_OVERFLOW on INTEGER_CST
+ nodes.
+
+2005-11-23 Laurent Guerby <laurent@guerby.net>
+
+ * mlib-prj.adb (Build_Library): Initialize Delete.
+
+2005-11-21 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * socket.c: Add extern int h_errno for rtems since networking header
+ files are not available at this point in a tool bootstrap. Newlib
+ only has basic C library header files.
+
+2005-11-19 Richard Guenther <rguenther@suse.de>
+ Roger Sayle <roger@eyesopen.com>
+
+ PR ada/23717
+ * misc.c (internal_error_function): Don't use vsprintf to format
+ the error message text, instead use pp_format_text and the new
+ pretty printer APIs. This allows handling of %qs, %w, etc.
+
+2005-11-18 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/24857
+ * Makefile.in: Use s-auxdec-empty for RTEMS.
+
+2005-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ PR ada/22333
+ * trans.c (gnat_gimplify_expr, case ADDR_EXPR): Always make
+ a temporary if taking the address of something that is neither
+ reference, declaration, or constant, since the gimplifier
+ can't handle that case.
+
+2005-11-17 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/24857
+ * s-auxdec-empty.ads, s-auxdec-empty.adb: New files.
+
+2005-11-16 Richard Guenther <rguenther@suse.de>
+
+ * Makefile.in: Add EH_MECHANISM=-gcc to s390(x) linux.
+
+2005-11-16 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ PR ada/24855
+ * raise-gcc.c: Add missing stdarg.h include.
+
+2005-11-16 Richard Guenther <rguenther@suse.de>
+
+ * Make-lang.in (ada/decl.o): Add $(EXPR_H) dependency.
+ (ada/misc.o): Likewise.
+
+2005-11-14 Thomas Quinot <quinot@adacore.com>
+
+ * g-soccon.ads: Minor reformatting. Update comments.
+
+ * gsocket.h: Include <sys/times.h> in the VxWorks case, in order to
+ gain visibility on the declaration of struct timeval.
+
+ * g-soccon-freebsd.ads,
+ g-soccon-darwin.ads,
+ g-soccon-tru64.ads,
+ g-soccon-aix.ads,
+ g-soccon-irix.ads,
+ g-soccon-hpux.ads,
+ g-soccon-solaris.ads,
+ g-soccon-vms.ads,
+ g-soccon-mingw.ads,
+ g-soccon-vxworks.ads (SIZEOF_tv_sec, SIZEOF_tv_usec): New constants.
+
+ * g-soccon-hpux-ia64.ads, g-soccon-linux-ppc.ads,
+ g-soccon-solaris-64.ads, g-soccon-linux-64.ads,
+ g-soccon-linux-x86.ads: New files.
+
+ * g-socthi-mingw.adb:
+ (Socket_Error_Message): Remove redundant use of GNAT.Sockets.Constants
+
+ * g-socthi-vxworks.ads, g-socthi-vms.ads, g-socthi-mingw.ads
+ (time_t, suseconds_t): New types constructed to match the tv_sec
+ and tv_usec fields of C struct timeval.
+ (Timeval): Construct structure in terms of the new types.
+ (Host_Errno): New function (imported from socket.c), returns last hosts
+ database error.
+
+ * g-socthi-vxworks.adb: Add error handling circuitry.
+
+ * g-socket.ads, g-socket.adb (To_Timeval): Reflect change of type for
+ components of struct timeval.
+ (Get_Host_By_Name, Get_Host_By_Address): Fix error reporting circuitry.
+ (Check_Selector): In error conditions, clear internal socket sets to
+ avoid a memory leak.
+ (Get_Socket_Option, Set_Socket_Option): Support for Multicast_If,
+ Send_Timeout, Receive_Timeout.
+
+ * g-socthi.ads (time_t, suseconds_t): New types constructed to match
+ the tv_sec and tv_usec fields of C struct timeval.
+ (Timeval): Construct structure in terms of the new types.
+ (Host_Errno): New function (imported from socket.c), returns last hosts
+ database error.
+
+ * socket.c (__gnat_get_h_errno): New function to retrieve h_errno, the
+ hosts database last error code.
+
+ * gen-soccon.c: Complete value expansion should not be performed on
+ TARGET, as it has the form of a math expression, and some components
+ may be platform-defined macros.
+ For VxWorks, generate the OK and ERROR values.
+ New constants giving the sizes of the components of C struct timeval.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/18434
+ * types.ads: Include All_Checks in Suppress_Array
+
+ * checks.adb (Check_Needed): Remove kludge for a/=b rewritten as
+ not(a=b), since we no longer do this rewriting, and hence it is not
+ needed.
+ (Elaboration_Checks_Suppressed): Add special casing to
+ deal with different cases of static and dynamic elaboration checks (all
+ checks does not count in the first case, but does in the second).
+ (Expr_Known_Valid): Do not assume that the result of any arbitrary
+ function call is valid, since this is not the case.
+ (Ensure_Valid): Do not apply validity check to a real literal
+ in a universal or fixed context
+
+ * exp_ch4.adb (Expand_N_Op_Ne): Don't expand a/=b to not(a=b) for
+ elementary types using the operator in standard. It is cleaner not to
+ modify the programmers intent, especially in the case of floating-point.
+ (Rewrite_Comparison): Fix handling of /= (this was always wrong, but
+ it did not matter because we always rewrote a/=b to not(a=b).
+ (Expand_Allocator_Expression): For an allocator expression whose nominal
+ subtype is an unconstrained packed type, convert the expression to its
+ actual constrained subtype.
+ Implement warning for <= or >= where < or > not possible
+ Fix to Vax_Float tests (too early in many routines, causing premature
+ Vax_Float expansions.
+
+ * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow this pragma
+ to be used with packages and generic packages as well as with
+ subprograms.
+ (Suppress): Set All_Checks, but not Elaboration_Check, for case
+ of pragma Suppress (All_Checks)
+ (Analyze_Pragma, case Warnings): Implement first argument allowed to be
+ a string literal for precise control over warnings.
+ Avoid raise of pragma in case of unrecognized pragma and just return
+ instead.
+
+ * sem_prag.ads: Minor reformatting
+
+ * switch-c.adb (Scan_Front_End_Switches): Replace "raise Bad_Switch;"
+ with call to new procedure Bad_Switch. Call Scan_Pos with new parameter
+ Switch. Do not handle any exception.
+ Include -gnatwx as part of -gnatg (warn on redundant parens)
+ Allow optional = after -gnatm
+ (Scan_Front_End_Switches): The -gnatp switch sets All_Checks, but no
+ longer sets Elaboration_Checks.
+ Code to set warning mode moved to Sem_Warn
+ so that it can be shared by pragma processing.
+
+ * s-mastop-tru64.adb (Pop_Frame): Remove redundant parentheses in if
+ statement.
+
+ * s-taprop-solaris.adb:
+ Change some <= to =, to avoid new warning
+
+ * a-exexda.adb, prj-proc.adb:
+ Fix obvious typo (Num_Tracebacks compared <= 0 instead of < 0)
+ Fix obvious typo (Total_Errors_Detected <= 0 should be = 0)
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_vfpt.adb: Handle /= case
+ (Expand_Vax_Conversion): Properly recognize Conversion_OK flag
+ so that we do not get duplicate scaling for fixed point conversions.
+
+ * s-vaflop.ads, s-vaflop.adb: (Ne_F): New function
+
+2005-11-14 Matthew Gingell <gingell@adacore.com>
+
+ * system-lynxos-ppc.ads, system-lynxos-x86.ads:
+ Increase default priority on Lynx from 15 to 17, and meet the Ada
+ requirement that Default_Priority be ((Priority'First +
+ Priority'Last) / 2) by increasing the range of Interrupt_Priority.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+ mlib-tgt-hpux.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
+ mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb,
+ mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb,
+ mlib-tgt-darwin.adb, mlib-tgt.adb, mlib-tgt.ads,
+ mlib-tgt-lynxos.adb (DLL_Prefix): New function
+
+2005-11-14 Doug Rupp <rupp@adacore.com>
+
+ * system-vms.ads, system-vms_64.ads: ADA$GNAT: New exported object in
+ private part.
+
+2005-11-14 Arnaud Charlet <charlet@adacore.com>
+
+ * s-traces-default.adb, s-trafor-default.ads,
+ s-tratas-default.adb: Fix compilation errors.
+
+2005-11-14 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprop-posix.adb (Initialize_Lock): Destroy mutex attribute before
+ raising the exception so the memory used is freed.
+
+2005-11-14 Arnaud Charlet <charlet@adacore.com>
+
+ * adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
+ (Gnat_Install_Locks, __gnatlib_install_locks): Removed, no longer used.
+ (convert_address): Update comments and list of platforms using this.
+
+ * s-tasini.adb (Gnat_Install_Locks, __gnatlib_install_locks): Removed,
+ no longer used.
+
+2005-11-14 Pascal Obry <obry@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * gnatdll.adb (Parse_Command_Line): Remove redundant use of
+ GNAT.Command_Line.
+
+ * memroot.adb: Remove redundant with/use clause on
+ System.Storage_Elements.
+
+2005-11-14 Arnaud Charlet <charlet@adacore.com>
+
+ * a-except.adb (Zero_Cost_Exceptions): Removed, no longer used.
+ (builtin_longjmp, Process_Raise_Exceeption): Move setjmp/longjmp
+ related code to a-exexpr.adb
+ (Save_Occurrence_And_Private): Move GCC EH related code to
+ a-exexpr-gcc.adb
+ (Raise_Current_Excep): Add new variable Id with pragma
+ volatile, to ensure that the variable lives on stack.
+
+ * a-exexpr-gcc.adb, raise-gcc.c: New file.
+
+ * a-exexpr.adb (builtin_longjmp, Propagate_Exception): Moved here code
+ from a-except.adb.
+ Move GCC EH related code to a-exexpr-gcc.adb
+
+ * Makefile.in: Add or update g-soccon LIBGNAT pairs for Linux/PPC and
+ 64-bit Solaris
+ Split the Linux version of g-soccon into separate variants for 32 and 64
+ bit platforms.
+ (gnatlib): Use $(AR_FOR_TARGET) and $(RANLIB_FOR_TARGET)
+ vice $(AR) and $(RANLIB). Remove use of host variable $(RANLIB_FLAGS).
+ install-gnatlib: Use $(RANLIB_FOR_TARGET) vice $(RANLIB). Remove use
+ of host variable $(RANLIB_FLAGS).
+ (alpha64-dec-*vms*): Fix translations for 64 bit compiler.
+ Code clean up: remove unused/obsolete targets.
+ (EH_MECHANISM): New variable introduced to differenciate between the
+ two EH mechanisms statically.
+ (gnatlib-zcx, gnatlib-sjlj): Force EH_MECHANISM manually.
+ (LIBGNAT_OBJS): Add raise-gcc.o
+ (LIBGNAT_TARGET_PAIRS for ppc-vxworks): Use an specialized version of
+ s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
+ supports VxWorks 6 RTPs.
+ (EXTRA_GNATRTL_NONTASKING_OBJS for ppc-vxworks): Remove the use of
+ i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
+
+ * raise.c: Move all GCC EH-related routines to raise-gcc.c
+
+2005-11-14 Jose Ruiz <ruiz@adacore.com>
+
+ * s-tassta.adb (Create_Task): Move the code in charge of resetting the
+ deferral level, when abort is not allowed, to a later stage (the
+ Task_Wrapper).
+ (Task_Wrapper): If Abort is not allowed, reset the deferral level since
+ it will not get changed by the generated code. It was previously done
+ in Create_Task.
+
+2005-11-14 Thomas Quinot <quinot@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c:
+ Factor common code to build a storage type for an unconstrained object
+ from a fat or thin pointer type and a constrained object type.
+ (annotate_value): Handle BIT_AND_EXPR.
+ (annotate_rep): Don't restrict the back annotation of inherited
+ components to the type_annotate_only case.
+ (gnat_to_gnu_entity) <E_Array_Type>: Do not invoke create_type_decl if
+ we are not defining the type.
+ <E_Record_Type>: Likewise.
+ (gnat_to_gnu_entity) <object, renaming>: Adjust comments and structure
+ to get advantage of the new maybe_stabilize_reference interface, to
+ ensure that what we reference is indeed stabilized instead of relying
+ on assumptions on what the stabilizer does.
+ (gnat_to_gnu_entity) <E_Incomplete_Type>: If the entity is an incomplete
+ type imported through a limited_with clause, use its non-limited view.
+ (Has_Stdcall_Convention): New macro, to centralize the Windows vs others
+ differentiation.
+ (gnat_to_gnu_entity): Use Has_Stdcall_Convention instead of a spread mix
+ of #if sections + explicit comparisons of convention identifiers.
+ (gnat_to_gnu_entity) <E_Variable>: Decrement force_global if necessary
+ before early-returning for certain types when code generation is
+ disabled.
+ (gnat_to_gnu_entity) <object>: Adjust comment attached to the
+ nullification of gnu_expr we do for objects with address clause and
+ that we are not defining.
+ (elaborate_expression_1): Do not create constants when creating
+ variables needed by the debug info: the dwarf2 writer considers that
+ CONST_DECLs is used only to represent enumeration constants, and emits
+ nothing for them.
+ (gnat_to_gnu_entity) <object>: When turning a non-definition of an
+ object with an address clause into an indirect reference, drop the
+ initializing expression.
+ Include "expr.h".
+ (STACK_CHECK_BUILTIN): Delete.
+ (STACK_CHECK_PROBE_INTERVAL): Likewise.
+ (STACK_CHECK_MAX_FRAME_SIZE): Likewise.
+ (STACK_CHECK_MAX_VAR_SIZE): Likewise.
+ (gnat_to_gnu_entity): If gnat_entity is a renaming, do not mark the tree
+ corresponding to the renamed object as ignored for debugging purposes.
+
+ * trans.c (tree_transform, case N_Attribute_Reference, case Attr_Size &
+ related): For a prefix that is a dereference of a fat or thin pointer,
+ if there is an actual subtype provided by the front-end, use that
+ subtype to build an actual type with bounds template.
+ (tree_transform, case N_Free_Statement): If an Actual_Designated_Subtype
+ is provided by the front-end, use that subtype to compute the size of
+ the deallocated object.
+ (gnat_to_gnu): When adding a statement into an elaboration procedure,
+ check for a potential violation of a No_Elaboration_Code restriction.
+ (maybe_stabilize_reference): New function, like gnat_stabilize_reference
+ with extra arguments to control whether to recurse through non-values
+ and to let the caller know if the stabilization has succeeded.
+ (gnat_stabilize_reference): Now a simple wrapper around
+ maybe_stabilize, for common uses without restriction on lvalues and
+ without need to check for the success indication.
+ (gnat_to_gnu, call_to_gnu): Adjust calls to gnat_stabilize_reference, to
+ pass false instead of 0 as the FORCE argument which is a bool.
+ (Identifier_to_gnu): Remove checks ensuring that an renamed object
+ attached to a renaming pointer has been properly stabilized, as no such
+ object is attached otherwise.
+ (call_to_gnu): Invoke create_var_decl to create the temporary when the
+ function uses the "target pointer" return mechanism.
+ Reinstate conversion of the actual to the type of the formal
+ parameter before any other specific treatment based on the passing
+ mechanism. This turns out to be necessary in order for PLACEHOLDER
+ substitution to work properly when the latter type is unconstrained.
+
+ * gigi.h (build_unc_object_type_from_ptr): New subprogram, factoring a
+ common pattern.
+ (maybe_stabilize_reference): New function, like gnat_stabilize_reference
+ with extra arguments to control whether to recurse through non-values
+ and to let the caller know if the stabilization has succeeded.
+
+ * utils2.c (gnat_build_constructor): Only sort the fields for possible
+ static output of record constructor if all the components are constant.
+ (gnat_build_constructor): For a record type, sort the list of field
+ initializers in increasing bit position order.
+ Factor common code to build a storage type for an unconstrained object
+ from a fat or thin pointer type and a constrained object type.
+ (build_unary_op) <ADDR_EXPR>: Always recurse down conversions between
+ types variants, and process special cases of VIEW_CONVERT expressions
+ as their NOP_EXPR counterpart to ensure we get to the
+ CORRESPONDING_VARs associated with CONST_DECls.
+ (build_binary_op) <MODIFY_EXPR>: Do not strip VIEW_CONVERT_EXPRs
+ on the right-hand side.
+
+ * utils.c (build_unc_object_type_from_ptr): New subprogram, factoring
+ a common pattern.
+ (convert) <VIEW_CONVERT_EXPR>: Return the inner operand directly if we
+ are converting back to its original type.
+ (convert) <JM input>: Fallthrough regular conversion code instead of
+ extracting the object if converting to a type variant.
+ (create_var_decl): When a variable has an initializer requiring code
+ generation and we are at the top level, check for a potential violation
+ of a No_Elaboration_Code restriction.
+ (create_var_decl): call expand_decl for CONST_DECLs, to set MODE, ALIGN
+ SIZE and SIZE_UNIT which we need for later back-annotations.
+ * utils.c: (convert) <STRING_CST>: Remove obsolete code.
+ <VIEW_CONVERT_EXPR>: Do not lift the conversion if the target type
+ is an unchecked union.
+ (pushdecl): Set DECL_NO_STATIC_CHAIN on imported nested functions.
+ (convert) <VIEW_CONVERT_EXPR>: When the types have the same
+ main variant, just replace the VIEW_CONVERT_EXPR.
+ <UNION_TYPE>: Revert 2005-03-02 change.
+
+ * repinfo.h, repinfo.ads: Add tcode for BIT_AND_EXPR.
+
+ * repinfo.adb (Print_Expr, Rep_Value): Handle Bit_And_Expressions.
+
+2005-11-14 Matthew Heaney <heaney@adacore.com>
+
+ * a-crbtgo.ads, a-crbtgo.adb, a-coorse.ads, a-coorse.adb, a-convec.ads,
+ a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohama.ads, a-cohama.adb,
+ a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-cidlli.ads,
+ a-cidlli.adb, a-cdlili.ads, a-cdlili.adb, a-coormu.adb, a-ciormu.adb,
+ a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
+ a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorma.adb, a-coorma.adb:
+ Compiles against the spec for ordered maps described in sections
+ A.18.6 of the most recent (August 2005) AI-302 draft.
+
+2005-11-14 Olivier Hainque <hainque@adacore.com>
+
+ * cuintp.c (UI_To_gnu): Use a proper type for intermediate computations
+ to ensure bias adjustments take place when need be and to prevent
+ occurrences of intermediate overflows.
+
+2005-11-14 Matthew Gingell <gingell@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * tb-gcc.c (trace_callback): Work around problem with _Unwind_GetIP on
+ ia64 HP-UX.
+
+ * tracebak.c (ia64 configuration): Enable _Unwind_Backtrace driven
+ tracebacks on ia64 HP-UX and provide explanatory comment.
+ Enable backtraces on ia64 GNU/Linux.
+ (x86 configuration): Bump FRAME_LEVEL to 1 to ensure we retrieve a real
+ base pointer from builtin_frame_address. Adjust BASE_SKIP accordingly.
+
+2005-11-14 Hristian Kirtchev <kirtchev@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * rtsfind.ads, exp_util.adb, exp_util.ads, exp_disp.adb, exp_disp.ads,
+ exp_ch7.adb, sem_ch9.adb, snames.adb, snames.ads,
+ exp_ch9.adb, exp_ch9.ads, exp_ch6.adb, exp_ch3.adb, exp_ch3.ads,
+ einfo.ads, einfo.adb: Complete support for Ada 2005 interfaces.
+
+ * a-tags.ads, a-tags.adb: Major rewrite and additions to implement
+ properly new Ada 2005 interfaces (AI-345) and add run-time checks (via
+ assertions).
+
+ * exp_dbug.ads, exp_dbug.adb (Get_Secondary_DT_External_Name): New
+ subprogram that generates the external name associated with a
+ secondary dispatch table.
+ (Get_Secondary_DT_External_Name): New subprogram that generates the
+ external name associated with a secondary dispatch table.
+
+2005-11-14 Emmanuel Briot <briot@adacore.com>
+
+ * xref_lib.adb (Parse_Identifier_Info): It is possible for an entity
+ line in the ALI file to include both an instantiation reference, and a
+ returned value.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * clean.adb (Check_Project): Look for Ada code in extending project,
+ even if Ada is not specified as a language.
+ Use new function DLL_Prefix for DLL_Name
+ (Clean_Interface_Copy_Directory): New procedure
+ (Clean_Library_Directory): New procedure
+ (Clean_Directory): Remove procedure, no longer used
+ (Clean_Project): Do not delete any file in an externally built project
+
+ * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Add the object
+ directory of an extending project, even when there are no Ada source
+ present.
+ (Ada_Objects_Path.Add): Add Library_ALI_Dir, not Library_Dir to the path
+ (Set_Ada_Paths.Add.Recursive_Add): Ditto
+
+ * mlib-prj.adb (Check_Library): For all library projects, get the
+ library file timestamp.
+ (Build_Library): Copy ALI files in Library_ALI_Dir, not in Library_Dir
+ (Build_Library): Use new function DLL_Prefix for the DLL_Name
+ (Clean): Remove procedure, no longer used
+ (Ultimate_Extension_Of): New function
+ (Build_Library): When cleaning the library directory, only remove an
+ existing library file and any ALI file of a source of the project.
+ When cleaning the interface copy directory, remove any source that
+ could be a source of the project.
+
+ * prj.ads, prj.adb (Project_Empty): Add values of new components
+ Library_TS and All_Imported_Projects.
+ (Project_Empty): Add values for new components of Project_Data:
+ Library_ALI_Dir and Display_Library_ALI_Dir
+
+ * prj-attr.adb: New project level attribute name Library_ALI_Dir
+
+ * prj-nmsc.adb (Check_Library_Attributes): Take into account new
+ attribute Library_ALI_Dir.
+ (Check_Library_Attributes): The library directory cannot be the same as
+ any source directory of the project tree.
+ (Check_Stand_Alone_Library): The interface copy directory cannot be
+ the same as any source directory of the project tree.
+
+ * mlib.adb: Use Prj.Com.Fail, instead of Osint.Fail directly, to delete
+ all temporary files.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elab.adb: Change name Is_Package to Is_Package_Or_Generic_Package
+ (Check_Elab_Call): A call within a protected body is never an
+ elaboration call, and does not require checking.
+ (Same_Elaboration_Scope): Take into account protected types for both
+ entities.
+ (Activate_Elaborate_All_Desirable): New procedure
+
+ * ali.ads, ali.adb: Implement new AD/ED for Elaborate_All/Elaborate
+ desirable
+
+ * binde.adb: Implement new AD/ED for Elaborate_All/Elaborate desirable
+ (Elab_Error_Msg): Use -da to include internal unit links, not -de.
+
+ * lib-writ.ads, lib-writ.adb:
+ Implement new AD/ED for Elaborate_All/Elaborate desirable
+ Use new Elaborate_All_Desirable flag in N_With_Clause node
+
+ * sinfo.ads, sinfo.adb (Actual_Designated_Subtype): New attribute for
+ N_Free_Statement nodes.
+ Define new class N_Subprogram_Instantiation
+ Add Elaborate_Desirable flag to N_With_Clause node
+ Add N_Delay_Statement (covering two kinds of delay)
+
+ * debug.adb: Introduce d.f flag for compiler
+ Add -da switch for binder
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Do not create master entity
+ for task component, in the case of a limited aggregate. The enclosed
+ object declaration will create it earlier. Otherwise, in the case of a
+ nested aggregate, the object may appear in the wrong scope.
+ (Convert_Aggr_In_Object_Decl): Create a transient scope when needed.
+ (Gen_Assign): If the component being assigned is an array type and the
+ expression is itself an aggregate, wrap the assignment in a block to
+ force finalization actions on the temporary created for each row of the
+ enclosing object.
+ (Build_Record_Aggr_Code): Significant rewrite insuring that ctrl
+ structures are initialized after all discriminants are set so that
+ they can be accessed even when their offset is dynamic.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_attr.adb: Implement Machine_Rounding attribute
+ (Analyze_Access_Attribute): The access attribute may appear within an
+ aggregate that has been expanded into a loop.
+ (Check_Task_Prefix): Add semantic check for attribute 'Callable and
+ 'Terminated whenever the prefix is of a task interface class-wide type.
+ (Analyze_Attribute): Add semantic check for attribute 'Identity whenever
+ the prefix is of a task interface class-wide type.
+
+ * s-vaflop-vms-alpha.adb: Valid_D, Valid_F, Valid_G: Make Val constant
+ to avoid warnings.
+
+ * s-fatgen.ads, s-fatgen.adb (Machine_Rounding): New function
+ Remove pragma Inline for [Unaligned_]Valid.
+ Add comments that Valid routines do not work for Vax_Float
+
+ * exp_attr.adb: Implement Machine_Rounding attribute
+
+ * snames.h: Add entry for Machine_Rounding attribute
+
+2005-11-14 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference, cases of Attribute_Size
+ and related): For a prefix that is an explicit dereference of an
+ access to unconstrained packed array type, annotate the dereference
+ with an actual subtype so GIGI can make a correct size computation.
+ (Expand_N_Attribute_Reference): In case of 'Unchecked_Access and
+ 'Unrestricted_Access, if the designated type is an interface we
+ add a type conversion to force the displacement of the pointer
+ to the secondary dispatch table.
+ Use Universal_Real instead of Long_Long_Float when we need a high
+ precision float type for the generated code (prevents gratuitous
+ Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
+ (Expand_N_Attribute_Reference): Add support for attribute 'Callable and
+ 'Terminated for task interface class-wide objects. Generate a call to
+ the predefined dispatching routine used to retrieve the _task_id from
+ a task corresponding record.
+ (Expand_Fpt_Attribute): Major change to properly handle Vax_Float
+
+ * sem_disp.adb: Change name Is_Package to Is_Package_Or_Generic_Package
+ (Check_Dispatching_Operation): Protect the frontend againts
+ previously detected errors.
+
+ * Makefile.rtl: Add new instantiations of system.fat_gen
+
+ * s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads:
+ Change name of instantiated package for better consistency
+ with newly added system.fat_gen instantiations.
+
+ * s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads,
+ s-fvagfl.ads: New files.
+
+2005-11-14 Cyrille Comar <comar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement, Tagged_Case): For an
+ assignment of a value of a tagged type that has been rewritten to a
+ block statement, it is known by construction that no checks are
+ necessary for the statements within the block: analyze it with checks
+ suppressed.
+ (Expand_N_If_Statement): When killing a dead then-branch in an
+ if-statement that has elsif_parts, recompute the Current_Value node
+ for any entity whose value is known from the condition of the first
+ elsif_part.
+ (Expand_N_Return_Statement): When returning a mutable record, convert
+ the return value into its actual subtype in order to help the backend
+ to return the actual size instead of the maximum. This is another
+ aftermath of not returning mutable records on the sec-stack anymore.
+
+ * sem_ch5.ads, sem_ch5.adb (Analyze_Iteration_Scheme): Minor change to
+ handling of error msg for suspicious reverse range iteration.
+ (Check_Possible_Current_Value_Condition): Move declaration from body to
+ spec, to allow this subprogram to be called from exp_ch5.
+
+2005-11-14 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Append_Array_Traversal): Modify constrained case to
+ generate a set of nested array aggregates instead of a single flat
+ aggregate for multi-dimensional arrays.
+
+2005-11-14 Pascal Obry <obry@adacore.com>
+
+ * expect.c (__gnat_kill) [Win32]: Fix implementation, the pid returned
+ by spawnve is a process handle, no need to convert. Add a parameter
+ close to control wether the process handle must be closed.
+ (__gnat_waitpid): Fix implementation, the pid returned by spawnve is
+ a process handle, not need to convert.
+ (__gnat_kill) [*]: Add dummy parameter close to match the Win32 spec.
+
+ * g-expect.adb: (Kill): Document the new close parameter.
+ (Close): Do not release the process handle in the kill there as
+ waitpid() is using it.
+ (Send_Signal): Release the process handle.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_fixd.adb: Use Universal_Real instead of Long_Long_Float when we
+ need a high precision float type for the generated code (prevents
+ gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
+ used).
+
+ * exp_imgv.adb: Use Universal_Real instead of Long_Long_Float when we
+ need a high precision float type for the generated code (prevents
+ gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
+ used).
+ (Expand_Width_Attribute): In configurable run-time, the attribute is not
+ allowed on non-static enumeration subtypes. Force a load error to emit
+ the correct diagnostic.
+
+2005-11-14 Thomas Quinot <quinot@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_intr.adb (Expand_Unc_Deallocation): If GIGI needs an actual
+ subtype to compute the size of the designated object at run-time,
+ create such a subtype and store it in the Actual_Designated_Subtype
+ attribute of the N_Free_Statement.
+ Generate itype for classwide designated object in both cases of
+ user-specified storage pool: specific and class-wide, not only in the
+ specific case.
+ Raise CE when trying to set a not null access type object to null.
+ (Expand_Dispatching_Constructor_Call): Retrieve subprogram actual with
+ an explicit loop, because freeze nodes make its position variable.
+
+ * sem_intr.adb (Check_Intrinsic_Call): Given warning for freeing not
+ null object.
+
+2005-11-14 Javier Miranda <miranda@adacore.com>
+
+ * exp_strm.adb (Build_Stream_Attr_Profile, Build_Stream_Function,
+ Build_Stream_Procedure): Add the null-excluding attribute to the first
+ formal.
+ This has no semantic meaning under Ada95 mode but it is a
+ requirement under Ada05 mode.
+
+ * par-ch3.adb (P_Access_Definition): Addition of warning message if
+ the null exclusion is used under Ada95 mode
+ (P_Null_Exclusion): The qualifier has no semantic meaning in Ada 95.
+ (P_Access_Definition): Remove assertion that forbids the use of
+ the null-exclusion feature in Ada95.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * impunit.adb: Exclude container helper units not intended for use by
+ users.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Entity): For an access formal that is an access
+ to subprogram, freeze the anonymous subprogram type at the same time,
+ to prevent later freezing in the wrong scope, such as the enclosing
+ subprogram body.
+ (Freeze_Entity): Freeze the equivalent_type of an access_to_protected_
+ subprogram whenever available.
+
+2005-11-14 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/23732
+ * gnatvsn.ads (Library_Version): Bump to 4.1
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * g-debpoo.adb (Set_Valid): Use Integer_Address instead of
+ Storage_Offset to avoid wrap around causing invalid results.
+
+2005-11-14 Pascal Obry <obry@adacore.com>
+
+ * gnatbind.adb (Is_Cross_Compiler): New function returning True for
+ cross-compiler.
+ (Scan_Bind_Arg): Fail with an error message if -M option is used
+ on a native compiler.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * gprep.adb: Implement -C switch to scan comments
+
+ * scng.adb: Scan comment symbol separately if Replace_In_Comments set
+
+ * scans.ads: Comment updates (including new use of Tok_Comment in
+ preprocessing)
+
+ * opt.ads: Add documentation for flags that are used by gprmake,
+ currently and in the next version of gprmake.
+ (Verbosity_Level): New variable
+ Add Replace_In_Comments switch
+
+ * vms_data.ads: Add VMS equivalent for new gnatmake switches -vl, -vm
+ and -vm.
+ Add /REPLACE_IN_COMMENTS for gnatprep -C switch
+
+2005-11-14 Arnaud Charlet <charlet@adacore.com>
+
+ * g-regpat.adb (Fail): raise Expression_Error including the diagnostic
+ message, friendlier.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * g-spitbo.adb: (Hash): Rotate by 3 instead of 1
+
+2005-11-14 Doug Rupp <rupp@adacore.com>
+
+ * init.c [VMS]: Don't install __gnat_error_handler if DBG$TDBG defined.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * interfac.ads: Change declarations of IEEE float types so that we no
+ longer need a separate version of this package for VMS.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.adb (Generate_Definition, Generate_Reference): Treat the
+ internal entity created for the declaration of a child subprogram body
+ with no spec as coming from source, to generate proper cross-reference
+ information.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Compile_Sources): Change verbose message to minimum
+ verbosity level High for "is in an Ada library", "is a read-only
+ library" and "is an internal library",
+ (Create_Binder_Mapping_File): Path name of ALI file for library project
+ must include the library directory, not the object directory.
+ (Scan_Make_Arg): Make sure that Switch.M.Scan_Make_Switches is called
+ for new switches -vl, -vm and -vh.
+ (Verbose_Msg): Add new defaulted parameter Minimum_Verbosity
+ (Check): Use minimum verbosity Medium for some Verbose_Msg calls
+ (Compile_Sources): Do not attempt to compile if an ALI file is missing
+ in a project that is externally built.
+ (Compute_All_Imported_Projects): New procedure
+ (Gnatmake): Check if importing libraries should be regenerated because
+ at least an imported library is more recent.
+ (Initialize): For each project compute the list of the projects it
+ imports directly or indirectly.
+ (Add_Library_Search_Dir): New procedure, used in place of
+ Add_Lib_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
+ put in the search paths.
+ (Add_Source_Search_Dir): New procedure, used in place of
+ Add_Src_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
+ put in the search paths.
+ (Mark_Directory): Resolve the absolute path the directory before marking
+ it.
+
+ * switch-m.adb (Scan_Make_Switches): Replace "raise Bad_Switch;" with
+ call to new procedure Bad_Switch. Call Scan_Pos with new parameter
+ Switch. Do not handle any exception.
+ (Scan_Make_Switches): Increment Ptr for new switches -vl, -vm and -vh
+ so that the switch is recognized as valid.
+ (Scan_Make_Switches): Implement new switches -vl, -vm and -vh.
+
+2005-11-14 GNAT Script <nobody@adacore.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2005-11-14 Pascal Obry <obry@adacore.com>
+
+ * mdll.adb (Build_Reloc_DLL): Fix parameter handling when a map file is
+ used.
+ (Ada_Build_Reloc_DLL): Fix parameter handling when a map file is used.
+ In both cases the last argument was dropped.
+
+2005-11-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * namet.h: (Column_Numbe): New type.
+ (Get_Column_Number): Define to sinput__get_column_number.
+ (Instantiation): Define to sinput__instantiation.
+ (Get_Column_Number): Declare.
+ (Instantiation): Likewise.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * par-ch10.adb (P_Compilation_Unit): Add defenses against junk unit
+ syntax, which could cause compiler hangs.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * prj-ext.adb: Take into account new environment variable
+ GPR_PROJECT_PATH. Warn if both GPR_PROJECT_PATH and ADA_PROJECT_PATH
+ are defined.
+ (Prj.Ext elaboration): For each directory in the ADA_PROJECT_PATH,
+ normalize its path name, making it absolute and resolving symbolic
+ links, and replace the original if resolved path is different.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * prj-part.adb (Create_Virtual_Extending_Project): Put virtual project
+ into Prj.Tree.Tree_Private_Part.Projects_Htable for GPS.
+
+2005-11-14 Emmanuel Briot <briot@adacore.com>
+
+ * prj-pp.adb (Print): Do not output the with statement if the
+ associated name is empty, which happens for virtual extending projects.
+ (Print): Preserve the "extends all" attribute when printing the project.
+
+ * prj-tree.ads (String_Value_Of): Add comment about returned value for
+ a virtual extending project.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Aggregate): An others choice is legal on the
+ rhs of an assignment even if the type is unconstrained, when the
+ context is non-expanding.
+ In an inlined body, if the context type is private,
+ resolve with its full view, which must be a composite type.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb: Change name Is_Package to Is_Package_Or_Generic_Package
+ Do not give obsolescent warning on with of subprogram (since we
+ diagnose calls)
+ (Analyze_With_Clause): Add test for obsolescent package
+ (Install_Context_Clauses): If the unit is the body of a child unit, do
+ not install twice the private declarations of the parents, to prevent
+ circular lists of Use_Clauses in a parent.
+ (Implicit_With_On_Parent): Do add duplicate with_clause on parent when
+ compiling body of child unit.
+ Use new class N_Subprogram_Instantiation
+ (Expand_With_Clause): If this is a private with_clause for a child unit,
+ appearing in the context of a package declaration, then the implicit
+ with_clauses generated for parent units are private as well.
+ (License_Check): Do not generate message if with'ed unit is internal
+
+2005-11-14 Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch12.ads, sem_ch12.adb (Map_Entities): Exclude entities whose
+ names are internal, because they will not have a corresponding partner
+ in the actual package.
+ (Analyze_Formal_Package): Move the setting of the formal package spec's
+ Generic_Parent field so that it occurs prior to analyzing the package,
+ to allow proper operation of Install_Parent_Private_Declarations.
+ (Analyze_Package_Instantiation): Set the instantiated package entity's
+ Package_Instantiation field.
+ (Get_Package_Instantiation_Node): Move declaration to package spec.
+ Retrieve the N_Package_Instantiation node when the Package_Instantiation
+ field is present.
+ (Check_Generic_Child_Unit): Within an inlined call, the only possible
+ instantiation is Unchecked_Conversion, for which no parents are needed.
+ (Inline_Instance_Body): Deinstall and record the use_clauses for all
+ parent scopes of a scope being removed prior to inlining an instance
+ body.
+ (Analyze_Package_Instantiation): Do not perform front-end inlining when
+ the current context is itself an instance within a non-instance child
+ unit, to prevent scope stack errors.
+ (Save_References): If the node is an aggregate that is an actual in a
+ call, rewrite as a qualified expression to preserve some type
+ information, to resolve possible ambiguities in the instance.
+ (Instance_Parent_Unit): New global variable to record the ultimate
+ parent unit associated with a generic child unit instance (associated
+ with the existing Parent_Unit_Visible flag).
+ (type Instance_Env): New component Instance_Parent_Unit for stacking
+ parents recorded in the global Instance_Parent_Unit.
+ (Init_Env): Save value of Instance_Parent_Unit in the Instance_Env
+ stack.
+ (Install_Spec): Save the parent unit entity in Instance_Parent_Unit when
+ it's not a top-level unit, and only do this if Instance_Parent_Unit is
+ not already set. Replace test of Is_Child_Unit with test of parent's
+ scope against package Standard. Add comments and a ??? comment.
+ (Remove_Parent): Revise condition for resetting Is_Immediately_Visible
+ on a child instance parent to test that the parent equals
+ Instance_Parent rather than simply checking that the unit is not a
+ child unit.
+ (Restore_Env): Restore value of Instance_Parent_Unit from Instance_Env.
+ (Validate_Derived_Interface_Type_Instance): Verify that all ancestors of
+ a formal interface are ancestors of the corresponding actual.
+ (Validate_Formal_Interface_Type): Additional legality checks.
+ (Analyze_Formal_Derived_Interface_Type): New procedure to handle formal
+ interface types with ancestors.
+ (Analyze_Formal_Package): If formal is a renaming, use renamed entity
+ to diagnose attempts to use generic within its own declaration.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.ads, sem_ch3.adb (Build_Discriminal): Add link to original
+ discriminant.
+ (Build_Private_Derived_Type): The entity of the created full view of the
+ derived type does not come from source. If after installing the private
+ declarations of the parent scope the parent is still private, use its
+ full view to construct the full declaration of the derived type.
+ (Build_Derived_Record_Type): Relax the condition that controls the
+ execution of the check that verifies that the partial view and
+ the full view agree in the set of implemented interfaces. In
+ addition, this test now only takes into account the progenitors.
+ (Derive_Interface_Subprograms): No need to derive subprograms
+ of ancestors that are interfaces.
+ (Derive_Subprograms): Remove formal No_Predefined_Prims and the
+ associated code.
+ Change name Is_Package to Is_Package_Or_Generic_Package
+ (Complete_Subprograms_Derivation): Handle the case in which the full
+ view is a transitive derivation of the ancestor of the partial view.
+ (Process_Full_View): Rename local subprogram Find_Interface_In_
+ Descendant to Find_Ancestor_Interface to leave the code more clear.
+ Remove wrong code that avoids the generation of an error message
+ when the immediate ancestor of the partial view is an interface.
+ In addition some minor reorganization of the code has been done to
+ leave it more clear.
+ (Analyze_Type_Declaration): If type has previous incomplete tagged
+ partial view, inherit properly its primitive operations.
+ (Collect_Interfaces): Make public, for analysis of formal
+ interfaces.
+ (Analyze_Interface_Declaration): New procedure for use for regular and
+ formal interface declarations.
+ (Build_Derived_Record_Type): Add support for private types to the code
+ that checks if a tagged type implements abstract interfaces.
+ (Check_Aliased_Component_Type): The test applies in the spec of an
+ instance as well.
+ (Access_Type_Declaration): Clean up declaration of malformed type
+ declared as an access to its own classwide type, to prevent cascaded
+ crash.
+ (Collect_Interfaces): For private extensions and for derived task types
+ and derived protected types, the parent may be an interface that must
+ be included in the interface list.
+ (Access_Definition): If the designated type is an interface that may
+ contain tasks, create Master_Id for it before analyzing the expression
+ of the declaration, which may be an allocator.
+ (Record_Type_Declaration): Set properly the interface kind, for use
+ in allocators, the creation of master id's for task interfaces, etc.
+
+2005-11-14 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Check_Conformance): The null-exclusion feature can be
+ omitted in case of stream attribute subprograms.
+ (Check_Inline_Pragma): Handle Inline and Inline_Always pragmas that
+ appear immediately after a subprogram body, when there is no previous
+ subprogram declaration.
+ Change name Is_Package to Is_Package_Or_Generic_Package
+ (Process_Formals): A non null qualifier on a non null named access
+ type is not an error, and is a warning only if Redundant_Constructs
+ are flagged.
+
+2005-11-14 Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb (Install_Parent_Private_Declarations): New procedure
+ nested within Analyze_Package_Specification to install the private
+ declarations and use clauses within each of the parent units of a
+ package instance of a generic child package.
+ (Analyze_Package_Specification): When entering a private part of a
+ package associated with a generic instance or formal package, the
+ private declarations of the parent must be installed (by calling new
+ procedure Install_Parent_Private_Declarations).
+ Change name Is_Package to Is_Package_Or_Generic_Package
+ (Preserve_Full_Attributes): For a synchronized type, the corresponding
+ record is absent in a generic context, which does not indicate a
+ compiler error.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic context, do
+ not try to rewrite a renamed stream attribute, because the operations
+ on the type may not have been generated.
+ Handle properly a renaming_as_body generated for a stream operation
+ whose default is abstract because the object type itself is abstract.
+ (Find_Type): If the type is incomplete and appears as the prefix of a
+ 'Class reference, it is tagged, and its list of primitive operations
+ must be initialized properly.
+ (Chain_Use_Clauses): When chaining the use clauses that appear in the
+ private declaration of a parent unit, prior to compiling the private
+ part of a child unit, find on the scope stack the proper parent entity
+ on which to link the use clause.
+ (Note_Redundant_Use): Emit a warning when a redundant use clause is
+ detected.
+ (Analyze_Object_Renaming): An attribute reference is not a legal object
+ if it is not a function call.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_eval.adb: Implement d.f flag
+ (Subtype_Statically_Match): A generic actual type has unknown
+ discriminants when the corresponding actual has a similar partial view.
+ If the routine is called to validate the signature of an inherited
+ operation in a child instance, the generic actual matches the full view,
+
+2005-11-14 Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb (Resolve_Call): Provide a better error message whenever
+ a procedure call is used as a select statement trigger and is not an
+ entry renaming or a primitive of a limited interface.
+ (Valid_Conversion): If the operand has a single interpretation do not
+ remove address operations.
+ (Check_Infinite_Recursion): Skip freeze nodes when looking for a raise
+ statement to inhibit warning.
+ (Resolve_Unary_Op): Do not produce a warning when
+ processing an expression of the form -(A mod B)
+ Use Universal_Real instead of Long_Long_Float when we need a high
+ precision float type for the generated code (prevents gratuitous
+ Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
+ (Resolve_Concatenation_Arg): Improve error message when argument is an
+ ambiguous call to a function that returns an array.
+ (Make_Call_Into_Operator, Operand_Type_In_Scope): Do not check that
+ there is an implicit operator in the given scope if we are within an
+ instance: legality check has been performed on the generic.
+ (Resolve_Unary_Op): Apply warnings checks on argument of Abs operator
+ after resolving operand, to avoid false warnings on overloaded calls.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ PR ada/15604
+ * sem_type.adb (Covers): In an inlined body, a composite type matches
+ a private type whose full view is a composite type.
+ (Interface_Present_In_Ancestor): Protect the frontend against
+ previously detected errors to ensure that its compilation
+ with assertions enabled gives the same output that its
+ compilation without assertions.
+ (Interface_Present_In_Ancestor): Add support for private types.
+ Change name In_Actual to In_Generic_Actual (clean up)
+ (Disambiguate): New predicate In_Actual, to recognize expressions that
+ appear in the renaming declaration generated for generic actuals, and
+ which must be resolved in the outer context.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.ads, sem_util.adb: Change name Is_Package to
+ Is_Package_Or_Generic_Package.
+ (Check_Obsolescent): New procedure.
+ (Set_Is_Public): Remove obsolete junk test.
+ (Set_Public_Status): Do not set Is_Public on an object whose declaration
+ occurs within a handled_sequence_of_statemets.
+ (Is_Controlling_Limited_Procedure): Factor some of the logic, account
+ for a parameterless procedure.
+ (Enter_Name): Recognize renaming declarations created for private
+ component of a protected type within protected operations, so that
+ the source name of the component can be used in the debugger.
+
+2005-11-14 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.ads, sem_warn.adb (Publicly_Referenceable): Generic formals
+ of a generic subprogram are not visible outside the body.
+ (Set_Warning_Switch): New procedure (code to set warning mode moved
+ here from Switch.C so that it can be shared by pragma processing.
+ (Check_References): Special case warning for non-modified non-imported
+ volatile objects.
+ * par-prag.adb: Modify processing of pragma Warnings to accomodate new
+ form with a string literal argument
+
+2005-11-14 Javier Miranda <miranda@adacore.com>
+
+ * s-finroo.ads, s-finroo.adb (Read): Addition of "not null" to the
+ anonymous access.
+ (Write): Addition of "not null" to the anonymous access.
+ (Read): Addition of "not null" to the anonymous access.
+ (Write): Addition of "not null" to the anonymous access.
+
+ * s-strxdr.adb, s-stratt.ads, s-stratt.adb (I_AD, I_AS, I_B, I_C, I_F,
+ I_I, I_LF, I_LI, I_LLF, I_LLI, I_LLU, I_LU, I_SF, I_SI, I_SSI, I_SSU,
+ I_SU, I_U, I_WC): Addition of "not null" to the anonymous access.
+ (W_AD, W_AS, W_B, W_C, W_F, W_I, W_LF, W_LI, W_LLF, W_LLI, W_LLU,
+ W_LU, W_SF, W_SI, W_SSI, W_SSU, W_SU, W_U, W_WC): Addition of
+ "not null" to the anonymous access.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * s-stoele.adb: Fix code for Address mod Storage_Offset for negative
+ offset values
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * switch.adb (Bad_Switch): New procedure
+ (Scan_Nat, Scan_Pos): Directly call Osint.Fail with the appropriate
+ message when in error.
+
+ * switch.ads (Bad_Switch, Bad_Switch_Value, Missing_Switch_Value,
+ Too_Many_Output_Files): Remove declarations, no longer used.
+ (Scan_Nat): New parameter Switch
+ (Scan_Pos): Ditto
+ (Bad_Switch): New procedure
+
+ * switch-b.adb (Scan_Binder_Switches): Replace "raise Bad_Switch;"
+ with call to new procedure Bad_Switch. Call Scan_Pos and Scan_Natwith
+ new parameter Switch. Replace "raise Too_Many_Output_Files;" with call
+ to Osint.Fail. Do not handle any exception.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * tempdir.adb (Tempdir): Do not use environment variable TMPDIR if it
+ designates a non existent directory.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * xgnatugn.adb: Replace invalid membership test by 'Valid
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Gprmake): Do not attempt to build the global archive if
+ there is no object directory.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Minor adjustment to output format, use nn instead of nnn
+ (so that -gnateInnn does not run into next column)
+
+2005-11-14 Ed Falis <falis@adacore.com>
+
+ * s-bitops.adb (Bits_Array): corrected comment: "unconstrained" =>
+ "constrained"
+
+2005-11-14 Cyrille Comar <comar@adacore.com>
+
+ * s-chepoo.ads: Add comments on Dereference.
+ Remove unnecessary inherited abstract primitives.
+ Cosmetic cleanup.
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_cat.ads (Validate_Access_Type_Declaration): Remove declaration
+ node parameter, not needed, since it is available as Declaration_Node.
+
+2005-11-14 Geert Bosch <bosch@adacore.com>
+
+ * s-exnllf.adb (Exn_LLF): Fix comment to be more precise and
+ grammatically correct.
+
+2005-11-14 Vincent Celier <celier@adacore.com>
+
+ * s-fileio.ads: Correct spelling error in comment
+
+2005-11-14 Cyrille Comar <comar@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Vincent Celier <celier@adacore.com>
+ Ben Brosgol <brosgol@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+ Pascal Obry <obry@adacore.com>
+
+ * gnat_ugn.texi:
+ Document that -fstack-check is needed for strict compliance with the
+ Ada 95 Reference Manual.
+ Correct reference to VAX systems to meet HP guidelines
+ Add documentation for new gnatmake switches -vl, -vm and -vh
+ Replace DEC Ada by HP Ada
+ Replace DIGITAL by HP
+ Remove empty section on tools in compatibility section
+ Clarify the Windows convention semantics.
+ Document the Win32 calling convention.
+ The Stdcall, Win32 and DLL convention are synonyms.
+ Add a note in -gnatR description about zero size record components
+ Note on new >= and <= warnings for -gnatwc
+ Document that equal sign after -gnatm is optional.
+ Note that strip is working fine on DLL built with a Library
+ Project. The restriction apply only to DLL built with gnatdll.
+ Update section about the way to debug a DLL.
+ Update information about the DLL convention.
+ Document -C switch for gnatprep
+ Document new attribute Library_ALI_Dir
+ Update elaboration doc to include implicit Elaborate pragmas now
+ generated for subprogram instantiations.
+ Document limitation on executable names that include spaces for --GCC,
+ --GNATBIND, and --GNATLINK switches.
+ Document that -w causes -gnatws to be added at start of gcc switches
+
+ * gnat_rm.texi: Document that -mieee is needed for generating infinite
+ and NaN values in case of overflow on machines that are not fully
+ compliant with the IEEE floating-point standard.
+ Create a section describing the set of compiler options needed for
+ strict compliance with the Ada 95 Reference Manual.
+ Add documentation for pragma Obsolescent applied to a package
+ Clarify potential issues of mixed language programs related to the
+ I/O buffering enabling in the elaboration of the GNAT runtime.
+ Add extra documentation for pragma Restrictions (No_Elaboration_Code)
+ This documentation only patch adds extra documentsion for pragma
+ Restrictions (No_Elaboration_Code), explaining why it is not possible
+ to document this restriction in terms of allowed source constructs.
+ Document string literal form of pragma Warnings
+ Document new attribute Library_ALI_Dir
+ Add documentation on stable attributes in project files that was missing
+
+ * gnat-style.texi: Indicate that paragraphs within a single comment
+ should be separated by empty comment lines
+
+ * ug_words: Added replacements for -gnat95 and -gnat05 (/95 and
+ /05 respectively)
+
+ * bindusg.adb: Minor cleanup, put -m before -M for consistency
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ * a-secain.adb, a-slcain.adb, a-shcain.adb, a-chtgke.ads, a-chtgke.adb,
+ a-stwiha.adb, a-strhas.adb, a-chzla1.ads, a-chzla9.ads, a-stzbou.adb,
+ a-stzbou.ads, a-stzfix.adb, a-stzhas.adb, a-stzmap.adb, a-stzmap.ads,
+ a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads, a-stzunb.adb,
+ a-stzunb.ads, a-szuzha.adb, a-szuzha.ads, a-szuzti.adb, a-szuzti.ads,
+ a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb, a-ztcstr.adb, a-ztcstr.ads,
+ a-ztdeau.adb, a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
+ a-ztedit.ads, a-ztenau.ads, a-ztenio.adb, a-ztenio.ads, a-ztexio.adb,
+ a-ztexio.ads, a-ztfiio.adb, a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads,
+ a-ztflio.adb, a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
+ a-ztinau.ads, a-ztinio.adb, a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads,
+ a-zttest.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-alpha.adb,
+ g-enblsp-vms-ia64.adb, g-enblsp-vms-ia64.adb, system-linux-hppa.ads,
+ a-chacon.adb, a-chacon.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
+ a-zchuni.ads, g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb,
+ system-hpux-ia64.ads, g-soccon-unixware.ads, g-soliop-unixware.ads,
+ g-soccon-interix.ads, g-soliop-solaris.ads, g-eacodu-vms.adb,
+ g-expect-vms.adb, g-socthi-vms.adb, g-soliop-mingw.ads,
+ a-intnam-unixware.ads, a-intnam-lynxos.ads, a-intnam-tru64.ads,
+ a-intnam-aix.ads, a-intnam-linux.ads, a-intnam-linux.ads,
+ a-intnam-dummy.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
+ a-intnam-solaris.ads, a-calend-vms.adb, a-calend-vms.ads,
+ a-intnam-vms.ads, a-calend-mingw.adb, a-intnam-mingw.ads,
+ a-intnam-vxworks.ads, a-numaux-vxworks.ads, system-unixware.ads,
+ system-linux-ia64.ads, a-intnam-freebsd.ads, system-freebsd-x86.ads,
+ system-lynxos-ppc.ads, system-linux-x86_64.ads, a-stunha.adb,
+ a-cgaaso.ads, a-cgaaso.adb, a-chtgop.adb, a-cgcaso.adb, a-cgarso.adb,
+ a-cohata.ads, a-crbtgk.adb, a-crbltr.ads, a-coprnu.adb, a-rbtgso.adb,
+ a-intnam-darwin.ads, system-darwin-ppc.ads, gprmake.adb, makegpr.ads,
+ system-tru64.ads, system-aix.ads, system-solaris-x86.ads,
+ system-irix-o32.ads, s-interr-sigaction.adb, system-irix-n32.ads,
+ s-parame-mingw.adb, system-hpux.ads, s-traceb-hpux.adb,
+ system-linux-x86.ads, s-inmaop-dummy.adb, system-os2.ads,
+ system-interix.ads, system-solaris-sparc.ads,
+ system-solaris-sparcv9.ads, s-inmaop-vms.adb,
+ s-mastop-vms.adb, expander.adb, expander.ads, s-gloloc-mingw.adb,
+ system-mingw.ads, system-vms-zcx.ads, s-osinte-fsu.adb,
+ s-traceb-mastop.adb, a-exextr.adb, a-exstat.adb, a-filico.ads,
+ a-finali.ads, a-interr.ads, a-intsig.adb, a-intsig.ads,
+ a-except.ads, a-numaux-x86.ads, a-astaco.adb, a-calend.adb,
+ a-calend.ads, a-chahan.adb, a-chahan.ads, a-chlat9.ads,
+ a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
+ a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
+ a-elchha.adb, a-decima.adb, a-decima.ads, a-diocst.ads,
+ a-direio.adb, a-direio.ads, a-excach.adb, a-excach.adb,
+ a-exctra.ads, ali-util.adb, a-ngcefu.adb, a-ngcoty.adb,
+ a-ngcoty.ads, a-nudira.adb, a-nudira.ads, a-nuflra.adb,
+ a-numaux.ads, a-reatim.ads, a-sequio.adb, a-sequio.ads,
+ a-siocst.ads, a-ssicst.ads, a-stmaco.ads, a-storio.adb,
+ a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
+ a-strmap.adb, a-strmap.ads, a-strsea.adb, a-strsea.ads,
+ a-strsup.adb, a-strsup.ads, a-strunb.adb, a-strunb.ads,
+ a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwima.adb,
+ a-stwima.ads, a-stwise.adb, a-stwise.ads, a-stwisu.adb,
+ a-stwisu.ads, a-stwiun.adb, a-stwiun.ads, a-suteio.adb,
+ a-suteio.ads, a-swmwco.ads, a-swuwti.adb, a-swuwti.ads,
+ a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
+ a-taside.ads, a-teioed.adb, a-textio.adb, a-textio.ads,
+ a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tideau.adb,
+ a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
+ a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
+ a-tiinio.adb, a-timoau.adb, a-timoio.adb, a-timoio.ads,
+ a-tiocst.ads, a-titest.adb, atree.adb, a-witeio.adb,
+ a-witeio.ads, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb,
+ a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtedit.adb,
+ a-wtedit.ads, a-wtenau.adb, a-wtenio.adb, a-wtfiio.adb,
+ a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
+ a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, back_end.adb,
+ bindgen.adb, butil.adb, butil.ads, checks.ads, cio.c, comperr.adb,
+ csets.ads, cstand.adb, debug.ads, elists.ads, errno.c, errout.adb,
+ errout.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
+ errutil.ads, err_vars.ads, eval_fat.adb, exp_ch11.adb, exp_ch11.ads,
+ exp_ch2.adb, exp_ch7.ads, exp_imgv.ads, exp_pakd.adb, exp_prag.adb,
+ exp_prag.ads, exp_tss.adb, exp_tss.ads, exp_vfpt.ads, fe.h, fmap.adb,
+ freeze.ads, frontend.adb, frontend.ads, g-arrspl.adb, g-arrspl.ads,
+ g-awk.adb, g-awk.ads, g-boumai.ads, g-calend.adb, g-calend.ads,
+ g-catiio.adb, g-comlin.adb, g-comlin.ads, g-comlin.ads, g-comlin.ads,
+ g-comver.adb, g-crc32.adb, g-crc32.ads, g-ctrl_c.ads, g-curexc.ads,
+ g-debpoo.ads, g-debuti.adb, g-diopit.adb, g-diopit.ads, g-dirope.adb,
+ g-dirope.ads, g-dyntab.adb, g-dyntab.ads, g-excact.adb, g-excact.ads,
+ g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.ads, g-flocon.ads,
+ g-hesorg.ads, g-io.adb, g-locfil.ads, g-md5.adb, g-md5.ads, g-md5.ads,
+ g-moreex.adb, g-signal.ads, g-signal.adb, gnatbind.ads, gnatchop.adb,
+ gnatcmd.adb, gnatfind.adb, gnatlbr.adb, gnatmake.ads, gnatmem.adb,
+ gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb, g-os_lib.adb,
+ g-os_lib.ads, g-pehage.adb, g-pehage.ads, gprep.ads, g-regexp.adb,
+ g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.ads, g-semaph.adb,
+ g-socthi.adb, g-soliop.ads, g-spipat.adb, g-spipat.ads, g-sptabo.ads,
+ g-sptain.ads, g-sptavs.ads, g-string.ads, g-tasloc.adb, g-tasloc.ads,
+ g-trasym.adb, g-trasym.ads, i-fortra.adb, i-fortra.ads, inline.adb,
+ layout.adb, live.adb, make.ads, makeutl.ads, makeutl.adb, mdll-fil.adb,
+ mdll-fil.ads, mdll-utl.ads, memroot.ads, memtrack.adb, mlib.ads,
+ mlib-fil.adb, mlib-fil.ads, mlib-prj.ads, mlib-utl.adb, mlib-utl.ads,
+ nlists.adb, nlists.ads, osint.adb, osint.ads, osint-c.adb, osint-l.adb,
+ osint-l.ads, osint-m.ads, output.adb, par.adb, par.adb, par.ads,
+ par-ch11.adb, par-ch12.adb, par-ch2.adb, par-ch4.adb, par-ch5.adb,
+ par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
+ par-tchk.adb, prep.adb, prepcomp.adb, prepcomp.ads, prj-attr.ads,
+ prj-com.ads, prj-dect.adb, prj-dect.ads, prj-env.ads, prj-err.ads,
+ prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.ads, prj-pars.adb,
+ prj-pars.ads, prj-part.ads, prj-pp.ads, prj-proc.ads, prj-strt.adb,
+ prj-strt.ads, prj-tree.adb, prj-util.adb, prj-util.ads, rtsfind.adb,
+ sem.adb, sem.ads, sem_case.adb, sem_case.ads, sem_ch11.adb,
+ sem_ch4.adb, sem_ch6.ads, sem_ch7.ads, sem_dist.ads, sem_elab.ads,
+ sem_elim.ads, sem_eval.ads, sem_intr.ads, sem_maps.adb, sem_maps.ads,
+ sem_maps.ads, sem_res.ads, sem_type.ads, sfn_scan.adb, sfn_scan.ads,
+ s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads, s-inmaop.ads, sinput.adb,
+ sinput.ads, s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads,
+ s-pack06.adb, s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb,
+ s-pack09.ads, s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
+ s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb,
+ s-pack14.ads, s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads,
+ s-pack18.adb, s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb,
+ s-pack20.ads, s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
+ s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb,
+ s-pack25.ads, s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads,
+ s-pack28.adb, s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb,
+ s-pack30.ads, s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
+ s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb,
+ s-pack36.ads, s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads,
+ s-pack39.adb, s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb,
+ s-pack41.ads, s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
+ s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb,
+ s-pack46.ads, s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads,
+ s-pack49.adb, s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb,
+ s-pack51.ads, s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
+ s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb,
+ s-pack56.ads, s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads,
+ s-pack59.adb, s-pack59.ads, s-pack60.adb, s-pack60.adb, s-pack60.ads,
+ s-pack61.adb, s-pack61.ads, s-pack62.adb, s-pack62.ads, s-pack63.adb,
+ s-pack63.ads, s-parint.adb, s-parint.adb, s-parint.ads, sprint.ads,
+ s-purexc.ads, s-restri.ads, s-restri.adb, s-scaval.adb, s-scaval.ads,
+ s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads, stand.ads,
+ s-tasuti.adb, s-traceb.adb, s-traceb.ads, stringt.adb, stringt.ads,
+ styleg.ads, s-valboo.adb, s-valboo.ads, s-valcha.adb, s-valcha.ads,
+ s-valdec.adb, s-valdec.ads, s-valint.adb, s-valint.ads, s-valint.ads,
+ s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads, s-valllu.adb,
+ s-valllu.ads, s-valrea.adb, s-valrea.ads, s-valuns.adb, s-valuns.ads,
+ s-valuti.adb, s-valuti.ads, s-valwch.ads, s-veboop.adb, s-veboop.ads,
+ s-vercon.adb, s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchcon.ads,
+ s-wchjis.adb, s-wchjis.ads, s-wchstw.adb, s-wchstw.adb, s-wchstw.ads,
+ s-wchwts.adb, s-wchwts.ads, s-widboo.adb, s-widboo.ads, s-widcha.adb,
+ s-widcha.ads, s-widenu.adb, s-widenu.ads, s-widlli.adb, s-widlli.ads,
+ s-widllu.adb, s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
+ s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, symbols.adb, symbols.ads,
+ table.ads, targparm.adb, targparm.ads, tb-alvms.c, tb-alvxw.c,
+ tbuild.adb, tree_io.ads, treepr.adb, treeprs.adt, ttypef.ads,
+ ttypes.ads, types.adb, uintp.adb, uintp.ads, uname.ads, urealp.ads,
+ usage.ads, validsw.ads, vxaddr2line.adb, widechar.adb, widechar.ads,
+ xeinfo.adb, xnmake.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads,
+ xsinfo.adb, xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb,
+ a-dirval.ads, a-dirval.adb, a-dirval-mingw.adb, a-direct.ads,
+ a-direct.adb, indepsw.ads, prj-attr-pm.ads, system-linux-ppc.ads,
+ a-numaux-darwin.ads, a-numaux-darwin.adb,
+ a-swuwha.ads, a-stunha.ads: Minor reformatting
+
+2005-11-14 Robert Dewar <dewar@adacore.com>
+
+ PR ada/18434
+ * osint-m.adb: Add pragma Elaborate_All for Osint
+
+2005-11-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/23995
+ * trans.c (call_to_gnu): Restore statement lost in translation.
+
+2005-11-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * init.c: Use the Linux-specific section for the IA-64/Linux target.
+ (__gnat_adjust_context_for_raise): Add conditional code so that the
+ IA-64 is also supported.
+
+2005-11-03 James E Wilson <wilson@specifix.com>
+
+ PR ada/23427
+ * trans.c (gnat_to_gnu): Use TYPE_SIZE_UNIT not TYPE_SIZE in
+ TREE_OVERFLOW check.
+
+2005-09-21 Olivier Hainque <hainque@adacore.com>
+
+ PR ada/22418
+ * decl.c (maybe_pad_type): Use proper bitsizetype for XVZ objects,
+ as we create them to store a size in bits.
+
+2005-10-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/21937
+ PR ada/22328
+ PR ada/22381
+ PR ada/22383
+ PR ada/22419
+ PR ada/22420
+ * utils2.c (build_return_expr): New helper function.
+ * gigi.h (build_return_expr): Declare it.
+ * trans.c (Subprogram_Body_to_gnu): Use build_return_expr instead
+ of manually building the RETURN_EXPR tree.
+ (call_to_gnu): Pass MODIFY_EXPR through build_binary_op.
+ (gnat_to_gnu) <N_Return_Statement>: Pass MODIFY_EXPR through
+ build_binary_op for the "target pointer" case. Use build_return_expr
+ instead of manually building the RETURN_EXPR tree.
+
+2005-09-16 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/23788
+ * s-tpinop.ads: Make this unit Preelaborate.
+
+2005-09-16 Andreas Jaeger <aj@suse.de>
+
+ * socket.c: Add string.h for memcpy.
+
+2005-09-05 Arnaud Charlet <charlet@adacore.com>
+
+ * dec-io.ads, dec-io.adb: Removed, no longer used.
+
+2005-09-01 Arnaud Charlet <charlet@adacore.com>
+
+ * a-calend-mingw.adb: Add call to OS_Primitives.Initialize;
+
+ * s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
+ s-taprop-os2.adb, s-taprop-irix-athread.adb, s-taprop-linux.adb,
+ s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-tru64.adb,
+ s-taprop-lynxos.adb: Move with clauses outside Warnings Off now that
+ dependent units are Preelaborate.
+ (Initialize): Call Interrupt_Managemeent.Initialize and
+ OS_Primitives.Initialize to ensure proper initialization of this unit.
+ Remove use of System.Soft_Links
+ Make this unit Preelaborate.
+
+ * s-stache.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
+ s-taspri-vms.ads, s-tasinf-solaris.ads, s-taspri-os2.ads,
+ s-taspri-lynxos.ads, s-taspri-hpux-dce.ads, s-taspri-tru64.ads,
+ s-tasinf-tru64.ads, s-tasinf-irix.ads, s-tasinf-irix-athread.ads,
+ s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
+ s-tratas.ads, s-tasinf.ads: Minor reformatting.
+ Add pragma Preelaborate, since these packages are suitable for this
+ categorization.
+ Update comments.
+
+ * s-traent-vms.ads, s-intman-dummy.adb,
+ s-taprop-dummy.adb: Make this unit Preelaborate.
+
+ * s-osprim-vxworks.adb, s-osprim-vms.adb, s-osprim-vms.ads,
+ s-osprim-mingw.adb, s-intman-vxworks.ads, s-intman-vxworks.adb,
+ s-intman-vms.adb, s-intman-mingw.adb, s-intman-vms.ads,
+ s-osprim-unix.adb, s-osprim-os2.adb, s-osprim-solaris.adb,
+ s-intman-solaris.adb, s-intman-irix-athread.adb,
+ s-intman-irix.adb: Mark this unit Preelaborate.
+ (Initialize): New procedure.
+ Update comments.
+
+ * s-taspri-linux.ads: Removed.
+
+ * s-tpopsp-solaris.adb (Initialize): Create the key in this procedure,
+ as done by other implementations (e.g. posix).
+
+ * s-taprop.ads (Timed_Delay): Update spec since the caller now is
+ responsible for deferring abort.
+ Mark this unit Preelaborate.
+
+ * s-taprob.adb, s-tarest.adb: Call System.Tasking.Initialize to ensure
+ proper initialization of the tasking run-time.
+
+ * s-tasdeb.ads: Mark this unit Preelaborate.
+ (Known_Tasks): Add explicit default value to avoid elaboration code.
+
+ * s-inmaop-vms.adb (Elaboration code): Add call to
+ Interrupt_Management.Initialize since the elaboration code depends on
+ proper initialization of this package.
+
+ * s-intman.ads, s-inmaop-posix.adb, s-intman-posix.adb,
+ s-osprim.ads, s-taprop-posix.adb, s-taspri-posix.ads,
+ s-osprim-posix.adb: Make this unit Preelaborate.
+
+ * a-calend.adb: Add call to OS_Primitives.Initialize
+
+ * a-elchha.adb: Update use of Except.Id.Full_Name.
+ Minor reformatting.
+ Remove use of Ada.Exceptions.Traceback when possible, cleaner.
+
+ * a-dynpri.adb, a-sytaco.adb, a-sytaco.ads:
+ Move with clauses outside Warnings Off now that dependent units are
+ Preelaborate.
+ Use raise xxx with "..."; Ada 2005 form.
+
+ * a-taside.ads, a-taside.adb:
+ Remove some dependencies, to make it easier to make this unit truly
+ Preelaborate.
+ Rewrite some code to be conformant with Preelaborate rules.
+
+ * g-os_lib.adb: Remove non-preelaborate code so that this unit can be
+ marked Preelaborate in the future.
+
+ * s-proinf.ads, g-string.ads, s-auxdec.ads, s-auxdec-vms_64.ads: Make
+ these units Preelaborate.
+
+ * s-exctab.adb: Update use of Except.Id.Full_Name.
+
+ * s-soflin.ads, s-soflin.adb: Mark this unit Preelaborate_05.
+ (Set_Exc_Stack_Addr_Soft, Get_Exc_Stack_Addr_NT, Set_Exc_Stack_Addr_NT,
+ Set_Exc_Stack_Addr): Removed, no longer used.
+ Remove reference to *Machine_State_Addr*, no longer needed.
+
+ * s-stalib.ads: Mark this unit as Preelaborate[_05].
+ (Exception_Data): Full_Name is now a System.Address so that this unit
+ can be made Preelaborate.
+ Clean up/simplify code thanks to Full_Name being a System.Address.
+ Remove obsolete pragma Suppress (All_Checks), no longer needed.
+
+ * s-taskin.ads, s-taskin.adb:
+ Move with clauses outside Warnings Off now that dependent units are
+ Preelaborate.
+ Make this unit Preelaborate.
+ (Initialize): New proceduure, replace elaboration code and makes the
+ set up of the tasking run-time cleaner.
+ (Detect_Blocking): Now a function instead of a deferred boolean, to
+ obey Preelaborate rules.
+
+ * s-tassta.adb (Finalize_Global_Tasks): Remove Get/Set_Exc_Stack_Addr
+ soft links, no longer used.
+
+ * s-traces.ads, s-traent.ads: Add pragma Preelaborate, since these
+ packages are suitable for this categorization.
+
+ * s-solita.adb: Replace use of Ada.Exception by raise xxx with "..."
+ since we compile run-time sources in Ada 2005 mode.
+ (Timed_Delay_T): Call Abort_Defer/Undefer around Timed_Delay, to
+ avoid having s-taprop*.adb depend on s-soflin and to avoid code
+ duplication.
+ Remove reference to *Machine_State_Addr*, no longer needed.
+
+2005-09-01 Arnaud Charlet <charlet@adacore.com>
+
+ * s-mastop-tru64.adb, s-mastop-irix.adb, s-mastop-vms.adb
+ (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
+ Remove reference to System.Exceptions.
+
+ * s-mastop-x86.adb: Removed, no longer used.
+
+ * s-traceb-mastop.adb: Adjust calls to Pop_Frame.
+
+ * a-excach.adb: Minor reformatting.
+
+ * a-except.ads, a-except.adb: Remove global Warnings (Off) pragma, and
+ instead fix new warnings that were hidden by this change.
+ (AAA, ZZZ): Removed, replaced by...
+ (Code_Address_For_AAA, Code_Address_For_ZZZ): ... these functions, who
+ are used instead of constants, to help make Ada.Exception truly
+ preelaborate.
+ (Rcheck_*, Raise_Constraint_Error, Raise_Program_Error,
+ Raise_Storage_Error): File is now a System.Address, to simplify code.
+ (Elab code): Removed, no longer used.
+ (Null_Occurrence): Remove Warnings Off and make this construct
+ preelaborate.
+ Remove code related to front-end zero cost exception handling, since
+ it is no longer used.
+ Remove -gnatL/-gnatZ switches.
+
+ * a-exexda.adb (Append_Info_Exception_Name, Set_Exception_C_Msg):
+ Update use of Except.Msg.
+
+ * gnat1drv.adb, inline.adb, bindgen.adb, debug.adb, exp_ch11.ads,
+ freeze.adb, frontend.adb, lib.adb, exp_ch11.adb: Remove code related
+ to front-end zero cost exception handling, since it is no longer used.
+ Remove -gnatL/-gnatZ switches.
+
+ * lib-writ.ads: Minor reformatting
+ Remove doc of UX
+
+ * Makefile.rtl: Remove references to s-except*, s-mastop-x86*
+
+ * Make-lang.in: Remove references to s-except.ads
+
+ * s-except.ads: Removed, no longer used.
+
+ * s-mastop.ads, s-mastop.adb:
+ (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
+ Remove reference to System.Exceptions.
+
+ * raise.h, usage.adb, targparm.adb, targparm.ads, switch-m.adb,
+ switch-b.adb: Remove code related to front-end zero cost exception
+ handling, since it is no longer used.
+ Remove -gnatL/-gnatZ switches.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * exp_ch4.adb (Expand_N_In): Replace test of expression in its own
+ type by valid test and generate warning.
+ (Tagged_Membership): Generate call to the run-time
+ subprogram IW_Membership in case of "Iface_CW_Typ in Typ'Class"
+ Change formal name Subtype_Mark to Result_Definition in several calls to
+ Make_Function_Specification.
+ (Expand_Allocator_Expression): Add tests for suppression of the AI-344
+ check for proper accessibility of the operand of a class-wide allocator.
+ The check can be left out if checks are suppressed or if the expression
+ has a specific tagged type whose level is known to be safe.
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Simplify the code that
+ generates the run-time check associated with null-excluding entities.
+ (Expand_N_Return_Statement): Add tests to determine if the accessibility
+ check on the level of the return expression of a class-wide function
+ can be elided. The check usually isn't needed if the expression has a
+ specific type (unless it's a conversion or a formal parameter). Also
+ add a test for whether accessibility checks are suppressed. Augment
+ the comments to describe the conditions for performing the check.
+
+2005-09-01 Hristian Kirtchev <kirtchev@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * a-tags.adb (IW_Membership): Give support to
+ "Iface_CW_Typ in T'Class". For this purpose the functionality of this
+ subprogram has been extended to look for the tag in the ancestors tag
+ table.
+ Update the structure of the GNAT Dispatch Table to reflect the
+ additional two tables used in dispatching selects.
+ Introduce appropriate array types and record components in
+ Type_Specific_Data to reflect the two tables.
+ (Get_Entry_Index, Set_Entry_Index): Retrieve and set the entry index in
+ the TSD of a tag, indexed by position.
+ (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Retrieve and set the primitive
+ operation kind in the TSD of a tag, indexed by position.
+
+ * a-tags.ads: Introduce an enumeration type to capture different
+ primitive operation kinds. Define a constant reflecting the number of
+ predefined primitive operations.
+ (Get_Entry_Index, Set_Entry_Index): Set and retrieve the entry index
+ of an entry wrapper.
+ (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Set and retrieve the kind of
+ callable entity of a primitive operation.
+
+ * exp_ch3.adb (Freeze_Record_Type): Generate the declarations of the
+ primitive operations used in dispatching selects for limited
+ interfaces, limited tagged, task and protected types what implement a
+ limited interface.
+ (Freeze_Type): Generate the bodies of the primitive operations used in
+ dispatching selects for limited tagged, task and protected types that
+ implement a limited interface. Generate statements to populate the two
+ auxiliary tables used for dispatching in select statements.
+ (Freeze_Record_Type): Add call to initialize the dispatch table entries
+ associated with predefined interface primitive operations.
+ (Build_Dcheck_Function): Change Set_Subtype_Mark to
+ Set_Result_Definition.
+ (Build_Variant_Record_Equality): Change Subtype_Mark to
+ Result_Definition.
+ (Freeze_Enumeration_Type): Change Subtype_Mark to Result_Definition.
+ (Predef_Spec_Or_Body): Change Subtype_Mark to Result_Definition.
+ (Build_Assignment): Simplify the code that adds the run-time-check.
+ (Expand_N_Object_Declaration): Code cleanup.
+
+ * exp_ch7.adb (Make_Clean): Select the appropriate type for locking
+ entries when there is a protected type that implements a limited
+ interface.
+
+ * exp_ch9.adb: Add package Select_Expansion_Utilities that contains
+ common routines used in expansion of dispatching selects.
+ (Add_Private_Declarations): Select the appropriate protection type when
+ there is a protected type that implements a limited interface.
+ (Build_Parameter_Block): Generate a wrapped parameter block.
+ (Build_Protected_Subprogram_Body): Select the appropriate type for
+ locking entries when there is a protected type that implements a
+ limited interface.
+ (Build_Wrapper_Spec): Set the flag and wrapped entity for procedures
+ classified as entry wrappers.
+ (Expand_N_Asynchronous_Select): Add support for expansion of dispatching
+ asynchronous selects.
+ (Expand_N_Conditional_Entry_Call): Add support for expansion of
+ dispatching conditional selects.
+ (Expand_N_Protected_Type_Declaration): Select the appropriate type for
+ protection when there is a protected type that implements limited
+ interfaces.
+ (Expand_N_Timed_Entry_Call): Add support for expansion of dispatching
+ timed selects.
+ (Extract_Dispatching_Call): Extract the entity of the name of a
+ dispatching call, the object parameter, actual parameters and
+ corresponding formals.
+ (Make_Initialize_Protection): Correct logic of protection initialization
+ when there is a protected type that implements a limited interface.
+ (Parameter_Block_Pack): Populate a wrapped parameter block with the
+ values of actual parameters.
+ (Parameter_Block_Unpack): Retrieve the values from a wrapped parameter
+ block and assign them to the original actual parameters.
+
+ * exp_ch9.ads (Subprogram_Protection_Mode): New type.
+ (Build_Protected_Sub_Specification): Change the type and name of the
+ last formal to account for the increased variety of protection modes.
+
+ * einfo.ads, einfo.adb (Was_Hidden): New attribute. Present in all
+ entities. Used to save the value of the Is_Hidden attribute when the
+ limited-view is installed.
+ (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Retrieve and change
+ the attribute of procedures classified as entry wrappers.
+ (Wrapped_Entity, Set_Wrapped_Entity): Retrieve and change the wrapped
+ entity of a primitive wrapper.
+ (Write_Entity_Flags): Output the name and value of the
+ Is_Primitive_Wrapper attribute.
+ (Write_Field27_Name): Output the name and entity of the field Wrapped_
+ Entity.
+ (Underlying_Type): If we have an incomplete entity that comes from
+ the limited view then we return the Underlying_Type of its non-limited
+ view if it is already available.
+ (Abstract_Interface_Alias): Flag applies to all subrogram kinds,
+ including operators.
+ (Write_Field26_Name): Add entry for Overridden_Operation
+ (Overridden_Operation): New attribute of functions and procedures.
+
+ * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Return a
+ predefined position in the dispatch table for the primitive operations
+ used in dispatching selects.
+ (Init_Predefined_Interface_Primitives): Remove the hardcoded number of
+ predefined primitive operations and replace it with
+ Default_Prim_Op_Count.
+ (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
+ Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Update
+ the names of the generated primitive operations used in dispatching
+ selects.
+ (Init_Predefined_Interface_Primitives): No need to inherit primitives in
+ case of abstract interface types. They will be inherit by the objects
+ implementing the interface.
+ (Make_DT): There is no need to inherit the dispatch table of the
+ ancestor interface for the elaboration of abstract interface types.
+ The dispatch table will be inherited by the object implementing the
+ interface.
+ (Copy_Secondary_DTs): Add documentation.
+ (Validate_Position): Improve this static check in case of
+ aliased subprograms because aliased subprograms must have
+ the same position.
+ (Init_Predefined_Interface_Primitives): New subprogram that initializes
+ the entries associated with predefined primitives of all the secondary
+ dispatch tables.
+ (Build_Anonymous_Access_Type): Removed.
+ (Expand_Interface_Actuals): With the previous cleanup there is no need
+ to build an anonymous access type. This allows further cleanup in the
+ code generated by the expander.
+ (Expand_Interface_Conversion): If the actual is an access type then
+ build an internal function to handle the displacement. If the actual
+ is null this function returns null because no displacement is
+ required; otherwise performs a type conversion that will be
+ expanded in the code that returns the value of the displaced actual.
+ (Expand_Interface_Actuals): Avoid the generation of unnecessary type
+ conversions that have no effect in the generated code because no
+ displacement is required. Code cleanup; use local variables to
+ avoid repeated calls to the subprogram directly_designated_type().
+
+ * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
+ Classify the primitive operations used in dispatching selects as
+ predefined.
+ (Implements_Limited_Interface): Determine whether some type either
+ directly implements a limited interface or extends a type that
+ implements a limited interface.
+ (Build_Task_Image_Function): Change Subtype_Mark to Result_Definition.
+ (Expand_Subtype_From_Expr): Do not build actual subtype if the
+ expression is limited.
+ (Find_Interface_Tag): Add code to handle class-wide types and
+ entities from the limited-view.
+
+ * rtsfind.ads: Add entries in RE_Id and RE_Unit_Table for
+ Get_Entry_Index, Get_Prim_Op_Kind, POK_Function, POK_Procedure,
+ POK_Protected_Entry, POK_Protected_Function, POK_Protected_Procedure,
+ POK_Task_Entry, POK_Task_Procedure, Prim_Op_Kind, Set_Entry_Index,
+ Set_Prim_Op_Kind.
+
+ * sem_ch9.adb (Analyze_Triggering_Alternative): Check for legal type
+ of procedure name or prefix that appears as a trigger in a triggering
+ alternative.
+
+ * uintp.ads: Introduce constants Uint_11 and Uint_13.
+
+2005-09-01 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tataat.adb, a-tasatt.adb:
+ Replace calls to Defer/Undefer_Abortion by Defer/Undefer_Abort.
+
+ * s-tasini.ads, s-tasini.adb (Defer_Abortion, Undefer_Abortion): Moved
+ these procedures to body, and renamed Abort_Defer, Abort_Undefer.
+ (Get_Exc_Stack_Addr, Set_Exc_Stack_Addr): Removed, no
+ longer used.
+
+2005-09-01 Arnaud Charlet <charlet@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprop-vxworks.adb:
+ Move with clauses outside Warnings Off now that dependent units are
+ Preelaborate.
+ (Initialize): Call Interrupt_Managemeent.Initialize to ensure proper
+ initialization of this unit.
+ (Specific): Add new procedures Initialize and Delete so that this
+ package can be used for VxWorks 5.x and 6.x
+ (ATCB_Key, ATCB_Key_Address): Moved to Specific package body to hide
+ differences between VxWorks 5.x and 6.x
+ Minor reformatting.
+ (Timed_Delay): Remove calls to Defer/Undefer_Abort, now performed by
+ caller.
+ Use only Preelaborate-compatible constructs.
+
+ * s-tpopsp-vxworks.adb (ATBC_Key, ATCB_Key_Addr): Moved from
+ Primitives.Operations.
+ (Delete, Initialize): New procedures.
+
+ * s-osinte-vxworks.adb: Body used to handle differences between
+ VxWorks 5.x and 6.x
+ (kill, Set_Time_Slice, VX_FP_TASK): New functions.
+
+ * s-osinte-vxworks.ads: Minor reformatting.
+ Add VxWworks 6.x specific functions (only called from VxWorks 6 files).
+ (VX_FP_TASK): Now a function, to handle differences between VxWorks 5
+ and 6.
+ (Set_Time_Slice): New function, replacing kerneltimeSlice to share code
+ between Vxworks 5 and 6.
+ (taskLock, taskUnlock): Removeed, no longer used.
+
+ * adaint.c: The wait.h header is not located in the sys directory on
+ VxWorks when using RTPs.
+ (__gnat_set_env_value): Use setenv instead of putenv on VxWorks when
+ using RTPs.
+ (__gnat_dup): dup is available on Vxworks when using RTPs.
+ (__gnat_dup2): dup2 is available on Vxworks when using RTPs.
+
+ * cal.c: Use the header time.h for Vxworks 6.0 when using RTPs.
+
+ * expect.c: The wait.h header is not located in the sys directory on
+ VxWorks when using RTPs.
+
+2005-09-01 Thomas Quinot <quinot@adacore.com>
+
+ * g-soccon-vms.adb: Renamed to g-soccon-vms.ads
+
+ * g-soccon-vms.ads: Renamed from g-soccon-vms.adb
+
+ * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
+ g-soccon-darwin.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
+ g-soccon-solaris.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
+ g-soccon-freebsd.ads: Add new constants:
+ IP_MULTICAST_IF
+ SO_RCVTIMEO/SO_SNDTIMEO
+ IOV_MAX
+
+ * gen-soccon.c:
+ Move all target-specific file inclusions and macro definitions to
+ gsocket.h, in order to ensure that any C code in socket.c will see a
+ set of constants that is consistent with the contents of g-soccon.ads.
+
+ * gsocket.h: Code imported from gen-soccon.c:
+ Move all target-specific file inclusions and macro definitions to
+ gsocket.h, in order to ensure that any C code in socket.c will see a set
+ of constants that is consistent with the contents of g-soccon.ads.
+ This change also makes gen-soccon self-contained (removing dependencies
+ upon GCC internal headers).
+
+ * g-socket.adb (Send_Vector): Make calls to Writev at most IOV_MAX
+ iovecs at a time.
+ (To_Inet_Addr): Now a procedure instead of a function, more efficient.
+
+ * socket.c: Minor reformatting.
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * fname-sf.adb, mlib-tgt.ads,
+ back_end.adb, casing.adb, g-debpoo.adb, g-excact.adb, g-spipat.adb,
+ g-spipat.ads, g-thread.adb, lib-list.adb, makeutl.adb, mlib.adb,
+ osint.adb, par-ch10.adb, par-load.adb, prep.adb, prj.adb, prj-attr.ads,
+ prj-env.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads,
+ prj-makr.adb, prj-makr.ads, prj-pars.ads, prj-part.adb, prj-strt.adb,
+ prj-tree.ads, prj-util.ads, sem_dist.adb, sinput-c.ads, sinput-l.ads,
+ sinput-p.ads, styleg-c.ads, xr_tabls.adb, prj-attr-pm.ads,
+ makegpr.adb: Remove redundant use_clauses.
+
+2005-09-01 Arnaud Charlet <charlet@adacore.com>
+
+ * s-stoele.ads, s-stopoo.ads, s-stratt.ads, s-strops.ads, s-unstyp.ads,
+ s-valboo.ads, s-valcha.ads, s-valdec.ads, s-valenu.ads, s-valint.ads,
+ s-vallld.ads, s-vallli.ads, s-valllu.ads, s-valrea.ads, s-valuns.ads,
+ s-valuti.ads, s-valwch.ads, s-veboop.ads, s-vector.ads, s-vercon.ads,
+ s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-wchstw.ads, s-wchwts.ads,
+ s-widboo.ads, s-widcha.ads, s-widenu.ads, s-widlli.ads, s-widllu.ads,
+ s-widwch.ads, s-wwdcha.ads, s-wwdenu.ads, s-wwdwch.ads, system.ads,
+ table.ads, types.ads, system-vms_64.ads, s-crtl-vms64.ads,
+ s-addope.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
+ s-vxwork-x86.ads, system-linux-ppc.ads, i-vxwork-x86.ads,
+ a-numaux-darwin.ads, a-crbtgo.ads, a-crbtgk.ads, a-crbltr.ads,
+ a-coprnu.ads, a-convec.ads, a-contai.ads, a-coinve.ads, a-cohata.ads,
+ a-cohama.ads, a-cihama.ads, a-cidlli.ads, a-cdlili.ads,
+ a-numaux-libc-x86.ads, a-numaux-vxworks.ads, system-linux-ia64.ads,
+ system-freebsd-x86.ads, system-unixware.ads, system-lynxos-ppc.ads,
+ system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
+ s-vxwork-alpha.ads, system-aix.ads, system-vxworks-sparcv9.ads,
+ system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
+ s-parame-hpux.ads, system-hpux.ads, system-vxworks-m68k.ads,
+ s-vxwork-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
+ s-vxwork-mips.ads, system-os2.ads, system-interix.ads,
+ s-vxwork-ppc.ads, system-solaris-sparc.ads, s-vxwork-sparcv9.ads,
+ system-solaris-sparcv9.ads, s-parame-vms.ads, system-vms.ads,
+ s-osinte-mingw.ads, system-mingw.ads, s-parame-vms-restrict.ads,
+ system-vms-zcx.ads, s-parame-ae653.ads, system-vxworks-ppc.ads,
+ s-parame-vxworks.ads, system-vxworks-alpha.ads, interfac-vms.ads,
+ a-numaux-x86.ads, a-astaco.ads, a-chahan.ads, a-charac.ads,
+ a-chlat1.ads, a-chlat9.ads, a-colire.adb, a-colire.ads, a-comlin.ads,
+ a-cwila1.ads, a-cwila9.ads, ada.ads, a-decima.ads, a-exextr.adb,
+ a-filico.ads, a-finali.ads, a-interr.ads, a-ioexce.ads, a-dynpri.ads,
+ a-ngcefu.ads, a-ngcefu.adb, a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.ads,
+ a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-numaux.ads, a-numeri.ads,
+ a-reatim.adb, a-stmaco.ads, a-storio.ads, a-strbou.ads, a-stream.ads,
+ a-strfix.ads, a-string.ads, a-strmap.ads, a-strsea.ads, a-strsup.ads,
+ a-strunb.ads, a-stunau.ads, a-stwibo.ads, a-stwifi.ads, a-stwima.ads,
+ a-stwise.ads, a-stwisu.ads, a-stwiun.ads, a-swmwco.ads, a-textio.ads,
+ csets.ads, debug.ads, dec.ads, g-curexc.ads, get_targ.ads,
+ g-except.ads, system-linux-hppa.ads, a-chacon.ads, a-widcha.ads,
+ a-zchara.ads, system-hpux-ia64.ads, a-ciorma.ads, a-coorma.ads,
+ a-ciormu.ads, a-coormu.ads, a-rbtgso.ads, a-chzla1.ads, a-chzla9.ads,
+ a-stzbou.ads, a-stzfix.ads, a-stzmap.ads, a-stzsea.ads, a-stzsup.ads,
+ a-stzunb.ads, a-swunau.ads, a-szunau.ads, gnat.ads, g-regpat.ads,
+ g-speche.ads, g-spitbo.ads, g-table.ads, g-tasloc.ads, g-trasym.ads,
+ i-c.ads, i-cpoint.ads, i-cpp.ads, i-cstrin.ads, i-fortra.ads,
+ interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads, i-os2thr.ads,
+ i-vxwork.ads, output.ads, s-arit64.ads, s-atacco.ads, s-boarop.ads,
+ s-casuti.ads, s-crtl.ads, s-exctab.ads, s-exnint.ads, s-exnllf.ads,
+ s-exnlli.ads, s-expint.ads, s-explli.ads, s-expllu.ads, s-expmod.ads,
+ s-expuns.ads, s-fatflt.ads, s-fatgen.ads, s-fatlfl.ads, s-fatllf.ads,
+ s-fatsfl.ads, s-finimp.ads, s-finroo.ads, s-fore.ads, s-geveop.ads,
+ s-htable.ads, s-imgbiu.ads, s-imgboo.ads, s-imgcha.ads, s-imgdec.ads,
+ s-imgenu.ads, s-imgint.ads, s-imgllb.ads, s-imglld.ads, s-imglli.ads,
+ s-imgllu.ads, s-imgllw.ads, s-imgrea.ads, s-imguns.ads, s-imgwch.ads,
+ s-imgwiu.ads, s-io.ads, s-maccod.ads, s-mantis.ads, s-memcop.ads,
+ s-pack03.ads, s-pack05.ads, s-pack06.ads, s-pack07.ads, s-pack09.ads,
+ s-pack10.ads, s-pack11.ads, s-pack12.ads, s-pack13.ads, s-pack14.ads,
+ s-pack15.ads, s-pack17.ads, s-pack18.ads, s-pack19.ads, s-pack20.ads,
+ s-pack21.ads, s-pack22.ads, s-pack23.ads, s-pack24.ads, s-pack25.ads,
+ s-pack26.ads, s-pack27.ads, s-pack28.ads, s-pack29.ads, s-pack30.ads,
+ s-pack31.ads, s-pack33.ads, s-pack34.ads, s-pack35.ads, s-pack36.ads,
+ s-pack37.ads, s-pack38.ads, s-pack39.ads, s-pack40.ads, s-pack41.ads,
+ s-pack42.ads, s-pack43.ads, s-pack44.ads, s-pack45.ads, s-pack46.ads,
+ s-pack47.ads, s-pack48.ads, s-pack49.ads, s-pack50.ads, s-pack51.ads,
+ s-pack52.ads, s-pack53.ads, s-pack54.ads, s-pack55.ads, s-pack56.ads,
+ s-pack57.ads, s-pack58.ads, s-pack59.ads, s-pack60.ads, s-pack61.ads,
+ s-pack62.ads, s-pack63.ads, s-parame.ads, s-pooglo.ads, s-pooloc.ads,
+ s-poosiz.ads, s-powtab.ads, s-purexc.ads, s-sopco3.ads, s-sopco4.ads,
+ s-sopco5.ads: Minor reformatting: reindent pragma Pure/Preelaborate
+ and always use the no parameter form for consistency.
+
+ * gnat-style.texi: Document rules about Preelaborate/Pure pragmas.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * binde.adb: Minor reformatting
+ (Find_Elab_Order): Output warning if -p used with static elab order
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Check_Needed): New procedure, deals with removing checks
+ based on analysis of short-circuited forms. Also generates warnings for
+ improper use of non-short-circuited forms.
+ Code clean ups.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * a-ztexio.adb, a-textio.adb, a-witeio.adb: Replace bad range checks
+ with 'Valid tests.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads, errout.adb (Fix Error_Msg_F): Fix implementation to meet
+ spec.
+ Implement new insertion char < (conditional warning)
+ * errutil.adb, erroutc.adb: Implement new insertion char <
+ (conditional warning).
+ * sem_elab.adb, prj-dect.adb, erroutc.ads, err_vars.ads
+ (Error_Msg_Warn): New variable for < insertion char.
+ * prj-nmsc.adb: Implement new errout insertion char < (conditional
+ warning).
+ (Check_For_Source): Change value of Source_Id only after the current
+ source has been dealt with.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+ Doug Rupp <rupp@adacore.com>
+
+ * exp_attr.adb: Handle vax fpt for 'Valid attribute
+ * exp_vfpt.ads, exp_vfpt.adb: (Expand_Vax_Valid): New procedure
+ * s-vaflop-vms-alpha.adb, s-vaflop.ads, s-vaflop.adb
+ (Valid_D, Valid_F, Valid_G): New functions
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): If an actual is a function call rewritten
+ from object notation, the original node is unanalyzed and carries no
+ semantic information, so that accessiblity checks must be performed on
+ the type of the actual itself.
+ (Expand_N_Subprogram_Declaration): Change last actual parameter for
+ compatibility with Build_Protected_Sub_Specification.
+ (Check_Overriding_Inherited_Interfaces): Add suport to handle
+ overloaded primitives.
+ (Register_Interface_DT_Entry): Use the new name of the formal
+ the the calls to Expand_Interface_Thunk
+
+ * exp_dbug.ads: Augment comments on encoding of protected types to
+ include the generation of dispatching subprograms when the type
+ implements at least one interface.
+
+ * lib.ads: Extend information in Load_Stack to include whether a given
+ load comes from a Limited_With_Clause.
+
+ * lib-load.adb (From_Limited_With_Chain): New predicate to determine
+ whether a potential circularity is harmless, because it includes units
+ loaded through a limited_with clause. Extends previous treatment which
+ did not handle properly arbitrary combinations of limited and
+ non-limited clauses.
+
+2005-09-01 Nicolas Setton <setton@adacore.com>
+
+ * exp_dbug.adb (Get_Encoded_Name): Fixed bug that caused biaised types
+ to be encoded as typ___XBLU_lowerbound__upperbound instead of
+ typ___XB_lowerbound__upperbound.
+
+2005-09-01 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Add_RACW_TypeCode, Add_RAS_TypeCode): Do not generate
+ dummy access formal for RACW/RAS TypeCode TSS.
+ (Build_TypeCode_Call): Do not generate dummy null access actual for
+ calls to the TypeCode TSS.
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_intr.adb (Expand_Source_Name): For Enclosing_Entity, generate
+ fully qualified name, to distinguish instances with the same local name.
+
+ * g-souinf.ads (Enclosing_Entity): Document that entity name is now
+ fully qualified.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * exp_pakd.adb (Create_Packed_Array_Type): Properly handle very large
+ packed arrays.
+
+2005-09-01 Jerome Lambourg <lambourg@adacore.com>
+
+ * g-expect.adb (Non_Blocking_Spawn): Initialize the filters field to
+ (Free): New deallocation procedure for filter elements
+ (Close): Deallocate any existing filter for the concerned connection
+
+2005-09-01 Laurent Pautet <pautet@adacore.com>
+
+ * g-pehage.ads, g-pehage.adb (Select_Char_Position): When no character
+ position set is provided, we compute one in order to reduce the maximum
+ length of the keys. This computation first selects a character
+ position between 1 and the minimum length of the keys in order to
+ avoid reducing one of the keys to an empty string.
+ (Initialize, Compute): When the ratio V to K is too low, the algorithm
+ does not converge. The initialization procedure now comes with a
+ maximum number of iterations such that when exceeded, an exception is
+ raised in Compute. The user can initialize this ratio to another value
+ and try again
+ Reformating and updated headers.
+
+2005-09-01 Javier Miranda <miranda@adacore.com>
+
+ * itypes.ads, itypes.adb (Create_Null_Excluding_Itype): New subprogram
+ that given an entity T creates and returns an Itype that duplicates the
+ contents of T. The returned Itype has the null-exclusion
+ attribute set to True, and its Etype attribute references T
+ to keep the association between the two entities.
+ Update copyright notice
+
+ * sem_aggr.adb (Check_Can_Never_Be_Null,
+ Aggregate_Constraint_Checks, Resolve_Aggregate,
+ Resolve_Array_Aggregate, Resolve_Record_Aggregate): Code cleanup.
+
+ * sem_ch5.adb (Analyze_Assignment): Code cleanup.
+
+2005-09-01 Gary Dismukes <dismukes@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * layout.adb (SO_Ref_From_Expr): Change Subtype_Mark to
+ Result_Definition.
+
+ * par-ch6.adb (P_Subprogram): Handle parsing of Access_Definitions in
+ function specs.
+ Call Set_Result_Definition instead of Set_Subtype_Mark.
+ (P_Subprogram_Specification): Add parsing of anonymous access result
+ plus null exclusions. Call Set_Result_Definition instead of
+ Set_Subtype_Mark.
+
+ * par-ch3.adb: Add support for LIMITED NEW for Ada 2005 AI-419
+ (P_Access_Type_Definition): Add parsing for an anonymous access result
+ subtype, plus parsing for null exclusions. Call Set_Result_Definition
+ instead of Set_Subtype_Mark.
+
+ * sinfo.adb: Add support for LIMITED NEW for Ada 2005 AI-419
+ (Null_Exclusion_Present): Allow this flag for N_Function_Specification.
+ (Result_Definition): New function for N_Function_Specifications.
+ (Subtype_Mark): No longer allowed for N_Access_Function_Definition and
+ N_Function_Specification.
+ (Set_Null_Exclusion_Present): Allow this flag for
+ N_Function_Specification.
+ (Set_Result_Definition): New procedure for N_Function_Specifications.
+ (Set_Subtype_Mark): No longer allowed for N_Access_Function_Definition
+ and N_Function_Specification.
+
+ * sinfo.ads: Update grammar rules for 9.7.2: Entry_Call_Alternative,
+ Procedure_Or_Entry_Call; 9.7.4: Triggering_Statement.
+ Add support for LIMITED NEW for Ada 2005 AI-419
+ Update the syntax of PARAMETER_AND_RESULT_PROFILE to reflect the new
+ syntax for anonymous access results.
+ Replace Subtype_Mark field by Result_Definition in
+ N_Function_Specification and N_Access_Definition specs.
+ Add Null_Exclusion_Present to spec of N_Function_Specification.
+ (Result_Definition): New function for N_Function_Specification and
+ N_Access_Function_Definition.
+ (Set_Result_Definition): New procedure for N_Function_Specification and
+ N_Access_Function_Definition.
+
+ * sprint.adb (S_Print_Node_Actual): Change Subtype_Mark calls to
+ Result_Definition for cases of N_Access_Function_Definition and
+ N_Function_Specification.
+ Print "not null" if Null_Exclusion_Present on N_Function_Specification.
+
+2005-09-01 Vincent Celier <celier@adacore.com>
+
+ * lib-writ.adb: Update Copyright notice
+ (Write_With_Lines): On platforms where file names are case-insensitive,
+ record the file names in lower case.
+ (Write_ALI): For D lines, on platforms where file names are
+ case-insensitive, record the file names in lower case.
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+ Emmanuel Briot <briot@adacore.com>
+
+ * lib-xref.adb (Output_Overridden_Op): Display information on
+ overridden operation.
+
+ * lib-xref.ads: Add documentation on overridden operations.
+
+ * ali.ads (Xref_Entity_Record): Add support for storing the overriding
+ information.
+
+ * ali.adb (Get_Typeref): New subprogram. Adds support for parsing the
+ overriding entity information.
+
+2005-09-01 Vincent Celier <celier@adacore.com>
+
+ * mlib-prj.adb (Copy_Interface_Sources): Copy all interface sources,
+ including those that are inherited.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads, opt.adb: Add new switches Debug_Pragmas_Enabled[_Config]
+
+ * par-prag.adb: Implement new pragma Debug_Policy
+
+ * sem_prag.adb Implement new pragma Debug_Policy
+ (Analyze_Pragma, case Pack): do not let pragma Pack override an explicit
+ Component_Size attribute specification. Give warning for ignored pragma
+ Pack.
+
+ * snames.h, snames.ads, snames.adb: Introduce entries in
+ Preset_Names for Name_Disp_Asynchronous_Select,
+ Name_Disp_Conditional_Select, Name_Disp_Get_Prim_Op_Kind,
+ Name_Disp_Timed_Select.
+ New pragma Debug_Policy
+
+ * switch-c.adb (Scan_Front_End_Switches): Set Ada 2005 mode
+ explicitly.
+ Switch -gnata also sets Debug_Pragmas_Enabled
+
+ * sem.adb, par.adb (Set_Opt_Config_Switch): Add parameter Main_Unit to
+ handle an explicit -gnata when compiling predefined files.
+
+2005-09-01 Vincent Celier <celier@adacore.com>
+
+ * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not add the object
+ directories of projects that have no Ada sources.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb (Check_End_Of_Line): Count characters, rather than bytes
+ (makes a difference for wide characters)
+
+ * widechar.adb, widechar.ads:
+ Add Wide_Char_Byte_Count feature to count chars vs bytes
+
+2005-09-01 Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb (Resolve_Attribute, case 'Address): For an illegal
+ 'Address attribute reference with an overloaded prefix, use the
+ location of the prefix (not the location of the attribute reference) as
+ the error location.
+ (Analyze_Attribute, case 'Size): The name of an enumeration literal, or
+ a function renaming thereof, is a valid prefix for 'Size (where it is
+ intepreted as a function call).
+ (Statically_Denotes_Entity): New predicate to determine whether the
+ prefix of an array attribute can be considered static.
+
+ PR ada/9087
+ (Eval_Attr): Fix failure to evaluate Component_Size for
+ unconstrained arrays (resulted in wrong value in packed case, since
+ back end cannot handle this case)
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * sem_cat.adb (Check_Categorization_Dependencies): Add more detail to
+ error msgs for most common cases.
+ Use new errout insertion char < (conditional warning)
+
+2005-09-01 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (In_Chain): Moved from the scope of a subprogram to
+ become local to the whole package.
+ (Install_Limited_Withed_Unit): Instead of unchaining real entities if
+ the package was already analyzed the new algorithm "replaces" the
+ real entities by the shadow ones. This is required to ensure that
+ the order of these entities in the homonym chains does not change;
+ otherwise we can have undefined references at linking time because
+ in case of conflicts the external name of the entities will have
+ a suffix that depends on the order of the entities in the chain.
+ (Remove_Limited_With_Clause): Complementary code that completes the
+ new algorithm and replaces the shadow entities by the real ones.
+ (Install_Limited_Withed_Unit): When unchaining entities before the
+ installation of the shadow entities, only regular entities of the
+ public part must be taken into account. This is required to
+ keep this routine in synch with the work done by Remove_Limited_
+ With_Clause
+ (Install_Limited_With_Clause): Introduce implicit limited_with_clause
+ even if unit is analyzed, because the analysis of the unit is
+ idempotent in any case, and the limited view of the unit may have to
+ be installed for proper visibility.
+ (Expand_Limited_With_Clause): Even if the unit in the implicit
+ with_clause has been analyzed already, a limited view of the package
+ must be built for the current context, if it does not exist yet.
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Subprogram_Body): When creating the
+ defining entity for the instance body, make a new defining identifier
+ rather than copying the entity of the spec, to prevent accidental
+ sharing of the entity list.
+ (Check_Private_View): When exchanging views of private types, build the
+ list of exchanged views as a stack, to ensure that on exit the exchanges
+ are undone in the proper order.
+ (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
+ Restore the compilation environment in case of instantiation_error.
+ (Analyze_Generic_Subprogram_Declaration): Handle creation of type entity
+ for an anonymous access result.
+ (Instantiate_Generic_Subprogram): Subtype_Mark => Result_Definition
+ (Formal_Entity): Handle properly the case of a formal package that
+ denotes a generic package renaming.
+
+2005-09-01 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Reject the
+ clause if the array aggregate is surrounded by parentheses.
+
+2005-09-01 Cyrille Comar <comar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Go to the
+ underlying type
+ to check if a type is Constrained in cases related to code generation
+ (rather than semantic checking) since otherwise we do not generate
+ similar code for mutable private types depending if their
+ discriminants are visible or not.
+ (Check_Abstract_Overriding): Do not complain about failure to override
+ the primitive operations used in dispatching selects since they will
+ always be overriden at the freeze point of the type.
+ (Access_Definition): Separate out handling for resetting the scope
+ of an anonymous access function result type. Retrieve the scope
+ of the associated function rather than using Current_Scope, which
+ does not have a consistent value (depends on whether we're in the
+ middle of analyzing formal parameters). Add ??? comment about
+ finding a cleaner way to handle the special cases of scope setting.
+ (Process_Incomplete_Dependents): A protected operation is never a
+ dispatching operation (only its wrapper may be).
+ (Build_Derived_Record_Type): In case of tagged private types that
+ implement interfaces add derivation of predefined primitive
+ operations.
+ (Derive_Subprograms): Replace the Is_Interface_Derivation parameter
+ by two parameters that are used in case of derivation from abstract
+ interface types: No_Predefined_Prims is used to avoid the derivation
+ of predefined primitives from the interface, and Predefined
+ Prims_Only is used to complete the derivation predefined primitives
+ in case of private tagged types implementing interfaces.
+ Fix typo in comments
+ (Find_Interface_In_Descendant): Protect the frontend against
+ wrong code with large circularity chains.
+ (Is_Private_Overriding): Add support for entities overriding interface
+ subprograms. The test failed because Entities associated with overriden
+ interface subprograms are always marked as hidden (and used to build
+ the secondary dispatch table); in this case the overriden entity is
+ available through the field abstract_interface_alias (cf. override_
+ dispatching_operation)
+ (Access_Definition): Set the scope of the type to Current_Scope for the
+ case of a function with an anonymous access result type.
+ (Access_Subprogram_Declaration): Handle creation of the type entity for
+ an access-to-function type with an anonymous access result.
+ (Check_Anonymous_Access_Types): Change Subtype_Mark to Result_Definition
+ in handling for N_Access_Function_Definition.
+ (Analyze_Subtype_Declaration): Modify the text of error message.
+ (Derived_Type_Declaration): Modify the text of error message.
+ (Process_Subtype): Modify the text of error message plus cleanup
+ of one redundant error message.
+ (Analyze_Component_Declaration): Code cleanup.
+ (Analyze_Object_Declaration): Code cleanup.
+ (Analyze_Subtype_Declaration): Propagate the null-exclusion
+ attribute in case of access types. Code cleanup.
+ (Array_Type_Declaration): Code cleanup.
+ (Process_Discriminants): Create the new null-excluding itype
+ if required. Code cleanup.
+ (Process_Subtype): Create the new null-excluding itype if
+ required. Code cleanup.
+ (Build_Derived_Record_Type): Code cleanup to avoid calling
+ twice the subprogram derive_subprograms in case of private
+ types that implement interfaces. In this particular case the
+ subprogram Complete_Subprograms_Derivation already does the
+ job associated with the second call.
+
+ * exp_strm.adb (Build_Elementary_Input_Call): Add an explicit
+ conversion to the full view when generating an operation for a
+ discriminant whose type may currently be private.
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch4.adb (Transform_Object_Operation): In a context off the form
+ V (Obj.F), the rewriting does not involve the indexed component, but
+ only the selected component itself.
+ Do not apply the transformation if the analyzed node is an actual of a
+ call to another subprogram.
+ (Complete_Object_Operation): Retain the entity of the
+ dispatching operation in the selector of the rewritten node. The
+ entity will be used in the expansion of dispatching selects.
+ (Analyze_One_Call): Improve location of the error message associated
+ with interface.
+ (Analyze_Selected_Component): No need to resolve prefix when it is a
+ function call, resolution is done when parent node is resolved, as
+ usual.
+ (Analyze_One_Call): Add a flag to suppress analysis of the first actual,
+ when attempting to resolve a call transformed from its object notation.
+ (Try_Object_Operation, Transform_Object_Operastion): Avoid makind copies
+ of the argument list for each interpretation of the operation.
+ (Try_Object_Operation): The designated type of an access parameter may
+ be an incomplete type obtained through a limited_with clause, in which
+ case the primitive operations of the type are retrieved from its full
+ view.
+ (Analyze_Call): If this is an indirect call, and the return type of the
+ access_to_subprogram is incomplete, use its full view if available.
+
+2005-09-01 Javier Miranda <miranda@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch6.ads, sem_ch6.adb (Check_Conformance): In case of anonymous
+ access types the null-exclusion and access-to-constant attributes must
+ also match.
+ (Analyze_Return_Statement): When the result type is an anonymous access
+ type, apply a conversion of the return expression to the access type
+ to ensure that appropriate accessibility checks are performed.
+ (Analyze_Return_Type): For the case of an anonymous access result type,
+ generate the Itype and set Is_Local_Anonymous_Access on the type.
+ Add ??? placeholder for check to disallow returning a limited object
+ in Ada 2005 unless it's an aggregate or a result of a function call.
+ Change calls from Subtype_Mark to Result_Definition.
+ (Analyze_Subprogram_Body): Change formal Subtype_Mark to
+ Result_Definition in call to Make_Function_Specification.
+ (Build_Body_To_Inline): Change Set_Subtype_Mark to
+ Set_Result_Definition.
+ (Make_Inequality_Operator): Change formal Subtype_Mark to
+ Result_Definition in call to Make_Function_Specification.
+ (Process_Formals): Create the new null-excluding itype if required.
+ (New_Overloaded_Entity): For an entity overriding an interface primitive
+ check if the entity also covers other abstract subprograms in the same
+ scope. This is required to handle the general case, that is, overriding
+ other interface primitives and overriding abstract subprograms inherited
+ from some abstract ancestor type.
+ (New_Overloaded_Entity): For an overriding entity that comes from
+ source, note the operation that it overrides.
+ (Check_Conformance, Type_Conformant): Addition of one new formal
+ to skip controlling formals in the analysis. This is used to
+ handle overloading of abstract interfaces.
+ (Base_Types_Match): Add missing case for types imported from
+ limited-with clauses
+ (New_Overloaded_Entity): Add barrier to protect the use of
+ the "alias" attribute.
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration,
+ verify that the procedure and the entry are mode conformant.
+ (Analyze_Subprogram_Renaming): Emit a warning if an operator is renamed
+ as a different operator, which is often a cut-and-paste error.
+
+2005-09-01 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Check_Controlling_Formals): Anonymous access types
+ used in controlling parameters exclude null because it is necessary to
+ read the tag to dispatch, and null has no tag.
+ (Override_Dispatching_Operation): If the previous operation is inherited
+ from an interface, it becomes hidden and does not participate in later
+ name resolution.
+
+2005-09-01 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * sem_res.adb (Resolve_Membership_Op): In case of the membership test
+ "Iface_CW_Typ in T'Class" we have nothing else to do in the frontend;
+ the expander will generate the corresponding run-time check to evaluate
+ the expression.
+ (Resolve_Call): Check for legal type of procedure name or prefix that
+ appears as a trigger in a triggering alternative.
+ (Valid_Conversion): If expression is ambiguous and the context involves
+ an extension of System, remove System.Address interpretations.
+ (Resolve_Qualified_Expression): Reject the case of a specific-type
+ qualification applied to a class-wide argument. Enhance comment
+ to explain checking of Original_Node.
+ (Resolve_Type_Conversion): The location of the error message was not
+ general enough to handle the general case and hence it has been removed.
+ In addition, this patch improves the text of the message.
+ (Resolve_Type_Conversion): Add missing support for access to interface
+ types.
+ (Resolve_Type_Conversion): If the target is a class-wide interface type,
+ do not expand if the expression is the actual in a call, because proper
+ expansion will take place when the call itself is expanded.
+ (Resolve_Allocator): If the context is an unchecked conversion, the
+ allocator inherits its storage pool, if any, from the target type of
+ the conversion.
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_type.adb (Add_One_Interp): If a candidate operation is an
+ inherited interface operation that has an implementation, use the
+ implementation to avoid spurious ambiguities.
+ (Interface_Present_In_Ancestor): In case of concurrent types we can't
+ use the Corresponding_Record_Typ attribute to look for the interface
+ because it is set by the expander (and hence it is not always
+ available). For this reason we traverse the list of interfaces
+ (available in the parent of the concurrent type).
+ (Interface_Present_In_Ancestor): Handle entities from the limited view
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Gather_Components): Omit interface tags
+ from the list of required components.
+ (Is_Controlling_Limited_Procedure): Determine whether an entity is a
+ primitive procedure of a limited interface with a controlling first
+ parameter.
+ (Is_Renamed_Entry): Determine whether an entry is a procedure renaming
+ of an entry.
+ (Safe_To_Capture_Value): A value (such as non_null) is not safe to
+ capture if it is generated in the second operand of a short-circuit
+ operation.
+ Do not capture values for variables with address clauses.
+ (Is_Object_Reference): Treat a function call as an object reference only
+ if its type is not Standard_Void_Type.
+
+2005-09-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied
+ to a variable that is statically known to be constant.
+
+2005-09-01 Geert Bosch <bosch@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * ttypef.ads (VAXDF_Safe_First): Use correct value for constant.
+ (VAXGF_Safe_First): Idem.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * g-dirope.ads: Minor reformatting
+ Document that bounds of result of Base_Name match the input index
+ positions.
+ Add documentation on environment variable syntax for Expand_Path
+
+ * gnat_ugn.texi: Update documentation to include mention of -m switches
+ Document new treatment of wide characters in max line length
+ style check.
+ Remove -gnatL/-gnatZ switches, no longer used.
+ Add note on pragmas Assertion_Policy and Debug_Policy in discussion
+ of -gnata switch.
+
+ * gnat_rm.texi: Add doc for two argument form of pragma
+ Float_Representation.
+ Add documentation for pragma No_Strict_Aliasing
+ Add note that explicit component clause overrides pragma Pack.
+ Add documentation of pragma Debug_Policy
+
+2005-09-01 Matthew Heaney <heaney@adacore.com>
+
+ * a-cihase.adb, a-coorse.ads, a-coorse.adb, a-cohama.adb,
+ a-ciorse.ads, a-ciorse.adb, a-cihama.adb, a-cdlili.adb,
+ a-cidlli.adb, a-chtgop.adb, a-cihase.adb, a-cihase.ads,
+ a-cohase.adb, a-cohase.adb, a-cohase.ads: Synchronized with latest
+ draft (Draft 13, August 2005) of Ada Amendment 1.
+
+2005-09-01 Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in: Adjust the libgnat target pairs for Xscale to ARM.
+ Note that the platform-specific version of g-soccon.ads for VMS is now
+ named g-soccon-vms.ads (it was previously g-soccon-vms.adb, although it
+ really is a package spec).
+ Replace s-taspri-linux.ads by s-taspri-posix.ads
+ Remove references to s-mastop-x86.adb
+
+ * system-vxworks-xscale.ads: Removed, no longer used.
+ * s-vxwork-xscale.ads: Removed, no longer used.
+
+2005-09-01 Robert Dewar <dewar@adacore.com>
+
+ * a-dirval-mingw.adb, a-direct.adb, a-coinve.adb,
+ g-dynhta.adb, g-dynhta.ads, cstand.adb, exp_smem.adb, g-debuti.ads,
+ g-dirope.adb, g-table.adb, lib-sort.adb, sem_maps.adb,
+ exp_fixd.adb, exp_aggr.adb, a-intnam-mingw.ads, a-intnam-vxworks.ads,
+ g-arrspl.adb, g-arrspl.ads, g-awk.adb, g-awk.ads, g-boubuf.ads,
+ g-boubuf.ads, g-boubuf.ads, g-bubsor.ads, g-bubsor.adb, g-busora.adb,
+ g-busora.ads, g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
+ g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads, g-cgi.adb,
+ g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads, g-cgideb.adb, g-cgideb.ads,
+ g-comlin.adb, g-comver.ads, g-semaph.ads, g-socthi.ads,
+ sem_ch7.adb, a-direio.adb, a-caldel.ads, i-cstrea-vms.adb,
+ a-ztedit.adb, a-ztenau.adb, g-socthi-vms.adb, g-socthi-vms.ads,
+ g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.ads,
+ a-intnam-irix.ads, a-intnam-irix.ads, a-intnam-hpux.ads,
+ a-intnam-os2.ads, a-intnam-os2.ads, a-caldel-vms.adb, a-calend-vms.adb,
+ a-calend-vms.ads, g-heasor.adb, g-heasor.ads, g-hesora.adb,
+ g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb, g-htable.ads,
+ g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.ads,
+ g-memdum.adb, g-memdum.ads, g-traceb.adb, g-traceb.ads, i-cobol.adb,
+ i-cobol.ads, i-cstrea.ads, i-cstrin.adb, a-wtedit.adb, a-tifiio.adb,
+ a-wtenau.adb, a-wtenau.adb, a-teioed.adb: Minor reformatting
+
+2005-08-29 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/23187
+ * adaint.c
+ (GNAT_MAXPATH_LEN): Use default value if MAXPATHLEN is undefined.
+
+2005-08-29 Arnaud Charlet <charlet@adacore.com>
+ Doug Rupp <rupp@adacore.com>
+
+ * s-stalib.adb: Add missing pragma Warnings (On) to reenable Warnings
+ when needed.
+ (Inside_Elab_Final_Code): Moved to init.c to avoid having to keep
+ this code in the GNAT run-time.
+
+ * decl.c, fe.h: Replace GCC_ZCX by Back_End_Exceptions.
+
+ PR ada/21053
+ * init.c (__gnat_error_handler [many]): Mark "msg" as const
+ (__gnat_error_handler [HPUX]): Mark siginfo parameter as unused
+
+ (__gnat_inside_elab_final_code): Moved here from
+ Standard_Library and only defined for the compiler.
+ __gnat_error_handler [VMS]: Adjust sigargs to account for PC & PSL.
+ (__gnat_inum_to_ivec): Do not define this function on VxWorks when
+ using RTPs because directly vectored Interrupt routines are not
+ supported on this configuration.
+ (getpid): Do not redefine this function on VxWorks when using RTPs
+ because this primitive is well supported by the RTP libraries.
+ (copy_msg): Correct the code that checks for buffer overflow.
+ Discovered during code reading.
+
+2005-08-29 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Variable>: When allocating storage for
+ a library level mutable variable with an initializer, tell
+ build_allocator to ignore the initializer's size. It may not be large
+ enough for all the values that might be assigned to the variable later
+ on.
+
+2005-08-29 Arnaud Charlet <charlet@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c: Protect < in error msg with quote
+ Replace GCC_ZCX by Back_End_Exceptions.
+ (addressable_p) <COMPONENT_REF>: Also return 1 if the field
+ has been sufficiently aligned in the record.
+
+2005-08-15 James E. Wilson <wilson@specifix.com>
+
+ * system-linux-alpha.ads: Change ia64 to alpha.
+
+2005-08-01 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl.c, utils.c: Fix comment typos.
+
+2005-07-29 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl.c, init.c, initialize.c: Fix comment typos.
+
+2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
+
+ Make CONSTRUCTOR use VEC to store initializers.
+ * decl.c (gnat_to_gnu_entity): Update to cope with VEC in
+ CONSTRUCTOR_ELTS.
+ * trans.c (extract_values): Likewise.
+ * utils.c (convert, remove_conversions): Likewise.
+ * utils2.c (contains_save_expr_p, build_binary_op, build_unary_op,
+ gnat_build_constructor): Likewise.
+
+2005-07-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * decl.c (components_to_record): Use DECL_FCONTEXT instead of
+ DECL_SECTION_NAME.
+ (compare_field_bitpos): Likewise.
+
+2005-07-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * utils.c (create_var_decl): Only set DECL_COMMON on
+ VAR_DECLs. Only set SET_DECL_ASSEMBLER_NAME on
+ VAR_OR_FUNCTION_DECL_P.
+
+2005-07-08 Daniel Berlin <dberlin@dberlin.org>
+
+ * utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is
+ removed.
+
+2005-07-07 Pascal Obry <obry@adacore.com>
+
+ * g-socthi-mingw.adb (C_Inet_Addr): New body used to convert the
+ returned type on Windows.
+
+ * g-socthi-mingw.ads (C_Inet_Addr): Remove pragma Import for this
+ routine.
+
+ * g-socket.adb (Inet_Addr): Check for empty Image and raises an
+ exception in this case.
+ Simplify the code as "Image (Image'Range)" = "Image".
+
+2005-07-07 Vincent Celier <celier@adacore.com>
+
+ * bindgen.adb (Gen_Output_File_C): When switch -a was specified, put
+ the destructor/constructor attributes for <lib>final/<lib>init.
+
+ * gnatbind.adb (Gnatbind): Allow -a to be used in conjunction with -C
+
+2005-07-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not strip the padding
+ type if the parameter is not passed by copy but reference by default.
+
+2005-07-07 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Build_Record_Init_Proc/Freeze_Record_Type):
+ Reimplementation of the support for abstract interface types in order
+ to leave the code more clear and easy to maintain.
+
+ * exp_ch6.adb (Freeze_Subprogram): Reimplementation of the support for
+ abstract interface types in order to leave the code clearer and easier
+ to maintain.
+
+ * exp_disp.ads, exp_disp.adb (Fill_DT_Entry): Part of its functionality
+ is now implemented by the new subprogram Fill_Secondary_DT_Entry.
+ (Fill_Secondary_DT_Entry): Generate the code necessary to fill the
+ appropriate entry of the secondary dispatch table.
+ (Make_DT): Add code to inherit the secondary dispatch tables of
+ the ancestors.
+
+ * exp_util.adb (Find_Interface_Tag/Find_Interface_ADT): Instead of
+ implementing both functionalities by means of a common routine, each
+ routine has its own code.
+
+2005-07-07 Javier Miranda <miranda@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Check wrong uses of tag incomplete types.
+
+ * par-ch3.adb (P_Type_Declaration): Give support to tagged incomplete
+ types:
+ --
+ type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
+ --
+
+ * sem_attr.adb (Check_Not_Incomplete_Type): Additional checks for wrong
+ use of tag incomplete types.
+
+ * sem_ch3.adb (Analyze_Incomplete_Type): Add mininum decoration to
+ give support to tagged incomplete types.
+
+ * sem_ch5.adb (Analyze_Case_Statement): In generated code, if the
+ expression is a discriminant reference and its type is private, as can
+ happen within a stream operation for a mutable record, use the full
+ view of the type to resolve the case alternatives.
+ (Analyze_Assignment): Check wrong dereference of incomplete types.
+
+ * sem_ch6.adb (Process_Formals): Allow the use of tagged incomplete
+ types.
+
+ * sem_res.adb (Resolve_Explicit_Dereference): Allow the use of tagged
+ incomplete types.
+
+ * sinfo.adb (Taggged_Present/Set_Taggged_Present): Applicable to
+ N_Incomplete_Type_Declaration nodes.
+
+ * sinfo.ads (N_Incomplete_Type_Declaration): Addition of attribute
+ Tag_Present to give support to tagged incomplete types:
+ --
+ type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
+ --
+
+2005-07-07 Olivier Hainque <hainque@adacore.com>
+
+ PR ada/22301
+ * raise.c: Only include unwind.h if IN_RTS, and provide dummy type
+ definitions for the Unwind wrappers in the compiler case.
+
+2005-07-07 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * par-load.adb (Load): If a child unit is loaded through a limited_with
+ clause, each parent must be loaded as a limited unit as well.
+
+ * sem_ch10.adb (Previous_Withed_Unit): Better name for
+ Check_Withed_Unit. Return true if there is a previous with_clause for
+ this unit, whether limited or not.
+ (Expand_Limited_With_Clause): Do not generate a limited_with_clause on
+ the current unit.
+ (Is_Visible_Through_Renamings): New local subprogram of install_limited
+ _withed_unit that checks if some package installed through normal with
+ clauses has a renaming declaration of package whose limited-view is
+ ready to be installed. This enforces the check of the rule 10.1.2 (21/2)
+ of the current Draft document for Ada 2005.
+ (Analyze_Context): Complete the list of compilation units that
+ are allowed to contain limited-with clauses. It also contains
+ checks that were previously done by Install_Limited_Context_Clauses.
+ This makes the code more clear and easy to maintain.
+ (Expand_Limited_With_Clause) It is now a local subprogram of
+ Install_Limited_Context_Clauses, and contains the code that adds
+ the implicit limited-with clauses for parents of child units.
+ This functionality was prevously done by Analyze_Context.
+
+ * sem_ch4.adb (Analyze_Selected_Component): Check wrong use of
+ incomplete type.
+
+ * sem_ch7.adb (Analyze_Package_Declaration): Check if the package has
+ been erroneously named in a limited-with clause of its own context.
+ In this case the error has been previously notified by Analyze_Context.
+
+2005-07-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Direct_Name): Handle properly the case of a
+ generic package that contains local declarations with the same name.
+ (Analyze_Object_Renaming): Check wrong renaming of incomplete type.
+
+2005-07-07 Bernard Banner <banner@adacore.com>
+
+ * tracebak.c: Refine tracebacks to use Unwind_Backtrace scheme on
+ ia64 platform only on platforms that you the GCC unwind library
+ rather than the system unwind library.
+
+2005-07-07 Thomas Quinot <quinot@adacore.com>
+
+ * expect.c: Minor reformatting
+
+2005-07-07 Sergey Rybin <rybin@adacore.com>
+
+ * vms_data.ads: Add VMS qualifiers for new gnatpp switch
+ --no-separate-is
+
+ * gnat_ugn.texi: Add description for new gnatpp option
+ (--no-separate-is)
+
+2005-07-04 Thomas Quinot <quinot@adacore.com>
+
+ * g-expect-vms.adb, g-expect.ads, g-expect.adb
+ (Get_Command_Output): New subprogram to launch a process and get its
+ standard output as a string.
+
+2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to
+ fetch a code-range descriptor associated with the machine state. On
+ failure set the machine state's PC to 0; on success, pass the
+ descriptor to exc_virtual_unwind.
+
+ * init.c (Tru64 section): New function __gnat_set_code_loc.
+
+2005-07-04 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+ mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
+ mlib-tgt-mingw.adb, mlib-tgt-darwin.adb (Build_Dynamic_Library):
+ Remove all auto-initialization code, as this is now done through the
+ constructor mechanism.
+
+ * adaint.h, adaint.c (__gnat_binder_supports_auto_init,
+ __gnat_sals_init_using_constructors): New functions.
+
+ * bindgen.adb (Gen_Output_File_Ada): Generate pragmas
+ Linker_Constructor and Linker_Destructor when switch -a is used.
+
+ * bindusg.adb: Add line for new switch -a
+
+ * gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
+ (Gnatbind): When switch -a is used, check if it is allowed
+
+ * switch-b.adb (Scan_Binder_Switches): Process new switch -a
+
+2005-07-04 Joel Brobecker <brobecker@adacore.com>
+
+ * a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
+ This prevents us from hitting a limitation during the debug info
+ generation when using stabs.
+ (Prims_Ptr): Likewise.
+
+2005-07-04 Gary Dismukes <dismukes@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * checks.adb (Null_Exclusion_Static_Checks): In the case of
+ N_Object_Declaration, only perform the checks if the Object_Definition
+ is not an Access_Definition.
+
+ * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
+ where the parent of an the access definition is an N_Object_Declaration
+ when determining the Associated_Node_For_Itype and scope of an
+ anonymous access-to-subprogram type.
+
+ * exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
+ Corresponding_Spec on the body created for a null procedure. Add ???
+ comment. Remove New_Copy_Tree call on body argument to
+ Set_Body_To_Inline.
+
+ * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with
+ discriminants, use the type of the actual as well, because the
+ discriminants may be read by the called subprogram.
+
+ * sem_ch3.adb (Access_Type_Declaration): If the designated type is an
+ access type we do not need to handle non-limited views.
+ (Build_Derived_Record_Type): Additional check to check that in case of
+ private types, interfaces are only allowed in private extensions.
+
+2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
+ <Pragma_Linker_Destructor>: Likewise.
+
+ * einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
+ Pragma_Linker_Destructor.
+
+ * gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
+ ATTR_LINK_DESTRUCTOR.
+ (static_ctors, static_dtors): New variables.
+
+ * misc.c (gnat_expand_body): Output current function as constructor
+ and destructor if requested.
+
+ * par-prag.adb: Add processing for pragma Linker_Constructor and
+ Linker_Destructor.
+
+ * sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
+ extracted from Check_Interrupt_Or_Attach_Handler.
+ (Check_Interrupt_Or_Attach_Handler): Invoke it.
+ Implement pragma Linker_Constructor and Linker_Destructor with the
+ help of Find_Unique_Parameterless_Procedure.
+ Replace Name_Alias with Name_Target for pragma Linker_Alias.
+
+ * snames.h, snames.ads, snames.adb:
+ Add Name_Linker_Constructor and Name_Linker_Destructor.
+ Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
+ * snames.adb: Remove Name_Alias.
+
+ * trans.c: Include cgraph.h.
+ (build_global_cdtor): New function.
+ (Compilation_Unit_to_gnu): Build global constructor and destructor if
+ needed.
+ (tree_transform) <N_Identifier>: Substitute renaming of view-conversions
+ of objects too.
+ (addressable_p) <COMPONENT_REF>: Unconditionally test
+ DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.
+
+ * utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
+ variable if it is external.
+
+ (static_ctors, static_dtors): New global variables.
+ (process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
+ <ATTR_LINK_DESTRUCTOR>: Likewise.
+ (end_subprog_body): Chain function as constructor and destructor
+ if requested.
+
+ * exp_util.adb (Force_Evaluation): Unconditionally invoke
+ Remove_Side_Effects with Variable_Ref set to true.
+ (Remove_Side_Effects): Handle scalar types first. Use a renaming
+ for non-scalar types even if Variable_Ref is true and for class-wide
+ expressions.
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_attr.adb (Mod): Evaluate condition expression with checks off,
+ to prevent spurious warnings.
+
+2005-07-04 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for
+ Itypes. Itypes are really unexpected there.
+ (Build_TypeCode_Function): Generalise special processing for Itypes to
+ handle the case of numeric implicit base types as well as enumerated
+ ones.
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
+ controlled, indicate the expected type of the dereference that is
+ created for the call to Deep_Finalize, to prevent spurious errors when
+ the designated type is private and completed with a derivation from
+ another private type.
+
+2005-07-04 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Change_To_Object_Directory): When unable to change the
+ current dir to the object directory, output the full path of the
+ directory.
+
+2005-07-04 Matthew Gingell <gingell@adacore.com>
+
+ * Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adb
+
+ * indepsw-linux.adb: Replace by...
+
+ * indepsw-gnu.adb: ...this new file
+
+2005-07-04 Vincent Celier <celier@adacore.com>
+
+ * mlib-prj.adb (Auto_Initialize): New constant String
+ (SALs_Use_Constructors): New Boolean function
+ (Build_Library): Call gnatbind with Auto_Initialize switch when
+ SALs_Use_Constructors returns True.
+
+ * mlib-tgt.ads: Minor reformatting
+
+ * mlib-utl.ads: Minor reformatting
+
+ * opt.ads: (Use_Pragma_Linker_Constructor): New Boolean flag
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch9.adb (P_Task, P_Protected): Indicate that single task and
+ single protected declarations can have an interface list.
+ (P_Entry_Declaration): Add handler for Error_Resync, which can be raised
+ with seriously malformed entry declarations, and lead to compilation
+ abandoned messages.
+
+2005-07-04 Javier Miranda <miranda@adacore.com>
+
+ * par-load.adb: Load the context items in two rounds.
+
+2005-07-04 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb: Do not consider Mod used as an attribute to be a keyword
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ * sem_ch10.adb (Build_Limited_Views): A type declared with a private
+ type extension needs a limited view.
+ Remove previous restriction on private types available through the
+ limited-view (only tagged private types were previously allowed).
+ (Install_Withed_Unit): In the code that implements the
+ legality rule given in AI-377, exclude a child unit with the name
+ Standard, because it is a homonym of the Standard environment package.
+
+2005-07-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch4.adb (Transform_Object_Operation): For an actual that is an
+ overloaded function call, carry interpretations from the original tree
+ to the copy.
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Conforming_Types): If the types are anonymous access
+ types check whether some designated type is a limited view, and use
+ the non-limited view if available.
+
+2005-07-04 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_eval.adb (Subtypes_Statically_Match): Use the discriminant
+ constraint of full view of a private view T1 if present, when T2 is a
+ discriminated full view.
+
+2005-07-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): Do not resolve the expression of an
+ actual that is a view conversion of a bit packed array reference.
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_type.adb (Covers): Verify that Corresponding_Record_Type is
+ present before checking whether an interface type covers a synchronized
+ type.
+
+2005-07-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Is_Object_Reference): An indexed or selected component
+ whose prefix is an implicit dereference is an object reference. Removes
+ spurious errors when compiling with -gnatc.
+
+2005-07-04 Robert Dewar <dewar@adacore.com>
+
+ PR ada/22039
+ * s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix
+
+2005-07-04 Matthew Gingell <gingell@adacore.com>
+
+ * tracebak.c: Enable tracebacks on ia64 platforms
+
+2005-07-04 Vincent Celier <celier@adacore.com>
+
+ * vms_conv.adb (Initialize): Allow multiple ALI files to be given to
+ the GNAT BIND command, as gnatbind accepts multiples ALI files with
+ the -L or -n switches.
+
+2005-07-04 Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Build_Global_Archive): Make sure the list of sources is
+ correctly computed and the main project data is not modified while
+ doing so.
+ (Add_C_Plus_Plus_Link_For_Gnatmake): Always link with the C++ compiler
+ (Choose_C_Plus_Plus_Link_Process): Do not generate shell script
+ c++linker as this does not work on some platforms.
+
+2005-07-04 Matthew Heaney <heaney@adacore.com>
+
+ * a-convec.ads, a-coinve.ads: Declaration of subtype Extended_Index
+ was changed.
+ * a-coinve.adb: Perform constraint checks explicitly.
+
+2005-07-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Thomas Quinot <quinot@adacore.com>
+
+ * Make-lang.in: (ada/targtyps.o): Add missing TREE_H dependency.
+ new target gen-soccon.
+
+2005-07-04 Robert Dewar <dewar@adacore.com>
+
+ * s-mastop-irix.adb, s-mastop-vms.adb: Minor reformatting
+
+2005-07-04 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.ads (Check_Selector): Minor rewording of comment.
+
+2005-07-04 Vincent Celier <celier@adacore.com>
+
+ * vms_data.ads: Add VMS qualifiers for new gnatpp switch --eol=
+
+2005-07-04 Thomas Quinot <quinot@adacore.com>
+
+ * gen-soccon.c: Add constants SO_SNDTIMEO and SO_RCVTIMEO.
+
+2005-07-04 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Add description of --eol gnatpp option
+
+2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi: Add a note that pragma Unreferenced is not appropriate
+ if the user wants all calls of a subprogram to be flagged,
+ independently of whether they are made from within the same unit or
+ another unit.
+ Mention restriction for pragma Linker_Alias on some platforms.
+ Document pragma Linker_Constructor and Linker_Destructor.
+ Rewrite documentation of Weak_External, Linker_Section and
+ Linker_Alias pragmas.
+
+2005-07-04 Arnaud Charlet <charlet@adacore.com>
+
+ * s-stausa.ads, s-stausa.adb: New files.
+
+2005-06-30 Kelley Cook
+
+ * all files: Update FSF address in copyright headers.
+ * gen-soccon.co (main): Output new FSF address in generated files.
+
+2005-06-28 Paul Brook <paul@codesourcery.com>
+
+ * misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
+
+2005-06-14 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-mastop-irix.adb (Pop_Frame): Revert shorcuts avoiding calls to
+ exc_unwind, now that we are generating proper .debug_frame output for
+ that target.
+
+ * tracebak.c: Remove the mips-irix section, as we are now using the
+ s-mastop based unwinder again.
+ Under SPARC/Solaris, take into account the stack bias to compute the
+ frame offset. The stack bias is 0 for the V8 ABI and 2047 for the V9
+ ABI.
+
+2005-06-14 Doug Rupp <rupp@adacore.com>
+
+ * g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
+
+ * g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb: New files
+
+2005-06-14 Pascal Obry <obry@adacore.com>
+
+ * a-strhas.ads, a-secain.adb, a-secain.ads, a-rbtgso.ads, a-cgaaso.adb,
+ a-cgaaso.ads, a-cgarso.adb, a-cgcaso.adb, a-cgarso.ads, a-cgcaso.ads,
+ a-contai.ads, a-coprnu.ads, a-coprnu.adb: Fix header style (spaces in
+ package name).
+
+ * a-intnam-lynxos.ads, a-intnam-unixware.ads, a-intnam-tru64.ads,
+ a-intnam-aix.ads, a-intnam-irix.ads, a-excpol-interix.adb,
+ a-intnam-hpux.ads, a-intnam-linux.ads, a-intnam-dummy.ads,
+ a-intnam-os2.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
+ a-intnam-solaris.ads, a-caldel-vms.adb, a-calend-vms.ads,
+ a-intnam-vms.ads, a-excpol-abort.adb, a-intnam-mingw.ads,
+ a-intnam-vxworks.ads, a-numaux-vxworks.ads, s-osinte-unixware.adb,
+ s-osinte-unixware.ads, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads,
+ s-osinte-hpux.ads, s-osinte-solaris-posix.ads, a-intnam-freebsd.ads,
+ s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb,
+ s-osinte-lynxos.ads, s-tpopsp-lynxos.adb, s-osinte-tru64.adb,
+ s-osinte-tru64.ads, s-tpopsp-posix-foreign.adb, s-vxwork-alpha.ads,
+ s-osinte-aix.adb, s-osinte-aix.ads, s-osinte-aix-fsu.ads,
+ s-osinte-irix.adb, s-osinte-irix.ads, s-interr-sigaction.adb,
+ s-osinte-irix-athread.ads, s-osinte-hpux-dce.adb,
+ s-osinte-hpux-dce.ads, s-osinte-posix.adb, s-osinte-linux.ads,
+ s-vxwork-m68k.ads, s-osinte-linux-fsu.ads, s-vxwork-mips.ads,
+ s-osinte-dummy.ads, s-interr-dummy.adb, s-osinte-os2.adb,
+ s-osinte-os2.ads, s-osprim-os2.adb, s-osinte-interix.ads,
+ s-osprim-unix.adb, s-vxwork-ppc.ads, s-osinte-solaris.adb,
+ s-osinte-solaris.ads, s-osprim-solaris.adb, s-tpopsp-solaris.adb,
+ s-vxwork-sparcv9.ads, s-osinte-solaris-fsu.ads, s-interr-vms.adb,
+ s-osinte-vms.adb, s-osinte-vms.ads, s-osprim-vms.adb,
+ s-osprim-vms.ads, s-tpopde-vms.adb, s-tpopde-vms.ads,
+ s-osprim-mingw.adb, s-vxwork-xscale.ads, s-interr-vxworks.adb,
+ s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
+ s-tfsetr-vxworks.adb, s-tpopsp-vxworks.adb, s-intman-posix.adb,
+ s-osinte-fsu.adb, s-osprim-posix.adb, s-tfsetr-default.adb,
+ s-tpopsp-posix.adb, s-traces-default.adb, s-trafor-default.adb,
+ s-trafor-default.ads, s-tratas-default.adb, a-numaux-x86.adb,
+ a-numaux-x86.ads, a-astaco.adb, a-astaco.ads, a-caldel.adb,
+ a-caldel.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads, a-colien.adb,
+ a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-cwila1.ads,
+ a-cwila9.ads, ada.ads, a-decima.adb, a-diocst.ads, a-direio.adb,
+ a-dynpri.adb, a-dynpri.ads, a-excpol.adb, a-flteio.ads, a-fwteio.ads,
+ a-inteio.ads, a-interr.adb, a-intnam.ads, a-intsig.adb, a-intsig.ads,
+ a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
+ a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads,
+ a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads, a-ngcoty.adb, a-ngelfu.adb,
+ a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
+ a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads,
+ a-nucoty.ads, a-nudira.adb, a-nuelfu.ads, a-nuflra.adb, a-numaux.ads,
+ a-numeri.ads, a-reatim.adb, a-retide.adb, a-retide.ads, a-sequio.adb,
+ a-sequio.ads, a-sfteio.ads, a-sfwtio.ads, a-siocst.ads, a-siteio.ads,
+ a-siwtio.ads, a-ssicst.ads, a-ssitio.ads, a-ssiwti.ads, a-stmaco.ads,
+ a-storio.adb, a-strbou.adb, a-strfix.adb, a-string.ads, a-strmap.adb,
+ a-strsea.adb, a-strsup.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
+ a-stunau.ads, a-stwibo.adb, a-stwifi.adb, a-stwifi.ads, a-stwima.adb,
+ a-stwise.adb, a-stwisu.adb, a-suteio.adb, a-suteio.ads, a-swuwti.adb,
+ a-swuwti.ads, a-teioed.adb, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb,
+ a-tideau.adb, a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
+ a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinio.adb, a-timoau.adb,
+ a-timoio.adb, a-timoio.ads, a-tiocst.ads, a-titest.adb, a-titest.ads,
+ a-witeio.adb, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
+ a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtenau.adb, a-wtenio.adb,
+ a-wtfiio.adb, a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
+ a-wtinio.ads, a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, calendar.ads,
+ dec.ads, dec-io.adb, dec-io.ads, directio.ads, errno.c, g-bubsor.adb,
+ g-bubsor.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
+ g-casuti.adb, g-casuti.ads, g-debuti.ads, g-heasor.adb, g-heasor.ads,
+ g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb,
+ g-htable.ads, g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
+ g-memdum.adb, g-memdum.ads, g-sestin.ads, g-signal.ads, g-signal.adb,
+ gnat.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-table.adb,
+ g-table.ads, g-thread.adb, g-thread.ads, ioexcept.ads, i-vxwoio.adb,
+ i-vxwoio.ads, math_lib.adb, s-assert.adb, s-assert.ads, s-asthan.ads,
+ s-bitops.adb, s-bitops.ads, s-boarop.ads, s-carsi8.adb, s-carsi8.ads,
+ s-carun8.adb, s-carun8.ads, s-casi16.adb, s-casi16.ads, s-casi32.adb,
+ s-casi32.ads, s-casi64.adb, s-casi64.ads, s-casuti.adb, s-casuti.ads,
+ s-caun16.adb, s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
+ s-caun64.ads, s-direio.adb, s-direio.ads, sequenio.ads, s-errrep.adb,
+ s-errrep.ads, s-exnint.adb, s-exnint.ads, s-exnllf.adb, s-exnllf.ads,
+ s-exnlli.adb, s-exnlli.ads, s-expint.adb, s-expint.ads, s-explli.adb,
+ s-explli.ads, s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
+ s-expuns.adb, s-expuns.ads, s-fore.adb, s-fore.ads, s-geveop.adb,
+ s-geveop.ads, s-htable.adb, s-htable.ads, s-imgbiu.adb, s-imgbiu.ads,
+ s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
+ s-imgdec.ads, s-imgenu.adb, s-imgenu.ads, s-imgint.adb, s-imgint.ads,
+ s-imgllb.adb, s-imgllb.ads, s-imglld.adb, s-imglld.ads, s-imglli.adb,
+ s-imglli.ads, s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
+ s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwiu.adb, s-imgwiu.ads
+ s-interr.ads, s-io.adb, s-mantis.adb, s-mantis.ads, s-osprim.ads,
+ s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb,
+ s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
+ s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb,
+ s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads,
+ s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb,
+ s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
+ s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb,
+ s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads,
+ s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb,
+ s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
+ s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb,
+ s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads,
+ s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb,
+ s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
+ s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb,
+ s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads,
+ s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb,
+ s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
+ s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb,
+ s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads,
+ s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb,
+ s-pack59.ads, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
+ s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-scaval.adb,
+ s-scaval.ads, s-sequio.adb, s-sequio.ads, s-stache.adb, s-stache.ads,
+ s-stratt.adb, s-stratt.ads, s-strcom.adb, s-strcom.ads, s-strops.adb,
+ s-strops.ads, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb,
+ s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
+ s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, s-tasini.adb,
+ s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
+ s-tasren.ads, s-tasres.ads, s-tassta.adb, s-tassta.ads, s-tasuti.adb,
+ s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
+ s-tpoben.adb, s-tpoben.ads, s-tpobop.ads, s-tporft.adb, s-tposen.ads,
+ s-traces.adb, s-traces.ads, s-tratas.adb, s-tratas.ads, s-valint.ads,
+ s-unstyp.ads, s-veboop.adb, s-veboop.ads, s-vector.ads, s-vercon.adb,
+ s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchjis.adb, s-wchjis.ads,
+ s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
+ s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads,
+ s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-wwdcha.ads,
+ s-wwdenu.adb, s-wwdwch.ads, text_io.ads, s-stchop.ads, s-stchop.adb,
+ s-stchop-vxworks.adb, a-intnam-darwin.ads, s-osinte-darwin.adb,
+ s-osinte-darwin.ads, s-vxwork-x86.ads, a-numaux-darwin.ads,
+ a-numaux-darwin.adb, a-chzla1.ads, a-chzla9.ads, a-lfztio.ads,
+ a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads,
+ a-ssizti.ads, a-stzbou.adb, a-stzfix.adb, a-stzfix.ads, a-stzmap.adb,
+ a-stzsea.adb, a-stzsup.adb, a-swunau.adb, a-swunau.ads, a-szuzti.adb,
+ a-szuzti.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads,
+ a-ztcoio.adb, a-ztcoio.ads, a-ztcstr.ads, a-ztdeau.adb, a-ztdeio.adb,
+ a-ztenio.adb, a-ztexio.adb, a-ztfiio.adb, a-ztflio.adb, a-ztgeau.adb,
+ a-ztinau.adb, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb, a-ztmoio.adb,
+ a-zttest.adb, a-zzunio.ads, g-utf_32.adb: Fix header style.
+ "GNU Ada" to GNAT, use proper casing for RUN-TIME.
+
+2005-06-14 Jose Ruiz <ruiz@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * a-sytaco.ads, a-sytaco.adb (Suspension_Object): These objects are no
+ longer protected objects. They have been replaced by lower-level
+ suspension objects made up by a mutex and a condition variable (or
+ their equivalent given a particular OS) plus some internal data to
+ reflect the state of the suspension object.
+ (Initialize, Finalize): Add this initialization procedure for
+ Suspension_Object, which is a controlled type.
+ (Finalize): Add the finalization procedure for Suspension_Object,
+ which is a controlled type.
+
+ * a-sytaco-vxworks.ads, a-sytaco-vxworks.adb: Remove this version of
+ Ada.Synchronous_Task_Control because there is no longer a need for a
+ VxWorks specific version of this package. Target dependencies
+ has been moved to System.Task_Primitives.Operations.
+
+ * s-osinte-mingw.ads (pCRITICAL_SECTION): Remove this type which is no
+ longer needed.
+ (InitializeCriticalSection, EnterCriticalSection,
+ LeaveCriticalSection, DeleteCriticalSection): Replace the type
+ pCriticalSection by an anonymous access type so that we avoid problems
+ of accessibility to local objects.
+
+ * s-taprop.ads, s-taprop-posix.adb, s-taprop-vxworks.adb,
+ s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
+ s-taprop-os2.adb, s-taprop-dummy.adb, s-taprop-hpux-dce.adb,
+ s-taprop-linux.adb, s-taprop-irix.adb, s-taprop-irix-athread.adb,
+ s-taprop-tru64.adb, s-taprop-lynxos.adb (Elaboration Code): No longer
+ set the environment task mask here.
+ (Current_State): Add this function that returns the state of the
+ suspension object.
+ (Set_False): Add this procedure that sets the state of the suspension
+ object to False.
+ (Set_True): Add this procedure that sets the state of the suspension
+ object to True, releasing the task that was suspended, if any.
+ (Suspend_Until_True): Add this procedure that blocks the calling task
+ until the state of the object is True. Program_Error is raised if
+ another task is already waiting on that suspension object.
+ (Initialize): Add this procedure for initializing the suspension
+ object. It initializes the mutex and the condition variable which are
+ used for synchronization and queuing, and it sets the internal state
+ to False.
+ (Finalize): Add this procedure for finalizing the suspension object,
+ destroying the mutex and the condition variable.
+
+ * s-taspri-posix.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
+ s-taspri-vms.ads, s-taspri-solaris.ads, s-taspri-os2.ads,
+ s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-linux.ads,
+ s-taspri-tru64.ads, s-taspri-lynxos.ads (Suspension_Object): New object
+ which provides a low-level abstraction (using operating system
+ primitives) for Ada.Synchronous_Task_Control.
+ This object is made up by a mutex (for ensuring mutual exclusion), a
+ condition variable (for queuing threads until the condition is
+ signaled), a Boolean (State) indicating whether the object is open,
+ and a Boolean (Waiting) reflecting whether there is a task already
+ suspended on this object.
+
+ * s-intman.ads, s-intman-irix.adb, s-intman-irix-athread.adb,
+ s-intman-dummy.adb, s-intman-solaris.adb, s-intman-vms.adb,
+ s-intman-vms.ads, s-intman-mingw.adb,
+ (Initialize_Interrupts): Removed, no longer used.
+
+ * s-inmaop-posix.adb, s-inmaop-vms.adb, s-inmaop-dummy.adb,
+ (Setup_Interrupt_Mask): New procedure.
+
+ * s-intman-vxworks.ads, s-intman-vxworks.adb: Update comments.
+
+ * s-inmaop.ads (Setup_Interrupt_Mask): New procedure
+
+ * s-interr.adb: Add explicit call to Setup_Interrupt_Mask now that
+ this is no longer done in the body of s-taprop
+ (Server_Task): Explicitely test for Pending_Action in case
+ System.Parameters.No_Abort is True.
+
+ * s-taasde.adb: Add explicit call to Setup_Interrupt_Mask now that this
+ is no longer done in the body of s-taprop
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
+ system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
+ system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
+ system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
+ system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
+ system-linux-x86.ads, system-vxworks-mips.ads, system-vxworks-mips.ads,
+ system-os2.ads, system-interix.ads, system-solaris-sparc.ads,
+ system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
+ system-vms-zcx.ads, system-vxworks-ppc.ads, system.ads,
+ system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads,
+ system-linux-hppa.ads, system-vms_64.ads,
+ system-vxworks-alpha.ads: Minor comment update for
+ AI-362 (unit is Pure).
+
+ * a-chahan.ads, a-chahan.adb: Move Wide_Wide functions to Conversions
+ Add pragma Pure_05 for AI-362
+ Make remaining conversion functions obsolescent in Ada 95
+
+ * impunit.adb: Change a-swunha to a-swuwha and a-szunha to a-szuzha
+ Make Ada.Wide_Characters[.Unicode] available in Ada 95 mode
+ Add entries for a-wichun and a-zchuni
+ Add a-widcha a-zchara for AI-395
+ Add a-chacon (Ada.Characters.Conversions) to list of Ada 2005 routines
+
+ * Makefile.rtl: Change a-swunha to a-swuwha and a-szunha to a-szuzha
+ Add entries for a-wichun.o and a-zchuni.o
+ Entries for a-widcha.o and a-zchara.o
+ Add entry for a-chacon.o
+
+ * a-ztenau.adb: Add with of Ada.Characters.Conversions
+
+ * a-chacon.ads, a-chacon.adb: New files.
+
+ * a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
+ categorization violations.
+
+ * a-strmap.ads: Add pragma Pure_05 for AI-362
+ * a-strmap.ads: Add note on implicit categorization for AI-362
+
+ * a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
+
+ * par-prag.adb: Dummy entry for pragma Persistent_BSS
+ Set Ada_Version_Explicit, for implementation of AI-362
+ Add processing for pragma Pure_05 and Preelaborate_05
+ Add entry for Assertion_Policy pragma
+
+ * sem.adb: Make sure predefined units are compiled with GNAT_Mode true
+ when needed for proper processing of categorization stuff
+
+ * sem_cat.adb:
+ For several cases, make errors in preealborate units warnings,
+ instead of errors, if GNAT_Mode is set. For AI-362.
+
+ * sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
+ preelaborate unit is now warning if in GNAT mode
+
+ * s-stoele.ads: Document AI-362 for pragma preelaborate
+
+2005-06-14 Doug Rupp <rupp@adacore.com>
+
+ * s-parame-vms.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads,
+ s-parame-ae653.ads, s-parame.ads, s-parame-vxworks.ads:
+ Default_Exception_Msg_Max_Length: new parameter.
+
+ * a-except.ads: (Exception_Msg_Max_Length): Set to
+ System.Parameters.Default_Exception_Msg_Max_Length
+ Add pragma Preelaborate_05 for AI-362
+ Add warnings off to allow categorization violations for AI-362
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * gnatsym.adb: Adapt to modification of package Symbols: procedure
+ Process is now in package Processing.
+
+ * symbols.ads, symbols.adb:
+ (Processing): New package, containing procedure Process
+
+ * symbols-vms-alpha.adb:
+ Replaced by symbols-vms.adb and symbols-processing-vms-alpha.adb
+
+ * symbols-vms.adb, symbols-processing-vms-alpha.adb,
+ symbols-processing-vms-ia64.adb: New files.
+
+2005-06-14 Pascal Obry <obry@adacore.com>
+
+ * mlib-tgt-mingw.adb (Build_Dynamic_Library): Replace the previous
+ implementation. This new version generates the proper DllMain routine
+ to initialize the SAL. The DllMain is generated in Ada and compiled
+ before being added as option to the library build command.
+
+2005-06-14 Doug Rupp <rupp@adacore.com>
+ Pascal Obry <obry@adacore.com>
+
+ * adaint.c (__gnat_to_canonical_file_spec): Check for error returns in
+ call to decc$translate_vms.
+ (__gnat_locate_regular_file): Check if the path_val contains quotes. We
+ need to remove those quotes before catenating the filename.
+ (__gnat_locate_exec_on_path): improvements to the Win32 section:
+ * avoid allocating the memory twice for better efficiency;
+ * allocate 32K buffer for environment expansion as suggested by MSDN;
+ * prepend ".;" to the path so that current directory is searched too.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * a-except.adb (Exception_Identity): return Null_Id for null occurrence
+ instead of raising CE (AI-241)
+ Add warnings off to allow categorization violations for AI-362
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * ali-util.adb, gnatbind.adb: Remove references to
+ Force_RM_Elaboration_Order.
+
+ * switch-b.adb: Remove recognition of -f switch
+
+2005-06-14 Pascal Obry <obry@adacore.com>
+
+ * a-stzunb.adb, a-stwiun.adb, a-strunb.adb (Realloc_For_Chunk): New
+ implementation which is slightly more efficient.
+
+2005-06-14 Gary Dismukes <dismukes@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_Allocator_Expression): When an initialized
+ allocator's designated type is a class-wide type, and compiling for
+ Ada 2005, emit a run-time check that the accessibility level of the
+ type given in the allocator's expression is not deeper than the level
+ of the allocator's access type.
+
+ (Tagged_Membership): Modified to gives support to abstract interface
+ types.
+
+ * a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
+ Access_Level.
+ (Descendant_Tag): New predefined function
+ (Is_Descendant_At_Same_Level): New predefined function
+ (Get_Access_Level): New private function
+ (Set_Access_Level): New private procedure
+ (IW_Membership): New function. Given the tag of an object and the tag
+ associated with an interface, evaluate if the object implements the
+ interface.
+ (Register_Interface_Tag): New procedure used to initialize the table of
+ interfaces used by the IW_Membership function.
+ (Set_Offset_To_Top): Initialize the Offset_To_Top field in the prologue
+ of the dispatch table.
+ (Inherit_TSD): Modified to copy the table of ancestor tags plus the
+ table of interfaces of the parent.
+ (Expanded_Name): Raise Tag_Error if the passed tag equals No_Tag.
+ (External_Tag): Raise Tag_Error if the passed tag equals No_Tag.
+ (Parent_Tag): Return No_Tag in the case of a root-level tagged type,
+ and raise Tag_Error if the passed tag equalis No_Tag, to conform with
+ Ada 2005 semantics for the new predefined function.
+
+ * exp_attr.adb (Expand_N_Attribute, case Attribute_Input): Generate
+ call to Descendant_Tag rather than Internal_Tag.
+ (Expand_N_Attribute, case Attribute_Output): Emit a check to ensure that
+ the accessibility level of the attribute's Item parameter is not deeper
+ than the level of the attribute's prefix type. Tag_Error is raised if
+ the check fails. The check is only emitted for Ada_05.
+ (Find_Stream_Subprogram): If a TSS exists on the type itself for the
+ requested stream attribute, use it.
+ (Expand_N_Attribute_Reference): If the designated type is an interface
+ then rewrite the referenced object as a conversion to force the
+ displacement of the pointer to the secondary dispatch table.
+ (Expand_N_Attribute_Reference, case 'Constrained): Return false if this
+ is a dereference of an object with a constrained partial view.
+
+ * exp_ch5.adb (Expand_N_Return_Statement): When a function's result
+ type is a class-wide type, emit a run-time check that the accessibility
+ level of the returned object is not deeper than the level of the
+ function's master (only when compiling for Ada 2005).
+
+ * exp_disp.ads, exp_disp.adb (Ada_Actions, Action_Is_Proc,
+ Action_Nb_Arg): Add entries for new Get_Access_Level and
+ Set_Access_Level routines in these tables.
+ (Make_DT): Generate a call to set the accessibility level of the
+ tagged type in its TSD.
+ (Make_DT): Code cleanup. The functionality of generating all the
+ secondary dispatch tables has been moved to freeze_record_type.
+ (Make_Abstract_Interface_DT): Minor code cleanup.
+ (Set_All_DT_Position): Code cleanup. As part of the code cleanup
+ this subprogram implements a new algorithm that provides the
+ same functionality and it is more clear in case of primitives
+ associated with abstract interfaces.
+ (Set_All_Interfaces_DTC_Entity): Removed. As part of the code
+ clean up, the functionality of this subprogram is now provided
+ by Set_All_DT_Position.
+ (Write_DT): New subprogram: a debugging procedure designed to be called
+ within gdb to display the dispatch tables associated with a tagged
+ type.
+ (Collect_All_Interfaces): New subprogram that collects the whole list
+ of interfaces that are directly or indirectly implemented by a tagged
+ type.
+ (Default_Prim_Op_Position): New subprogram that returns the fixed
+ position in the dispatch table of the default primitive operations.
+ (Expand_Interface_Actuals): New subprogram to generate code that
+ displaces all the actuals corresponding to class-wide interfaces to
+ reference the interface tag of the actual object.
+ (Expand_Interface_Conversion): New subprogram. Reference the base of
+ the object to give access to the interface tag associated with the
+ secondary dispatch table.
+ (Expand_Interface_Thunk): New subprogram that generates the code of the
+ thunk. This is required for compatibility with the C+ ABI.
+ (Make_Abstract_Interface_DT): New subprogram that generate the
+ declarations for the secondary dispatch tables associated with an
+ abstract interface.
+ (Set_All_Interfaces_DTC_Entity): New subprogram that sets the DTC_Entity
+ attribute for each primitive operation covering interface subprograms
+ (Expand_Dispatching_Call, Fill_DT_Entry, Make_DT, Set_All_DT_Position):
+ These subprograms were upgraded to give support to abstract interfaces
+
+ * rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
+ RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
+ RE_Set_Access_Level.
+ (RE_Unit_Table): Add entries for new Ada.Tags operations.
+ Add support to call the followig new run-time subprograms:
+ IW_Membership, Register_Interface_Tag, and Set_Offset_To_Top
+
+ * sem_ch3.adb (Constant_Redeclaration): Allow a deferred constant to
+ match its full declaration when both have an access definition with
+ statically matching designated subtypes.
+ (Analyze_Component_Declaration): Delete commented out code that was
+ incorrectly setting the scope of an anonymous access component's type.
+ (Process_Discriminants): Set Is_Local_Anonymous_Access for the type of
+ an access discriminant when the containing type is nonlimited.
+ (Make_Incomplete_Type_Declaration): Create an incomplete type
+ declaration for a record type that includes self-referential access
+ components.
+ (Check_Anonymous_Access_Types): Before full analysis of a record type
+ declaration, create anonymous access types for each self-referential
+ access component.
+ (Analyze_Component_Declaration, Array_Type_Declaration): Indicate that
+ an access component in this context is a Local_Anonymous_Access, for
+ proper accessibility checks.
+ (Access_Definition): Set properly the scope of the anonymous access type
+ created for a stand-alone access object.
+ (Find_Type_Of_Object): An object declaration may be given with an access
+ definition.
+ (Complete_Subprograms_Derivation): New subprogram used to complete
+ type derivation of private tagged types implementing interfaces.
+ In this case some interface primitives may have been overriden
+ with the partial-view and, instead of re-calculating them, they
+ are included in the list of primitive operations of the full-view.
+ (Build_Derived_Record_Type): Modified to give support to private
+ types implemening interfaces.
+ (Access_Definition): Reject ALL on anonymous access types.
+ (Build_Derived_Record_Type): In the case of Ada 2005, allow a tagged
+ type derivation to occur at a deeper accessibility level than the
+ parent type.
+ For the case of derivation within a generic body however, disallow the
+ derivation if the derived type has an ancestor that is a formal type
+ declared in the formal part of an enclosing generic.
+ (Analyze_Object_Declaration): For protected objects, remove the check
+ that they cannot contain interrupt handlers if not declared at library
+ level.
+ (Add_Interface_Tag_Components): New subprogram to add the tag components
+ corresponding to all the abstract interface types implemented by a
+ record type or a derived record type.
+ (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
+ Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
+ Process_Full_View, Record_Type_Declaration): Modified to give
+ support to abstract interface types
+ (Collect_Interfaces): New subprogram that collects the list of
+ interfaces that are not already implemented by the ancestors
+ (Process_Full_View): Set flag Has_Partial_Constrained_View appropriately
+ when partial view has no discriminants and full view has defaults.
+ (Constrain_Access): Reject a constraint on a general access type
+ if the discriminants of the designated type have defaults.
+ (Access_Subprogram_Declaration): Associate the Itype node with the inner
+ full-type declaration or subprogram spec. This is required to handle
+ nested anonymous declarations.
+ (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
+ Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
+ Process_Full_View, Record_Type_Declaration): Modified to give
+ support to abstract interface types
+ (Derive_Subprograms): Addition of a new formal to indicate if
+ we are in the case of an abstact-interface derivation
+ (Find_Type_Of_Subtype_Indic): Moved from the body of the package
+ to the specification because it is requied to analyze all the
+ identifiers found in a list of interfaces
+
+ * debug.adb: Complete documentation of flag "-gnatdZ"
+
+ * exp_ch3.adb: Implement config version of persistent_bss pragma
+ (Check_Stream_Attributes): Use Stream_Attribute_Available instead of
+ testing for TSS presence to properly enforce visibility rules.
+ (Freeze_Record_Type): Code cleanup. Modified to call the subprogram
+ Make_Abstract_Interfaces_DT to generate the secondary tables
+ associated with abstract interfaces.
+ (Build_Init_Procedure): Modified to initialize all the tags
+ corresponding.
+ (Component_Needs_Simple_Initialization): Similar to other tags,
+ interface tags do not need initialization.
+ (Freeze_Record_Type): Modified to give support to abstract interface
+ types.
+ (Expand_N_Object_Declaration): Do not generate an initialization for
+ a scalar temporary marked as internal.
+
+ * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Handle properly an
+ in-out parameter that is a component in an initialization procedure,
+ whose constraint might depend on discriminants, and that may be
+ misaligned because of packing or representation clauses.
+ (Is_Legal_Copy): New predicate to determine whether a possibly
+ misaligned in-out actual can actually be passed by copy/return. This
+ is an error in case the type is by_reference, and a warning if this is
+ the consequence of a DEC import pragma on the subprogram.
+ (Expand_Call, Freeze_Subprogram): Modified to give support to abstract
+ interface types
+ (Expand_Inlined_Call): Mark temporary generated for the return value as
+ internal, so that no useless scalar normalization is generated for it.
+ (Expand_N_Subprogram_Declaration): Save unanalyzed body so calls to
+ null procedure can always be inlined.
+ (Expand_N_Subprogram_Declaration): If this is the declaration of a null
+ procedure, generate an explicit empty body for it.
+
+ * exp_util.ads, exp_util.adb (Find_Interface_ADT): New subprogram.
+ Given a type implementing an interface, returns the corresponding
+ access_disp_table value.
+ (Find_Interface_Tag): New subprogram. Given a type implementing an
+ interface, returns the record component containing the tag of the
+ interface.
+ (Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
+ previous ones that return the corresponding tag and access_disp_table
+ entities.
+ (Is_Predefined_Dispatching_Operation): Determines if a subprogram
+ is a predefined primitive operation.
+ (Expand_Subtype_From_Expr): If the expression is a selected component
+ within an initialization procedure, compute its actual subtype, because
+ the component may depend on the discriminants of the enclosing record.
+
+ * i-cpp.ads, i-cpp.adb:
+ This package has been left available for compatibility with previous
+ versions of the frontend. As part of the new layout this is now a
+ dummy package that uses declarations available at a-tags.ads
+
+ * par-ch3.adb (P_Identifier_Declarations): Give an error for use of
+ "constant access" and "aliased [constant] access" when not compiling
+ with -gnat05.
+ Suppress Ada 2005 keyword warning if -gnatwY used
+ (P_Identifier_Declarations): Add support for object declarations with
+ access definitions.
+ (Private_Extension_Declaration): Complete the documentation
+ (P_Derived_Type_Def_Or_Private_Ext_Decl): Fill the inteface_list
+ attribute in case of private extension declaration
+ (P_Type_Declaration): Mark as "abstract" the type declarations
+ corresponding with protected, synchronized and task interfaces
+ (P_Declarative_Items): "not" and "overriding" are overriding indicators
+ for a subprogram or instance declaration.
+
+ * sem_ch12.adb (Analyze_Subprogram_Instantiation): Verify that an
+ instantiation that is a dispatching operation has controlling access
+ parameters that are null excluding.
+ Save and restore Ada_Version_Explicit, for implementation of AI-362
+ (Validate_Derived_Type_Instance): Add check for abstract interface
+ types.
+ (Analyze_Formal_Package): Establish Instantiation source for the copy of
+ the generic that is created to represent the formal package.
+ (Analyze_Package_Instantiation): Instantiate body immediately if the
+ package is a predefined unit that contains inlined subprograms, and
+ we are compiling for a Configurable_Run_Time.
+ (Instantiate_Formal_Subprogram): Indicate that null default subprogram
+ If the program has a null default, generate an empty body for it.
+
+ * sem_ch6.adb, sem_ch9.adb (Analyze_Subprograms_Declaration): Update
+ error message condition, null procedures are correctly detected now.
+ (New_Overloaded_Entity): Bypass trivial overriding indicator check
+ for subprograms in the context of protected types. Instead, the
+ indicator is examined in Sem_Ch9 while analysing the subprogram
+ declaration.
+ (Check_Overriding_Indicator): Check consistency of overriding indicator
+ on subprogram stubs as well.
+ (Analyze_Subprogram_Declaration): Diagnose null procedures declared at
+ the library level.
+ (Analize_Subprogram_Specification): When analyzing a subprogram in which
+ the type of the first formal is a concurrent type, replace this type
+ by the corresponding record type.
+ (Analyze_Subprogram_Body): Undo the previous work.
+ (Analyze_Procedure_Call): If the call has the form Object.Op, the
+ analysis of the prefix ends up analyzing the call itself, after which
+ we are done.
+ (Has_Interface_Formals): New subprogram subsidiary to analyze
+ subprogram_specification that returns true if some non
+ class-wide interface subprogram is found
+ (New_Overloaded_Entity): Modified to give support to abstract
+ interface types
+ (Conforming_Types): In Ada 2005 mode, conformance checking of anonymous
+ access to subprograms must be recursive.
+ (Is_Unchecked_Conversion): Improve the test that recognizes
+ instantiations of Unchecked_Conversion, and allows them in bodies that
+ are to be inlined by the front-end. When the body comes from an
+ instantiation, a reference to Unchecked_Conversion will be an
+ Expanded_Name, even though the body has not been analyzed yet.
+ Replace Is_Overriding and Not_Overriding in subprogram_indication with
+ Must_Override and Must_Not_Override, to better express intent of AI.
+ (Analyze_Subprogram_Body): If an overriding indicator is given, check
+ that it is consistent with the overrinding status of the subprogram
+ at this point.
+ (Analyze_Subprogram_Declaration): Indicate that a null procedure is
+ always inlined.
+ If the subprogram is a null procedure, indicate that it does not need
+ a completion.
+
+ * sem_disp.adb (Check_Controlling_Type): Give support to entities
+ available through limited-with clauses.
+ (Check_Dispatching_Operation): A stub acts like a body, and therefore is
+ allowed as the last primitive of a tagged type if it has no previous
+ spec.
+ (Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
+ to give support to abstract interface types
+
+ * sem_res.adb (Valid_Conversion): Perform an accessibility level check
+ in the case where the target type is an anonymous access type of an
+ object or component (that is, when Is_Local_Anonymous_Access is true).
+ Prevent the special checks for conversions of access discriminants in
+ the case where the discriminant belongs to a nonlimited type, since
+ such discriminants have their accessibility level defined in the same
+ way as a normal component of an anonymous access type.
+ (Resolve_Allocator): When an allocator's designated type is a class-wide
+ type, check that the accessibility level of type given in the
+ allocator's expression or subtype indication is not statically deeper
+ than the level of the allocator's access type.
+ (Check_Discriminant_Use): Diagnose discriminant given by an expanded
+ name in a discriminant constraint of a record component.
+ (Resolve_Explicit_Dereference): Do not check whether the type is
+ incomplete when the dereference is a use of an access discriminant in
+ an initialization procedure.
+ (Resolve_Type_Conversion): Handle conversions to abstract interface
+ types.
+ (Valid_Tagged_Conversion): The conversion of a tagged type to an
+ abstract interface type is always valid.
+ (Valid_Conversion): Modified to give support to abstract interface types
+ (Resolve_Actuals): Enable full error reporting on view conversions
+ between unrelated by_reference array types.
+ The rule for view conversions of arrays with aliased components is
+ weakened in Ada 2005.
+ Call to obsolescent subprogram is now considered to be a violation of
+ pragma Restrictions (No_Obsolescent_Features).
+ (Check_Direct_Boolean_Operator): If the boolean operation has been
+ constant-folded, there is nothing to check.
+ (Resolve_Comparison_Op, Resolve_Equality_Op, Resolve_Boolean_Op): Defer
+ check on possible violation of restriction No_Direct_Boolean_Operators
+ until after expansion of operands, to prevent spurious errors when
+ operation is constant-folded.
+
+ * sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
+ Has_Compatible_Type): Modified to give support to abstract interface
+ types.
+ (Interface_Present_In_Ancestor): New function to theck if some ancestor
+ of a given type implements a given interface
+
+ * sem_ch4.adb (Analyze_Call): Handle properly an indirect call whose
+ prefix is a parameterless function that returns an access_to_procedure.
+ (Transform_Object_Operation): Handle properly function calls of the
+ form Obj.Op (X), which prior to analysis appear as indexed components.
+ (Analyze_One_Call): Complete the error notification to help new Ada
+ 2005 users.
+ (Analyze_Allocator): For an allocator without an initial value, where
+ the designated type has a constrained partial view, a discriminant
+ constraint is illegal.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * a-textio.adb (Set_Col): Fix two errors noticed recently, having to
+ do with treatment of Set_Col when positioned at end of line character.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * atree.adb: (Elist*): Protect against uninitialized field
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * checks.adb (Install_Null_Excluding_Check): Do not generate checks
+ for an attribute reference that returns an access type.
+ (Apply_Discriminant_Check): No need for check if (designated) type has
+ constrained partial view.
+
+ (Apply_Float_Conversion_Check): Generate a short-circuit expression for
+ both bound checks, rather than a conjunction.
+ (Insert_Valid_Check): If the expression is an actual that is an indexed
+ component of a bit-packed array, force expansion of the packed element
+ reference, because it is specifically inhibited elsewhere.
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * clean.adb (Clean_Project): Correctly delete executable specified as
+ absolute path names.
+
+ * make.adb (Gnatmake): Allow relative executable path names with
+ directory information even when project files are used.
+ (Change_To_Object_Directory): Fail gracefully when unable to change
+ current working directory to object directory of a project.
+ (Gnatmake): Remove exception handler that could no longer be exercized
+ (Compile_Sources.Compile): Use deep copies of arguments, as some of them
+ may be deallocated by Normalize_Arguments.
+ (Collect_Arguments): Eliminate empty arguments
+
+ * gnatcmd.adb (All_Projects): New Boolean flag, initialized to False,
+ and set to True when -U is used for GNAT PRETTY or GNAT METRIC.
+ (Check_Project): Return False when Project is No_Project. Return True
+ when All_Projects is True.
+ (GNATCmd): Recognize switch -U for GNAT PRETTY and GNAT METRIC and set
+ All_Projects to True.
+ Minor reformatting
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * einfo.ads, einfo.adb (Is_Local_Anonymous_Access): New flag on
+ anonymous access types, to indicate that the accessibility level of
+ the type is determined by that of the enclosing declaration.
+ (Has_Persistent_BSS): New flag
+ (Set_Is_Primitive_Wrapper): Upgrade the barrier to allow the usage
+ of this attribute with functions.
+ (Is_Primitive_Wrapper): Remove the barrier.
+ (Has_Specified_Stream_Input, Has_Specified_Stream_Output,
+ Has_Specified_Stream_Read, Has_Specified_Stream_Write):
+ New subprograms.
+ (Set_Has_Specified_Stream_Input, Set_Has_Specified_Stream_Output,
+ Set_Has_Specified_Stream_Read, Set_Has_Specified_Stream_Write):
+ New subprograms.
+ (Is_Pure_Unit_Access_Type): New flag
+ (Abstract_Interfaces): Complete the assertion to cover all usages.
+ (Set_Is_Interface): Complete the assertion to cover all usages.
+ (Is_Primitive_Wrapper): New attribute.
+ (Is_Obsolescent): Now applies to all entities (though it is only set
+ for subprograms currently)
+ New flag: Has_Constrained_Partial_View, to implemente Ada 2005 AI-363,
+ which solves various problems concerning access subtypes.
+ (Has_Persistent_BSS): New flag
+ (Is_Primitive_Wrapper, Set_Primitive_Wrapper): Code cleanup.
+ Remove these subprograms because this attribute is currently
+ not used.
+ New entity flags:
+ Has_Specified_Stream_Input (Flag190)
+ Has_Specified_Stream_Output (Flag191)
+ Has_Specified_Stream_Read (Flag192)
+ Has_Specified_Stream_Write (Flag193)
+ Present in all type and subtype entities. Set for a given view if the
+ corresponding stream-oriented attribute has been defined by an
+ attribute definition clause. When such a clause occurs, a TSS is set
+ on the underlying full view; the flags are used to track visibility of
+ the attribute definition clause for partial or incomplete views.
+ (Is_Pure_Unit_Access_Type): New flag
+ Clarify use of Is_Internal.
+ (Is_Primitive_Wrapper): New attribute present in primitive subprograms
+ internally generated to wrap the invocation of tasks and protected
+ types that implement interfaces.
+ (Implementation_Base_Type): Documentation correction
+ (Is_Obsolescent): Now applies to all entities (though it is only set
+ for subprograms currently)
+ New flag: Has_Constrained_Partial_View, to implement Ada 2005 AI-363,
+ which solves various problems concerning access subtypes.
+
+ * exp_ch9.adb (Type_Conformant_Parameters): Introduce mode conformance
+ for examined parameters. Identify unequal parameter list lengths as
+ non-conformant parameters.
+ (Overriding_Possible): Do not check for "All" qualifier in declaration
+ of controlling access parameter, following prescription of AI-404.
+ (Build_Entry_Wrapper_Spec, Build_Entry_Wrapper_Body): New subprograms
+ that build the procedure body that wraps an entry invocation
+ (Build_Corresponding_Record, Build_Protected_Sub_Specification,
+ Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
+ Expand_N_Task_Body, Expand_N_Task_Type_Declaration): Modified to
+ give support to abstract interface types
+
+ * freeze.adb (Freeze_Entity): Issue error message if
+ Is_Pure_Unit_Access_Type set, unless we are in Ada 2005 mode and the
+ type has no storage pool (Ada 2005) AI-366.
+ Also modified to give support to abstract interface types
+ (Freeze_Subprogram): Issue an error for a dispatching subprogram with an
+ Inline_Always pragma.
+
+ * par-ch9.adb (P_Task_Items): Reserved words "not" or "overriding" may
+ now begin an entry declaration.
+ (P_Entry_Or_Subprogram_With_Indicator): New procedure in
+ P_Protected_Operation_Declaration_Opt. Parse an entry declaration or
+ a subprogram declaration preceded by an overriding indicator.
+ (P_Protected_Operation_Declaration_Opt): Add case for parsing entry
+ declarations or subprogram declarations preceded by reserved words
+ "not" or "overriding".
+ (P_Entry_Declaration): Update comment. Parse and check overriding
+ indicator, set semantic flags of entry declarations.
+ (P_Task): New error message in case of private applied
+ to a task type declaration.
+ (P_Protected): New error message in case of private applied
+ to a task type declaration.
+
+ * sem_ch7.adb (Preserve_Full_Attributes): Modified to handle the case
+ in which the full view of a type implementing an interface is a
+ concurrent type.
+ (Has_Overriding_Pragma): Remove obsolete implementation of AI-218.
+ Declare_Inherited_Private_Subprograms): If an explicit operation
+ overrides an operation that is inherited in the private part, mark the
+ explicit one as overriding, to enable overriding indicator checks.
+ (Preserve_Full_Attributes): Propagate Is_Unchecked_Union attribute from
+ full view to partial view, to simplify handling in back-end.
+
+ * sprint.adb: Print interface lists where needed: derived types,
+ protected types, task types.
+ output "is null" for null procedures. Part of implementation of
+
+ * sem_cat.adb (Validate_Access_Type_Declaration): Implement AI-366
+ relaxation of rules for access types in pure, shared passive partitions.
+
+ * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Reorganize to
+ first read discriminants into temporary objects, performing checks on
+ the read values, then possibly performing discriminant checks on the
+ actual (if it is constrained), and only finally reading the components
+ into a constrained temporary object.
+ (Build_Elementary_Input_Call): Adjust the specific circuitry for the
+ case of reading discriminants of a mutable record type to recognize
+ the new form of the code generated by
+ Build_Mutable_Record_Read_Procedure.
+
+ * exp_tss.ads, exp_tss.adb (Make_Init_Proc_Name): Reimplement in terms
+ of a simple call to Make_TSS_Name.
+ (Make_TSS_Name_Local): Add the TSS name as the last thing in the name
+ buffer, in order for Is_TSS to work correctly on local TSS names.
+
+ * sem_attr.ads, sem_attr.adb (Resolve_Attribute, case 'Access): Use flag
+ Is_Local_Anonymous_Access to check legaliy of attributes in the
+ context of access components and stand-alone access objects.
+ (Stream_Attribute_Available): In Ada 95 mode, a stream attribute is
+ treated as available for a limited private type if there is an
+ attribute_definition_clause that applies to its full view, but not in
+ other cases where the attribute is available for the full view
+ (specifically, the sole fact that the full view is non-limited does not
+ make the attribute available for the partial view).
+ (Build_Access_Subprogram_Type): Diagnose attempt to apply 'access to a
+ non-overloaded intrinsic subprogram.
+ (Check_Stream_Attribute): Reject an attribute reference for an
+ unavailable stream attribute even if the prefix is not a limited type
+ (case of a 'Input attribute reference for an abstract, non-classwide
+ type)
+ (Stream_Attribute_Available): New function to determine whether a stream
+ attribute is available at a place.
+ (Check_Attribute): Use Stream_Attribute_Available instead of just
+ testing for TSS presence on the implementation base type.
+ (Analyze_Attribute): Modified to give support to task interfaces.
+ (Analyze_Access_Attribute): Add error check for use of an Access (or
+ Unrestricted_Access) attribute with a subprogram marked as
+ Inline_Always.
+ (Analyze_Attribute, case Attribute_Address): Add error check for use of
+ an Address attribute with a subprogram marked as Inline_Always.
+ Update Eval_Attribute to handle new value of Width from AI-395
+
+ * sem_ch13.adb (Analyze_Stream_TSS_Definition): New subprogram.
+ (Analyze_Attribute_Definition_Clause, cases Input, Output, Read, Write):
+ Factor common code across the stream-oriented attribute circcuits into
+ a new subprogram, Analyze_Stream_TSS_Definition. The new uniform
+ processing is functionally identical to the previous duplicated one,
+ except that an expression that denotes an abstract subprogram will now
+ be rejected, as mandated by AI-195 item 5.
+
+ * sem_util.ads, sem_util.adb (Type_Access_Level): Use flag
+ Is_Local_Anonymous_Access to apply accessibility checks to access
+ components and stand-alone access objects.
+ (Has_Discriminant_Dependent_Constraint): Moved to spec for use
+ elsewhere.
+ (Is_Potentially_Persistent_Type): New function
+ (Is_Dependent_Component_Of_Mutable_Object): If the enclosing object is
+ a heap-object whose type has a constrained partial view, the object is
+ unconstrained and the component may depend on a discriminant, making its
+ renaming illegal.
+
+ * sinfo.ads, sinfo.adb
+ (Must_Not_Override): Flag applicable to N_Entry_Declaration.
+ (Must_Override): Flag applicable to N_Entry_Declaration.
+ Indicate that interface_list can appear in single task and single
+ protected declarations.
+ Replace Is_Overriding and Not_Overriding with Must_Override and
+ Must_Not_Override, to better express intent of AI.
+ Is_Overriding, Not_Overriding: Ada2005 flags that indicate the presence
+ of an overriding indicator in a subprogram or instance.
+ Ada 2005 (AI-248) Null_Present can appear in a procedure specification.
+ Add the overriding indicator [[not] overriding] construct to the
+ following grammar productions:
+ ENTRY_DECLARATION
+ GENERIC_INSTANTIATION
+ SUBPROGRAM_SPECIFICATION
+
+ * par-ch10.adb (P_Compilation_Unit): Subprogram declaration or body
+ can start with an overriding indicator.
+
+ * par-ch6.adb (P_Subprogram): Recognize overriding indicator, and set
+ flags accordingly on subrogram specifications or instances.
+
+ * sem_ch8.adb:
+ (Analyze_Subprogram_Renaming): For a renaming_as_body, verify that the
+ overriding_indicator, if present, is consistent with status of spec.
+ Improve error message for null-excluding checks on controlling access
+ parameters.
+ (Check_In_Previous_With_Clause): Protect the frontend against
+ previously reported critical errors in the context clauses.
+ Save and restore Ada_Version_Explicit, for implementation of AI-362
+ (Analyze_Subprogram_Renaming): If the new entity is a dispatching
+ operation verify that controlling formals of the renamed entity that
+ are access parameters are explicitly non-null.
+ (Find_Expanded_Name): Improve error message when prefix is an illegal
+ reference to a private child unit.
+
+ * exp_imgv.adb, s-imgwch.ads, s-imgwch.adb, s-valwch.adb,
+ s-valwch.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdwch.adb:
+ Rewrite to correspond to new wide character names in AI-395
+
+ * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
+ default procedures.
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * errout.ads, errout.adb (Error_Msg_NW): Only emit warning on user
+ code, not on the bodies of predefined operations, to cut down on
+ spurious noise.
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Aggr_Size_OK): An array with no components can always
+ be expanded in place. The size computation does not require a
+ subtraction, which would raise an exception on a compiler built with
+ assertions when the upper bound is Integer'first.
+ (Flatten): For an array of composite components, take into account the
+ size of the components to determine whether it is safe to expand the
+ array into a purely positional representation.
+
+2005-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch2.adb (Param_Entity): Take the case of an expanded_name
+ denoting a formal parameter into account.
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch7.adb (Find_Node_To_Be_Wrapped): If the node appears within
+ the entry_call alternative of a conditional entry call, wrap the
+ conditional entry call itself.
+
+2005-06-14 Nicolas Setton <setton@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_dbug.ads, exp_dbug.adb (Get_Variant_Part): Fix the encoding of
+ the "simple_choice" member in a variant record, in accordance with the
+ description in the package spec: the information output for a constant
+ should be "S number", not "SS number".
+ (Get_Encoded_Name): Return at once if not generating code. Avoids name
+ overflow problem when compiling with -gnatct, for ASIS/gnatmetrics.
+
+2005-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): For an
+ RACW without any primitives, do not generate the if statement for
+ dispatching by name in the PolyORB/DSA case, as it would be malformed
+ (it would have an Elsif_Parts list that is not No_List, but with a
+ length of 0).
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_intr.adb, par-ch5.adb: Minor fix to error message text
+
+2005-06-14 Jose Ruiz <ruiz@adacore.com>
+
+ * fe.h: Add entry for Opt.Exception_Locations_Suppressed so that gigi
+ can determine whether pragma Suppress_Exception_Locations is in effect.
+
+ * utils2.c (build_call_raise): Do not pass the file name to the
+ exception handler if pragma Suppress_Exception_Locations is in effect.
+ (build_allocator): Add and process arg IGNORE_INIT_TYPE.
+
+2005-06-14 Emmanuel Briot <briot@adacore.com>
+
+ * g-debpoo.adb (Deallocate, Dereference): Improve output.
+
+2005-06-14 Nicolas Roche <roche@adacore.com>
+
+ * g-diopit.adb (Wildcard_Iterator): Return directly if Path is equal
+ to ""
+ (Next_Level): Fix minor bug in handling of ../dir case
+ (Read): Add dir separator to Directory name so that "" is understood as
+ "/"
+
+2005-06-14 Pascal Obry <obry@adacore.com>
+
+ * g-dynhta.ads, g-dynhta.adb (Reset): Free the table itself after
+ releasing the items.
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+
+ * g-os_lib.ads, g-os_lib.adb (Non_Blocking_Spawn): Two new versions
+ with output file descriptor and with output file name.
+ (Dup, Dup2): Now global procedures as they are used by two subprograms
+ (Copy): Allocate the 200K buffer on the heap rather than on the stack.
+
+2005-06-14 Thomas Quinot <quinot@adacore.com>
+
+ PR ada/6717
+ * g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
+ broadcast address.
+ (Create_Selector): Bind listening socket used to create the signalling
+ socket pair to 127.0.0.1 to limit the scope for 'theft' of connection.
+ Set listen backlog to 1 to ensure that we detect socket theft by a
+ failure of our own connect(2) call.
+ (Check_Selector): Improve documentation of the selector mechanism.
+ (Broadcast_Inet_Addr): New constant.
+
+2005-06-14 Gary Dismukes <dismukes@adacore.com>
+
+ * layout.adb (Discrimify): Remove resetting of Vtype to the underlying
+ type which turns out to be an incomplete and incorrect fix.
+ (Layout_Array_Type): Use Underlying_Type when checking whether the scope
+ of the type is declared in a record (for determination of insertion
+ type).
+ (SO_Ref_From_Expr): Test whether Vtype denotes a partial or full view of
+ a private type and ensure that the primary entity is used for the type
+ of the newly created function's V formal by taking the Etype of the
+ view.
+
+2005-06-14 Javier Miranda <miranda@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * lib-load.ads, lib-load.adb (Load_Unit): Addition of a new parameter
+ that indicates if we are parsing a compilation unit found in a
+ limited-with clause.
+ It is use to avoid the circularity check.
+
+ * par.ads, par.adb (Par): Addition of a new parameter to indicate if
+ we are parsing a compilation unit found in a limited-with clause. This
+ is use to avoid the circularity check.
+
+ * par-load.adb (Load): Indicate Lib.Load_Unit if we are loading the
+ unit as a consequence of parsing a limited-with clause. This is used
+ to avoid the circularity check.
+
+ * sem_ch10.adb: Suppress Ada 2005 unit warning if -gnatwY used
+ (Analyze_Context): Limited-with clauses are now allowed
+ in more compilation units.
+ (Analyze_Subunit_Context, Check_Parent): Protect the frontend
+ againts previously reported critical errors in context clauses
+ (Install_Limited_Withed_Unit): Code cleanup plus static detection
+ of two further errors: renamed subprograms and renamed packages
+ are not allowed in limited with clauses.
+ (Install_Siblings): Do not install private_with_clauses on the package
+ declaration for a non-private child unit.
+ (Re_Install_Parents): When a parent of the subunit is reinstalled,
+ reset visibility of child units properly.
+ (Install_Withed_Unit): When a child unit appears in a with_clause of its
+ parent, it is immediately visible.
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+ Emmanuel Briot <briot@adacore.com>
+
+ * lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
+ declared within an inlined body as referenced, to prevent spurious
+ warnings.
+ (Output_One_Ref): If an entity renames an array component, indicate in
+ the ALI file that this aliases (renames) the array. Capture as well
+ function renamings that rename predefined operations.
+ Add information about generic parent for package and subprogram
+ instances.
+ (Get_Type_Reference): For a subtype that is the renaming of an actual in
+ an instantiation, use the first_subtype to ensure that we don't generate
+ cross-reference information for internal types.
+ For objects and parameters of a generic private type, retain the '*'
+ indicator to distinguish such an entity from its type.
+
+ * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
+ to store information about instantiated entities.
+
+ * ali.adb (Scan_ALI): Add support for parsing the reference to the
+ generic parent
+
+ * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
+ (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
+ information.
+
+2005-06-10 Doug Rupp <rupp@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * Make-lang.in: Add initialize.o when needed.
+ Remove obsolete references to RT_FLAGS.
+ Add missing dependencies for sdefault.o
+
+ * initialize.c: New file.
+
+ * init.c [VMS] Declare ADA$ externs weak to fix build problem in IVMS.
+ [VMS] cond_signal_table: Fix problem in declaration.
+ [VMS] __gnat_error_handler: rewrite.
+ Move all __gnat_initialize() routines to initialize.c
+ Specialize the former "hpux" section to "hppa hpux", as this is what the
+ section really is here for and we now have other hpux ports that need
+ different contents.
+ (__gnat_adjust_context_for_raise) i386-linux: First version of this
+ function for this target. Adjust PC by one in the machine context. This
+ adjustment was previously done in the MD_FALLBACK_FRAME_STATE_FOR, but
+ it is more reliable to do that in the signal handler itself.
+ (__gnat_install_handler) i386-linux: Set SA_SIGINFO in the sigaction
+ flags, so that the handler is passed the context structure to adjust
+ prior to the raise.
+ (__gnat_error_handler) i386-linux: Adjust the signature to match what a
+ SA_SIGINFO sigaction should look like. Call
+ __gnat_adjust_context_for_raise before actually raising. Cleanup unused
+ Machine_State_Operations stuff.
+ Add conditional code so that the x86_64 is also supported.
+
+2005-06-14 Pascal Obry <obry@adacore.com>
+
+ * mdll.adb (Get_Dll_Name): New routine that returns the DLL name given
+ the library name.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads, opt.adb: New flags for persistent_bss mode
+ Add Ada_Version_Explicit, for implementation of AI-362
+ Add Assertions_Enabled_Config and associated handling
+ Needed since setting can be changed with Assertion_Policy pragma
+ Add new flag Warn_On_Ada_2005_Compatibility
+
+ * switch-c.adb: Recognize -gnatwy/Y
+ Set Ada_Version_Explicit, for implementation of AI-362
+ The -gnatg switch now includes -gnatyu
+
+ * usage.adb: Add -gnatwy/Y
+ Remove wrong asterisk on -gnatwX line
+ Add line for -gnatyu switch
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * osint.adb (Add_Default_Search_Dirs): Put source and object
+ directories of project files before directories coming from
+ ADA_INCLUDE_PATH and ADA_OBJECTS_PATH.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ PR ada/15613
+ * par-ch2.adb (Scan_Pragma_Argument): New procedure
+ (P_Pragma): Implement RM 2.8(4) check for no pos args after named args
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * prep.adb (Preprocess): Ignore error when scanning the first token of
+ a line.
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Suffix_For): Change default suffix for C++ to ".cpp"
+ (Check_Stand_Alone_Library): If the specified reference symbol file does
+ not exist, only issue a warning when the symbol policy is not
+ Controlled. And, when symbol policy is Compliant, set the symbol
+ policy to Autonomous.
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * prj-part.adb (Pre_Parse_Context_Clause): Call Set_Is_Not_Last_In_List
+ when the project file in a with clause is not the last one, that is the
+ project file name is followed by a comma.
+ * prj-pp.adb: (First_With_In_List): New Boolean global variable
+ (Print): Issue list of project files separated by commas in with clauses
+ according to the values returned by Is_Not_Last_In_List.
+ * prj-tree.ads, prj-tree.adb: (Is_Not_Last_In_List): New function
+ (Set_Is_Not_Last_In_List): New procedure
+
+2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-atacco.ads: Put a pragma No_Strict_Aliasing on Object_Pointer.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb: Add call to new Check_EOF routine
+ (Accumulate_Checksum): Properly handle wide wide char >= 2 ** 24
+ Add some comments regarding wide character handling
+
+ * style.ads, styleg.ads, styleg.adb: Implement new style switch -gnatyu
+
+ * stylesw.ads, stylesw.adb: Implement new style switch -gnatyu
+
+ * g-utf_32.ads, g-utf_32.adb (Is_UTF_32_Non_Graphic): Other_Format
+ characters are now considered graphic characters and hence yield false
+ in this call.
+
+ * nmake.adt: Modify header so that xnmake does not generate output
+ files with multiple blank lines.
+
+ * treeprs.adt: Remove a blank line so that output from xtreeprs does
+ not have an extra blank line
+
+2005-06-14 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_aggr.adb (Aggregate_Constraint_Checks): Apply a conversion to the
+ expression when the component type is an anonymous access type to
+ ensure that appropriate accessibility checks are done.
+
+ * sem_ch5.adb (Analyze_Assignment): Apply a implicit conversion to the
+ expression of an assignment when the target object is of an anonymous
+ access type. This ensures that required accessibility checks are done.
+ (One_Bound): Move the check for type Universal_Integer to
+ Process_Bounds.
+ (Process_Bounds): Check whether the type of the preanalyzed range is
+ Universal_Integer, and in that case set Typ to Integer_Type prior
+ to setting the type of the original range and the calls to One_Bound.
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_case.adb (Expand_Others_Choice): Improve warning.
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_eval.adb (Subtypes_Statically_Match): Use discriminant
+ constraint of full view if present, when other type is discriminated.
+ (Eval_Relational_Op): Recognize tests of pointer values against Null,
+ when the pointer is known to be non-null, and emit appropriate warning.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/10671
+ * sem_prag.adb: Implement pragma Persistent_BSS
+ Remove obsolete pragma Persistent_Data, Persistent_Object
+ Set Ada_Version_Explicit, for implementation of AI-362
+ Test Ada_Version_Explicit for Preelaborate_05 and Pure_05
+ Add processing for pragma Pure_05 and Preelaborate_05
+ Add processing for Assertion_Policy pragma
+ Add pragma identifiers for Assert
+ (Analyze_Pragma, case Assert): Check number of arguments
+ (Process_Inline): Additional guard against an illegal program, where the
+ argument of the pragma is undefined, and warnings on redundant
+ constructs are enabled.
+ (Analyze_Pragma, case Obsolescent): Allow an optional second argument
+ Ada_05 to this pragma, specifying that the pragma is only active in
+ Ada_05 mode.
+ (Check_Arg_Order): New procedure
+ Add appropriate calls to this procedure throughout
+ Also throughout, check entity name before doing any other checks
+
+ * snames.h snames.ads, snames.adb: Add pragma Persistent_BSS
+ Remove obsolete pragma Persistent_Data, Persistent_Object
+ Add entries for pragma Pure_05 and Preelaborate_05
+ Add entries for Assertion_Policy pragma and associated names
+ Add some names for pragma argument processing
+
+ * tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function
+
+2005-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_warn.adb (Warn_On_Known_Condition): If the constant expression
+ appears within a negation (either from source or as a rewriting of
+ inequality) adjust text of warning accordingly.
+
+2005-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * s-strxdr.adb: Follow AI95-00132
+
+2005-06-14 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tasren.adb (Exceptional_Complete_Rendezvous): Fix race condition.
+
+2005-06-14 Arnaud Charlet <charlet@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * s-tposen.adb, s-tpobop.adb
+ (Exceptional_Complete_Rendezvous): Save the occurrence and not only
+ the exception id.
+ (PO_Do_Or_Queue): Before queuing a task on an entry queue we check that
+ there is no violation of the Max_Entry_Queue_Length restriction (if it
+ has been set); Program_Error is raised otherwise.
+ (Requeue_Call): Before requeuing the task on the target entry queue we
+ check that there is no violation of the Max_Entry_Queue_Length
+ restriction (if it has been set); Program_Error is raised otherwise.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * styleg.adb: Fix several remaining problems in -gnatyu switch
+ Blank line count not reset at start
+ Scanning outside source buffer in some cases
+ Confusing message for blanks at end of file
+ Non-empty blank lines not recognized
+
+ * nmake.adt: Modify header so that xnmake does not generate output
+ files with multiple blank lines.
+
+ * treeprs.adt: Remove a blank line so that output from xtreeprs does
+ not have an extra blank line
+
+2005-06-14 Sergey Rybin <rybin@adacore.com>
+
+ * styleg-c.adb (Body_With_No_Spec): Remove ':' from warning message.
+
+2005-06-14 Doug Rupp <rupp@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * vms_conv.ads, vms_conv.adb: Remove "Library" command.
+ Update copyright.
+
+ * vms_data.ads: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
+ Remove "Library" command.
+ Change keyword for style check -gnatyd from NOCRLF to
+ DOS_LINE_ENDINGS.
+ Remove useless second style check keyword NONE
+ Remove help documentation for inexistent style check keyword
+ RM_COLUMN_LAYOUT.
+ Add help documentation for style check keywords DOS_LINE_ENDINGS,
+ UNNECESSARY_BLANK_LINES and XTRA_PARENS
+ Add UNNECESSARY_BLANK_LINES for -gnatyu
+ Add qualifiers /ALL_PROJECTS (-U) for GNAT PRETTY and GNAT METRIC
+
+ * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
+
+2005-06-14 Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Compile_Link_With_Gnatmake): Invoke gnatmake with -d if
+ gprmake was invoked with -d.
+ (Compile_Sources): If -d was used, output the "completed ..." message
+ for each compilation.
+ (Scan_Arg): Recognize new switch -d
+ When -c and at least one main is specified, set
+ Unique_Compile to True to guarantee that no other sources will be
+ compiled.
+
+2005-06-14 Matthew Heaney <heaney@adacore.com>
+
+ * a-swunha.ads, a-swunha.adb: Removed. Replaced by a-swuwha.ad[sb]
+ * a-swuwha.ads, a-swuwha.adb: New files
+
+ * a-szunha.ads, a-szunha.adb: Removed, replaced by a-szuzha.ad[sb]
+ * a-szuzha.ads, a-szuzha.adb: New files.
+
+ * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
+ a-crbtgk.adb, a-crbltr.ads, a-coorse.ads, a-coorse.adb, a-convec.ads,
+ a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohata.ads, a-cohama.ads,
+ a-cohama.adb, a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
+ a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
+ a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb,
+ a-cohase.ads, a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads,
+ a-swunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb, a-shcain.ads,
+ a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads, a-stwiha.adb,
+ a-strhas.adb, a-stzhas.adb: synchronized to the latest version of the
+ Ada 2005 RM.
+
+2005-06-10 Eric Botcazou <ebotcazou@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Pascal Obry <obry@adacore.com>
+
+ * gigi.h: (build_allocator): Add arg IGNORE_INIT_TYPE.
+
+ * trans.c (call_to_gnu): Issue a warning for users of Starlet when
+ making a temporary around a procedure call because of non-addressable
+ actual parameter.
+ (process_freeze_entity): If entity is a private type, capture size
+ information that may have been computed for the full view.
+ (tree_transform, case N_Allocator): If have initializing expression,
+ check type for Has_Constrained_Partial_View and pass that to
+ build_allocator.
+ (tree_transform, case N_Return_Statement): Pass extra arg to
+ build_allocator.
+
+ * decl.c (annotate_value): Remove early return if -gnatR is not
+ specified.
+ (gnat_to_gnu_field): Don't make a packable type for a component clause
+ if the position is byte aligned, the field is aliased, and the clause
+ size isn't a multiple of the packable alignment. It serves no useful
+ purpose packing-wise and would be rejected later on.
+ (gnat_to_gnu_entity, case object): Pass extra arg to build_allocator.
+
+ PR ada/20515
+ (gnat_to_gnu_entity): Remove use of macro _WIN32 which is wrong in the
+ context of cross compilers. We use TARGET_DLLIMPORT_DECL_ATTRIBUTES
+ instead.
+ (create_concat_name): Idem.
+
+2005-06-10 Robert Dewar <dewar@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+ Ben Brosgol <brosgol@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+ Sergey Rybin <rybin@adacore.com>
+ Pascal Obry <obry@adacore.com>
+
+ * gnat_rm.texi: Add documentation for pragma Persistent_BSS
+ Document second argument (Ada_05) of pragma Obsolescent
+ Add note that call to subprogram marked with pragma Obsolescent
+ is now considered to be a violation of program Restrictions
+ (No_Obsolescent_Features).
+ (Implementation Defined Pragmas) <Machine_Attribute>: Make it clear
+ that only machine-dependent attributes are supported.
+
+ * gnat_ugn.texi:
+ Commented out menu lines and empty section for gnatclean examples
+ Document -gnatwy/Y
+ Fix some over long lines
+ Clarify and enhance documentation of ADA_PROJECT_PATH.
+ Rework section 2.11.2(3) about linking with a non-GNU compiler.
+ Mention new switch -fcallgraph-info.
+ Mention new switch -fstack-usage.
+ For gnatpp, replace '-notab' with '-N' and add this option to Index
+ Corrected VMS example.
+ VMS keyword for style check -gnatyd is DOS_LINE_ENDINGS, no NOCRLF
+ Minor reformatting
+ Add documentation for -gnatyu switch (unnecessary blank lines)
+ Document new switch -U for GNAT PRETTY and GNAT METRIC
+ Add note about Stdcall being handled as C convention on non Windows OS.
+ Remove some junk typo in description of gnatbind -S switch
+ Remove reference to Extensions_Allowed pragma
+ Document the new order of the directories to be searched (source and
+ object directories of project files before directories in ADA_*_PATH
+ environment variables.
+
+ * g-trasym.ads: Document that IRIX is supported
+
+2005-06-10 Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in: Add initialize.o when needed.
+ Adapt to new VMS package body Symbols and subunits
+ No specialized version of a-sytaco is needed for VxWorks.
+
+ * a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files.
+ * a-zchara.ads, a-widcha.ads: New files.
+
+ * system-hpux-ia64.ads: New file.
+
+ * i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which
+ is imported from the VxWorks kernel.
+
+2005-06-14 Robert Dewar <dewar@adacore.com>
+
+ * g-soliop-mingw.ads, g-soccon-vms.adb, a-swmwco.ads, exp_smem.adb,
+ fmap.adb, a-szmzco.ads, s-traent-vms.adb, s-traent-vms.ads,
+ a-direio.ads, a-exctra.ads, a-exexda.adb, a-exextr.adb, a-stream.ads,
+ s-restri.ads, s-restri.adb, s-traent.adb, s-traent.ads, a-slcain.adb,
+ a-stzhas.ads, a-tiinau.adb, comperr.adb, exp_ch11.adb, g-boubuf.adb,
+ g-calend.adb, g-debpoo.ads, g-moreex.ads, gprep.adb, g-regpat.ads,
+ i-cexten.ads, i-os2thr.ads, makeutl.ads, memroot.adb, mlib-prj.adb,
+ namet.adb, namet.ads, prj-makr.adb, prj-proc.adb, sem_dist.adb,
+ sem_elim.ads, s-valint.adb, s-vallli.adb, s-vallli.adb, s-vallli.ads,
+ s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, scn.adb,
+ s-tasinf.adb, targparm.adb, uname.adb, uname.ads, xnmake.adb,
+ xsinfo.adb, a-direct.ads: Remove extra blank lines. Minor reformatting.
+
+2005-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * xeinfo.adb: Fix typo in comment
+
+2005-06-14 Javier Miranda <miranda@adacore.com>
+
+ * repinfo.ads: Fix typo in comment
+
+2005-06-14 Gary Dismukes <dismukes@adacore.com>
+
+ * s-finimp.adb (Parent_Tag): Delete this imported function (function
+ Parent_Tag is now in the visible part of Ada.Tags).
+ (Get_Deep_Controller): Call Ada.Tags.Parent_Tag directly instead of
+ using imported function.
+
+2005-06-14 Bernard Banner <banner@adacore.com>
+
+ * vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should
+ also apply for handling support for VxSim 653.
+
+2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * xsnames.adb: Add automatic generation of snames.h.
+
+2005-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * gen-soccon.c: Add IP_MULTICAST_IF constant
+ Minor reformatting and adjustments to prevent warnings.
+
+2005-06-14 Pascal Obry <obry@adacore.com>
+
+ * seh_init.c: Do not include <sys/stat.h>. This is not needed.
+
+2005-06-03 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * trans.c (gnat_gimplify_expr): Call
+ recompute_tree_invarant_for_addr_expr when we change
+ the operand of the ADDR_EXPR.
+
+2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * misc.c: Don't include errors.h.
+
+2005-05-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * raise.c (db): Add ATTRIBUTE_PRINTF_2.
+
+2005-05-29 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cal.c, decl.c, init.c, raise.c, trans.c, utils2.c: Fix
+ comment typos.
+ * gnat_rm.texi, gnat_ugn.texi: Fix typos.
+
+2005-05-16 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/20270
+ * Makefile.in: Make TGT_LIB behave correctly.
+
+2005-04-23 DJ Delorie <dj@redhat.com>
+
+ * misc.c: Adjust warning() callers.
+
+2005-04-16 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/18847
+ * a-nudira.adb (Value): Check for valid string.
+ * a-nuflra.adb (Value): Likewise.
+
+2005-04-11 Richard Sandiford <rsandifo@redhat.com>
+
+ * lang.opt: Refer to the GCC internals documentation instead of c.opt.
+
+2005-04-10 Kazu Hirata <kazu@cs.umass.edu>
+
+ * adaint.c, init.c, tracebak.c: Fix comment typos.
+ * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.
+
+2005-04-07 Laurent Guerby <laurent@guerby.net>
+ John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * Makefile.in: Add make ifeq define for hppa linux tasking support.
+ * system-hpux.ads: Define Signed_Zeros to be True.
+ * system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files.
+
+2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
+
+ * adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
+ raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment
+ typos.
+
+2005-03-30 Tom Tromey <tromey@redhat.com>
+
+ * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
+
+2005-03-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Resolve_Real_Literal): Generate warning if static
+ fixed-point expression has value that is not a multiple of the Small
+ value.
+
+ * opt.ads (Warn_On_Bad_Fixed_Value): New flag
+
+ * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
+ nanoseconds.
+
+ * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
+
+2005-03-29 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
+ (Build_Dynamic_Library.Version_String): Return the empty string when
+ Lib_Version is empty or when the symbol policy is not Autonomous.
+
+ * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
+ a symbol is not in the reference symbol file, increase the Major ID
+ and set the Minor ID to 0.
+ Use gsmatch=lequal instead of gsmatch=equal
+
+2005-03-29 Doug Rupp <rupp@adacore.com>
+
+ * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
+ name and translate.
+
+2005-03-29 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
+ (Inherit_DT): The first formal has been redefined as a Tag.
+ This allows us the removal of the subprogram Get_TSD.
+ (TSD): Replace the call to Get_TSD by the actual code.
+
+ * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
+ (Make_DT): Upgrade the call to Inherit_TSD according to the
+ new interface: the first formal is now a Tag.
+
+ * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
+ redefined as a Tag.
+ This change allows us to remove the subprogram Get_TSD.
+ (CPP_Get_TSD): Subprogram removed.
+ (TSD): Replace the call to CPP_Get_TSD by the actual code.
+
+ * rtsfind.ads: Remove support to call the run-time
+ subprogram Get_TSD
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * errutil.adb, errout.adb:
+ Minor comment updates on Line_Terminator references
+
+ * par-ch10.adb: Add ??? comment about line terminator
+
+ * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
+ (check dos line terminator).
+ (Check_Line_Max_Length): New procedure, split off from the existing
+ Check_Line_Terminator routine. Separating this out allows -gnatyf to
+ be properly recognized.
+
+ * styleg.adb: Add ??? comment for line terminator reference
+
+ * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
+ (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
+
+ * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
+ (check dos line terminator).
+ (Check_Line_Max_Length): New procedure, split off from the existing
+ Check_Line_Terminator routine. Separating this out allows -gnatyf to
+ be properly recognized.
+
+ * stylesw.ads, stylesw.adb:
+ Add handling for new -gnatyd switch (check dos line terminator)
+
+ * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
+ Recognize -gnatwb/-gnatwB switches
+ Include Warn_On_Bad_Fixed_Value for -gnatg
+
+ * usage.adb:
+ Add line for new -gnatyd switch (check dos line terminator)
+
+ * usage.adb: Add lines for -gnatwb/-gnatwB
+
+ * vms_data.ads: Add entry for NOCRLF (-gnatyd)
+
+ * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
+
+ * gnat_ugn.texi: Fix overlong lines
+ Document new -gnatyd switch
+ Document new -gnatwb/-gnatwB switches
+
+2005-03-29 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
+ order to retrieve the component list of the type, before examining
+ individual components.
+
+ * sem_type.adb (Covers): Types are compatible if one is the base type
+ of the other, even though their base types might differ when private
+ views are involved.
+
+2005-03-29 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
+ To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
+ of using Set_Renaming_TSS. This ensures that the TSS bodies are not
+ analyzed if expansion is disabled (which could otherwise cause spurious
+ error messages if expansion has been disabled due to previous
+ (unrelated) errors).
+
+ * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
+ is disabled, the entity denoted by the argument is the access type
+ itself, not an underlying record type, so there is no need to go back
+ to the Corresponding_Remote_Type.
+
+2005-03-29 Gary Dismukes <dismukes@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
+ expand a call to an instance of
+ Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
+ Constructor actual of the instance. A class-wide membership
+ check is also generated, to ensure that the tag passed to the instance
+ denotes a type in the class.
+ (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
+ of Name_Generic_Dispatching_Constructor.
+
+ * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
+ 05 unit for AI-260-02).
+
+ * a-tgdico.ads: New file.
+
+ * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
+ predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
+
+ * snames.ads, snames.adb (Preset_Names): Add entry for
+ Generic_Dispatching_Constructor.
+
+ PR ada/20300
+ * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
+ character type cases.
+ (Analyze_Subprogram_Renaming): Add special handling for
+ the case of renaming of stream attributes when the renaming denotes a
+ generic formal subprogram association for an abstract formal subprogram.
+ Check that the attribute is a primitive stream attribute (and not
+ a class-wide stream attribute) and then rewrite the attribute name
+ as the name of the appropriate compiler-generated stream primitive.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
+ recursive calls.
+ (Is_Possibly_Unaligned_Object): Correct typo that
+ resulted in inaccurate result for unaligned scalars within records.
+
+2005-03-29 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): If the type of the component is an
+ itype whose parent is controlled and not yet frozen, do not create a
+ freeze node for the itype if expansion is disabled.
+
+2005-03-29 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): Don't fail if the main project file is declared
+ as having no Ada sources. Do not display message "no sources to
+ compile" in quiet output.
+
+2005-03-29 Doug Rupp <rupp@adacore.com>
+
+ * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
+ extra tools.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * par-ch12.adb (P_Generic): Give better msg for illegal private generic
+ child.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
+ missing TYPE Improve the error message generated when compiling a
+ limited interface in Ada83 or Ada95 mode.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
+ rather than proceed ahead using a junk attribute name.
+
+2005-03-29 Vincent Celier <celier@adacore.com>
+
+ * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
+
+ * prj-part.adb (Parse_Single_Project): Set the location of a project
+ on its defining identifier, rather than on the reserved word "project".
+
+ * prj-proc.adb (Expression): Adapt to the fact that default of external
+ references may be string expressions, not always literal strings.
+ (Recursive_Process): Set Display_Name equal to Name
+ when Location is No_Location, that is when there is no actual file.
+ Get the Display_Name of the project from the source, when it is not a
+ virtual project.
+ (Process): Use the Display_Name in error messages
+
+ * prj-strt.adb (External_Reference): Allow default to be string
+ expressions, not only literal strings.
+
+2005-03-29 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
+ file and the reference symbol file to be the same file.
+
+2005-03-29 Thomas Quinot <quinot@adacore.com>
+
+ * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
+ forbid conversion of a local access-to-subprogram type to a remote one.
+
+ * sem_util.adb (Wrong_Type): For a record type that is the expanded
+ equivalent type for a remote access-to-subprogram type, go back to the
+ original RAS entity when displaying an error message, so the casing is
+ the original source casing.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
+ on param update.
+
+2005-03-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
+ subtype if code is being pre-analyzed, to prevent un-expanded
+ references to protected formals, among others.
+ (Analyze_Explicit_Dereference): If the overloaded prefix includes some
+ interpretation that can be a call, include the result of the call as a
+ possible interpretation of the dereference.
+
+ * sem_ch5.adb (Process_Bounds): Determine type of range by
+ pre-analyzing a copy of the original range, and then analyze the range
+ with the expected type.
+
+ * sem_res.adb (Check_Parameterless_Call): For an explicit dereference
+ with an overloaded prefix where not all interpretations yield an
+ access to subprogram, do not rewrite node as a call.
+ (Resolve_Explicit_Dereference): Recognize the previous case and rewrite
+ the node as a call once the context identifies the interpretation of
+ the prefix whose call yields the context type.
+ (Valid_Conversion): For the case of a conversion between
+ local access-to-subprogram types, check subtype conformance using
+ Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
+ detailed error message.
+
+2005-03-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
+ indicator, indicate that the formal can never be null.
+ (Process_Formals): If a formal has a non_null indicator, insert the
+ resulting subtype immediately before the enclosing subprogram decl,
+ and not at the beginning of the corresponding declarative part, to
+ prevent access before elaboration (Ada2005).
+
+2005-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ PR ada/19956
+ * utils.c (finish_record_type): Use variable_size when setting sizes.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
+ guarantee Unix style line terminators for the output files, even when
+ running on windows.
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
+ buffer if an exception is raised.
+
+2005-03-29 Ed Falis <falis@adacore.com>
+
+ * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
+ VxWorks 653 1.4
+
+2005-03-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads: Minor reformatting
+ * gnat_rm.texi: Minor editing.
+
+2005-03-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
+ * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
+
+2005-03-24 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * adaint.c (__gnat_portable_spawn): Adjust cast.
+
+2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
+
+ * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
+
+2005-03-17 Pascal Obry <obry@adacore.com>
+
+ * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
+ used.
+
+ * expect.c (__gnat_waitpid): Moved here from adaint.c.
+ Reimplement under Win32 using Win32 API.
+
+ (__gnat_kill) [Win32]: Properly close the process handle before leaving
+ this routine.
+
+2005-03-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
+ (DECL_RENAMED_OBJECT): New accessor macro.
+ (SET_DECL_RENAMED_OBJECT): New setter macro.
+
+ * decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
+ object in all cases. Attach the renamed object to the VAR_DECL.
+ (gnat_to_gnu_field): Do not lift the record wrapper if the size of the
+ field is not prescribed.
+
+ * misc.c (gnat_handle_option): Handle -gnatO separately.
+ (gnat_print_decl) <VAR_DECL>: New case.
+ Print the DECL_RENAMED_OBJECT node.
+
+ * lang.opt: Declare separate -gnatO option.
+
+ * trans.c (tree_transform) <N_Identifier>: If the object is a renaming
+ pointer, replace it with the renamed object.
+ <N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
+ pointer type if the source is not a fat pointer type whose underlying
+ array has the same non-zero alias set as that of the destination array.
+
+2005-03-17 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
+ (Get_Inheritance_Depth): Removed.
+ (Set_Inheritance_Depth): Removed.
+
+ * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
+ subprogram Get_Expanded_Name because it is not referenced by the
+ frontend.
+
+ * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
+ (CPP_Get_Inheritance_Depth): Removed.
+ (CPP_Set_Inheritance_Depth): Removed.
+
+ * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
+
+2005-03-17 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
+ 3, since we now expect GCC 3 to do all the work.
+
+2005-03-17 Javier Miranda <miranda@adacore.com>
+
+ * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
+ of one barrier to avoid wrong usage of this attribute.
+
+ * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
+ First_Private_Entity.
+
+ * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
+ the subprogram against wrong usage.
+ Adapt the code to traverse the entities in the
+ scope of a record_type because in addition to its usage regarding
+ packages, this subprogram is also called by Expand_N_Freeze_Entity
+ to install the visible declarations of the enclosing scope of a
+ record_type_with_private to establish the proper visibility before
+ freezing the entity and related subprograms.
+
+2005-03-17 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
+ entry formals.
+
+2005-03-17 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch3.adb (Check_Attr): New subprogram.
+ (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
+ into a new Check_Attr subprogram, in order to provide a more
+ explanatory error message (including the name of the missing attribute).
+ (Stream_Operation_OK): Renamed from Stream_Operations_OK. This
+ subprogram determines whether a default implementation exists for a
+ given stream attribute.
+ (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
+ Determine whether to generate a default implementation for each stream
+ attribute separately, as this depends on the specific attribute.
+
+ * exp_strm.adb (Make_Field_Attribute): For the case of an illegal
+ limited extension where a stream attribute is missing for a limited
+ component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
+ generate a bogus reference to the missing attribute to prevent
+ cascaded errors. Instead, generate a null statement.
+
+ * sem_attr.adb (Check_Stream_Attribute): A stream attribute is
+ available for a limited type if it has been specified for an ancestor
+ of the type.
+
+2005-03-17 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
+ entity is an operator.
+
+2005-03-17 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
+ spec, to make this predicate available to other units.
+
+ * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
+ reimplementing it.
+
+ * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
+ when no distribution runtime library is available.
+
+ * sem_res.adb, sem_dist.adb: Disable expansion of remote
+ access-to-subprogram types when no distribution runtime library is
+ available.
+ (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
+ predicate available to other units.
+
+ * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
+ spec, to make this predicate available to other units.
+
+2005-03-17 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Insert_Project_Sources): Make sure the Q is always
+ initialized.
+
+ * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
+ the default for the tree, not the global default naming.
+
+ * prj-proc.adb (Recursive_Process): No need to put the default naming
+ in the project data, it's already there.
+
+2005-03-17 Doug Rupp <rupp@adacore.com>
+
+ * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
+
+ * 5xcrtl.ads: Renamed to...
+ * s-crtl-vms64.ads: ...this new file
+
+2005-03-17 Robert Dewar <dewar@adacore.com>
+
+ PR ada/19519
+ * namet.adb (Copy_One_Character): Set proper wide character encoding
+ for upper half character if we have upper half encoding.
+
+2005-03-17 Robert Dewar <dewar@adacore.com>
+
+ * par.adb (Par): Improved msg for attempt to recompile predefined unit
+
+2005-03-17 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
+ tagged limited type, the TSS is a newly built renaming declaration:
+ insert it using Set_TSS, not Copy_TSS.
+
+2005-03-17 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
+ Try_Object_Operation): Analyze the object that is accessible
+ through the prefix of the subprogram call before we apply
+ the transformation of the object-operation notation.
+
+2005-03-17 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprob.adb (Initialize_Protection): Initialize the protected
+ object's owner to Null_Task.
+ (Lock): If pragma Detect_Blocking is in effect and the caller of this
+ procedure is already the protected object's owner then Program_Error
+ is raised. In addition the protected object's owner is updated.
+ (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
+ of this procedure is already the protected object's owner then
+ Program_Error is raised.
+ In addition the protected object's owner is updated.
+ (Unlock): Remove the ownership of the protected object.
+
+ * s-taprob.ads (Protection): Add the field Owner, used to store the
+ protected object's owner.
+ This component is needed for detecting one type of potentially blocking
+ operations (external calls on a protected subprogram with the same
+ target object as that of the protected action). Document the rest of
+ the components.
+
+ * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
+ Initialize the protected object's owner to Null_Task.
+ (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
+ caller of this procedure is already the protected object's owner then
+ Program_Error is raised.
+ Do not raise Program_Error when this procedure is called from a
+ protected action.
+ (Unlock_Entries): Remove the ownership of the protected object.
+ (Lock_Entries): If pragma Detect_Blocking is in effect and the caller
+ of this procedure is already the protected object's owner then
+ Program_Error is raised.
+ Do not raise Program_Error when this procedure is called from
+ a protected action.
+
+ * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
+ used to store the protected object's owner.
+
+ * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
+ effect and this procedure (a potentially blocking operation) is called
+ from whithin a protected action, Program_Error is raised.
+ (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
+ and this procedure (a potentially blocking operation) is called from
+ whithin a protected action, Program_Error is raised.
+
+2005-03-17 Vincent Celier <celier@adacore.com>
+ Nicolas Setton <setton@adacore.com>
+
+ * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
+ switch, not supported by the linker on Darwin. Add '_' before
+ <library>init, as this character is added unconditionally by the
+ compiler.
+ (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
+ correct one ".dylib". This fixes detection of the archive files when
+ building library projects.
+
+2005-03-17 Vincent Celier <celier@adacore.com>
+
+ * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
+ -gnat83, -gnat95 and -gnat05.
+
+2005-03-17 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * gnat_ugn.texi: Document gnatmem restriction
+
+2005-03-17 Thomas Quinot <quinot@adacore.com>
+
+ * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
+ cleanup
+
+2005-03-17 Robert Dewar <dewar@adacore.com>
+
+ * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
+ a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
+ s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
+
+ * casing.adb: Comment improvements
+
+2005-03-17 Pascal Obry <obry@adacore.com>
+
+ * g-expect.adb: Minor reformatting.
+
+2005-03-15 Zack Weinberg <zack@codesourcery.com>
+
+ * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
+ (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
+ to dependencies.
+
+2005-03-15 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
+ Add new parameter In_Tree to specify the project tree: needed
+ by the project manager. Adapt to changes in project manager
+ using new parameter In_Tree.
+
+2005-03-15 Jakub Jelinek <jakub@redhat.com>
+
+ * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
+ ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
+ ada/bldtools to avoid make -jN failures.
+
+2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
+ to NULL_TREE on entry.
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
+ system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
+ system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
+ system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
+ system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
+ system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
+ system-interix.ads, system-solaris-sparc.ads,
+ system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
+ system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
+ system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
+ system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
+ system-linux-s390.ads, system-linux-s390x.ads: Add line defining
+ Compiler_System_Version to be False.
+
+ * opt.ads: Add new flag Opt.Address_Is_Private
+
+ * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
+ Add new parameter Compiler_System_Version to avoid checking for
+ completeness of parameters when compiler is compiling itself.
+ Allows old versions of GNAT to be compiled with new compiler.
+
+2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
+ (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
+ calling thread.
+ (Stack_Base_Available): New flag.
+ (Get_Page_Size): New overloaded functions imported from C.
+ (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
+ PROT_ON, PROT_OFF): New constants.
+ (mprotect): New function imported from C.
+ (pthread_teb_t): New record type.
+
+ * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
+ (Create_Task): Account for the Yellow Zone and the guard page.
+
+2005-03-15 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+ mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
+ mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
+ mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
+ Library_File_Name_For): Add new parameter In_Tree
+ to specify the project tree: needed by the project manager.
+ Adapt to changes in project manager using new parameter In_Tree.
+ Remove local imports, use functions in System.CRTL.
+
+ * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
+ to use the project manager.
+
+ * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
+ In_Tree to designate the project tree. Adapt to changes in the project
+ manager, using In_Tree.
+
+ * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
+ Copy_Interface_Sources): Add new parameter In_Tree to specify the
+ project tree: needed by the project manager.
+ (Build_Library): Check that Arg'Length >= 6 before checking if it
+ contains "--RTS=...".
+
+ * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
+ Library_File_Name_For): Add new parameter In_Tree to specify the
+ project tree: needed by the project manager.
+
+ * prj.ads, prj.adb: Major modifications to allow several project trees
+ in memory at the same time.
+ Change tables to dynamic tables and hash tables to dynamic hash
+ tables. Move tables and hash tables from Prj.Com (in the visible part)
+ and Prj.Env (in the private part). Move some constants from the visible
+ part to the private part. Make other constants deferred.
+ (Project_Empty): Make it a variable, not a function
+ (Empty_Project): Add parameter Tree. Returns the data with the default
+ naming data of the project tree Tree.
+ (Initialize): After updating Std_Naming_Data, copy its value to the
+ component Naming of Project Empty.
+ (Register_Default_Naming_Scheme): Use and update the default naming
+ component of the project tree, instead of the global variable
+ Std_Naming_Data.
+ (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
+ Tree is not defaulted, return the default naming data of the Tree.
+ (Initial_Buffer_Size): Constant moved from private part
+ (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
+ variables initialized in procedure Initialize.
+ (Add_To_Buffer): Add two in out parameters to replace global variables
+ Buffer and Buffer_Last.
+ (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
+ functions.
+ Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
+ hash tables.
+ (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
+ for the project tree.
+ (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
+ constant at the beginning of the package spec, so that they cane be used
+ in subprograms before their full declarations.
+ (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
+ (Empty_Project): Add parameter of type Project_Node_Ref
+ (Private_Project_Tree_Data): Add component Default_Naming of type
+ Naming_Data.
+ (Buffer, Buffer_Last): remove global variables
+ (Add_To_Buffer): Add two in out parameters to replace global variables
+ Buffer and Buffer_Last.
+ (Current_Packages_To_Check): Remove global variable
+ (Empty_Name): Move to private part
+ (No-Symbols): Make it a constant
+ (Private_Project_Tree_Data): New type for the private part of the
+ project tree data.
+ (Project_Tree_Data): New type for the data of a project tree
+ (Project_Tree_Ref): New type to designate a project tree
+ (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
+ for the project tree.
+
+ * prj-attr.ads: Add with Table; needed, as package Prj no longer
+ imports package Table.
+
+ * prj-com.adb: Remove empty, no longer needed body
+
+ * prj-com.ads: Move most of the content of this package to package Prj.
+
+ * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
+ designate the project node tree and Packages_To_Check to replace
+ global variable Current_Packages_To_Check.
+ Add new parameters In_Tree and Packages_To_Check to local subprograms,
+ when needed. Adapt to changes in project manager with project node tree
+ In_Tree.
+
+ * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
+ project tree to most subprograms. Move tables and hash tables to
+ private part of package Prj.
+ Adapt to changes in project manager using project tree In_Tree.
+
+ * prj-makr.adb (Tree): New constant to designate the project node tree
+ Adapt to change in project manager using project node tree Tree
+
+ * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
+ display the Library_Src_Dir and the Library_Dir.
+ Add new parameter In_Tree to designate the project node tree to most
+ subprograms. Adapt to changes in the project manager, using project tree
+ In_Tree.
+ (Check_Naming_Scheme): Do not alter the casing on platforms where
+ the casing of file names is not significant.
+ (Check): Add new parameter In_Tree to designate the
+
+ * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
+ designate the project tree.
+ Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
+
+ * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
+ to replace those that were in the private part of package Prj.
+ Add new parameter In__Tree to designate the project node tree to most
+ subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
+ (Post_Parse_Context_Clause): When specifying the project node of a with
+ clause, indicate that it is a limited with only if there is "limited"
+ in the with clause, not necessarily when In_Limited is True.
+ (Parse): Add new parameter In_Tree to designate the project node tree
+
+ * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
+ designate the project node tree. Adapt to change in Prj.Tree with
+ project node tree In_Tree.
+
+ * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
+ tree In_Tree in the call to function Empty_Process to give its initial
+ value to the project data Processed_Data.
+ Add new parameters In_Tree to designate the project tree and
+ From_Project_Node_Tree to designate the project node tree to several
+ subprograms. Adapt to change in project manager with project tree
+ In_Tree and project node tree From_Project_Node_Tree.
+
+ * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
+ to replace those that were in the private part of package Prj.
+ Add new parameter In_Tree to designate the project node tree to most
+ subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
+
+ * prj-tree.ads, prj-tree.adb: Add new parameter of type
+ Project_Node_Tree_Ref to most subprograms.
+ Use this new parameter to store project nodes in the designated project
+ node tree.
+ (Project_Node_Tree_Ref): New type to designate a project node tree
+ (Tree_Private_Part): Change table to dynamic table and hash tables to
+ dynamic hash tables.
+
+ * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
+ the project tree to most subprograms. Adapt to changes in project
+ manager using project tree In_Tree.
+
+ * makegpr.adb (Project_Tree): New constant needed to use project
+ manager.
+
+2005-03-15 Olivier Hainque <hainque@adacore.com>
+
+ * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
+ for sigactions with SA_SIGINFO set. Call
+ __gnat_adjust_context_for_raise before raising, to perform the
+ potentially required adjustments to the machine context for the GCC
+ unwinder.
+
+ * raise.h (__gnat_adjust_context_for_raise): New prototype.
+
+ * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
+ Adjust PC by one in the provided machine context.
+ (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
+ so that the handler is passed the context structure to adjust prior to
+ the raise.
+ (__gnat_error_handler) HPUX: Adjust the signature to match what an
+ SA_SIGINFO sigaction should look like. Call
+ __gnat_adjust_context_for_raise before actually raising.
+ (__gnat_adjust_context_for_raise): Default noop to help PC
+ adjustments before raise from signal handlers.
+ (__gnat_error_handler): Indirectly call a predicate function to
+ determine if a condition should be resignaled or not.
+ (__gnat_set_resignal_predicate): User interface to modify the predicate.
+ (__gnat_default_resignal_p): Default GNAT predicate.
+
+2005-03-15 Doug Rupp <rupp@adacore.com>
+
+ * adaint.c: Prefix #include of VMS system header files with vms/
+ [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
+ Do not define a dummy function "convert_addresses" under Darwin,
+ not needed.
+
+ * tb-alvms.c, expect.c: Prefix #include of VMS system header files
+ with vms/
+
+2005-03-15 Nicolas Setton <setton@adacore.com>
+
+ * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
+ PPC/AIX.
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
+ AI-386.
+
+ * a-retide.ads: Minor comment changes
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
+ a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
+ Realloc_For_Chunk to private part of package.
+ New subprograms for AI-301
+
+ * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
+ Get_Line procedure.
+ Avoid unnecessary use of Get/Set_Wide_String
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ PR ada/13470
+ * a-stunau.ads, a-stunau.adb:
+ Change interface to allow efficient (and correct) implementation
+ The previous changes to allow extra space in unbounded strings had
+ left this interface a bit broken.
+
+ * a-suteio.adb: Avoid unnecessary use of Get/Set_String
+
+ * g-spipat.ads, g-spipat.adb: New interface for Get_String
+ Minor reformatting (function specs)
+
+ * g-spitbo.adb: New interface for Get_String
+
+ * g-spitbo.ads: Minor reformatting
+
+ * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
+
+ * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
+
+2005-03-15 Javier Miranda <miranda@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * atree.ads, atree.adb: Add support for Elist24 field
+
+ * atree.h: Fix wrong definition of Field27
+ Add support for Elist16 field
+ Add support for Elist24 field
+
+ * einfo.ads, einfo.adb (Abstract_Interfaces,
+ Set_Abstract_Interfaces): New subprograms.
+ (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
+ subprograms.
+ (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
+ entities rather than a single node.
+ (Is_Interface, Set_Is_Interface): New subprogram
+ (First_Tag_Component): New syntesized attribute
+ (Next_Tag_Component): New synthesized attribute
+ (Write_Entity_Flags): Upgraded to write Is_Interface
+ (Write_Field24_Name): Upgraded to write Abstract_Interfaces
+ (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
+ (Task_Body_Procedure): New subprogram to read this attribute.
+ (Set_Task_Body_Procedure): New subprogram to set this attribute.
+ (Has_Controlled_Component): Now applies to all entities.
+ This is only a documentation change, since it always worked to apply
+ this to other than composite types (yielding false), but now this is
+ official.
+ Update documentation on Must_Be_Byte_Aligned for new spec
+
+ * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
+ exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
+ uses of the Access_Disp_Table attribute to reference the first dispatch
+ table associated with a tagged type. As
+ part of the implementation of abstract interface types,
+ Access_Disp_Table has been redefined to contain a list of dispatch
+ tables (rather than a single dispatch table).
+ Similarly, upgrade all the references to Tag_Component by the
+ new attribute First_Tag_Component.
+ (Find_Inherited_TSS): Moved to exp_tss.
+ Clean up test in Expand_N_Object_Declaration for cases
+ where we need to do a separate assignment of the initial value.
+ (Expand_N_Object_Declaration): If the expression in the
+ declaration of a tagged type is an aggregate, no need to generate an
+ additional tag assignment.
+ (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
+ is to be deleted.
+ Bit packed array ops are only called if operands are known to be
+ aligned.
+ (Component_Equality): When returning an N_Raise_Program_Error statement,
+ ensure that its Etype is set to Empty to avoid confusing GIGI (which
+ expects that only expressions have a bona fide type).
+ (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
+ determine the amount of data to be copied.
+
+ * par.adb (P_Interface_Type_Definition): New subprogram that parses the
+ new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
+ INTERFACE_TYPE_DEFINITION ::=
+ [limited | task | protected | synchronized] interface
+ [AND interface_list]
+
+ * par-ch3.adb (P_Type_Declaration): Modified to give support to
+ interfaces.
+ (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
+ interfaces.
+ (P_Interface_Type_Definition): New subprogram that parses the new
+ syntax rule of Ada 2005 interfaces
+ (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
+ messages by the correct RENAMES (quotes removed).
+
+ * sem_prag.adb: Upgrade all the references to Tag_Component by the new
+ attribute First_Tag_Component.
+
+ * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
+ (Interface_List, Set_Interface_List): New subprograms.
+ (Interface_Present, Set_Interface_Present): New subprograms.
+ (Limited_Present, Set_Limited_Present): Available also in derived
+ type definition nodes.
+ (Protected_Present, Set_Protected_Present): Available also in
+ record type definition and
+ derived type definition nodes.
+ (Synchronized_Present, Set_Synchronized_Present): New subprograms.
+ (Task_Present, Set_Task_Present): New subprogram.
+ (Task_Body_Procedure): Removed.
+ (Set_Task_Body_Procedure): Removed.
+ These subprogram have been removed because the attribute
+ Task_Body_Procedure has been moved to the corresponding task type
+ or task subtype entity to leave a field free to store the list
+ of interfaces implemented by a task (for AI-345)
+ Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
+ (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
+ expression flag Do_Range_Check
+ (Exception_Junk): Change to Flag7 to accomodate above change
+ (Box_Present, Default_Name, Specification, Set_Box_Present,
+ Set_Default_Name, Set_Specification): Expand the expression
+ "X in N_Formal_Subprogram_Declaration" into the corresponding
+ two comparisons. Required to use the csinfo tool.
+
+ * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
+ "with string" given.
+
+ * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
+ expression given.
+
+ * par-ch11.adb (P_Raise_Statement): Recognize with string expression
+ in 2005 mode
+
+ * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
+ attribute Task_Body_Procedure rather than the old semantic field that
+ was available in the task_type_declaration node.
+
+ * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
+ interface type definitions.
+ (P_Formal_Derived_Type_Definition): Modified to handle the list of
+ interfaces.
+
+ * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
+ task type declaration.
+ (P_Protected): Modified to handle the list of interfaces in a
+ protected type declaration.
+
+2005-03-15 Doug Rupp <rupp@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
+ (Gen_Output_File_C): Likewise.
+ (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
+
+2005-03-15 Thomas Quinot <quinot@adacore.com>
+
+ * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
+ is an N_Raise_Constraint_Error node, create a new copy of it without
+ going through a call to Duplicate_Subexpr.
+
+2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Nicolas Setton <setton@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/19900
+ PR ada/19408
+ PR ada/19140
+ PR ada/20255
+ * decl.c (gnat_to_gnu_field): Reject aliased components with a
+ representation clause that prescribes a size not equal to the rounded
+ size of their types.
+ (gnat_to_gnu_entity, case E_Component): Always look at
+ Original_Record_Component if Present and not the entity.
+ (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
+ of tagged extension types by not making field for components that are
+ inside the parent.
+ (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
+ (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
+ expression to the type of the object when the object is constant.
+ Reverse defer_debug_incomplete_list before traversing it, so that trees
+ are processed in the order at which they were added to the list. This
+ order is important when using the stabs debug format.
+ If we are deferring the output of debug information, also defer this
+ output for a function return type.
+ When adding fields to a record, prevent emitting debug information
+ for incomplete records, emit the information only when the record is
+ complete.
+ (components_to_record): New parameter defer_debug.
+ (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
+ (gnat_to_gnu_field_decl): New function.
+ (substitution_list, annotate_rep): Call it.
+ (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
+ (gnat_to_gnu_entity, case E_Record_Type): Likewise.
+ No longer update discriminants to not be a COMPONENT_REF.
+ (copy_alias_set): Strip padding from input type; also handle
+ unconstrained arrays properly.
+
+ * gigi.h (write_record_type_debug_info): New function.
+ Convert to use ANSI-style prototypes. Remove unused
+ declarations for emit_stack_check, elab_all_gnat and
+ set_second_error_entity.
+ (gnat_to_gnu_field_decl): New decl.
+
+ * utils.c (write_record_type_debug_info): New function.
+ (finish_record_type): Delegate generation of debug information to
+ write_record_type_debug_info.
+ (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
+ (update_pointer_to): Fix pasto.
+ (convert) <UNION_TYPE>: Accept slight type variations when
+ converting to an unchecked union type.
+
+ * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
+ replace the N_Freeze_Entity with a null statement.
+
+ * freeze.adb (Freeze_Expression): If the freeze nodes are generated
+ within a constrained subcomponent of an enclosing record, place the
+ freeze nodes in the scope stack entry for the enclosing record.
+ (Undelay_Type): New Subprogram.
+ (Set_Small_Size): Pass T, the type to modify; all callers changed.
+ (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
+ within records; allow them to have freeze nodes if their base types
+ aren't frozen yet.
+
+ * exp_util.adb (Remove_Side_Effects): Properly test for
+ Expansion_Delayed and handle case when it's inside an
+ N_Qualified_Expression.
+
+ * sem_ch3.adb (Derived_Type_Declaration): New predicate
+ Comes_From_Generic, to recognize accurately that the parent type in a
+ derived type declaration can be traced back to a formal type, because
+ it is one or is derived from one, or because its completion is derived
+ from one.
+ (Constrain_Component_Type): If component comes from source and has no
+ explicit constraint, no need to constrain in in a subtype of the
+ enclosing record.
+ (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
+ Minor change to propagate Is_Ada_2005 flag
+
+ * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
+ Expansion_Delayed is False.
+ (assoc_to_constructor): Ignore fields that have a
+ Corresponding_Discriminant.
+ (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
+ function returns "by target", dereference the target pointer using the
+ type of the actual return value.
+ <all>: Be prepared for a null gnu_result.
+ (processed_inline_subprograms): Check flag_really_no_inline
+ instead of flag_no_inline.
+ (set_second_error_entity): Remove unused function.
+ (gnat_to_gnu, case N_Selected_Component): Call
+ gnat_to_gnu_field_decl.
+ (assoc_to_constructor): Likewise.
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * exp_pakd.adb (Create_Packed_Array_Type): Do not set
+ Must_Be_Byte_Aligned for cases where we do not need to use a
+ System.Pack_nn unit.
+
+ * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
+ as procedures.
+ Needed now that we do some processing for IN parameters as well. This
+ may well fix some unrelated errors.
+ (Expand_Call): Handle case of unaligned objects (in particular those
+ that come from packed arrays).
+ (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
+ renamed entity is an inherited operation, re-expand the call using the
+ original operation, which is the one to call.
+ Detect attempt to inline parameterless recursive subprogram.
+ (Represented_As_Scalar): Fix to work properly with private types
+ (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
+ accurate estimate. Yields True in far fewer cases than before,
+ improving the quality of code that depends on this test.
+
+ * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
+ over both visible and private declarations to remove them from tree,
+ and mark subprograms declared in package as eliminated, to prevent
+ spurious use in subsequent compilation of generic units in the context.
+
+ * exp_util.ads: Minor cleanup in variable names
+
+ * sem_eval.ads, sem_eval.adb: Minor reformatting
+ (Compile_Time_Known_Bounds): New function
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch7.adb (Convert_View): Use base types of underlying types when
+ determining whether an unchecked conversion is needed for the argument
+ of an initialization call.
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
+ that appears in the instantiation rather than the internal subtype
+ generated in the wrapper package, to avoid anomalies in gigi when the
+ target is derived from a private type whose full view is an access type.
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
+ not needed.
+ Add documentation to replace the use of this flag
+ Fix kludge for Maximum_Alignment on x86 so that it does not apply to
+ the x86_64.
+
+2005-03-15 Thomas Quinot <quinot@adacore.com>
+
+ * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
+ here from exp_attr so it can be shared between exp_attr and exp_dist.
+ (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
+ all TSS names, not a subset thereof, and the previous name introduced
+ an unnecessarily confusion that a distinction might exist between
+ "OK" TSS names and some "not OK" TSS names.
+
+2005-03-15 Doug Rupp <rupp@adacore.com>
+
+ * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
+ Command_Name.
+
+2005-03-15 Pascal Obry <obry@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/20226
+ PR ada/20344
+ * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
+ when IN_RTS. This is to work around a bootstrap path problem.
+
+ * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
+ table and pass it to __gnat_install_SEH_handler().
+ (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
+
+ * lang.opt: Fix specification of -fRTS=.
+
+2005-03-15 Doug Rupp <rupp@adacore.com>
+ Bernard Banner <banner@adacore.com>
+ Vincent Celier <celier@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/6852
+ This change works fine when gnatlib is built from the gcc directory,
+ but does not work when using the libada Makefile, since GCC_FOR_TARGET
+ is not passed to ada/Makefile.in, so more work is needed by a
+ Makefile/configure expert.
+
+ * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
+ set GMEM_LIB on ia64 linux to add optional support for gnatmem.
+ Setup gnatlink switch -M for x86_64 linux, as it is already setup
+ for Linux x86.
+ (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
+ Run ranlib on libgccprefix.a
+ Define PREFIX_OBJS for Darwin, to build libgccprefix.
+ (ADA_INCLUDE_SRCS): Split Ada packages.
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
+
+ * impunit.adb: Add GNAT.UTF_32
+
+ * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
+
+ * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
+ now uses GNAT.UTF_32).
+
+ * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
+ capabilities for categorizing characters using Unicode categories
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
+ instantiation that has been rewritten as a package body, retrieve spec
+ to generate proper name for implicit_with_clause.
+ (Install_Parents): Recognize a parent that is an instantiation but has
+ been rewritten as a package declaration during analysis.
+
+2005-03-15 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
+ parameter reported some error we immediately return. This improves the
+ behaviour of the frontend in case of errors.
+ (Install_Parent, Remove_Parent): Introduce new flag
+ Parent_Unit_Visible, to preserve the proper visibility of the ultimate
+ ancestor of a generic child unit, when the child is being instantiated.
+ (Inline_Instance_Body): If we are compiling the private
+ part or the body of a child unit, restore the proper visibility of the
+ parents after compiling the instance body.
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+
+ PR ada/15608
+ * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
+ of a private type, in which case it is underlying_type that denotes
+ the proper task. Also modified to use the new entity attribute
+ that is directly available in the task type and task subtype entities
+ (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
+ arrays when other dimensions than the first are constrained by
+ discriminants of an enclosing record.
+ (Insert_Explicit_Dereference): If the prefix is an indexed component or
+ a combination of indexed and selected components, find ultimate entity
+ and generate the appropriate reference for it, to suppress spurious
+ warnings.
+ (Note_Possible_Modification): If an entity name has no entity, return.
+ (Is_Variable): A function call never denotes a variable.
+ (Requires_Transient_Scope): For record types, recurse only on
+ components, not on internal subtypes that may have been generated for
+ constrained components.
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
+ Eliminated as candidates for resolution. Both efficient, and avoids
+ anomalies with operators declared in deleted code.
+ (Process_Implicit_Dereference_Prefix): Use this procedure whenever
+ expansion is disabled (as when compiling a generic) to prevent spurious
+ warnings on prefixes of selected components.
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
+ attached to a list before checking whether it appears in the private
+ declarations of the current package.
+ (Make_Inequality_Operator): Insert declaration in proper declarative
+ list rather than just setting the Parent field, so that
+ Is_Private_Declaration can handle it properly.
+
+2005-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
+ a renaming a body, check that the renamed subprogram in not intrinsic.
+ (Find_Direct_Name): If several use_visible entities hide
+ each other, and the context is a predefined file compiled through
+ rtsfind, keep only the entity that comes from a predefined file.
+
+2005-03-15 Geert Bosch <bosch@adacore.com>
+
+ * s-fatgen.adb (Valid): Extend special exceptions to account for long
+ long float padding to also cover AMD64 and IA64.
+
+2005-03-15 Gary Dismukes <dismukes@adacore.com>
+
+ * s-imgwch.adb: Add with and use of Interfaces.
+ (Img_Wide_Character): Change type of Val to Unsigned_16.
+ (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
+
+2005-03-15 Matthew Gingell <gingell@adacore.com>
+
+ * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
+
+ * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
+
+ * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
+
+2005-03-15 Robert Dewar <dewar@adacore.com>
+
+ * s-bitops.adb, s-bitops.ads,
+ s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
+ s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
+ tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
+ s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
+ s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
+ s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
+ s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
+ s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
+ reformatting.
+
+2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils2.c (build_binary_op): Fix typo.
+
+2005-03-15 Doug Rupp <rupp@adacore.com>
+
+ * s-crtl.ads (popen,pclose): New imports.
+
+2005-03-15 Cyrille Comar <comar@adacore.com>
+
+ * comperr.adb (Compiler_Abort): remove references to obsolete
+ procedures in the bug boxes for various GNAT builds.
+
+2005-03-15 Vincent Celier <celier@adacore.com>
+
+ * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
+
+2005-03-15 Geert Bosch <bosch@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+ Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Remove extended inline assembly example, as it was far
+ too specific and long-winded to be appropriate for the GNAT User's
+ Guide.
+ Warn about use of GCC switches not documented in the GNAT User's Guide,
+ as these may cause generated code to not conform to Ada semantics.
+ Remove mention of -gdwarf-2 for sparc64, since this is now the default.
+ Add documentation for -gnat95 and -gnat05 switches
+ Remove paragraph documenting obsolete way to refer to third party
+ libraries.
+ Add a few references to Ada_05 that were missing.
+ Update documentation on -gnatZ/-gnatL.
+ Document limitation when using -m64 under Solaris.
+ Change the "Name Casing" subsection of the pretty-printer section
+ according to the changes in the dictionary processing.
+
+ * gnat_rm.texi: Document the Ada_05 pragma.
+ Section on record representation clauses describes the new more
+ relaxed rules about placement of large packed bit array components.
+ Add documentation of GNAT.UTF_32
+
+2005-03-12 Daniel Berlin <dberlin@dberlin.org>
+
+ * misc.c (gnat_post_options): Turn off structural
+ aliasing for now.
+
+2005-03-08 Laurent Guerby <laurent@guerby.net>
+
+ * system-linux-sparc.ads: Fix typo in previous commit.
+
+2005-03-07 James A. Morrison <phython@gcc.gnu.org>
+ Laurent Guerby <laurent@guerby.net>
+
+ PR ada/20035
+ * system-linux-sparc.ads: New.
+ * Makefile.in: Add sparc linux entry.
+
+2005-02-27 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
+ parameters as unused.
+
+2005-02-26 Nathanael Nerode <neroden@gcc.gnu.org>
+ Partial merge from libada-gnattools-branch:
+
+ 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
+ * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
+ into code in gnattools/Makefile.in. Remove direct dependencies on
+ stamp-tools by tools clauses.
+ 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
+ * config-lang.in: Add gnattools to $lang_dirs.
+
+2005-02-13 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR ada/19942
+ * utils.c (gnat_type_for_mode): Return null instead of ICE because
+ we asked for an unknown mode.
+
+2005-02-12 Richard Henderson <rth@redhat.com>
+
+ * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
+ validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
+
+2005-02-10 Andreas Jaeger <aj@suse.de>
+
+ * init.c (__gnat_initialize): Mark parameter as unused.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+
+ * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
+ * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+
+ * gnatchop.adb (dup, dup2),
+ g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
+
+ * gnatlbr.adb (mkdir),
+ mlib-tgt-vms-ia64.adb (popen, plose): Import with decc$ prefix.
+
+ * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+
+ * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
+
+2005-02-09 Robert Dewar <dewar@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+ Javier Miranda <miranda@adacore.com>
+ Pascal Obry <obry@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Doug Rupp <rupp@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * g-zstspl.ads: New file.
+
+ * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
+
+ * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
+ Ada 95 mode
+ Add definition of Wide_Wide_Space for AI-285
+
+ * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
+ interface (to support Ada 95 and Ada 2005 units).
+ Add Unbounded_IO files
+ Add entries for Wide_Wide packages for AI-285
+ Add list of containers packages to Ada 2005 unit list
+
+ * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
+ support new Unbounded_IO package cleanly.
+
+ * g-utf_32.ads, g-utf_32.adb: New files.
+
+ * Makefile.rtl: Add entry for g-utf_32
+ Add new files for Unbounded_IO
+ Adjust make file for new AI-285 wide wide packages
+ Add AI-302 containers to the run time.
+
+ * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
+ a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
+ subprograms for AI-301.
+
+ * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
+
+ * a-stunau.ads: Minor comment correction
+
+ * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
+ etc.
+ Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
+ (Check_RPC): Update to match changes in expanded code.
+ Clean up unused entity.
+
+ * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
+ was not taken into account.
+ This includes proper initialization with Normalize_Scalars.
+ (Get_Simple_Init_Val): Major rewrite for initialize scalars and
+ normalize scalars cases (particularly the latter) to do a better job
+ of finding invalid representations.
+
+ * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
+
+ * s-strops.ads, s-strops.adb: Remove string normalize routines, never
+ used
+
+ * exp_dist.adb: Add support for wide wide character type
+ (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
+ private part, generate stub bodies at the end of the private part,
+ not the visible part.
+ (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
+ PolyORB support.
+ (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
+ generic wrapper to execute final processing after completing the
+ expansion of the RPC receiver for an RACW.
+
+ * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
+ packages and attributes.
+ (Preset_Names): Addition of the new reserved words of Ada 2005,
+ that is interface, overriding and synchronized.
+ (Get_Pragma_Id): Give support to the use of the new reserved word
+ "interface" as a pragma name.
+ (Is_Pragma_Name): Give support to the use of the new reserved word
+ "interface" as a pragma name.
+ (Preset_Names): Add stream_size string for the Stream_Size Ada2005
+ attribute implementation.
+
+ * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
+ checks to entities that are output parameters of Asm operations.
+ Handle the Stream_Size attribute.
+ Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
+
+ * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
+
+ * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
+ for second parameter being 0.0.
+ Add support for wide wide character type.
+ (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
+
+ * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
+ s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
+ s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
+ s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
+ for wide wide character cases.
+
+ * cstand.adb: Create entities for Wide_Wide_Character and
+ Wide_Wide_String.
+
+ * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
+ accordance with AI-258.
+ Add new declarations for 16/32 bit C character types (Part of AI285)
+
+ * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
+ (Obsolescent_Warning): New field
+ (Rep_Clause): New local subprogram used to share code. Returns the rep
+ clause for which the name is given in parameter.
+ (Has_Stream_Size_Clause): New routine.
+ (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
+ (Address_Clause): Implementation is now using Rep_Clause.
+ (Alignment_Clause): Idem.
+ (Size_Clause): Idem.
+
+ * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
+ entity in non-Ada 2005 mode and generate warning.
+
+ * par-prag.adb: Add handling of one argument form for pragma Ada_05.
+ (Prag): Code cleanup. Remove old gnat pragma "overriding"
+
+ * sem_prag.adb: Add handling of one argument form for pragma Ada_05
+ (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
+ on the named unit if the pragma is not in the current compilation unit,
+ so that elaboration calls in the current unit can set up an elaboration
+ dependency on the named unit, as needed.
+ (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
+ subprogram as well as for subprograms declared within a package.
+ (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
+ pragma overriding.
+
+ * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
+ to z) to avoid some instances of duplication for Wide_Wide packages.
+
+ * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
+ characters.
+
+ * scn.adb: Char_Literal_Value field is now a Uint
+
+ * scng.adb: Significant rewrite to handle new Ada 2005 features
+ allowing wide and wide wide characters in program text, e.g. for
+ identifiers, as described in AI-285.
+ (Set_Reserved): New procedure, makes setting up keywords cleaner.
+ (Initialize_Scanner): Register the new reserved words of Ada 2005.
+ (Scan): Give support to the new reserved words.
+
+ * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
+ warning notifying that interface, overriding, and synchronized are
+ new reserved words.
+ (P_Pragma): Allow the use of the new reserved word "interface" as
+ a pragma name.
+
+ * gnatls.adb, gnatbind.adb,
+ ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
+ identifiers named "interface" to "SAL_Interface".
+
+ * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
+ (Structured Exception handling).
+ (Gen_Main_C): Idem.
+
+ * bindgen.adb:
+ (Gen_Main_Ada): Set the default exit code if specified.
+ (Gen_Main_C): Likewise.
+ Part of *DC20-006.
+ (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
+ Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
+
+ * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
+ new -Xnnn switch.
+
+ * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
+ has a collision with the new Ada 2005 "interface" reserved word.
+
+ * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
+ generate a warning notifying that interface, overriding, and
+ synchronized are new reserved words.
+
+ * scans.ads (Token_Type): Addition of the tokens corresponding to the
+ new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
+ and Tok_Synchronized.
+
+ * sem_res.adb (Resolve_Actuals): Change error messages to refer to
+ "dispatching" rather than "primitive" operations, since dispatching
+ calls are now allowed to abstract formal subprograms (which are not
+ primitive).
+ Char_Literal_Value field is now a Uint
+ (Resolve_Slice): If the prefix is an access to an unconstrained array,
+ compute the actual subtype of the designated object to impose the proper
+ index constraints.
+ (Resolve_Selected_Component): Do not insert an access check if the
+ prefix is an access type: such a node is expanded into an explicit
+ dereference, on which the access check is performed anyway. Removes
+ expensive duplicate checks.
+ (Resolve_Call): Use new flag Is_Obsolescent and field
+ Obsolescent_Warning so that pragma Obsolescent works on library
+ subprograms.
+ Add support for wide wide character type
+ (Resolve_Allocator): Replace the error message on wrong null-exclusion
+ value by a warning message.
+ (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
+ as fixed-point, and one of the operands is non-static and universal, it
+ can only be an illegal exponentiation operation, in which case there is
+ no real value to retrieve.
+
+ * exp_strm.adb: Add support for wide wide character type
+ (Build_Elementary_Input_Call): Compute the size of the stream element by
+ querying the rep chain to find the Stream_Attribute attribute value.
+ (Build_Elementary_Write_Call): Ditto.
+
+ * sem_aggr.adb: Char_Literal_Value field is now a Uint
+ Add support for wide wide character type
+ Replace the error messages on wrong null-exclusion value by warnings
+ as described in Ada 2005.
+ (Resolve_Extension_Aggregate): Document the fact that the error
+ message on class-wide expressions in extensions aggregates.
+
+ * sem_case.adb: Add support for wide wide character type
+
+ * sem_ch13.adb: Add support for wide wide character type
+ (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
+
+ * sem_ch3.adb: Add support for wide wide character type
+ (Process_Subtype): If constraint is illegal for the type, set Ekind of
+ now-useless Itype, to prevent cascaded errors on a compiler built
+ without -gnatp.
+
+ * sem_ch8.adb: Add with and use of Sem_Disp.
+ (Analyze_Subprogram_Renaming): Replace unclean uses of
+ Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
+ of Corresponding_Spec to Empty).
+ (Attribute_Renaming): Replace use of Corresponding_Spec with
+ Corresponding_ Formal_Spec and simplify condition.
+ (Use_One_Package): Check that scope of homonym of identifier is defined,
+ before checking whether it is a wrapper package.
+ Add support for wide wide character type
+
+ * sem_eval.adb: Add support for wide wide character type.
+ (Eval_Arithmetic_Op): Check for compile time known signed integer
+ overflow in the non-static case.
+ (Subtypes_Statically_Match): A formal scalar type and its base type do
+ not statically match.
+
+ * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
+ "not in" for test of N_Formal_Subprogram_Declaration (which is now a
+ subtype).
+ (Unit_Declaration_Node): Ditto.
+ (Is_Variable_Prefix): For the case of an indexed component whose prefix
+ has a packed array type, the prefix has been rewritten into a type
+ conversion. Determine variable-ness from the converted expression.
+ Handle wide wide character cases.
+
+ * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
+
+ * stringt.ads, stringt.adb: Handle full UTF-32 range.
+ Remove ["0A"] from comment, since it can look like a line terminator.
+ Currently we don't permit this, but this is under discussion by the
+ ARG, and it is easy enough to use a different example.
+
+ * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
+ handling UTF-32 encoding for wide wide character.
+ Implement new brackets coding ["hhhhhhhh"]
+ Add UTF-8 encodings for full UTF-32 range
+
+ * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
+
+ * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
+ bit range Add full UTF-32 support.
+ (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
+ notify that constraint error will be raised at run-time
+ because a null value is assigned to a null-excluding object.
+ Remove some obsolete declarations and make Char_Code
+ unsigned.
+
+ * a-except.adb (Rcheck_30): New subprogram. Addition of the message
+ corresponding to CE_Null_Not_Allowed, and adjust the output of all the
+ Rcheck subprograms.
+
+ * checks.adb (Check_Null_Not_Allowed): Replace the error message on
+ wrong null-exclusion value by a warning message.
+ (Enable_Range_Check): Do range check if the prefix is an
+ explicit dereference whose designated object is an unconstrained array.
+ Current algorithm for removing duplicate checks is over-eager in this
+ case.
+
+ * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
+ null-exclusion value by a warning message
+
+ * atree.h, atree.ads, atree.adb: Remove Char_Code field support
+ completely. Add support for Uint2 field
+
+ sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
+ exp_prag.adb: Char_Literal_Value field is now a Uint.
+
+ * exp_util.adb (Insert_Actions): Replace
+ N_Formal_Subprogram_Declaration by
+ N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
+ Char_Literal_Value field is now a Uint.
+
+ * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
+ defined for subprogram renaming declarations. When set, the field
+ indicates the defining entity of a corresponding formal subprogram
+ when the renaming corresponds to a formal subprogram association in an
+ instantiation.
+ (Set_Corresponding_Formal_Spec): New procedure to return
+ Corresponding_Formal_Spec field.
+ Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
+ (which is now a subtype).
+ Char_Literal_Value field is now a Uint
+
+ * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
+ pointer to the base of the dispatch table.
+ Minor changes to comments.
+ (Controlling_Type): New function for determining the tagged type
+ associated with a tagged primitive subprogram.
+ (Expand_Dispatching_Call): Add support for a controlling actual that is
+ directly a value of type Ada.Tag rather than a tagged object.
+
+ * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
+ describing the new layout.
+ (Dispatch_Table): The expander computes the actual array size, allocates
+ the Dispatch_Table record accordingly, and generates code that displaces
+ the base of the record after the Typeinfo_Ptr component. The access to
+ these components is done by means of local functions.
+ (Offset_To_Top): New function.
+ (Typeinfo_Ptr): New function.
+ (Get_TSD): Modified to access the new position of the TSD.
+ (Set_TSD): Modified to save the TSD in its new position.
+
+ * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
+ case of formal abstract subprograms. Add check and message for -gnat05.
+ Update comments.
+
+ * sem_ch12.adb: Add with and use for Sem_Disp.
+ (Analyze_Associations): Minor change from "=" to "in" for use of
+ N_Formal_Subtype_Declaration (which is now a subtype).
+ (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
+ N_Formal_Subtype_Declaration (which is now a subtype).
+ (Analyze_Formal_Subprogram): Add handling for
+ N_Formal_Abstract_Subprogram, marking the formal as abstract and
+ dispatching, setting the controlling status of the formal parameters
+ and result, and issuing an error if there is no controlling type for
+ the formal subprogram.
+ (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
+ which is an unclean use of that field, we set the new field
+ Corresponding_Formal_Spec to make the formal subprogram available to
+ processing in Analyze_Subprogram_Declaration.
+ (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
+ Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
+ Constrained, so that it is is does not statically match its anonymous
+ base type.
+
+ * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
+ abstract formal subprograms in error check for functions returning
+ abstract types. Set scope of new designator for
+ a parameterless subprogram, so that it is available when checking the
+ body for nested subprograms, before full analysis of said body.
+ (Analyze_Subprogram_Body): Warn on inlining bodies with nested
+ subprogram only if inner one comes from source.
+ (Analyze_Function_Call): If the call is given in object notation, the
+ analysis of the name rewrites the node and analyzes it with the proper
+ argument list. After analyzing the name, if the call has been rewritten
+ and the result type is set, no further analysis is needed.
+ (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
+ mark in function specification, in a context where the formals are
+ visible and hide outer homographs.
+
+ * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
+ as the tagged type for the cases of abstract formal subprograms and
+ renamings of those. Clean up spec comments.
+ (Check_Dispatching_Context): Add error message to indicate "abstract
+ procedure", covering the case of a call to a formal abstract procedure
+ that has statically tagged operands.
+ (Check_Dispatching_Call): Check for the case of an actual given by
+ a tag-indeterminate function call whose type is an ancestor of the
+ containing call's associated tagged type. This situation can occur
+ for inherited primitives with function defaults. In this case we
+ use the tagged type's tag directly as the controlling argument for
+ the calls.
+ (Expand_Call): Name change on call to Expand_Dispatch_Call.
+
+ * sprint.adb (Sprint_Node_Actual): Split
+ N_Formal_Subprogram_Declaration into two alternatives for the new
+ cases N_Formal_Abstract_Subprogram_Declaration and
+ N_Formal_Concrete_Subprogram_Declaration.
+ Char_Literal_Value field is now a Uint.
+
+ * trans.c: Get rid of junk Uint2 reference.
+ Char_Literal_Value field is now a Uint.
+ (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
+ (gigi): Correct third arg to gimplify_body.
+
+ * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
+ (TYPE_LANG_FLAG_0): Check for record or union.
+
+ * treepr.adb: Char_Literal_Value field is now a Uint
+
+ * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
+ UI_From_CC.
+
+ * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
+ Add full UTF-32 support
+ Char_Code is now 32 bits
+
+ * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
+ wide character UTF_32 line terminators.
+ Initialize Main_Source_File to avoid error when no main
+ source is loaded.
+
+ * errout.adb (Finalize): Do not check Num_SRef_Pragmas
+ (Main_Source_File) when no main source has been loaded, to avoid
+ potential crash.
+
+2005-02-09 Robert Dewar <dewar@adacore.com>
+
+ * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
+ Fix name of Set routine
+
+ * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
+ fixed packages.
+
+ * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
+ a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
+ fixed packages
+
+ * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
+ forms of Get_Line subprograms for AI-301.
+
+ * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
+ a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
+ a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
+ a-stwima.ads: Minor reformatting.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * adaint.c, adaint.h
+ [VMS] (to_ptr32): New function.
+ (MAYBE_TO_PTR32): New macro.
+ (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
+ for pointer size.
+ [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
+ [VMS] (#define fork()): Remove since unneccessary.
+ (__gnat_set_close_on_exec): New routine to support
+ GNAT.OS_Lib.Set_Close_On_Exec.
+
+ * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
+ the parent side as close-on-exec so that they are not inherited by the
+ child.
+
+ * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
+ set or clear the FD_CLOEXEC flag on a file descriptor.
+
+2005-02-09 Eric Botcazou <ebotcazou@adacore.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ PR ada/19386
+ * decl.c:
+ (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
+ on the field if Pragma Component_Alignment (Storage_Unit).
+ (gnat_to_gnu_entity, case object): Do not treat a renaming that has
+ side-effects as if it were a constant; also make SAVE_EXPR to protect
+ side-effects.
+ (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
+ UNION_TYPE.
+ (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
+ (components_to_record): Test it.
+ Fix improper usage of REFERENCE_CLASS_P.
+
+ * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
+ RECORD_TYPE.
+
+ * utils2.c: Minor reformatting.
+
+ * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
+ handle other cases like RECORD_TYPE.
+
+ * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
+
+2005-02-09 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
+ component of an array of arrays in an assignment context, and the
+ aggregate has component associations that require sliding on
+ assignment, force reanalysis of the aggregate to generate a temporary
+ before the assignment.
+ (Must_Slide): Make global to the package, for use in Gen_Assign.
+
+2005-02-09 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_Composite_Equality): If a component is an
+ unchecked union with no inferable discriminants, return a
+ Raise_Program_Error node, rather than inserting it at the point the
+ type is frozen.
+ (Expand_Record_Equality, Component_Equality): Handle properly the case
+ where some subcomponent is an unchecked union whose generated equality
+ code raises program error.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+
+ * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
+ [VMS] (#define exit hack): Remove.
+
+2005-02-09 Pascal Obry <obry@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * init.c (__gnat_initialize): Add a new parameter eh which contains the
+ address of the exception registration. The Win32 version of this
+ routine calls __gnat_install_SEH_handler() to initialize the SEH
+ (Structured Exception Handling) handler.
+ (__gnat_error_handler) [Win32]: Removed. Not needed as we use
+ SEH (Structured Exception Handling) now.
+ (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
+ (__gnat_initialize for ppc-vxworks): Adjust comments and the
+ preprocessor condition protecting the call to the extra eh setup
+ subprogram, which is only available for the ppc target.
+ (__gnat_clear_exception_count): replaced reference to
+ variable taskIdCurrent by call to taskIdSelf(), cleaner.
+
+ * seh_init.c: New file.
+
+ * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
+ (GNATBIND_OBJS): Idem.
+
+ * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
+ routine takes a new parameter (a pointer to the exception registration
+ for the SEH (Structured Exception Handling) support.
+
+ * raise.h: (__gnat_install_SEH_handler): New prototype.
+ Update copyright notice.
+
+ * s-tassta.adb (Task_Wrapper): Declare the exception registration
+ record and initialize it by calling __gnat_install_SEH_handler.
+
+2005-02-09 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): Do not fail when the main project has no object
+ directory.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+
+ * Makefile.in [VMS] (LN,LN_S): Define as cp -p
+ Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
+ [VMS]: Add translations for g-enblsp.adb.
+
+ * s-asthan-vms.adb: Removed.
+ * s-asthan-vms-alpha.adb: Added.
+
+2005-02-09 Pascal Obry <obry@adacore.com>
+
+ * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
+ (LIBGNAT_OBJS): Add seh_init.o.
+
+2005-02-09 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/16592
+ * Makefile.in: Link all gnat tools with -static-libgcc, since
+ -shared-libgcc is now used by default on some systems (e.g. linux with
+ recent binutils).
+ Remove references to Makefile.prolog/generic, no longer used.
+
+2005-02-09 Vincent Celier <celier@adacore.com>
+
+ * prj-makr.adb (Process_Directory): Put file name in canonical case
+ before matching against the patterns.
+ If gnatname has been invoked as <prefix>-gnatname
+ then invoke the compiler as <prefix>-gcc, not just "gcc".
+
+2005-02-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
+ with expansion disabled. The actual subtype is needed among other
+ places when the selected component appears in the context of a loop
+ bound, and denotes a packed array.
+ (Operator_Check): Always use the first subtype in the
+ error message, to avoid the appearance of internal base types.
+ (Transform_Object_Operation): Copy each actual in full
+ to the parameter associations of the constructed call, rather than
+ using the shallow copy mechanism of New_Copy_List. This ensures that
+ the chaining of named associations is done properly.
+ (Complete_Object_Operation): Rewrite node, rather than
+ replacing it, so that we can trace back to the original selected
+ component.
+
+ * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
+ and calls that use object notation, if the called function is not
+ declared in a withed unit, place the elaboration constraint on the
+ unit in the context that makes the function accessible.
+ (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
+ imposes an elaboration constraint between two packages.
+
+2005-02-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
+ views of a private type after handling its private dependents, to
+ maintain proper stack discipline between entry and exit from the
+ package.
+
+2005-02-09 Cyrille Comar <comar@adacore.com>
+
+ * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
+ Minor reformatting.
+
+2005-02-09 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
+ fields for foreign threads.
+
+2005-02-09 Doug Rupp <rupp@adacore.com>
+
+ * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
+ recursion warnings when compiled with -gnatdm.
+
+2005-02-09 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
+ Slight fix to documentation of -gnaty with no parameters
+
+ * xr_tabls.ads: Add ??? comment for missing overall comment
+
+ * xsinfo.adb: Make default file name be sinfo.h, since this is what
+ we now use by default.
+
+ * xsnames.adb: Adjust end of file test to look for five space followed
+ by '#' instead of six spaces. The format of xsnames.adb was modified
+ in the last update.
+
+ * a-numeri.ads: Add reference to AI-388 for greek letter pi
+ identifier.
+
+ * clean.adb: Minor reformatting.
+
+ * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
+ gnatname.adb: Minor reformatting
+ Add 2005 to copyright output when utility is run
+
+ * csets.adb: Eliminate obsolete comment
+
+ * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
+ Update comments.
+
+ * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
+
+2005-02-09 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
+ the difference between compact and incompact layout and add the record
+ representation clause to the example illustrating different layouts.
+ Add the description of '-A5' gnatpp option ("align 'AT' keywords in
+ component clauses").
+
+2005-02-09 Florian Villoing <villoing@adacore.com>
+
+ * gnat_ugn.texi: Fix typos.
+ Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
+ @file.
+ Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
+ in the generated documentation.
+
+2005-02-09 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
+ longer supported.
+ Update linker wrapper when linking with non GNU C++.
+
+2005-02-09 Pascal Obry <obry@adacore.com>
+
+ * gnat_ugn.texi:
+ Document the procedure to debug the DllMain routine on Windows.
+ Add note about -funwind-tables and mixed Ada and C/C++ programming in
+ ZCX mode.
+ Document new BIND qualifer /RETURN_CODES=VMS.
+
+2005-02-09 Ben Brosgol <brosgol@adacore.com>
+
+ * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
+ Edited gnatmetric chapter
+
+2005-02-09 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi:
+ Changes to document new wide wide character support
+ For AI-285
+ Update documentation on Normalize_Scalars and Initialize_Scalars
+
+2005-02-09 Pascal Obry <obry@adacore.com>
+
+ * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
+
+2005-02-09 Jose Ruiz <ruiz@adacore.com>
+
+ * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
+ from the VxWorks kernel) that is needed for getting the active
+ priority of the different tasks.
+
+ * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
+ Use a pragma Elaborate_Body in the spec file instead.
+ Noticed by code reading.
+
+2005-02-09 Thomas Quinot <quinot@adacore.com>
+
+ * exp_util.ads: Minor correction in comment.
+
+2005-02-09 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
+ since this procedure is now too complex to be worth inlining.
+
+2005-02-09 Richard Henderson <rth@redhat.com>
+
+ * utils.c (gnat_define_builtin): Remove.
+ (gnat_install_builtins): Use build_common_builtin_nodes.
+
+2005-02-09 Arnaud Charlet <charlet@adacore.com>
+
+ * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
+ a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
+ a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
+ a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
+ a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
+ a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
+ a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
+ a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
+ a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
+ a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
+ a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
+ a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
+ a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
+ a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
+ a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
+ a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
+ a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
+ a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
+ a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
+ a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
+ a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
+ a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
+ a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
+ a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
+ a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
+ a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
+ a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
+ a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
+ a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
+ a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
+ a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
+ a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
+ a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
+ a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
+ library.
+
+2005-01-27 Laurent Guerby <laurent@guerby.net>
+
+ * Makefile.in: Fix a-intnam.ads from previous commit,
+ add 2005 to copyright.
+ * a-intman-rtems.ads: Renamed to...
+ * a-intnam-rtems.ads:
+
+2005-01-27 Laurent Guerby <laurent@guerby.net>
+
+ * Makefile.in: Rename GNAT RTEMS specific files.
+ * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
+ 5rosinte.ads, 5rparame.adb: Replaced by files below.
+ * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
+ s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
+
+2005-01-27 Joel Sherrill <joel.sherrill@oarcorp.com>
+ Laurent Guerby <laurent@guerby.net>
+
+ PR ada/19488
+ * 5rosinte.ads: Add No_Key constant.
+ * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
+ * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
+
+2005-01-26 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/19414
+ * i-cobol.adb (Valid_Numeric): Handle zero length case.
+
+2005-01-20 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
+ a-intnam-linux.ads and system-linux-alpha.ads.
+ * a-intnam-linux-alpha.ads: Remove file.
+ * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
+ * system-linux-alpha.ads: New file.
+
+2005-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR ada/13470
+ * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
+ set to the new string.
+
+2005-01-18 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
+ to True.
+
+2005-01-18 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
+ THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
+ for alpha-linux.
+ * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
+
+2005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
+ (GCC_ZCX_Support): Likewise.
+
+2005-01-11 Bastian Blank <waldi@debian.org>
+
+ * system-linux-s390.ads: Define Preallocated_Stacks.
+ * system-linux-s390x.ads: Likewise.
+
+2005-01-04 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Fix texi errors with null variables.
+
+2005-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * gen-soccon.c: New utility program to generate g-soccon.ads
+ automatically.
+
+ * socket.c, gsocket.h: Split inclusion of system header files into a
+ gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
+
+ * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
+ g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
+ g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
+ g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
+ should not be edited by hand anymore, but should be regenerated using
+ gen-soccon.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
+ on/off, since this is an obsolescent feature, for which we now generate
+ a warning.
+
+ * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
+ warning mode is set and obsolescent usage of this attribute occurs.
+ (Resolve_Access, case 'Access): Note that GNAT uses the context type to
+ disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
+ predates, and partly motivates, the adoption of the AI.
+ Implement new Ada 2005 attribute Mod
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
+ attribute Mod.
+
+ * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
+
+ * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
+ pragma restrictions.
+ New entry for Ada 2005 attribute Mod.
+
+ * par-prag.adb:
+ Add recognition of new pragma Restrictions No_Dependence
+ Recognize restriction No_Obsolescent_Features at parse time
+
+ * bcheck.adb: Add circuitry for checking for consistency of
+ No_Dependence restrictions.
+
+ * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
+ restrictions.
+
+ * restrict.ads, restrict.adb: Add subprograms to deal with
+ No_Dependence restrictions.
+
+ * rtsfind.adb: Check that implicit with's do not violate No_Dependence
+ restrictions.
+
+ * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
+ sem_attr.adb: Add check for new restriction No_Obsolescent_Features
+
+ * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
+ dummy parameter to scng instantiation.
+ Needed for new restriction No_Obsolescent_Features
+
+ * scn.adb: (Obsolescent_Check): New procedure
+ Needed for new restriction No_Obsolescent_Features
+
+ * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
+ specified by AI-285, needed for implementation of AI-388 (adding greek
+ pi to Ada.Numerics).
+ Add new generic formal to scng, needed for new restriction
+ No_Obsolescent_Features.
+
+ * s-rident.ads: Add new restriction No_Obsolescent_Features.
+
+ * ali.ads, ali.adb: Adjustments for reading new No_Dependence
+ restrictions lines.
+ (Scan_ALI): When finding an unexpected character on an R line, raise
+ exception Bad_R_Line, instead of calling Fatal_Error, so that, when
+ Ignore_Errors is True, default restrictions are set and scanning of the
+ ALI file continues with the next line. Also, when Bad_R_Line is raised
+ and Ignore_Errors is True, skip to the end of le line.
+
+ * sem_ch10.adb: Check that explicit with's do not violate
+ No_Dependence restrictions.
+ (Install_Withed_Unit): Add code to implement AI-377 and diagnose
+ illegal context clauses containing child units of instance.
+
+ * sem_prag.adb: Processing and checking for new No_Dependence
+ restrictions.
+ (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
+ analyze and check the External argument.
+
+ * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * atree.adb: Add a fifth component to entities
+ This allows us to add 32 flags and four new fields
+
+ * atree.ads: Add a fifth component to entities
+ This allows us to add 32 flags and four new fields
+
+ * einfo.ads, einfo.adb: Document new fields and new flags now available
+ Add routines for printing new fields
+
+ * treepr.adb: Call routines to print out additional fields if present
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
+ gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
+
+ * Makefile.in: Add support to build shared Ada libraries on solaris x86
+ Remove gpr2make, replaced by gprmake.
+ Remove references to gnatmem and libaddr2line.
+ Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
+ (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
+ Add support for specialized version of Ada.Numerics.Aux for Darwin: use
+ a-numaux-darwin.ads and a-numaux-darwin.adb
+ Enable mlib-tgt-lynxos.adb on lynxos.
+
+ * Make-lang.in: Remove rules for gpr2make.
+ When generating sdefault.adb, do not call Relocate_Path
+ on S3 for function Target_Name, as it is not a path.
+ Remove references to gnatmem and libaddr2line.
+
+ * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
+ files.
+
+2005-01-03 Samuel Tardieu <tardieu@adacore.com>
+
+ * checks.adb (Apply_Alignment_Check): Generate a warning if an object
+ address is incompatible with its base type alignment constraints when
+ this can be decided statically.
+
+2005-01-03 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (compatible_signatures_p): New function. The intended purpose
+ is to check if two function signatures for a call-site and a callee are
+ compatible enough for the call to be valid. The underlying purpose is
+ to check if a call to a mapped builtin is using the right interface.
+ The current code actually does not check antyhing - this a placeholder
+ for future refinements.
+ (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
+ builtin calls for convention Intrinsic.
+
+ * gigi.h (builtin_decl_for): Declare (new function).
+
+ * utils.c (gnat_install_builtins): Install the target specific builtins.
+ (builtin_decl_for): New function, provide a dummy body for now.
+
+2005-01-03 Geert Bosch <bosch@adacore.com>
+
+ * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
+ (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
+ (Pred): Implement in terms of Succ.
+
+ * trans.c (convert_with_check): Reimplement conversion of float to
+ integer.
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
+ bounds can be negative, and must be declared Int, not Nat.
+
+ * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
+ array is checked after using the index in the array.
+
+ * makegpr.adb (Add_Switches): Check if there is a package for the
+ processor. If there is no package, do not look for switches.
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
+ generation of predefined stream operations (specs and bodies) should
+ proceed. Under various restrictions these subprograms must not be
+ generated.
+
+2005-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb:
+ Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
+ amount of PCS-specific code in RACW stubs generation.
+ (Copy_Specification): Set Etype on copied formal parameter entities, as
+ this information is needed for PolyORB stubs generation.
+ (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
+ variable Dynamic_Async.
+ (Build_Subprogram_Receiving_Stubs): Make PCS-specific
+ (Build_RPC_Receiver_Specification): Make generic again, as recent
+ changes have allowed RPC receivers to have the same profile for both
+ variants of the PCS.
+ Reorganise RPC receiver generation to reduce differences between the
+ structure of GARLIC and PolyORB RPC receivers.
+ (Add_Receiving_Stubs_To_Declarations): Make this subprogram
+ PCS-specific.
+ Simplify elaboration code for RCI packages.
+
+ * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
+ generation to reduce differences between the structure of GARLIC and
+ PolyORB RPC receivers.
+
+ * s-stratt.adb: Fix typo in comment.
+
+2005-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
+ copied from Make_Init_Call).
+
+ * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
+ reads and assignments on a temporary variable declared with appropriate
+ discriminants.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * i-c.adb (To_C): Raise CE if string is null and Append_Null
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * i-cstrin.adb (Update): Do not append a null in form called with a
+ String. This avoids unintended behavior.
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/17527
+ * init.c: Fix warnings on Free BSD section.
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/16949
+ * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
+ xsinfo.adb).
+
+2005-01-03 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
+ libraries when Unique_Compile is True (-u switch).
+ (Gnatmake): ditto.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
+ upper case letter or underscore after W, as allowed by spec.
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
+ darwin port by using proper type definitions from header files.
+ Use SIGTERM instead of SIGABRT for SIGADAABORT.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * par.adb: Enhance error message handling for configuration file
+ pragmas.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * s-arit64.adb (Double_Divide): Put back changes that got accidentally
+ removed during the previous update (test properly for case of dividing
+ largest negative number by -1, which generates overflow).
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+ Sergey Rybin <rybin@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
+ to use as the defining identifier for a formal package.
+ (Remove_Parent): If the instance takes place within (an instance of)
+ a sibling, preserve private declarations of common parent.
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
+ to determine whether one of the operands is a fixed-point type for
+ which a user-defined multiplication or division operation might be
+ defined.
+
+ * sem_res.adb (Valid_Conversion): The legality rules for conversions
+ of access types are symmetric in Ada 2005: either designated type can
+ be unconstrained.
+
+2005-01-03 Vincent Celier <celier@adacore.com>
+
+ * s-fileio.adb (Temp_File_Record): Change length of string component
+ Name from L_tmpnam + 1 to max_path_len + 1.
+
+2005-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
+ Self_Id.Deferral_Level = 0.
+ (Do_Pending_Action): Move this function to the spec.
+
+ * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
+ Do_Pending_Action explicitely when needed, in case we're using
+ No_Abort restrictions.
+
+ * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
+ deferral level since it will not get changed by the generated code.
+ Keeping a default value of 1 would prevent some operations (e.g.
+ select or delay) to proceed successfully.
+
+2005-01-03 Ben Brosgol <brosgol@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+ Cyrille Comar <comar@adacore.com>
+
+ * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
+ porting guide chapter (vms version).
+ Revised doc title (removed "for native platforms") and subtitle.
+ Add discussion on warning flag for obsolescent features. First we
+ note that it applies to obsolete GNAT features, which was previously
+ omitted. Second we contrast the behavior with that of the new
+ Ada 2005 AI-368 restriction No_Obsolescent_Features.
+ Preliminary rewriting of GNAT & libraries chapter in order to take
+ into account default project locations & new project manager
+ capabilities.
+
+2005-01-03 Robert Dewar <dewar@adacore.com>
+
+ * cstand.adb (Create_Operators): Clean up format and documentation of
+ unary and binary operator result tables. No change in code, just
+ reformatting and addition of comments.
+
+ * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
+ sem_ch2.adb: Minor reformatting
+
+ * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
+ sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
+ comments for Tree_Read and Tree_Write.
+
+2005-01-03 Pascal Obry <obry@adacore.com>
+
+ * exp_attr.ads: Minor reformatting.
+
+2005-01-03 Romain Berrendonner <berrendo@adacore.com>
+
+ * comperr.adb (Compiler_Abort): Add specialized message for GAP
+ versions.
+
+2005-01-03 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
+ whether the ancestor type is private, as may be the case with nested
+ instantiations.
+
+2004-12-30 Sohail Somani <sohail@sohailsomani.com>
+
+ PR ada/19128
+ * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
+
+2004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
+ * utils2.c (build_unary_op): Likewise.
+
+2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
+
+2004-12-19 Richard Henderson <rth@redhat.com>
+
+ * trans.c (gigi): Update gimplify_body call.
+
+2004-12-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
+
+2004-12-07 Ed Falis <falis@adacore.com>
+
+ * s-intman-vxworks.adb (Notify_Exception): removed useless check for
+ current task being suspended.
+
+ * init.c (__gnat_clear_exception): added to reset VxWorks exception
+ count.
+ (__gnat_map_signal): removed test for current task being suspended.
+
+2004-12-07 Gary Dismukes <dismukes@adacore.com>
+
+ * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
+ from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
+ targets (such as AAMP).
+
+2004-12-07 Ed Schonberg <schonberg@adacore.com>
+
+ * atree.adb (Visit_Itype): Create a new name for the generated itype,
+ because the back-end may otherwise treat it as a redefinition of the
+ old symbol.
+
+2004-12-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * back_end.adb (Scan_Back_End_Switches): Accept --param.
+
+ * lang-specs.h: Accept --param.
+
+2004-12-07 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
+ package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
+ Current_Body_Suffix => Ada_Body_Suffix).
+ Take into account Externally_Built attribute.
+
+ * clean.adb (In_Extension_Chain): Always return False when one of the
+ parameter is No_Project.
+ (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
+ Ada_Language_Index).
+ (Gnatclean): Adapt to change in package Prj.Pars (no parameter
+ Process_Languages for procedure Parse).
+
+ * gnatcmd.adb (Carg_Switches): New table.
+ (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
+ Adapt to name changes in package Prj (Current_Spec_Suffix =>
+ Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
+
+ * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
+ Header_Num and function Hash are now declared in package Prj,
+ not Prj.Com.
+
+ * prj.adb (Suffix_Of): New function.
+ (Set (Suffix)): New procedure.
+ (Hash): One function moved from Prj.Com
+ (Is_Present, Language_Processing_Data_Of): New functions
+ (Set): Two new procedures
+ (Add_Language_Name, Display_Language_Name): New procedures
+
+ * prj.ads: (Suffix_Of): New function
+ (Set (Suffix)): New procedure
+ Add several types and tables for multi-language support.
+ (Header_Num): Type moved from Prj.Com
+ (Hash): Two functions moved from Prj.Com
+ (Is_Present, Language_Processing_Data_Of): New functions
+ (Set): Two new procedures
+ (Add_Language_Name, Display_Language_Name): New procedures
+ (Naming): Component name changes:
+ Current_Spec_Suffix => Ada_Spec_Suffix,
+ Current_Body_Suffix => Ada_Body_Suffix. Add new components:
+ Impl_Suffixes, Supp_Suffixes.
+ (Project_Data): New components: Externally_Built, Supp_Languages,
+ First_Language_Processing, Supp_Language_Processing, Default_Linker,
+ Default_Linker_Path.
+
+ * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
+ new package Language_Processing with its attributes (Compiler_Driver,
+ Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
+ Binder_Driver, Default_Linker).
+
+ * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
+ (Header_Num): Type moved to package Prj
+
+ * prj-env.adb: Adapt to name changes in package Prj
+ (Current_Spec_Suffix => Ada_Spec_Suffix,
+ Current_Body_Suffix => Ada_Body_Suffix).
+
+ * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
+ default to the project path, except the "-" is one of the directories
+ in env var ADA_PROJECT_PATH.
+ (Current_Project_Path): Global variable, replacing Project_Path
+ that was in the body of Prj.Part.
+ (Project_Path): New function
+ (Set_Project_Path): New procedure
+ Initialize Current_Project_Path during elaboration of the package
+ Remove dependency on Prj.Com, no longer needed
+
+ * prj-ext.ads (Project_Path): New function
+ (Set_Project_Path): New procedure
+
+ * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
+ suffix is defined for language <lang>.
+ (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
+ accessing directly the components of Naming.
+ (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
+ Reorganise of this package.
+ Break procedure Check in several procedures.
+
+ * prj-nmsc.ads: Replace all procedures (Ada_Check,
+ Other_Languages_Check and Language_Independent_Check) with a single
+ procedure Check.
+
+ * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
+ Process_Languages, no longer needed.
+
+ * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
+ Current_Project_Path.
+ Remove elaboration code, moved to the body of Prj.Ext
+ Use new function Prj.Ext.Project_Path instead of old variable
+ Project_Path.
+ (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
+ When comparing with project paths on the stack, first put the resolved
+ path in canonical case.
+ (Parse_Single_Project): Set the path name of the project file in the
+ tree to the normalized path.
+
+ * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
+ parameter Process_Languages, no longer needed.
+ (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
+ Other_Languages_Check.
+
+ * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
+ to store the resolved canonical path of the project file.
+ Remove dependency to Prj.Com, no longer needed
+
+ * prj-util.adb: Adapt to name changes in package Prj
+ (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
+ Ada_Body_Suffix).
+
+ * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
+ Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
+ Externally_Built, Include_Option, Language_Processing.
+
+ * makegpr.adb: Numerous changes due to changes in packages
+ Prj and Prj.Nmsc.
+
+ * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
+ default to the project path, except whe "-" is one of the directories
+ in env var ADA_PROJECT_PATH.
+ (Gnatls): In verbose mode, add the new section "Project Search Path:"
+
+2004-12-07 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: Document that -gnatdA automatically sets -gnatR3m
+
+ * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
+ set -gnatR3m mode.
+
+ * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
+ flag. No longer needed now that we handle this in gnat1drv.adb.
+
+ * repinfo.ads: Minor reformatting
+
+2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
+ TYPE_SIZE_UNIT of result type if SIZE is not specified.
+ (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
+ of a bitfield, which we know is useless and causes trouble because of
+ alignment implications.
+
+ * utils.c (create_var_decl): Set DECL_COMMON again on targets without
+ BSS sections.
+ (process_attributes): Clear DECL_COMMON again when a section attribute
+ is present.
+ (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
+ SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
+ (create_field_decl): Special case ADDRESSABLE negative to mean
+ "no bitfield creation", to be used by make_aligning_type. Don't
+ restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
+ fields claimed addressable still have to be bitfields. Use
+ value_factor_p instead of a raw binop construction to check for the
+ position's alignment.
+
+2004-12-07 Geert Bosch <bosch@adacore.com>
+
+ * eval_fat.adb: Revert previous change.
+
+2004-12-07 Thomas Quinot <quinot@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
+ with an implicit dereference as its prefix, use
+ Insert_Explicit_Dereference instead of merely rewriting the prefix into
+ an explicit dereference. This ensures that a reference to the original
+ prefix is generated, if appropriate.
+
+ * sem_util.adb (Insert_Explicit_Dereference): When an implicit
+ dereference is rewritten to an explicit one, generate a reference to
+ the entity denoted by its prefix using the original prefix node, so
+ the dereference can be properly recorded as a read of the denoted
+ access value, if appropriate.
+
+ * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
+ emitting 'assigned but never read' warning on a variable on the basis
+ that it has an access type.
+ (Check_References): Emit unreferenced warning when the scope is a
+ subprogram body.
+
+2004-12-07 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Add comment on handling of back end
+ intrinsic
+
+ * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
+ leaving call unchanged.
+ This deals with the case where the pragma Import specified
+ an external name, to be handled by the back end.
+
+ * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
+ subprogram which is Imported with convention Intrinsic if an
+ External_Name argument is specified.
+ (Process_Import_Or_Interface): Properly diagnose link name argument.
+ (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
+ with Sem_Ch6.Cannot_Inline.
+ (Process_Inline): Provide separate warning for inapplicable inline
+ pragma.
+ (Cannot_Inline): Reject subprograms that have an at_end handler, so that
+ treatment is uniform on different targets.
+
+2004-12-07 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
+ construct is rewritten, preserve end label to permit source navigation.
+
+2004-12-07 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Specific_Build_General_Calling_Stubs,
+ Specific_Build_Stub_Target): New subprograms.
+ (Build_Subprogram_Calling_Stubs): Make this procedure independent from
+ the PCS implementation used, using the above PCS-customized subprograms.
+ Minor reformatting.
+ (PolyORB_Support.Helpers): New subunit containing supporting subprograms
+ for generation of DSA code targeted to the PolyORB PCS.
+ (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
+ implementation of the partition communication subsystem in ancillary
+ subprograms.
+ (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
+ PolyORB_Support.Build_Stub_Type): New subrograms containing the
+ PCS-specific part of Add_Stub_Type.
+ (Insert_Partition_Check): Use runtime library function to perform
+ E.4(19) check.
+
+ * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
+ (RE_Same_Partition): New entity, from s-parint.
+
+ * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
+
+2004-12-07 Gary Dismukes <dismukes@adacore.com>
+
+ * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
+ Output the copyright message on a separate line from the version
+ message.
+
+2004-12-07 Joel Brobecker <brobecker@adacore.com>
+
+ * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
+ compile-time warning.
+
+2004-12-07 Robert Dewar <dewar@adacore.com>
+
+ * g-regpat.adb: (Match): Change a misuse of or to or else
+
+2004-12-07 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.adb:
+ (Generate_Reference): Handle properly a reference to an entry formal,
+ when an accept statement has a pragma Unreferenced for it.
+
+ * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
+ and the Has_Pragma_Unreferenced flag for each formal before analyzing
+ the body, to ensure that warnings are properly emitted for each accept
+ statement of a given task entry.
+
+2004-12-07 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * Makefile.in: Add support for foreign threads on VMS.
+
+2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
+ Remove.
+ (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
+
+ * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
+
+ * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
+ exception.
+ (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
+
+2004-12-07 Robert Dewar <dewar@adacore.com>
+
+ * nlists.adb (Prepend_Debug): Remove parameters and nest within
+ Prepend.
+ (Remove_Next_Debug): Same fix
+
+ * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
+ maintain back pointers now, though we did not used to, and comments
+ were out of date).
+ (Prepend): Remove pragma Inline.
+ (Remove_Next): Same cleanup
+
+2004-12-07 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
+ used to record an implicit dereference as a read operation on its
+ prefix when operating under -gnatc. Necessary to avoid spurious
+ 'variable assigned but never read' warnings in that mode.
+ (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
+ is a non-overloaded implicit dereference, call the above subprogram to
+ ensure proper recording of references.
+
+2004-12-07 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
+ to be resolved later as part of Analyze_Iteration_Scheme's call to
+ Make_Index.
+
+2004-12-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
+ prefix is not a scalar type, place error message on prefix, not on
+ type entity.
+
+2004-12-07 Bernard Banner <banner@adacore.com>
+
+ * vxaddr2line.adb: Add support for x86 vxworks
+
+2004-12-07 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
+ documentation of the behaviour of these functions when passed an IP
+ address that has no record in the system hosts database and no reverse
+ record in the DNS.
+
+ * cstand.adb, a-tags.ads: Fix typos in comment.
+
+2004-12-07 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
+ exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
+ sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
+ s-poosiz.ads: Minor reformatting
+
+ * make.adb: Minor reformatting
+ Add some ??? comments asking for more comments
+
+ * s-poosiz.adb: Minor reformatting
+ Add comments on alignment requirement
+
+ * sinfo.ads: Remove obsolete comment and fix typo.
+
+2004-12-07 Vincent Celier <celier@adacore.com>
+ Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Update the section "The GNAT Driver and Project
+ Files" with the new tool and package names.
+ Reformatting to suppress most of the warnings for line too long
+ Document the new section "Project Search Path:" in the output of
+ gnatls -v.
+ Add gnatmetric section
+
+2004-12-07 Vincent Celier <celier@adacore.com>
+
+ * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
+ -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
+ and -eit to -ept. Added qualifier
+ /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
+
+2004-11-27 Andreas Schwab <schwab@suse.de>
+
+ * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
+
+2004-11-25 Arnaud Charlet <charlet@adacore.com>
+
+ * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
+ internal implementation unit GNAT.Sockets.Thin,
+ as their usage for sockets is non-portable (using the read and write
+ functions from the system runtime library is fine on UNIX but won't
+ work under Windows).
+
+ * mingw32.h: Update copyright notice.
+
+2004-11-25 Arnaud Charlet <charlet@adacore.com>
+
+ * ada-tree.h: Minor reformatting of previous change to avoid lines
+ longer than 79 characters.
+
+2004-11-25 Olivier Hainque <hainque@adacore.com>
+
+ * tb-gcc.c: GCC infrastructure based implementation of
+ __gnat_backtrace.
+
+2004-11-24 Steven Bosscher <stevenb@suse.de>
+
+ * misc.c (gnat_post_options): Don't clear
+ flag_inline_functions.
+
+2004-11-22 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR ada/17986
+ * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
+ tree.
+
+2004-11-21 Andreas Jaeger <aj@suse.de>
+
+ * stylesw.adb: Change Style_Check_Subprogram_Order to
+ Style_Check_Order_Subprograms.
+
+2004-11-18 Arnaud Charlet <charlet@adacore.com>
+
+ * adaint.h, adaint.c
+ (__gnat_portable_spawn): Fix cast of spawnvp third parameter
+ to avoid warnings.
+ Add also a cast to kill another warning.
+ (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
+ parameter with the priority class of the parent process instead of
+ always using the NORMAL_PRIORITY_CLASS.
+ (__gnat_dup): New function.
+ (__gnat_dup2): New function.
+ (__gnat_is_symbolic_link): Enable the effective body of this
+ function when __APPLE__ is defined.
+
+ * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
+ Update comments.
+
+2004-11-18 Olivier Hainque <hainque@adacore.com>
+
+ * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
+ address of which may be used to represent "others" and "all others"
+ choices in exception tables, instead of the current harcoded
+ (void *)0 and (void *)1.
+ (Setup_Exception): Do nothing in the GNAT SJLJ case.
+
+ * gigi.h (others_decl, all_others_decl): New decls representing the
+ new Others_Value and All_Others_Value objects.
+ (struct attrib): Rename "arg" component as "args", since GCC expects a
+ list of arguments in there.
+
+ * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
+ corresponding objects exported by a-exexpr, instead of hardcoded dummy
+ addresses.
+
+ * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
+ others_decl and all_others_decl instead of hardcoded dummy addresses
+ to represent "others" and "all others" choices, which is cleaner and
+ more flexible with respect to the possible eh pointer encoding policies.
+
+ * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
+ (process_attributes): Account for the naming change of the "args"
+ attribute list entry component.
+
+ * decl.c (build_attr_list): Rename into prepend_attributes to allow
+ cumulating attributes for different entities into a single list.
+ (gnat_to_gnu_entity): Use prepend_attributes to build the list of
+ attributes for the current entity and propagate first subtype
+ attributes to other subtypes.
+ <E_Procedure>: Attribute arguments are attr->args and not
+ attr->arg any more.
+ (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
+ argument provided, as this is what GCC expects. Use NULL_TREE instead
+ of 0 for trees.
+
+2004-11-18 Robert Dewar <dewar@adacore.com>
+
+ * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
+ Minor reformatting througout (including new function specs)
+ Add ??? comments asking for clarification.
+
+2004-11-18 Thomas Quinot <quinot@adacore.com>
+
+ * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
+ incomplete duplicate implementation of this subprogram from butil.
+
+2004-11-18 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
+ procedures factors the common processing for building an RPC receiver
+ for an RCI package or an RACW type.
+ Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
+ Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
+ (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
+ in use.
+ (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
+ Add_RACW_Features.
+ (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
+ Add_RAST_Features.
+ (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
+ distribution subprogram identifiers that are either subprogram numbers
+ or strings.
+ (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
+ string distribution identifiers assigned to a given subprogram.
+ (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
+ (Add_RAS_Dereference_TSS): Add comments.
+ (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
+ is not referenced yet because it will be used by the PolyORB DSA
+ implementation.
+ (Insert_Partition_Check): Remove fossile code.
+ (First_RCI_Subprogram_Id): Document this constant.
+ (Add_RAS_Access_TSS): Correct the setting of the Etype of the
+ RAS_Access TSS.
+ (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
+ replaced with calls to Get_Library_Unit_Name_String. Previously there
+ were several instances of the same code in different locations in the
+ compiler; this checkin completes the replacement of all of these
+ instances with calls to a common subprogram.
+ Minor reformatting.
+
+ * sem_dist.adb: Remove comment noting that RPC receiver generation
+ should be disabled for RACWs that implement RASs.
+ (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
+
+ * sem_util.ads, sem_util.adb (Has_Stream): New function
+ (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
+ qualified name of a library unit into the name buffer.
+ (Note_Possible_Modification): Generate a reference only
+ if the context comes from source.
+
+ * snames.ads (PCS_Names): New subtype corresponding to names of
+ supported implementations of the Partition Communication Subsystem
+ (PCS) (i.e. the runtime library support modules for the distributed
+ systems annex).
+
+2004-11-18 Robert Dewar <dewar@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
+ (Has_Rep_Pragma): New function
+ (Has_Attribute_Definition_Clause): New function
+ (Record_Rep_Pragma): Moved here from sem_ch13.adb
+ (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
+
+ * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
+
+ * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
+ (Expand_Pragma_Psect_Object): New procedure
+ These procedures contain the revised and cleaned up processing for
+ these two pragmas. This processing was formerly in Sem_Prag, but
+ is more appropriately moved here. The cleanup involves making sure
+ that the pragmas are properly attached to the tree, and that no
+ nodes are improperly shared.
+
+ * sem_prag.adb: Move expansion of Common_Object and Psect_Object
+ pragmas to Exp_Prag, which is more appropriate.
+ Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
+ check for duplicates Remove use of Is_Psected flag, no longer needed.
+ Use new Make_String_Literal function with string.
+
+ * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
+ that are functions return universal values, that have to be converted
+ to the context type.
+ Use new Make_String_Literal function with string.
+ (Get_Stream_Convert_Pragma): New function, replaces the use of
+ Get_Rep_Pragma, which had to be kludged to work in this case.
+
+ * freeze.adb: Use new Has_Rep_Pragma function
+
+ * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
+ function with string.
+ Use new Has_Rep_Pragma function.
+
+ * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
+ string argument.
+
+2004-11-18 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads, errout.adb: (First_Sloc): New function
+
+ * par-ch5.adb (P_Condition): Check for redundant parens is now a style
+ check (-gnatyx) instead of being included as a redundant construct
+ warning.
+
+ * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
+ Style_Check_Order_Subprograms.
+
+ * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
+ stylesw.adb: Add Style_Check_Xtra_Parens
+
+ * usage.adb: Add line for -gnatyx (check extra parens)
+
+ * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
+
+2004-11-18 Ed Schonberg <schonberg@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
+ discriminant of a constrained subtype, analyze the copy of the
+ corresponding constraint, because in some cases it may be only
+ partially analyzed.
+ Removes long-lived ??? comments.
+
+ * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
+ handled controlled or secondary-stack expressions within the
+ iteration_scheme of a loop.
+
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
+ bounds that may contain functions calls, to prevent memory leaks when
+ the bound contains a call to a function that uses the secondary stack.
+ (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
+ generate temporaries for loop bounds that might contain function calls
+ that require secondary stack and/or finalization actions.
+
+ * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
+ selected component and the selector is overloadable (not just a
+ function) treat as function call, Analyze_Call will disambiguate if
+ necessary.
+ (Analyze_Selected_Component): Do not generate an actual subtype for the
+ selected component if expansion is disabled. The actual subtype is only
+ needed for constraint checks.
+ (Analyze_Allocator): If restriction No_Streams is set, then do
+ not permit objects to be declared of a stream type, or of a
+ composite type containing a stream.
+
+ * restrict.ads: Remove the a-stream entry from Unit_Array, since
+ No_Streams no longer prohibits with'ing this package.
+
+ * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
+ discriminants, but the parent base has unknown discriminants, there is
+ no discriminant constraint to inherit. Such a discrepancy can arise
+ when the actual for a formal type with unknown discriminants is a
+ similar private type whose full view has discriminants.
+ (Analyze_Object_Declaration): If restriction No_Streams is set, then
+ do not permit objects to be declared of a stream type, or of a
+ composite type containing a stream.
+
+2004-11-18 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_dbug.ads: Update documentation to reflect simpler encoding for
+ protected operations.
+
+ * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
+ generated name, it complicates decoding in gdb and hinders debugging
+ of protected operations.
+ (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
+ flag for the protected entry barrier function.
+ (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
+ flag for the protected entry function.
+
+2004-11-18 Nicolas Setton <setton@adacore.com>
+
+ * expect.c: Define __unix__ when __APPLE__ is defined.
+
+ * Makefile.in: Inform the value of the variable GMEM_LIB in the
+ Darwin-specific section.
+
+ * lang-specs.h: Change the placement of the %1 marker.
+ Works around the fact that gcc adds -fPIC by default under Darwin.
+
+2004-11-18 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
+ type of the object with the packed array type, set the Analyzed flag
+ on the object if it is an entity or simple indexed component, to avoid
+ spurious type errors.
+
+2004-11-18 Gary Dismukes <dismukes@adacore.com>
+
+ * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
+ gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
+ separate line from the version message.
+
+2004-11-18 Ed Falis <falis@adacore.com>
+
+ * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
+ vthreads.
+ (init_float): Eliminate initialization of floating point status for
+ AE653. The instructions have no effect for vThreads.
+
+2004-11-18 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
+ gnatbind is invoked with -shared.
+
+2004-11-18 Jose Ruiz <ruiz@adacore.com>
+
+ * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
+ for Detect_Blocking which is redundant with the check done within the
+ procedure Protected_Single_Entry_Call.
+ (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
+ Detect_Blocking which is redundant with the check done within the
+ procedure Protected_Single_Entry_Call.
+
+2004-11-18 Vincent Celier <celier@adacore.com>
+
+ * makegpr.adb (Compile): Put the compiling switches (in package
+ Compiler and on the command line) immediately after "-c", instead of
+ at the end of the command line invocation of the compiler, when
+ compiling a non-Ada file.
+ (Build_Global_Archive): When there is no need to rebuild the archive,
+ set Global_Archive_Exists, so that the archive is passed to the linker
+ if one is needed.
+
+2004-11-18 Robert Dewar <dewar@adacore.com>
+ Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi:
+ Remove extra paren check from list of checks for redundant constructs
+ Add documentation of new -gnatyx style check (check extra parens)
+ Remove paragraph about gnatelim debug options.
+
+ * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
+ objects rather than forbidding dependencies on the package Ada.Streams.
+
+ * sinfo.ads: Add ??? note that we should document pragmas passed to
+ back end.
+
+ * g-expect.ads: Fix a few typos in the comments.
+
+2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
+
+ * misc.c (gnat_handle_option): Use %< and %> for quoting in
+ warning message.
+
+2004-11-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * a-numaux-x86.adb (Tan): Fix fdivp syntax.
+
+2004-11-07 Andreas Schwab <schwab@suse.de>
+
+ * Makefile.in (install-gnatlib): Remove spurious hyphen.
+
+2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR ada/18228
+ * Makefile.in (darwin): Set soext to .dylib.
+
+2004-10-26 Vincent Celier <celier@gnat.com>
+ Thomas Quinot <quinot@act-europe.fr>
+
+ * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
+ (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
+ there is no use of GNAT.Sockets.Constants.
+ Remove remaining pragma Import for C_Write
+ Remove C_Read and C_Write from internal implementation unit
+ GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
+ the read and write functions from the system runtime library is fine
+ on UNIX but won't work under Windows).
+
+ * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
+ (Check_Selector): Use C_Recv instead of C_Read.
+ Selectors are the GNAT.Sockets abstraction to perform a select()
+ call on a set of descriptors. To allow abortion of an ongoing
+ select operation, some data is written to a dedicated socket that
+ is always monitored.
+ Under Windows, the write and read library functions cannot operate
+ on sockets, so we need to use send and recv instead, which is portable
+ across all supported platforms.
+
+ * g-socthi.ads: Remove C_Read and C_Write from internal implementation
+ unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
+ (using the read and write functions from the system runtime library is
+ fine on UNIX but won't work under Windows).
+
+2004-10-26 Nicolas Setton <setton@act-europe.fr>
+
+ * mlib-tgt-darwin.adb: New file.
+
+ * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+ mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
+ mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+ mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
+ subprogram body.
+
+ * Makefile.in: Add support for building shared libraries under Darwin.
+ (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
+ the low level EH init subprogram to be called from __gnat_initialize.
+
+ * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
+ indicates which options to pass to the archive indexer.
+
+ * mlib-utl.adb: Add support for calling ranlib with additional
+ options. This is needed for instance under Mac OS X.
+ (Ranlib_Options): New global variable, used to store the potential
+ options to pass to ranlib.
+ (Ar): Use Ranlib_Options when spawning ranlib.
+ (Initialize): Set the value of ranlib option.
+
+2004-10-26 Olivier Hainque <hainque@act-europe.fr>
+
+ * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
+ instead of 8K, to reflect the real potential needs for stack-checking
+ in the ZCX case.
+
+2004-10-26 Pascal Obry <obry@gnat.com>
+
+ * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
+
+ * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
+ Windows only the initial thread stack size can be set so it is good to
+ start we a low stack size.
+ The OS will adjust the size as needed.
+
+2004-10-26 Olivier Hainque <hainque@act-europe.fr>
+ Nicolas Setton <setton@act-europe.fr>
+
+ * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
+ "__unix__" instead of "unix".
+ The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
+ sections were just mistakenly ignored. The former is
+ implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
+ Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
+ of hpux. This prevents an unwanted definition of the symbol
+ convert_addresses in adaint.o.
+
+2004-10-26 Gary Dismukes <dismukes@gnat.com>
+
+ * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
+ compatibility with type Unwind_Word on 16-bit targets such as AAMP.
+
+2004-10-26 Cyrille Comar <comar@act-europe.fr>
+
+ * a-filico.ads, a-filico.adb: fix incorrect header.
+
+2004-10-26 Javier Miranda <miranda@gnat.com>
+
+ * a-ststio.ads: Fix typo in identifier
+
+2004-10-26 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_ch4.adb: Minor reformatting.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * checks.adb (Expr_Known_Valid): If floating-point validity checks are
+ enabled, check the result of unary and binary operations when the
+ expression is the right-hand side of an assignment.
+
+2004-10-26 Vincent Celier <celier@gnat.com>
+
+ * clean.adb (Delete): Do not output warnings when in quiet output and
+ not in verbose mode.
+ (Force_Deletions): New Boolean flag, defaulted to False
+ (Delete): Only delete a file if it is writable, and when
+ Force_Deletions is True.
+ (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
+ (Usage): Line for new switch -f
+ (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
+ own.
+
+2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
+ JM type only if its size matches that of the wrapper. When a size is
+ prescribed and the field is not aliased, remove the wrapper of a JM
+ type only if the size is not greater than that of the packed array.
+ (gnat_to_gnu_entity): Change the extension of packed array wrappers
+ from LJM to JM.
+
+2004-10-26 Geert Bosch <bosch@gnat.com>
+
+ * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
+ (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
+ (Pred): Implement in terms of Succ.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_aggr.adb (Safe_Component): An aggregate component that is an
+ unchecked conversion is safe for in-place use if the expression of the
+ conversion is safe.
+ (Expand_Array_Aggregate): An aggregate that initializes an allocator may
+ be expandable in place even if the aggregate does not come from source.
+ (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
+ designated object of an allocator in place, rather than building it
+ first on the stack. The previous scheme forces a full copy of the array,
+ and may be altogether unsusable if the size of the array is too large
+ for stack allocation.
+
+2004-10-26 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
+ compares if the component is atomic.
+
+ * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
+ array assignment if the component type is atomic.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+ Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
+ is aliased and is a by_reference type, do not pass by copy.
+ (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
+ detect whether the call is in the right side of an assignment or
+ the expression of an object declaration. Recurse on component
+ association within aggregates.
+ Call it in the condition that determines whether the temporary is
+ necessary for correct stack-checking.
+
+2004-10-26 Thomas Quinot <quinot@act-europe.fr>
+
+ * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
+ RACW_Type, used in the PolyORB version.
+ Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
+ version and the GARLIC version.
+
+ * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
+ Rename RCI_Info to RCI_Locator for better consistency between the
+ GARLIC and PolyORB versions of the distributed systems annex.
+ (DSA_Implementation_Name): This enumeration lists the possible
+ implementations of the Partition Communication Subsystem for the
+ Distributed Systems Annex (DSA). The three available implementations
+ are the dummy stub implementation (No_DSA), and two versions based on
+ two different distribution runtime libraries: GARLIC and PolyORB. Both
+ the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
+ technology.
+ Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
+ that organization.
+
+ * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
+ between the GARLIC and PolyORB versions of the distributed systems
+ annex.
+ Remove RE_Unbounded_Reclaim_Pool since it is unused.
+
+2004-10-26 Gary Dismukes <dismukes@gnat.com>
+
+ * gnat1drv.adb: Suppress calling the back end when
+ Frontend_Layout_On_Target is true.
+
+2004-10-26 Thomas Quinot <quinot@act-europe.fr>
+
+ * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
+ Set_Read_Only): New subprograms.
+ These new routines allow the user to set or unset the Owner execute
+ and Owner write permission flags on a file.
+
+ * makegpr.adb, mlib.adb, mlib-prj.adb: Use
+ GNAT.OS_Lib.Set_Executable instead of rolling our own.
+
+2004-10-26 Matthew Gingell <gingell@gnat.com>
+
+ * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
+
+2004-10-26 Pascal Obry <obry@gnat.com>
+
+ * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
+ memory before the faulting page we properly test the process read
+ access for this address using appropriate Win32 routine.
+ (HPUX sections): guard with "__hpux__" instead of "hpux".
+
+2004-10-26 Robert Dewar <dewar@gnat.com>
+
+ * lib-xref.adb (Generate_Reference): Don't complain about reference to
+ entry parameter if pragma Unreferenced set, since we do not properly
+ handle the case of multiple parameters.
+
+2004-10-26 Vincent Celier <celier@gnat.com>
+
+ * prj-env.adb: (Contains_ALI_Files): New Boolean function
+ (Ada_Objects_Path.Add): For a library project, add to the object path
+ the library directory only if there is no object directory or if the
+ library directory contains ALI files.
+ (Set_Ada_Paths.Add.Recursive_Add): Ditto
+
+2004-10-26 Vincent Celier <celier@gnat.com>
+
+ * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
+ extension of library projects.
+
+ * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
+ path defaults to ".:<prefix>/lib/gnat".
+ (Parse): For an extending all project, allow direct import of a project
+ that is virtually extended.
+
+ * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
+ the specified name is directly imported, return its ID. Otherwise, if
+ an extension of this project is imported, return the ID of the
+ extension.
+
+2004-10-26 Robert Dewar <dewar@gnat.com>
+
+ * s-arit64.adb: (Le3): New function, used by Scaled_Divide
+ (Sub3): New procedure, used by Scaled_Divide
+ (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
+ correct more than one instance of failure to propagate carries
+ correctly.
+ (Double_Divide): Handle overflow case of largest negative number
+ divided by minus one.
+
+ * s-arit64.ads (Double_Divide): Document that overflow can occur in
+ the case of a quotient value out of range.
+ Fix comments.
+
+2004-10-26 Robert Dewar <dewar@gnat.com>
+
+ * s-bitops.adb (Bit_Eq): Remove redundant check.
+
+ * s-bitops.ads: Minor comment updates
+ Change some occurrences of Address to System.Address
+
+ * s-carsi8.ads: Fix minor cut-and-paste error in comments
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
+ accessibility check to prefix that is a protected operation.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
+ empty, post message on stub.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+ Javier Miranda <miranda@gnat.com>
+
+ * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
+ current instance appears within a unit that is directly in the context
+ of the main unit.
+ Used to determine whether the body of the instance should be analyzed
+ immediately after its spec, to make its subprogram bodies available
+ for front-end inlining.
+ (Analyze_Formal_Array_Type): Cleanup condition that checks that range
+ constraint is not allowed on the component type (AARM 12.5.3(3))
+
+2004-10-26 Cyrille Comar <comar@act-europe.fr>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
+ 'Storage_Pool): enhance, document & limit detection of non-sharable
+ internal pools.
+
+ * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
+
+ * s-pooglo.ads: Add more documentation now that this pool is properly
+ documented.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
+ or protected type with discriminants, do not constrain the
+ corresponding record type if the subtype declaration has no
+ discriminant constraints. This can be the case in source code, or in
+ the subtype declaration created to rename an actual type within an
+ instantiation.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
+ different kind of stub (possibly wrong name for file), do not check
+ for conformance.
+ (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
+ includes call to some function that returns an unconstrained type, do
+ not inline.
+
+2004-10-26 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
+ appear in the code for the main unit. Dependencies among units in the
+ context of the main unit are established when those other units are
+ compiled. Otherwise spurious elaboration constraints can generate
+ incorrect elaboration circularities.
+
+2004-10-26 Thomas Quinot <quinot@act-europe.fr>
+ Ed Schonberg <schonberg@gnat.com>
+
+ * sem_util.adb (Is_Aliased_View): Defend against the case where this
+ subprogram is called with a parameter that is not an object name. This
+ situation arises for some cases of illegal code, which is diagnosed
+ later, and in this case it is wrong to call Is_Aliased, as that might
+ cause a compiler crash.
+ (Explain_Limited_Type): Refine previous fix to include
+ inherited components of derived types, to provide complete information.
+
+ * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
+ is the prival for a protected object.
+ It is necessary to mark this entity as a variable, in addition to
+ flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
+ modified to avoid checking the Aliased flag on entities that are not
+ objects. (Checking that flag for non-objects is erroneous and could
+ lead to a compiler crash).
+
+2004-10-26 Robert Dewar <dewar@gnat.com>
+
+ * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
+ X_Frac = 0.5, then we know that the number X must be positive.
+ (Succ): Remove the same redundant test, and also fix the primary test
+ to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
+ Minor reformatting
+ (Decompose): Add fuller comments to spec
+
+2004-10-26 Pascal Obry <obry@gnat.com>
+
+ * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
+ validity (process must have read access). Set to 0 in all other cases.
+ (STOP_FRAME): Now check for ptr validity to avoid a segmentation
+ violation on Win32.
+ (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
+ segmentation violation.
+
+2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
+ whose type is a constructed subtype of an aliased object with an
+ unconstrained nominal subtype, convert the actual to the constructed
+ subtype before taking its address.
+
+2004-10-26 Vincent Celier <celier@gnat.com>
+
+ * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
+ (Is_Path_Name_Case_Sensitive): New function
+
+ * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
+ (Base_Name, Simple_Name, Current_Directory, Compose,
+ Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
+ the result.
+
+2004-10-26 Cyrille Comar <comar@act-europe.fr>
+ Vasiliy Fofanov <fofanov@act-europe.fr>
+ Vincent Celier <celier@gnat.com>
+
+ * gnat_ugn.texi: Generalize "finding memory problems" section into a
+ "memory management issues" section and document some of the useful
+ memory pools provided as part of the GNAT library.
+ Remove "virtual" from declaration of A::method2 in
+ the simple example of Ada/C++ mixed system.
+ Library Projects may be virtually extended: their virtual extensions
+ are not Library Projects.
+ Added section on extending project hierarchies.
+
+2004-10-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * adaint.c (__gnat_get_libraries_from_registry): Cast value
+ to LPBYTE.
+ (__gnat_portable_spawn): Remove const.
+
+ * mingw32.h (MAXPATHLEN): Check for previous definition.
+
+2004-10-17 Matthias Klose <doko@debian.org>
+
+ * gnatvsn.ads: Set gnat library version to 4.0.
+
+2004-10-05 Vincent Celier <celier@gnat.com>
+
+ * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
+
+2004-10-04 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/15156
+ * Makefile.in: Define and use RANLIB_FLAGS.
+
+2004-10-04 Pascal Obry <obry@gnat.com>
+
+ * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
+ other x86 platforms).
+
+2004-10-04 Olivier Hainque <hainque@act-europe.fr>
+
+ * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
+ in general and triggers stack alignment adjustment for thread entry
+ points on targets where this is necessary.
+
+2004-10-04 Bernard Banner <banner@gnat.com>
+
+ PR ada/13897
+ * Makefile.in: Add section for powerpc linux
+ Add variant i-vxwork-x86.ads
+
+ * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
+
+2004-10-04 Olivier Hainque <hainque@act-europe.fr>
+
+ * init.c (__gnat_initialize): Call an Ada subprogram to perform the
+ table registration calls when need be. Ensures no reference to the crt
+ ctors symbol are issued in the SJLJ case, which avoids possible
+ undefined symbol errors in the case of modules to be statically linked
+ with the kernel.
+
+2004-10-04 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
+ in-line the code corresponding to subprogram Analyze_Actuals. In
+ addition, analyze the actuals only in case of subprogram call.
+
+2004-10-04 Ed Falis <falis@gnat.com>
+
+ * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
+
+2004-10-04 Sergey Rybin <rybin@act-europe.fr>
+
+ * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
+ in the documentation.
+
+2004-10-04 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
+ IF and CASE.
+ (Analyze_Block_Statement): Add circuitry to detect following dead code
+ (Check_Unreachable_Code): Handle case of block exit
+
+2004-10-04 Robert Dewar <dewar@gnat.com>
+
+ * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
+ (XMatchD): Avoid warning for Logic_Error call
+
+2004-10-04 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
+ consider expressions buried within a procedure actual to be an actual.
+ This caused some blowups with uses of packed slices within a procedure
+ actual.
+
+2004-10-04 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
+ longer need to be initialized to zero.
+ (Get_Simple_Init_Val): Modular packed arrays no longer need to be
+ initialized to zero.
+
+ * checks.adb (Expr_Known_Valid): Packed arrays are now always
+ considered valid, even if the representation is modular. That's correct
+ now that we no longer initialize packed modular arrays to zero.
+
+ * exp_dbug.ads: Clarify documentation on handling of PAD and JM
+ suffixes. These are now documented as the only cases in which the
+ debugger ignores outer records.
+ Previously, the spec allowed arbitrary suffixes for this purpose.
+ Change name of LJM to JM for packed array pad records
+ Create separate section on packed array handling, and add a whole new
+ set of comments to this section describing the situation with packed
+ modular types and justification requirements depending on endianness.
+
+2004-10-04 Robert Dewar <dewar@gnat.com>
+
+ * a-except.adb: Add a comment for last change
+
+ * einfo.ads: Minor spelling correction in comment
+
+ * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
+
+ * sem_ch11.adb: Fix a case of using | instead of \ for continuation
+ messages.
+
+ * sem_util.ads: Minor comment update
+
+2004-10-04 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
+ Inline_Always when in Configurable_Run_Time mode.
+
+ * sem_prag.adb (Process_Convention): If entity is an inherited
+ subprogram, apply convention to parent subprogram if in same scope.
+ (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
+ when in Configurable_Run_Time mode.
+
+2004-10-04 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
+ class_wide type after component list has been inherited.
+
+2004-10-04 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch12.adb (Check_Generic_Actuals): New predicate
+ Denotes_Previous_Actual, to handle properly the case of a private
+ actual that is also the component type of a subsequent array actual.
+ The visibility status of the first actual is not affected when the
+ second is installed.
+ (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
+ make fully recursive the treatment of formals of packages declared
+ with a box.
+ (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
+ the above on exit from an instantiation.
+ (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
+ current instantiation which is now complete.
+ (Analyze_Package_Instantiation): No instantiated body is needed if the
+ main unit is generic. Efficient, and avoid anomalies when a instance
+ appears in a package accessed through rtsfind.
+
+2004-10-04 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
+ do not generate a declaration for a temporary if the call is part of a
+ library-level instantiation.
+
+2004-10-04 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_util.adb (Explain_Limited_Type): Ignore internal components when
+ searching for a limited component to flag.
+
+ * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
+ expansion of Input, to account for the fact that the implicit call
+ generated by the attribute reference must freeze the user-defined
+ stream subprogram. This is only relevant to 'Input, because it can
+ appear in an object declaration, prior to the body of the subprogram.
+
+ * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
+ expansion can proceed and further errors uncovered.
+ (Minor clean up): Fix cases of using | instead of \ for continuation
+ messages.
+
+2004-10-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
+
+ * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
+ (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
+ Use gcc_assert and gcc_unreachable.
+
+ * decl.c (gnat_to_gnu_entity, case object): Check and process a
+ specified alignment before validating size.
+ (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
+ stripped-down declaration for the type of the inner field when making
+ a JM type.
+
+ * utils.c (finish_record_type): Do not compute the size in units
+ incrementally. Instead compute it once for the rep clause case.
+ Use gcc_assert and gcc_unreachable.
+
+2004-10-04 Vincent Celier <celier@gnat.com>
+
+ * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
+ in file name.
+ (Is_Valid_Path_Name): Take '/' as a directory separator.
+
+2004-10-04 Vincent Celier <celier@gnat.com>
+
+ * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
+ (Extended_Project) only if Extended_Project is defined, to avoid
+ assertion error.
+ (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
+ resolved path.
+ (Parse_Single_Project): Ditto.
+
+ * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
+ Add_To_Project_Path for virtual projects.
+
+2004-10-04 Vincent Celier <celier@gnat.com>
+
+ * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+ mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
+ mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
+ mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
+ parameter Options_2.
+
+ * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
+ Build_Dynamic_Library with an empty Options_2.
+
+ * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
+ default anymore.
+
+ * makegpr.adb (Get_Imported_Directories.add): Remove trailing
+ directory separator, if any.
+ (Gprmake): Do not allow mains on the command line for library projects.
+ Do not attempt to link when the project is a library project.
+ (Library_Opts): New table to store Library_Options.
+ (Build_Library): If Library_Options is specified, pass these options
+ when building a shared library.
+
+2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
+
+ * s-tposen.adb (Service_Entry): The object must be always unlocked at
+ the end of this procedure now that the unlock operation was inserted
+ by the expander.
+
+2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
+
+ * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
+ corresponding to the Preallocated_Stacks flags in System.
+ (Get_Target_Parameters): Including the processing for
+ Preallocated_Stacks.
+
+ * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
+ system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
+ system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
+ system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
+ system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
+ system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
+ system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
+ system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
+ system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
+ system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
+ system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
+ used to signal whether the compiler creates the required stacks and
+ descriptors for the different tasks (when True) or it is done by the
+ underlying operating system at run time (when False).
+ It is initially set to False in all targets.
+
+ * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
+ if it is supported by the target.
+ (Make_Task_Create_Call): Pass the stack address if it has been
+ previously created. Otherwise pass a Null_Address.
+
+ * snames.adb: Add _stack.
+
+ * snames.ads: Add Name_uStack. Required to allow the expander to
+ statically allocated task stacks.
+
+ * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
+ Stack_Address argument.
+ Check that its value is equal to Null_Address because this target does
+ not support the static stack allocation.
+
+2004-10-04 Thomas Quinot <quinot@act-europe.fr>
+
+ * usage.adb: Change "pragma inline" to "pragma Inline" in information
+ and error messages
+
+2004-10-04 Thomas Quinot <quinot@act-europe.fr>
+
+ * exp_dist.adb: Split declaration of asynchronous flag out of
+ Add_RACW_Read_Attribute.
+ Minor reformatting for better alignment with PolyORB version.
+ Store the entity for the asynchronous flag of an RACW, rather than the
+ expression, in the asynchronous flags table. This will allow this flag
+ to be used in other subprograms beside Add_RACW_Read_Attribute.
+
+2004-10-04 Thomas Quinot <quinot@act-europe.fr>
+
+ * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
+ g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
+ g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
+ g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
+ g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads: Add new
+ sockets constant MSG_NOSIGNAL (Linux-specific).
+ Add new sockets constant MSG_Forced_Flags, list of flags to be set on
+ all Send operations.
+ For Linux, set MSG_NOSIGNAL on all send operations to prevent them
+ from trigerring SIGPIPE.
+ Rename components to avoid clash with Ada 2005 possible reserved
+ word 'interface'.
+ (Check_Selector): When the select system call returns with an error
+ condition, propagate Socket_Error to the caller.
+
+2004-10-01 Jan Hubicka <jh@suse.cz>
+
+ * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
+
+2004-09-23 Robert Dewar <dewar@gnat.com>
+
+ PR ada/17540
+ * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
+ instead do this at freeze time (we won't do it if there is an address
+ clause).
+ Change "pragma inline" to "pragma Inline" in information and error
+ messages.
+ Minor reformatting.
+
+ * freeze.adb (Check_Address_Clause): Remove previous change, not the
+ right way of doing things after all.
+ (Freeze_Entity): For object, set Is_Public for imported entities
+ unless there is an address clause present.
+
+2004-09-21 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
+ dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
+ ensures proper handling of types with rep clauses, which might have
+ their TYPE_SIZE set already.
+
+2004-09-21 Robert Dewar <dewar@gnat.com>
+
+ * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
+ packed array types in both little- and big-endian cases. This change
+ ensures that we no longer count on the unused bits being initialized
+ for such types (and in particular ensures that equality testing will
+ only read the relevant bits).
+ Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
+ These changes mean that we no longer need to initialize small packed
+ arrays.
+ (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
+ optimization to an LJM field as to its parent field.
+
+ * ada-tree.h, trans.c, utils.c, utils2.c:
+ Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
+
+2004-09-20 Jan Hubicka <jh@suse.cz>
+
+ * utils.c (gnat_finalize): Remove.
+ (end_subprog_body): Directly call cgraph_finalize_function;
+ do not lower the nested functions.
+
+2004-09-20 Robert Dewar <dewar@gnat.com>
+
+ PR ada/17540
+ * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
+ if an address clause is present, since that means that the Import
+ should be ignored.
+
+2004-09-20 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5tsystem.ads: Removed, no longer used.
+
+2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
+ Zack Weinberg <zack@codesourcery.com>
+
+ * ada-tree.def: Use tree_code_class enumeration constants
+ instead of code letters.
+ * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
+ Update for new tree-class enumeration constants.
+
+2004-09-17 Vincent Celier <celier@gnat.com>
+
+ * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
+ capabilities of the general project manager.
+
+2004-09-09 Vincent Celier <celier@gnat.com>
+
+ * a-direct.ads: Add pragma Ada_05
+ (Directory_Entry_Type): Give default value to component Kind to avoid
+ not initialized warnings.
+
+ * a-direct.adb (Current_Directory): Remove directory separator at the
+ end.
+ (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
+ an existing directory.
+ (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
+ (Size (String)): Function C_Size returns Long_Integer, not File_Size.
+ Convert the result to File_Size.
+
+ * prj.ads: (Project_Error): New exception
+
+ * prj-attr.adb: Except in procedure Initialize, Fail comes from
+ Prj.Com, not from Osint.
+ (Attrs, Package_Attributes): Tables moved to private part of spec
+ (Add_Attribute, Add_Unknown_Package): Moved to new child package
+ Prj.Attr.PM.
+ (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
+ Prj.Project_Error after call to Fail.
+ (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
+ Fail. Check that package name is not already in use.
+
+ * prj-attr.ads: Comment updates to indicate that all subprograms may be
+ used by tools, not only by the project manager, and to indicate that
+ exception Prj.Prj_Error may be raised in case of problem.
+ (Add_Unknown_Package, Add_Attribute): Moved to new child package
+ Prj.Attr.PM.
+ (Attrs, Package_Attributes): Table instantiations moved from the body to
+ the private part to be accessible from Prj.Attr.PM body.
+
+ * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
+ from new package Prj.Attr.PM.
+ (Parse_Attribute_Declaration): Call Add_Attribute from new package
+ Prj.Attr.PM.
+
+ * Makefile.in: Add prj-attr-pm.o to gnatmake object list
+
+ * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
+ instead of Elaboration_Checks).
+
+ * a-calend.adb: Minor reformatting
+
+2004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * gigi.h (maybe_pad_type): New declaration.
+ (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
+
+ * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
+
+ * cuintp.c: Convert to use buildN.
+
+ * decl.c (maybe_pad_type): No longer static.
+ (gnat_to_gnu_entity, case E_Function): Handle case of returning by
+ target pointer.
+ Convert to use buildN.
+
+ * trans.c (call_to_gnu): Add arg GNU_TARGET; support
+ TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed.
+ (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
+ RHS.
+ (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
+ (gnat_gimplify_expr, case ADDR_EXPR): New case.
+ Convert to use buildN.
+
+ * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
+ TREE_READONLY for const.
+ Convert to use buildN.
+
+ * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
+ (create_var_decl): Refine when TREE_STATIC is set.
+ Convert to use buildN.
+
+2004-09-09 Gary Dismukes <dismukes@gnat.com>
+
+ * gnat_ugn.texi: Delete text relating to checking of ali and object
+ consistency.
+
+ * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
+ routines.
+
+2004-09-09 Jose Ruiz <ruiz@act-europe.fr>
+
+ * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
+ pragmas recognized by GNAT.
+
+ * gnat_rm.texi: Document pragma Detect_Blocking.
+
+ * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
+ raise Program_Error if called from a protected operation.
+
+ * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
+ the protected action nesting level.
+ (Lock_Read_Only): When pragma Detect_Blocking is active increase the
+ protected action nesting level.
+ (Unlock): When pragma Detect_Blocking is active decrease the protected
+ action nesting level.
+
+ * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
+ Protected_Action_Nesting.
+
+ * s-taskin.ads: Adding the field Protected_Action_Nesting to the
+ Common_ATCB record. It contains the dynamic level of protected action
+ nesting for each task. It is needed for checking whether potentially
+ blocking operations are called from protected operations.
+ (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
+ Detect_Blocking is active or not in the partition.
+
+ * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
+ raise Program_Error if called from a protected operation.
+ (Task_Entry_Call): When pragma Detect_Blocking is active, raise
+ Program_Error if called from a protected operation.
+ (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
+ Program_Error if called from a protected operation.
+
+ * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
+ raise Program_Error if called from a protected operation.
+
+ * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
+ raise Program_Error if called from a protected operation, and increase
+ the protected action nesting level.
+ (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
+ Program_Error if called from a protected operation, and increase the
+ protected action nesting level.
+ (Unlock_Entries): When pragma Detect_Blocking is active decrease the
+ protected action nesting level.
+
+ * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
+ raise Program_Error if called from a protected operation, and increase
+ the protected action nesting level.
+ (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
+ Program_Error if called from a protected operation, and increase the
+ protected action nesting level.
+ (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
+ raise Program_Error if called from a protected operation.
+ (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
+ active, raise Program_Error if called from a protected operation.
+ (Unlock_Entry): When pragma Detect_Blocking is active decrease the
+ protected action nesting level.
+
+ * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
+ insertion of the statement raising Program_Error. The run time
+ contains the required machinery for handling that.
+
+ * sem_util.ads: Change comment associated to procedure
+ Check_Potentially_Blocking_Operation.
+ This procedure does not insert a call for raising the exception because
+ that is currently done by the run time.
+
+ * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
+
+ * init.c: Add the global variable __gl_detect_blocking that indicates
+ whether pragma Detect_Blocking is active (1) or not (0). Needed for
+ making the pragma available at run time.
+ (__gnat_set_globals): Pass and update the detect_blocking parameter.
+
+ * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
+ pragma Detect_Blocking is active.
+
+ * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
+
+ * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
+ DB is found in the ali file. Any unit compiled with pragma
+ Detect_Blocking active forces its effect in the whole partition.
+
+ * a-retide.adb (Delay_Until): Raise Program_Error if pragma
+ Detect_Blocking is active and delay is called from a protected
+ operation.
+
+ * bindgen.adb (Gen_Adainit_Ada): When generating the call to
+ __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
+ Detect_Blocking is active (0 otherwise).
+ (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
+ as Detect_Blocking parameter if pragma Detect_Blocking is active (0
+ otherwise).
+
+2004-09-09 Thomas Quinot <quinot@act-europe.fr>
+
+ * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
+ GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
+ package.
+
+ * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
+ (Register_Receiving_Stub): Add Subp_Info formal parameter.
+ Update API in placeholder implemetation of s-parint to reflect changes
+ in distribution runtime library.
+
+ * sem_ch3.adb (Expand_Derived_Record): Rename to
+ Expand_Record_Extension.
+
+ * sem_disp.adb (Check_Controlling_Formals): Improve error message for
+ primitive operations of potentially distributed object types that have
+ non-controlling anonymous access formals.
+
+ * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
+ subprogram.
+ New implementation of expansion for remote access-to-subprogram types,
+ based on the RACW infrastructure.
+ This version of sem_dist is compatible with PolyORB/DSA as well as
+ GLADE.
+
+ * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
+ Asynchrronous that applies to a remote access-to-subprogram type, mark
+ the underlying RACW type as asynchronous.
+
+ * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
+ __gnat_using_gnu_linker to 1.
+
+ * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
+ g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
+ GNAT.Perfect_Hash_Generators, and remove the empty
+ GNAT.Perfect_Hash package.
+
+ * atree.adb: Minor reformatting
+
+ * exp_ch3.adb (Expand_Derived_Record): Rename to
+ Expand_Record_Extension.
+ (Build_Record_Init_Proc.Build_Assignment): The default expression in
+ a component declaration must remain attached at that point in the
+ tree so New_Copy_Tree copies it if the enclosing record type is derived.
+ It is therefore necessary to take a copy of the expression when building
+ the corresponding assignment statement in the init proc.
+ As a side effect, in the case of a derived record type, we now see the
+ original expression, without any rewriting that could have occurred
+ during expansion of the ancestor type's init proc, and we do not need
+ to go back to Original_Node.
+
+ * exp_ch3.ads (Expand_Derived_Record): Rename to
+ Expand_Record_Extension.
+
+ * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
+ Returns the RACW type used to implement a remote access-to-subprogram
+ type.
+ (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
+ New subprograms. Used to create a proxy tagged object for a remote
+ subprogram. The proxy object is used as the designated object
+ for RAS values on the same partition (unless All_Calls_Remote applies).
+ (Build_Get_Unique_RP_Call): New subprogram. Build a call to
+ System.Partition_Interface.Get_Unique_Remote_Pointer.
+ (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
+ Renamed from Add_RAS_*_Attribute.
+ (Add_Receiving_Stubs_To_Declarations): Generate a table of local
+ subprograms.
+ New implementation of expansion for remote access-to-subprogram types,
+ based on the RACW infrastructure.
+
+ * exp_dist.ads (Copy_Specification): Update comment to note that this
+ function can copy the specification from either a subprogram
+ specification or an access-to-subprogram type definition.
+
+2004-09-09 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
+ in an instance, between an explicit subprogram an one inherited from a
+ type derived from an actual.
+
+ * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
+ add a polling call if the subprogram is to be inlined by the back-end,
+ to avoid repeated calls with multiple inlinings.
+
+ * checks.adb (Apply_Alignment_Check): If the expression in the address
+ clause is a call whose name is not a static entity (e.g. a dispatching
+ call), treat as dynamic.
+
+2004-09-09 Robert Dewar <dewar@gnat.com>
+
+ * g-trasym.ads: Minor reformatting
+
+ * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
+ packed arrays, since unused bits are expected to be zero for a
+ comparison.
+
+2004-09-09 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
+ comment.
+
+2004-09-09 Pascal Obry <obry@gnat.com>
+
+ * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
+ enable map file generation. Add the right option to generate the map
+ file if Map_File is set to True.
+
+ * gnatdll.adb (Gen_Map_File): New variable.
+ (Syntax): Add info about new -m (Map_File) option.
+ (Parse_Command_Line): Add support for -m option.
+ (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
+ Minor reformatting.
+
+2004-09-09 Laurent Pautet <pautet@act-europe.fr>
+
+ * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
+ new gnatdist implementation.
+ Define a subpackage isolating the output routines specific to this
+ verbose mode.
+
+2004-09-09 Joel Brobecker <brobecker@gnat.com>
+
+ * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
+
+ * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
+
+2004-09-09 Cyrille Comar <comar@act-europe.fr>
+
+ * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
+ internal unit.
+
+ * opt.ads: Add Ada_Version_Runtime constant used to decide which
+ version of the language is used to compile the run time.
+
+2004-09-09 Arnaud Charlet <charlet@act-europe.fr>
+
+ * sem_util.adb (Requires_Transient_Scope): Re-enable handling
+ of variable length temporaries for function return now that the
+ back-end and gigi support it.
+
+2004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
+
+ * trans.c (struct stmt_group): Delete field GLOBAL.
+ (gnat_init_stmt_group): Do not initialize it.
+ (call_to_gnu): Use save_expr, not protect_multiple_eval.
+ (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
+ (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
+ (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
+ (start_stmt_group): Likewise.
+ (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
+
+ * utils2.c (ggc.h): Include.
+ (build_call_raise): Call build_int_cst, not build_int_2.
+
+ * utils.c (gnat_init_decl_processing): Fix arg to
+ build_common_tree_nodes.
+ (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
+ (gnat_define_builtin): Set built_in_decls.
+ (init_gigi_decls): Call build_int_cst, not build_int_2.
+
+ * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
+ (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
+ (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
+ (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
+ SET_TYPE_MODULE): Use them.
+ (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
+ (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
+ (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
+ SET_TYPE_ADA_SIZE): Likewise.
+ (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
+ (DECL_CONST_CORRESPONDING_VAR,
+ SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
+ (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
+ (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
+ (TYPE_RM_SIZE_NUM): New macro.
+ (TYPE_RM_SIZE): Modified to use above.
+
+ * cuintp.c: (build_cst_from_int): New function.
+ (UI_To_gnu): Use it.
+
+ * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
+ (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
+ (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
+ MIN_EXPR for the size, copy it into new.
+
+2004-09-01 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch6.adb (Expand_Call): Properly handle validity checks for
+ packed indexed component where array is an IN OUT formal. This
+ generated garbage code previously.
+
+ * gnat_ugn.texi: Document -fverbose-asm
+
+ * gnat-style.texi: Minor updates (note that boolean constants and
+ variables are joined with AND/OR rather than short circuit forms).
+
+2004-09-01 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
+ it is an upward conversion of an untagged type with no representation
+ change.
+
+2004-09-01 Thomas Quinot <quinot@act-europe.fr>
+
+ * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
+ System.Partition_Interface.
+
+ * checks.adb (Apply_Access_Checks): Do not generate checks when
+ expander is not active (but check for unset reference to prefix of
+ dereference).
+
+ * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
+ pragma Debug as an if statement with a constant condition, for
+ consistent treatment of entity references contained within the
+ enclosed procedure call.
+
+2004-09-01 Vincent Celier <celier@gnat.com>
+
+ * bindgen.adb: (Set_EA_Last): New procedure
+ (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
+ Set_EA_Last.
+ (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
+ (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
+ linked without errors.
+ (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
+ ST and EA.
+ (Gen_Exception_Table_C): Correct same bugs
+
+ * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
+
+ * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
+ on Windows, make sure that the drive letter is in upper case.
+
+ * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
+ Windows, when the drive letter is added and Case_Sensitive is True, the
+ drive letter is forced to upper case.
+
+ * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
+ to Options_2 for the call to MLib.Utl.Gcc.
+
+ * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
+ directory separator when defining BASE_DIR.
+
+2004-09-01 Pascal Obry <obry@gnat.com>
+
+ * gprcmd.adb (Extend): Do not output trailing directory separator. This
+ is not needed and it confuses Windows GNU/make which does not report
+ directory terminated by a slash as a directory.
+ (gprcmd): Idem for "pwd" internal command.
+
+ * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
+ target names rewrite to fix regressions with recent version of
+ GNU/make. Starting with GNU/make 3.80 the pipe character was not
+ handled properly anymore.
+
+2004-09-01 Andreas Schwab <schwab@suse.de>
+
+ * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
+ * raise.c [!IN_RTS]: Undef abort.
+
+2004-08-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * utils2.c (build_allocator): Use ssize_int.
+
+ * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
+
+2004-08-27 Andreas Schwab <schwab@suse.de>
+
+ * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
+
+2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
+
+2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
+
+ * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
+ * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
+ * utils.c (init_gigi_decls): Likewise.
+ * utils2.c (build_call_raise, build_allocator): Likewise.
+
+2004-08-24 Nathan Sidwell <nathan@codesourcery.com>
+
+ * utils.c (gnat_init_decl_processing): Adjust
+ build_common_tree_nodes call.
+
+2004-08-20 Nathan Sidwell <nathan@codesourcery.com>
+
+ * utils2.c (build_allocator): Use build_int_cst for negative
+ size types.
+
+2004-08-18 Richard Henderson <rth@redhat.com>
+
+ * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
+
+2004-08-16 Nathan Sidwell <nathan@codesourcery.com>
+
+ * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
+ call.s
+ * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
+ (gnat_to_gnu): Likewise.
+
+2004-08-16 Pascal Obry <obry@gnat.com>
+
+ * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
+ backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
+ option and not mdll anymore. Update comment.
+
+2004-08-16 Pascal Obry <obry@gnat.com>
+
+ * bld.adb (Put_Include_Project): Properly handle directory separators
+ on Windows.
+
+2004-08-16 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
+ decreasing the number of allocated junk nodes while searching for the
+ appropriate subprogram.
+
+2004-08-15 Nathan Sidwell <nathan@codesourcery.com>
+
+ * cuintp.c (UI_To_gnu): Use build_int_cst..
+ * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
+ * utils.c (init_gigi_decls): Likewise.
+ * utils2.c (build_call_raise): Likewise.
+
+2004-08-13 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
+ for a global aliased object with a variable size and an unconstrained
+ nominal subtype, pretend there is no initializer if the one we have is
+ incomplete, and avoid referencing an inexistant component in there. The
+ part we have will be rebuilt anyway and the reference may confuse
+ further operations.
+
+2004-08-13 Thomas Quinot <quinot@act-europe.fr>
+
+ * einfo.ads: Minor reformatting
+
+ * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
+ restrictions in the ALI if we only want to warn about violations.
+
+2004-08-13 Vincent Celier <celier@gnat.com>
+
+ * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
+ when creating a new Unit_Record in table Units.
+
+ * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
+ that are violated, if any.
+
+ * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
+ add directory separator if path already ends with a directory separator.
+
+2004-08-13 Ed Schonberg <schonberg@gnat.com>
+
+ * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
+ unit, this is an attempt to inline a construct that is not available in
+ the current restricted mode, so abort rather than trying to continue.
+
+ * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
+ discriminants that rename those of the parent, recover names of
+ original discriminants for the constraint on the full view of the
+ parent.
+ (Complete_Private_Subtype): Do not create a subtype declaration if the
+ subtype is an itype.
+
+ * gnat_rm.texi: Added section on implementation of discriminated
+ records with default values for discriminants.
+
+2004-08-13 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15601
+ * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
+ the second operand is overloaded.
+
+2004-08-10 Richard Henderson <rth@redhat.com>
+
+ * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
+ add __builtin_alloca.
+
+2004-08-10 Richard Henderson <rth@redhat.com>
+
+ * config-lang.in (boot_language): Yes.
+
+2004-08-09 Thomas Quinot <quinot@act-europe.fr>
+
+ * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
+ from complaining on potential uninitialized reference.
+ Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
+ new specification and test explicitly for non-zero return value.
+
+ * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
+ returning C.int, to avoid using a derived boolean type.
+
+ * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
+ Duplicate_Subexpr_No_Checks in preference to direct use of
+ Remove_Side_Effects and New_Copy_Tree.
+ Clear Comes_From_Source on prefix of 'Size attribute reference.
+
+ * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
+ g-socthi-vxworks.adb: Change calls to
+ GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
+ and test explicitly for non-zero return value.
+
+ * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
+ (Is_Socket_In_Set): Declare imported function as returning C.int, to
+ avoid using a derived boolean type.
+
+2004-08-09 Albert Lee <lee@gnat.com>
+
+ * system-irix-n32.ads: Refine tasking priority constants for IRIX.
+
+2004-08-09 Pascal Obry <obry@gnat.com>
+
+ * gnat_ugn.texi: Document new way to build DLLs on Windows using
+ GCC's -shared option.
+
+ * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
+ Options_2 parameter (options put after object files).
+
+2004-08-09 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
+ ignore overflows on low and high bounds of an index to also account for
+ differences in signedness between sizetype and gnu_index_subtype.
+ These are as legitimate as the ones caused by a lower TYPE_PRECISION
+ on sizetype.
+
+2004-08-09 Robert Dewar <dewar@gnat.com>
+
+ * s-solita.ads, s-solita.adb: Minor reformatting
+
+ * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
+ Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
+ obsolescent section
+ Add note that No_Implicit_Conditionals does not suppress
+ run time constraint checks.
+
+ * vms_conv.ads: Minor reformatting
+
+ * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
+ and necessary for following change).
+ (Mark): Return new format Mark_Id containing sec stack address
+ (Release): Use sec stack address from Mark_Id avoiding Self call
+
+ * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
+ pointer (cleanup and necessary for following change).
+ Define Mark_Id as record containing address of secondary stack, that way
+ Release does not need to find the stack again, decreasing the number of
+ calls to Self and improving efficiency.
+
+ * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
+
+ * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
+ case variable into the individual case branches when possible.
+
+ * sem_ch11.adb: Minor reformatting
+
+ * prj.ads: Correct spelling of suffixs
+
+ * prj-nmsc.adb: Minor reformatting
+ Correct spelling suffixs throughout (also in identifiers)
+
+ * freeze.adb: Minor spelling correction
+
+ * exp_ch2.adb: Cleanups to handling of Current_Value
+ (no functional effect).
+
+ * bld.adb: Correct spelling of suffixs
+
+ * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
+
+2004-08-09 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15408
+ * sem_ch7.adb (Install_Private_Declarations): In the body of the
+ package or of a child, private entities are both immediately_visible
+ and not hidden.
+
+2004-08-09 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
+ there are no range checks on the value of the literal.
+
+ * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
+ wrapped is the triggering alternative of an asynchronous select, action
+ statements mustbe inserted before the select itself.
+
+ * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
+ case where the prefix is a protected function call.
+ (Resolve_Attribute, case 'Access): The attribute reference on a
+ subprogram is legal in a generic body if the subprogram is declared
+ elsewhere.
+
+2004-08-09 Vincent Celier <celier@gnat.com>
+
+ * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
+ languages, otherwise building the library may fail with unresolved
+ symbols.
+ (Compile_Sources): Do not build libraries if -c switch is used
+
+ * gnatlink.adb (Process_Args): New switches -M and -Mmap
+ (Write_Usage): If map file creation is supported, output new switches
+ -M and -Mmap.
+ (Gnatlink): When -M is specified, add the necessary switch(es) to the
+ gcc call, when supported.
+
+ * Makefile.in: Added indepsw.o to the object list for gnatlink
+ Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
+
+ * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
+ indepsw.adb, indepsw.ads: New files.
+
+2004-08-09 Bernard Banner <banner@gnat.com>
+
+ * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
+
+ * Makefile.in: add section for vxworks x86
+
+2004-08-09 Hristian Kirtchev <kirtchev@gnat.com>
+
+ * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
+ per-object constrained components where the discriminant is of an
+ Access type.
+ (Build_Record_Init_Proc): Add condition to prevent the inheritance of
+ the parent initialization procedure for derived Unchecked_Unions.
+ Instead, derived Unchecked_Unions build their own initialization
+ procedure.
+ (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
+ Check the body of the subprogram for details.
+ (Freeze_Record_Type): Prevent the inheritance of discriminant checking
+ functions for derived Unchecked_Union types by introducing a condition.
+ Allow the creation of TSS equality functions for Unchecked_Unions.
+ (Make_Eq_Case): Rename formal parameter Node to E in function signature.
+ Add formal parameter Discr to function signature. Discr is used to
+ control the generated case statement for Unchecked_Union types.
+ (Make_Eq_If): Rename formal parameter Node to E in function signature.
+
+ * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
+ Unchecked_Unions.
+ Check the body of the subprogram for details.
+ (Expand_Composite_Equality): Augment composite type equality to include
+ correct handling of Unchecked_Union components.
+ (Expand_N_In): Add condition to detect illegal membership tests when the
+ subtype mark is a constrained Unchecked_Union and the expression lacks
+ inferable discriminants, and build a Raise_Program_Error node.
+ (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
+ to detect types that contain components of unconstrained Unchecked_Union
+ subtype. Add condition to detect equality between types that have an
+ unconstrained Unchecked_Union component, and build a Raise_Program_Error
+ node. Add condition to detect equality between Unchecked_Union types
+ that lack inferable discriminants, and build a Raise_Program_Error node.
+ Otherwise build a TSS equality function call.
+ (Expand_N_Type_Conversion): Add condition to detect illegal conversions
+ from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
+ with the operand lacking inferable discriminants, and build a Raise_
+ Program_Error node.
+ (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
+ composite equality.
+ (Has_Inferable_Discriminants): Implement new predicate for objects and
+ expressions of Unchecked_Union type. Check the body of subprogram for
+ details.
+ (Has_Unconstrained_UU_Components): Add function
+ Component_Is_Unconstrained_UU. It is used to detect whether a single
+ component is of an unconstrained Unchecked_Union subtype. Add function
+ Variant_Is_Unconstrained_UU. It is used to detect whether a single
+ component inside a variant is of an unconstrained Unchecked_Union type.
+
+ * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
+ inferred discriminant values. Add condition to generate a case
+ statement with an inferred discriminant as the switch.
+ (Make_Component_List_Assign): Introduce a Boolean flag that determines
+ the behaviour of the subprogram in the presence of an Unchecked_Union.
+ Add condition to trigger the usage of the inferred discriminant value
+ as the generated case statement switch.
+ (Make_Field_Assign): Introduce a Boolean flag that determines the
+ behaviour of the subprogram in the presence of an Unchecked_Union. Add
+ condition to trigger the usage of the inferred discriminant value as
+ the right-hand side of the generated assignment.
+
+ * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
+ parameter generation when dealing with Unchecked_Unions.
+
+ * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
+ checks for Unchecked_Unions.
+
+ * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Produce
+ Raise_Program_Error nodes for the execution of Read and Write
+ attributes of Unchecked_Union types and the execution of Input and
+ Output attributes of Unchecked_Union types that lack default
+ discriminant values.
+
+ * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
+ Unchecked_Union. Add procedure Check_Component. It is used to inspect
+ per-object constrained components of Unchecked_Unions for being
+ Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
+ check individual components withing a variant.
+
+ * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
+ comparison of Unchecked_Unions.
+ (Resolve_Equality_OP): Remove guard that prevents equality between
+ Unchecked_Unions.
+
+ * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
+ of component subtypes for Unchecked_Union components.
+ (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
+ since it is the actual subtype.
+
+ * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
+ pass of Unchecked_Union subtypes as generic actuals to formal types
+ that lack known_discriminant_parts or that are derived Unchecked_Union
+ types, and do nothing. In any other case, produce an error message.
+
+ * sem_ch3.adb (Analyze_Component_Declaration): Add function
+ Contains_POC. It determines whether a constraint uses the discriminant
+ of an enclosing record type.
+ Add condition to detect per-object constrained component and set the
+ appropriate flag.
+ (Derived_Type_Declaration): Remove guard that prevents derivation from
+ Unchecked_Union types.
+ (Process_Subtype): Remove quard that prevents the creation of Unchecked_
+ Union subtypes.
+
+ * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
+ references to Unchecked_Union discriminants.
+
+ * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
+ formal generation when dealing with Unchecked_Unions.
+ (Set_Actual_Subtypes): Add condition to prevent generation of actual
+ subtypes for Unchecked_Unions.
+
+ * sem_ch7.adb (Analyze_Package_Specification): Add procedure
+ Inspect_Unchecked_Union_Completion. It is used to detect incorrect
+ completions of discriminated partial views by Unchecked_Unions and
+ produce an error message.
+
+2004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (struct stmt_group): New field, GLOBAL.
+ (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
+ (struct elab_info): New struct.
+ (elab_info_list, gnu_elab_proc_stack): New variables.
+ (Compilation_Unit_to_gnu): New procedure.
+ (gigi): Call it and also handle elaboration procs we've saved.
+ (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
+ global field from parent.
+ (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
+ (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
+ (start_stmt_group): Initialize global field from parent.
+ (add_decl_expr): Set to global for current statement group.
+ (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
+ post.
+
+ * utils.c (global_bindings_p): True when no current_function_decl; no
+ longer check current_binding_level.
+
+2004-08-09 Ben Brosgol <brosgol@gnat.com>
+
+ * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
+ choice.
+
+ * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
+
+2004-08-06 Andreas Schwab <schwab@suse.de>
+
+ * utils.c (gnat_define_builtin): Remove second parameter of
+ make_decl_rtl.
+ (begin_subprog_body): Likewise.
+
+2004-07-26 Arnaud Charlet <charlet@act-europe.fr>
+
+ * sem_util.adb (Requires_Transient_Scope): Temporarily disable
+ optimization, not supported by the tree-ssa back-end.
+
+2004-07-26 Olivier Hainque <hainque@act-europe.fr>
+
+ * s-mastop-irix.adb: Update comments.
+
+ * a-except.adb (Exception_Information): Raise Constraint_Error if
+ exception Id is Null_Id.
+ This is required behavior, which is more reliably and clearly checked
+ at the top level interface level.
+
+2004-07-26 Javier Miranda <miranda@gnat.com>
+
+ * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
+ call if a component has no default_expression and the box is used.
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
+ default_expression and you use box, it behaves as if you had declared a
+ stand-alone object.
+ (Resolve_Record_Aggregate): If a component has no default_expression and
+ you use box, it behaves as if you had declared a stand-alone object.
+
+ * sem_ch10.adb (Install_Siblings): Do not make visible the private
+ entities of private-with siblings.
+
+2004-07-26 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
+ for a component of an itype, set the parent pointer for analysis,
+ there is no list in which to insert it.
+
+ * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
+ bona-fide renamings, not for inherited operations.
+
+ * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
+ actual for a formal that is an access parameter, create local
+ finalization list even if the expression is not an aggregate.
+
+2004-07-26 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/16213
+ * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
+ Diagnose properly illegal subprogram renamings that are library units.
+
+2004-07-26 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15588
+ * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
+ conversion rewritten as an unchecked conversion, check that original
+ expression is a variable.
+
+ * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
+ unchecked_conversion, create new node rather than rewriting in place,
+ to preserve original construct.
+
+2004-07-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * gigi.h (gnat_expand_body): Deleted.
+
+ * Make-lang.in: (trans.o): Depends on function.h.
+
+ * misc.c: (gnat_expand_body): Moved to here.
+
+ * trans.c (gnat_expand_body_1): Deleted.
+ (gnat_expand_body): Moved from here.
+ (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
+ (add_stmt): Check for marked visited with global_bindings_p.
+ (gnat_gimplify_expr, case COMPONENT_REF): New case.
+ (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
+
+ * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
+ VIEW_CONVERT_EXPR if not operation type.
+
+ * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
+ fat pointer.
+
+ * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
+ changes: reformatting of negation operators, removing unneeded
+ inequality comparison with zero, converting equality comparisons with
+ zero to negations, changing int/0/1 to bool/false/true, replace calls
+ to gigi_abort with abort, and various other similar changes.
+
+2004-07-26 Vincent Celier <celier@gnat.com>
+
+ * gnatcmd.adb (GNATCmd): Add processing for new built-in command
+ "setup".
+
+ * make.adb (Gnatmake): Fail when a library is not present and there is
+ no object directory.
+
+ * mlib-prj.adb (Check_Library): No need to check if the library needs
+ to be rebuilt if there is no object directory, hence no object files
+ to build the library.
+
+ * opt.ads (Setup_Projects): New Boolean flag.
+
+ * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
+ Location.
+ Create directory when Kind /= "" and in "gnat setup". Report error if
+ directory cannot be created.
+ (Ada_Check): Create library interface copy dir if it does not exist
+ and we are in "gnat setup".
+ (Find_Sources): No error if in "gnat setup" and no Ada sources were
+ found.
+ (Language_Independent_Check): Create object directory, exec directory
+ and/or library directory if they do not exist and we are in
+ "gnat setup".
+
+ * vms_conv.ads: (Command_Type): New command Setup.
+
+ * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
+
+ * vms_data.ads: Add qualifiers/switches for new built-in command
+ "setup".
+
+2004-07-25 Richard Henderson <rth@redhat.com>
+
+ * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
+ DECL_IGNORED_P on RESULT_DECL.
+
+2004-07-20 Olivier Hainque <hainque@act-europe.fr>
+
+ * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
+ allocation and potentially overflowing update with
+ Tailored_Exception_Information. Use the sec-stack free procedural
+ interface to output Exception_Information instead.
+
+ * a-except.adb (To_Stderr): New subprogram for character, and string
+ version moved from a-exextr to be visible from other separate units.
+ (Tailored_Exception_Information): Remove the procedural version,
+ previously used by the default Last_Chance_Handler and not any more.
+ Adjust various comments.
+
+ * a-exexda.adb: Generalize the exception information procedural
+ interface, to minimize the use of secondary stack and the need for
+ local buffers when the info is to be output to stderr:
+ (Address_Image): Removed.
+ (Append_Info_Character): New subprogram, checking for overflows and
+ outputing to stderr if buffer to fill is of length 0.
+ (Append_Info_String): Output to stderr if buffer to fill is of length 0.
+ (Append_Info_Address, Append_Info_Exception_Name,
+ Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
+ Append_Info_Basic_Exception_Traceback,
+ Append_Info_Exception_Information): New subprograms.
+ (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
+ (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
+ Exception_Info_Maxlength, Exception_Name_Length,
+ Exception_Message_Length): New subprograms.
+ (Exception_Information): Use Append_Info_Exception_Information.
+ (Tailored_Exception_Information): Use
+ Append_Info_Basic_Exception_Information.
+ Export services for the default Last_Chance_Handler.
+
+ * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
+ other separate units.
+
+2004-07-20 Vincent Celier <celier@gnat.com>
+
+ * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
+
+2004-07-20 Ed Schonberg <schonberg@gnat.com>
+
+ * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
+ emit itype references for the designated types of component types that
+ are declared outside of the full record declaration, and that may
+ denote a partial view of that record type.
+
+2004-07-20 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15607
+ * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
+ which is the designated type in an access component declaration, to the
+ list of incomplete dependents of the parent type, to avoid elaboration
+ issues with out-of-scope subtypes.
+ (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
+ full view of the parent.
+
+2004-07-20 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15610
+ * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
+ entities that are hidden, such as references to generic actuals
+ outside an instance.
+
+2004-07-20 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
+ support to the new notation.
+ (Analyze_Selected_Component): Add call to Try_Object_Operation.
+
+2004-07-20 Jose Ruiz <ruiz@act-europe.fr>
+
+ * s-taprob.adb: Adding the elaboration code required for initializing
+ the tasking soft links that are common to the full and the restricted
+ run times.
+
+ * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
+ restricted run time has been moved to the package
+ System.Soft_Links.Tasking.
+
+ * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
+ restricted run time has been moved to the package
+ System.Soft_Links.Tasking.
+
+ * Makefile.rtl: Add entry for s-solita.o in run-time library list.
+
+ * s-solita.ads, s-solita.adb: New files.
+
+2004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
+ Case_Statement_to_gnu): Split off from gnat_to_gnu.
+ (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
+ Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
+ Exception_Handler_to_gnu_zcx): Likewise.
+
+2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gigi.h (builtin_function): Declare.
+
+2004-07-15 Robert Dewar <dewar@gnat.com>
+
+ * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
+ reformatting
+
+ * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
+ access values as an example of a warning.
+
+ * gnat_rm.texi: Document new attribute Has_Access_Values
+
+ * gnat-style.texi: Document that box comments belong on nested
+ subprograms
+
+ * sem_util.ads (Has_Access_Values): Improved documentation
+
+ * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
+
+ * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
+ (Process_Interface_Name): Call to this new procedure
+ (Set_Extended_Import_Export_External_Name): Call to this new procedure
+
+ * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
+
+ * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
+
+ * einfo.ads: Minor comment typo fixed
+
+2004-07-15 Jose Ruiz <ruiz@act-europe.fr>
+
+ * snames.adb: Add _atcb.
+
+ * snames.ads: Add Name_uATCB.
+
+ * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
+ (in the expanded code) when using the restricted run time.
+
+ * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
+ a in parameter in order to allow ATCBs to be preallocated (in the
+ expanded code).
+
+ * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
+ order to allow ATCBs to be preallocated. In case of error, the ATCB is
+ deallocated in System.Tasking.Stages.
+
+ * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
+ order to allow ATCBs to be preallocated.
+
+ * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
+ here. It was previously done in Initialize_ATCB.
+
+ * rtsfind.ads: Make the Ada_Task_Control_Block visible.
+
+ * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
+ Restricted run time.
+
+ * exp_ch3.adb: When using the Restricted run time, pass the
+ preallocated Ada_Task_Control_Block when creating a task.
+
+2004-07-15 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_util.adb (Normalize_Actuals): If there are no actuals on a
+ function call that is itself an actual in an enclosing call, diagnose
+ problem here rather than assuming that resolution will catch it.
+
+ * sem_ch7.adb (Analyze_Package_Specification): If the specification is
+ the local copy of a generic unit for a formal package, and the generic
+ is a child unit, install private part of ancestors before compiling
+ private part of spec.
+
+ * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
+ use scope entities rather than tree structures, to handle properly
+ parent units that are instances rewritten as bodies for inlining
+ purposes.
+
+ * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
+ Remove_Parents): Handle properly a parent unit that is an
+ instantiation, when the unit has been rewritten as a body for inlining
+ purposes.
+
+ * par.adb (Goto_List): Global variable to collect goto statements in a
+ given unit, for use in detecting natural loops.
+
+ * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
+ use in detecting natural loops.
+
+ * par-labl.adb (Find_Natural_Loops): Recognize loops create by
+ backwards goto's, and rewrite as a infinite loop, to improve locality
+ of temporaries.
+
+ * exp_util.adb (Force_Evaluation): Recognize a left-hand side
+ subcomponent that includes an indexed reference, to prevent the
+ generation of copies that would miscompile the desired assignment
+ statement.
+ (Build_Task_Image_Decls): Add a numeric suffix to
+ generated name for string variable, to avoid spurious conflicts with
+ the name of the type of a single protected object.
+
+ * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
+ loop with an explicit exit statement, to avoid generating an
+ out-of-range value with 'Succ leading to spurious constraint_errors
+ when compiling with -gnatVo.
+
+2004-07-15 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
+ might not be analyzed yet, even if its Etype is already set (case of an
+ unchecked conversion built using Unchecked_Convert_To, for example).
+ If the prefix has already been analyzed, this will be a nop anyway.
+
+ * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
+ controller type, or an assignment of a record type with controlled
+ components, copy only user data, and leave the finalization chain
+ pointers untouched.
+
+2004-07-15 Vincent Celier <celier@gnat.com>
+
+ * make.adb (Collect_Arguments): Improve error message when attempting
+ to compile a source not part of any project, when -x is not used.
+
+ * prj.ads: (Defined_Variable_Kind): New subtype
+
+ * prj-attr.adb (Register_New_Package): Two new procedures to register
+ a package with or without its attributes.
+ (Register_New_Attribute): Mew procedure to register a new attribute in a
+ package.
+ New attribute oriented subprograms: Attribute_Node_Id_Of,
+ Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
+ Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
+ Next_Attribute.
+ New package oriented subprograms: Package_Node_Id_Of,
+ Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
+
+ * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
+ type.
+ (Package_Node_Id): Now a private, self initialized type
+ (Register_New_Package): New procedure to register a package with its
+ attributes.
+ New attribute oriented subprograms: Attribute_Node_Id_Of,
+ Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
+ Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
+ Next_Attribute.
+ New package oriented subprograms: Package_Node_Id_Of,
+ Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
+
+ * prj-dect.adb (Parse_Attribute_Declaration,
+ Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
+
+ * prj-makr.adb (Make): Parse existing project file before creating
+ other files. Fail if there was an error during parsing.
+
+ * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
+ new spec of Prj.Attr.
+
+ * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
+ to new spec of Prj.Attr.
+
+2004-07-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils2.c: Fix typo in comment.
+
+2004-07-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
+ * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
+
+2004-07-14 Andreas Schwab <schwab@suse.de>
+
+ * trans.c (gnat_init_stmt_group): Remove duplicate definition.
+
+2004-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
+ object type.
+ (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
+ TYPE_STUB_DECL.
+
+ * misc.c (gnat_types_compatible_p): New function.
+ (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
+ (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
+
+ * trans.c (gigi): Move processing of main N_Compilation_Unit here.
+ (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
+ (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
+ (mark_visited): Don't mark dummy type.
+ (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
+ parameter, we must remove any LJM building from GNU_NAME.
+ (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
+ (pos_to_constructor): Use int_const_binop.
+ (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
+ PARM_DECL.
+
+ * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
+ (gnat_pushlevel): Set TREE_USE on BLOCK node.
+ (gnat_install_builtins): Add __builtin_memset.
+
+2004-07-13 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
+ for a renaming, stabilize the initialization expression if we are at a
+ local level. At the local level, uses of the renaming may be performed
+ by a direct dereference of the initializing expression, and we don't
+ want possible variables there to be evaluated for every use.
+
+ * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
+ Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
+ them on the way. Account for the fact that we may introduce side
+ effects in the process.
+
+2004-07-13 Richard Henderson <rth@redhat.com>
+
+ * misc.c (default_pass_by_ref): Use pass_by_reference.
+
+2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
+ LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
+
+2004-07-08 Richard Henderson <rth@redhat.com>
+
+ * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
+ commentary.
+
+2004-07-06 Vincent Celier <celier@gnat.com>
+
+ * vms_conv.ads: Minor reformatting.
+ Alphabetical order for enumerated values of type Command_Type, to have
+ the command in alphabetical order for the usage.
+
+ * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
+ the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
+
+ * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
+
+ * makegpr.adb (Global_Archive_Exists): New global Boolean variable
+ (Add_Archive_Path): Only add the global archive if there is one.
+ (Build_Global_Archive): Set Global_Archive_Exists depending if there is
+ or not any object file to put in the global archive, and don't build
+ a global archive if there is none.
+ (X_Switches): New table
+ (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
+ in the X_Switches table, if any.
+ (Initialize): Make sure the X_Switches table is empty
+ (Scan_Arg): Record -X switches in table X_Switches
+
+ * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
+
+ * make.adb: Minor comment fix
+
+ * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
+ invoked with directory information, add the directory in front of the
+ path.
+
+ * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
+ invoked with directory information, add the directory in front of the
+ path.
+
+ * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
+ when Keep_Temporary_Files is False.
+ (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
+ directory information, add the directory in front of the path.
+ When not on VMS, handle new switch -dn before the command to set
+ Keep_Temporary_Files to True.
+ (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
+ everywhere.
+
+ * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
+ invoked with directory information, add the directory in front of the
+ path.
+
+2004-07-06 Thomas Quinot <quinot@act-europe.fr>
+
+ * snames.ads, snames.adb (Name_Stub): New name for the distributed
+ systems annex.
+
+ * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
+ New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
+
+ * g-socket.adb (To_Timeval): Fix incorrect conversion of
+ Selector_Duration to Timeval for the case of 0.0.
+
+ * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
+ documentation from Evolve_And_Then.
+
+2004-07-06 Jose Ruiz <ruiz@act-europe.fr>
+
+ * s-taprop-tru64.adb, s-taprop-os2.adb,
+ s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
+
+2004-07-06 Robert Dewar <dewar@gnat.com>
+
+ * s-osinte-hpux.ads, s-osinte-freebsd.ads,
+ s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
+ s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
+ s-interr-sigaction.adb, s-taprop-irix-athread.adb,
+ s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
+ s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
+ s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
+ s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
+ a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
+ a-tags.ads, bindgen.ads, checks.adb, checks.adb,
+ csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
+ exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
+ g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
+ i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
+ sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
+ sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
+ sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
+ s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
+ s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
+ s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
+ vms_data.ads: Minor reformatting,
+ Fix bad box comment format.
+
+ * gnat_rm.texi: Fix minor grammatical error
+
+ * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
+
+ * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
+ more cases of discriminated records to be recognized as not needing a
+ secondary stack.
+ (Has_Access_Values): New function.
+
+ * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
+
+ * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
+ Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
+ with LRM terminology).
+ Change terminology in comments primitive type => elementary type.
+
+2004-07-06 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15602
+ * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
+ parameters do not impose any requirements on the presence of a body.
+
+2004-07-06 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15593
+ * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
+ compilation unit and is in an open scope at the point of instantiation,
+ assume that a body may be present later.
+
+2004-07-06 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
+ Improve error message when specified size is not supported.
+
+ * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
+ is never a primitive operation.
+
+2004-07-05 Andreas Schwab <schwab@suse.de>
+
+ * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
+ RECORD_OR_UNION_CHECK.
+ (TYPE_CONTAINS_TEMPLATE_P): Likewise.
+
+2004-07-04 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
+ dependency on xgnatugn, instead build it via a submake.
+ (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
+
+2004-07-04 Richard Henderson <rth@redhat.com>
+
+ * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
+
+2004-07-01 Richard Henderson <rth@redhat.com>
+
+ * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
+ * utils.c (max_size): Likewise.
+
+2004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
+ and rest_of_type_compilation; add arg to create_*_decl.
+ (annotate_decl_with_node): Deleted.
+ (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
+ * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
+ (get_current_block_context, gnat_pushdecl): New declarations.
+ (gnat_init_stmt_group): Likewise.
+ (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
+ * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
+ (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
+ (gnat_init): Call gnat_init_stmt_group.
+ * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
+ (gnu_pending_elaboration_list): Deleted.
+ (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
+ (gigi): Rearrange initialization calls and move some to last above.
+ (gnat_to_gnu): If statement and not in procedure, go into elab proc.
+ Delete calls to add_decl_expr; add arg to create_*_decl.
+ (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
+ (gnat_to_gnu, case N_Subprogram_Body): Move some code to
+ begin_subprog_body and call it.
+ Don't push and pop ggc context.
+ (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
+ (add_stmt): Remove handling of DECL_EXPR from here.
+ If not in function, mark visited.
+ (add_decl_expr): Put global at top level.
+ Check for cases of DECL_INITIAL we have to handle here.
+ (process_type): Add extra arg to create_type_decl.
+ (build_unit_elab): Rework to just gimplify.
+ * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
+ (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
+ (get_pending_elaborations, pending_elaborations_p): Likewise.
+ (push_pending_elaborations, pop_pending_elaborations): Likewise.
+ (get_elaboration_location, insert_elaboration_list): Likewise.
+ (gnat_binding_level): Renamed from ada_binding_level.
+ (init_gnat_to_gnu): Don't clear pending_elaborations.
+ (global_bindings_p): Treat as global if no current_binding_level.
+ (set_current_block_context): New function.
+ (gnat_pushdecl): Renamed from pushdecl; major rework.
+ All callers changed.
+ (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
+ (finish_record_type): Call call pushdecl for stub decl.
+ (function_nesting_depth): Deleted.
+ (begin_subprog_body): Delete obsolete code.
+ * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
+
+2004-06-28 Robert Dewar <dewar@gnat.com>
+
+ * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+ mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
+ mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
+ mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+ a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
+
+ * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
+ deal with problem of inefficient slices on machines with strict
+ alignment, when the slice is a component of a composite.
+
+ * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
+ machines, we need the check there as well.
+
+2004-06-28 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
+ determine safe copying direction for overlapping slice assignments
+ when component is controlled.
+
+ * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
+ formal derived type in the actual for a formal package are visible in
+ the enclosing instance.
+
+2004-06-28 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15600
+ * sem_util.adb (Trace_Components): Diagnose properly an illegal
+ circularity involving a private type whose completion includes a
+ self-referential component.
+ (Enter_Name): Use Is_Inherited_Operation to distinguish a source
+ renaming or an instantiation from an implicit derived operation.
+
+2004-06-28 Pascal Obry <obry@gnat.com>
+
+ * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
+ DLL.
+ (Library_File_Name_For): Idem.
+
+2004-06-28 Matthew Gingell <gingell@gnat.com>
+
+ * g-traceb.ads: Add explanatory note on the format of addresses
+ expected by addr2line.
+
+2004-06-28 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: Force debugging information on s-tasdeb.adb,
+ a-except.adb and s-assert.adb needed by the debugger.
+
+2004-06-28 Vincent Celier <celier@gnat.com>
+
+ * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
+ Need_To_Build_Lib.
+ (Gnatmake): Ditto.
+
+ * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
+
+ * prj.adb: Minor reformatting
+ (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
+
+ * prj.ads: Comment updates
+ Minor reformatting
+ (Project_Data): Change Flag1 to Need_To_Build_Lib.
+ Remove Flag2: not used.
+
+ * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
+ declaration.
+
+ * gnat_ugn.texi: Put a "null;" declaration in one project file example
+
+ * gnat_rm.texi: Document Empty declarations "null;".
+
+ * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
+ front of the linker options.
+ (Link_Foreign): Put the global archives and the libraries in front of
+ the linker options.
+
+2004-06-28 Javier Miranda <miranda@gnat.com>
+
+ * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
+ (RTU_Loaded): Code cleanup
+ (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
+ withed predefined units.
+
+ * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
+ explicitly withed predefined units.
+ Fix typo in comment
+
+ * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
+ explicitly withed predefined units.
+
+2004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.def (DECL_STMT): Deleted.
+ * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
+ (DECL_STMT_VAR): Deleted.
+ * decl.c: add_decl_stmt now add_decl_expr.
+ * gigi.h: Likewise.
+ * trans.c: Likewise.
+ (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
+ (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
+ (add_stmt): Only handle padded type here.
+ (add_stmt_with_node): Allow gnat_node to not be present.
+ (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
+ (gnat_gimplify_stmt, case DECL_STMT): Deleted.
+ (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
+ make a SAVE_EXPR for the entire fat pointer.
+ * utils.c (pushdecl): Walk a DECL_EXPR in global case.
+ (create_index_type): Make a DECL_EXPR.
+ (end_subprog_body): Don't call allocate_struct_function here but
+ do clear cfun.
+
+2004-06-25 Pascal Obry <obry@gnat.com>
+
+ * makegpr.adb (Build_Library): Remove parameter Lib_Address and
+ Relocatable from Build_Dynamic_Library call.
+
+ * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
+ Relocatable are now synonym.
+
+ * Makefile.in: Use s-parame-mingw.adb on MingW platform.
+
+ * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
+ Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
+ call.
+
+ * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
+ Lib_Address and Relocatable.
+ (Default_DLL_Address): Removed.
+
+ * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+ mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
+ mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
+ (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
+ (Default_DLL_Address): Removed.
+
+ * mlib-tgt-mingw.adb: Ditto.
+ (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
+
+ * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
+ the initial thread stack size.
+
+ * a-strmap.ads: Move package L to private part as it is not used in
+ the spec. Found while reading code.
+
+2004-06-25 Olivier Hainque <hainque@act-europe.fr>
+
+ * tracebak.c: Introduce support for a GCC infrastructure based
+ implementation of __gnat_backtrace.
+
+ * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
+ any more. Use accessors instead. This eases maintenance and relaxes
+ some alignment constraints.
+ (_GNAT_Exception structure): Remove the Ada specific fields
+ (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
+ a-exexpr.adb.
+ (is_handled_by, __gnat_eh_personality): Replace component references to
+ exception structure by use of the new accessors.
+
+ * init.c (__gnat_initialize): Adjust comments to match the just
+ reverted meaning of the -static link-time option.
+
+ * adaint.c (convert_addresses): Arrange not to define a stub for
+ mips-irix any more, as we now want to rely on a real version from a
+ recent libaddr2line.
+
+ * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
+ the personality routine can use them and not have to rely on a C
+ counterpart of the record anymore. This simplifies maintenance and
+ relaxes the constraint of having Standard'Maximum_Alignment match
+ BIGGEST_ALIGNMENT.
+ Update comments, and add a section on the common header alignment issue.
+
+2004-06-25 Geert Bosch <bosch@gnat.com>
+
+ * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
+ polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
+
+2004-06-25 Robert Dewar <dewar@gnat.com>
+
+ * gnat_rm.texi: Fix section on component clauses to indicate that the
+ restriction on byte boundary placement still applies for bit packed
+ arrays.
+ Add comment on stack usage from Initialize_Scalars
+
+ * gnat_ugn.texi: Add documentation for -gnatyLnnn
+
+ * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
+ limiting nesting level.
+
+ * usage.adb: Add line for -gnatyLnnn switch
+
+ * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
+ sem_ch13.adb, exp_aggr.adb: Minor reformatting
+
+ * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
+ type as well as on the subtype. This corrects a problem in freeze in
+ setting alignments of atomic types.
+
+ * sem_eval.ads: Minor comment typo fixed
+
+ * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
+ level. Minor reformatting.
+
+ * fname.adb (Is_Predefined_File_Name): Require a letter after the
+ minus sign. This means that file names like a--b.adb will not be
+ considered predefined.
+
+ * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
+ record Test new flag and give diagnostic for bad component clause.
+ (Freeze_Entity): Set alignment of array from component alignment in
+ cases where this is safe to do.
+
+ * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
+ arrays.
+
+ * cstand.adb: (Create_Standard): Set alignment of String to 1
+
+ * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
+
+ * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
+ code in the common constrained array cases.
+
+ * a-storio.adb: Change implementation to avoid possible alignment
+ problems on machines requiring strict alignment (data should be moved
+ as type Buffer, not type Elmt).
+
+ * checks.adb (Apply_Array_Size_Check): Improve these checks by
+ killing the overflow checks which we really do not need (64-bits is
+ enough).
+
+2004-06-25 Vincent Celier <celier@gnat.com>
+
+ * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
+ (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
+ inconditionally for the main project.
+ (Recursive_Add_Archives.Add_Archive_Path): New procedure
+ (Link_Executables.Check_Time_Stamps): New procedure
+ (Link_Executables.Link_Foreign): New procedure
+ Changes made to reduce nesting level of this package
+ (Check): New procedure
+ (Add_Switches): When not in quiet output, check that a switch is not
+ the concatenation of several valid switches. If it is, issue a warning.
+ (Build_Global_Archive): If the global archive is rebuilt, linking need
+ to be done.
+ (Compile_Sources): Rebuilding a library archive does not imply
+ rebuilding the global archive.
+ (Build_Global_Archive): New procedure
+ (Build_Library): New name for Build_Archive, now only for library
+ project
+ (Check_Archive_Builder): New procedure
+ (Create_Global_Archive_Dependency_File): New procedure
+ (Gprmake): Call Build_Global_Archive before linking
+ * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
+ throughout.
+ (Scan_Arg): Display the Copyright notice when -v is used
+
+ * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
+ for gnatls.
+
+ * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
+ COMPILE.
+ Add new GNAT LIST qualifier /FILES=
+ Added qualifier /DIRECTORY= to GNAT METRIC
+ Added qualifier /FILES= to GNAT METRIC
+ Added qualifier /FILES to GNAT PRETTY
+
+ * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
+ to take into account both versions of the switch.
+
+ * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
+ always be the last switch to the gcc driver. Disable switch storing so
+ that switches automatically added by the gcc driver are not put in the
+ ALI file.
+
+ * prj.adb (Project_Empty): Take into account changes in components of
+ Project_Data.
+
+ * prj.ads (Languages_Processed): New enumaration value All_Languages.
+
+ * prj.ads (Project_Data): Remove component Lib_Elaboration: never
+ used. Split Boolean component Ada_Sources_Present in two Boolean
+ components Ada_Sources_Present and Other_Sources_Present.
+ Minor reformatting
+
+ * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
+ instead of Sources_Present.
+ (Set_Ada_Paths.Add.Recursive_Add): Ditto
+
+ * prj-nmsc.adb: Minor reformatting
+ (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
+ (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
+ Check_Ada_Naming_Scheme.
+ Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
+ throughout.
+
+ * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
+ In_Limited.
+ Make sure that all cycles where there is at least one "limited with"
+ are detected.
+ (Parse_Single_Project): New Boolean parameter In_Limited
+
+ * prj-proc.adb (Recursive_Check): When Process_Languages is
+ All_Languages, call first Prj.Nmsc.Ada_Check, then
+ Prj.Nmsc.Other_Languages_Check.
+
+ * prj-proc.adb (Process): Use Ada_Sources_Present or
+ Other_Sources_Present (instead of Sources_Present) depending on
+ Process_Languages.
+
+ * lang-specs.h: Keep -g and -m switches in the same order, and as the
+ last switches.
+
+ * lib.adb (Switch_Storing_Enabled): New global Boolean flag
+ (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
+ False.
+ (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
+ False.
+
+ * lib.ads (Disable_Switch_Storing): New procedure.
+
+ * make.adb: Modifications to reduce nesting level of this package.
+ (Check_Standard_Library): New procedure
+ (Gnatmake.Check_Mains): New procedure
+ (Gnatmake.Create_Binder_Mapping_File): New procedure
+ (Compile_Sources.Compile): Add switch -gnatez as the last option
+ (Display): Never display -gnatez
+
+ * Makefile.generic:
+ When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
+
+ * gnatcmd.adb (Check_Project): New function
+ (Process_Link): New procedure to reduce nesting depth
+ (Check_Files): New procedure to reduce the nesting depth.
+ For GNAT METRIC, include the inherited sources in extending projects.
+ (GNATCmd): When GNAT LS is invoked with a project file and no files,
+ add the list of files from the sources of the project file. If this list
+ is too long, put it in a temp text files and use switch -files=
+ (Delete_Temp_Config_Files): Delete the temp text file that contains
+ a list of source for gnatpp or gnatmetric, if one has been created.
+ (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
+ in the project file is too large, create a temporary text file that
+ list them and pass it to the tool with "-files=<temp text file>".
+ (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
+
+ * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
+ generated file is in not in Ada.
+
+ * gnatls.adb: Remove all parameters And_Save that are no longer used.
+ (Scan_Ls_Arg): Add processing for -files=
+ (Usage): Add line for -files=
+
+ * g-os_lib.adb (On_Windows): New global constant Boolean flag
+ (Normalize_Pathname): When on Windows and the path starts with a
+ directory separator, make sure that the resulting path will start with
+ a drive letter.
+
+ * clean.adb (Clean_Archive): New procedure
+ (Clean_Project): When there is non-Ada code, delete the global archive,
+ the archive dependency files, the object files and their dependency
+ files, if they exist.
+ (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
+
+2004-06-25 Thomas Quinot <quinot@act-europe.fr>
+
+ * sinfo.ads: Fix typo in comment.
+
+ * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
+ the TSS for remote access-to-subprogram types, since these TSS are
+ always present once the type has been analyzed.
+ (RAS_E_Dereference): Same.
+
+ * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
+ reference raises Bad_Attribute, mark the reference as analyzed so the
+ node (and any children resulting from rewrites that could have occurred
+ during the analysis that ultimately failed) is not analyzed again.
+
+ * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
+
+ * exp_dist.adb: Minor comment fix.
+
+ * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
+ type is an anonymous access type, no unchecked deallocation of the
+ allocated object can occur. If the object is controlled, attach it with
+ a count of 1. This allows attachment to the Global_Final_List, if
+ no other relevant list is available.
+ (Get_Allocator_Final_List): For an anonymous access type that is
+ the type of a discriminant or record component, the corresponding
+ finalisation list is the one of the scope of the type.
+
+2004-06-25 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Replace_Type): When computing the signature of an
+ inherited subprogram, use the first subtype if the derived type
+ declaration has no constraint.
+
+ * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
+ before applying previous optimization. Minor code cleanup.
+
+ * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
+ placed at the beginning of an unpacked record without explicit
+ alignment, a slice of it will be aligned and does not need a copy when
+ used as an actual.
+
+2004-06-25 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15591
+ PR ada/15592
+ * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
+ reference is written with expressions mimicking parameters.
+
+2004-06-25 Hristian Kirtchev <kirtchev@gnat.com>
+
+ PR ada/15589
+ * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
+ STEP 2a. The constraints of a full type declaration of a derived record
+ type are checked for conformance with those declared in the
+ corresponding private extension declaration. The message
+ "not conformant with previous declaration" is emitted if an error is
+ detected.
+
+2004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * g-traceb.ads: Document the need for -E binder switch in the spec.
+
+ * g-trasym.ads: Document the need for -E binder switch in the spec.
+
+2004-06-25 Jose Ruiz <ruiz@act-europe.fr>
+
+ * sem_prag.adb: Add handling of pragma Detect_Blocking.
+
+ * snames.h, snames.ads, snames.adb: Add entry for pragma
+ Detect_Blocking.
+
+ * s-rident.ads: Change reference to pragma Detect_Blocking.
+
+ * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
+ system.ads.
+
+ * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
+ to indicate whether pragma Detect_Blocking is active.
+
+ * par-prag.adb: Add entry for pragma Detect_Blocking.
+
+ * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
+ of not handling WITH.
+ Note that this replaces the previous update which was incorrect.
+
+2004-06-25 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
+ use-clauses to have a clean environment.
+
+ * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
+ the installation of the use-clauses to stablish a clean environment in
+ case of compilation of a separate unit; otherwise the call to
+ use_one_package is protected by the barrier Applicable_Use.
+
+ * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
+ the installation of the use-clauses to stablish a clean environment in
+ case of compilation of a separate unit.
+ (End_Use_Clauses): Minor comment cleanup.
+
+2004-06-25 Sergey Rybin <rybin@act-europe.fr>
+
+ * gnat_ugn.texi: Add description of the gnatpp 'files' switch
+
+2004-06-23 Richard Henderson <rth@redhat.com>
+
+ * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
+
+2004-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (elaborate_expression, elaborate_expression_1): Arguments
+ now bool instead of int.
+ (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
+ * trans.c (gnu_switch_label_stack): New function.
+ (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
+ elaboration of renamed entity returns.
+ (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
+ (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
+ (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
+ (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
+ DECL_SIZE_UNIT and simplify variable-sized case.
+ (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
+ Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
+ (gnat_stabilize_reference): Add arg to COMPONENT_REF.
+ (build_unit_elab): Disable for now.
+ * utils.c (mark_visited): New function.
+ (pushdecl): Walk tree to call it for global decl.
+ (update_pointer_to): Update all variants of pointer and ref types.
+ Add arg to COMPONENT_REF.
+ (convert): Likewise.
+ Move check for converting between variants lower down.
+ * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
+ (build_allocator): Don't force type of MODIFY_EXPR.
+ (gnat_mark_addressable, case VAR_DECL): Unconditionally call
+ put_var_into_stack.
+
+2004-06-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
+ * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
+ * decl.c (gnat_to_gnu_entity): Also set force_global for imported
+ subprograms.
+ * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
+ all callers changed.
+ (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
+ the way that EXIT_STMT finds the loop label.
+ (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
+ (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
+ (add_stmt): Use annotate_with_locus insted of setting directly.
+ (pos_to_construct): Set TREE_PURPOSE of each entry to index.
+ (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
+ * utils.c (gnat_install_builtins): Install __builtin_memcmp.
+ (build_vms_descriptor): Add extra args to ARRAY_REF.
+ (convert): Use VIEW_CONVERT_EXPR between aggregate types.
+ * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
+ New cases.
+ (build_binary_op): Don't make explicit CONVERT_EXPR.
+ Add extra rgs to ARRAY_REF.
+
+2004-06-14 Pascal Obry <obry@gnat.com>
+
+ * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
+ Windows. Fix minor typo.
+
+ * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
+ which is now supported on Windows. With this implementation using the
+ Library Project feature is no different on Windows than on UNIX.
+
+2004-06-14 Vincent Celier <celier@gnat.com>
+
+ * makegpr.adb (Compile_Sources): Nothing to do when there are no
+ non-Ada sources.
+
+ * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
+
+ * prj-part.adb (Parse_Single_Project): When a duplicate project name is
+ found, show the project name and the path of the previously parsed
+ project file.
+
+2004-06-14 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
+ array, avoid copying the actual before the call.
+
+2004-06-14 Thomas Quinot <quinot@act-europe.fr>
+
+ * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
+ Instead, allocate memory on worst-case alignment assumptions, and then
+ return an aligned address within the allocated zone.
+
+2004-06-14 Robert Dewar <dewar@gnat.com>
+
+ * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
+ elab entities in predefined units in No_Run_Time_Mode.
+ (Gen_Adainit_C): Same fix
+ (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
+ units in No_Run_Time_Mode
+ (Gen_Elab_Calls_C): Same fix
+
+ * symbols-vms-alpha.adb: Minor reformatting
+
+ * g-debpoo.ads: Minor reformatting
+
+ * lib.adb (In_Same_Extended_Unit): Version working on node id's
+
+ * lib.ads (In_Same_Extended_Unit): Version working on node id's
+
+ * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
+ working on nodes.
+
+ * make.adb: Minor reformatting
+
+ * par-ch12.adb: Minor reformatting
+
+ * par-prag.adb: Add dummy entry for pragma Profile_Warnings
+
+ * prj-strt.adb: Minor reformatting
+
+ * restrict.ads, restrict.adb: Redo handling of profile restrictions to
+ be more general.
+
+ * sem_attr.adb: Minor reformatting
+
+ * sem_ch7.adb: Minor reformatting
+
+ * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
+ for type in the same unit as the object declaration.
+
+ * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
+ static string expressions and not just string literals.
+ Minor reformatting
+ (Set_Warning): Reset restriction warning flag for restriction pragma
+ Implement pragma Profile_Warnings
+ Implement pragma Profile (Restricted)
+ Give obolescent messages for old restrictions and pragmas
+
+ * snames.h, snames.ads, snames.adb: Add new entry for pragma
+ Profile_Warnings.
+
+ * s-rident.ads: Add declarations for restrictions required by profile
+ Restricted and profile Ravenscar.
+
+ * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
+
+ * gnat_ugn.texi: Correct some missing entries in the list of GNAT
+ configuration pragmas.
+
+2004-06-11 Vincent Celier <celier@gnat.com>
+
+ * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
+ gnatsym, when symbol policy is Restricted.
+
+ * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
+ gnatsym, when symbol policy is Restricted.
+
+ * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
+ read the symbol file.
+ (Finalize): Fail in symbol policy Restricted if a symbol in the original
+ symbol file is not in the object files. Do not create a new symbol file
+ when symbol policy is Restricted.
+
+ * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
+ in Scng.
+
+ * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
+ Restricted.
+ (Usage): Line for new switch -R
+
+ * make.adb (Initialize): When the platform is not VMS, add the
+ directory where gnatmake is invoked in the front of the path, if
+ gnatmake is invoked with directory information. Change the Scan_Args
+ while loop to a for loop.
+ (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
+ if Depth is equal or greater than the proposed depth, there is nothing
+ to do.
+ (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
+ instead of 0.
+
+ * prj.ads: Add new symbol policy Restricted.
+
+ * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
+ with the new parameters Check_All_Labels and Case_Location.
+
+ * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
+ (Library_Symbol_File needs to be defined).
+
+ * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
+ and Case_Location If Check_All_Labels is True, check that all values of
+ the string type are used, and output warning(s) if they are not.
+
+ * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
+ and Case_Location.
+
+ * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
+
+ * gnat_ugn.texi: Update documentation about the library directory in
+ Library Projects.
+
+ * makegpr.adb (Display_Command): In verbose mode, also display the
+ value of the CPATH env var, when the compiler is gcc.
+ (Initialize): Change the Scan_Args while loop to a for loop
+ (Compile_Individual_Sources): Change directory to object directory
+ before compilations.
+
+ * symbols.ads: New symbol policy Restricted.
+
+2004-06-11 Olivier Hainque <hainque@act-europe.fr>
+
+ * a-except.adb (Raise_After_Setup family): Remove. The responsibility
+ is now taken care of internally in the Exception_Propagation package
+ and does not require clients assistance any more.
+
+ * a-exexpr.adb (Is_Setup_And_Not_Propagated,
+ Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
+ functions. Helpers to maintain a predicate required in the handling of
+ occurrence transfer between tasks.
+ This is now handled internally and does not require clients assistance
+ for the setup/propagate separation anymore.
+ (Setup_Exception, Propagate_Exception): Simplify the Private_Data
+ allocation strategy, handle the Setup_And_Not_Propagated predicate and
+ document.
+
+ * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
+ raise_after_setup, now that everything is handled internally within the
+ setup/propagation engine.
+
+2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
+ Add additional conditions for the case of an actual being a simple
+ name or literal. Improve inlining by preventing the generation
+ of temporaries with a short lifetime (one use).
+
+2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
+
+ PR ada/15587
+ * einfo.ads: Minor comment updates for Has_Completion and
+ E_Constant list of flags.
+
+ * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
+ and constant redeclarations now set the Has_Completion flag of their
+ defining identifiers.
+
+ * sem_ch7.adb (Analyze_Package_Spec): Add procedure
+ Inspect_Deferred_Constant_Completion.
+ Used to detect private deferred constants that have not been completed
+ either by a constant redeclaration or pragma Import. Emits error message
+ "constant declaration requires initialization expression".
+
+ * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
+ completes a deferred constant.
+
+2004-06-11 Geert Bosch <bosch@gnat.com>
+
+ * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
+
+ * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
+ calculating exponent for scaling denormal numbers.
+ (Leading_Part): Properly raise Constraint_Error for zero or negative
+ Adjustment.
+ (Remainder): Properly raise Constraint_Error for zero divisor.
+
+2004-06-11 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_util.adb: Minor reformatting.
+
+ * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
+ dereference when accessing the entry parameter record.
+ (Check_Array_Type): Always check for possible implicit dereference.
+ (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
+ Abort if a pointer is still present (denoting that an implicit
+ dereference was left in the tree by the front-end).
+
+ * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
+ dereference when accessing the entry parameter record.
+ (Check_Array_Type): Always check for possible implicit dereference.
+ (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
+ Abort if a pointer is still present (denoting that an implicit
+ dereference was left in the tree by the front-end).
+
+2004-06-11 Emmanuel Briot <briot@act-europe.fr>
+
+ * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
+ message, like the compiler itself does. Easier to parse the output.
+
+ * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
+
+ * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
+ be base names, and not includes directories.
+
+2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
+ so that dependencies are properly taken into account by make.
+
+2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR ada/15622
+ * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
+ exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
+
+2004-06-11 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in (install-gnatlib): install target-specific run-time files.
+
+ * Make-lang.in: Remove obsolete targets.
+
+2004-06-11 Ed Schonberg <schonberg@gnat.com>
+
+ * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
+ specification, to catch misuses of program unit names.
+
+ * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
+ superfluous conversions in an instance.
+
+2004-06-11 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15403
+ * sem_ch12.adb (Save_References): If operator node has been folded to
+ enumeration literal, associated_node must be discarded.
+
+2004-06-11 Jose Ruiz <ruiz@act-europe.fr>
+
+ * s-stchop-vxworks.adb: Add required pragma Convention to
+ Task_Descriptor because it is updated by a C function.
+
+2004-06-08 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR ada/15568
+ * Makefile.in: Remove target specific SO_OPT on IRIX
+
+2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
+ (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
+ (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
+ (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
+ (STMT_STMT, USE_STMT): New statement codes.
+ (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
+ * ada-tree.h: Reflect above changes.
+ (struct tree_loop_id): Deleted.
+ (union lang_tree_node, struct lang_decl, struct lang_type):
+ Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
+ and DECL_LANGUAGE_SPECIFIC to reflect these changes.
+ (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
+ (IS_ADA_STMT): New macro.
+ * decl.c (annotate_decl_with_node): New function.
+ (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
+ (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
+ Call add_stmt_with_node to do needed assignments.
+ Add call to update setjmp buffer directly, not via EXPR_STMT.
+ (maybe_variable): Argment GNAT_NODE deleted.
+ * gigi.h (maybe_variable): Likewise.
+ (make_transform, add_stmt_with_node, set_block_for_group): New.
+ (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
+ (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
+ (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
+ (set_lineno, set_lineno_from_sloc): Likewise.
+ (record_code_position, insert_code_for): Likewise.
+ (gnat_poplevel): Now returns void.
+ (end_subprog_body): Now takes argument.
+ * misc.c (cgraph.h, tree-inline.h): New includes.
+ (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
+ (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
+ (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
+ (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
+ (gnat_parse_file): Don't set immediate_size_expand.
+ Call cgraph functions.
+ (gnat_expand_expr): Remove most cases.
+ (record_code_position, insert_code_for): Remove from here.
+ * trans.c (toplev.h, tree-gimple.h): Now included.
+ (discard_file_names): Deleted.
+ (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
+ (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
+ (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
+ (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
+ (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
+ (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
+ (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
+ (set_block_for_group, add_stmt_list): Likewise.
+ (start_stmt_group): Renamed from start_block_stmt.
+ (end_stmt_group): Likewise, from end_block_stmt.
+ (build_stmt_group): Likewise, from build_block_stmt, also add arg.
+ (gigi): Don't set discard_file_names or call set_lineno.
+ Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
+ (tree_transform): Deleted, now renamed to be gnat_to_gnu.
+ Numerous changes throughout to reflect new names and complete
+ function-at-a-time implementation.
+ (gnat_expand_stmt): Delete or comment out all cases.
+ (process_inlined_subprograms): Use add_stmt.
+ (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
+ call set_lineno; also remove unneeded block handling.
+ (process_type): Remove unneeded block handling.
+ (build_unit_elab): Remove calls to deleted functions.
+ * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
+ (tree-dump.h): Likewise.
+ (struct ada_binding_level): Add field jmpbuf_decl.
+ (gnat_define_builtin, gnat_install_builtins): New.
+ (gnat_gimplify_function, gnat_finalize): Likewise.
+ (gnat_poplevel): No longer return BLOCK, set it instead.
+ Remove code dealing with nested functions.
+ (gnat_init_decl_processing): Also set size_type_node.
+ Call gnat_install_builtins.
+ (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
+ (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
+ Remove special-case for "main".
+ (end_subprog_body): Add arg and rework for tree-ssa.
+ (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
+ Add case for BOOLEAN_TYPE.
+ * utils2.c (rtl.h): Now include.
+ (build_call_raise): Test Debug_Flag_NN directly.
+ (build_call_alloc_dealloc): Don't use local stack allocation for now.
+ (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
+ (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
+
+2004-06-07 Robert Dewar <dewar@gnat.com>
+
+ * a-direct.ads, einfo.ads: Minor comment updates
+
+ * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
+ s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
+ s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
+ s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
+ s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
+
+ * s-interr-sigaction.adb: Remove unreferenced variable
+ (Attached_Interrupts). Minor reformatting.
+ Avoid use of variable I (replace by J).
+
+ * par-ch10.adb: Fix text of one error message
+
+ * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
+ exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
+ exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
+ opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
+ par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
+ par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
+ sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
+ sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
+ sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
+ sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
+ snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
+ 2005 support.
+
+2004-06-07 Doug Rupp <rupp@gnat.com>
+
+ * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
+
+ * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
+
+ * mlib-tgt-vms-ia64.adb: New file.
+
+ * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
+ Add mlib-tgt-vms-ia64.adb
+ Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
+ Move to alpha specific ifeq section.
+ Add VMS specific versions of symbols.adb
+ Renaming of 5q vms files.
+
+ * 5qsystem.ads renamed to system-vms_64.ads.
+
+2004-06-07 Vincent Celier <celier@gnat.com>
+
+ * a-calend.ads: Add a GNAT Note comment after function Time_Of to
+ explain that when a time of day corresponding to the non existing hour
+ on the day switching to DST is specified, Split may return a different
+ value for Seconds.
+
+ * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
+ to GNAT PRETTY.
+
+ * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
+ (Normalize_Pathname): Only resolve VMS logical names when on VMS.
+
+ * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
+ to False.
+ If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
+ the linking options.
+ (Build_Library.Check_Libs): On VMS, if there is a dependency on
+ g-trasym.ads, set Gtrasymobj_Needed to True.
+
+ * prj-attr.adb: Add new package Metrics for gnatmetric
+
+ * prj-nmsc.adb (Record_Other_Sources): Put source file names in
+ canonical case to take into account files with upper case characters on
+ Windows.
+ (Ada_Check): Load the reference symbol file name in the name buffer to
+ check it, not the symbol file name.
+
+ * snames.ads, snames.adb: Add standard name Metrics (name of project
+ file package for gnatmetric).
+
+ * vms_conv.ads: Add Metric to Comment_Type
+
+ * vms_conv.adb (Initialize): Add component dor Metric in Command_List
+
+ * vms_data.ads: Add qualifiers for GNAT METRIC
+
+ * makegpr.adb (Link_Executables): Take into account the switches
+ specified in package Linker of the main project.
+
+2004-06-07 Thomas Quinot <quinot@act-europe.fr>
+
+ * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
+ the index of the last element is Units.Last, not Units.Table'Last
+ (which is usually not a valid index within the actually allocated
+ storage for the table).
+
+ * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
+ determines whether to generate a call to a checked storage pool
+ Dereference action.
+ Generate such a call only for a dereference that either comes from
+ source, or is the result of rewriting a dereference that comes from
+ source.
+
+2004-06-07 Romain Berrendonner <berrendo@act-europe.fr>
+
+ * bindgen.adb (Gen_Output_File): Add support for GAP builds.
+
+2004-06-07 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
+ file level, elaborate the stride for inner dimensions in alignment
+ units, not bytes.
+
+ * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
+ in a comment.
+
+2004-06-07 Javier Miranda <miranda@gnat.com>
+
+ * exp_ch6.adb: Correct wrong modification in previous patch
+
+2004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * g-trasym.ads: Corrected comment to properly reflect level of support
+ on VMS.
+
+2004-06-07 Hristian Kirtchev <kirtchev@gnat.com>
+
+ * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
+ includes case of a variable referenced on the left hand side of an
+ assignment, therefore remove redundant code. Variables and prefixes of
+ indexed or selected components are now marked as referenced on left
+ hand side. Warnings are now properly emitted when variables or prefixes
+ are assigned but not read.
+
+ * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
+ left hand side referenced variables. Private access types do not
+ produce the warning "variable ... is assigned but never read".
+ Add also additional checks to left hand side referenced variables.
+ Aliased, renamed objects and access types do not produce the warning
+ "variable ... is assigned but never read" since other entities may read
+ the memory location.
+
+2004-06-07 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: In the powerpc/vxworks-specific section, restore
+ EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
+ by mistake).
+
+2004-06-07 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
+ predefined operators.
+ Removes spurious type errors from g-trasym-vms.adb.
+
+ * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
+ distinct from the operator appearing in the source, call appropriate
+ routine to insert conversions when needed, and complete resolution of
+ node.
+ (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
+ interpretations for rewritten right operand.
+ (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
+ the other operand is overloaded and the context is a type conversion.
+
+2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.def (BLOCK_STMT): Now has two operands.
+ (BREAK_STMT): New.
+
+ * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
+
+ * gigi.h: (gnat_poplevel): Now returns a tree.
+
+ * trans.c (end_block_stmt): Add arg; all callers changed.
+ (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
+ (start_block_stmt): Clear BLOCK_STMT_BLOCK.
+ (add_stmt): Set TREE_TYPE.
+ (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
+ (gnat_expand_stmt, case BREAK_STMT): New case.
+
+ * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
+
+2004-06-07 Jose Ruiz <ruiz@act-europe.fr>
+
+ * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
+ procedure Set_Stack_Size that is not needed.
+
+2004-06-07 Sergey Rybin <rybin@act-europe.fr>
+
+ * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
+ used for gnatpp input file and for the files upon which it depends
+
+2004-06-07 Ben Brosgol <brosgol@gnat.com>
+
+ * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
+
+2004-06-07 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnatvsn.ads: Bump version numbers appropriately.
+ Add new build type.
+
+2004-06-07 Pascal Obry <obry@gnat.com>
+
+ * gnat_ugn.texi: Improve comments about imported names and link names
+ on Windows. Add a note about the requirement to use -k gnatdll's option
+ when working with a DLL which has stripped stdcall symbols (no @nn
+ suffix).
+
+2004-05-27 Vincent Celier <celier@gnat.com>
+
+ * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
+ COMMENTS_LAYOUT=UNTOUCHED
+
+ * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
+ symbols-vms-alpha.adb
+
+2004-05-27 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem.ads: Clarify documentation on checks suppression.
+
+ * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
+
+2004-05-27 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
+ the case of multiple derivations.
+ (Is_Object_Reference): For a selected component, verify that the prefix
+ is itself an object and not a value.
+
+ * sem_ch12.adb (Same_Instantiated_Constant): New name for
+ Same_Instantiated_Entity.
+ (Same_Instantiated_Variable): Subsidiary to
+ Check_Formal_Package_Instance, to recognize actuals for in-out generic
+ formals that are obtained from a previous formal package.
+ (Instantiate_Subprogram_Body): Emit proper error when
+ generating code and the proper body of a stub is missing.
+
+ * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
+ has a universal interpretation, do the disambiguation here.
+
+ * exp_ch4.adb (Expand_N_Type_Conversion,
+ Expand_N_Unchecked_Type_Conversion): Special handling when target type
+ is Address, to avoid typing anomalies when Address is a visible integer
+ type.
+
+ * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
+ to determine whether a subprogram should not be marked Pure, even when
+ declared in a pure package.
+
+2004-05-27 Jose Ruiz <ruiz@act-europe.fr>
+
+ * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
+
+ * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
+ Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
+ Update the documentation about the Ravenscar profile, following the
+ definition found in AI-249.
+
+ * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
+ setting the Profile (Ravenscar). This must be done in addition to
+ setting the required restrictions.
+
+ * rtsfind.ads: Add the set of operations defined in package
+ Ada.Interrupts.
+
+ * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
+ restriction.
+
+2004-05-27 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ lang-specs.h: Always require -c or -S and always redirect to /dev/null
+ if -gnatc or -gnats is passed.
+
+2004-05-27 Hristian Kirtchev <kirtchev@gnat.com>
+
+ * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
+ a significant reference. Warnings are now properly emitted when a
+ discriminated type is not referenced.
+
+ * lib-xref.adb (Generate_Reference): A deferred constant completion,
+ record representation clause or record type discriminant does not
+ produce a reference to its corresponding entity. Warnings are now
+ properly emitted when deferred constants and record types are not
+ referenced.
+
+2004-05-27 Geert Bosch <bosch@gnat.com>
+
+ * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
+ Fixes ACATS Annex G tests.
+
+2004-05-27 Robert Dewar <dewar@gnat.com>
+
+ * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
+ handling WITH
+
+2004-05-27 Arnaud Charlet <charlet@act-europe.fr>
+
+ * s-interr.adb (Server_Task): Take into account case of early return
+ from sigwait under e.g. linux.
+
+2004-05-27 Sergey Rybin <rybin@act-europe.fr>
+
+ * gnat_ugn.texi: Add description for the new gnatpp options:
+ -rnb - replace the original source without creating its backup copy
+ -c0 - do not format comments
+
+2004-05-24 Geert Bosch <bosch@gnat.com>
+
+ * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
+ with 192 bits of precision, sufficient to reduce a double-extended
+ arguments X with a maximum relative error of T'Machine_Epsilon, for X
+ in -2.0**32 .. 2.0**32.
+ (Cos, Sin): Always reduce arguments of 1/4 Pi or larger, to prevent
+ reduction by the processor, which only uses a 68-bit approximation of
+ Pi.
+ (Tan): Always reduce arguments and compute function either using
+ the processor's fptan instruction, or by dividing sin and cos as needed.
+
+2004-05-24 Doug Rupp <rupp@gnat.com>
+
+ * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
+ gcc error on 32/64 bit VMS.
+
+2004-05-24 Olivier Hainque <hainque@act-europe.fr>
+
+ * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
+ since this is what we get for stack overflows although not documented
+ as such.
+ Document the issues which may require adjustments to our signal
+ handlers.
+
+2004-05-24 Ed Schonberg <schonberg@gnat.com>
+
+ * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
+ enclosing dynamic scope if the instantiation is within a generic unit.
+
+2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
+
+ * exp_dbug.ads: Fix typo.
+
+ * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
+ Rename it to its proper name: system-linux-ia64.ads
+ (stamp-gnatlib1): Remove extra target specific run time files when
+ setting up the rts directory.
+
+2004-05-24 Javier Miranda <miranda@gnat.com>
+
+ * einfo.ads, einfo.adb (Limited_Views): Removed.
+ (Limited_View): New attribute that replaces the previous one. It is
+ now a bona fide package with the limited-view list through the
+ first_entity and first_private attributes.
+
+ * sem_ch10.adb (Install_Private_With_Clauses): Give support to
+ limited-private-with clause.
+ (Install_Limited_Withed_Unit): Install the private declarations of a
+ limited-private-withed package. Update the installation of the shadow
+ entities according to the new structure (see Build_Limited_Views)
+ (Build_Limited_Views): Replace the previous implementation of the
+ limited view by a package entity that references the first shadow
+ entity plus the first shadow private entity (required for limited-
+ private-with clause)
+ (New_Internal_Shadow_Entity): Code cleanup.
+ (Remove_Limited_With_Clause): Update the implementation to undo the
+ new work carried out by Build_Limited_Views.
+ (Build_Chain): Complete documentation.
+ Replace Ada0Y by Ada 0Y in comments
+ Minor reformating
+
+ * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
+ types the level of accessibility depends on the enclosing type
+ declaration.
+
+ * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
+ entities. Complete documentation of previous change.
+
+2004-05-24 Robert Dewar <dewar@gnat.com>
+
+ * namet.adb: Minor reformatting
+ Avoid use of name I (replace by J)
+ Minor code restructuring
+
+ * sem_ch6.adb: Minor reformatting
+
+ * lib-writ.adb: Do not set restriction as active if this is a
+ Restriction_Warning case.
+
+ * sem_prag.adb: Reset restriction warning flag if real pragma
+ restriction encountered.
+
+ * s-htable.adb: Minor reformatting
+ Change rotate count to 3 in Hash (improves hash for small strings)
+
+ * 5qsystem.ads: Add comments for type Address (no literals allowed).
+
+ * gnat_ugn.texi: Add new section of documentation "Code Generation
+ Control", which describes the use of -m switches.
+
+2004-05-24 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ trans.c (tree_transform) <N_Identifier>: Do the dereference directly
+ through the DECL_INITIAL for renamed variables.
+
+2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
+
+ * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
+
+2004-05-19 Joel Brobecker <brobecker@gnat.com>
+
+ * exp_dbug.ads: Correct comments concerning handling of overloading,
+ since we no longer use $ anymore.
+
+2004-05-19 Sergey Rybin <rybin@act-europe.fr>
+
+ * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
+ ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
+ with illegal subunits.
+
+2004-05-19 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
+ body with front-end inlining enabled, check whether an inline pragma
+ appears immediately after the body and applies to it.
+
+ * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
+ enabled and the pragma appears after the body of the subprogram.
+
+2004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ Part of function-at-a-time conversion
+
+ * misc.c (adjust_decl_rtl): Deleted.
+ (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
+ Define.
+
+ * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
+ (add_decl_stmt, add_stmt, block_has_vars): New functions.
+ (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
+
+ * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
+ when making a decl.
+ (gnat_to_gnu_entity): Likewise.
+ Use add_stmt to update setjmp buffer.
+ Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
+ flush_addressof.
+ No longer call adjust_decl_rtl.
+ (DECL_INIT_BY_ASSIGN_P): New macro.
+ (DECL_STMT_VAR): Likewise.
+
+ * trans.c (gigi): Call start_block_stmt to make the outermost
+ BLOCK_STMT.
+ (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
+ Call start_block_stmt and end_block_stmt temporarily.
+ Use gnat_expand_stmt instead of expand_expr_stmt.
+ (add_decl_stmt): New function.
+ (tree_transform): Call it.
+ (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
+ (end_block_stmt): Set type and NULL_STMT.
+ (gnat_expand_stmt): Make recursize call instead of calling
+ expand_expr_stmt.
+ (gnat_expand_stmt, case DECL_STMT): New case.
+ (set_lineno_from_sloc): Do nothing if global.
+ (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
+ (start_block_stmt, add_stmt, end_block_stmt): New functions.
+ (build_block_stmt): Call them.
+ (gnat_to_code): Don't expand NULL_STMT.
+ (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
+ args.
+ (tree_transform): Likewise.
+ (tree_transform, case N_Null_Statement): Return NULL_STMT.
+ (gnat_expand_stmt, case NULL_STMT): New case.
+ (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
+ IF_STMT_TRUE.
+
+ * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
+ TREE_ADDRESSABLE.
+
+ * utils.c (create_var_decl): Do not call expand_decl or
+ expand_decl_init.
+ Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
+ Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
+ here.
+ (struct e_stack): Add chain_next to GTY.
+ (struct binding_level): Deleted.
+ (struct ada_binding_level): New struct.
+ (free_block_chain): New.
+ (global_binding_level, clear_binding_level): Deleted.
+ (global_bindings_p): Rework to see if no chain.
+ (kept_level_p, set_block): Deleted.
+ (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
+ new data structure and work directly on BLOCK node.
+ (gnat_poplevel): Similarly.
+ (get_decls): Look at BLOCK_VARS.
+ (insert_block): Work directly on BLOCK node.
+ (block_has_var): New function.
+ (pushdecl): Rework for new binding structures.
+ (gnat_init_decl_processing): Rename and rework calls to pushlevel and
+ poplevel.
+ (build_subprog_body): Likewise.
+ (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
+
+ * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
+
+ * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
+ (DECL_STMT_VAR): Likewise.
+
+2004-05-17 Robert Dewar <dewar@gnat.com>
+
+ * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
+ procedure
+
+ * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
+ of restriction synonyums by using
+ Restrict.Process_Restriction_Synonyms.
+
+ * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
+
+ * s-restri.ads (Tasking_Allowed): Correct missing comment
+
+ * s-rident.ads: Add entries for restriction synonyms
+
+ * ali.adb: Fix some problems with badly formatted ALI files that can
+ result in infinite loops.
+
+ * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
+ s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
+ s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
+ s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
+ s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
+ s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
+ s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
+ s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
+ s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
+ a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
+ exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
+ s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
+ s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
+ s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
+ s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
+ s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
+ s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
+ s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
+ s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
+ s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
+ to Task_Id (minor cleanup).
+
+2004-05-17 Vincent Celier <celier@gnat.com>
+
+ * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
+ directory separator.
+
+ * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
+ project being extended, if Languages is not declared in extending
+ project.
+
+2004-05-17 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
+ limited view of a visible sibling.
+
+2004-05-14 Robert Dewar <dewar@gnat.com>
+
+ * gnat_ugn.texi: Minor change to -gnatS documentation
+
+ * sprint.adb: Remove some instances of Assert (False) and for this
+ purpose replace them by output of a ??? string.
+
+ * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
+ Assert (False).
+
+ * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
+ flag processing. This was suppressing required dependencies in
+ No_Run_Time mode and is not needed since the binder does not generate
+ references for things in libgnat anyway.
+
+ * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
+ warning.
+
+2004-05-14 Thomas Quinot <quinot@act-europe.fr>
+
+ * gnat_ugn.texi: Document AIX-specific issue with initialization of
+ resolver library.
+
+ * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
+ action for the case of an actual parameter in an init proc call.
+
+2004-05-14 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
+ subtype, check visible entities in base type.
+
+ * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
+ actions if the object is a renaming.
+
+ * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
+ Check_Formal_Package_Instance, to determine more precisely when the
+ formal and the actual denote the same entity.
+
+2004-05-14 Javier Miranda <miranda@gnat.com>
+
+ * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
+
+ * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
+ corresponding to a private_with must be removed from visibility; it
+ will be made visible later, just before we analyze the private part of
+ the package.
+ (Check_Private_Child_Unit): Allow private_with clauses in public
+ siblings.
+ (Install_Siblings): Make visible the private entities of private-withed
+ siblings.
+ (Install_Withed_Unit): Do not install the private withed unit if we
+ are compiling a package declaration and the Private_With_OK flag was
+ not set by the caller. These declarations will be installed later,
+ just before we analyze the private part of the package.
+
+ * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
+ during the evaluation of the expression that initializes the object,
+ decorate it with the expected type to avoid cascade errors.
+ Code cleanup.
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
+ subprogram we have to install the private_with clauses after its
+ specification has been analyzed (as documented in AI-262.TXT).
+
+ * sem_ch8.adb (Has_Private_With): New function. Determines if the
+ current compilation unit has a private with on a given entity.
+ (Find_Direct_Name): Detect the Beaujolais problem described in
+ AI-262.TXT
+
+ * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
+ provides the functionality of the function Is_Ancestor that was
+ previously available in sem_ch10. It has been renamed to avoid
+ overloading.
+
+ * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
+
+2004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils.c (build_vms_descriptor): Use SImode pointers.
+
+2004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
+
+2004-05-14 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-05-14 Arnaud Charlet <charlet@act-europe.fr>
+
+ Renaming of target specific files for clarity
+
+ * Makefile.in: Rename GNAT target specific files.
+
+ * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
+ 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
+ 3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
+ 3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
+ 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
+ 3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
+ 42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
+ 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
+ 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
+ 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
+ 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
+ 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
+ 51osinte.adb, 51osinte.ads, 51system.ads,
+ 52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
+ 55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
+ 56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
+ 56tpopsp.adb, 57system.ads, 58system.ads,
+ 5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
+ 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
+ 5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
+ 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
+ 5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
+ 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
+ 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
+ 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
+ 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
+ 5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
+ 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
+ 5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
+ 5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
+ 5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
+ 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
+ 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
+ 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
+ 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
+ 5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
+ 5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
+ 5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
+ 5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
+ 5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
+ 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
+ 5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
+ 5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
+ 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
+ 5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
+ 5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
+ 5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
+ 5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
+ 5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
+ 5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
+ 5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
+ 5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
+ 5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
+ 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
+ 7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
+ 7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
+ 7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
+
+ * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
+ a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
+ a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
+ a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
+ a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
+ a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
+ a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
+ a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
+ a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
+ a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
+ g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
+ g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
+ g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
+ g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
+ g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
+ g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
+ g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
+ g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
+ interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
+ mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
+ mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
+ mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
+ s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
+ s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
+ s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
+ s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
+ s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
+ s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
+ s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
+ s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
+ s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
+ s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
+ s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
+ s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
+ s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
+ s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
+ s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
+ s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
+ s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
+ s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
+ s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
+ s-osinte-vms.ads, s-osinte-vxworks.adb,
+ s-osinte-vxworks.ads, s-osprim-mingw.adb,
+ s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
+ s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
+ s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
+ s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
+ s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
+ s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
+ s-stchop-vxworks.adb, s-taprop-dummy.adb,
+ s-taprop-hpux-dce.adb, s-taprop-irix.adb,
+ s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
+ s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
+ s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
+ s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
+ s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
+ s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
+ s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
+ s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
+ s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
+ s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
+ s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
+ s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
+ s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
+ s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
+ s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
+ s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
+ s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
+ symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
+ system-hpux.ads, system-interix.ads, system-irix-n32.ads,
+ system-irix-o32.ads, system-linux-x86_64.ads,
+ system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
+ system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
+ system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
+ system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
+ system-vxworks-alpha.ads, system-vxworks-m68k.ads,
+ system-vxworks-mips.ads, system-vxworks-ppc.ads,
+ system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
+ above.
+
+2004-05-13 Zack Weinberg <zack@codesourcery.com>
+
+ * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
+
+2004-05-13 Diego Novillo <dnovillo@redhat.com>
+
+ Merge from tree-ssa-20020619-branch.
+
+ * config-lang.in (boot_language, build_by_default): Set
+ to no.
+ * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
+ (max_size): Add static chain op for call_expr.
+
+2004-05-12 Richard Sandiford <rsandifo@redhat.com>
+
+ PR target/15331
+ * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
+
+2004-05-11 Roger Sayle <roger@eyesopen.com>
+
+ * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
+ COND_EXPR.
+
+2004-05-10 Doug Rupp <rupp@gnat.com>
+
+ * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
+ system.aux_dec.
+
+ * s-auxdec.ads: Add Short_Address subtype (moved here from System).
+
+ * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
+
+ * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
+ Fixes undefined symbols in IA64 gnatlib.
+
+ * 5vinmaop.adb: Reference s-auxdec for Short_Address.
+
+ * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
+ Short_Address). This will be moved to system.auxdec.
+
+2004-05-10 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_util.adb: Replace test for presence of a node that is always
+ present with a call to Discard_Node.
+
+ * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
+ Analyze on the library unit node after generation of distribution stub
+ constructs. The call was a no-op because Unit_Node has already been
+ Analyzed, and the tree fragments for the distribution stubs are
+ analyzed as they are inserted in Exp_Dist.
+ Update comment regarding to distribution stubs to reflect that we
+ do not generate stub in separate files anymore.
+
+ * einfo.ads: Clarify the fact that a tagged private type has the
+ E_Record_Type_With_Private Ekind.
+
+ * erroutc.adb: Minor reformatting
+
+ * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
+ values if line length is increased using -gnatyM (noticed during code
+ reading).
+
+ * eval_fat.adb: Minor reformatting
+ Put spaces around exponentiation operator
+
+2004-05-10 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15005
+ * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
+ has been rewritten as an explicit dereference, retrieve type of
+ original node to check for possibly unconstrained record type.
+
+2004-05-10 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
+ overriding, use the operation of the parent unconditionally.
+
+ * sem_ch4.adb (Remove_Address_Interpretations): Remove address
+ operation when either operand is a literal, to avoid further
+ ambiguities.
+
+ * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
+ overridden by a previous explicit declaration, mark the previous entity
+ as overriding.
+
+ * sem_disp.adb (Check_Dispatching_Operation): New predicate
+ Is_Visibly_Controlled, to determine whether a declaration of a
+ primitive control operation for a derived type overrides an inherited
+ one. Add warning if the explicit declaration does not override.
+
+2004-05-10 Vincent Celier <celier@gnat.com>
+
+ * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
+ some cases when the sources are no longer present.
+
+ * make.adb (Collect_Arguments): Fail if an external source, not part
+ of any project need to be compiled, when switch -x has not been
+ specified.
+
+ * makeusg.adb: Document new switch -x
+
+ * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
+ defaulted to False.
+
+ * switch-m.adb (Scan_Make_Switches): New switch -x
+
+ * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
+ gnatmake switch -x.
+
+ * gnat_ugn.texi: Document new gnatmake switch -x
+
+2004-05-10 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
+
+ * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
+ (process_attributes): Likewise.
+
+2004-05-10 Joel Brobecker <brobecker@gnat.com>
+
+ * s-inmaop.ads: Fix spelling mistake in one of the comments.
+
+2004-05-10 Robert Dewar <dewar@gnat.com>
+
+ * gnat_ugn.texi: Document that for config pragma files, the maximum
+ line length is always 32767.
+
+ * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
+ literals is now allowed.
+
+ * gnat-style.texi: Remove statement about splitting long lines before
+ an operator rather than after, since we do not follow this rule at all.
+ Clarify rule (really lack of rule) for spaces around exponentiation
+
+ * sem_elim.adb: Allow concatenation of string literals as well as a
+ single string literal for pragma arguments.
+
+ * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
+
+ * a-textio.adb (Terminate_Line): Do not add line feed if nothing
+ written for append case.
+
+ * frontend.adb: Changes to avoid checking max line length in config
+ pragma files.
+
+ * g-os_lib.ads: Minor reformatting
+
+ * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
+ wrong in any case. Instead use standard value. Noticed during code
+ reading.
+
+ * opt.ads (Max_Line_Length): New field, used to implement removal of
+ limitation on length of lines when scanning config pragma files.
+
+ * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
+ makeutl.ads, makeutl.adb: Minor reformatting
+
+ * scn.adb: Do not check line length while scanning config pragma files
+ Do not check line length while scanning out license information
+
+ * scng.adb: Changes to avoid line length checks while parsing config
+ pragma files.
+
+2004-05-10 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-05-05 Arnaud Charlet <charlet@act-europe.fr>
+
+ * osint.adb (Find_Program_Name): Fix handling of VMS version
+ number.
+
+2004-05-05 Emmanuel Briot <briot@act-europe.fr>
+
+ * g-os_lib.ads (Invalid_Time): New constant
+
+ * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
+ return OS_Time instead of time_t to match what is imported by Ada.
+ Now return -1 if the file doesn't exist, instead of a random value
+
+2004-05-05 Robert Dewar <dewar@gnat.com>
+
+ * usage.adb: Add line for -gnatR?s switch
+
+ * sem_ch13.adb, exp_ch2.adb: Minor reformatting
+
+ * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
+ and for Match (Data_First, Data_last)
+
+ * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
+ written when we are dealing with multi-unit files.
+
+2004-05-05 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: Remove unused targets and variables.
+
+2004-05-05 Vincent Celier <celier@gnat.com>
+
+ * switch-m.adb: New gnatmake switch -eI
+
+ * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
+ of new gnatmake switch -eInnn.
+
+ * makegpr.adb: Take into account new parameters Index and Src_Index in
+ Prj.Util.
+
+ * clean.adb: Implement support for multi-unit sources, including new
+ switch -i.
+
+ * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
+ Src_Index.
+
+ * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
+ (Extract_From_Q): New out parameter Index
+ (Mark, Is_Marked): Subprograms moved to Makeutl
+ (Switches_Of): New parameter Source_Index
+ (Add_Switch): New parameter Index
+ (Check): New parameter Source_Index
+ (Collect_Arguments): New parameter Source_Index
+ (Collect_Arguments_And_Compile): New parameter Source_Index
+ (Compile): New parameter Source_Index
+ Put subprograms in alphabetical order
+ Add support for multi-source sources, including in project files.
+
+ * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
+ (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
+ Make.
+
+ * makeusg.adb: New gnatmake switch -eInnn
+
+ * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
+ Prj.Util.Value_Of.
+
+ * opt.ads (Main_Index): New variable, defaulted to 0.
+
+ * osint.ads, osinte.adb (Add_File): New parameter Index
+ (Current_Source_Index): New function
+
+ * prj.adb: Take into account new components Index and Src_Index
+
+ * prj.ads (String_Element): New component Index
+ (Variable_Value): New component Index
+ (Array_Element): New component Src_Index
+
+ * prj-attr.adb: Indicate that optional index may be specified for
+ attributes Main, Executable, Spec, Body and some of Switches.
+
+ * prj-attr.ads (Attribute_Kind): New values for optional indexes
+ (Attribute_Record): New component Optional_Index
+
+ * prj-com.ads (File_Name_Data): New component Index
+
+ * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
+
+ * prj-env.adb (Put): Output optional index
+
+ * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
+ attributes Spec and Body.
+
+ * prj-nmsc.adb: Process optional indexes
+
+ * prj-pp.adb: Ouput "at" for optional indexes
+
+ * prj-proc.adb: Take into account optional indexes
+
+ * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
+ Optional_Index. For string literal,
+ process optional index when Optional_Index is True.
+ (Parse_Expresion): New Boolean parameter Optional_Index
+
+ * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
+ (Set_Source_Index_Of): New procedure
+
+ * prj-util.adb (Executable_Of, Value_Of): Take into account optional
+ index.
+
+ * prj-util.ads (Executable_Of): New parameter Index
+ (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
+ New parameter Src_Index, defaulted to 0.
+
+2004-05-05 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15257
+ * sem_ch3.adb (Access_Definition): If this is an access parameter
+ whose designated type is imported through a limited_with clause, do
+ not add the enclosing subprogram to the list of private dependents of
+ the type.
+
+2004-05-05 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/15258
+ * sem_ch6.adb (Base_Types_Match): True if one type is imported through
+ a limited_with clause, and the other is its non-limited view.
+
+2004-05-05 Thomas Quinot <quinot@act-europe.fr>
+
+ * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
+
+ * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
+ exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
+ Stand.Boolean_Literals to produce references to entities
+ Standard_False and Standard_True from compile-time computed boolean
+ values.
+
+ * stand.ads (Boolean_Literals): New variable, provides the entity
+ values for False and True, for use by the expander.
+
+2004-05-05 Doug Rupp <rupp@gnat.com>
+
+ * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
+ 5vinmaop.adb: Unchecked convert Short_Address vice Address
+
+ * adaint.c, raise.c: Caste CRTL function return value
+ to avoid gcc error on 32/64 bit IVMS.
+
+ * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
+ target = IA64/VMS.
+
+ * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
+
+ * 5qsystem.ads (Address): Declare as Long_Integer
+ (Short_Address): Declare as 32 bit subtype of Address
+ Declare abstract address operations to avoid gratuitous ambiguities.
+
+2004-05-05 Jose Ruiz <ruiz@act-europe.fr>
+
+ * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
+ instead of the old Boolean_Entry_Barriers.
+ Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
+
+2004-05-05 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
+
+2004-05-03 Olivier Hainque <hainque@act-europe.fr>
+
+ PR ada/15152
+ * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
+ alone. Replacing object references by literals is inappropriate in a
+ so low level context.
+
+2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
+
+ * a-exexpr.adb: Add comments
+
+2004-05-03 Joel Brobecker <brobecker@gnat.com>
+
+ * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
+ declare the Ancestor_Tags array in Type_Specific_Data with a small size
+ without risking a bounds check error when accessing one of its
+ components.
+ (Type_Specific_Data): Define Ancestor_Tags as a small array.
+ This prevents us from hitting a limitation during the debug info
+ generation when using stabs.
+
+ * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
+ small array.
+ This prevents us from hitting a limitation during the debug info
+ generation when using stabs.
+
+2004-05-03 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ lang-specs.h: Remove -gnatz* from specs.
+
+2004-05-03 Vincent Celier <celier@gnat.com>
+
+ * gprmake.adb, makegpr.ads, makegpr.adb: New files.
+
+ * Make-lang.in, Makefile.in: Add gprmake
+
+2004-05-03 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_aggr.adb: Fix typo in comment.
+
+2004-05-03 Robert Dewar <dewar@gnat.com>
+
+ * make.adb: Minor reformatting
+
+ * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
+
+ * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
+ so that it works when address is not a private type.
+
+ * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
+ properly with rewritten unchecked conversions. This prevents
+ order-of-elaboration issues that can otherwise arise.
+ (Minimum_Size): Don't check size of access types under VMS
+
+ * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
+ interpretations of integer literals as type System.Address.
+
+ * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
+ (Is_Descendent_Of): New function
+
+2004-05-03 Jose Ruiz <ruiz@act-europe.fr>
+
+ * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
+ Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
+ No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
+
+ * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
+ of the old Max_Entry_Queue_Depth.
+
+ * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
+ Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
+ No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
+
+ * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
+ New entry for proper handling of Max_Entry_Queue_Depth.
+ New entry for proper handling of No_Dynamic_Interrupts.
+
+ * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
+ supersedes the GNAT specific restriction Boolean_Entry_Barriers.
+ Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
+ the GNAT specific restriction Max_Entry_Queue_Depth.
+ Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
+ the GNAT specific restriction No_Dynamic_Interrupts.
+
+ * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
+ instead of the old Boolean_Entry_Barriers.
+ Use the new restriction No_Dynamic_Attachment instead of the old
+ No_Dynamic_Interrupts.
+
+ * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
+ supersedes the GNAT specific restriction Boolean_Entry_Barriers.
+
+ * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
+ of the old Max_Entry_Queue_Depth.
+
+2004-05-03 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-04-29 Ed Schonberg <schonberg@gnat.com>
+
+ * checks.adb (Enable_Range_Check): If the prefix of an index component
+ is an access to an unconstrained array, perform check unconditionally.
+
+2004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_field): Also call make_packable_type if
+ Component_Clause.
+
+2004-04-29 Olivier Hainque <hainque@act-europe.fr>
+
+ * init.c (__gnat_install_handler, __gnat_error_handler): Remove
+ alternate stack setting. There was no support for the tasking cases
+ and the changes eventually caused a number of side-effect failures in
+ the non-tasking case too.
+
+2004-04-29 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
+ -gnats is passed.
+
+2004-04-29 Vincent Celier <celier@gnat.com>
+
+ * make.adb (Gnatmake): Increase max size of argument array for
+ gnatbind for the potential addition of -F.
+ If there are Stand-Alone Library projects, invoke gnatbind with -F to
+ be sure that elaboration flags will be checked.
+
+ * switch-c.adb: Correct call to Scan_Pos for -gnateI
+
+2004-04-29 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_warn.adb (Check_References): Move '<access-variable> may be
+ null' warning out of under Warn_On_No_Value_Assigned.
+
+2004-04-29 Ed Falis <falis@gnat.com>
+
+ * gnat_ugn.texi: Fixed texi error
+
+2004-04-29 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
+ abstract operations if they come from predefined files.
+
+ * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
+ Dynamic, not RM).
+
+ * s-addope.adb: Correct obvious error in mod function
+
+2004-04-28 Andrew W. Reynolds <awreynolds@mac.com>
+
+ * Makefile.in: Add target pairs for powerpc darwin*
+ tasking support.
+
+ * a-intnam-darwin.ads, s-osinte-darwin.adb,
+ s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
+
+2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * Makefile.in: Add target macro definitions for s390*-linux*.
+ * system-linux-s390.ads: New file.
+ * system-linux-s390x.ads: New file.
+
+2004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gnat_ugn.texi: Correct argument to @setfilename.
+
+2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * a-exexpr.adb (Unwind_Word): New data type.
+ (Unwind_Exception): Use it as type of Private1 and Private2.
+
+ * raise.c (db_action_for): Fix debug printf.
+
+2004-04-27 Ed Schonberg <schonberg@gnat.com>
+
+ * a-wtmoio.ads: Formal type must be a modular type, not a signed
+ integer type.
+
+2004-04-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity, case object): Call
+ __builtin_update_setjmp_buf.
+
+ * gigi.h (update_setjmp_buf): Deleted.
+ (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
+
+ * misc.c: (update_setjmp_buf): Deleted.
+
+ * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
+ around block of RTL.
+
+ * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
+
+2004-04-26 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
+ subprogram for which no pragma All_Calls_Remote applies, store the
+ address of the real subprogram in the underlying record type, so local
+ dereferences do not go through the PCS.
+
+2004-04-26 Robert Dewar <dewar@gnat.com>
+
+ * i-c.ads: Add some type qualifications to avoid ambiguities when
+ compiling with s-auxdec.ads and a non-private address type.
+
+2004-04-26 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.rtl: Fix error in previous check-in:
+ Add s-addope.o to non tasking object list (rather than tasking object
+ list).
+
+2004-04-26 Javier Miranda <miranda@gnat.com>
+
+ * sem_aggr.adb: Fix typo in comments
+ (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
+ Required to check the null-exclusion attribute.
+
+ * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
+ case of anonymous access types in record and array components. For a
+ component definition the level is the same of the enclosing composite
+ type.
+
+ * sem_ch3.adb (Analyze_Component_Declaration): In case of components
+ that are anonymous access types the level of accessibility depends on
+ the enclosing type declaration. In order to have this information, set
+ the scope of the anonymous access type to the enclosing record type
+ declaration.
+ (Array_Type_Declaration): In case of components that are anonymous
+ access types the level of accessibility depends on the enclosing type
+ declaration. In order to have this information, set the scope of the
+ anonymous access type to the enclosing array type declaration.
+
+ * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
+ access type.
+
+ * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
+ renaming of anonymous access-to-constant types allowed if and only if
+ the renamed object is access-to-constant.
+
+ * sem_util.adb (Type_Access_Level): In case of anonymous access types
+ that are component_definition or discriminants of a nonlimited type,
+ the level is the same as that of the enclosing component type.
+
+2004-04-26 Sergey Rybin <rybin@act-europe.fr>
+
+ * sem_elim.adb: Some minor code reorganization from code reading. Fix
+ misprint in the function name (File_Name_Match).
+
+2004-04-23 Laurent Guerby <laurent@guerby.net>
+
+ * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
+ install.
+
+2004-04-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
+
+2004-04-23 Emmanuel Briot <briot@act-europe.fr>
+
+ * adaint.c (__gnat_try_lock): No longer requires that the parent
+ directory be writable, the directory itself is enough.
+ (gnat_is_absolute_path): Change profile, so that the call from
+ GNAT.OS_Lib can be made more efficient.
+
+ * adaint.h (gnat_is_absolute_path): Change profile, so that the call
+ from GNAT.OS_Lib can be made more efficient.
+
+ * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
+ one copy of the file name. Found by code reading.
+
+2004-04-23 Vincent Celier <celier@gnat.com>
+
+ * gnat_ugn.texi: Add documentation for gnatmake switch -eL
+ Correct documentation on gnatmake switches transmitted to the compiler
+
+ * ali.ads: Minor comment fix
+
+2004-04-23 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch6.adb: (Confirming Types): Code cleanup
+
+ * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
+ subprogram types: E_Anonymous_Access_Subprogram_Type and
+ E_Anonymous_Access_Protected_Subprogram_Type.
+
+2004-04-23 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
+ whether a pragma All_Calls_Remote applies to the subprogram on which
+ 'Access is taken.
+ No functional change is introduced by this revision; the new parameter
+ will be used to allow calls to local RCI subprograms to be optimized
+ to not use the PCS in the case where no pragma All_Calls_Remote applies,
+ as is already done in the PolyORB implementation of the DSA.
+
+ * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
+ whether a pragma All_Calls_Remote applies to the subprogram on which
+ 'Access is taken.
+ No functional change is introduced by this revision; the new parameter
+ will be used to allow calls to local RCI subprograms to be optimized
+ to not use the PCS in the case where no pragma All_Calls_Remote applies,
+ as is already done in the PolyORB implementation of the DSA.
+
+2004-04-23 Robert Dewar <dewar@gnat.com>
+
+ * Makefile.rtl: Add entry for s-addope.o in run time library list
+ * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
+ * s-addope.ads, s-addope.adb: New files.
+
+ * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
+ s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
+ s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
+ System.Address to be non-private and signed.
+
+ * sem_elim.adb: Minor reformatting (fairly extensive)
+ Some minor code reorganization from code reading
+ Add a couple of ??? comments
+
+2004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
+ (tree_transform, case N_If_Statement): Remove non-determinism.
+
+ * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
+
+2004-04-23 Sergey Rybin <rybin@act-europe.fr>
+
+ * gnat_rm.texi: Small fixes in the changes made in the 'pragma
+ Eliminate' section.
+
+ * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
+ no longer used as a parameter name for Eliminate pragma).
+
+2004-04-22 Laurent Guerby <laurent@guerby.net>
+
+ PR optimization/14984
+ PR optimization/14985
+ * trans.c (gigi): Fix non determinism leading to bootstrap
+ comparison failures.
+
+2004-04-21 Pascal Obry <obry@gnat.com>
+
+ * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
+ passed to spawnvp() to properly handle program pathname with spaces on
+ Win32.
+
+2004-04-21 Emmanuel Briot <briot@act-europe.fr>
+
+ * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
+ (Allocate, Deallocate, Free_Physically): Make sure the tasks are
+ unlocked in case of exceptions.
+
+2004-04-21 Joel Brobecker <brobecker@gnat.com>
+
+ * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
+ This function does not exist anymore.
+
+2004-04-21 Thomas Quinot <quinot@act-europe.fr>
+
+ * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
+
+ * link.c: Move variables to the __gnat name space.
+
+ * Makefile.in: list link.o explicitly when needed.
+
+ * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
+
+2004-04-21 Javier Miranda <miranda@gnat.com>
+
+ * einfo.adb (Original_Access_Type): New subprogram
+ (Set_Original_Access_Type): New subprogram
+ (Write_Field21_Name): Write the name of the new field
+
+ * einfo.ads (Original_Access_Type): New field present in access to
+ subprogram types.
+ Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
+ E_Anonymous_Access_Protected_Subprogram_Type.
+
+ * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
+ subprogram types.
+
+ * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
+ to anonymous access to subprogram types.
+
+ * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
+ to subprogram types.
+
+ * sem_ch3.adb (Access_Definition): Complete decoration of entities
+ corresponding to anonymous access to subprogram types.
+ (Analyze_Component_Declaration): Add new actual to the call to
+ subprogram replace_anonymous_access_to_protected_subprogram.
+ (Array_Type_Declaration): Add new actual to the call to subprogram
+ replace_anonymous_access_to_protected_subprogram.
+ (Process_Discriminants): Add new actual to the call to subprogram
+ replace_anonymous_access_to_protected_subprogram.
+ (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
+
+ * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
+ formal.
+
+ * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
+ access to subprogram types.
+
+ * sem_util.adb (Has_Declarations): Addition of package_specification
+ nodes.
+
+2004-04-21 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
+ inlined flags to renamed entity only if in current unit.
+
+2004-04-21 Thomas Quinot <quinot@act-europe.fr>
+
+ * s-parint.ads: Add DSA implementation marker.
+
+ * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
+ value of System.Partition_Interface.DSA_Implementation to determine
+ what version of the distributed systems annex is available (no
+ implementation, GLADE, or PolyORB).
+
+2004-04-21 Joel Brobecker <brobecker@gnat.com>
+
+ * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
+
+2004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
+ with new type if alias sets differ.
+ Fixes ACATS c41103b.
+
+2004-04-21 Vincent Celier <celier@gnat.com>
+
+ * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
+ Add array Lang_Args for the language specific compiling argument
+ switches.
+
+ * gnat_ugn.texi: Explain in more details when a library is rebuilt.
+
+2004-04-21 Sergey Rybin <rybin@act-europe.fr>
+
+ * gnat_rm.texi: Update the descripton of the Eliminate pragma
+ according to the recent changes in the format of the parameters of the
+ pragma (replacing Homonym_Number with Source_Location).
+
+2004-04-19 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5isystem.ads: Removed, unused.
+
+ * gnat_rm.texi: Redo 1.13 change.
+
+2004-04-19 Robert Dewar <dewar@gnat.com>
+
+ * s-stoele.ads: Clean up definition of Storage_Offset (the new
+ definition is cleaner, avoids the kludge of explicit Standard operator
+ references, and also is consistent with a visible System.Address with
+ no visible operations.
+
+ * s-geveop.adb: Add declarations to avoid assumption of visible
+ operations on type System.Address (since these might not be available
+ if Address is a non-private type for which the operations
+ are made abstract).
+
+ * sem_eval.adb: Minor reformatting
+
+ * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
+ s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
+ reformatting (new function spec format).
+
+ * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
+ s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
+ s-caun64.adb: Add declarations to avoid assumption of visible
+ operations on type System.Address (since these might not be available
+ if Address is a non-private type for which the operations are made
+ abstract).
+
+ * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
+
+ * exp_intr.adb: Minor comment update
+
+ * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
+
+ * 5omastop.adb: Add declarations to avoid assumption of visible
+ operations on type System.Address (since these might not be available
+ if Address is a non-private type for which the operations
+ are made abstract).
+
+2004-04-19 Vincent Celier <celier@gnat.com>
+
+ * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
+
+ * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
+ defaulted to Ada.
+
+ * prj-proc.adb (Process): New Boolean parameter Process_Languages,
+ defaulted to Ada.
+ Call Check with Process_Languages.
+ (Check): New Boolean parameter Process_Languages. Call Recursive_Check
+ with Process_Languages.
+ (Recursive_Check): New Boolean parameter Process_Languages. Call
+ Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
+ Process_Languages.
+
+ * prj-proc.ads (Process): New Boolean parameter Process_Languages,
+
+ * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
+ parameter Ada_Main, defaulted to True.
+ Check for Ada specific characteristics only when Ada_Main is True.
+
+ * opt.ads: (Follow_Links): New Boolean flag for gnatmake
+
+ * prj.adb: (Project_Empty): Add new Project_Data components.
+
+ * prj.ads: New types and tables for non Ada languages.
+ (Project_Data): New components Languages, Impl_Suffixes,
+ First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
+ Include_Path, Include_Data_Set.
+
+ * prj-env.ads, prj-env.adb: Minor reformatting
+
+ * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
+ Put subprograms in alphabetical order
+
+ * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
+ defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
+ Opt.Follow_Links.
+
+ * mlib-prj.adb: Back out modification in last version, as they are
+ incorrect.
+ (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
+
+ * make.adb: (Mains): Moved to package Makeutl
+ (Linker_Opts): Moved to package Makeutl
+ (Is_External_Assignment): Moved to package Makeutl
+ (Test_If_Relative_Path): Moved to package Makeutl
+ (Gnatmake): Move sorting of linker options to function
+ Makeutl.Linker_Options_Switches.
+
+ * makeutl.ads, makeutl.adb: New files.
+
+ * Makefile.in: Add makeutl.o to the object files for gnatmake
+
+ * makeusg.adb: Add line for new switch -eL.
+
+ * gnatls.adb (Image): New function.
+ (Output_Unit): If in verbose mode, output the list of restrictions
+ specified by pragmas Restrictions.
+
+ * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
+ Text_IO.
+
+ * a-calend.adb (Split): Shift the date by multiple of 56 years, if
+ needed, to put it in the range 1970 (included) - 2026 (excluded).
+ (Time_Of): Do not shift Unix_Min_Year (1970).
+ Shift the date by multiple of 56 years, if needed, to put it in the
+ range 1970 (included) - 2026 (excluded).
+
+ * adaint.h, adaint.c (__gnat_set_executable): New function.
+
+2004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
+ and pop GC context.
+ (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
+ (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
+ (tree_transform, case N_Procedure_Call_Statement): Build a tree.
+ (tree_transform, case N_Code_Statement): Likewise.
+ (gnat_expand_stmt, case LABEL_STMT): Don't look at
+ LABEL_STMT_FIRST_IN_EH.
+ (gnat_expand_stmt, case ASM_STMT): New case.
+
+ * utils2.c (build_unary_op): Properly set TREE_READONLY of
+ UNCONSTRAINED_ARRAY_REF.
+
+ * utils.c (poplevel): Temporarily push/pop GC context around inline
+ function expansion.
+
+ * decl.c (maybe_variable): Properly set TREE_READONLY of
+ UNCONSTRAINED_ARRAY_REF.
+ (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
+
+ * ada-tree.def: (ASM_STMT): New.
+
+ * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
+ (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
+ ASM_STMT_INPUT): New.
+ (ASM_STMT_CLOBBER): Likewise.
+
+2004-04-19 Thomas Quinot <quinot@act-europe.fr>
+
+ * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
+ general rcheck mechanism to raise Program_Error for E.4(18), instead
+ of a custom raiser in System.Partition_Interface.
+ Part of general cleanup work before PolyORB integration.
+
+ * snames.ads, snames.adb: Add new runtime library entities and names
+ for PolyORB DSA.
+
+ * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
+ exp_dist.
+ (Build_Subprogram_Id): New subprogram provided by exp_dist
+ Code reorganisation in preparation for PolyORB integration.
+
+ * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
+ exp_dist.
+ (Build_Subprogram_Id): New subprogram provided by exp_dist
+
+ * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
+ actual parameter types for call to dereference of an
+ access-to-subprogram type.
+
+ * rtsfind.ads: Add new runtime library entities and names for PolyORB
+ DSA.
+
+ * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
+ instead, which has the same behaviour here since we never pass it a
+ NULL pointer.
+
+ * link.c (run_path_option, Solaris case): Use -Wl, as for other
+ platforms.
+
+ * Makefile.in: adjust object file lists for gnatlink and gnatmake
+ to account for new dependency upon Interfaces.C.Strings + link.o
+ For x86 FreeBSD, use 86numaux.
+
+ * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
+ from Mlib.Tgt to Mlib.
+
+ * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
+ target-independent.
+
+ * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
+ target-specific versions of this subprogram, now implemented as a
+ target-independent function in Mlib.
+
+ * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
+ 5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
+ (Linker_Library_Path_Option): Remove target-specific versions of this
+ subprogram, now implemented as a target-independent function in Mlib.
+
+ * atree.adb: (Allocate_Initialize_Node): New subprogram.
+ Factors out node table slots allocation.
+ (Fix_Parents): New subprogram.
+ Encapsulate the pattern of fixing up parent pointers for syntactic
+ children of a rewritten node.
+ (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
+ (Rewrite): Use New_Copy when creating saved copy of original node.
+ (Replace): Use Copy_Node to copy nodes.
+
+2004-04-19 Javier Miranda <miranda@gnat.com>
+
+ * sprint.adb (Sprint_Node_Actual): Give support to the new
+ Access_To_Subprogram node available in Access_Definition nodes. In
+ addition, give support to the AI-231 node fields: null-exclusion,
+ all-present, constant-present.
+
+ * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
+
+ * sinfo.ads, sinfo.adb:
+ New field Access_To_Subprogram_Definition in Access_Definition nodes
+
+ * sem_ch6.adb (Process_Formals): Move here the code that creates and
+ decorates internal subtype declaration corresponding to the
+ null-excluding formal. This code was previously in Set_Actual_Subtypes.
+ In addition, carry out some code cleanup on this code. In case of
+ access to protected subprogram call
+ Replace_Anonymous_Access_To_Protected_Subprogram.
+ (Set_Actual_Subtypes): Code cleanup.
+
+ * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
+ Find_Type in case of anonymous access renamings. Add warning in case of
+ null-excluding attribute used in anonymous access renaming.
+
+ * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
+ subprogram
+
+ * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
+ subprogram.
+ (Access_Definition): In case of anonymous access to subprograms call
+ the corresponding semantic routine to decorate the node.
+ (Access_Subprogram_Declaration): Addition of some comments indicating
+ some code that probably should be added here. Detected by comparison
+ with the access_definition subprogram.
+ (Analyze_Component_Declaration): In case of access to protected
+ subprogram call Replace_Anonymous_Access_To_Protected.
+ (Array_Type_Declaration): In case of access to protected subprogram call
+ Replace_Anonymous_Access_To_Protected_Subprogram.
+ (Process_Discriminants): In case of access to protected subprogram call
+ Replace_Anonymous_Access_To_Protected_Subprogram.
+
+ * par.adb (P_Access_Definition): New formal that indicates if the
+ null-exclusion part was present.
+ (P_Access_Type_Definition): New formal that indicates if the caller has
+ already parsed the null-excluding part.
+
+ * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
+ (P_Identifier_Declarations): Code cleanup and give support to renamings
+ of anonymous access to subprogram types.
+ (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
+ (P_Array_Type_Definition): Give support to AI-254.
+ (P_Component_Items): Give support to AI-254.
+ (P_Access_Definition): New formal that indicates if the header was
+ already parsed by the caller.
+ (P_Access_Type_Definition): New formal that indicates if the caller has
+ already parsed the null-excluding part.
+
+ * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
+ call to P_Access_Definition.
+
+2004-04-19 Geert Bosch <bosch@gnat.com>
+
+ * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
+ the delicate semantics of floating-point to integer conversion.
+ (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
+
+ * eval_fat.adb (Machine_Mantissa): Moved to spec.
+ (Machine_Radix): New function.
+
+ * eval_fat.ads (Machine_Mantissa): Moved from body for use in
+ conversion checks.
+ (Machine_Radix): New function also for use in conversion checks.
+
+2004-04-19 Ed Schonberg <schonberg@gnat.com>
+
+ * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
+
+ * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
+ to decorate the access-to-protected subprogram and the equivalent type.
+
+ * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
+ to anonymous access to subprogram types.
+
+ * exp_ch4.adb (Expand_N_In): Preserve Static flag before
+ constant-folding, for legality checks in contexts that require an RM
+ static expression.
+
+ * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
+ temporary but stack checking is not enabled, increment serial number
+ to so that symbol generation is consistent with and without stack
+ checking.
+
+ * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
+ independent on whether stack checking is enabled, caller must check
+ the corresponding flag.
+
+ * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
+ range checks.
+ (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
+ parent if it has discriminants.
+ (Build_Derived_Private_Type): Constructed full view does
+ not come from source.
+ (Process_Discriminants): Default discriminants on a tagged type are
+ legal if this is the internal completion of a private untagged
+ derivation.
+
+ * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
+ no constraint checks, because it corresponds to an existing object.
+
+ * sem_prag.adb (Process_Convention): Pragma applies
+ only to subprograms in the same declarative part, i.e. the same unit,
+ not the same scope.
+
+ * sem_res.adb (Valid_Conversion): In an instance or inlined body,
+ ignore type mismatch on a numeric conversion if expression comes from
+ expansion.
+
+2004-04-19 Sergey Rybin <rybin@act-europe.fr>
+
+ * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
+ Homonym_Number parameter, add processing for Source_Location parameter
+ corresponding.
+ (Check_Eliminated): Remove the check for homonym numbers, add the check
+ for source location traces.
+
+ * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
+ with Arg_Source_Location corresponding to the changes in the format of
+ the pragma.
+
+ * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
+ Eliminate pragma corresponding to the changes in the format of the
+ pragma: Homonym_Number is replaced with Source_Location, two ways of
+ distinguishing homonyms are mutially-exclusive.
+
+2004-04-19 Joel Brobecker <brobecker@gnat.com>
+
+ * get_targ.ads (Get_No_Dollar_In_Label): Remove.
+
+ * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
+ No_Dollar_In_Label, no longer necessary, as it is always True.
+ (Strip_Suffixes): Likewise.
+
+2004-04-19 Gary Dismukes <dismukes@gnat.com>
+
+ * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
+ modulus for compatibility with size clause on targets with 16-bit
+ Integer.
+
+ * layout.adb (Discrimify): In the case of private types, set Vtyp to
+ full type to fix type mismatches on calls to size functions for
+ discriminant-dependent array components.
+
+2004-04-19 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
+ lib.
+
+2004-04-19 Pascal Obry <obry@gnat.com>
+
+ * mdll-utl.adb (Locate): New version is idempotent.
+
+2004-04-17 Laurent Guerby <laurent@guerby.net>
+
+ PR ada/14988 (partial)
+ * impunit.adb: Fix typo.
+
+2004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
+ and install-rts-cert targets. Remove all gnatlib and gnattools
+ targets and all other rts-* targets (moved to libada). Remove (now)
+ unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
+ TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
+
+2004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (tree_transform): Shortcut returning error_mark_node for
+ statements in annotate_only_mode.
+ (tree_transform, case N_Label, case N_Return_Statement,
+ N_Goto_Statement): Make statement tree instead of generating code.
+ (tree_transform, case N_Assignment_Statement): No longer check
+ type_annotate_only.
+ (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
+ RETURN_STMT): New.
+ (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
+ New fcns.
+ (gnat_to_gnu): Collect any RTL generated and deal with it.
+ (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
+ (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
+ (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
+
+ * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
+
+ * ada-tree.def (EXPR_STMT): Fix typo in name.
+ (BLOCK_STMT, IF_STMT): New nodes.
+
+ * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
+ LABEL_STMT_FIRST_IN_EH): New macros.
+ (RETURN_STMT_EXPR): Likewise.
+
+ * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
+ IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
+
+2004-04-08 Thomas Quinot <quinot@act-europe.fr>
+
+ * atree.ads: Correct documentation on extended nodes.
+
+ * link.c: Set run_path_option for FreeBSD.
+
+2004-04-08 Vincent Celier <celier@gnat.com>
+
+ * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
+ one of the ALI file, do not link with DEC lib.
+
+ * par.adb Remove the last two characters ("%s" or "%b") when checking
+ if a language defined unit may be recompiled.
+
+2004-04-08 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
+ removal of abstract operation leaves no possible interpretation for
+ expression.
+
+ * sem_eval.adb (Eval_Qualified_Expression): Use
+ Set_Raises_Constraint_Error on node when needed, so that it does not
+ get optimized away by subsequent optimizations.
+
+ * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
+ operands even when they are not wrapped in a type conversion.
+
+2004-04-08 Olivier Hainque <hainque@act-europe.fr>
+
+ * sem_prag.adb (Set_Exported): Warn about making static as result of
+ export only when the export is coming from source. This may be not
+ be true e.g. on VMS where we expand export pragmas for exception codes
+ together with imported or exported exceptions, and we don't want the
+ user to be warned about something he didn't write.
+
+2004-04-08 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
+ duplication between normal entities and those declared as renamings.
+ No functional change.
+
+ * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
+ inline functions returning an unconstrained result.
+
+2004-04-08 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
+ conform to what other front-ends do.
+
+2004-04-08 Doug Rupp <rupp@gnat.com>
+
+ * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
+ libraries.
+
+2004-04-06 Pascal Obry <obry@gnat.com>
+
+ * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
+
+ * osint.adb (Program_Name): Do not look past a directory separator.
+
+2004-04-06 Thomas Quinot <quinot@act-europe.fr>
+
+ * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
+
+ * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
+ requirement for preserving a copy of the original assignment node.
+
+ * sinfo.ads: Update comment (Original_Tree -> Original_Node).
+
+2004-04-06 Olivier Hainque <hainque@act-europe.fr>
+
+ (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
+ when supported.
+
+2004-04-06 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
+ operator calls in functional notation, and apply
+ Universal_Interpretation to operands, not to their type.
+
+2004-04-06 Robert Dewar <dewar@gnat.com>
+
+ * 5wdirval.adb: Minor reformatting
+
+2004-04-06 Ed Falis <falis@gnat.com>
+
+ * gnat_rm.texi: Improve a reference to the GCC manual
+
+2004-04-05 Vincent Celier <celier@gnat.com>
+
+ * adaint.h, adaint.c: Add function __gnat_named_file_length
+
+ * impunit.adb: Add Ada.Directories to the list
+
+ * Makefile.in: Add VMS and Windows versions of
+ Ada.Directories.Validity package body.
+
+ * Makefile.rtl: Add a-direct and a-dirval
+
+ * mlib-tgt.ads: Minor comment update.
+
+ * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
+ a-direct.ads, a-direct.adb: New files.
+
+2004-04-05 Vincent Celier <celier@gnat.com>
+
+ PR ada/13620
+ * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
+ just to the compiler.
+
+2004-04-05 Robert Dewar <dewar@gnat.com>
+
+ * a-except.adb (Exception_Name_Simple): Make sure lower bound of
+ returned string is 1.
+
+ * ali-util.adb: Use proper specific form for Warnings (Off, entity)
+
+ * eval_fat.ads: Minor reformatting
+
+ * g-curexc.ads: Document that lower bound of returned string values
+ is always one.
+
+ * gnatlink.adb: Add ??? comment for previous change
+ (need to document why this is VMS specific)
+
+ * s-stoele.ads: Minor reformatting
+
+ * tbuild.ads: Minor reformatting throughout (new function specs)
+
+ * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
+ after WITH.
+
+ * scng.adb: Minor reformatting
+
+2004-04-05 Geert Bosch <bosch@gnat.com>
+
+ * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
+ (Leading_Part): Still perform truncation to machine number if the
+ specified radix_digits is greater or equal to machine_mantissa.
+
+2004-04-05 Javier Miranda <miranda@gnat.com>
+
+ * par-ch3.adb: Complete documentation of previous change
+ Correct wrong syntax documentation of the OBJECT_DECLARATION rule
+ (aliased must appear before constant).
+
+ * par-ch4.adb: Complete documentation of previous change.
+
+ * par-ch6.adb: Complete documentation of previous change.
+
+ * sinfo.ads: Fix typo in commment.
+
+2004-04-05 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Inherit_Components): If derived type is private and has
+ stored discriminants, use its discriminants to constrain parent type,
+ as is done for non-private derived record types.
+
+ * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
+ Ada 2005 AI-310: an abstract non-dispatching operation is not a
+ candidate interpretation in an overloaded call.
+
+ * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
+ expression is Null and target type is not an access type (e.g. a
+ non-private address type).
+
+2004-04-05 Thomas Quinot <quinot@act-europe.fr>
+
+ * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
+ statement whose right-hand side is an inlined call, save a copy of the
+ original assignment subtree to preserve enough consistency for
+ Analyze_Assignment to proceed.
+
+ * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
+ complete assignment subtree which is now unnecessary, as the expansion
+ of inlined call has been improved to preserve a consistent assignment
+ tree. Note_Possible_Modification must be called only
+ after checks have been applied, or else unnecessary checks will
+ be generated.
+
+ * sem_util.adb (Note_Possible_Modification): Reorganise the handling
+ of explicit dereferences that do not Come_From_Source:
+ - be selective on cases where we must go back to the dereferenced
+ pointer (an assignment to an implicit dereference must not be
+ recorded as modifying the pointer);
+ - do not rely on Original_Node being present (Analyze_Assignment
+ calls Note_Possible_Modification on a copied tree).
+
+ * sem_warn.adb (Check_References): When an unset reference to a pointer
+ that is never assigned is encountered, prefer '<pointer> may be null'
+ warning over '<pointer> is never assigned a value'.
+
+2004-04-05 Ramon Fernandez <fernandez@gnat.com>
+
+ * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
+ the ABI.
+
+2004-04-05 Olivier Hainque <hainque@act-europe.fr>
+
+ * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
+ libexc. We currently don't reference anything in this library and
+ linking it in triggers linker warnings we don't want to see.
+
+ * init.c: Update comments.
+
+2004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
+ * utils.c (create_field_decl): Likewise.
+ * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
+
+2004-04-02 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
+ Replace ifinfo by ifnottex, to make makeinfo --html happy again.
+ Add info directory entry and category.
+
+2004-04-02 Jan Hubicka <jh@suse.cz>
+
+ * utils.c: Include function.h
+ (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
+
+2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR ada/14150
+ * Make-lang.in: Clean up generation of documentation
+
+ * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
+
+ * xgnatug.adb: Removed, replaced by xgnatugn.adb
+
+ * xgnatugn.adb: Replaces xgnatug.adb
+
+ * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
+
+ * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
+
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Removed.
+
+2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
+
+ * utils2.c: Update copyright notice.
+
+2004-04-01 Robert Dewar <dewar@gnat.com>
+
+ * checks.adb: Minor reformatting throughout
+ Note that prev checkin added RM reference to alignment warning
+
+2004-04-01 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_aggr.adb (Get_Component_Val): Treat a string literal as
+ non-static when building aggregate for bit-packed array.
+
+ * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
+ function call that is itself the actual in a procedure call, build
+ temporary for it.
+
+ * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
+ a string literal, create a temporary for it, constant folding only
+ handles scalars here.
+
+2004-04-01 Vincent Celier <celier@gnat.com>
+
+ * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
+ Error_Msg_SP): New empty procedures to instantiate the Scanner.
+ (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
+ tokens.
+ (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
+ (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
+ and get the checksum.
+
+ * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
+ already in the Q.
+ Increase the Marking_Label at the end of the Multiple_Main_Loop,
+ instead of at the beginning.
+
+ * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
+ directly.
+ (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
+ on VMS.
+
+ * osint.ads (Multi_Unit_Index_Character): New Character global variable
+
+ * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
+ not '~' directly.
+
+ * par.adb: Remove test on file name to detect language defined units.
+ Add test on unit name, after parsing, to detect language defined units
+ that are not compiled with -gnatg (except System.RPC and its children)
+
+ * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
+ following units without style checking.
+
+ * switch-c.adb: Change -gnatC to -gnateI
+
+ * usage.adb: Document new switch -gnateInnn
+
+ * scng.adb (Accumulate_Token_Checksum): New procedure
+ (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
+ word or literal number.
+ (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
+ numbers.
+
+2004-04-01 Thomas Quinot <quinot@act-europe.fr>
+
+ * a-tasatt.adb,
+ g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
+ switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
+ 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
+ 5vtpopde.adb: Add missing 'constant' keywords.
+
+2004-04-01 Javier Miranda <miranda@gnat.com>
+
+ * par-ch4.adb: (P_Allocator): Code cleanup
+
+ * sem_ch3.adb (Access_Definition): Properly set the null-excluding
+ attribute.
+
+ * sinfo.ads: Complete documentation of previous change
+
+2004-04-01 Pascal Obry <obry@gnat.com>
+
+ * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
+ only on VMS. This special handling was done because an old GNU/ld bug
+ on Windows which has been fixed.
+
+2004-04-01 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity, make_type_from_size):
+ Use TYPE_UNSIGNED, not TREE_UNSIGNED.
+ * trans.c (tree_transform, convert_with_check): Likewise.
+ * utils.c (gnat_signed_or_unsigned_type): Likewise.
+ (build_vms_descriptor, unchecked_convert): Likewise.
+ * utils2.c (nonbinary_modular_operation): Likewise.
+
+2004-03-29 Javier Miranda <miranda@gnat.com>
+
+ * checks.adb (Null_Exclusion_Static_Checks): New subprogram
+ (Install_Null_Excluding_Check): Local subprogram that determines whether
+ an access node requires a runtime access check and if so inserts the
+ appropriate run-time check.
+ (Apply_Access_Check): Call Install_Null_Excluding check if required
+ (Apply_Constraint_Check): Call Install_Null_Excluding check if required
+
+ * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
+
+ * einfo.ads: Fix typo in comment
+
+ * exp_ch3.adb (Build_Assignment): Generate conversion to the
+ null-excluding type to force the corresponding run-time check.
+ (Expand_N_Object_Declaration): Generate conversion to the null-excluding
+ type to force the corresponding run-time check.
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
+ the null-excluding type to force the corresponding run-time check.
+
+ * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
+ case of access types unless they have the null-excluding attribute.
+
+ * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
+ part.
+
+ * exp_util.ads: Fix typo in comment
+
+ * par.adb (P_Null_Exclusion): New subprogram
+ (P_Subtype_Indication): New formal that indicates if the null-excluding
+ part has been scanned-out and it was present
+
+ * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
+
+ * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
+ (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
+ type to force the corresponding run-time check
+ (Resolve_Aggregate): Propagate the null-excluding attribute to the array
+ components
+ (Resolve_Array_Aggregate): Carry out some static checks
+ (Resolve_Record_Aggregate.Get_Value): Carry out some static check
+
+ * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
+ attribute must be set only if specified by means of the null-excluding
+ part. In addition, we must also propagate the access-constant attribute
+ if present.
+ (Access_Subprogram_Declaration, Access_Type_Declaration,
+ Analyze_Component_Declaration, Analyze_Object_Declaration,
+ Array_Type_Declaration, Process_Discriminants,
+ Analyze_Subtype_Declaration): Propagate the null-excluding attribute
+ and carry out some static checks.
+ (Build_Derived_Access_Type): Set the null-excluding attribute
+ (Derived_Type_Declaration, Process_Subtype): Carry out some static
+ checks.
+
+ * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
+
+ * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
+
+ * sem_ch6.adb (Process_Formals): Carry out some static checks.
+ (Set_Actual_Subtypes): Generate null-excluding subtype if the
+ null-excluding part was present; it is not required to be done here in
+ case of anonymous access types.
+ (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
+ value.
+
+ * sem_res.adb (Resolve_Actuals): Carry out some static check
+ (Resolve_Null): Allow null in anonymous access
+
+ * sinfo.adb: New subprogram Null_Exclusion_Present
+ All_Present and Constant_Present available on access_definition nodes
+
+ * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
+ object_declaration, derived_type_definition, component_definition,
+ discriminant_specification, access_to_object_definition,
+ access_function_definition, allocator, access_procedure_definition,
+ access_definition, parameter_specification, All_Present and
+ Constant_Present flags available on access_definition nodes.
+
+2004-03-29 Robert Dewar <dewar@gnat.com>
+
+ * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
+ gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
+ opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
+ par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
+ sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
+ sem_prag.adb: Updates to handle multiple units/file
+
+ * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
+
+ * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
+ sem_util.adb: Minor reformatting
+
+ * sem_ch12.adb: Add comment for previous change
+
+2004-03-29 Laurent Pautet <pautet@act-europe.fr>
+
+ * osint.adb (Executable_Prefix): Set Exec_Name to the current
+ executable name when not initialized. Otherwise, use its current value.
+
+ * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
+ initialize it to another executable name than the current one. This
+ allows to configure paths for an executable name (gnatmake) different
+ from the current one (gnatdist).
+
+2004-03-29 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_Call): A call to a function declared in the
+ current unit cannot be inlined if it appears in the body of a withed
+ unit, to avoid order of elaboration problems in gigi.
+
+ * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
+ information for protected (wrapper) operation as well, to simplify gdb
+ use.
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
+ protected body, indicate that the entity for the generated spec comes
+ from source, to ensure that references are properly generated for it.
+ (Build_Body_To_Inline): Do not inline a function that returns a
+ controlled type.
+
+ * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
+ apply convention to homonyms that are declared explicitly.
+
+ * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
+ that renames an equality operator and the operands are overloaded,
+ resolve them with the declared formal types, before rewriting as an
+ operator.
+
+2004-03-29 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * memtrack.adb: Log realloc calls, which are treated as free followed
+ by alloc.
+
+2004-03-25 Vincent Celier <celier@gnat.com>
+
+ * prj-makr.adb (Process_Directories): Detect when a file contains
+ several units. Do not include such files in the config pragmas or
+ in the naming scheme.
+
+ * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
+ Resolve links only when not in Trusted_Mode.
+ (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
+ Do not resolve links for the display names.
+
+ * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
+ resolve links when computing the display names.
+
+2004-03-25 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
+ attribute reference does not denote a subtype, it can be any
+ expression that has a classwide type, potentially after an implicit
+ dereference. In particular, the prefix can be a view conversion for
+ a classwide type (for which Is_Object_Reference holds), but it can
+ also be a value conversion for an access-to-classwide type. In the
+ latter case, there is an implicit dereference, and the original node
+ for the prefix does not verify Is_Object_Reference.
+
+ * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
+ conversion of a discriminant-dependent component of a mutable object
+ is one itself.
+
+2004-03-25 Ed Schonberg <schonberg@gnat.com>
+
+ * freeze.adb (Freeze_Entity): When an inherited subprogram is
+ inherited, has convention C, and has unconstrained array parameters,
+ place the corresponding warning on the derived type declaration rather
+ than the original subprogram.
+
+ * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
+ indication on renaming declaration, if formal has a box and actual
+ is absent.
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
+ determine whether to generate an implicit or explicit reference to
+ the renamed entity.
+
+ * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
+ subprogram renaming comes from a defaulted formal subprogram in an
+ instance.
+
+2004-03-25 Gary Dismukes <dismukes@gnat.com>
+
+ * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
+ value expressions to ensure that calls within a component definition
+ will be checked (since those are evaluated during the record type's
+ elaboration).
+
+2004-03-25 Arnaud Charlet <charlet@act-europe.fr>
+
+ * s-tpobop.adb: Code clean up:
+ (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
+ code.
+ (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
+
+2004-03-25 Jose Ruiz <ruiz@act-europe.fr>
+
+ * Makefile.in: Clean up in the ravenscar run time.
+
+2004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
+ of No_Strict_Aliasing to build_pointer_type_for_mode.
+ * utils.c (update_pointer_to): Walk pointer and ref chains.
+
+2004-03-22 Cyrille Comar <comar@act-europe.fr>
+
+ * ali.ads: Fix Comment about Dynamic_Elab.
+
+ * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
+ Has_RACW, Is_Generic, etc.)
+ (Output_Object, Gnatls): Take into account ALI files not attached to
+ an object.
+
+2004-03-22 Vincent Celier <celier@gnat.com>
+
+ * gprep.adb: Change all String_Access to Name_Id
+ (Is_ASCII_Letter): new function
+ (Double_File_Name_Buffer): New procedure
+ (Preprocess_Infile_Name): New procedure
+ (Process_Files): New procedure
+ (Gnatprep): Check if output and input are existing directories.
+ Call Process_Files to do the real job.
+
+2004-03-22 Robert Dewar <dewar@gnat.com>
+
+ * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
+ s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
+
+2004-03-22 Sergey Rybin <rybin@act-europe.fr>
+
+ * scn.adb (Contains): Add check for EOF, is needed for a degenerated
+ case when the source contains only comments.
+
+2004-03-22 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
+ declaration for a child subprogram body that acts as a spec, indicate
+ that the entity in the declaration needs debugging information.
+
+ * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
+ full view if the subtype is created for a constrained record component;
+ gigi has enough information to construct the record, and there is no
+ place in the tree for the declaration.
+
+ * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
+ serial number for the dummy body that is built for analysis, to avoid
+ inconsistencies in the generation of internal names when compiling
+ with -gnatN.
+
+2004-03-22 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_util.adb (Is_Object_Reference): A view conversion denotes an
+ object.
+
+2004-03-22 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
+ * trans.c (tree_transform, emit_index_check): Likewise.
+ * utils.c (build_template): Likewise.
+ (max_size, convert): Remove handling of WITH_RECORD_EXPR.
+ (maybe_unconstrained_array, unchecked_convert): Likewise.
+ * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
+ (build_unary_op): Likewise.
+ (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
+ (fill_vms_descriptor): Likewise.
+ (build_call_alloc_dealloc): Likewise.
+ ALIGN is unsigned.
+ * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
+
+2004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ PR other/14630
+ * gnat_ug.texi: Add info directory category and entry.
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Regenerate.
+
+2004-03-19 Arnaud Charlet <charlet@act-europe.fr>
+
+ * ada-tree.h: Update copyright notice.
+ Minor reformatting.
+
+2004-03-19 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
+ as regular exception objects and not as mere integers representing the
+ condition code. The latter approach required some dynamics to mask off
+ severity bits, which did not fit well into the GCC table based model.
+ (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
+ exception data objects. We don't it and it would conflict with the other
+ external symbol we have to generate for such exceptions.
+
+ * trans.c (tree_transform, case N_Exception_Handler): Remove part of
+ the special code for VMS exceptions, since these are now represented
+ as regular exceptions objects.
+
+2004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (debug_no_type_hash): Remove.
+ (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
+ * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
+
+2004-03-19 Laurent Guerby <laurent@guerby.net>
+
+ * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
+ aggregate, allows bootstrap from 3.3 on powerpc-darwin.
+
+2004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
+ (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
+ (TYPE_RM_SIZE_INT): Directly use type.values.
+ (TREE_LOOP_ID): Clean up check.
+ * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
+ TYPE_VALUES, not TYPE_FIELDS.
+ * trans.c (convert_with_check): Delay access of bounds of basetype
+ until sure is numeric.
+
+2004-03-18 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
+
+ Code clean up:
+ * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
+ 5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
+ Specific.Set instead of direct call to e.g pthread_setspecific.
+
+2004-03-18 Thomas Quinot <quinot@act-europe.fr>
+
+ * adaint.c: Update comments.
+
+ * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
+ GNATLIB_SHARED for FreeBSD.
+
+2004-03-18 Jose Ruiz <ruiz@act-europe.fr>
+
+ * init.c [VxWorks]: Do not fix the stack size for the environment task.
+ When needed (stack checking) the stack size is retrieved
+ from the VxWorks kernel.
+
+ * Makefile.in: Flag -nostdinc is required when building the run time
+ for avoiding looking for files in the base compiler.
+ Add the VxWorks specific version of the package body for
+ System.Stack_checking.Operations (5zstchop.adb).
+
+ * Make-lang.in: Add the object file for
+ System.Stack_Checking.Operations.
+
+ * Makefile.rtl: Add object file for the package
+ System.Stack_Checking.Operations.
+
+ * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
+
+ * s-stache.ads, s-stache.adb: Move the operations related to stack
+ checking from this package to package System.Stack_Checking.Operations.
+ This way, stack checking operations are only linked in the final
+ executable when using the -fstack-check flag.
+
+2004-03-18 Doug Rupp <rupp@gnat.com>
+
+ * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
+ Reorganize ifeq's.
+
+ * 5qsystem.ads, 5xcrtl.ads: New files.
+
+2004-03-18 Vincent Celier <celier@gnat.com>
+
+ * prj.adb (Reset): Reset hash table Files_Htable
+
+ * prj-env.adb (Source_Paths, Object_Paths): New tables.
+ (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
+ the procedures Add_To_Path_File.
+ (Set_Ada_Paths): Accumulate source and object dirs in the tables,
+ making sure that each directory is present only once and, for object
+ dirs, when a directory already present is added, the duplicate is
+ removed and the directory is always put as the last in the table.
+ Write the path files at the end of these accumulations.
+
+ * prj-nmsc.adb (Record_Source): Add source file name in hash table
+ Files_Htable for all sources.
+
+ * prj-proc.adb (Process): Remove restrictions between not directly
+ related extending projects.
+
+2004-03-18 Emmanuel Briot <briot@act-europe.fr>
+
+ * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
+ (Find_Sources): Minor speed optimization.
+
+ * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
+ parameter Trusted_Mode.
+
+2004-03-18 Sergey Rybin <rybin@act-europe.fr>
+
+ * scn.adb (Determine_License): Take into account a degenerated case
+ when the source contains only comments.
+
+2004-03-18 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_warn.adb (Check_References): For a warning on a selected
+ component that does not come from source, locate an uninitialized
+ component of the record type to produce a more precise error message.
+
+2004-03-15 Jerome Guitton <guitton@act-europe.fr>
+
+ * 3zsoccon.ads: Fix multicast options.
+
+ * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
+ in the spec.
+
+2004-03-15 Robert Dewar <dewar@gnat.com>
+
+ * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
+ pragma used for a private type.
+
+ * lib-xref.adb (Generate_Reference): Do not generate warning if
+ reference is in a different unit from the pragma Unreferenced.
+
+ * 5vtpopde.adb: Minor reformatting
+ Fix casing of To_Task_ID
+
+ * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
+ flag if we have an unchecked conversion to an access type in the same
+ unit.
+
+2004-03-15 Geert Bosch <bosch@gnat.com>
+
+ * a-ngcoty.adb (Modulus): In alternate formula for large real or
+ imaginary parts, use Double precision throughout.
+
+ * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
+ we want to be able to compile run-time with -gnata for testing, but
+ this may also be instantiated in user code that is compiled with -gnata.
+
+2004-03-15 Olivier Hainque <hainque@act-europe.fr>
+
+ * s-stalib.ads (Exception_Code): New type, to represent Import/Export
+ codes. Having a separate type for this is useful to enforce consistency
+ throughout the various run-time units.
+ (Exception_Data): Use Exception_Code for Import_Code.
+
+ * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
+ Natural and Integer in various places.
+ (Register_VMS_Exception): Use Base_Code_In to compute the exception code
+ with the severity bits masked off.
+ (Register_VMS_Exception): Handle the additional exception data pointer
+ argument.
+
+ * raise.c (_GNAT_Exception structure): Remove the handled_by_others
+ component, now reflected by an exported accessor.
+ (is_handled_by): New routine to compute whether the propagated
+ occurrence matches some handler choice specification. Extracted out of
+ get_action_description_for, and expanded to take care of the VMS
+ specifities.
+ (get_action_description_for): Use is_handled_by instead of an explicit
+ complex condition to decide if the current choice at hand catches the
+ propagated occurrence.
+
+ * raise.h (Exception_Code): New type for C.
+
+ * rtsfind.ads (RE_Id, RE_Unit_Table): Add
+ System.Standard_Library.Exception_Code, to allow references from the
+ pragma import/export expander.
+
+ * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
+ New accessors to allow easy access to GNAT exception data
+ characteristics.
+ (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
+ redundant Handled_By_Others component, helper for the personality
+ routine which will now be able to call the appropriate exception data
+ accessor instead.
+
+ * cstand.adb (Create_Standard): Adjust the type of the Import_Code
+ component of Standard_Exception_Type to be the closest possible to
+ Exception_Code in System.Standard_Library, that we cannot get at this
+ point. Expand a ??? comment to notify that this type node should
+ probably be rewritten later on.
+
+ * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
+ registration call to include a pointer to the exception object in the
+ arguments.
+
+ * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
+ instead of int and explicit bitmasks.
+
+2004-03-15 Vincent Celier <celier@gnat.com>
+
+ * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
+ equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
+
+ * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
+ longer needed now that it is in the spec of
+ System.Tasking.Task_Attributes.
+
+ * adaint.h, adaint.c: (__gnat_create_output_file): New function
+
+ * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
+
+ * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
+
+ * make.adb (Gnatmake): Do not check the executable suffix; it is being
+ taken care of in Scan_Make_Arg.
+ (Scan_Make_Arg): Add the executable suffix only if the argument
+ following -o, in canonical case, does not end with the executable
+ suffix. When in verbose mode and executable file name does not end
+ with executable suffix, output the executable name, in canonical case.
+
+ * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
+ to avoid warnings when instantiating Ada.Task_Attributes.
+ Minor reformating.
+
+ * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
+ in the correct order.
+
+ * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
+ redirect standard output and error to a file for the invocation of the
+ compiler, then read the file.
+
+ * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
+ directory, instead of the Value.
+ (Find_Source_Dirs): Remove useless code & comments.
+
+2004-03-15 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
+ tagged type is inherited, and the parent operation is not frozen yet,
+ force generation of a freeze node for the inherited operation, so the
+ corresponding dispatch entry is properly initialized.
+ (Make_Predefined_Primitive_Specs): Check that return type is Boolean
+ when looking for user-defined equality operation.
+
+ * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
+ boolean when locating primitive equality of tagged component.
+
+ * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
+ bit-aligned field and the right-hand side a string literal, introduce
+ a temporary before expanding assignment into a loop.
+
+ * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
+ priority in full, to ensure that any expanded subepxressions of it are
+ elaborated in the scope of the init_proc.
+
+ * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
+ after object declaration, skipping over code that may have been
+ generated for validity checks.
+
+ * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
+ discriminants, ignore the known discriminants of its full view, if
+ any, to check legality.
+
+ * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
+ component if type has unknown discriminants.
+ (Analyze_Private_Extension_Declaration): Discriminant constraint is
+ null if type has unknown discriminants.
+
+ * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
+ for end label when present.
+
+ * s-fileio.adb (Open): When called with a C_Stream, use given name for
+ temporary file, rather than an empty string.
+
+2004-03-15 Ed Falis <falis@gnat.com>
+
+ * s-thread.adb: Removed, no longer used.
+
+2004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (target.h): Now include.
+ (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
+ in new build_pointer_from_mode calls for non-fat/non-thin pointer.
+ (validate_size): For POINTER_TYPE, get smallest size permitted on
+ machine.
+
+ * fe.h: Sort Einfo decls and add Set_Mechanism.
+
+ * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
+ (ada/decl.o): Depends on target.h.
+
+ * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
+ FUNCTION_BOUNDARY; always use TYPE_ALIGN.
+
+2004-03-15 Thomas Quinot <quinot@act-europe.fr>
+
+ * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
+
+ * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
+ Insert_Dereference_Action when rewriting an implicit dereference into
+ an explicit one, this will be taken care of during expansion of the
+ explicit dereference.
+ (Expand_N_Slice): Same. Always do the rewriting, even for the case
+ of non-packed slices, since the dereference action generated by
+ expansion of the explicit dereference is needed in any case.
+ (Expand_N_Selected_Component): When rewriting an implicit dereference,
+ analyze and resolve the rewritten explicit dereference so it is seen
+ by the expander.
+ (Insert_Dereference_Action): This procedure is now called only for the
+ expansion of an N_Explcit_Dereference_Node. Do insert a check even for
+ dereferences that do not come from source (including explicit
+ dereferences resulting from rewriting implicit ones), but do not
+ recursively insert a check for the dereference nodes contained within
+ the check.
+ (Insert_Dereference_Action): Clarify and correct comment.
+
+2004-03-08 Paolo Bonzini <bonzini@gnu.org>
+
+ PR ada/14131
+ Move language detection to the top level.
+ * config-lang.in: Build by default.
+
+2004-03-05 Robert Dewar <dewar@gnat.com>
+
+ * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
+
+ * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
+ i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
+ 5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
+ 5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
+ unchecked conversion to spec to avoid warnings.
+
+ * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
+ to Task_ID
+
+ * 7stpopsp.adb: Correct casing in To_Task_ID call
+
+ * a-strsea.ads, a-strsea.adb: Minor reformatting
+
+ * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
+
+ * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
+ Adjust Max_Msg_Length to be clearly large enough.
+
+ * fe.h: Define In_Same_Source_Unit
+
+ * osint.adb: Add pragma Warnings Off to suppress warnings
+ * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
+ aliasing warnings.
+
+ * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
+
+ * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
+
+ * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
+
+ * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
+
+ * sem_prag.adb: Implement pragma No_Strict_Aliasing.
+
+ * sinfo.ads: Remove obsolete comment on validate unchecked conversion
+ node. We now do generate them for gcc back end.
+
+ * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
+ warning.
+
+ * sinput-c.adb: Fix bad name in header.
+ Add pragma Warnings Off to suppress aliasing warning.
+
+ * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
+
+ * snames.h, snames.ads, snames.adb: Add entry for pragma
+ No_Strict_Aliasing.
+
+2004-03-05 Vincent Celier <celier@gnat.com>
+
+ * prj-com.ads: Add hash table Files_Htable to check when a file name
+ is already a source of another project.
+
+ * prj-nmsc.adb (Record_Source): Before recording a new source, check
+ if its file name is not already a source of another project. Report an
+ error if it is.
+
+ * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
+ source file name, call gnatpp with all the sources of the main project.
+
+ * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
+ of file names.
+
+ * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
+ NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
+ /RUNTIME_SYSTEM=, converted to --RTS=
+ /NOTABS, converted to -notabs
+
+2004-03-05 Pascal Obry <obry@gnat.com>
+
+ * make.adb: Minor reformatting.
+
+2004-03-05 Ed Schonberg <schonberg@gnat.com>
+
+ Part of implemention of AI-262.
+ * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
+
+ * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
+ procedure.
+
+ * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
+ when component type is a partially constrained class-wide subtype.
+ (Constrain_Discriminated_Type): If parent type has unknown
+ discriminants, a constraint is illegal, even if full view has
+ discriminants.
+ (Build_Derived_Record_Type): Inherit discriminants when deriving a type
+ with unknown discriminants whose full view is a discriminated record.
+
+ * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
+ flag, to handle properly derivations of tagged types with unknown
+ discriminants.
+ (Analyze_Package_Spec, Analyze_Package_Body): Install
+ Private_With_Clauses before analyzing private part or body.
+
+ * einfo.ads: Indicate that both Has_Unknown_Discriminants and
+ Has_Discriminants can be true for a given type (documentation).
+
+2004-03-05 Arnaud Charlet <charlet@act-europe.fr>
+
+ * s-restri.ads: Fix license (GPL->GMGPL).
+
+ * s-tassta.adb: Minor reformatting.
+
+ * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
+ by calls to Exit_One_ATC_Level, since additional clean up is performed
+ by this function.
+
+ * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
+ by calls to Exit_One_ATC_Level, since additional clean up is performed
+ by this function.
+
+2004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c: Reflect GCC changes to fix bootstrap problem.
+ Add warning for suspicious aliasing unchecked conversion.
+
+2004-03-05 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-03-02 Emmanuel Briot <briot@act-europe.fr>
+
+ * ali.adb (Read_Instantiation_Instance): Do not modify the
+ current_file_num when reading information about instantiations, since
+ this corrupts files in later references.
+
+2004-03-02 Vincent Celier <celier@gnat.com>
+
+ * bcheck.adb (Check_Consistency): Get the full path of an ALI file
+ before checking if it is read-only.
+
+ * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
+ of SRC_DIRS and eliminate duplicates.
+
+ * gprcmd.adb: Replace command "path" with command "path_sep" to return
+ the path separator.
+ (Usage): Document path_sep
+
+ * Makefile.generic: For Ada and GNU C++ cases, link directly with the
+ C++ compiler. No need for a script.
+ Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
+ Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
+ subst.
+
+ * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
+ where there are Ada sources.
+ (Set_Ada_Paths): Only add to the include path the source dirs of project
+ with Ada sources.
+ (Add_To_Path): Add the Display_Values of the directories, not their
+ Values.
+
+ * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
+ data.
+
+ * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
+ is not No_Name.
+ (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
+ Value is canonicalized.
+ (Language_Independent_Check): Do not copy Value to Display_Value when
+ canonicalizing Value.
+
+ * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
+ path to find limited with cycles.
+ (Parse_Single_Project): Use canonical cased path to find the end of a
+ with cycle.
+
+2004-03-02 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
+ and not a child unit.
+
+ * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
+ appear in a with_clause.
+
+ * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
+ only happen in type_annotate mode, do not try to elaborate it.
+
+ * exp_util.adb (Force_Evaluation): If expression is a selected
+ component on the left of an assignment, use a renaming rather than a
+ temporary to remove side effects.
+
+ * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
+ inlined instance body, which is analyzed before the end of the
+ enclosing scope.
+
+2004-03-02 Robert Dewar <dewar@gnat.com>
+
+ * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
+ sem_ch4.adb: Use new feature for substitution of keywords in VMS
+
+ * errout.ads, errout.adb: Implement new circuit for substitution of
+ keywords in VMS.
+
+ * sem_case.adb (Analyze_Choices): Place message properly when case is
+ a subtype reference rather than an explicit range.
+
+ * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
+
+2004-03-02 Doug Rupp <rupp@gnat.com>
+
+ * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
+
+2004-03-02 Thomas Quinot <quinot@act-europe.fr>
+
+ * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
+
+2004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
+ BLKmode bitfield.
+
+2004-02-25 Robert Dewar <dewar@gnat.com>
+
+ * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
+ 55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
+ 5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
+ 5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
+ 5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
+ 5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
+ the defining instance of the type to avoid aliasing problems.
+ Fix copyright header. Fix bad comments in package header.
+
+ * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
+
+2004-02-25 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch2.adb (Param_Entity): Handle properly formals that have been
+ rewritten as references when aliased through an address clause.
+
+ * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
+ whether call can be interpreted as an indirect call to the result of a
+ parameterless function call returning an access subprogram.
+
+2004-02-25 Arnaud Charlet <charlet@act-europe.fr>
+
+ Code clean up:
+ * exp_ch7.adb (Make_Clean): Remove generation of calls to
+ Unlock[_Entries], since this is now done by Service_Entries directly.
+
+ * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
+
+ * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
+ Requeue_Call for better code readability. Change spec and update calls:
+ PO_Service_Entries now unlock the PO on exit.
+ (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
+ PO_Service_Entries.
+
+ * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
+
+ * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
+
+2004-02-25 Sergey Rybin <rybin@act-europe.fr>
+
+ * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
+ protected subprogram call and analyzing the result of such expanding
+ in case when the called protected subprogram is eliminated.
+
+ * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
+ names.
+
+2004-02-25 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: Clean ups.
+
+2004-02-23 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
+ protected operations if original subprogram is flagged as eliminated.
+ (Expand_N_Subprogram_Body): For a protected operation, create
+ discriminals for next operation before checking whether the operation
+ is eliminated.
+
+ * exp_ch9.adb (Expand_N_Protected_Body,
+ Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
+ for internal protected operations if the original subprogram is
+ eliminated.
+
+ * sem_elim.adb (Check_Eliminated): Handle properly protected operations
+ declared in a single protected object.
+
+2004-02-23 Vincent Celier <celier@gnat.com>
+
+ * prj-attr.adb: Make attribute Builder'Executable an associative array,
+ case insensitive if file names are case insensitive, instead of a
+ standard associative array.
+
+ * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
+ them as case insensitive on platforms where the file names are case
+ sensitive.
+
+ * prj-part.adb (Parse_Single_Project): Make sure, when checking if
+ project file has already been parsed that canonical path are compared.
+
+2004-02-23 Robert Dewar <dewar@gnat.com>
+
+ * sinput-c.ads: Correct bad unit title in header
+
+ * freeze.adb: Minor reformatting
+
+2004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (tree_transform, case N_Procedure_Call_Statement): For
+ nonaddressable COMPONENT_REF that is removing padding that we are
+ taking the address of, take the address of the padded record instead
+ if item is variable size.
+
+2004-02-20 Robert Dewar <dewar@gnat.com>
+
+ * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
+
+2004-02-20 Ed Schonberg <schonberg@gnat.com>
+
+ * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
+ itype references for the constrained designated type of a component
+ whose base type is already frozen.
+
+2004-02-20 Arnaud Charlet <charlet@act-europe.fr>
+
+ * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
+ avoid GCC warnings.
+
+2004-02-20 Sergey Rybin <rybin@act-europe.fr>
+
+ * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
+ identifier for a phantom package that rewrites the formal package
+ declaration with a box. The Add semantic decorations for the defining
+ identifier from the original node (that represents the formal package).
+
+2004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * Make-lang.in (ada/stamp-sdefault): Use the top level
+ move-if-change.
+
+2004-02-19 Richard Henderson <rth@redhat.com>
+
+ * misc.c (record_code_position): Add third build arg for RTL_EXPR.
+
+2004-02-18 Emmanuel Briot <briot@act-europe.fr>
+
+ * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
+ Scan_ALI can be used for multiple ALI files without reinitializing
+ between calls.
+
+2004-02-18 Robert Dewar <dewar@gnat.com>
+
+ * debug.adb: Minor reformatting.
+
+2004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
+ to zero if there is an address clause.
+
+2004-02-18 Thomas Quinot <quinot@act-europe.fr>
+
+ * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
+
+2004-02-18 Gary Dismukes <dismukes@gnat.com>
+
+ * layout.adb (Layout_Component_List): Revise generation of call to
+ discriminant-checking function to pass selections of all of the type's
+ discriminants rather than just the variant-controlling discriminant.
+
+2004-02-18 Olivier Hainque <hainque@act-europe.fr>
+
+ * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
+ fail in the current setup and triggers spurious system error messages.
+ Pretend it occurred and failed instead.
+
+2004-02-18 Vincent Celier <celier@gnat.com>
+
+ * bld.adb: Mark FLDFLAGS as saved
+ (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
+ it is not the root project. Put each directory to be
+ extended between double quotes to prevent it to be expanded on Windows.
+ (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
+ the project file. Set them back to their initial values if they have not
+ been set in the project file.
+
+ * gprcmd.adb: (Gprdebug, Debug): New global variables
+ (Display_Command): New procedure
+ (Usage): Document new command "linkopts"
+ Call Display_Command when env var GPRDEBUG has the value "TRUE"
+ Implement new command "linkopts"
+ Remove quotes that may be around arguments for "extend"
+ Always call Normalize_Pathname with arguments formatted for the platform
+
+ * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
+ Change @echo to @$(display) in target clean to be able to clean silently
+
+ * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
+
+ * prj-part.adb (Project_Path_Name_Of): Do not put final result in
+ canonical case.
+
+ * prj-part.adb (Parse_Single_Project): Always call with From_Extended
+ = Extending_All when current project is an extending all project.
+
+ * vms_conv.adb (Output_File_Expected): New Boolean global variable,
+ set to True only for LINK command, after Unix switch -o.
+ (Process_Arguments): Set Output_File_Expected to True for LINK command
+ after Unix switch -o. When Output_File_Expected is True, never add an
+ extension to a file name.
+
+ * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
+ option file name, only to the --for-linker= switch.
+ (Option_File_Name): If option file name do not end with ".opt", append
+ "/OPTIONS".
+
+2004-02-18 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * Make-lang.in (stamp-sdefault): Do not depend on
+ move-if-change.
+
+2004-02-12 Zack Weinberg <zack@codesourcery.com>
+
+ * config-lang.in: Disable Ada by default until probe logic for
+ a bootstrap Ada compiler can be moved to the top level configure
+ script.
+
+2004-02-12 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (components_to_record): Don't claim that the internal fields
+ we make to hold the variant parts are semantically addressable, because
+ they are not.
+
+ * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
+ adjust the comment describing the modular type form when we can use it.
+ (Install_PAT): Account for the Esiz renaming.
+
+ * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
+ sc_onstack context indication before raising the exception to which
+ the signal is mapped. Allows better handling of later signals possibly
+ triggered by the resumed user code if the exception is handled.
+
+2004-02-12 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5zinit.adb: Removed, no longer used.
+
+2004-02-12 Robert Dewar <dewar@gnat.com>
+
+ * ali.adb: Remove separating space between parameters on R line. Makes
+ format consistent with format used by the binder for Set_Globals call.
+
+ * atree.ads, atree.adb: Minor reformatting (new function header format)
+
+ * bindgen.adb: Add Run-Time Globals documentation section containing
+ detailed documentation of the globals passed from the binder file to
+ the run time.
+
+ * gnatls.adb: Minor reformatting
+
+ * init.c (__gnat_set_globals): Add note pointing to documentation in
+ bindgen.
+
+ * lib-writ.ads, lib-writ.adb: Remove separating space between
+ parameters on R line.
+ Makes format consistent with format used by the binder for Set_Globals
+ call.
+
+ * osint.ads: Add 2004 to copyright notice
+ Minor reformatting
+
+ * snames.ads: Correct capitalization of FIFO_Within_Priorities
+ Noticed during code reading, documentation issue only
+
+ * usage.adb: Remove junk line for obsolete C switch
+ Noticed during code reading
+
+2004-02-12 Vincent Celier <celier@gnat.com>
+
+ * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
+ extend for each directory, so that multiple /** directories are
+ extended individually.
+ (Recursive_Process): Set the default for LANGUAGES to ada
+
+ * gprcmd.adb: Define new command "ignore", to do nothing.
+ Implement new comment "path".
+
+ * Makefile.generic: Suppress output when SILENT is set
+ Make sure that when compiler for C/C++ is gcc, the correct -x switch is
+ used, so that the correct compiler is invoked.
+ When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
+ CXX_INCLUDE_PATH, to avoid failure with too long command lines.
+
+2004-02-12 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: Clean ups and remove obsolete targets.
+
+2004-02-12 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
+ predicate declared in exp_util.
+
+ * exp_util.adb: Add comments.
+
+ * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
+ visibility before compiling context of the subunit.
+
+ * sem_res.adb (Check_Parameterless_Call): If the context expects a
+ value but the name is a procedure, do not attempt to analyze as a call,
+ in order to obtain more telling diagnostics.
+
+ * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
+ 'Access on parameterless function calls.
+ (Normalize_Actuals): For a parameterless function call with missing
+ actuals, defer diagnostic until resolution of enclosing call.
+
+ * sem_util.adb (Wrong_Type): If the context type is an access to
+ subprogram and the expression is a procedure name, suggest a missing
+ 'attribute.
+
+2004-02-10 Arnaud Charlet <charlet@act-europe.fr>,
+ Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/6637
+ PR ada/5911
+ Merge with libada-branch:
+ * config-lang.in: Build libada only when ada is built.
+
+2004-02-09 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
+ for a tagged type, verify that both formals have the same type.
+
+ * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
+ temporary when the formal is an in-parameter and the actual a possibly
+ unaligned slice.
+
+ * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
+ when expansion is disabled, to ensure proper name capture with
+ overloaded literals. Condition can be of any boolean type, resolve
+ accordingly.
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
+ renaming is for a formal subprogram with a default operator name, and
+ there is a usable operator that is visible at the point of
+ instantiation.
+
+2004-02-09 Robert Dewar <dewar@gnat.com>
+
+ * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
+ rewrite to ignore errors in ali files, intended to allow tools downward
+ compatibility with new versions of ali files.
+
+ * ali.ads: Add new parameter Ignore_Errors
+
+ * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
+ duplicating the error message giving the file with restrictions.
+
+ * debug.adb: Add debug flag I for gnatbind
+
+ * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
+ operators for the case where the operator is a defining operator.
+
+ * exp_ch3.adb: Minor reformatting (new function spec format).
+
+ * exp_ch4.adb: Add comment for previous change, and make minor
+ adjustment to loop to always check for improper loop termination.
+ Minor reformatting throughout (new function spec format).
+
+ * gnatbind.adb: Implement -di debug flag for gnatbind
+
+ * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
+
+ * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
+
+ * lib-load.adb: Fix bad assertion.
+ Found by testing and code reading.
+ Minor reformatting.
+
+ * lib-load.ads: Minor reformatting.
+
+ * lib-writ.adb: There is only one R line now.
+
+ * lib-writ.ads: Add documentation on making downward compatible changes
+ to ali files so old tools work with new ali files.
+ There is only one R line now.
+ Add documentation on format incompatibilities (with special GPS note)
+
+ * namet.ads, namet.adb: (Is_Operator_Name): New procedure
+
+ * par-load.adb: Minor reformatting
+
+ * sem_ch8.adb: Fix to error message from last update
+ Minor reformatting and restructuring of code from last update
+
+ * par-prag.adb, snames.adb, snames.ads, snames.h,
+ sem_prag.adb: Implement pragma Profile.
+
+ * stylesw.adb: Implement -gnatyN switch to turn off all style check
+ options.
+
+ * usage.adb: Add line for -gnatyN switch
+
+ * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
+
+2004-02-09 Albert Lee <lee@gnat.com>
+
+ * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
+
+2004-02-09 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
+ slices.
+
+ * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
+ is nested in an instance that is not frozen yet, to avoid
+ order-of-elaboration problems in gigi.
+
+ * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
+ body the attribute is legal.
+
+2004-02-09 Robert Dewar <dewar@gnat.com>
+
+ * s-rident.ads: Minor comment correction
+
+ * targparm.adb: Remove dependence on uintp completely. There was
+ always a bug in Make in that it called Targparm before initializing
+ the Uint package. The old code appeared to get away with this, but
+ the new code did not! This caused an assertion error in gnatmake.
+
+ * targparm.ads: Fix bad comment, restriction pragmas with parameters
+ are indeed fully supported.
+
+2004-02-06 Alan Modra <amodra@bigpond.net.au>
+
+ * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
+
+2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
+ with targetm.calls.promote_prototypes.
+
+2004-02-04 Robert Dewar <dewar@gnat.com>
+
+ * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
+ ali.ads, gprcmd.adb: Minor reformatting
+
+ * bindgen.adb: Output restrictions string for new style restrictions
+ handling
+
+ * impunit.adb: Add s-rident.ads (System.Rident) and
+ s-restri (System.Restrictions)
+
+ * lib-writ.adb: Fix bug in writing restrictions string (last few
+ entries wrong)
+
+ * s-restri.ads, s-restri.adb: Change name Restrictions to
+ Run_Time_Restrictions to avoid conflict with package name.
+ Add circuit to read and acquire run time restrictions.
+
+2004-02-04 Jose Ruiz <ruiz@act-europe.fr>
+
+ * restrict.ads, restrict.adb: Use the new restriction
+ No_Task_Attributes_Package instead of the old No_Task_Attributes.
+
+ * sem_prag.adb: No_Task_Attributes is a synonym of
+ No_Task_Attributes_Package.
+
+ * snames.ads, snames.adb: New entry for proper handling of
+ No_Task_Attributes.
+
+ * s-rident.ads: Adding restriction No_Task_Attributes_Package
+ (AI-00249) that supersedes the GNAT specific restriction
+ No_Task_Attributes.
+
+2004-02-04 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_prag.adb:
+ (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
+ body, an identifier may be wrapped in an unchecked conversion.
+
+2004-02-04 Vincent Celier <celier@gnat.com>
+
+ * lib-writ.ads: Comment update for the W lines
+
+ * bld.adb: (Expression): An empty string list is static
+
+ * fname-uf.adb: Minor comment update
+
+ * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
+
+ * gnatbind.adb: Initialize Cumulative_Restrictions with the
+ restrictions on the target.
+
+2004-02-03 Kazu Hirata <kazu@cs.umass.edu>
+
+ * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
+ gen_rtx.
+
+2004-02-02 Arnaud Charlet <charlet@gnat.com>
+
+ * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
+
+2004-02-02 Vincent Celier <celier@gnat.com>
+
+ * gprcmd.adb (Check_Args): If condition is false, print the invoked
+ comment before the usage.
+ Gprcmd: Fail when command is not recognized.
+ (Usage): Document command "prefix"
+
+ * g-md5.adb (Digest): Process last block.
+ (Update): Do not process last block. Store remaining characters and
+ length in Context.
+
+ * g-md5.ads (Update): Document that several call to update are
+ equivalent to one call with the concatenated string.
+ (Context): Add fields to allow new Update behaviour.
+
+ * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
+ defaulted to False.
+ When May_Fail is True and no existing file can be found, return No_File.
+
+ * 6vcstrea.adb: Inlined functions are now wrappers to implementation
+ functions.
+
+ * lib-writ.adb (Write_With_Lines): When body file does not exist, use
+ spec file name instead on the W line.
+
+2004-02-02 Robert Dewar <dewar@gnat.com>
+
+ * ali.adb: Read and acquire info from new format restrictions lines
+
+ * bcheck.adb: Add circuits for checking restrictions with parameters
+
+ * bindgen.adb: Output dummy restrictions data
+ To be changed later
+
+ * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
+ exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
+ freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
+ sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
+ sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
+
+ * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
+ the warning message on access to possibly uninitialized variable S)
+ Minor changes for new restrictions handling.
+
+ * gnatbind.adb: Minor reformatting
+ Minor changes for new restrictions handling
+ Move circuit for -r processing here from bcheck (cleaner)
+
+ * gnatcmd.adb, gnatlink.adb: Minor reformatting
+
+ * lib-writ.adb: Output new format restrictions lines
+
+ * lib-writ.ads: Document new R format lines for new restrictions
+ handling.
+
+ * s-restri.ads/adb: New files
+
+ * Makefile.rtl: Add entry for s-restri.ads/adb
+
+ * par-ch3.adb: Fix bad error messages starting with upper case letter
+ Minor reformatting
+
+ * restrict.adb: Major rewrite throughout for new restrictions handling
+ Major point is to handle restrictions with parameters
+
+ * restrict.ads: Major changes in interface to handle restrictions with
+ parameters. Also generally simplifies setting of restrictions.
+
+ * snames.ads/adb: New entry for proper handling of No_Requeue
+
+ * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
+ restriction counting.
+ Other minor changes for new restrictions handling
+
+ * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
+ Restriction_Warnings now allows full parameter notation
+ Major rewrite of Restrictions for new restrictions handling
+
+2004-02-02 Javier Miranda <miranda@gnat.com>
+
+ * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
+ syntax rule for object renaming declarations.
+ (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
+ component definitions.
+
+ * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
+ components.
+ (Array_Type_Declaration): Give support to access components. In addition
+ it was also modified to reflect the name of the object in anonymous
+ array types. The old code did not take into account that it is possible
+ to have an unconstrained anonymous array with an initial value.
+ (Check_Or_Process_Discriminants): Allow access discriminant in
+ non-limited types.
+ (Process_Discriminants): Allow access discriminant in non-limited types
+ Initialize the new Access_Definition field in N_Object_Renaming_Decl
+ node. Change Ada0Y to Ada 0Y in comments
+
+ * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
+ equality operators.
+ Change Ada0Y to Ada 0Y in comments
+
+ * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
+ renamings Change Ada0Y to Ada 0Y in comments
+
+ * sem_type.adb (Find_Unique_Type): Give support to the equality
+ operators for universal access types
+ Change Ada0Y to Ada 0Y in comments
+
+ * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
+
+ * sinfo.ads (N_Component_Definition): Addition of Access_Definition
+ field.
+ (N_Object_Renaming_Declaration): Addition of Access_Definition field
+ Change Ada0Y to Ada 0Y in comments
+
+ * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
+ component definition and object renaming nodes
+ Change Ada0Y to Ada 0Y in comments
+
+2004-02-02 Jose Ruiz <ruiz@act-europe.fr>
+
+ * restrict.adb: Use the new restriction identifier
+ No_Requeue_Statements instead of the old No_Requeue for defining the
+ restricted profile.
+
+ * sem_ch9.adb (Analyze_Requeue): Check the new restriction
+ No_Requeue_Statements.
+
+ * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
+ that supersedes the GNAT specific restriction No_Requeue. The later is
+ kept for backward compatibility.
+
+2004-02-02 Ed Schonberg <schonberg@gnat.com>
+
+ * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
+ 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
+ pragma and fix incorrect ones.
+
+ * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
+ warning if the pragma is redundant.
+
+2004-02-02 Thomas Quinot <quinot@act-europe.fr>
+
+ * 5staprop.adb: Add missing 'constant' keywords.
+
+ * Makefile.in: use consistent value for SYMLIB on
+ platforms where libaddr2line is supported.
+
+2004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils.c (end_subprog_body): Do not call rest_of_compilation if just
+ annotating types.
+
+2004-02-02 Olivier Hainque <hainque@act-europe.fr>
+
+ * init.c (__gnat_install_handler): Setup an alternate stack for signal
+ handlers in the environment thread. This allows proper propagation of
+ an exception on stack overflows in this thread even when the builtin
+ ABI stack-checking scheme is used without support for a stack reserve
+ region.
+
+ * utils.c (create_field_decl): Augment the head comment about bitfield
+ creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
+ here, because the former is not accurate enough at this point.
+ Let finish_record_type decide instead.
+ Don't make a bitfield if the field is to be addressable.
+ Always set a size for the field if the record is packed, to ensure the
+ checks for bitfield creation are triggered.
+ (finish_record_type): During last pass over the fields, clear
+ DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
+ not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P
+ from DECL_BIT_FIELD.
+
+2004-01-30 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
+ (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
+ (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
+
+2004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
+
+ * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
+ (ZCX_By_Default): Likewise.
+ (Front_End_ZCX_Support): Likewise.
+
+ * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
+ (Initialize_Lock): Mark Level unreferenced.
+ (Sleep): Mark Reason unreferenced.
+ (Timed_Sleep): Likewise.
+ (Wakeup): Likewise.
+ (Exit_Task): Use Result.
+ (Check_No_Locks): Mark Self_ID unreferenced.
+
+ * 5gtasinf.adb (New_Sproc): Make Attr constant.
+ (Bound_Thread_Attributes): Make Sproc constant.
+ (New_Bound_Thread_Attributes): Likewise.
+
+2004-01-26 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
+ one-dimensional array an slice assignments, when component type is
+ controlled.
+
+ * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
+ component type is controlled, and control_actions are in effect, use
+ TSS procedure rather than generating inline code.
+
+ * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
+ arrays with controlled components.
+
+2004-01-26 Vincent Celier <celier@gnat.com>
+
+ * gnatcmd.adb (GNATCmd): Add specification of argument file on the
+ command line for the non VMS case.
+
+ * gnatlink.adb (Process_Binder_File): When building object file, if
+ GNU linker is used, put all object paths between quotes, to prevent ld
+ error when there are unusual characters (such as '!') in the paths.
+
+ * Makefile.generic: When there are sources in Ada and the main is in
+ C/C++, invoke gnatmake with -B, instead of -z.
+
+ * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
+ from VMS_Conversion.
+ (Process_Argument): New procedure, extracted from VMS_Conversion. Add
+ specification of argument file on the command line.
+
+2004-01-26 Bernard Banner <banner@gnat.com>
+
+ * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
+
+2004-01-26 Ed Schonberg <schonberg@gnat.com>
+
+ * snames.adb: Update copyright notice.
+ Add info on slice assignment for controlled arrays.
+
+2004-01-23 Robert Dewar <dewar@gnat.com>
+
+ * exp_aggr.adb: Minor reformatting
+
+ * exp_ch9.adb: Minor code clean up
+ Minor reformatting
+ Fix bad character in comment
+
+ PR ada/13471
+ * targparm.adb (Get_Target_Parameters): Give clean abort error on
+ unexpected end of file, along with more detailed message.
+
+2004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
+ PAT.
+
+ * decl.c (copy_alias_set): New function.
+ (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
+
+2004-01-23 Doug Rupp <rupp@gnat.com>
+
+ * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
+ lib$${file} in case subsequent character is not a separator.
+
+2004-01-23 Vincent Celier <celier@gnat.com>
+
+ * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
+ when the GCC version is at least 3.
+
+ * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
+ Remove all "Opt.", to prepare for opt split
+
+ * prj-part.adb (Parse_Single_Project): New Boolean out parameter
+ Extends_All. Set to True when the project parsed is an extending all
+ project. Fails for importing an extending all project only when the
+ imported project is an extending all project.
+ (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
+ depending on the value of Extends_All returned.
+
+ * prj-proc.adb (Process): Check that no project shares its object
+ directory with a project that extends it, directly or indirectly,
+ including a virtual project.
+ Check that no project extended by another project shares its object
+ directory with another also extended project.
+
+ * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
+ Kind = N_With_Clause
+
+ * prj-tree.ads: Minor reformatting
+ Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
+
+2004-01-23 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
+ applies to a type with an incomplete view, use full view in Name of
+ clause, for consistency with uses of Get_Attribute_Definition_Clause.
+
+2004-01-23 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
+ SCHED_RR, since other values are not supported by this policy.
+ (Initialize): Move initialization of mutex attribute to package
+ elaboration, to prevent early access to this variable.
+
+ * Makefile.in: Remove mention of Makefile.adalib, unused.
+
+ * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
+ 1ssecsta.ads: Removed, unused.
+
+2004-01-21 Javier Miranda <miranda@gnat.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
+ entity if already built in the current scope.
+
+ * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
+ reminder in internal scopes. Required for nested limited aggregates.
+
+2004-01-21 Doug Rupp <rupp@gnat.com>
+
+ * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
+ VMS. Replace all occurences of libgnat- and libgnarl- with
+ libgnat$(hyphen) and libgnarl$(hyphen).
+ Fixed shared library build problem on VMS.
+
+2004-01-21 Robert Dewar <dewar@gnat.com>
+
+ * mlib-prj.adb: Minor reformatting
+
+2004-01-21 Thomas Quinot <quinot@act-europe.fr>
+
+ * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
+ 'constant' keywords for declaration of pointers that are not modified.
+
+ * exp_pakd.adb: Fix English in comment.
+
+2004-01-21 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/10889
+ * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
+ copy all attributes of the parent, including the foreign language
+ convention.
+
+2004-01-21 Sergey Rybin <rybin@act-europe.fr>
+
+ PR ada/10565
+ * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
+ for 'delay until' statement.
+
+2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in: Replace $(docdir) with doc.
+ (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
+ doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
+ to use consistent MAKEINFO rule.
+ (ada.man, ada.srcman): Dummy entry.
+ (ADA_INFOFILES): Define.
+ (ada.info, ada.srcinfo): New rules.
+
+2004-01-19 Arnaud Charlet <charlet@act-europe.fr>
+
+ * utils.c: Update copyright notice, missed in previous change.
+
+2004-01-19 Vincent Celier <celier@gnat.com>
+
+ * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
+ args if Bind is True. Set First_ALI, if not already done.
+ (Build_Library): For Stand Alone Libraries, extract from one ALI file
+ an eventual --RTS switch, for gnatbind, and all backend switches +
+ --RTS, for linking.
+
+2004-01-19 Robert Dewar <dewar@gnat.com>
+
+ * sem_attr.adb, memtrack.adb: Minor reformatting
+
+2004-01-19 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
+ that rename enumeration literals. This is properly done in sem_eval.
+
+ * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
+ to functions that rename enumeration literals.
+
+ * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
+ functions that rename enumeration literals.
+
+2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
+
+ * Make-lang.in (utils.o): Depend on target.h.
+ * utils.c: Include target.h.
+ (process_attributes): Use targetm.have_named_sections instead
+ of ASM_OUTPUT_SECTION_NAME.
+
+2004-01-16 Andreas Jaeger <aj@suse.de>
+
+ * Makefile.in: Add $(DESTDIR).
+
+2004-01-15 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
+ also when not defining if a Size clause applies. That information is
+ not to be ignored.
+
+2004-01-15 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
+ symbolic links for the shared gnat run time when needed.
+
+2004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
+ for writing, and terminate with an error message if not.
+
+2004-01-15 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
+ warning on an access to subprogram in an instance, when the target
+ type is declared in the same generic unit.
+ (Eval_Attribute): If 'access is known to fail accessibility check,
+ rewrite as a raise statement.
+
+2004-01-15 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in (ada.srcextra): Dummy entry.
+
+2004-01-14 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
+
+2004-01-13 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
+ components that are initialized with aggregates.
+
+2004-01-13 Vincent Celier <celier@gnat.com>
+
+ * gnatlink.adb (Process_Binder_File): To find directory of shared
+ libgcc, if "gcc-lib" is not a subdirectory, look for the last
+ subdirectory "lib" in the path of the shared libgnat or libgnarl.
+
+ * make.adb (Gnatmake): If GCC version is at least 3, link with
+ -shared-libgcc, when there is at least one shared library project.
+
+ * opt.ads (GCC_Version): New integer constant.
+
+ * adaint.c (get_gcc_version): New function.
+
+2004-01-13 Robert Dewar <dewar@gnat.com>
+
+ * sem_dist.adb, sem_res.adb, sem_util.adb,
+ sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
+ exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
+
+2004-01-13 Thomas Quinot <quinot@act-europe.fr>
+
+ * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
+ g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
+ declarations.
+
+2004-01-12 Arnaud Charlet <charlet@act-europe.fr>
+
+ * misc.c: Remove trailing spaces.
+ Update copyright notice missed in previous change.
+
+ PR ada/13572
+ * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
+ prefix/share/make
+
+ * Makefile.generic: Update copyright.
+ Add license notice.
+
+ * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
+ of prefix/share/make.
+
+ * Makefile.prolog: Update copyright.
+ Add license notice.
+
+2004-01-12 Laurent Pautet <pautet@act-europe.fr>
+
+ * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
+ 3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
+ g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
+ instead of String.
+
+ * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
+ signature.
+
+2004-01-12 Javier Miranda <miranda@gnat.com>
+
+ * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
+ exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
+ sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
+ sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
+ Component_Definition node.
+
+2004-01-12 Ed Falis <falis@gnat.com>
+
+ * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
+
+2004-01-12 Thomas Quinot <quinot@act-europe.fr>
+
+ * link.c: Change default libgnat kind to STATIC for FreeBSD.
+
+2004-01-12 Bernard Banner <banner@gnat.com>
+
+ * Makefile.in: map 86numaux to a-numaux for x86_64
+
+2004-01-12 Ed Schonberg <schonberg@gnat.com>
+
+ * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
+ generated to rename a generic actual, go to the actual itself, the
+ subtype is not a user-visible entity.
+
+ * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
+ part is a private subtype, reset the visibility of its full view, if
+ any, to be consistent.
+
+ PR ada/13417
+ * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
+ to use a generic package G as a formal package for another generic
+ declared within G.
+
+2004-01-12 Robert Dewar <dewar@gnat.com>
+
+ * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
+
+ * usage.adb: Remove mention of obsolete -gnatwb switch
+ Noticed during code reading
+
+2004-01-12 Jerome Guitton <guitton@act-europe.fr>
+
+ * 1ssecsta.adb: Minor changes for -gnatwa warnings
+
+2004-01-12 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-01-09 Mark Mitchell <mark@codesourcery.com>
+
+ * misc.c (gnat_expand_expr): Add alt_rtl parameter.
+
+2004-01-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * link.c [sgi] (shared_libgnat_default): Change to STATIC.
+
+2004-01-05 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
+ Update comment and copyright date.
+ * stamp-xgnatug: Delete.
+
+2004-01-05 Robert Dewar <dewar@gnat.com>
+
+ * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
+ be modified by the binder generated main program if the -D switch is
+ used.
+
+ * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
+ imported functions (since now we expect this to be done for imported
+ functions)
+
+ * 5vtaprop.adb: Add several ??? for sections requiring more comments
+ Minor reformatting throughout
+
+ * 5zinit.adb: Minor reformatting
+ Add 2004 to copyright date
+ Minor changes to avoid -gnatwa warnings
+ Correct some instances of using OR instead of OR ELSE (noted while
+ doing reformatting)
+
+ * sprint.adb: Minor updates to avoid -gnatwa warnings
+
+ * s-secsta.ads, s-secsta.adb:
+ (SS_Get_Max): New function to obtain high water mark for ss stack
+ Default_Secondary_Stack is not a constant since it may be modified by
+ the binder generated main program if the -D switch is used.
+
+ * switch-b.adb: New -Dnnn switch for binder
+
+ * switch-c.adb:
+ Make -gnatg imply all warnings currently in -gnatwa
+
+ * vms_conv.adb: Minor reformatting
+ Add 2004 to copyright notice
+ Add 2004 to printed copyright notice
+
+ * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
+ 3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
+ 5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
+ 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
+ 5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
+ 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
+ 5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
+ 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
+ 5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
+ 5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
+ 6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
+ vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
+ xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
+ sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
+ checks.adb, clean.adb, cstand.adb, einfo.ads,
+ einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
+ exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
+ prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
+ sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
+ g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
+ lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
+ Minor reformatting and code clean ups.
+ Minor changes to prevent -gnatwa warnings
+
+ * ali.adb: Minor reformatting and cleanup of code
+ Acquire new SS indication of secondary stack use from ali files
+
+ * a-numaux.ads: Add Pure_Function pragmas for all imported functions
+ (since now we expect this to be done for imported functions)
+
+ * bindgen.adb: Generate call to modify default secondary stack size if
+ -Dnnn switch given
+
+ * bindusg.adb: Add line for new -D switch
+
+ * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
+ replacement name for Type_May_Have_Non_Bit_Aligned_Components!
+ Add circuitry for both records and arrays to avoid gigi
+ processing if the type involved has non-bit-aligned components
+
+ * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
+ N_String_Literal node always references an E_String_Literal_Subtype
+ entity. This may not be true in the future.
+ (Possible_Bit_Aligned_Component): Move processing of
+ Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
+
+ * exp_ch6.adb (Expand_Thread_Body): Pick up
+ Default_Secondary_Stack_Size as variable so that we get value modified
+ by possible -Dnnn binder parameter.
+
+ * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
+ (Type_May_Have_Bit_Aligned_Components): New function.
+
+ * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
+ (Type_May_Have_Bit_Aligned_Components): New function.
+
+ * fe.h: (Set_Identifier_Casing): Fix prototype.
+ Add declaration for Sem_Elim.Eliminate_Error_Msg.
+ Minor reformatting.
+
+ * freeze.adb (Freeze_Entity): Add RM reference to error message about
+ importing constant atomic/volatile objects.
+ (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
+ unless explicit Pure_Function pragma given, to avoid insidious bug of
+ call to non-pure imported function getting eliminated.
+
+ * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
+ gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
+ gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
+ Add 2004 to printed copyright notice
+
+ * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
+ stack used.
+
+ * Makefile.rtl: Add entry for g-sestin.o
+ g-sestin.ads: New file.
+
+ * mdll.adb: Minor changes to avoid -gnatwa warnings
+
+ * mlib-tgt.adb: Minor reformatting
+
+ * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
+ New switch Sec_Stack_Used (GNAT, GNATBIND)
+ Make Default_Secondary_Stack_Size a variable instead of a constant,
+ so that it can be modified by the new -Dnnn bind switch.
+
+ * rtsfind.adb (Load_Fail): Give full error message in configurable
+ run-time mode if all_errors mode is set. This was not done in the case
+ of a file not found, which was an oversight.
+ Note if secondary stack unit is used by compiler.
+
+ * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
+ ineffective elaborate all pragmas on non-visible packages (this
+ happened when a renamed subprogram was called). Now the elaborate all
+ always goes on the package containing the renaming rather than the one
+ containing the renamed subprogram.
+
+ * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
+ (Process_Eliminate_Pragma): Add parameter to capture pragma location.
+
+ * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
+ has an Etype that references an E_String_Literal.
+ (Eval_String_Literal): Avoid assumption that N_String_Literal node
+ always references an E_String_Literal_Subtype entity. This may not
+ be true in the future.
+
+ * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
+ pragma location.
+
+ * sem_res.adb (Resolve): Specialize msg for function name used in proc
+ call.
+
+2004-01-05 Ed Falis <falis@gnat.com>
+
+ * g-debuti.adb: Replaced direct boolean operator with short-circuit
+ form.
+
+2004-01-05 Vincent Celier <celier@gnat.com>
+
+ * bld.adb: Minor comment updates
+ (Process_Declarative_Items): Correct incorrect name (Index_Name instead
+ of Item_Name).
+
+ * make.adb (Gnatmake): Special process for files to compile/check when
+ -B is specified. Fail when there are only foreign mains in attribute
+ Main of the project file and -B is not specified. Do not skip bind/link
+ steps when -B is specified.
+
+ * makeusg.adb: Document new switch -B
+
+ * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
+
+ * switch-m.adb: (Scan_Make_Switches): Process -B switch
+
+ * vms_data.ads: Add new GNAT PRETTY qualifier
+ /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
+
+2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
+ case.
+
+ * misc.c (gnat_printable_name): If VERBOSITY is 2, call
+ Set_Identifier_Casing.
+
+ * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
+ has size that overflows.
+
+2004-01-05 Gary Dismukes <dismukes@gnat.com>
+
+ * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
+ -gnatwa warning on static condition.
+
+2004-01-05 Doug Rupp <rupp@gnat.com>
+
+ * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
+
+2004-01-05 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
+ all attributes, including read-only attribute.
+
+2004-01-05 Pascal Obry <obry@gnat.com>
+
+ * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
+ library naming scheme.
+
+ * mlib-prj.adb (Build_Library): Generate different names for the static
+ or dynamic version of the GNAT runtime. This is needed to support the
+ new shared library naming scheme.
+ (Process_Binder_File): Add detection of shared library in binder file
+ based on the new naming scheme.
+
+ * gnatlink.adb (Process_Binder_File): Properly detect the new naming
+ scheme for the shared runtime libraries.
+
+ * Makefile.in:
+ (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
+ scheme.
+ (install-gnatlib): Do not create symlinks for shared libraries.
+ (gnatlib-shared-default): Idem.
+ (gnatlib-shared-dual-win32): New target. Not used for now as the
+ auto-import feature does not support arrays/records.
+ (gnatlib-shared-win32): Do not create copy for the shared libraries.
+ (gnatlib-shared-vms): Fix shared runtime libraries names.
+
+ * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
+ dependent runtime shared library name.
+
+2004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
+ than the object.
+
+2004-01-05 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
+ protected objects when allocator has a subtype indication, not a
+ qualified expression. Note that qualified expressions may have to be
+ checked when limited aggregates are implemented.
+
+ * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
+ pure, emit warning.
+ (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
+ subprogram is imported, remove warning.
+
+2004-01-05 Geert Bosch <bosch@gnat.com>
+
+ * s-poosiz.adb: Update copyright notice.
+ (Allocate): Use Task_Lock to protect against concurrent access.
+ (Deallocate): Likewise.
+
+2004-01-05 Joel Brobecker <brobecker@gnat.com>
+
+ * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
+ comment.
+
+2003-12-23 Kelley Cook <kcook@gcc.gnu.org>
+
+ * gnat_ug.texi: Force a CVS commit by updating copyright.
+ * gnat_ug_vxw.texi: Regenerate.
+ * gnat_ug_wnt.texi: Regenerate.
+ * gnat_ug_vms.texi: Regenerate.
+ * gnat_ug_unx.texi: Regenerate.
+
+2003-12-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * trans.c: Remove uses of "register" specifier in
+ declarations of local variables.
+
+2003-12-18 Kelley Cook <kcook@gcc.gnu.org>
+
+ * stamp-xgnatug: New stamp file.
+ * Make-lang.in (stamp-xgnatug): New stamp file and comment.
+ (ada/doctools/xgnatug): Add $(build_exeext).
+ (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
+ ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
+
+2003-12-17 Ed Falis <falis@gnat.com>
+
+ * a-elchha.adb (Tailored_Exception_Information): made Info constant to
+ eliminate warning.
+
+ * a-exextr.adb: Add context clause for
+ Ada.Exceptions.Last_Chance_Handler.
+
+2003-12-17 Sergey Rybin <rybin@act-europe.fr>
+
+ * cstand.adb (Create_Standard): Change the way how the declaration of
+ the Duration type is created (making it the same way as it is for all
+ the other standard types).
+
+2003-12-17 Robert Dewar <dewar@gnat.com>
+
+ * s-crtl.ads: Fix header format
+ Change Pure to Preelaborate
+
+2003-12-17 Ed Schonberg <schonberg@gnat.com>
+
+ * checks.adb (Selected_Length_Checks): Generate an Itype reference for
+ the expression type only if it is declared in the current unit.
+
+ * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
+ are universal and already analyzed, as can occur in constrained
+ subcomponents that depend on discriminants, when one constraint is a
+ subtype mark.
+
+ * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
+ type Any_Fixed is legal as the argument of a conversion, if only one
+ fixed-point type is in context.
+
+2003-12-17 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-12-15 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
+ sec stack size.
+
+2003-12-15 Vincent Celier <celier@gnat.com>
+
+ * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
+ (Gnatchop): Do not set failure status when reporting the number of
+ warnings.
+
+2003-12-15 Doug Rupp <rupp@gnat.com>
+
+ * s-ctrl.ads: New file.
+
+ * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
+
+ * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
+ (GNATBIND_OBJS): Add ada/s-crtl.o.
+
+ * Makefile.in [VMS]: Clean up ifeq rules.
+
+ * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
+ a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
+ g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
+ s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
+ s-tasdeb.adb: Update copyright.
+ Import System.CRTL.
+ Make minor modifications to use System.CRTL declared functions instead
+ of importing locally.
+
+2003-12-15 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-12-11 Ed Falis <falis@gnat.com>
+
+ * 5zinit.adb: Clean up.
+
+ * 5zintman.adb (Notify_Exception): replaced case statement with a call
+ to __gnat_map_signal, imported from init.c to support
+ signal -> exception mappings that depend on the vxWorks version.
+
+ * init.c:
+ Created and exported __gnat_map_signal to support signal -> exception
+ mapping that is dependent on the VxWorks version.
+ Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
+
+2003-12-11 Vasiliy Fofanv <fofanov@act-europe.fr>
+
+ * 5wosinte.ads: Link with -mthreads switch.
+
+2003-12-11 Arnaud Charlet <charlet@act-europe.fr>
+
+ * init.c (__gnat_install_handler [NetBSD]): Set
+ __gnat_handler_installed, as done on all other platforms.
+ Remove duplicated code.
+
+2003-12-11 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
+
+2003-12-11 Thomas Quinot <quinot@act-europe.fr>
+
+ * sinfo.ads: Fix inconsistent example code in comment.
+
+2003-12-11 Robert Dewar <dewar@gnat.com>
+
+ * a-tiinau.adb: Add a couple of comments
+
+ * sem_ch3.adb: Minor reformatting
+
+ * sem_prag.adb:
+ Fix bad prototype of Same_Base_Type in body (code reading cleanup)
+ Minor reformatting throughout
+
+2003-12-11 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
+ bounds of a loop, create a separate block in order to generate proper
+ cleanup actions to prevent memory leaks.
+
+ * sem_res.adb (Resolve_Call): After a call to
+ Establish_Transient_Scope, the call may be rewritten and relocated, in
+ which case no further processing is needed.
+
+ * sem_util.adb: (Wrong_Type): Refine previous fix.
+ Fixes ACATS regressions.
+
+ PR ada/13353
+ * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
+ be inlined.
+
+2003-12-08 Jerome Guitton <guitton@act-europe.fr>
+
+ * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
+ i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
+ obsolete files.
+
+ * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
+ (rts-zfp): Ditto.
+
+2003-12-08 Robert Dewar <dewar@gnat.com>
+
+ * 7sintman.adb: Minor reformatting
+
+ * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
+ standard linker options to get standard libraries linked. We now plan
+ to provide dummy versions of these libraries to match the appropriate
+ configurable run-time (e.g. if a library is not needed at all, provide
+ a dummy empty library).
+
+ * targparm.ads: Configurable_Run_Time mode no longer affects linker
+ options (-L parameters and standard libraries). What we plan to do is
+ to provide dummy libraries where the libraries are not required.
+
+ * gnatbind.adb: Minor comment improvement
+
+2003-12-08 Javier Miranda <miranda@gnat.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
+ aggregate in the parent. Otherwise constants with limited aggregates
+ are not supported. Add new formal to pass the component type (Ctype).
+ It is required to call the corresponding IP subprogram in case of
+ default initialized components.
+ (Gen_Assign): In case of default-initialized component, generate a
+ call to the IP subprogram associated with the component.
+ (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
+ of aggregate with default initialized components.
+ (Has_Default_Init_Comps): Improve implementation to recursively check
+ all the present expressions.
+
+ * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
+ to indicate that the initialization call corresponds to a
+ default-initialized component of an aggregate.
+ In case of default initialized aggregate with tasks this parameter is
+ used to generate a null string (this is just a workaround that must be
+ improved later). In case of discriminants, this parameter is used to
+ generate a selected component node that gives access to the discriminant
+ value.
+
+ * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
+ subprogram, based on Build_Task_Allocate_Block, but adapted to expand
+ allocated aggregates with default-initialized components.
+
+ * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
+ the box notation is used in positional aggregates.
+
+2003-12-08 Samuel Tardieu <tardieu@act-europe.fr>
+
+ * lib.ads: Fix typo in comment
+
+2003-12-08 Vincent Celier <celier@gnat.com>
+
+ * prj.adb (Project_Empty): New component Unkept_Comments
+ (Scan): Remove procedure; moved to Prj.Err.
+
+ * prj.ads (Project_Data): New Boolean component Unkept_Comments
+ (Scan): Remove procedure; moved to Prj.Err.
+
+ * prj-dect.adb: Manage comments for the different declarations.
+
+ * prj-part.adb (With_Record): New component Node
+ (Parse): New Boolean parameter Store_Comments, defaulted to False.
+ Set the scanner to return ends of line and comments as tokens, if
+ Store_Comments is True.
+ (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
+ comments are associated with these nodes. Store the node IDs in the
+ With_Records.
+ (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
+ With_Records.
+ (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
+ the N_Project node. Call Tree.Save and Tree.Reset before scanning the
+ current project. Call Tree.Restore afterwards. Set the various nodes
+ for comment storage (Next_End, End_Of_Line, Previous_Line,
+ Previous_End).
+
+ * prj-part.ads (Parse): New Boolean parameter Store_Comments,
+ defaulted to False.
+
+ * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
+ to False. When Truncated is True, truncate the string, never go to the
+ next line.
+ (Write_End_Of_Line_Comment): New procedure
+ (Print): Process comments for nodes N_With_Clause,
+ N_Package_Declaration, N_String_Type_Declaration,
+ N_Attribute_Declaration, N_Typed_Variable_Declaration,
+ N_Variable_Declaration, N_Case_Construction, N_Case_Item.
+ Process nodes N_Comment.
+
+ * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
+ without comments and there are some comments, set the flag
+ Unkept_Comments to True.
+ (Scan): If there are comments, set the flag Unkept_Comments to True and
+ clear the comments.
+ (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
+ (Next_End_Nodes: New table
+ (Comment_Zones_Of): New function
+ (Scan): New procedure; moved from Prj. Accumulate comments in the
+ Comments table and set end of line comments, comments after, after end
+ and before end.
+ (Add_Comments): New procedure
+ (Save, Restore, Seset_State): New procedures
+ (There_Are_Unkept_Comments): New function
+ (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
+ (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
+ procedures.
+ (First_Comment_After, First_Comment_After_End): New functions
+ (First_Comment_Before, First_Comment_Before_End): New functions
+ (Next_Comment): New function
+ (End_Of_Line_Comment, Follows_Empty_Line,
+ Is_Followed_By_Empty_Line): New functions
+ (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
+ (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
+ (Set_Next_Comment): New procedure
+ (Default_Project_Node): Associate comment before if the node can store
+ comments.
+
+ * scans.ads (Token_Type): New enumeration value Tok_Comment
+ (Comment_Id): New global variable
+
+ * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
+ defaulted to False.
+ (Scan): Store position of start of comment. If comments are tokens, set
+ Comment_Id and set Token to Tok_Comment when scanning a comment.
+ (Set_Comment_As_Token): New procedure
+
+ * sinput-p.adb: Update Copyright notice
+ (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
+ that no longer exists.
+
+2003-12-08 Javier Miranda <miranda@gnat.com>
+
+ * sem_aggr.adb: Add dependence on Exp_Tss package
+ Correct typo in comment
+ (Resolve_Aggregate): In case of array aggregates set the estimated
+ type of the aggregate before calling resolve. This is needed to know
+ the name of the corresponding IP in case of limited array aggregates.
+ (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
+ in case of default initialized array components.
+
+ * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
+ types. Required to give support to limited aggregates in generic
+ formals.
+
+2003-12-08 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Check_Initialization): For legality purposes, an
+ inlined body functions like an instantiation.
+ (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
+ until bounds are analyzed, to diagnose premature use of type.
+
+ * sem_util.adb (Wrong_Type): Improve error message when the type of
+ the expression is used prematurely.
+
+2003-12-08 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-12-08 Arnaud Charlet <charlet@act-europe.fr>
+
+ * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
+ they are automatically generated by Make-lang.in and cause nothing but
+ maintenance troubles.
+
+2003-12-05 Thomas Quinot <quinot@act-europe.fr>
+
+ * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
+ version of this unit).
+
+2003-12-05 Olivier Hainque <hainque@act-europe.fr>
+
+ * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
+ 5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
+ 5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
+ the body of System.Interrupt_Management common to several targets.
+ Update copyright notice when appropriate.
+
+ * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
+ constant.
+
+ * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
+ to ensure that the kernel fills in the interrupted context structure
+ before calling a signal handler, which is necessary to be able to
+ unwind past it. Update the copyright notice.
+
+2003-12-05 Jerome Guitton <guitton@act-europe.fr>
+
+ * a-elchha.ads: New file.
+
+ * a-elchha.adb: New default last chance handler. Contents taken from
+ Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
+
+ * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
+ is moved to a-elchha.adb to provide a target-independent default last
+ chance handler.
+
+ * Makefile.rtl: Add a-elchha.o
+
+ * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
+
+2003-12-05 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
+ declared in an instance, do not inline the call if the instance is not
+ frozen yet, to prevent order of elaboration problems.
+
+ * sem_prag.adb: Add comments for previous fix.
+
+2003-12-05 Samuel Tardieu <tardieu@act-europe.fr>
+
+ * g-table.adb: Use the right variable in Set_Item.
+ Update copyright notice.
+
+2003-12-05 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.in: Remove unused rules.
+
+2003-12-05 Vincent Celier <celier@gnat.com>
+
+ * switch-c.adb (Scan_Front_End_Switches): Remove processing of
+ -nostdlib. Not needed here after all.
+
+2003-12-03 Thomas Quinot <quinot@act-europe.fr>
+
+ PR ada/11724
+ * adaint.h, adaint.c, g-os_lib.ads:
+ Do not assume that the offset argument to lseek(2) is a 32 bit integer,
+ on some platforms (including FreeBSD), it is a 64 bit value.
+ Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
+
+2003-12-03 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnatvsn.ads (Library_Version): Now contain only the relevant
+ version info.
+ (Verbose_Library_Version): New constant.
+
+ * g-spipat.adb, g-awk.adb, g-debpoo.adb,
+ g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
+ s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
+
+ * gnatlbr.adb: Clean up: replace Library_Version by
+ Verbose_Library_Version.
+
+ * make.adb, lib-writ.adb, exp_attr.adb:
+ Clean up: replace Library_Version by Verbose_Library_Version.
+
+ * 5lintman.adb: Removed.
+
+ * Makefile.in:
+ Update and simplify computation of LIBRARY_VERSION.
+ Fix computation of GSMATCH_VERSION.
+ 5lintman.adb is no longer used: replaced by 7sintman.adb.
+
+2003-12-03 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch5.adb:
+ (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
+ name. Modified to consider small non-bit-packed arrays as troublesome
+ and in need of component-by-component assigment expansion.
+
+2003-12-03 Vincent Celier <celier@gnat.com>
+
+ * lang-specs.h: Process nostdlib as nostdinc
+
+ * back_end.adb: Update Copyright notice
+ (Scan_Compiler_Arguments): Process -nostdlib directly.
+
+2003-12-03 Jose Ruiz <ruiz@act-europe.fr>
+
+ * Makefile.in:
+ When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
+ redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
+ included in HIE_NONE_TARGET_PAIRS.
+
+2003-12-03 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_attr.adb:
+ (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
+ is legal in an instance, because legality is cheched in the template.
+
+ * sem_prag.adb:
+ (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
+ appplied to an unchecked conversion of a formal parameter.
+
+ * sem_warn.adb:
+ (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
+ variables.
+
+2003-12-03 Olivier Hainque <hainque@act-europe.fr>
+
+ * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
+ routines. The second one is new functionality to deal with backtracing
+ through signal handlers.
+ (unwind): Split into the two separate subroutines above.
+ Update the documentation, and deal properly with sizeof (REG) different
+ from sizeof (void*).
+
+2003-12-01 Nicolas Setton <setton@act-europe.fr>
+
+ * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
+ so that the debugger can reliably access the value of the parameter,
+ and therefore is able to display the exception name when an exception
+ breakpoint is reached.
+
+2003-12-01 Thomas Quinot <quinot@act-europe.fr>
+
+ * fmap.adb: Fix typo in warning message.
+
+ * g-socket.ads, g-socket.adb: Make Free a visible instance of
+ Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
+
+2003-12-01 Vincent Celier <celier@gnat.com>
+
+ * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
+ ther is no Afile.
+ (Build_Library): Get the switches only if Default_Switches is declared
+ in package Binder.
+
+2003-12-01 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_Actuals): When applying validity checks to
+ actuals that are indexed components, reanalyze actual to ensure that
+ packed array references are properly expanded.
+
+ * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
+ attempted assignment to a discriminant.
+
+2003-12-01 Robert Dewar <dewar@gnat.com>
+
+ * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
+ reformatting.
+
+ * switch-c.adb: Minor reformatting of comments
+
+2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.in: Clean ups.
+
+2003-12-01 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5wsystem.ads: Disable zero cost exception, not ready yet.
+
+2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
+ to force serialization.
+
+2003-11-26 Thomas Quinot <quinot@act-europe.fr>
+
+ * g-socket.ads, g-socket.adb:
+ Clarify documentation of function Stream. Introduce a Free procedure
+ to release the returned Stream once it becomes unused.
+
+ * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
+
+2003-11-26 Arnaud Charlet <charlet@act-europe.fr>
+
+ (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
+ since NT 4 cannot handle timeout values that are too large,
+ e.g. DWORD'Last - 1.
+
+2003-11-26 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch4.adb:
+ (Expand_N_Slice): Recognize all cases of slices that appear as actuals
+ in procedure calls and whose expansion must be deferred.
+
+ * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
+ is in exp_ch4.
+
+ * sem_ch3.adb:
+ (Build_Derived_Array_Type): Create operator for unconstrained type
+ if ancestor is unconstrained.
+
+2003-11-26 Vincent Celier <celier@gnat.com>
+
+ * make.adb (Project_Object_Directory): New global variable
+ (Change_To_Object_Directory): New procedure
+ (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
+ of Change_Dir directly. Do not change working directory to object
+ directory of main project after each compilation.
+ (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
+ directly.
+ Change to object directory of main project before binding step.
+ (Initialize): Initialize Project_Object_Directory to No_Project
+
+ * mlib-prj.adb:
+ (Build_Library): Take into account Builder'Default_Switches ("Ada") when
+ binding a Stand-Alone Library.
+
+ * output.adb: Update Copyright notice
+ (Write_Char): Output buffer when full
+
+2003-11-26 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch13.adb: (Check_Size): Reset size if size is too small
+
+ * sem_ch13.ads:
+ (Check_Size): Fix documentation to include bit-packed array case
+
+ * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
+
+ * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
+
+ * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
+
+2003-11-24 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR ada/13142
+ * utils.c (init_gigi_decls): Change name of built-in setjmp to
+ __builtin_setjmp, since this is apparently needed by recent
+ non Ada changes.
+
+2003-11-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * adadecode.c: Only include ctype.h if not IN_GCC.
+ (__gnat_decode): Use ISDIGIT from safe-ctype.h.
+
+2003-11-24 Jose Ruiz <ruiz@act-europe.fr>
+
+ * Makefile.in:
+ Use 5zintman.ads for VxWorks targets. This file avoid confusion between
+ signals and interrupts.
+
+ * 5zintman.ads: New File.
+
+ * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
+ add exception signals to the set of unmasked signals.
+
+ * 5ztaprop.adb:
+ Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
+ between signals and interrupts.
+ Add to Unblocked_Signal_Mask the set of signals that are in
+ Keep_Unmasked.
+
+ * 7sinmaop.adb:
+ Adding a check to see whether the Interrupt_ID we want to unmask is in
+ the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
+ reason is that the index type of the Keep_Unmasked array is not always
+ Interrupt_ID; it may be a subtype of Interrupt_ID.
+
+2003-11-24 Gary Dismukes <dismukes@gnat.com>
+
+ * exp_util.adb:
+ (Remove_Side_Effects): Condition constantness of object created for a
+ an unchecked type conversion on the constantness of the expression
+ to ensure the correct value for 'Constrained when passing components
+ of view-converted class-wide objects.
+
+2003-11-24 Robert Dewar <dewar@gnat.com>
+
+ * par-load.adb (Load): Improve handling of misspelled and missing units
+ Removes several cases of compilation abandoned messages
+
+ * lib.adb: (Remove_Unit): New procedure
+
+ * lib.ads: (Remove_Unit): New procedure
+
+ * lib-load.adb: Minor reformatting
+
+2003-11-24 Vincent Celier <celier@gnat.com>
+
+ * make.adb:
+ (Gnatmake, Initialize): Call Usage instead of Makeusg directly
+ (Marking_Label): Label to mark processed source files. Incremented for
+ each executable.
+ (Gnatmake): Increase Marking_Labet for each executable
+ (Is_Marked): Compare against marking label
+ (Mark): Mark with marking label
+
+2003-11-24 Jerome Guitton <guitton@act-europe.fr>
+
+ * s-thread.ads:
+ Move the declaration of the TSD for System.Threads to System.Soft_Links.
+ Add some comments.
+
+ * Makefile.in: Added target pair for s-thread.adb for cert runtime.
+ (rts-cert): build a single relocatable object for the run-time lib.
+ Fix perms.
+
+2003-11-24 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * Make-lang.in:
+ Use gnatls rather than gcc to obtain the location of GNAT RTL for
+ crosstools build.
+
+2003-11-24 Sergey Rybin <rybin@act-europe.fr>
+
+ * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
+ can not use it as before (that is, as a variable) when dumping it into
+ the tree file. Add a local variable to store the result of this
+ function and to be used as the string to be written into the tree.
+
+ * scn.adb (Initialize_Scanner): Add comments explaining the recent
+ changes.
+
+ * sinput.adb (Source_First, Source_Last): In case of
+ Internal_Source_File, replace returning attributes of
+ Internal_Source_Ptr (which is wrong) with returning attributes of
+ Internal_Source.
+
+2003-11-24 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb:
+ (New_Concatenation_Op): Proper name for New_Binary_Operator, only
+ used for implicit concatenation operators.
+ Code cleanup.
+
+ * sem_elab.adb:
+ (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
+ task bodies that are in the scope of a Suppress pragma.
+ (Check_A Call): Use the flag to prevent spurious elaboration checks.
+
+ * sinfo.ads, sinfo.adb:
+ New flag No_Elaboration_Check on function/procedure calls, to properly
+ suppress checks on calls in task bodies that are within a local suppress
+ pragma.
+
+ * exp_ch4.adb:
+ (Expand_Concatenate_Other): Use the proper integer type for the
+ expression for the upper bound, to avoid universal_integer computations
+ when possible.
+
+2003-11-21 Kelley Cook <kcook@gcc.gnu.org>
+
+ * .cvsignore: Delete.
+
+2003-11-21 Andreas Schwab <schwab@suse.de>
+
+ * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
+
+2003-11-21 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * 5wsystem.ads: Enable zero cost exception.
+
+2003-11-21 Jerome Guitton <guitton@act-europe.fr>
+
+ * 5ztiitho.adb: Remove an unreferenced variable.
+
+2003-11-21 Thomas Quinot <quinot@act-europe.fr>
+
+ * adaint.c: For FreeBSD, use mkstemp.
+
+2003-11-21 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnatlbr.adb: Now reference Gnat_Static_Version_String.
+
+2003-11-21 Robert Dewar <dewar@gnat.com>
+
+ * bld.adb: Remove useless USE of gnatvsn
+
+ * gnatchop.adb: Minor reformatting
+ Clean up version handling to be more consistent
+
+ * gnatxref.adb: Minor reformatting
+
+ * gprcmd.adb: Minor reformatting
+ Fix output of copyright to be more consistent with other tools
+
+2003-11-21 Vincent Celier <celier@gnat.com>
+
+ * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
+
+2003-11-21 Sergey Rybin <rybin@act-europe.fr>
+
+ * atree.adb (Initialize): Add initializations for global variables
+ used in New_Copy_Tree.
+
+ * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
+ Internal_Source_File as the actual).
+ Put the set of statements creating Any_Character before the set of
+ statements creating Any_Array to have Any_Character fully initialized
+ when it is used in creating Any_Array.
+
+ * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
+ not call Scan in case if the actual is Internal_Source_File
+ Add 2003 to copyright note.
+
+ * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
+ processing Internal_Source_File.
+
+ * types.ads: Add the constant Internal_Source_File representing the
+ source buffer for artificial source-code-like strings created within
+ the compiler (the definition of Source_File_Index is changed).
+
+2003-11-20 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
+ 56system.ads: New file, FreeBSD version.
+
+2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * Make-lang.in (ada.extraclean): Delete.
+
+2003-11-19 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnatmem.adb: Clean up verbose output.
+
+ * gprcmd.adb: Change copyright to FSF.
+
+2003-11-19 Vincent Celier <celier@gnat.com>
+
+ * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
+ and Version (ignored).
+
+ * symbols.ads: (Policy): New type
+ (Initialize): New parameter Reference, Symbol_Policy and
+ Library_Version.
+ Remove parameter Force.
+ Minor reformatting.
+
+ * snames.ads, snames.adbadb: New standard names
+ Library_Reference_Symbol_File and Library_Symbol_Policy
+
+ * mlib-prj.adb:
+ (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
+ project.
+
+ * mlib-tgt.adb:
+ (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
+
+ * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
+
+ * prj.adb: (Project_Empty): New component Symbol_Data
+
+ * prj.ads: (Policy, Symbol_Record): New types
+ (Project_Data): New component Symbol_Data
+
+ * prj-attr.adb:
+ New attributes Library_Symbol_File, Library_Symbol_Policy and
+ Library_Reference_Symbol_File.
+
+ * prj-nmsc.adb:
+ (Ada_Check): When project is a Stand-Alone library project, process
+ attribute Library_Symbol_File, Library_Symbol_Policy and
+ Library_Reference_Symbol_File.
+
+ * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
+ 5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
+ 5sml-tgt.adb (Build_Dynamic_Library): New parameter
+ Symbol_Data (ignored).
+
+ * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
+ (Build_Dynamic_Library): New parameter Symbol_Data. New internal
+ functions Option_File_Name and Version_String. Set new options of
+ gnatsym related to symbol file, symbol policy and reference symbol
+ file.
+
+ * 5vsymbol.adb:
+ Extensive modifications to take into account the reference symbol file,
+ the symbol policy, the library version and to put in the symbol file the
+ minor and major IDs.
+
+ * bld.adb (Process_Declarative_Items): Put second argument of
+ gprcmd to_absolute between single quotes, to avoid problems with
+ Windows.
+
+ * bld-io.adb: Update Copyright notice.
+ (Flush): Remove last character of a line, if it is a back slash, to
+ avoid make problems.
+
+ * gnatsym.adb:
+ Implement new scheme with reference symbol file and symbol policy.
+
+ * g-os_lib.ads: (Is_Directory): Clarify comment
+
+2003-11-19 Robert Dewar <dewar@gnat.com>
+
+ * atree.adb: Move New_Copy_Tree global variables to head of package
+
+ * errout.adb: Minor reformatting
+
+2003-11-19 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch4.adb: (Diagnose_Call): Improve error message.
+ Add reference to Ada0Y (AI-50217)
+
+ * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
+ sem_util.adb: Add reference to AI-50217
+
+ * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
+
+ * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
+
+ * sem_aggr.adb: Complete documentation of AI-287 changes
+
+ * par-ch4.adb: Document previous changes.
+
+ * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
+ sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
+ Ada0Y (AI-50217)
+
+ * exp_aggr.adb: Add references to AI-287 in previous changes
+
+2003-11-19 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb:
+ (Add_Call_By_Copy_Node): Do not original node of rewritten expression
+ in the rewriting is the result of an inlined call.
+
+ * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
+ parameter is a type conversion, use original node to construct the
+ post-call assignment, because expression may have been rewritten, e.g.
+ if it is a packed array.
+
+ * sem_attr.adb:
+ (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
+ body, just as it is in an instance.
+ Categorization routines
+
+ * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
+ Instantiate_Object): Set proper sloc reference for message on missing
+ actual.
+
+2003-11-19 Thomas Quinot <quinot@act-europe.fr>
+
+ * Makefile.in: Add FreeBSD libgnat pairs.
+
+ * usage.adb: Fix typo in usage message.
+
+2003-11-19 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
+ s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
+ pragma Thread_Body.
+ Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
+
+ * s-thread.adb: This file is now a dummy implementation of
+ System.Thread.
+
+2003-11-19 Sergey Rybin <rybin@act-europe.fr>
+
+ * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
+
+2003-11-19 Emmanuel Briot <briot@act-europe.fr>
+
+ * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
+ instanciation references in the parent type description.
+
+2003-11-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
+
+ * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
+ TYPE_PRECISION directly from esize.
+
+2003-11-18 Thomas Quinot <quinot@act-europe.fr>
+
+ * cstreams.c:
+ Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
+
+ * init.c: Initialization routines for FreeBSD
+
+ * link.c: Link info for FreeBSD
+
+ * sysdep.c: Add the case of FreeBSD
+
+2003-11-17 Jerome Guitton <guitton@act-europe.fr>
+
+ * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
+ already called in System.Threads.
+
+ * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
+ environment task, as it has been moved to System.Threads.Initialization.
+
+2003-11-17 Arnaud Charlet <charlet@act-europe.fr>
+
+ * adaint.c (__gnatlib_install_locks): Only reference
+ __gnat_install_locks on VMS, since other platforms can avoid using
+ --enable-threads=gnat
+
+2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
+
+ * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
+ TYPE_PACKED_ARRAY_TYPE_P.
+ (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
+
+ Part of PR ada/12806
+ * utils.c (float_type_for_precision): Renamed from float_type_for_size.
+ Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
+
+2003-11-17 Vincent Celier <celier@gnat.com>
+
+ * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
+ to False.
+ Do not set exit status to Failure when Warning is True.
+ (Gnatchop): Make errors "no compilation units found" and
+ "no source files written" warnings only.
+
+ * make.adb (Gnatmake): When using a project file, set
+ Look_In_Primary_Dir to False.
+ (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
+ and Local_Configuration_Pragmas in the project where they are declared
+ not an extending project which might have inherited them.
+
+ * osint.adb (Locate_File): If Name is already an absolute path, do not
+ look for a directory.
+
+ * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
+ -gnats (Check_Syntax) is used, issue only a warning, not an error.
+
+ * prj.adb (Register_Default_Naming_Scheme): Add new component Project
+ in objects of type Variable_Value.
+
+ * prj.ads: (Variable_Value): New component Project
+
+ * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
+ is in a project extended by Project.
+
+ * prj-proc.adb (Add_Attributes): New parameter Project. Set component
+ Project of Variable_Values to this new parameter value.
+ (Expression): Set component Project of Variable_Values.
+ (Process_Declarative_Items): Call Add_Attributes with parameter Project.
+ Set the component Project in array elements.
+
+2003-11-17 Sergey Rybin <rybin@act-europe.fr>
+
+ * errout.adb: (Initialize): Add initialization for error nodes.
+
+ * sem_ch12.adb (Initialize): Add missing initializations for
+ Exchanged_Views and Hidden_Entities.
+
+2003-11-17 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
+ already instantiated tree for use in subsequent inlining.
+ (Analyze_Associations, Instantiate_Formal_Subprogram,
+ Instantiate_Object): improve error message for mismatch in
+ instantiations.
+
+ * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
+ instantiations of subprograms declared in instances.
+
+2003-11-17 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch4.adb (Analyze_Allocator): Previous modification must be
+ executed only under the Extensions_Allowed flag.
+
+2003-11-17 Robert Dewar <dewar@gnat.com>
+
+ * a-exexda.adb (Address_Image): Fix documentation to indicate leading
+ zeroes suppressed.
+ (Address_Image): Fix bug of returning 0x instead of 0x0
+ Minor reformatting (function specs).
+
+ * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
+ (missed case of 33-63)
+
+ * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
+
+ * s-thread.adb: Add comments for pragma Restriction
+
+ * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
+ sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
+
+2003-11-17 Ed Falis <falis@gnat.com>
+
+ * s-thread.adb: Added No_Tasking restriction for this implementation.
+
+2003-11-17 Emmanuel Briot <briot@act-europe.fr>
+
+ * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
+ instanciation references in the parent type description.
+
+2003-11-17 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-11-16 Jason Merrill <jason@redhat.com>
+
+ * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
+ and TAGS files that include them for each front end.
+
+2003-11-14 Andreas Jaeger <aj@suse.de>
+
+ * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
+ is the canonical version.
+ * misc.c (gnat_handle_option): Likewise.
+
+ * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
+
+ * 5nsystem.ads: New file for x86_64-linux-gnu.
+
+2003-11-14 Arnaud Charlet <charlet@act-europe.fr>
+
+ * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
+
+ * comperr.adb: Fix logic in previous change.
+
+2003-11-13 Vincent Celier <celier@gnat.com>
+
+ * 5bml-tgt.adb (Build_Dynamic_Library): Use
+ Osint.Include_Dir_Default_Prefix instead of
+ Sdefault.Include_Dir_Default_Name.
+
+ * gnatlbr.adb: Update Copyright notice
+ (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
+ Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
+ instead of Sdefault.Object_Dir_Default_Name
+
+ * gnatlink.adb:
+ (Process_Binder_File): Never suppress the option following -Xlinker
+
+ * mdll-utl.adb:
+ (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
+ Sdefault.Object_Dir_Default_Name.
+
+ * osint.ads, osint.adb:
+ (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
+ Minor reformatting.
+
+ * vms_conv.ads: Minor reformating
+ Remove GNAT STANDARD and GNAT PSTA
+
+ * vms_conv.adb:
+ Allow GNAT MAKE to have several files on the command line.
+ (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
+ Sdefault.Object_Dir_Default_Name.
+ Minor Reformating
+ Remove data for GNAT STANDARD
+
+ * vms_data.ads:
+ Add new compiler qualifier /PRINT_STANDARD (-gnatS)
+ Remove data for GNAT STANDARD
+ Remove options and documentation for -gnatwb/-gnatwB: these warning
+ options no longer exist.
+
+2003-11-13 Ed Falis <falis@gnat.com>
+
+ * 5zthrini.adb: (Init_RTS): Made visible
+
+ * 5zthrini.adb:
+ (Register): Removed unnecessary call to taskVarGet that checked whether
+ an ATSD was already set as a task var for the argument thread.
+
+ * s-thread.adb:
+ Updated comment to reflect that this is a VxWorks version
+ Added context clause for System.Threads.Initialization
+ Added call to System.Threads.Initialization.Init_RTS
+
+2003-11-13 Jerome Guitton <guitton@act-europe.fr>
+
+ * 5zthrini.adb:
+ (Init_RTS): New procedure, for the initialization of the run-time lib.
+
+ * s-thread.adb:
+ Remove dependancy on System.Init, so that this file can be used in the
+ AE653 sequential run-time lib.
+
+2003-11-13 Robert Dewar <dewar@gnat.com>
+
+ * bindgen.adb: Minor reformatting
+
+2003-11-13 Ed Schonberg <schonberg@gnat.com>
+
+ * checks.adb:
+ (Apply_Discriminant_Check): Do no apply check if target type is derived
+ from source type with no applicable constraint.
+
+ * lib-writ.adb:
+ (Ensure_System_Dependency): Do not apply the style checks that may have
+ been specified for the main unit.
+
+ * sem_ch8.adb:
+ (Find_Selected_Component): Further improvement in error message, with
+ RM reference.
+
+ * sem_res.adb:
+ (Resolve): Handle properly the case of an illegal overloaded protected
+ procedure.
+
+2003-11-13 Javier Miranda <miranda@gnat.com>
+
+ * exp_aggr.adb:
+ (Has_Default_Init_Comps): New function to check the presence of
+ default initialization in an aggregate.
+ (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
+ extension aggregate of a limited record. In addition, a new formal
+ was added to do not initialize the record controller (if any) during
+ this recursive expansion of ancestors.
+ (Init_Controller): Add support for limited record components.
+ (Expand_Record_Aggregate): In case of default initialized components
+ convert the aggregate into a set of assignments.
+
+ * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
+ describing the new syntax.
+ Nothing else needed to be done because this subprogram delegates part of
+ its work to P_Precord_Or_Array_Component_Association.
+ (P_Record_Or_Array_Component_Association): Give support to the new
+ syntax for default initialization of components.
+
+ * sem_aggr.adb:
+ (Resolve_Aggregate): Relax the strictness of the frontend in case of
+ limited aggregates.
+ (Resolve_Record_Aggregate): Give support to default initialized
+ components.
+ (Get_Value): In case of default initialized components, duplicate
+ the corresponding default expression (from the record type
+ declaration). In case of default initialization in the *others*
+ choice, do not check that all components have the same type.
+ (Resolve_Extension_Aggregate): Give support to limited extension
+ aggregates.
+
+ * sem_ch3.adb:
+ (Check_Initialization): Relax the strictness of the front-end in case
+ of aggregate and extension aggregates. This test is now done in
+ Get_Value in a per-component manner.
+
+ * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
+ expression corresponds to a limited aggregate. This test is now done
+ in Get_Value.
+
+ * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
+ Box_Present flag.
+
+ * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
+ present in an N_Component_Association node
+
+2003-11-13 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
+ type-conformant entry only if they are homographs.
+
+2003-11-13 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * adadecode.c: Use <> form of include for ctype.h.
+ * sysdep.c [IN_RTS]: Use <> form of include for time.h.
+
+2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
+ Works around PR middle-end/6552.
+
+2003-11-10 Ed Falis <falis@gnat.com>
+
+ * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
+
+ * 5zinit.adb: (Install_Handler): Moved back to spec
+ (Install_Signal_Handlers): Deleted
+
+ * 5zthrini.adb: Added context clause for System.Storage_Elements
+ (Register): Only handles creation of taskVar; initialization moved to
+ Thread_Body_Enter.
+ (Reset_TSD): Deleted; replaced by Thread_Body_Enter
+ Added declaration of environment task secondary stack and
+ initialization.
+
+ * s-thread.adb: Implement bodies for thread body processing
+
+ * s-thread.ads:
+ Added comment identifying supported targets for pragma Thread_Body.
+
+2003-11-10 Pascal Obry <obry@gnat.com>
+
+ * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
+ GNAT_MAX_PATH_LEN.
+
+ * s-fileio.adb:
+ (Open): Properly check for string length before copying into the buffer.
+ Raises Name_Error if buffer is too small. Note that this was a potential
+ buffer overflow.
+
+2003-11-10 Romain Berrendonner <berrendo@act-europe.fr>
+
+ * bindgen.adb, comperr.adb: Code clean ups.
+ * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
+
+2003-11-10 Sergey Rybin <rybin@act-europe.fr>
+
+ * gnat1drv.adb: Add call to Sem_Elim.Initialize.
+
+2003-11-10 Vincent Celier <celier@gnat.com>
+
+ * gprcmd.adb:
+ (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
+ installation.
+
+ * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
+
+ * prj.adb: (Project_Empty): Add new boolean component Virtual
+
+ * prj.ads: (Virtual_Prefix): New constant string
+ (Project_Data): New boolean component Virtual
+
+ * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
+ a library project is extended by a virtual extending project.
+
+ * prj-part.adb:
+ Modifications throughout to implement extending-all project, including:
+ (Virtual_Hash, Processed_Hash): New hash tables
+ (Create_Virtual_Extending_Project): New procedure
+ (Look_For_Virtual_Projects_For): New procedure
+
+ * prj-proc.adb:
+ (Process): After checking the projects, if main project is an
+ extending-all project, set the object directory of all virtual extending
+ project to the object directory of the main project.
+ Adjust error message when a virtual extending project has the same
+ object directory as an project being extended.
+ (Recursive_Process): If name starts with the virtual prefix, set Virtual
+ to True in the project data.
+
+ * prj-tree.adb:
+ (Default_Project_Node): Add new boolean component Extending_All
+ (Is_Extending_All): New function
+ (Set_Is_Extending_All): New procedure
+
+ * prj-tree.ads: (Is_Extending_All): New function
+ (Set_Is_Extending_All): New procedure
+ (Project_Node_Record): New boolean component Extending_All
+
+ * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
+
+ * vms_data.ads:
+ Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
+
+ * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
+ "gprcmd prefix" to define it.
+
+2003-11-10 Thomas Quinot <quinot@act-europe.fr>
+
+ * einfo.ads: Fix a typo and remove an extraneous word in comments.
+
+ * lib-load.adb:
+ (Create_Dummy_Package_Unit): Set the scope of the entity for the
+ created dummy package to Standard_Standard, not to itself, to
+ defend other parts of the front-end against encoutering a cycle in
+ the scope chain.
+
+ * sem_ch10.adb:
+ (Analyze_With_Clause): When setting the entities for the successive
+ N_Expanded_Names that constitute the name of a child unit, do not
+ attempt to go further than Standard_Standard in the chain of scopes.
+ This case arises from the placeholder units created by
+ Create_Dummy_Package_Unit in the case of a with_clause for a
+ nonexistent child unit.
+
+2003-11-10 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb:
+ (Expand_Thread_Body): Place subprogram on scope stack, so that new
+ declarations are given the proper scope.
+
+ * sem_ch13.adb:
+ (Check_Expr_Constants): Reject an expression that contains a constant
+ created during expansion, and that appears after the object to which
+ the address clause applies.
+
+ * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
+ Analyze_Iteration_Scheme, to rewrite a loop parameter specification
+ that uses 'Range of a function call with controlled components, so
+ that the function result can be finalized before starting the loop.
+
+ * sem_ch8.adb:
+ (Find_Selected_Component): Improve error message when prefix is
+ an implicit dereference of an incomplete type.
+
+2003-11-10 Robert Dewar <dewar@gnat.com>
+
+ * opt.ads: New Print_Standard flag for -gnatS switch
+
+ * sem_ch13.adb: Remove some additional checks for unaligned arrays
+
+ * cstand.adb (Create_Standard): Print out package standard if -gnatS
+ switch set
+
+ * debug.adb: Update doc for -gnatds to discuss relationship with new
+ -gnatS flag
+
+ * sinfo.adb: Add new field Entity_Or_Associated_Node
+
+ * sinfo.ads: Add new field Entity_Or_Associated_Node
+ Update documentation for Associated_Node and Entity fields to clarify
+ relationship and usage.
+
+ * sprint.adb:
+ (Write_Id): Properly process Associated_Node field in generic template
+
+ * switch-c.adb:
+ Recognize new -gnatS switch for printing package Standard
+ This replaces gnatpsta
+
+ * usage.adb:
+ Add line for new -gnatS switch for printing package Standard
+ This replaces gnatpsta
+
+2003-11-10 Andreas Jaeger <aj@suse.de>
+
+ * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
+ integer.
+
+2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
+
+ * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
+ by gnat1.
+
+2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
+ no longer needed.
+
+ * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
+
+ * sysdep.c: Add handling of cygwin.
+
+2003-11-10 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR 12950
+ * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
+ functions. Used to handle dynamic prefix relocation, via set_std_prefix.
+ Replace GNAT_ROOT by GCC_ROOT.
+
+ * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
+
+2003-11-06 Zack Weinberg <zack@codesourcery.com>
+
+ * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
+ and update for changed meaning of GET_MODE_BITSIZE.
+
+2003-11-04 Doug Rupp <rupp@gnat.com>
+
+ * sysdep.c: Problem discovered during IA64 VMS port.
+ [VMS] #include <unixio.h> to get proper prototypes.
+
+ * adaint.c:
+ Issues discovered/problems fixed during IA64 VMS port.
+ [VMS] #define _POSIX_EXIT for proper semantics.
+ [VMS] #include <unixio.h> for proper prototypes.
+ [VMS] (fork): #define IA64 version.
+ (__gnat_os_exit): Remove unnecessary VMS specific code.
+
+2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ Part of PR ada/12806
+ * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
+ tree, not integer.
+
+ * decl.c:
+ (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
+ not integer.
+
+ * targtyps.c, decl.c, misc.c,
+ gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
+ routines to work around change in FP sizing semantics in GCC.
+
+ * utils.c:
+ (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
+
+ * gigi.h: (enumerate_modes): New function.
+
+ * Make-lang.in: (ada/misc.o): Add real.h.
+
+ * misc.c: (enumerate_modes): New function.
+
+2003-11-04 Robert Dewar <dewar@gnat.com>
+
+ * 3vtrasym.adb: Minor reformatting
+ Use terminology encoded/decoded name, rather than C++ specific notion
+ of mangling (this is the terminology used throughout GNAT).
+
+ * einfo.h: Regenerated
+
+ * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
+
+ * exp_ch6.adb:
+ (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
+
+ * par-prag.adb: Add dummy entry for Thread_Body pragma
+
+ * rtsfind.ads:
+ Add entries for System.Threads entities for thread body processing
+
+ * sem_attr.adb:
+ (Analyze_Pragma, Access attributes): Check these are not applied to a
+ thread body, since this is not permitted
+
+ * sem_prag.adb: Add processing for Thread_Body pragma.
+ Minor comment fix.
+
+ * sem_res.adb:
+ (Resolve_Call): Check for incorrect attempt to call a thread body
+ procedure with a direct call.
+
+ * snames.ads, snames.adb: Add entry for Thread_Body pragma
+ Add names associated with thread body expansion
+
+ * snames.h: Add entry for Thread_Body pragma
+
+ * s-thread.adb: Add entries for thread body processing
+ These are dummy bodies so far
+
+ * s-thread.ads: Add documentation on thread body handling.
+ Add entries for thread body processing.
+
+2003-11-04 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch10.adb:
+ (Build_Limited_Views): Return after posting an error in case of limited
+ with_clause on subprograms, generics, instances or generic renamings
+ (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
+ on subprograms, generics, instances or generic renamings
+
+2003-11-04 Arnaud Charlet <charlet@act-europe.fr>
+
+ * raise.c (setup_to_install): Correct mistake in last revision; two
+ arguments out of order.
+
+ * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
+ gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
+ notice, missed in previous change.
+ Remove trailing blanks and other style errors introduced in previous
+ change.
+
+2003-11-04 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
+ rid of the wrapper for a LJM type, ensuring we don't do that if the
+ field is addressable. This avoids potential low level type view
+ mismatches later on, for instance in a by-reference argument passing
+ process.
+
+2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
+ aligned at byte boundary.
+
+2003-11-04 Joel Brobecker <brobecker@gnat.com>
+
+ * decl.c (components_to_record): Do not delete the empty variants from
+ the end of the union type.
+
+2003-11-04 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
+ operation for a derived type, an explicit declaration may use a local
+ subtype of Boolean.
+
+2003-11-04 Vincent Celier <celier@gnat.com>
+
+ * make.adb (Gnatmake): Allow main sources on the command line with a
+ library project when it is only for compilation (no binding or
+ linking).
+
+2003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Makefile.in: Remove many duplicate variables.
+
+2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in (dvi): Move targets to $(docobjdir).
+ (gnat_ug_vms.dvi): Simplify rule and adjust target.
+ (gnat_ug_wnt.dvi): Likewise.
+ (gnat_ug_unx.dvi): Likewise.
+ (gnat_ug_vxw.dvi): Likewise.
+ (gnat_rm.dvi): Likewise.
+ (gnat-style.dvi): Likewise.
+
+2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
+
+ * gigi.h: Missed commit from update for C90.
+
+2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
+
+2003-10-31 Andreas Schwab <schwab@suse.de>
+
+ * raise.c (get_action_description_for): Fix typo in last change.
+
+2003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/12761
+ * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
+ T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
+
+2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
+
+ * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
+ ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
+ gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
+ sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
+ trans.c, utils.c, utils2.c: Convert function prototypes to C90.
+
+2003-10-30 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * 3vtrasym.adb:
+ Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
+ numbers when symbol name is too long.
+
+2003-10-30 Ed Falis <falis@gnat.com>
+
+ * g-signal.ads, g-signal.adb: New files
+
+ * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
+
+ * Makefile.rtl: Introduce GNAT.Signals
+
+2003-10-30 Robert Dewar <dewar@gnat.com>
+
+ * freeze.adb: Minor reformatting
+
+ * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
+
+ * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
+ par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
+ New handling of Id_Check parameter to improve recognition of keywords
+ used as identifiers.
+ Update copyright notice to include 2003
+
+2003-10-29 Robert Dewar <dewar@gnat.com>
+
+ * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
+ sem_ch10.adb: Minor reformatting
+
+ * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
+ (Expand_Assign_Record): Test right hand side for bit unaligned as well
+
+2003-10-29 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
+ Support for TBK$SYMBOLIZE-based symbolic traceback.
+
+2003-10-29 Jose Ruiz <ruiz@act-europe.fr>
+
+ * exp_disp.adb:
+ Revert previous change, that did not work well when pragma No_Run_Time
+ was used in conjunction with a run-time other than ZFP.
+
+2003-10-29 Vincent Celier <celier@gnat.com>
+
+ * make.adb:
+ (Gnatmake): When there are no Ada mains in attribute Main, disable the
+ bind and link steps only is switch -z is not used.
+
+2003-10-29 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.generic: Remove duplicated setting of CC.
+
+ * Makefile.prolog: Set CC to gcc by default, to override make's
+ default (cc).
+
+ * einfo.h: Regenerated.
+
+2003-10-29 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
+ current body, after compiling subunit.
+
+ * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
+ when in deleted code, because gigi needs properly ordered freeze
+ actions to annotate types.
+
+ * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
+ prevent the premature freezing of record type that contains
+ subcomponents with a private type that does not yet have a completion.
+
+2003-10-29 Javier Miranda <miranda@gnat.com>
+
+ * sem_ch12.adb:
+ (Analyze_Package_Instantiation): Check that instances can not be used in
+ limited with_clauses.
+
+ * sem_ch8.adb:
+ (Analyze_Package_Renaming): Check that limited withed packages cannot
+ be renamed. Improve text on error messages related to limited
+ with_clauses.
+
+ * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
+
+ * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
+ Update copyright notice.
+
+ * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
+ (Install_Limited_Context_Clauses): New subprogram that isolates all the
+ checks required for limited context_clauses and installs the limited
+ view.
+ (Install_Limited_Withed_Unit): Complete its documentation.
+ (Analyze_Context): Check that limited with_clauses are only allowed in
+ package specs.
+ (Install_Context): Call Install_Limited_Context_Clauses after the
+ parents have been installed.
+ (Install_Limited_Withed_Unit): Add documentation. Mark the installed
+ package as 'From_With_Type'; this mark indicates that the limited view
+ is installed. Used to check bad usages of limited with_clauses.
+ (Build_Limited_Views): Do not add shadow entities to the scope's list
+ of entities. Do not add real entities to the Non_Limited_Views chain.
+ Improve error notification.
+ (Remove_Context_Clauses): Remove context clauses in two phases:
+ limited views first and regular views later (to maintain the
+ stack model).
+ (Remove_Limited_With_Clause): If the package is analyzed then reinstall
+ its visible entities.
+
+2003-10-29 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
+ with any type that Is_Fixed_Point_Type.
+
+ * sinfo.ads: Fix documentation for Associated_Node attribute.
+
+2003-10-29 Sergey Rybin <rybin@act-europe.fr>
+
+ * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
+ both '-gnatc' and '-gnatt' are specified.
+
+ * atree.adb (Initialize): Add initialization for Node_Count (set to
+ zero).
+
+2003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
+ do not consider as Pure.
+
+ Part of implementation of function-at-a-time:
+
+ * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
+ (tree_transform): Add new argument to build_component_ref.
+ (tree_transform, case N_Assignment_Statement): Make and return an
+ EXPR_STMT.
+ (tree_transform): If result IS_STMT, set flags and return it.
+ (gnat_expand_stmt, set_lineno_from_sloc): New functions.
+
+ * utils2.c (build_simple_component_ref, build_component_ref): Add new
+ arg, NO_FOLD_P.
+ (build_binary_op, case EQ_EXPR): Pass additional arg to it.
+ (build_allocator): Likewise.
+
+ * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
+ Add new arg to build_component_ref.
+ (maybe_unconstrained_array, unchecked_convert): Likewise.
+
+ * ada-tree.def (EXPR_STMT): New code.
+
+ * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
+
+ * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
+ build_component_ref calls.
+
+ * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
+
+ * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
+ (build_component_ref): Add new argument, NO_FOLD_P.
+
+2003-10-27 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.generic: Add missing substitution on object_deps handling.
+
+ PR ada/5909
+ * Make-lang.in (check-ada): Enable ACATS test suite.
+
+2003-10-27 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch3.adb:
+ (Freeze_Array_Type): We do not need an initialization routine for types
+ derived from String or Wide_String. They should be treated the same
+ as String and Wide_String themselves. This caused problems with the
+ use of Initialize_Scalars.
+
+ * exp_ch5.adb:
+ (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
+ composites. This allows use of component clauses that are not byte
+ aligned.
+
+ * sem_prag.adb:
+ (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
+ is an attempt to pack an array of atomic objects.
+
+ * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
+
+2003-10-27 Pascal Obry <obry@gnat.com>
+
+ * g-dirope.adb:
+ (Basename): Check for drive letters in a pathname only on DOS based OS.
+
+2003-10-27 Vincent Celier <celier@gnat.com>
+
+ * make.adb:
+ (Gnatmake): When unable to change dir to the object dir, display the
+ content of the parent dir of the obj dir, to try to understand why this
+ happens.
+
+2003-10-27 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-10-27 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch12.adb:
+ (Inline_Instance_Body): Indicate that the save/restore of use_clauses
+ should not be done in Save/Restore_Scope_Stack, because it is performed
+ locally.
+
+ * sem_ch8.adb:
+ (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
+ whether use clauses should be removed/restored.
+
+ * sem_ch8.ads:
+ (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
+ whether use clauses should be removed/restored.
+
+2003-10-26 Andreas Jaeger <aj@suse.de>
+
+ * Makefile.in: Remove duplicated lines.
+
+2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
+ minimize the differences with ACT tree.
+
+ * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
+ gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
+ Gnatvsn.Gnat_Static_Version_String to reduce differences between
+ ACT and FSF trees.
+
+2003-10-24 Pascal Obry <obry@gnat.com>
+
+ PR ada/12014
+ * adadecode.c (ostrcpy): New function.
+ (__gnat_decode): Use ostrcpy of strcpy.
+ (has_prefix): Set first parameter a const.
+ (has_suffix): Set first parameter a const.
+ Update copyright notice. Fix source name in header.
+ Removes a trailing space.
+
+2003-10-24 Jose Ruiz <ruiz@act-europe.fr>
+
+ * exp_disp.adb:
+ Remove the test against being in No_Run_Time_Mode before generating a
+ call to Register_Tag. It is redundant with the test against the
+ availability of the function Register_Tag.
+
+2003-10-24 Vincent Celier <celier@gnat.com>
+
+ * g-catiio.adb: (Month_Name): Correct spelling of February
+
+ * make.adb: (Mains): New package
+ (Initialize): Call Mains.Delete
+ (Gnatmake): Check that each main on the command line is a source of a
+ project file and, if there are several mains, each of them is a source
+ of the same project file.
+ (Gnatmake): When a foreign language is specified in attribute Languages,
+ no main is specified on the command line and attribute Mains is not
+ empty, only build the Ada main. If there is no Ada main, just compile
+ the Ada sources and their closure.
+ (Gnatmake): If a main is specified on the command line with directory
+ information, check that the source exists and, if it does, that the path
+ is the actual path of a source of a project.
+
+ * prj-env.adb:
+ (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
+ Full_Path is True, return the full path instead of the simple file name.
+ (Project_Of): New function
+
+ * prj-env.ads:
+ (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
+ defaulted to False.
+ (Project_Of): New function
+
+2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.generic:
+ Ensure objects of main project are always checked and rebuilt if needed.
+ Set CC to gcc by default.
+ Prepare new handling of link by creating a global archive (not activated
+ yet).
+
+ * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
+ stringt.h: Update copyright notice. Remove trailing blanks.
+ Fix source name in header.
+
+2003-10-24 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch12.adb: Minor reformatting
+
+ * sem_ch3.adb:
+ Minor reformatting (including new function return style throughout)
+
+ * sem_ch3.ads:
+ Minor reformatting (including new function return style throughout)
+
+2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
+
+ * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
+ stringt.h: Update copyright notice. Remove trailing blanks.
+ Fix source name in header.
+
+2003-10-24 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2003-10-23 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
+ stringt.h: Convert to ISO C90 declarations and definitions.
+
+2003-10-23 Thomas Quinot <quinot@act-europe.fr>
+
+ PR ada/11978
+ * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
+ External_Tag attribute definition clauses.
+
+2003-10-23 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/7613
+ * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
+ child unit, generate a fully qualified name to avoid spurious errors
+ when the context contains renamings of different child units with
+ the same simple name.
+
+ * exp_dbug.ads: Add documentation on name qualification for renamings
+ of child units.
+
+2003-10-23 Robert Dewar <dewar@gnat.com>
+
+ * g-regpat.ads, g-regpat.adb: Minor reformatting
+
+2003-10-23 Jose Ruiz <ruiz@act-europe.fr>
+
+ * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
+
+2003-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
+ Machine call.
+
+ * urealp.h: (Machine): Update to proper definition.
+
+2003-10-23 Arnaud Charlet <charlet@act-europe.fr>
+
+ * init.c, adaint.c: Minor reformatting.
+
+2003-10-23 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * adaint.c (w32_epoch_offset): Define static const at file level.
+ (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
+ rather than t_create, t_access in call to GetFileTime. Use union
+ to convert between FILETIME and unsigned long long.
+ (__gnat_file_time_name): Test for invalid file handle.
+ (__gnat_set_filetime_name): Support win32 targets using
+ w32api SetFileTime.
+
+2003-10-22 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
+
+ * ctrl_c.c (__gnat_int_handler): Remove declaration.
+
+ * decl.c (creat_concat_name): Const-ify prefix.
+
+ * adaint.c: Include ctype.h if __MINGW32__.
+ (__gnat_readlink): Mark arguments as possibly unused.
+ (__gnat_symlink): Likewise.
+ (__gnat_is_symbolic_link): Likewise.
+ (__gnat_portable_spawn): Likewise. Cast last arg of spawnvp to match
+ declaration
+ (__gnat_file_time_name): Don't declare struct stat statbuf when
+ not needed.
+ (__gnat_is_absolute_path): Add parenthesis around condition of
+ 'if' statement to avoid warning.
+ (__gnat_plist_init): Specify void as parameter.
+ (plist_enter): Likewise.
+ (plist_leave): Likewise.
+ (remove_handle): Make static. Initialize prev.
+
+2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR ada/10110
+ * Makefile.in: Disable build of gnatpsta.
+ * cstreams.c (__gnat_full_name): Minor improvements and clean up
+ of previous change.
+
+2003-10-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * tracebak.c (MAX): Avoid redefinition warning.
+
+ * init.c [sgi] (__gnat_error_handler): Remove i, unused.
+ Change msg to const char *.
+ (__gnat_install_handler): Remove ss, unused.
+ [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
+ to const char *.
+ * cstreams.c (__gnat_full_name): Declare p only when used.
+ (__gnat_full_name) [sgi] Return buffer.
+
+2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
+
+ * mingw32.h: New file.
+ * gnat_wrapper.adb: New file.
+
+2003-10-22 Jerome Roussel <roussel@act-europe.fr>
+
+ * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
+ string match a pre compiled regular expression (the corresponding
+ version of the function working on a raw regular expression)
+ Fix typos in various comments
+ Update copyright notice in spec
+
+2003-10-21 Gary Dismukes <dismukes@gnat.com>
+
+ * exp_ch3.adb:
+ (Component_Needs_Simple_Initialization): Return False when the type is a
+ packed bit array. Revise spec comments to document this case.
+
+ * exp_prag.adb:
+ (Expand_Pragma_Import): Set any expression on the imported object to
+ empty to avoid initializing imported objects (in particular this
+ covers the case of zero-initialization of bit arrays).
+ Update copyright notice.
+
+2003-10-21 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch12.adb:
+ (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
+ a subunit is missing.
+ (Instantiate_Subprogram_Body): If body of function is missing, set type
+ of return expression explicitly in dummy body, to prevent cascaded
+ errors when a subunit is missing.
+ Fixes PR 5677.
+
+ * sem_ch3.adb:
+ (Access_Subprogram_Declaration): Verify that return type is valid.
+ Fixes PR 8693.
+
+ * sem_elab.adb:
+ (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
+ generic.
+ Fixes PR 12318.
+
+ * sem_util.adb:
+ (Corresponding_Discriminant): If the scope of the discriminant is a
+ private type without discriminant, use its full view.
+ Fixes PR 8247.
+
+2003-10-21 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
+ 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
+ 3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
+ 55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
+ 56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
+ 59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
+ 5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
+ 5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
+ 5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
+ 5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
+ 5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
+ 5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
+ 5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
+ 5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
+ 7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
+ a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
+ a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
+ a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
+ bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
+ erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
+ err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
+ g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
+ g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
+ g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
+ g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
+ g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
+ g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
+ gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
+ g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
+ g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
+ i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
+ prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
+ prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
+ s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
+ s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
+ s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
+ s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
+ s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
+ s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
+ s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
+ s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
+ socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
+ s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
+ s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
+ s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
+ styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
+ s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
+ tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
+ vms_conv.ads, vms_conv.adb, vms_data.ads,
+ vxaddr2line.adb: Files added. Merge with ACT tree.
+
+ * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
+ 5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
+ 5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
+ 5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
+ g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
+ s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
+ s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
+ s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
+ s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
+ s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
+
+ * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
+ 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
+ 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
+ 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
+ 4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
+ 4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
+ 4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
+ 4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
+ 51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
+ 53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
+ 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
+ 5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
+ 5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
+ 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
+ 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
+ 5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
+ 5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
+ 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
+ 5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
+ 5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
+ 5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
+ 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
+ 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
+ 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
+ 5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
+ 5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
+ 5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
+ 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
+ 5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
+ 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
+ 5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
+ 5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
+ 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
+ 5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
+ 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
+ 7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
+ 7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
+ a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
+ a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
+ a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
+ a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
+ a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
+ ali.adb, ali.ads, ali-util.adb, ali-util.ads,
+ a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
+ a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
+ a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
+ a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
+ a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
+ a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
+ a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
+ a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
+ a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
+ a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
+ a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
+ a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
+ atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
+ a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
+ a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
+ bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
+ checks.adb, checks.ads, cio.c, comperr.adb,
+ comperr.ads, csets.adb, cstand.adb, cstreams.c,
+ debug_a.adb, debug_a.ads, debug.adb, decl.c,
+ einfo.adb, einfo.ads, errout.adb, errout.ads,
+ eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
+ expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
+ exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
+ exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
+ exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
+ exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
+ exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
+ exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
+ exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
+ fe.h, fmap.adb, fmap.ads, fname.adb,
+ fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
+ freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
+ g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
+ g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
+ g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
+ g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
+ g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
+ g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
+ g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
+ g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
+ g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
+ g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
+ g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
+ g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
+ gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
+ gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
+ gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
+ gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
+ gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
+ g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
+ g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
+ g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
+ g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
+ g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
+ g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
+ g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
+ g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
+ i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
+ i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
+ inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
+ itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
+ layout.adb, lib.adb, lib.ads, lib-list.adb,
+ lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
+ lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
+ link.c, live.adb, make.adb, make.ads,
+ Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
+ mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
+ mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
+ misc.c, mkdir.c, mlib.adb, mlib.ads,
+ mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
+ mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
+ namet.adb, namet.ads, namet.h, nlists.ads,
+ nlists.h, nmake.adt, opt.adb, opt.ads,
+ osint.adb, osint.ads, osint-b.adb, osint-c.adb,
+ par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
+ par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
+ par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
+ par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
+ prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
+ prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
+ prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
+ prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
+ prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
+ prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
+ prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
+ prj-util.adb, prj-util.ads, raise.c, raise.h,
+ repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
+ rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
+ s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
+ s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
+ scans.ads, scn.adb, scn.ads, s-crc32.adb,
+ s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
+ sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
+ sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
+ sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
+ sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
+ sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
+ sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
+ sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
+ sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
+ sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
+ sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
+ sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
+ s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
+ s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
+ s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
+ s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
+ s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
+ s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
+ s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
+ sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
+ sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
+ sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
+ s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
+ s-memory.adb, s-memory.ads, snames.adb, snames.ads,
+ snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
+ s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
+ s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
+ s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
+ s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
+ s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
+ s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
+ s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
+ s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
+ s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
+ s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
+ s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
+ s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
+ s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
+ s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
+ s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
+ s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
+ stringt.adb, stringt.ads, stringt.h, style.ads,
+ stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
+ s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
+ s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
+ switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
+ s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
+ table.adb, table.ads, targparm.adb, targparm.ads,
+ targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
+ trans.c, tree_io.adb, treepr.adb, treeprs.adt,
+ ttypes.ads, types.ads, types.h, uintp.adb,
+ uintp.ads, uintp.h, uname.adb, urealp.adb,
+ urealp.ads, urealp.h, usage.adb, utils2.c,
+ utils.c, validsw.adb, validsw.ads, widechar.adb,
+ xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
+ xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
+ einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
+ gnatvsn.ads: Merge with ACT tree.
+
+ * gnatvsn.adb: Rewritten in a simpler and more efficient way.
+
+2003-10-20 Mark Mitchell <mark@codesourcery.com>
+
+ * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
+ (gnat_ug_vmx.info): Likewise.
+ (gnat_ug_vxw.info): Likewise.
+ (gnat_ug_wnt.info): Likewise.
+ (gnat_rm.info): Likewise.
+ (gnat-style.info): Likewise.
+
+ * Make-lang.in (ada.install-info): Remove target.
+ (info): New target.
+ (install-info): Likewise.
+ (gnat_ug_unx.info): Simplify rule.
+ (gnat_ug_vmx.info): Likewise.
+ (gnat_ug_vxw.info): Likewise.
+ (gnat_ug_wnt.info): Likewise.
+ (gnat_rm.info): Likewise.
+ (gnat-style.info): Likewise.
+
+2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Make-lang.in: Replace uses of $(target_alias) with
+ $(target_noncanonical).
+ * ada/Makefile.in: Remove unused mention of $(target_alias).
+
+2003-10-06 Mark Mitchell <mark@codesourcery.com>
+
+ * Make-lang.in (ada.info): Replace with ...
+ (info): ... this.
+ (ada.dvi): Replace with ...
+ (dvi): ... this.
+
+2003-09-29 Zack Weinberg <zack@codesourcery.com>
+
+ * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
+ initialize dconstp5 and dconstmp5.
+
+2003-09-28 Richard Henderson <rth@redhat.com>
+
+ * trans.c (tree_transform): Update call to expand_asm_operands.
+
+2003-09-21 Richard Henderson <rth@redhat.com>
+
+ * trans.c, utils.c: Revert.
+
+2003-09-21 Richard Henderson <rth@redhat.com>
+
+ * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
+ change to const.
+
+2003-09-04 Michael Matz <matz@suse.de>
+
+ * misc.c: Include "target.h".
+ * Make-lang.in (misc.o): Add dependency on target.h.
+
+2003-09-03 DJ Delorie <dj@redhat.com>
+
+ * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
+ hook.
+
+2003-08-30 Zack Weinberg <zack@codesourcery.com>
+
+ * Makefile.in: Update substitutions to match changes to
+ configure. Use include directives instead of @-insertions
+ to read in host and target fragments. Add a rule to
+ regenerate ada/Makefile.
+
+2003-07-18 Neil Booth <neil@daikokuya.co.uk>
+
+ * lang-options.h: Remove.
+ * lang.opt: Add help text.
+
+2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
+
+ * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
+ calls.
+
+2003-07-06 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (gnat_handle_option): Don't handle filenames.
+
+2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Make-lang.in: Replace PWD with PWD_COMMAND.
+ * Makefile.adalib: Likewise.
+ * Makefile.in: Likewise.
+
+2003-07-04 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * misc.c (gnat_argv): Revert last change.
+ (gnat_handle_option, gnat_init_options): Copy arguments.
+
+2003-07-03 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (gnat_argv): Make const.
+
+2003-07-02 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (save_argc, save_argv): Keep non-static!
+
+2003-07-02 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (save_argc, save_argv): Make static.
+ (gnat_init_options): New prototype.
+ (gnat_init_options): Update.
+
+2003-07-01 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * gnat_ug.texi: Remove unlikely characters from @vars.
+ * gnat_ug_vms.texi: Regenerate.
+
+2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * misc.c (record_code_position): Adjust emit_note call.
+
+2003-06-26 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (gnat_handle_option): Don't check for missing arguments.
+
+2003-06-20 Nathan Sidwell <nathan@codesourcery.com>
+
+ * utils.c (end_subprog_body): Adjust expand_function_end call.
+
+2003-06-16 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
+ Bind_Main_Program.
+
+2003-06-15 Neil Booth <neil@daikokuya.co.uk>
+
+ * lang.opt: Declare Ada.
+ * misc.c (gnat_init_options): Update.
+
+2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
+
+ * utils.c (begin_subprog_body): Adjust init_function_start call.
+
+2003-06-14 Neil Booth <neil@daikokuya.co.uk>
+
+ * Make-lang.in: Update to use options.c and options.h.
+ * misc.c: Include options.h not aoptions.h.
+ (gnat_handle_option): Abort on unrecognized switch.
+ (gnat_init_options): Request Ada switches.
+
+2003-06-14 Neil Booth <neil@daikokuya.co.uk>
+
+ * lang.opt: Add -Wall.
+ * misc.c (gnat_handle_option): Handle it.
+
+2003-06-12 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (gnat_handle_option): Fix warnings.
+
+2003-06-11 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
+
+2003-06-11 Neil Booth <neil@daikokuya.co.uk>
+
+ * Make-lang.in: Update to handle command-line options.
+ * lang.opt: New file.
+ * misc.c: Include aoptions.h.
+ (cl_options_count, cl_options): Remove.
+ (gnat_handle_option): New.
+ (gnat_decode_option): Remove.
+ (LANG_HOOKS_DECODE_OPTION): Remove.
+ (LANG_HOOKS_HANDLE_OPTION): Override.
+
+2003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * init.c, misc.c, trans.c, utils.c: Remove dead code.
+
+2003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Makefile.in: Replace "host_canonical" with "host" for autoconf
+ substitution.
+
+2003-06-08 Neil Booth <neil@daikokuya.co.uk>
+
+ * Make-lang.in: Update.
+ * misc.c: Include opts.h. Define cl_options_count and cl_options.
+
+2003-06-07 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (gnat_init_options): Update.
+
+2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * Make-lang.in (ada/b_gnatb.o-warn): Remove.
+ * bindgen.adb (Gen_Main_C): Mark ensure_reference with
+ __attribute__ ((__unused__)).
+
+2003-06-05 Jan Hubicka <jh@suse.cz>
+
+ * Make-lang.in: Add support for stageprofile and stagefeedback
+
+2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
+ (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
+
+2003-06-04 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
+ Remove non-VMS directive.
+ (Switches for gnatlbr, Optimization Levels): Remove non-VMS
+ alternatives.
+ (Examples of gnatls Usage): Remove VMS alternative.
+
+2003-06-04 Olivier Hainque <hainque@act-europe.fr>
+
+ PR ada/9953
+ * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
+ and turn ZCX_By_Default back to False since the underlying support
+ is not quite there yet.
+
+2003-06-01 Andreas Jaeger <aj@suse.de>
+
+ * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
+ and ROUND_TYPE_SIZE_UNIT.
+
+2003-05-22 Geert Bosch <bosch@gnat.com>
+
+ * gnat_rm.texi : Remove reference to Ada Core Technologies.
+
+2003-05-03 Nathan Sidwell <nathan@codesourcery.com>
+
+ * trans.c (tree_transform): Use location_t and input_location
+ directly.
+ (build_unit_elab): Likewise.
+ * utils.c (create_label_decl): Likewise.
+
+2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
+
+ * trans.c (tree_transform, build_unit_elab,
+ set_lineno): Rename lineno to input_line.
+ * utils.c (pushdecl, create_label_decl, begin_subprog_body,
+ end_subprog_body): Likewise.
+ * utils2.c (build_call_raise): Likewise.
+
+2003-05-01 Laurent Guerby <guerby@acm.org>
+
+ PR ada/10546
+ * 5iosinte.ads: Increase pthread_cond_t size to match recent
+ LinuxThread and NPTL version, merge from ACT.
+
+2003-04-28 Zack Weinberg <zack@codesourcery.com>
+
+ * utils.c (convert): No need to clear TREE_CST_RTL.
+
+2003-04-23 Geert Bosch <bosch@gnat.com>
+
+ * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
+ 1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
+ 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
+ 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
+ 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
+ 4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
+ 4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
+ 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
+ 4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
+ 4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
+ 4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
+ 4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
+ 52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
+ 5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
+ 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
+ 5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
+ 5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
+ 5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
+ 5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
+ 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
+ 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
+ 5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
+ 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
+ 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
+ 5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
+ 5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
+ 5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
+ 5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
+ 5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
+ 5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
+ 5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
+ 5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
+ 5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
+ 5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
+ 5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
+ 5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
+ 5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
+ 5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
+ 5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
+ 5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
+ 5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
+ 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
+ 5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
+ 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
+ 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
+ 7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
+ 7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
+ 9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
+ a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
+ a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
+ a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
+ a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
+ a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
+ a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
+ a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
+ a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
+ a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
+ a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
+ a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
+ a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
+ a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
+ a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
+ a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
+ a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
+ a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
+ a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
+ a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
+ a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
+ a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
+ a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
+ a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
+ a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
+ a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
+ a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
+ a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
+ a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
+ a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
+ a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
+ a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
+ a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
+ a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
+ a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
+ a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
+ a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
+ a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
+ a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
+ a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
+ a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
+ a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
+ a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
+ a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
+ a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
+ a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
+ a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
+ a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
+ a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
+ a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
+ a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
+ a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
+ a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
+ a-wttest.ads, ada-tree.h, ada.ads, ada.h,
+ adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
+ ali.adb, ali.ads, alloc.ads, argv.c,
+ atree.adb, atree.ads, atree.h, aux-io.c,
+ back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
+ binde.adb, binde.ads, binderr.adb, binderr.ads,
+ bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
+ butil.adb, butil.ads, cal.c, calendar.ads,
+ casing.adb, casing.ads, ceinfo.adb, checks.adb,
+ checks.ads, cio.c, comperr.adb, comperr.ads,
+ config-lang.in, csets.adb, csets.ads, csinfo.adb,
+ cstand.adb, cstand.ads, cuintp.c, debug.adb,
+ debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
+ dec-io.ads, dec.ads, deftarg.c, directio.ads,
+ einfo.adb, einfo.ads, elists.adb, elists.ads,
+ elists.h, errno.c, errout.adb, errout.ads,
+ eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
+ exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
+ exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
+ exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
+ exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
+ exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
+ exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
+ exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
+ exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
+ exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
+ exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
+ exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
+ exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
+ exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
+ exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
+ fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
+ fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
+ freeze.adb, freeze.ads, frontend.adb, frontend.ads,
+ g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
+ g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
+ g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
+ g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
+ g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
+ g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
+ g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
+ g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
+ g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
+ g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
+ g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
+ g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
+ g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
+ g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
+ g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
+ g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
+ g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
+ g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
+ g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
+ g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
+ g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
+ g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
+ get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
+ gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
+ gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
+ gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
+ gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
+ gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
+ gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
+ gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
+ hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
+ i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
+ i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
+ i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
+ i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
+ i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
+ i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
+ inline.adb, inline.ads, interfac.ads, ioexcept.ads,
+ itypes.adb, itypes.ads, krunch.adb, krunch.ads,
+ layout.adb, layout.ads, lib-list.adb, lib-load.adb,
+ lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
+ lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
+ lib.adb, lib.ads, live.adb, live.ads,
+ machcode.ads, make.adb, make.ads, makeusg.adb,
+ makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
+ mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
+ memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
+ mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
+ mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
+ mlib.ads, namet.adb, namet.ads, nlists.adb,
+ nlists.ads, opt.adb, opt.ads, osint-b.adb,
+ osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
+ osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
+ osint.ads, output.adb, output.ads, par-ch10.adb,
+ par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
+ par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
+ par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
+ par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
+ par-tchk.adb, par-util.adb, par.adb, par.ads,
+ prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
+ prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
+ prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
+ prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
+ prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
+ prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
+ prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
+ prj.adb, prj.ads, repinfo.adb, repinfo.ads,
+ restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
+ rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
+ s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
+ s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
+ s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
+ s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
+ s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
+ s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
+ s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
+ s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
+ s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
+ s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
+ s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
+ s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
+ s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
+ s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
+ s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
+ s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
+ s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
+ s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
+ s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
+ s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
+ s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
+ s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
+ s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
+ s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
+ s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
+ s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
+ s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
+ s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
+ s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
+ s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
+ s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
+ s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
+ s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
+ s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
+ s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
+ s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
+ s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
+ s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
+ s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
+ s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
+ s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
+ s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
+ s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
+ s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
+ s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
+ s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
+ s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
+ s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
+ s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
+ s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
+ s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
+ s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
+ s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
+ s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
+ s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
+ s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
+ s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
+ s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
+ s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
+ s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
+ s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
+ s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
+ s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
+ s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
+ s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
+ s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
+ s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
+ s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
+ s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
+ s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
+ s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
+ s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
+ s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
+ s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
+ s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
+ s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
+ s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
+ s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
+ s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
+ s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
+ s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
+ s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
+ s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
+ s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
+ s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
+ s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
+ s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
+ s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
+ s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
+ s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
+ s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
+ s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
+ s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
+ scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
+ sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
+ sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
+ sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
+ sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
+ sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
+ sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
+ sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
+ sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
+ sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
+ sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
+ sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
+ sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
+ sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
+ sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
+ sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
+ sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
+ sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
+ sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
+ sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
+ sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
+ snames.ads, sprint.adb, sprint.ads, stand.adb,
+ stand.ads, stringt.adb, stringt.ads, style.adb,
+ style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
+ switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
+ switch-m.ads, switch.adb, switch.ads, system.ads,
+ table.adb, table.ads, targparm.adb, targparm.ads,
+ tbuild.adb, tbuild.ads, text_io.ads, trans.c,
+ tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
+ tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
+ ttypef.ads, ttypes.ads, types.adb, types.ads,
+ uintp.adb, uintp.ads, uname.adb, uname.ads,
+ unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
+ usage.adb, usage.ads, validsw.adb, validsw.ads,
+ widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
+ xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
+ xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
+ formatting and other trivial changes from ACT.
+
+2003-04-12 Zack Weinberg <zack@codesourcery.com>
+
+ * gigi.h, utils2.c (build_constructor):
+ Rename gnat_build_constructor. Use build_constructor.
+ * decl.c (gnat_to_gnu_entity)
+ * trans.c (tree_transform, pos_to_constructor, extract_values)
+ * ada/utils.c (build_template, convert_to_fat_pointer, convert)
+ (unchecked_convert)
+ * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
+ (fill_vms_descriptor):
+ Update to match.
+
+2003-04-06 Zack Weinberg <zack@codesourcery.com>
+
+ * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
+ * misc.c (gnat_tree_size): New function.
+ (LANG_HOOKS_TREE_SIZE): Override.
+
+2003-04-03 Jason Merrill <jason@redhat.com>
+
+ * misc.c (gnat_adjust_rli): #if 0.
+
+2003-03-31 Geert Bosch <bosch@gnat.com>
+
+ PR ada/10020
+ * link.c : Fix misspelled "const" keyword
+
+2003-03-23 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/7086
+ * utils2.c: Adjust calls to put_var_into_stack.
+
+2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
+
+2003-03-08 Neil Booth <neil@daikokuya.co.uk>
+
+ * misc.c (gnat_init): Update for new prototype.
+
+2003-03-05 Olivier Hainque <hainque@gnat.com>
+
+ ada/9961
+ * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
+ warning, and fix return type for the IN_RTS && !SJLJ case.
+
+2003-03-04 Tom Tromey <tromey@redhat.com>
+
+ * Make-lang.in (ada.tags): New target.
+
+2003-03-04 Olivier Hainque <hainque@act-europe.fr>
+
+ ada/9911
+ * a-except.adb (Unwind_RaiseException): Import a GNAT specific
+ wrapper, which name remains constant whatever underlying GCC
+ scheme.
+
+ * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
+ the stable interface needed for a-except.
+
+2003-03-02 Andreas Jaeger <aj@suse.de>
+
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Regenerate.
+
+2003-03-02 Laurent Guerby <guerby@acm.org>
+
+ * Makefile.in (install-gnatlib): Match previous change there
+ so it works.
+
+2003-02-28 Andreas Schwab <schwab@suse.de>
+
+ * Make-lang.in (install-gnatlib): Change to ada directory before
+ running make instead of using ada/Makefile directly.
+
+2003-02-18 Ben Elliston <bje@redhat.com>
+
+ Part of PR ada/9406
+ * gnat_ug.texi (Binder output file): Grammar fix.
+
+2003-02-18 Ben Elliston <bje@redhat.com>
+
+ PR other/7350
+ * 5qtaprop.adb (Sleep): Fix typo in comment.
+
+2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Regenerate.
+
+2003-02-03 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
+ be created if necessary.
+ (ada.install-common): Let $(DESTDIR)$(bindir) be created
+ if necessary. Remove erroneous and redundant gnatchop
+ installation commands. Test for gnatdll before attempting
+ to install it.
+ (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
+ and gnatdll from all plausible locations.
+
+2003-02-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * utils2.c (build_unary_op): Don't check flag_volatile.
+ * gnat_ug.texi: Remove -fvolatile from example.
+ * gnat_ug_vxw.texi: Likewise.
+
+2003-01-29 Laurent Guerby <guerby@acm.org>
+
+ PR ada/8344
+ * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
+ * Makefile.in: match previous change.
+ * Make-lang.in: match previous change.
+
+2003-01-29 Joel Sherrill <joel@OARcorp.com>
+
+ * 5rosinte.ads: Add SIGXCPU.
+ * 5rtpopsp.adb: New file.
+ * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
+ * Makefile.in: Recognize more RTEMS targets and add the RTEMS
+ specific file 5rtpopsp.adb.
+ * adaint.h: Add include of <stdio.h> when target is RTEMS. This
+ is likely needed for all newlib targets.
+ * init.c: Add RTEMS specific version of __gnat_initialize().
+
+2003-01-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
+
+2003-01-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * init.c (__gnat_error_handler): Make msg const.
+
+ * gmem.c (convert_addresses): Move declaration ...
+ * adaint.h: ... here.
+ * adaint.c (convert_addresses): Adapt addrs type to match
+ prototype.
+
+ * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
+
+2003-01-24 Andreas Schwab <schwab@suse.de>
+
+ * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
+ size_t to avoid warning.
+
+2003-01-21 Zack Weinberg <zack@codesourcery.com>
+
+ * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
+
+2003-01-09 Geoffrey Keating <geoffk@apple.com>
+
+ * gnat_rm.texi: Remove RCS version number.
+
+ * ada-tree.h (union lang_tree_node): Add chain_next option.
+
+2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
+
+ * Make-lang.in (ada.install-info, ada.install-common,
+ ada.uninstall): Prepend $(DESTDIR) to the destination
+ directory in all (un)installation commands.
+ * Makefile.in (install-gnatlib, install-rts): Ditto.
+
+2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gnat_rm.texi, gnat_ug.texi: Use @copying.
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Regenerate.
+
+2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gnat_rm.texi: Include gcc-common.texi. Use GCC version number
+ only.
+ * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
+ $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
+ $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
+ ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
+ ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
+ $(srcdir)/doc/include/gcc-common.texi.
+
+2002-12-15 Geert Bosch <bosch@gnat.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
+
+2002-12-14 Geert Bosch <bosch@gnat.com>
+
+ PR ada/5690
+ * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
+ case of a body created for a Renaming_As_Body, on which
+ conformance checks are not performed.
+
+2002-11-30 Zack Weinberg <zack@codesourcery.com>
+
+ * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
+ utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
+ not already included.
+ * Make-lang.in: Update dependencies.
+
+2002-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
+ * adaint.c (__gnat_tmp_name): Better, but good enough for now,
+ solution to buffer overflow bug on GNU/Linux.
+
+2002-11-14 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/5856
+ PR ada/6919
+ * bindgen.adb: Remove all references to Public_Version.
+ * comperr.adb: Remove all references to Public_Version and
+ GNATPRO_Version; correct bug reporting instructions.
+ * comperr.ads: Change to match bug box.
+ * gnatvsn.ads: Remove all references to Public version and
+ GNATPRO version.
+
+2002-11-13 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/6919
+ * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
+ GNU/Linux.
+
+ PR ada/6558
+ * config-lang.in: Remove diff_excludes.
+
+2002-11-05 Graham Stott <graham.stott@btinternet.com>
+
+ PR ada/8358
+ * trans.c (gnu_pending_elaboration_lists): New GC root.
+ (build_unit_elab): Use..
+
+2002-10-30 Geert Bosch <bosch@gnat.com>
+
+ PR ada/6558
+ * misc.c : Include optabs.h
+
+ * Make-lang.in (misc.o): Add dependency on optabs.h
+
+2002-10-29 Geert Bosch <bosch@gnat.com>
+
+ PR ada/6558
+ * Make-lang.in (gnatbind): Depend on CONFIG_H
+
+2002-10-29 Geert bosch <bosch@gnat.com>
+
+ PR ada/6558
+ * misc.c: Unrevert misc.c (1.13)
+
+2002-10-28 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
+ maintainership comments.
+
+2002-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/5904
+ * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
+ 5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
+ 5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
+ 7staprop.adb: Correct statements in comments about
+ maintainership of GNAT.
+
+ PR ada/5904
+ * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
+ gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
+ osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
+ osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
+ s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
+ s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
+ sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
+ switch-c.ads switch-m.adb switch-m.ads: Correct statements in
+ comments about maintainership of GNAT.
+
+ PR ada/6919 (forward port of patch for PR ada/5904)
+ * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
+ 4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
+ 4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
+ 4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
+ 4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
+ 4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
+ 4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
+ 52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
+ 5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
+ 5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
+ 5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
+ 5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
+ 5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
+ 5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
+ 5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
+ 5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
+ 5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
+ 5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
+ 5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
+ 5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
+ 5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
+ 5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
+ 5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
+ 5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
+ 5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
+ 5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
+ 5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
+ 5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
+ 7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
+ a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
+ a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
+ a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
+ a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
+ a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
+ a-except.adb a-except.ads a-excpol.adb a-exctra.adb
+ a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
+ a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
+ a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
+ a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
+ a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
+ a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
+ a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
+ a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
+ a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
+ a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
+ a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
+ a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
+ a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
+ a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
+ a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
+ a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
+ a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
+ a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
+ a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
+ a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
+ a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
+ a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
+ a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
+ a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
+ a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
+ a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
+ a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
+ a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
+ a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
+ a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
+ a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
+ a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
+ a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
+ adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
+ alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
+ back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
+ binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
+ bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
+ ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
+ csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
+ cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
+ debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
+ einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
+ errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
+ exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
+ exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
+ exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
+ exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
+ exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
+ exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
+ exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
+ exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
+ exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
+ exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
+ exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
+ exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
+ exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
+ final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
+ fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
+ freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
+ g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
+ g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
+ gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
+ gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
+ gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
+ gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
+ gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
+ gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
+ i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
+ i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
+ i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
+ i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
+ impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
+ itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
+ lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
+ lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
+ lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
+ lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
+ makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
+ namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
+ nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
+ osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
+ par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
+ par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
+ par-endh.adb par-labl.adb par-load.adb par-prag.adb
+ par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
+ prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
+ prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
+ prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
+ prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
+ prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
+ prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
+ repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
+ rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
+ s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
+ s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
+ s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
+ s-direio.adb s-direio.ads s-except.ads s-exctab.adb
+ s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
+ s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
+ s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
+ s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
+ s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
+ s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
+ s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
+ s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
+ s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
+ s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
+ s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
+ s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
+ s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
+ s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
+ s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
+ s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
+ s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
+ s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
+ s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
+ s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
+ s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
+ s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
+ s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
+ s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
+ s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
+ s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
+ s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
+ s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
+ s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
+ s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
+ s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
+ s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
+ s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
+ s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
+ s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
+ s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
+ s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
+ s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
+ s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
+ s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
+ s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
+ s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
+ s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
+ s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
+ s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
+ s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
+ s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
+ s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
+ s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
+ s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
+ s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
+ s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
+ s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
+ s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
+ s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
+ s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
+ s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
+ s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
+ s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
+ s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
+ s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
+ s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
+ s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
+ s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
+ s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
+ s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
+ s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
+ s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
+ s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
+ s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
+ s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
+ s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
+ s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
+ s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
+ s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
+ s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
+ s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
+ s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
+ scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
+ sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
+ sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
+ sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
+ sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
+ sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
+ sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
+ sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
+ sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
+ sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
+ sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
+ sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
+ sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
+ sem_type.adb sem_type.ads sem_util.adb sem_util.ads
+ sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
+ sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
+ sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
+ sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
+ snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
+ stringt.ads stringt.h style.adb style.ads stylesw.adb
+ stylesw.ads switch.adb switch.ads sysdep.c system.ads
+ table.adb table.ads targparm.adb targparm.ads targtyps.c
+ tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
+ tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
+ treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
+ types.adb types.ads types.h uintp.adb uintp.ads uintp.h
+ uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
+ usage.ads utils.c utils2.c validsw.adb validsw.ads
+ widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
+ xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
+ xtreeprs.adb: Correct statements in comments about maintainership
+ of GNAT.
+
+2002-09-23 Zack Weinberg <zack@codesourcery.com>
+
+ * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
+ * Makefile.in (TOOLS_LIBS): Add ../../version.o.
+ * gnatvsn.ads: Gnat_Version_String is now a function.
+ * gnatvsn.adb: New file. When asked for Gnat_Version_String,
+ copy the C version_string into a String and return it.
+ * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
+ gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
+ Remove pragma Ident (Gnat_Version_String). If this was the
+ sole use of package Gnatvsn, remove the with statement too.
+ * gnat1drv.adb: Tweak -gnatv output.
+
+2002-09-17 Richard Henderson <rth@redhat.com>
+
+ * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
+ * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
+ * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
+ (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
+ * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
+ and real_2expN instead of a loop.
+ * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
+ (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
+
+2002-08-25 Andre Leis <a.leis@gmx.net>
+ David Billinghurst <David.Billinghurst@riotinto.com>
+
+ * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
+
+2002-08-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
+ Remove $(CONFIG_H) dependency.
+
+2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
+
+ * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
+
+2002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * adadecode.c (ada_demangle): Use xstrdup in lieu of
+ xmalloc/strcpy.
+ * misc.c (gnat_decode_option): Likewise.
+
+2002-07-15 Florian Weimer <fw@deneb.enyo.de>
+
+ * make.adb (Add_Switch): Make Generic_Position a procedure. The
+ function approach did not work well because of a side effect (the
+ function call could reallocate the table which was being indexed
+ using its result). Fixes ada/4851. [RESURRECTED]
+
+2002-07-01 Roger Sayle <roger@eyesopen.com>
+
+ * ada/utils.c (builtin_function): Accept an additional parameter.
+
+2002-06-28 Andreas Jaeger <aj@suse.de>
+
+ PR ada/7144
+ * Makefile.in: Fix typo in comment, patch by Adrian Knoth
+ <adi@thur.de>.
+
+2002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in (SHELL): Set to @SHELL@.
+
+2002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
+ array size calculation.
+
+2002-06-04 Andreas Jaeger <aj@suse.de>
+
+ * Make-lang.in (gnatbind): Readd rule that has been lost in last
+ patch.
+
+2002-06-03 Geoffrey Keating <geoffk@redhat.com>
+
+ Merge from pch-branch:
+
+ * config-lang.in (gtfiles): Add ada-tree.h.
+ * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
+ (SET_TYPE_MODULUS): New.
+ (SET_TYPE_INDEX): New.
+ (SET_TYPE_DIGITS_VALUE): New.
+ (SET_TYPE_RM_SIZE): New.
+ (SET_TYPE_UNCONSTRAINED_ARRAY): New.
+ (SET_TYPE_ADA_SIZE): New.
+ (SET_TYPE_ACTUAL_BOUNDS): New.
+ (SET_DECL_CONST_CORRESPONDING_VAR): New.
+ (SET_DECL_ORIGINAL_FIELD): New.
+ (TREE_LOOP_ID): Correct typo.
+ * decl.c: Use new macros.
+ * utils.c: Include debug.h, use new macros.
+ * utils2.c: Use new macros.
+
+ * ada-tree.h: Update all macros for new tree description.
+ (struct tree_loop_id): New.
+ (union lang_tree_node): New.
+ (struct lang_decl): New.
+ (struct lang_type): New.
+ * misc.c (gnat_mark_tree): Delete.
+ (LANG_HOOKS_MARK_TREE): Delete.
+ * trans.c (tree_transform): No longer any need to cast
+ for TREE_LOOP_ID.
+
+ * utils.c (struct language_function): New dummy structure.
+
+ * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
+ (misc.o): Likewise.
+ (utils.o): Likewise; also gtype-ada.h.
+ * Make-lang.in (gnat1): Add dependency on s-gtype.
+ (gnatbind): Add dependency on $(CONFIG_H).
+ * utils.c: Correct last #include.
+ (stuct e_stack): Remove unnecessary 'static'.
+ (mark_e_stack): Remove unused prototype.
+
+ * scn-nlit.adb: Remove whitespace after version number to
+ keep lines under 80 chars.
+ * snames.adb: Likewise.
+ * treepr.ads: Likewise.
+
+ * Makefile.in (decl.o): Include gt-ada-<filename>.h.
+ (misc.o): Likewise.
+ (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
+ * config-lang.in (gtfiles): New.
+ * decl.c: Use gengtype for roots.
+ * gigi.h: Use gengtype for roots.
+ * trans.c: Use gengtype for roots.
+ * utils.c: Use gengtype for roots, marking. Include gtype-ada.h.
+
+2002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * misc.c (gnat_init): Adjust setting of internal_error_function.
+
+2002-06-01 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Regenerate.
+
+2002-05-31 Florian Weimer <fw@deneb.enyo.de>
+
+ * 5ntaprop.adb (with System.OS_Primitives): Remove.
+
+ * cstreams.c (max_path_len): Move from here ...
+ * adaint.c (__gnat_max_path_len): ... to here.
+ * adaint.c (__gnat_max_path_len): Declare.
+ * g-dirope.adb (Max_Path): Adjust.
+ * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
+ * i-cstrea.ads (max_path_len): Adjust.
+ * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
+ * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
+
+ * Makefile.in, Make-lang.in: Documentation is now built in
+ Make-lang.in. Store Info and generated Texinfo files in the
+ source directory.
+ * gnat_ug.texi: Remove CVS keywords, correct version number.
+ Set file name correctly.
+
+ * gnat_ug_*.texi: Add.
+ * .cvsignore: Ignore generated Texinfo files.
+
+2002-05-30 Zack Weinberg <zack@codesourcery.com>
+
+ * ada.h: Add MI guard macro.
+ (SUBTYPE): Define constants with an anonymous enum, not static
+ const variables.
+ (IN): Cast constants to appropriate type before use.
+
+2002-05-26 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
+ (experimental)".
+
+2002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Make-lang.in (CP, ECHO): Copy from Makefile.in.
+ (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
+ (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
+ (ALL_ADA_CFLAGS): Likewise.
+ (ADA_INCLUDES): Likewise.
+ Adapt for new working dir.
+ (GNATBIND): Use Makefile.in version.
+ (.SUFFIXES): Copy from Makefile.in.
+ (ada-warn): Define.
+ (.adb.o, .ads.o): Copy from Makefile.in.
+ Added $(OUTPUT_OPTION).
+ (GNAT1_C_OBJS): Moved from Makefile.in.
+ Prefix with ada subdir.
+ (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
+ (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
+ Adapt for new working dir.
+ (EXTRA_GNATBIND_OBJS): Likewise.
+ (ADA_BACKEND): Moved from Makefile.in.
+ Renamed to avoid conflict with global BACKEND.
+ Use that one.
+ (TARGET_ADA_SRCS): Moved from Makefile.in.
+ (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
+ Use ADA_BACKEND.
+ (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
+ (ada_extra_files): Moved from Makefile.in.
+ Prefix with ada subdir.
+ (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
+ (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
+ (ada/nmake.ads): Likewise.
+ (update-sources): Moved from Makefile.in.
+ Prefix with ada subdir.
+ (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
+ (ADA_TREE_H): Likewise.
+ (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
+ (ada/memtrack.o): Likewise.
+ (ada/adadecode.o): Likewise.
+ Update dependencies.
+ (ada/adaint.o): New.
+ (ada/argv.o): Moved from Makefile.in.
+ Prefix with ada subdir.
+ Update dependencies.
+ (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
+ (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
+ (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
+ Prefix with ada subdir.
+ (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
+ (GNAT DEPENDENCIES): Regenerate.
+ * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
+ toplevel Makefile.in.
+ (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
+ (TARGET_ADA_SRCS): Removed.
+ (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
+ (GNATBIND_OBJS): Likewise.
+ (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
+ (BACKEND): Removed.
+ (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
+ (TREE_H): Likewise.
+ (ada_extra_files): Likewise.
+ (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
+ (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
+ (update-sources): Likewise.
+ (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
+ (ADA_TREE_H): Likewise.
+ (adadecoce.o): Likewise.
+ (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
+ (GNAT DEPENDENCIES): Likewise.
+
+2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
+ * Makefile.in: Likewise.
+
+2002-05-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
+ Restore $(CONFIG_H) and prefix.o dependencies.
+ (ada.stage[1-4]): Depend on stage?-start.
+
+ * Makefile.in (b_gnatb.c): Depend on interfac.o.
+
+2002-05-02 Jim Wilson <wilson@redhat.com>
+
+ * utils.c (finish_record_type): Change record_size to record_type.
+
+2001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
+ (ALL_ADA_CFLAGS): Define. Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
+ ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
+
+2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (gnat_parse_file): Update.
+
+2002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (gnat_init): Don't set lang_attribute_common.
+
+2002-04-21 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
+
+2002-04-21 Florian Weimer <fw@deneb.enyo.de>
+
+ * gnat_ug.texi: New file.
+
+ * gnat_rm.texi: Do not include texiplus.texi. Include fdl.texi
+ instead of gfdl.texi
+
+ * xgnatug.adb, ug_words: New files.
+
+ * Makefile.in (doc, dvi): New targets. Build gnat_ug_*,
+ gnat_rm and gnat-style manuals.
+
+2002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * gigi.h (incomplete_type_error): Remove.
+ * utils.c (incomplete_type_error): Remove.
+
+2002-04-16 Mark Mitchell <mark@codesourcery.com>
+
+ * trans.c (tree_transform): Add has_scope argument to
+ expand_start_stmt_expr.
+
+2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * gigi.h (truthvalue_conversion): Rename.
+ * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
+ * trans.c (tree_transform): Update.
+ * utils2.c (truthvalue_conversion): Rename, update.
+ (build_binary_op, build_unary_op): Update.
+
+2002-04-04 Laurent Guerby <guerby@acm.org>
+
+ * make.adb: Implement -margs, remove restriction about file name placement.
+ * makeusg.adb: Documentation update.
+ * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
+ * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
+
+2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
+ (builtin_function): Similarly.
+
+2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * decl.c (gnat_to_gnu_entity): Update.
+ * gigi.h (mark_addressable): Rename.
+ * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
+ * trans.c (tree_transform): Update.
+ * utils.c (create_var_decl): Update.
+ * util2.c (build_binary_op, build_unary_op,
+ fill_vms_descriptor): Update.
+ (mark_addressable): Rename, update.
+
+2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
+ Rename.
+ * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
+ LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
+ * trans.c (tree_transform, convert_with_check): Update.
+ * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
+ Rename.
+
+2002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * gigi.h (finish_incomplete_decl): Rename.
+ * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
+ * utils.c (gnat_init_decl_processing): Don't set hook.
+ (finish_incomplete_decl): Rename.
+
+2002-03-29 Andreas Schwab <schwab@suse.de>
+
+ * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
+ directory.
+
+2001-03-28 Robert Dewar <dewar@gnat.com>
+
+ * checks.ads:
+ (Remove_Checks): New procedure
+
+ * checks.adb:
+ (Remove_Checks): New procedure
+
+ * exp_util.adb:
+ Use new Duplicate_Subexpr functions
+ (Duplicate_Subexpr_No_Checks): New procedure
+ (Duplicate_Subexpr_No_Checks_Orig): New procedure
+ (Duplicate_Subexpr): Restore original form (checks duplicated)
+ (Duplicate_Subexpr): Call Remove_Checks
+
+ * exp_util.ads:
+ (Duplicate_Subexpr_No_Checks): New procedure
+ (Duplicate_Subexpr_No_Checks_Orig): New procedure
+ Add 2002 to copyright notice
+
+ * sem_util.adb: Use new Duplicate_Subexpr functions
+
+ * sem_eval.adb:
+ (Eval_Indexed_Component): This is the place to call
+ Constant_Array_Ref and to replace the value. We simply merge
+ the code of this function in here, since it is now no longer
+ used elsewhere. This fixes the problem of the back end not
+ realizing we were clever enough to see that this was
+ constant.
+ (Expr_Val): Remove call to Constant_Array_Ref
+ (Expr_Rep_Val): Remove call to Constant_Array_Ref
+ Minor reformatting
+ (Constant_Array_Ref): Deal with string literals (patch
+ suggested by Zack Weinberg on the gcc list)
+
+2001-03-28 Ed Schonberg <schonber@gnat.com>
+
+ * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
+ Duplicate_Subexpr_Move_Checks.
+
+ * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
+ Duplicate_Subexpr_Move_Checks.
+
+ * sem_eval.adb: (Constant_Array_Ref): Verify that constant
+ value of array exists before retrieving it (it may a private
+ protected component in a function).
+
+2002-03-28 Geert Bosch <bosch@gnat.com>
+
+ * prj-pp.adb : New file.
+
+ * prj-pp.ads : New file.
+
+2002-03-28 Andreas Jaeger <aj@suse.de>
+
+ * Makefile.in (stamp-sdefault): Fix path for Makefile.
+
+2002-03-28 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (gnat_expand_expr): Move prototype.
+
+2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (insert_default_attributes): Remove.
+
+2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
+ (gnat_init): Don't set hook.
+ (gnat_expand_expr): Fix prototype.
+
+2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (ggc_p): Remove.
+
+2002-03-27 Geert Bosch <bosch@gnat.com>
+
+ * prj-makr.ads, prj-makr.adb : New files.
+
+2002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
+ (lang_mark_tree): Make static, rename.
+
+2002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (maybe_build_cleanup): Remove.
+
+2002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * gigi.h (yyparse): Remove.
+
+2002-03-23 Florian Weimer <fw@deneb.enyo.de>
+
+ From Ben Brosgol <brosgol@gnat.com>
+ * gnat_rm.texi: Sync with ACT version.
+
+2002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
+ (gnat_init): Remove old hook.
+
+2002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
+ (yyparse): Rename gnat_parse_file.
+
+2002-03-14 Geoffrey Keating <geoffk@redhat.com>
+
+ Delete all lines containing "$Revision:".
+ * xeinfo.adb: Don't look for revision numbers.
+ * xnmake.adb: Likewise.
+ * xsinfo.adb: Likewise.
+ * xsnames.adb: Likewise.
+ * xtreeprs.adb: Likewise.
+
+2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * misc.c (gnat_tree_code_type, gnat_tree_code_length,
+ gnat_tree_code_name): Delete.
+ (tree_code_type, tree_code_length, tree_code_name): Define.
+ (gnat_init): Don't try to copy into the various tree_code
+ arrays.
+
+2002-03-11 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (.NOTPARALLEL): Add fake tag.
+
+2002-03-07 Geert Bosch <bosch@gnat.com>
+
+ * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
+ s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
+ switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
+ switch-m.adb, switch-m.ads : New files.
+
+2002-03-07 Geert Bosch <bosch@gnat.com>
+
+ * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
+ 4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
+ 4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
+ 4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
+ 5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
+ 5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
+ 5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
+ 5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
+ 5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
+ 5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
+ 5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
+ 5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
+ 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
+ 5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
+ 5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
+ 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
+ 5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
+ 5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
+ 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
+ 5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
+ 7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
+ Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
+ a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
+ a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
+ a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
+ a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
+ a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
+ a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
+ a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
+ adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
+ atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
+ bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
+ csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
+ einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
+ eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
+ exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
+ exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
+ exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
+ exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
+ exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
+ expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
+ freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
+ g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
+ g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
+ g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
+ g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
+ g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
+ g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
+ gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
+ gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
+ gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
+ i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
+ impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
+ lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
+ lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
+ memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
+ mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
+ nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
+ output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
+ par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
+ prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
+ prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
+ prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
+ rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
+ s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
+ s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
+ s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
+ s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
+ s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
+ s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
+ s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
+ s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
+ s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
+ s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
+ s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
+ s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
+ s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
+ s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
+ s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
+ sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
+ sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
+ sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
+ sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
+ sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
+ sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
+ sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
+ sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
+ sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
+ sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
+ snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
+ stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
+ table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
+ tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
+ treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
+ types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
+ utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
+ xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
+
+ * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
+ g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
+ mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
+ osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
+
+ * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
+ 5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
+
+ * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
+ to mdll-fil.ad[bs] and mdll-util.ad[bs]
+
+ * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
+ from mdllfile.ad[bs] and mdlltool.ad[bs]
+
+2002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
+ lieu of explicit sizeof/sizeof.
+
+2002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (copy_lang_decl): Remove.
+
+2002-02-27 Zack Weinberg <zack@codesourcery.com>
+
+ * misc.c: Delete traditional-mode-related code copied from the
+ C front end but not used, or used only to permit the compiler
+ to link.
+
+2002-02-07 Richard Henderson <rth@redhat.com>
+
+ * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
+ * adaint.h (__gnat_to_gm_time): Update prototype.
+
+2002-01-30 Richard Henderson <rth@redhat.com>
+
+ * trans.c (tree_transform) [N_Loop_Statement]: Use
+ expand_exit_loop_top_cond.
+
+2001-12-23 Richard Henderson <rth@redhat.com>
+
+ * utils.c (end_subprog_body): Push GC context around
+ rest_of_compilation for nested functions.
+
+2001-12-23 Richard Henderson <rth@redhat.com>
+
+ * 5nosinte.ads: Get definition of "int" from Interfaces.C.
+
+2001-12-23 Florian Weimer <fw@deneb.enyo.de>
+
+ * gnat-style.texi (Declarations and Types): Remove ancient style
+ rule which was mandated by code generation issues.
+
+ * gnat-style.texi (header): Add @dircategory, @direntry.
+ (title page): Remove date.
+ (general) Add @./@: where approriate, and two spaces after the
+ full stop at the end of a sentence. Use @samp markup when
+ referring concrete lexical entities (keywords, attribute names
+ etc.), and @syntax for ARM grammar elements. Use @r for English
+ text in comments. Use @emph for emphasis. Change "if-statements"
+ etc. to "if statements" (without @samp). Break long lines. Make
+ casing of section names consistent.
+ (Identifiers): Use @samp markup for variable names.
+ (Comments): Use @samp markup for comment characters. Line-end
+ comments may follow any Ada code, not just statements. Fix
+ misspelling of "Integer" as "integer".
+ (Loop statements): Do not use variable name "I", use "J".
+ (Subprogram Declarations): Document alignment.
+ (Subprogram Bodies, Block statements): Document empty line before
+ "begin".
+
+2001-12-22 Florian Weimer <fw@deneb.enyo.de>
+
+ * make.adb (Add_Switch): Make Generic_Position a procedure. The
+ function approach did not work well because of a side effect (the
+ function call could reallocate the table which was being indexed
+ using its result). Fixes ada/4851.
+
+2001-12-19 Robert Dewar <dewar@gnat.com>
+
+ * bindgen.adb: Minor reformatting
+
+ * cstand.adb: Minor reformatting
+
+ * fmap.adb: Minor reformatting
+ Change name from Add for Add_To_File_Map (Add is much too generic)
+ Change Path_Name_Of to Mapped_Path_Name
+ Change File_Name_Of to Mapped_File_Name
+ Fix copyright dates in header
+
+ * fmap.ads:
+ Change name from Add for Add_To_File_Map (Add is much too generic)
+ Change Path_Name_Of to Mapped_Path_Name
+ Change File_Name_Of to Mapped_File_Name
+ Fix copyright dates in header
+
+ * fname-uf.adb: Minor reformatting. New names of stuff in Fmap.
+ Add use clause for Fmap.
+
+ * make.adb: Minor reformatting
+
+ * osint.adb: Minor reformatting. Change of names in Fmap.
+ Add use clause for Fmap.
+
+ * prj-env.adb: Minor reformatting
+
+ * prj-env.ads: Minor reformatting
+
+ * switch.adb: Minor reformatting. Do proper raise of Bad_Switch if
+ error found (there were odd exceptions to this general rule in
+ -gnatec/-gnatem processing)
+
+2001-12-19 Olivier Hainque <hainque@gnat.com>
+
+ * raise.c (__gnat_eh_personality): Exception handling personality
+ routine for Ada. Still in rough state, inspired from the C++ version
+ and still containing a bunch of debugging artifacts.
+ (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
+ inspired from the C++ library.
+
+ * raise.c (eh_personality): Add comments. Part of work for the GCC 3
+ exception handling integration.
+
+2001-12-19 Arnaud Charlet <charlet@gnat.com>
+
+ * Makefile.in: Remove use of 5smastop.adb which is obsolete.
+ (HIE_SOURCES): Add s-secsta.ad{s,b}.
+ (HIE_OBJS): Add s-fat*.o
+ (RAVEN_SOURCES): Remove files that are no longer required. Add
+ interrupt handling files.
+ (RAVEN_MOD): Removed, no longer needed.
+
+2001-12-19 Robert Dewar <dewar@gnat.com>
+
+ * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
+ Add 2001 to copyright date
+
+ * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
+ need to force universal inlining for these cases.
+
+2001-12-19 Arnaud Charlet <charlet@gnat.com>
+
+ * s-taprob.adb: Minor clean ups so that this unit can be used in
+ Ravenscar HI.
+
+ * exp_ch7.adb: Allow use of secondary stack in HI mode.
+ Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
+
+2001-12-19 Vincent Celier <celier@gnat.com>
+
+ * prj-tree.ads (Project_Node_Record): Add comments for components
+ Pkg_Id and Case_Insensitive.
+
+2001-12-19 Pascal Obry <obry@gnat.com>
+
+ * g-socket.adb: Minor reformatting. Found while reading code.
+
+2001-12-19 Robert Dewar <dewar@gnat.com>
+
+ * prj-tree.ads: Minor reformatting
+
+2001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * config-lang.in (diff_excludes): Remove.
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_res.adb (Resolve_Selected_Component): do not generate a
+ discriminant check if the selected component is a component of
+ the argument of an initialization procedure.
+
+ * trans.c (tree_transform, case of arithmetic operators): If result
+ type is private, the gnu_type is the base type of the full view,
+ given that the full view itself may be a subtype.
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * sem_res.adb: Minor reformatting
+
+ * trans.c (tree_transform, case N_Real_Literal): Add missing third
+ parameter in call to Machine (unknown horrible effects from this
+ omission).
+
+ * urealp.h: Add definition of Round_Even for call to Machine
+ Add third parameter for Machine
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
+ predefined units in No_Run_Time mode.
+
+2001-12-17 Richard Kenner <kenner@gnat.com>
+
+ * misc.c (insn-codes.h): Now include.
+
+2001-12-17 Olivier Hainque <hainque@gnat.com>
+
+ * a-except.adb: Preparation work for future integration of the GCC 3
+ exception handling mechanism
+ (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
+ to factorize previous code sequences and make them externally callable,
+ e.g. for the Ada personality routine when the GCC 3 mechanism is used.
+ (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
+ Use the new notification routines.
+
+2001-12-17 Emmanuel Briot <briot@gnat.com>
+
+ * prj-tree.ads (First_Choice_Of): Document the when others case
+
+2001-12-17 Arnaud Charlet <charlet@gnat.com>
+
+ * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
+ HI-E mode, in order to support Ravenscar profile properly.
+
+ * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
+ mode on 32 bits targets.
+
+2001-12-17 Vincent Celier <celier@gnat.com>
+
+ * fmap.adb: Initial version.
+
+ * fmap.ads: Initial version.
+
+ * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
+ If search is successfully done, add to mapping.
+
+ * frontend.adb: Initialize the mapping if a -gnatem switch was used.
+
+ * make.adb:
+ (Gnatmake): Add new local variable Mapping_File_Name.
+ Create mapping file when using project file(s).
+ Delete mapping file before exiting.
+
+ * opt.ads (Mapping_File_Name): New variable
+
+ * osint.adb (Find_File): Use path name found in mapping, if any.
+
+ * prj-env.adb (Create_Mapping_File): New procedure
+
+ * prj-env.ads (Create_Mapping_File): New procedure.
+
+ * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
+ (Mapping_File)
+
+ * usage.adb: Add entry for new switch -gnatem.
+
+ * Makefile.in: Add dependencies for fmap.o.
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
+ is a package instantiation rewritten as a package body.
+ (Install_Withed_Unit): Undo previous change, now redundant.
+
+2001-12-17 Gary Dismuke <dismukes@gnat.com>
+
+ * layout.adb:
+ (Compute_Length): Move conversion to Unsigned to callers.
+ (Get_Max_Size): Convert Len expression to Unsigned after calls to
+ Compute_Length and Determine_Range.
+ (Layout_Array_Type): Convert Len expression to Unsigned after calls to
+ Compute_Length and Determine_Range.
+ Above changes fix problem with length computation for supernull arrays
+ where Max (Len, 0) wasn't getting applied due to the Unsigned
+ conversion used by Compute_Length.
+
+2001-12-17 Arnaud Charlet <charlet@gnat.com>
+
+ * rtsfind.ads:
+ (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
+ System.Secondary_Stack.
+ (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
+ in HI-E mode.
+ Remove unused entity RE_Exception_Data.
+
+ * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
+
+ * rident.ads (No_Secondary_Stack): New restriction.
+
+2001-12-17 Joel Brobecker <brobecke@gnat.com>
+
+ * gnat_rm.texi: Fix minor typos. Found while reading the section
+ regarding "Bit_Order Clauses" that was sent to a customer.
+ Very interesting documentation!
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * sem_case.adb (Choice_Image): Avoid creating improper character
+ literal names by using the routine Set_Character_Literal_Name. This
+ fixes bombs in certain error message cases.
+
+2001-12-17 Arnaud Charlet <charlet@gnat.com>
+
+ * a-reatim.adb: Minor reformatting.
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
+ case where the formal is an extension of another formal in the current
+ unit or in a parent generic unit.
+
+2001-12-17 Arnaud Charlet <charlet@gnat.com>
+
+ * s-tposen.adb: Update comments. Minor reformatting.
+ Minor code clean up.
+
+ * s-tarest.adb: Update comments. Minor code reorganization.
+
+2001-12-17 Gary Dismukes <dismukes@gnat.com>
+
+ * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
+ when Java_VM.
+
+2001-12-17 Robert Dewa <dewar@gnat.com>
+
+ * exp_attr.adb: Minor reformatting
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
+ derivations nested within a child unit: verify that the parent
+ type is declared in an outer scope.
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch12.adb: Minor reformatting
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
+ warning if current unit is a predefined one, from which bodies may
+ have been deleted.
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
+ Fix header format. Add 2001 to copyright date.
+
+ * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
+ which caused CE during compilation if checks were enabled.
+
+2001-12-17 Vincent Celier <celier@gnat.com>
+
+ * make.adb:
+ (Switches_Of): New function
+ (Test_If_Relative_Path): New procedure
+ (Add_Switches): Use new function Switches_Of
+ (Collect_Arguments_And_Compile): Use new function Switches_Of.
+ When using a project file, test if there are any relative
+ search path. Fail if there are any.
+ (Gnatmake): Only add switches for the primary directory when not using
+ a project file. When using a project file, change directory to the
+ object directory of the main project file. When using a project file,
+ test if there are any relative search path. Fail if there are any.
+ When using a project file, fail if specified executable is relative
+ path with directory information, and prepend executable, if not
+ specified as an absolute path, with the exec directory. Make sure
+ that only one -o switch is transmitted to the linker.
+
+ * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
+
+ * prj-nmsc.adb:
+ (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
+ when using a non standard naming scheme.
+ (Check_Ada_Naming_Scheme): Make sure that error messages
+ do not raise exceptions.
+ (Is_Illegal_Append): Return True if there is no dot in the suffix.
+ (Language_Independent_Check): Check the exec directory.
+
+ * prj.adb (Project_Empty): Add new component Exec_Directory
+
+ * prj.ads:
+ (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
+ (Project_Data): Add component Exec_Directory
+
+ * snames.adb: Updated to match snames.ads revision 1.215
+
+ * snames.ads: Added Exec_Dir
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * make.adb: Minor reformatting
+
+ * prj-nmsc.adb: Minor reformatting
+
+ * snames.adb: Updated to match snames.ads
+
+ * snames.ads: Alphebetize entries for project file
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * trans.c (process_freeze_entity): Do nothing if the entity is a
+ subprogram that was already elaborated.
+
+2001-12-17 Richard Kenner <kenner@gnat.com>
+
+ * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
+ and Esize if object is referenced via pointer.
+
+2001-12-17 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
+ is discrete before analyzing choices.
+
+2001-12-17 Joel Brobecker <brobecke@gnat.com>
+
+ * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
+ containing the name of the Ada Main Program. This string is mainly
+ intended for the debugger.
+ (Gen_Output_File_C): Do the equivalent change when generating a C file.
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * ali.adb: Set new Dummy_Entry field in dependency entry
+
+ * ali.ads: Add Dummy_Entry field to source dependency table
+
+ * bcheck.adb (Check_Consistency): Ignore dummy D lines
+
+ * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
+
+ * lib-writ.ads: Document dummy D lines for missing files.
+
+ * types.ads: (Dummy_Time_Stamp): New value for non-existant files
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * ali.adb: Type reference does not reset current file.
+
+ * ali.adb: Recognize and scan renaming reference
+
+ * ali.ads: Add spec for storing renaming references.
+
+ * lib-xref.ads: Add documentation for handling of renaming references
+
+ * lib-xref.adb: Implement output of renaming reference.
+
+ * checks.adb:
+ (Determine_Range): Document local variables
+ (Determine_Range): Make sure Hbound is initialized. It looks as though
+ there could be a real problem here with an uninitialized reference
+ to Hbound, but no actual example of failure has been found.
+
+2001-12-17 Laurent Pautet <pautet@gnat.com>
+
+ * g-socket.ads:
+ Fix comment of Shutdown_Socket and Close_Socket. These functions
+ should not fail silently because if they are called twice, this
+ probably means that there is a race condition in the user program.
+ Anyway, this behaviour is consistent with the rest of this unit.
+ When an error occurs, an exception is raised with the error message
+ as exception message.
+
+2001-12-17 Robert Dewar <dewar@gnat.com>
+
+ * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
+ that it happens before modification of Sloc values for -gnatD.
+
+ * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
+ so that it happens before modification of Sloc values for -gnatD.
+
+ * switch.adb: Minor reformatting
+
+2001-12-15 Richard Henderson <rth@redhat.com>
+
+ * sem_ch7.adb: Wrap comment.
+
+2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
+ 5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
+ 5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
+ 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
+ 5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
+ 7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
+ a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
+ a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
+ cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
+ exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
+ exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
+ g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
+ gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
+ make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
+ par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
+ repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
+ s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
+ s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
+ s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
+ s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
+ sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
+ sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
+ sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
+ sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
+ spelling errors.
+
+2001-12-14 Vincent Celier <celier@gnat.com>
+
+ * osint.adb(Create_Debug_File): When an object file is specified,
+ put the .dg file in the same directory as the object file.
+
+2001-12-14 Robert Dewar <dewar@gnat.com>
+
+ * osint.adb: Minor reformatting
+
+ * lib-xref.adb (Output_Instantiation): New procedure to generate
+ instantiation references.
+
+ * lib-xref.ads: Add documentation of handling of generic references.
+
+ * ali.adb (Read_Instantiation_Ref): New procedure to read
+ instantiation references
+
+ * ali.ads: Add spec for storing instantiation references
+
+ * bindusg.adb: Minor reformatting
+
+ * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+ * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+ * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+ * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+ * csets.ads:
+ Fix header format
+ Add 2001 to copyright date
+ Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+2001-12-14 Matt Gingell <gingell@gnat.com>
+
+ * adaint.c: mktemp is a macro on Lynx and can not be used as an
+ expression.
+
+2001-12-14 Richard Kenner <kenner@gnat.com>
+
+ * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
+ if operand is CONSTRUCTOR.
+
+2001-12-14 Ed Schonberg <schonber@gnat.com>
+
+ * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
+ before emiting check on right-hand side, so that exception information
+ is correct.
+
+2001-12-14 Richard Kenner <kenner@gnat.com>
+
+ * utils.c (create_var_decl): Throw away initializing expression
+ if just annotating types and non-constant.
+
+2001-12-14 Vincent Celier <celier@gnat.com>
+
+ * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
+ Default_Ada_...
+
+ * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
+ Remove functions.
+ (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
+
+ * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
+ Remove functions.
+ (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
+
+2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * ChangeLog: Remove piece of diff output.
+
+2001-12-14 Geert Bosch <bosch@gnat.com>
+
+ * config-lang.in: Update copyright notice
+
+ * layout.adb: Remove commented out code.
+
+ * mdllfile.ads: Update copyright notice. Fix header format.
+
+ * sem_case.ads: Likewise.
+
+ * sem_ch3.adb: Minor reformatting.
+
+2001-12-12 Geert Bosch <bosch@gnat.com>
+
+ * freeze.ads: Update copyright date.
+
+ * g-comlin.ads: Minor reformatting.
+
+ * gnat-style.texi: Fix typo.
+
+2001-12-12 Geert Bosch <bosch@gnat.com>
+
+ * einfo.h: Regenerate.
+
+2001-12-12 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
+ on known node types, rather than untyped fields. Further cleanups.
+
+2001-12-12 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch12.adb:
+ (Save_Entity_Descendant): Minor comment update.
+ (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
+ of an N_Attribute_Reference node. As per note below, this does not
+ eliminate need for Associated_Node in attribute ref nodes.
+ (Associated_Node): Documentation explicitly mentions attribute
+ reference nodes, since this field is used in such nodes.
+
+ * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
+
+2001-12-12 Robert Dewar <dewar@gnat.com>
+
+ * s-stalib.adb: Add more comments on with statements being needed
+
+ * par-ch12.adb: Minor reformatting
+
+ * prj-dect.ads: Fix copyright header
+
+ * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
+ inputs fit in 32 bits, but the result still overflows.
+
+ * s-fatgen.ads: Minor comment improvement
+
+2001-12-12 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
+ formal derived type, look for an inherited component from the full
+ view of the parent, if any.
+
+2001-12-12 Robert Dewar <dewar@gnat.com>
+
+ * checks.ads (Apply_Alignment_Check): New procedure.
+
+ * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
+ ensure that the alignment of objects with address clauses is
+ appropriate, and raise PE if not.
+
+ * exp_util.ads (Must_Be_Aligned): Removed, replaced by
+ Exp_Pakd.Known_Aligned_Enough
+
+ * mdllfile.ads: Minor reformatting
+
+ * mlib-fil.ads: Minor reformatting
+
+2001-12-12 Ed Schonberg <schonber@gnat.com>
+
+ * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
+ fix to any component reference if enclosing record has non-standard
+ representation.
+
+2001-12-12 Vincent Celier <celier@gnat.com>
+
+ * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
+ Iteration
+
+2001-12-12 Ed Schonberg <schonber@gnat.com>
+
+ * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
+ sem_attr.
+
+2001-12-12 Robert Dewar <dewar@gnat.com>
+
+ * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
+
+2001-12-12 Emmanuel Briot <briot@gnat.com>
+
+ * g-regexp.adb: Remove all debug code, since it isn't required anymore,
+ and it adds dependencies to system.io.
+
+2001-12-12 Pascal Obry <obry@gnat.com>
+
+ * g-dirope.adb (Expand_Path.Var): Correctly detect end of
+ variable name.
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
+ that is the parent of other generics, the instance body replaces the
+ instance node. Retrieve the instance of the spec, which is the one
+ that is visible in clients and within the body.
+
+2001-12-11 Vincent Celier <celier@gnat.com>
+
+ * gnatmain.adb: Initial version.
+
+ * gnatmain.ads: Initial version.
+
+ * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
+
+ * snames.adb: Updated to match snames.ads.
+
+ * snames.ads: Added Gnatstub.
+
+2001-12-11 Vincent Celier <celier@gnat.com>
+
+ * prj-attr.adb (Initialization_Data): Change name from
+ Initialisation_Data.
+
+2001-12-11 Emmanuel Briot <briot@gnat.com>
+
+ * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
+ + and * applied to backslashed expressions like \r.
+
+2001-12-11 Vasiliy Fofanov <fofanov@gnat.com>
+
+ * g-os_lib.ads: String_List type added, Argument_List type is now
+ subtype of String_List.
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * g-os_lib.ads: Change copyright to FSF
+ Add comments for String_List type
+
+2001-12-11 Vincent Celier <celier@gnat.com>
+
+ * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
+ string to the buffer).
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
+ sem_attr.
+
+ * sem_attr.adb: Simplify previous fix for Address.
+ (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
+ to avoid anomalies where the bound of the type appears to raise
+ constraint error.
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * lib-xref.adb (Output_Refs): Make sure pointers are always properly
+ handled.
+
+2001-12-11 Ed Schonber <schonber@gnat.com>
+
+ * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
+ renamed unit before checking for recursive instantiations.
+
+2001-12-11 Emmanuel Briot <briot@gnat.com>
+
+ * prj.ads: Add comments for some of the fields.
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * lib-xref.adb (Output_Refs): Don't output type references outside
+ the main unit if they are not otherwise referenced.
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
+ code and diagnose additional illegal uses
+
+ * sem_util.adb (Is_Object_Reference): An indexed component is an
+ object only if the prefix is.
+
+2001-12-11 Vincent Celier <celier@gnat.com>
+
+ * g-diopit.adb: Initial version.
+
+ * g-diopit.ads: Initial version.
+
+ * g-dirope.adb:
+ (Expand_Path): Avoid use of Unbounded_String
+ (Find, Wildcard_Iterator): Moved to child package Iteration
+
+ * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * sem_attr.adb: Minor reformatting
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb: Clarify some ???.
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * exp_util.adb (Must_Be_Aligned): Removed, replaced by
+ Exp_Pakd.Known_Aligned_Enough
+
+ * sem_ch13.adb (Check_Address_Alignment): Removed, extended
+ version is moved to Exp_Ch13.
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * einfo.ads: Minor reformatting
+
+ * exp_ch5.adb: Add comment for previous.change
+
+ * ali.adb: New interface for extended typeref stuff.
+
+ * ali.ads: New interface for typeref stuff.
+
+ * checks.adb (Apply_Alignment_Check): New procedure.
+
+ * debug.adb: Add -gnatdM for modified ALI output
+
+ * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
+
+ * lib-xref.adb: Extend generation of <..> notation to cover
+ subtype/object types. Note that this is a complete rewrite,
+ getting rid of the very nasty quadratic algorithm previously
+ used for derived type output.
+
+ * lib-xref.ads: Extend description of <..> notation to cover
+ subtype/object types. Uses {..} for these other cases.
+ Also use (..) for pointer types.
+
+ * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
+
+ * exp_pakd.adb: Minor reformatting. Note that prevous RH should say:
+ (Known_Aligned_Enough): Replaces Must_Be_Aligned.
+
+2001-12-11 Vincent Celier <celier@gnat.com>
+
+ * gnatcmd.adb:
+ Changed /COMPILE_ONLY to /ACTIONS=COMPILE
+ Changed /BIND_ONLY to /ACTIONS=BIND
+ Changed /LINK_ONLY to /ACTIONS=LINK
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch8.adb (Find_Selected_Component): improved search for a
+ candidate package in case of error.
+
+ * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
+ chain back on scope stack before reinstalling use clauses.
+
+ * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
+ is enabled, do not kill the code for the condition, to preserve
+ warning.
+
+2001-12-11 Robert Dewar <dewar@gnat.com>
+
+ * checks.adb (Insert_Valid_Check): Apply validity check to expression
+ of conversion, not to result of conversion.
+
+2001-12-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
+ before freezing parent. If the declarations are mutually recursive,
+ an access to the current record type may be frozen before the
+ derivation is complete.
+
+2001-12-05 Vincent Celier <celier@gnat.com>
+
+ * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
+ -c /COMPILE_ONLY, -l /LINK_ONLY
+
+ * opt.ads:
+ (Bind_Only): New Flag
+ (Link_Only): New flag
+
+ * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
+ and -l (Link_Only)
+
+ * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
+
+ * make.adb:
+ (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
+ (Gnatmake): Set the step flags. Only perform a step if the
+ corresponding step flag is True.
+ (Scan_Make_Arg): Reset the bind and link step flags when -u
+ or -gnatc has been specified.
+
+2001-12-05 Ed Schonberg <schonber@gnat.com>
+
+ * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
+ get bounds from right operand.
+
+ * sem_eval.adb: Minor reformatting
+
+ * exp_util.adb (Make_Literal_Range): use bound of literal rather
+ than Index'First, its lower bound may be different from 1.
+
+ * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
+ and C48009J
+
+2001-12-05 Vincent Celier <celier@gnat.com>
+
+ * prj-nmsc.adb Minor reformatting
+
+ * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
+ set and libraries are not supported.
+
+2001-12-05 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
+ private view explicitly, so the back-end can treat as a global
+ when appropriate.
+
+2001-12-05 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
+ unit, always replace instance node with new body, for ASIS use.
+
+2001-12-05 Vincent Celier <celier@gnat.com>
+
+ * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
+ libraries are not supported and both attributes Library_Name and
+ Library_Dir are specified.
+
+ * prj-proc.adb (Expression): Set location of Result to location of
+ first term.
+
+ * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
+ (prj-nmsc is now importing MLib.Tgt)
+
+ * prj-proc.adb: Put the change indicated above that was forgotten.
+
+2001-12-05 Robert Dewar <dewar@gnat.com>
+
+ * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
+
+2001-12-05 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
+ constraint, introduce explicit subtype declaration and derive from it.
+
+ * sem_ch3.adb: Minor reformatting
+
+2001-12-05 Robert Dewar <dewar@gnat.com>
+
+ * checks.adb (Determine_Range): Increase cache size for checks.
+ Minor reformatting
+
+ * exp_ch6.adb: Minor reformatting
+ (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
+ a parameter whose root type is System.Address, since treating such
+ subprograms as pure in the code generator is almost surely a mistake
+ that will lead to unexpected results.
+
+ * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
+ change handling of conversions.
+
+ * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
+
+2001-12-05 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
+ aggregate with static wrong size, attach generated Raise node to
+ declaration.
+
+2001-12-05 Robert Dewar <dewar@gnat.com>
+
+ * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
+ Fixes compilation abandoned bomb in B24009B.
+
+2001-12-05 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb:
+ Document use of Associated_Node on Selected_Components.
+ (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
+ to clarify use of untyped descendant fields.
+
+2001-12-05 Robert Dewar <dewar@gnat.com>
+
+ * prj-dect.ads: Add ??? comment
+ Add 2001 to copyright notice (was not done in after all)
+
+ * prj-part.adb: Minor reformatting. Reword one awkward error message.
+
+ * prj.ads: Minor reformatting throughout, and add some ??? comments
+
+ * snames.ads: Minor reformatting
+
+2001-12-05 Geert Bosch <bosch@gnat.com>
+
+ * snames.adb: Autoupdate
+
+2001-12-05 Vincent Celier <celier@gnat.com>
+
+ * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
+
+ * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
+
+ * prj-env.adb: Minor comment changes (modifying -> extends).
+
+ * prj-nmsc.adb: Minor comment changes (modifying -> extends).
+
+ * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
+ Tok_Extends.
+
+ * prj.adb (Initialize): Change Modifying to Extends.
+
+ * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
+
+ * prj.ads: Minor comment change (Modifying -> extending).
+
+ * snames.ads: Change modifying to extends.
+
+2001-12-05 Robert Dewar <dewar@gnat.com>
+
+ * sem_warn.adb: Remove stuff for conditionals, we are not going to
+ do this after all.
+
+ * sem_warn.ads: Remove stuff for conditionals, we are not going to
+ do this after all. Add 2001 to copyright notice
+
+2001-12-04 Geert Bosch <bosch@gnat.com>
+
+ * einfo.h, sinfo.h, treeprs.ads: Regenerate.
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
+ location if we already have errors. Stops some cases of cascaded
+ errors.
+
+ * errout.adb: Improve comment.
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch12.adb:
+ (Analyze_Formal_Type_Definition): Defend against Error.
+ (Analyze_Formal_Subprogram): Defend against Error.
+
+ * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
+ remove following semicolon if present. Removes cascaded error.
+
+2001-12-04 Douglas B. Rupp <rupp@gnat.com>
+
+ * bindgen.adb:
+ (Gen_Exception_Table_Ada): Write "begin" and then return if Num
+ exceptions equals 0.
+ (Gen_Exception_Table_C): Return if Num exceptions equals 0.
+ Fixes PIWG E tests (which have to be run with -gnatL).
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * einfo.ads: Minor reformatting
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * einfo.ads: Block_Node points to the identifier of the block, not to
+ the block node itself, to preserve the link when the block is
+ rewritten, e.g. within an if-statement with a static condition.
+
+ * inline.adb (Cleanup_Scopes): recover block statement from block
+ entity using new meaning of Block_Node.
+
+ * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
+ identifier of block node, rather than to node itself.
+
+2001-12-04 Gary Dismukes <dismukes@gnat.com>
+
+ * layout.adb:
+ (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
+ (Discrimify): Go back to setting the Etypes of the selected component
+ because the Vname component does not exist at this point and will
+ fail name resolution. Also set Analyzed.
+ Remove with and use of Sem_Res.
+
+2001-12-04 Arnaud Charlet <charlet@gnat.com>
+
+ * Makefile.in: (HIE_SOURCES): add s-fat*.
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * sem_attr.adb:
+ (Compile_Time_Known_Attribute): New procedure.
+ (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
+ proper range check.
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
+ processing discriminants to diagnose illegal default values.
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
+ access discriminant within a type extension that constrains its
+ parent discriminants.
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
+ is malformed, use instance of Any_Id to allow analysis to proceed.
+
+ * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
+ type definition is illegal.
+ (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
+ misplaced.
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
+ constants.
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * errout.adb: Minor reformatting
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * exp_util.adb: Minor reformatting from last change
+
+ * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
+ which is a rewriting of an expression, traverse the original
+ expression to remove warnings that may have been posted on it.
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * exp_util.adb (Must_Be_Aligned): Return false for a component of a
+ record that has other packed components.
+
+2001-12-04 Douglass B. Rupp <rupp@gnat.com>
+
+ * adaint.c: Minor cleanups.
+
+2001-12-04 Douglass B. Rupp <rupp@gnat.com>
+
+ * adaint.c: Do not use utime.h on vxworks.
+
+2001-12-04 Arnaud Charlet <charlet@gnat.com>
+
+ * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
+ more confusion than it solves.
+
+2001-12-04 Geert bosch <bosch@gnat.com>
+
+ * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
+
+2001-12-04 Geert Bosch <bosch@gnat.com>
+
+ * Makefile.in (update-sources): New target.
+ For use by gcc_release script.
+
+2001-12-04 Ed Schonberg <schonber@gnat.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
+ a configuration pragma, it is now legal wherever a pragma can appear.
+
+2001-12-04 Zack Weinberg <zack@codesourcery.com>
+
+ * Makefile.in: Don't set ALL. Delete @cross_defines@,
+ @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS
+ is now @CROSS@ -DIN_GCC; update comment.
+
+2001-12-04 Robert Dewar <dewar@gnat.com>
+
+ * einfo.adb (Has_Pragma_Pure_Function): New flag.
+ Fix problem that stopped ceinfo from working
+
+ * einfo.ads (Has_Pragma_Pure_Function): New flag.
+
+ * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
+
+2001-12-04 Douglas B. Rupp <rupp@gnat.com>
+
+ * gnatchop.adb:
+ (File_Time_Stamp): New procedure.
+ (Preserve_Mode): New boolean.
+ (Write_Unit): Pass time stamp.
+ Implement -p switch (preserve time stamps).
+
+ * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
+
+ * gnatchop.adb: Do usage info for -p switch
+
+ * adaint.h (__gnat_set_file_time_name): New function
+
+ * adaint.c (__gnat_set_file_time_name): Implement
+
+ * adaint.h: Fix typo
+
+2001-12-03 Robert Dewar <dewar@gnat.com>
+
+ * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
+ have Associated_Node.
+
+2001-12-03 Robert Dewar <dewar@gnat.com>
+
+ * prj-proc.adb: Minor reformatting
+
+ * make.adb: Minor reformatting
+
+2001-12-03 Geert Bosch <bosch@gnat.com>
+
+ * make.adb: Minor reformatting.
+
+2001-12-03 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch12.adb: Minor reformatting
+
+2001-12-03 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
+ push Standard on the stack before analyzing the instance body,
+ in order to have a clean visibility environment.
+
+ * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
+
+2001-12-03 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb (Instantiate_Package_Body): Protect against double
+ instantiation of a body that contains an inlined body.
+
+2001-12-03 Ed Schonberg <schonber@gnat.com>
+
+ * sem_ch12.adb:
+ (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
+ to prevent freezing within formal packages.
+ (Freeze_Subprogram_Body): If body comes from another instance that
+ appeared before its own body, place freeze node at end of current
+ declarative part, to prevent a back-end crash.
+ (Inline_Instance_Body): Handle properly a package instance within
+ a subprogram instance that is a child unit.
+
+2001-12-01 Graham Stott <grahams@redhat.com>
+
+ * Makefile.in (misc.o): Add missing $(srcdir) prefix
+ and add optabs.h dependency.
+
+ * misc.c: Include optabs.h
+ (gnat_tree_code_type): Make static and const.
+ (gnat_tree_code_length): Likewise.
+ (gnat_tree_code_name): Likewise.
+ (update_setjmp_buf): Obtain operands mode from insn_data.
+
+2001-11-29 Richard Henderson <rth@redhat.com>
+
+ * init.c: Remove obsolete dwarf2 frame.h section.
+
+2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * Make-lang.in (ada.generated-manpages): New dummy target.
+
+2001-11-29 Ed Schonberg <schonber@gnat.com>
+
+ * g-os_lib.adb (Add_To_Command): use explicit loop to move string
+ into Command, an array conversion is illegal here. Uncovered by
+ ACATS B460005.
+
+2001-11-28 Geert Bosch <bosch@gnat.com>
+
+ * init.c: Minor whitespace changes.
+
+2001-11-28 Doug Rupp <rupp@gnat.com>
+
+ * init.c: (__gnat_install_handler,VMS): Increase size of alternate
+ signal stack.
+
+2001-11-28 Zack Weinberg <zack@codesourcery.com>
+
+ * misc.c (gnat_expand_constant): Move declaration above
+ definition of lang_hooks.
+ (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
+ (gnat_init): lang_expand_constant no longer exists.
+
+ (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
+ always have vprintf.
+ (gnat_init): Always call set_internal_error_function.
+
+2001-11-27 Andreas Jaeger <aj@suse.de>
+
+ * Makefile.in (stamp-tool_src_dir): Use symbolic link.
+
+2001-11-27 Laurent Guerby <guerby@acm.org>
+
+ * Makefile.in: Regenerate Ada dependencies.
+
+2001-11-26 Richard Henderson <rth@redhat.com>
+
+ * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
+ gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
+ gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
+
+2001-11-25 Laurent Guerby <guerby@acm.org>
+
+ * sysdep.c (rts_get_*): Fix style.
+
+2001-11-19 Laurent Guerby <guerby@acm.org>
+
+ * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
+ since it is of no apparent use and cause warnings.
+
+2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (gnat_decode_option, gnat_init_options): Make definitions
+ static too.
+ (gnat_init): Don't return NULL.
+ (finish_parse): Remove.
+
+2001-11-17 Laurent Guerby <guerby@acm.org>
+
+ * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
+ * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
+ * io-aux.c: Provide K&R prototypes to all functions, reformat code.
+ * lang-spec.h: Add missing struct field to silence warnings.
+ * sysdep.c (rts_get_*): Provide K&R prototype.
+ * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
+ * traceback.c (Unlock_Task, Lock_Task): Likewise.
+ * tracebak.c (__gnat_backtrace): Remove unused variable.
+ * utils.c (end_subprog_body): Move to K&R style.
+
+Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
+
+2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (gnat_init): Change prototype. Include the
+ functionality of the old init_parse and init_decl_processing.
+ (gnat_init_decl_processing): New prototype.
+ (init_parse): Remove.
+ * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
+
+2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (gnat_print_decl, gnat_print_type): Renamed.
+ (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
+ (print_lang_statistics, lang_print_xnode, print_lang_identifier,
+ set_yydebug): Remove.
+
+2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
+ (struct lang_hooks): Constify.
+ (language_string, lang_identify): Remove.
+ * utils.c (init_decl_processing): Update.
+
+2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
+
+ * misc.c: Include langhooks-def.h.
+ * Makefile.in: Update.
+
+2001-10-30 Robert Dewar <dewar@gnat.com>
+
+ * style.adb:
+ (Check_Identifier): Rewrite circuit to be compatible with use of letters
+ in the upper half of ASCII.
+ (Check_Identifier): Minor reformatting
+
+2001-10-30 Geert Bosch <bosch@gnat.com>
+
+ * (Associated_Node, Set_Associated_Node): Do not check for
+ Freeze_Entity.
+
+2001-10-30 Robert Dewar <dewar@gnat.com>
+
+ * a-reatim.ads: Minor reformatting
+
+2001-10-30 Robert Dewar <dewar@gnat.com>
+
+ * gnatdll.adb: Minor reformatting throughout. Many ??? added for
+ undocumented declarations.
+
+2001-10-30 Pascal Obry <obry@gnat.com>
+
+ * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
+ to the binder and linker.
+ Minor style fix.
+
+ * mdll.ads: Fix layout. Update copyright notice.
+
+ * mdll.adb: Fix layout. Update copyright notice.
+
+2001-10-30 Robert Dewar <dewar@gnat.com>
+
+ * usage.adb: Minor fix to output for -gnaty.
+
+2001-10-30 Ed Schonberg <schonber@gnat.com>
+
+ * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
+ to accommodate all its possible values.
+
+ * a-reatim.adb (Split): Special-case handling of Time_Span_First
+ and of small absolute values of T.
+
+2001-10-30 Richard Kenner <kenner@gnat.com>
+
+ * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
+ set_mem_attributes since not needed and wrong if RESULT if a REG;
+ fixes ACATS failures.
+
+2001-10-30 Geert Bosch <bosch@gnat.com>
+
+ * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
+ s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
+
+2001-10-30 Robert Dewar <dewar@gnat.com>
+
+ * bindusg.adb: Undocument -f switch.
+
+ * gnatcmd.adb: Remove /FULL_ELABORATION.
+
+ * opt.ads (Force_RM_Elaboration_Order): Document that this is
+ obsolescent.
+
+ * gnatbind.adb: Output new warning for use of obsolescent -f switch.
+
+ * gnatbind.adb: Minor update of warning msg.
+
+2001-10-30 Vincent Celier <celier@gnat.com>
+
+ * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
+ for project file switches (-P (/PROJECT_FILE=),
+ -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
+ or MEDIUM or HIGH)
+
+2001-10-30 Geert Bosch <bosch@gnat.com>
+
+ * decl.c: Minor whitespace fixes.
+
+2001-10-30 Richard Kenner <kenner@gnat.com>
+
+ * utils2.c (build_allocator): Test for SIZE overflow in array case too
+
+2001-10-30 Geert Bosch <bosch@gnat.com>
+
+ * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
+ Found due to GCC 3.0 warning of using uninitialized value.
+
+ * layout.adb:
+ (Get_Max_Size): Use variant record for tracking value/expression.
+ Makes logic clearer and prevents warnings for uninitialized variables.
+ (Layout_Array_Type): Use variant record for tracking value/expression.
+ Makes logic clearer and prevents warnings for uninitialized variables.
+
+2001-10-30 Robert Dewar <dewar@gnat.com>
+
+ * lib.adb: Minor reformatting
+
+ * s-taprop.ads: Minor reformatting
+
+2001-10-29 Laurent Guerby <guerby@acm.org>
+
+ * init.c:
+ (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
+ const.
+ (_gnat_error_handler): Make MSG const.
+
+2001-10-29 Richard Kenner <kenner@gnat.com>
+
+ * sysdep.c: Fix localtime_r problem on LynxOS.
+ Also remove #elif to avoid warnings.
+
+ * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
+ used by this.
+
+ * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
+
+2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
+ exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
+ g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
+ g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
+ layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
+ s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
+ sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
+ sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
+ sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
+ types.ads, urealp.adb: Fix spelling errors.
+
+2001-10-27 Laurent Guerby <guerby@acm.org>
+
+ * trans.c (gigi): Fix non determinism leading to bootstrap
+ comparison failures for debugging information.
+
+2001-10-26 Florian Weimer <fw@deneb.enyo.de>
+
+ * gnat_rm.texi: Use @./@: where appropriate.
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
+
+2001-10-26 Richard Kenner <kenner@gnat.com>
+
+ * gmem.c (__gnat_gmem_read_next): Properly check for EOF
+
+2001-10-26 Richard Kenner <kenner@gnat.com>
+
+ * decl.c (validate_size): Modify message for bad size to avoid
+ implication that compiler is modifying the size.
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * prj-util.adb: Minor reformatting. Fix bad header format.
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
+
+ * sinfo.ads: Clarify use of Associated_Node (documentation only).
+
+ * sem_ch12.adb: Change Node4 to Associated_Node. Change
+ Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
+ much more narrowly in places where needed. These are cleanups.
+
+2001-10-26 Joel Brobecker <brobecke@gnat.com>
+
+ * 5zosinte.ads (null_pthread): new constant.
+
+ * 5ztaprop.adb:
+ (Initialize_TCB): Initialize thread ID to null, to be able to verify
+ later that this field has been set.
+ (Finalize_TCB): ditto.
+ (Suspend_Task): Verify that the thread ID is not null before using it.
+ (Resume_Task): ditto.
+
+ * s-tasdeb.adb:
+ (Resume_All_Tasks): Lock the tasks list before using it.
+ (Suspend_All_Tasks): ditto.
+
+2001-10-26 Richard Kenner <kenner@gnat.com>
+
+ * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
+ Make constant variant of designated type for Is_Access_Constant.
+ Call update_pointer_to with main variant.
+
+ * trans.c (process_freeze_entity, process_type):
+ Call update_pointer_to on main variant.
+
+ * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
+ If main variant, update all other variants.
+
+ * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
+ TREE_STATIC.
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * prj-util.adb: Minor reformatting
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * prj-util.adb: Minor reformatting
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * prj-attr.adb: Minor reformatting throughout
+
+2001-10-26 Robert Dewar <dewar@gnat.com>
+
+ * prj-attr.ads: Minor reformatting
+ Add ??? comment (this whole spec has almost no comments)
+
+2001-10-26 Vincent Celier <celier@gnat.com>
+
+ * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
+ ("//") that precede the drive letter on Interix.
+
+2001-10-26 Geert Bosch <bosch@gnat.com>
+
+ * gnat_rm.texi: Add GNAT Reference Manual.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
+ is Error. Similar change for other renaming cases.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * s-atacco.ads: Add pragma Inline_Always for functions.
+ Fix header format. Add copyright 2001
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
+ return Error rather than Empty so that analysis can proceed.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * sem_util.adb (Enter_Name): better handling of cascaded error
+ messages when a unit appears in its own context.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * sem_util.adb (Defining_Entity): in case of error, attach created
+ entity to specification, so that semantic analysis can proceed.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * sem_util.adb
+ (Defining_Entity): Deal with Error.
+ (Process_End_Label): Deal with bad end label for.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * sem_elab.adb (Check_A_Call): refine message when call is in an
+ instance but callee is not declared in the generic unit.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * sem_elab.adb (Check_A_Call): check for renaming before finding the
+ enclosing unit, which may already be different from the calling unit.
+
+2001-10-25 Geert Bosch <bosch@gnat.com>
+
+ * 4gintnam.ads: fix header format.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * sem_res.adb (Resolve_Call): if the call is actually an indexing
+ operation on the result of a parameterless call, perform elaboration
+ check after the node has been properly rewritten.
+
+ * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
+ inlined within the generic tree, the defining identifier is not a
+ compilation_unit.
+
+2001-10-25 Ed Schonberg <schonber@gnat.com>
+
+ * sem_res.adb (Resolve): special-case resolution of Null in an
+ instance or an inlined body to avoid view conflicts.
+
+ * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
+ compatibility by retrieving the access type of the generic copy.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch3.adb:
+ (Analyze_Number_Declaration): Handle error expression.
+ (Signed_Integer_Type_Declaration): Handle error bound.
+ (Analyze_Subtype_Indication): Handle error range.
+
+ * sem_util.adb (Get_Index_Bounds): Check for Error.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
+ in no run time mode.
+
+2001-10-25 Pascal Obry <obry@gnat.com>
+
+ * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
+ mode case for ALLOC case.
+
+ * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
+ all platforms. Improvement of last change.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
+
+2001-10-25 Geert Bosch <bosch@gnat.com>
+
+ * osint.adb (Is_Relative): Remove duplicate.
+
+2001-10-25 Pascal Obry <obry@gnat.com>
+
+ * osint.adb (Read_Default_Search_Dirs): correctly detect relative
+ pathnames in UNIX and DOS style with drive letter.
+ (Is_Relative): new routine.
+
+ * osint.adb: Minor reformatting
+
+ * osint.adb (Is_Relative): implementation using
+ GNAT.OS_Lib.Is_Absolute_Path. Better fix.
+
+2001-10-25 Pascal Obry <obry@gnat.com>
+
+ * g-dirope.adb (Basename): correctly compute offset between the
+ original Path and the translated one.
+
+ * g-dirope.adb: (Base_Name): add some comments.
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
+ in HIE mode, avoids compilation abandoned message
+
+ * exp_imgv.adb: Correct typo in previous change
+
+ * exp_imgv.adb: Correct typo in previous change (not my day!)
+
+2001-10-25 Robert Dewar <dewar@gnat.com>
+
+ * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
+
+2001-10-25 Pascal Obry <obry@gnat.com>
+
+ * g-awk.ads: Move all pragma inlines next to the routine
+ declarations. This is more uniform with other GNAT spec.
+
+2001-10-22 Geert Bosch <bosch@gnat.com>
+
+ * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
+
+2001-10-19 Geert Bosch <bosch@gnat.com>
+
+ * Makefile.in (tools, gnattools): Remove gnatmem.
+
+2001-10-17 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (misc.o): Depend on langhooks.h.
+ * misc.c: Include it.
+ (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
+ (LANG_HOOKS_DECODE_OPTION): New.
+ (lang_hooks): Use LANG_HOOKS_INITIALIZER.
+
+2001-10-16 Florian Weimer <fw@deneb.enyo.de>
+
+ * trans.c (tree_transform): Adjust to recent change in
+ expand_asm_operands to implement named asm operands.
+
+2001-10-11 Ed Schonberg <schonber@gnat.com>
+
+ * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
+ renaming of discriminant for mutable record type.
+
+2001-10-11 Robert Dewar <dewar@gnat.com>
+
+ * validsw.adb: Properly save -gnatVn status.
+
+2001-10-11 Robert Dewar <dewar@gnat.com>
+
+ * usage.adb: Add lines for V switch.
+
+ * gnatcmd.adb (COMPILE): Revise translations for -gnatV
+ (/VALIDITY_CHECKING).
+
+2001-10-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_type.adb (Add_One_Interp): an operator for a type declared in
+ an extension of System is known to be visible.
+
+2001-10-11 Ed Schonberg <schonber@gnat.com>
+
+ * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
+ properly. Fixes regression on ACATS C34005G.
+
+2001-10-11 Robert Dewar <dewar@gnat.com>
+
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
+ loop in generic instance, since this is likely not very useful.
+
+2001-10-11 Robert Dewar <dewar@gnat.com>
+
+ * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
+ the error message for high integrity mode.
+
+ * rtsfind.adb (RTE): Give message if we try to find an entity that
+ is not available in high integrity mode.
+
+ * rtsfind.ads:
+ (OK_To_Use_In_HIE_Mode): New array.
+ (RTE): May return Empty in high integrity mode.
+
+ * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
+ OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
+ unit if not inlined always and in no runtime mode. Fixes problem
+ caused by new Rtsfind changes.
+
+ * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
+ body is deleted.
+
+ * rtsfind.adb (RTE): Make sure we do not try to load unit after
+ giving message for entity not available in high integrity mode.
+
+2001-10-11 Pascal Obry <obry@gnat.com>
+
+ * impunit.adb: Add GNAT.CRC32.
+
+2001-10-11 Ed Schonberg <schonber@gnat.com>
+
+ * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
+ properly the case where one universal operand in a non-static
+ exponentiation of a real literal.
+
+2001-10-11 Ed Schonberg <schonber@gnat.com>
+
+ * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
+ clause, return the gobal finalization list, for lack of anthing else.
+
+2001-10-11 Ed Schonberg <schonber@gnat.com>
+
+ * exp_ch7.adb (Make_Transient_Block): if statement is within
+ exception handler, always use new transient scope to place Clean
+ procedure.
+
+2001-10-11 Pascal Obry <obry@gnat.com>
+
+ * Makefile.in:
+ (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
+ (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
+ (GNATLS_RTL_OBJS): add g-crc32.o
+ (GNATMAKE_RTL_OBJS): add g-crc32.o
+
+ * ali-util.adb:
+ (CRC_Match): new function.
+ (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
+ instead of the previous simple checksum algorithm.
+ (Time_Stamp_Mismatch): use CRC_Match for comparison.
+ (Set_Source_Table): idem.
+
+ * ali-util.ads:
+ (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
+ instead of simple checksum.
+ (CRC_Match): new function.
+ (CRC_Error): new constant.
+
+ * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
+ a CRC now and not a simple checksum. A CRC uses lower-case hex
+ letters, fixes ambiguity in parsing.
+
+ * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
+ is what this variable will store.
+
+ * bcheck.adb: Change reference to chechsum in comments by CRC.
+ (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
+ rename All_Checksum_Match to All_CRC_Match. Change due to API
+ renaming since now GNAT does not use a simple checksum but a
+ CRC using GNAT.CRC32.
+
+ * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
+ now and not anymore a simple checksum.
+
+ * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
+ places.
+
+ * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
+
+ * scans.adb:
+ (Restore_Scan_State): rename Checksum to CRC.
+ (Save_Scan_State): idem.
+
+ * scans.ads:
+ With GNAT.CRC32.
+ (Checksum): rename to CRC.
+ (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
+
+ * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
+ GNAT.CRC32). Update copyright notice.
+
+ * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
+ GNAT.CRC32). Update copyright notice.
+
+ * scn.adb:
+ (Accumulate_Checksum): removed.
+ (Update): new procedure. Add a wide-character into the CRC.
+
+ * sinput-l.adb:
+ (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
+ (Load_File): fix initialization of S (change Source_Checksum to
+ Source_CRC)
+
+ * sinput-p.adb (Load_Project_File): rename Source_Checksum to
+ Source_CRC in S initialization.
+
+ * sinput.adb (Source_Checksum): renamed to Source_CRC.
+
+ * sinput.ads (Source_Checksum): renamed to Source_CRC.
+ Update comments for the CRC.
+
+ * types.adb (Hex): Use lowercase for the letter part.
+
+ * types.ads (Get_Hex_String): Returns the hexadecimal representation
+ for a word. This is currently used only for CRC. In previous version,
+ the checksum was using a representation with all letter being
+ upper-case. With the new implementation (using CRC) we do not remove
+ the 32th bit of the CRC, so we can have an upper-case starting letter
+ in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
+ It is ambigous since the CRC was optional and could be followed by
+ options like EB, EE. So now this routines uses lower-case letter for
+ the hexadecimal representation. Strange enough only lower case letters
+ where checked in Scan_ALI (even if this was not a possible case).
+
+ * gnatvsn.ads (Library_Version): changed to 3.15a.
+
+ * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
+ for the compiler.
+
+ * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
+ for the compiler.
+
+ * ali-util.adb: Redo previous change to avoid using word CRC everywhere
+ Add 2001 to copyright notice
+ (Accumulate_Checksum): Modify to use System.CRC32.
+
+ * ali-util.ads: Redo changes of previous revision to continue to use
+ the word Checksum. Add 2001 to copyright notice.
+
+ * ali.adb: Undo some of previous changes, not needed.
+ Keep the change for lower case letters in the checksum.
+
+ * ali.ads: Undo previous change not needed.
+
+ * bcheck.adb: Undo most of previous change, not needed.
+ But do use Checksums_Match for checksum comparison.
+
+ * gnatls.adb: Undo most of previous change, not needed.
+ But do use Checksums_Match for comparing checksums.
+
+ * lib-load.adb: Undo previous change, not needed.
+
+ * lib-writ.adb: Undo previous change, not needed.
+
+ * lib-writ.ads: Document that checksums use lower case,
+ not upper case letters.
+
+ * scans.adb: Undo previous change, not needed
+
+ * scans.ads: Undo previous change, not needed.
+
+ * scn-nlit.adb: Undo previous changes, not needed.
+
+ * scn-slit.adb: Undo previous change, not needed. Fix header format.
+
+ * scn.adb:
+ (Accumulate_Checksum): Use System.CRC32.
+ (Initialize_Checksum): New procedure.
+ Remove other changes of previous revision.
+
+ * sinput-p.adb: Undo previous change, not needed.
+
+ * sinput.adb: Undo previous change, not needed.
+
+ * sinput-l.adb: Undo previous change, not needed.
+
+ * sinput.ads: Undo previous change, not needed. Keep only comment
+ on new checksum algorithm
+
+ * Makefile.in: Add s-crc32 as needed, remove g-crc32.
+ Also remove a-tags and a-stream from GNAT sources.
+
+ * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
+
+ * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
+
+2001-10-11 Geert Bosch <bosch@gnat.com>
+
+ * einfo.h: Regenerate.
+
+ * nmake.ads: Regenerate.
+
+ * nmake.adb: Regenerate.
+
+ * sinfo.h: Regenerate.
+
+ * treeprs.adb: Regenerate.
+
+2001-10-10 Geert Bosch <bosch@gnat.com>
+
+ * gnat-style.texi: New file describing coding guidelines for Ada.
+
+2001-10-10 Ed Schonberg <schonber@gnat.com>
+
+ * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
+ is Flag174.
+
+2001-10-10 Geert Bosch <bosch@gnat.com>
+
+ * snames.ads: Add new names for project facility.
+
+ * snames.adb: Update to reflect snames.ads changes.
+
+ * snames.h: Update to reflect snames.ads changes.
+
+2001-10-10 Vincent Celier <celier@gnat.com>
+
+ * make.adb:
+ (Add_Switches): reflect the changes for the switches attributes
+ Default_Switches indexed by the programming language,
+ Switches indexed by the file name.
+ (Collect_Arguments_And_Compile): Idem.
+ Reflect the attribute name changes.
+
+ * prj-attr.adb:
+ (Initialisation_Data): Change the names of some packages and
+ attributes.
+ (Initialize): process case insensitive associative arrays.
+
+ * prj-attr.ads:
+ (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
+
+ * prj-dect.adb:
+ (Parse_Attribute_Declaration): For case insensitive associative
+ arrays, set the index string to lower case.
+
+ * prj-env.adb:
+ Reflect the changes of the project attributes.
+
+ * prj-nmsc.adb:
+ Replace Check_Naming_Scheme by Ada_Check and
+ Language_Independent_Check.
+
+ * prj-nmsc.ads:
+ Replaced Check_Naming_Scheme by 2 procedures:
+ Ada_Check and Language_Independent_Check.
+
+ * prj-proc.adb:
+ (Process_Declarative_Items): For case-insensitive associative
+ arrays, set the index string to lower case.
+ (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
+ Prj.Nmsc.Check_Naming_Scheme.
+
+ * prj-tree.adb:
+ (Case_Insensitive): New function
+ (Set_Case_Insensitive): New procedure
+
+ * prj-tree.ads:
+ (Case_Insensitive): New function
+ (Set_Case_Insensitive): New procedure
+ (Project_Node_Record): New flag Case_Insensitive.
+
+ * prj-util.adb:
+ (Value_Of): new function to get the string value of a single
+ string variable or attribute.
+
+ * prj-util.ads:
+ (Value_Of): new function to get the string value of a single
+ string variable or attribute.
+
+ * prj.adb:
+ (Ada_Default_Spec_Suffix): New function
+ (Ada_Default_Impl_Suffix): New function
+ Change definitions of several constants to reflect
+ new components of record types.
+
+ * prj.ads:
+ (Naming_Data): Change several components to reflect new
+ elements of naming schemes.
+ (Project_Data): New flags Sources_Present and
+ Language_Independent_Checked.
+ (Ada_Default_Spec_Suffix): New function.
+ (Ada_Default_Impl_Suffix): New function.
+
+ * snames.ads:
+ Modification of predefined names for project manager: added
+ Implementation, Specification_Exceptions, Implementation_Exceptions,
+ Specification_Suffix, Implementation_Suffix, Separate_Suffix,
+ Default_Switches, _Languages, Builder, Cross_Reference,
+ Finder. Removed Body_Part, Specification_Append, Body_Append,
+ Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
+ Gnatlink.
+
+ * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
+ Add comments.
+
+ * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
+ not that it is Nil_Variable_Value.
+
+ * prj.ads: Add ??? for uncommented declarations
+
+2001-10-10 Ed Schonberg <schonber@gnat.com>
+
+ * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
+ constant, do not indicate possible modification, so that gigi can
+ treat it as a bona fide constant.
+
+2001-10-10 Robert Dewar <dewar@gnat.com>
+
+ * sem_prag.adb: Add processing for pragma External.
+
+ * snames.ads: Add entry for pragma External.
+
+ * par-prag.adb: Add pragma External.
+
+ * snames.adb: Updated to match snames.ads.
+
+2001-10-10 Ed Schonberg <schonber@gnat.com>
+
+ * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
+ a dynamic task if the allocator appears in an indexed assignment
+ or selected component assignment.
+
+ * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
+ For a dynamic task in an assignment statement, use target of
+ assignment to generate meaningful name.
+
+2001-10-10 Ed Schonberg <schonber@gnat.com>
+
+ * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
+ a generic package.
+
+ * einfo.ads: Body_Entity is also defined for generic package.
+ Documentation change only
+
+ * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
+ others_choice for a discriminated component initialization,
+ convert discriminant references into the corresponding discriminals.
+
+ * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
+ only if original type is private and expression has to be wrapped
+ in a conversion.
+
+ * checks.adb:
+ (Apply_Constraint_Check): Do not perform length check
+ if expression is an aggregate with only an others_choice.
+ (Length_N_Cond): two references to the same in_parameter
+ (typically the discriminal in an init_proc) denote the same value.
+ Two useful optimization uncovered by bugfixes above.
+
+2001-10-10 Robert Dewar <dewar@gnat.com>
+
+ * xeinfo.adb: Change int to char in translation of enumeration types.
+ This fixes a problem in the C representation of component alignment.
+ Add 2001 to copyright notice
+
+2001-10-10 Richard Kenner <kenner@gnat.com>
+
+ * decl.c: (validate_size): Do check size of object of integral type
+ if it is a packed array type.
+
+2001-10-10 Richard Kenner <kenner@gnat.com>
+
+ * decl.c: (gnat_to_gnu_entity, case object): Also materialize
+ VAR_DECL for constant if not Is_Public but -O0.
+
+2001-10-10 Richard Kenner <kenner@gnat.com>
+
+ * misc.c (struct lang_hooks): Add new initializer to match GCC change.
+
+2001-10-10 Geert Bosch <bosch@gnat.com>
+
+ * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
+ use '/' as switch character, allowing for absolute file names.
+
+2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
+ FSF address.
+
+2001-10-08 Geert Bosch <bosch@gnat.com>
+
+ * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
+ Automatically build utilities when files need to be regenerated.
+
+2001-10-08 Geert Bosch <bosch@gnat.com>
+
+ * xsnames.adb: New utility for updating snames.ads and snames.adb
+
+2001-10-08 Zack Weinberg <zack@codesourcery.com>
+
+ * Make-lang.in (ADAFLAGS): Add -W -Wall.
+ (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
+ (gnat1): Also depend on attribs.o.
+ (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
+ * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
+ (ADAC): Set to @ADAC@ in stage1, $(CC) later.
+ (ADAFLAGS): Add -W -Wall.
+ (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
+ take out CFLAGS.
+
+ (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
+ s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
+ s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
+ Use $(ADAC), not $(CC), as compilation command.
+
+ (gnattools): Depend directly on tools to build, don't use
+ recursive make.
+ (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
+
+ * einfo.h, sinfo.h: New files (autogenerated).
+
+2001-10-08 Richard Henderson <rth@redhat.com>
+
+ * comperr.adb (Abort_In_Progress): New.
+ (Compiler_Abort): Use it to prevent recursion.
+
+2001-10-08 Robert Dewar <dewar@gnat.com>
+
+ * atree.adb: Set Error_Posted in Error node, helps error recovery.
+
+ * par-endh.adb (Output_End_Expected): We should also not test
+ Error_Posted on the Error node, since now it is always set.
+
+ * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
+ to help error recovery. Part of general work on 9407-004.
+
+ * par.adb: Add ??? for misuse of error
+
+ * sem_res.adb:
+ (Resolve): Defend against Error, fixes 9407-003.
+ (Resolve_Discrete_Subtype_Indication): Defend against Error.
+
+ * sinfo.ads (N_Error): Now has Etype field (which will be set
+ to Any_Type to help error recovery).
+
+2001-10-08 Richard Kenner <kenner@gnat.com>
+
+ * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
+ Consistently set MEM attributes from expression; fixes
+ bootstrap failure on x86.
+
+2001-10-08 Geert Bosch <bosch@gnat.com>
+
+ * 5oosinte.adb: Add 2001 to copyright notice.
+
+2001-10-08 Geert Bosch <bosch@gnat.com>
+
+ * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
+
+ * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
+
+2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
+
+2001-10-05 Geert Bosch <bosch@gnat.com>
+
+ * adaint.h: Small formatting fix.
+
+2001-10-04 Geert Bosch <bosch@gnat.com>
+
+ * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
+ Arg is int, not FILE *, in dummy version of functions.
+
+ * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
+ Arg is int, not FILE *.
+
+2001-10-04 Geert Bosch <bosch@gnat.com>
+
+ * 3lsoccon.ads: Added file, missed with initial check ins.
+
+ * 4lintnam.ads: Fix header format.
+ Change Linux to GNU/Linux.
+
+ * 5iosinte.adb: Change Linux to GNU/Linux.
+
+ * 5iosinte.ads: Change Linux to GNU/Linux.
+
+ * 5itaprop.adb: Change Linux to GNU/Linux.
+
+ * 5itaspri.ads: Change Linux to GNU/Linux.
+ Update copyright notice.
+
+ * 5lintman.adb: Change Linux to GNU/Linux.
+
+ * 5lml-tgt.adb: Change Linux to GNU/Linux.
+
+ * 5losinte.ads: Change Linux to GNU/Linux.
+
+ * 5lsystem.ads: Change Linux to GNU/Linux.
+
+ * 5qosinte.adb: Change Linux to GNU/Linux.
+
+ * 5qosinte.ads: Change Linux to GNU/Linux.
+
+ * 5qparame.ads: Change Linux to GNU/Linux.
+
+ * 5qtaprop.adb: Change Linux to GNU/Linux.
+
+ * 5qtaspri.ads: Change Linux to GNU/Linux.
+ Add 2001 to copyright notice.
+
+ * 5vintman.ads: Change Linux to GNU/Linux.
+ Fix header format. Add 2001 to copyright notice.
+
+ * g-soccon.ads: Change Linux to GNU/Linux.
+
+ * g-trasym.ads: Change Linux to GNU/Linux.
+ Add 2001 to copyright notice.
+
+ * memtrack.adb: Change Linux to GNU/Linux.
+
+ * s-intman.ads: Change Linux to GNU/Linux.
+ Add 2001 to copyright notice. Fix header format.
+
+ * s-stache.adb: Change Linux to GNU/Linux.
+
+ * adaint.c: Change Linux to GNU/Linux.
+
+ * cio.c: Change Linux to GNU/Linux.
+
+ * cstreams.c: Change Linux to GNU/Linux.
+
+ * init.c: Change Linux to GNU/Linux.
+
+ * gmem.c: Change Linux to GNU/Linux.
+
+ * tracebak.c: Change Linux to GNU/Linux.
+
+
+2001-10-02 Geert Bosch <bosch@gnat.com>
+
+ * misc.c (insert_default_attributes): Add dummy version.