45923 lines
1.8 MiB
45923 lines
1.8 MiB
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-04-09 Nicolas Setton <setton@adacore.com>
|
|
|
|
* s-osinte-darwin.ads: Fix wrong binding to struc timeval.
|
|
|
|
* s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
|
|
struct_timeval.
|
|
|
|
2009-04-09 Bob Duff <duff@adacore.com>
|
|
|
|
* exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
|
|
internally-generated nodes related to select statements to avoid
|
|
confusing the debugger.
|
|
|
|
2009-04-09 Pascal Obry <obry@adacore.com>
|
|
|
|
* make.adb: Ensure that all linker arguments are duplicated.
|
|
|
|
2009-04-09 Robert Dewar <dewar@adacore.com>
|
|
|
|
* sem_ch5.adb: Minor reformatting
|
|
|
|
2009-04-09 Vincent Celier <celier@adacore.com>
|
|
|
|
* vms_data.ads:
|
|
Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
|
|
New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
|
|
New qualifier /LXDEBUG=nnn for -gnatDnnn
|
|
For H820-010
|
|
|
|
* gnat_ugn.texi:
|
|
Update documentation for VMS qualifiers equivalent to -gnatGnn and
|
|
-gnatDnn
|
|
|
|
2009-04-09 Nicolas Setton <setton@adacore.com>
|
|
|
|
* s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
|
|
to match layout of siginfo_t in sys/signal.h.
|
|
|
|
* gcc-interface/Makefile.in: Add section for x86_64 darwin.
|
|
|
|
2009-04-09 Thomas Quinot <quinot@adacore.com>
|
|
|
|
* g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
|
|
|
|
2009-04-09 Nicolas Setton <setton@adacore.com>
|
|
|
|
* s-oscons-tmplt.c: Allow long lines in the generated spec.
|
|
Add generation of Darwin-specific constants needed when binding to the
|
|
pthread library.
|
|
|
|
2009-04-09 Robert Dewar <dewar@adacore.com>
|
|
|
|
* checks.adb:
|
|
(Insert_Valid_Check): Avoid unnecessary generation of junk declaration
|
|
when no invalid values exist, Avoid duplicate read of atomic variable.
|
|
|
|
* cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
|
|
(Standard_Unsigned): Set Is_Known_Valid
|
|
|
|
* sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
|
|
subtype declaration if no constraint.
|
|
(Set_Modular_Size): Set Is_Known_Valid if appropriate
|
|
(Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
|
|
|
|
2009-04-09 Robert Dewar <dewar@adacore.com>
|
|
|
|
* switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
|
|
switch.ads: for numeric switches, an optional equal sign is always
|
|
allowed.
|
|
|
|
2009-04-09 Vincent Celier <celier@adacore.com>
|
|
|
|
* prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
|
|
the case of file names is not significant.
|
|
|
|
2009-04-09 Vincent Celier <celier@adacore.com>
|
|
|
|
* errout.adb: Remove dependency on package Style
|
|
|
|
* style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
|
|
moved to Stylesw.
|
|
|
|
* stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
|
|
Styleg.
|
|
|
|
* errutil.adb, par.adb: Import Stylesw
|
|
|
|
2009-04-09 Arnaud Charlet <charlet@adacore.com>
|
|
|
|
* opt.ads: Fix typos.
|
|
|
|
2009-04-09 Robert Dewar <dewar@adacore.com>
|
|
|
|
* einfo.adb: Minor reformatting
|
|
|
|
2009-04-09 Robert Dewar <dewar@adacore.com>
|
|
|
|
* gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
|
|
units.
|
|
|
|
* styleg-c.ads, styleg-c.adb: Removed, no longer used.
|
|
|
|
2009-04-09 Robert Dewar <dewar@adacore.com>
|
|
|
|
* g-comver.adb: Minor reformatting.
|
|
|
|
2009-04-09 Thomas Quinot <quinot@adacore.com>
|
|
|
|
* lib-load.ads (Load_Unit): Update documentation.
|
|
|
|
2009-04-09 Ed Schonberg <schonberg@adacore.com>
|
|
|
|
* lib-load.adb (Load_Unit): When loading the parent of a child unit
|
|
named in a with_clause, retain the with_clause to preserve a
|
|
limited_with indication.
|
|
|
|
2009-04-09 Robert Dewar <dewar@adacore.com>
|
|
|
|
* sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
|
|
exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
|
|
sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
|
|
possible to replace an OR of two separate tests.
|
|
|
|
2009-04-09 Robert Dewar <dewar@adacore.com>
|
|
|
|
* binderr.adb, errout.adb, errutil.adb: New circuitry for handling
|
|
Maximum_Messages.
|
|
|
|
* erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
|
|
warning status as well.
|
|
|
|
* opt.ads (Maximum_Messages): New name for Maximum_Errors.
|
|
|
|
* switch-b.adb, switch-c.adb: Change name Maximum_Errors to
|
|
Maximum_Messages.
|
|
|
|
* bindusg.adb, usage.adb: Update line for -gnatm switch
|
|
|
|
* gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
|
|
-mnn binder switch.
|
|
|
|
2009-04-09 Robert Dewar <dewar@adacore.com>
|
|
|
|
* sem_ch10.adb: Minor reformatting.
|
|
|
|
2009-04-09 Bob Duff <duff@adacore.com>
|
|
|
|
* exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
|
|
Set Sloc of generated nodes for calls to Undefer_Aborts and
|
|
Save_Occurrence to No_Location, so the debugger ignores them and
|
|
therefore does not jump back and forth when single stepping.
|
|
|
|
2009-04-09 Robert Dewar <dewar@adacore.com>
|
|
|
|
* switch-b.adb: Minor reformatting.
|
|
|
|
2009-04-09 Robert Dewar <dewar@adacore.com>
|
|
|
|
* sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
|
|
sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
|
|
exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
|
|
sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
|
|
einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
|
|
tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
|
|
exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
|
|
sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
|
|
sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
|
|
sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
|
|
Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
|
|
|
|
2009-04-09 Robert Dewar <dewar@adacore.com>
|
|
|
|
* exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
|
|
|
|
* atree.h: Add Elist26
|
|
|
|
* gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
|
|
backends.
|
|
|
|
2009-04-09 Javier Miranda <miranda@adacore.com>
|
|
|
|
* exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
|
|
retrieve from the Dispatch_Table_Wrappers list the external name.
|
|
Addition of documentation.
|
|
(Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
|
|
used to export secondary dispatch tables (in the previous version of
|
|
the frontend only primary dispatch tables were exported). Addition of
|
|
documentation.
|
|
(Import_DT): New subprogram (internal of Make_Tags). Used to import a
|
|
dispatch table of a given tagged type.
|
|
(Make_Tags): Modified to import secondary dispatch tables.
|
|
|
|
* sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
|
|
(Constant_Redeclaration): Code cleanup.
|
|
|
|
* einfo.ads (Dispatch_Table_Wrapper): Renamed to
|
|
Dispatch_Table_Wrappers. Update documentation.
|
|
|
|
* einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
|
|
Renamed to Dispatch_Table_Wrappers.
|
|
|
|
* sem_util.adb (Collect_Interface_Components): Improve handling of
|
|
private types.
|
|
|
|
* atree.ads (Elist26, Set_Elist26): New subprograms
|
|
|
|
* atree.adb (Elist26, Set_Elist26): New subprograms
|
|
|
|
2009-04-09 Javier Miranda <miranda@adacore.com>
|
|
|
|
* sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
|
|
(Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
|
|
tagged types.
|
|
|
|
2009-04-09 Robert Dewar <dewar@adacore.com>
|
|
|
|
* s-direio.adb: Minor reformatting
|
|
|
|
* exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
|
|
|
|
2009-04-09 Robert Dewar <dewar@adacore.com>
|
|
|
|
* exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
|
|
|
|
2009-04-09 Pascal Obry <obry@adacore.com>
|
|
|
|
* a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
|
|
s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
|
|
a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
|
|
a-filico.ads: Add some missing overriding keywords.
|
|
|
|
2009-04-09 Pascal Obry <obry@adacore.com>
|
|
|
|
* a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
|
|
a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
|
|
a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
|
|
reformatting.
|
|
|
|
2009-04-09 Ed Schonberg <schonberg@adacore.com>
|
|
|
|
* sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
|
|
missing overriding indicator if the new declaration is not seen as
|
|
primitive.
|
|
|
|
2009-04-09 Thomas Quinot <quinot@adacore.com>
|
|
|
|
* exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
|
|
overflows in computation of bounds.
|
|
|
|
2009-04-09 Pascal Obry <obry@adacore.com>
|
|
|
|
* a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
|
|
typos in comment.
|
|
|
|
2009-04-09 Robert Dewar <dewar@adacore.com>
|
|
|
|
* sem_attr.adb (Check_Stream_Attribute): Check violation of
|
|
restriction No_Streams
|
|
|
|
* gnat_rm.texi: Clarify No_Streams restriction
|
|
|
|
* g-socket.adb: Minor reformatting.
|
|
|
|
2009-04-09 Thomas Quinot <quinot@adacore.com>
|
|
|
|
* g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
|
|
|
|
2009-04-09 Geert Bosch <bosch@adacore.com>
|
|
|
|
* exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
|
|
(Set_Result): Likewise.
|
|
(Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
|
|
conversion, as required by RM 4.6(31).
|
|
|
|
2009-04-08 Robert Dewar <dewar@adacore.com>
|
|
|
|
* checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
|
|
suppressed.
|
|
|
|
* exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
|
|
resolution steps.
|
|
|
|
2009-04-08 Robert Dewar <dewar@adacore.com>
|
|
|
|
* sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
|
|
No_Local_Allocators restriction preventing local instantiation.
|
|
|
|
2009-04-08 Thomas Quinot <quinot@adacore.com>
|
|
|
|
* sem_eval.adb: Minor comment fix
|
|
|
|
2009-04-08 Thomas Quinot <quinot@adacore.com>
|
|
|
|
* g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
|
|
New limited controlled type used to automate the initialization and
|
|
finalization of the sockets implementation.
|
|
(GNAT.Sockets.Initialize, Finalize): Make these no-ops
|
|
|
|
2009-04-08 Vincent Celier <celier@adacore.com>
|
|
|
|
* prj-attr.adb: New read-only project-level attribute Project_Dir
|
|
|
|
* prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
|
|
read-only attribute of the same name.
|
|
(Process_Declarative_Items): Call Add_Attributes with Project_Dir
|
|
(Recursive_Process): Ditto
|
|
|
|
* snames.adb: Add new standard name Project_Dir
|
|
|
|
* snames.ads: Add new standard name Project_Dir
|
|
|
|
2009-04-08 Thomas Quinot <quinot@adacore.com>
|
|
|
|
* checks.adb: Minor reformatting
|
|
|
|
2009-04-08 Vincent Celier <celier@adacore.com>
|
|
|
|
* vms_data.ads: Add documentation for new style keyword
|
|
OVERRIDING_INDICATORS
|
|
|
|
2009-04-08 Robert Dewar <dewar@adacore.com>
|
|
|
|
* sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
|
|
spec is in the current unit.
|
|
|
|
2009-04-08 Ed Schonberg <schonberg@adacore.com>
|
|
|
|
* sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
|
|
presence of entity.
|
|
|
|
* usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
|
|
|
|
2009-04-08 Vincent Celier <celier@adacore.com>
|
|
|
|
* vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
|
|
|
|
2009-04-08 Thomas Quinot <quinot@adacore.com>
|
|
|
|
* checks.ads: Minor reformatting
|
|
|
|
2009-04-08 Robert Dewar <dewar@adacore.com>
|
|
|
|
* gnat_rm.texi: Update documentation of pragma Obsolescent
|
|
|
|
* sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
|
|
be omitted, and allow Entity parameter to be omitted.
|
|
|
|
2009-04-08 Thomas Quinot <quinot@adacore.com>
|
|
|
|
* exp_util.adb: Minor comment fix
|
|
|
|
2009-04-08 Robert Dewar <dewar@adacore.com>
|
|
|
|
* g-socket.ads: Fix bad syntax in pragma Obsolescent
|
|
|
|
* par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
|
|
argument with no identifier following one that has an identifier. Was
|
|
missed in some cases.
|
|
|
|
* sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
|
|
identifier.
|
|
(Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
|
|
|
|
* snames.adb: Add Name_Policy
|
|
|
|
* snames.ads: Add Name_Policy
|
|
|
|
2009-04-08 Robert Dewar <dewar@adacore.com>
|
|
|
|
* gnat_rm.texi: Minor reformatting
|
|
|
|
* par-ch2.adb: Minor reformatting
|
|
|
|
2009-04-08 Robert Dewar <dewar@adacore.com>
|
|
|
|
* exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
|
|
|
|
2009-04-08 Robert Dewar <dewar@adacore.com>
|
|
|
|
* sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
|
|
properly in the presence of Remote_Types or Remote_Call_Interface.
|
|
|
|
* sem_util.adb: Add comment.
|
|
|
|
2009-04-08 Robert Dewar <dewar@adacore.com>
|
|
|
|
* ug_words: Add /ASSUME_VALID for -gnatB
|
|
|
|
* vms_data.ads: Add /ASSUME_VALID for -gnatB
|
|
|
|
* sem_cat.adb: Add clarifying commment
|
|
|
|
* a-direio.ads (Bytes): Make sure value is non-zero
|
|
|
|
2009-04-08 Ed Schonberg <schonberg@adacore.com>
|
|
|
|
* sem_util.adb (Is_Variable): If the prefix is an explicit dereference
|
|
that does not come from source, check for a rewritten function call in
|
|
prefixed notation before other forms of rewriting.
|
|
|
|
2009-04-08 Robert Dewar <dewar@adacore.com>
|
|
|
|
* Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
|
|
these are now obsolescent units used only for bootrapping with an
|
|
older compiler.
|
|
|
|
2009-04-08 Robert Dewar <dewar@adacore.com>
|
|
|
|
* gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
|
|
|
|
* sem_ch3.adb: Minor comment updates
|
|
|
|
2009-04-08 Ed Schonberg <schonberg@adacore.com>
|
|
|
|
* inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
|
|
that come from source.
|
|
|
|
2009-04-08 Tristan Gingold <gingold@adacore.com>
|
|
|
|
* gcc-interface/utils.c, gcc-interface/decl.c, gcc-interface/gigi.h:
|
|
Add support for pragma Thread_Local_Storage
|
|
|
|
2009-04-08 Ed Schonberg <schonberg@adacore.com>
|
|
|
|
* inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
|
|
by the back-end if it contains a call to a subprogram without a
|
|
previous spec that is declared in the same unit.
|
|
|
|
* errout.ads: Update comments on uses of dirs
|
|
|
|
2009-04-08 Robert Dewar <dewar@adacore.com>
|
|
|
|
* exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
|
|
|
|
2009-04-08 Tristan Gingold <gingold@adacore.com>
|
|
|
|
* sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
|
|
variables.
|
|
Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
|
|
|
|
2009-04-08 Vincent Celier <celier@adacore.com>
|
|
|
|
* prj-nmsc.adb:
|
|
(Add_Source): Add the mapping of the unit name to source file name in
|
|
the Unit_Sources_HT hash table, if the unit name is not null.
|
|
|
|
* prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
|
|
|
|
* prj.ads (Unit_Sources_Htable): New hash table instantiation
|
|
(Project_Tree_Data): New component Unit_Sources_HT
|
|
|
|
2009-04-08 Thomas Quinot <quinot@adacore.com>
|
|
|
|
* sem_ch8.adb: Minor reformatting.
|
|
Minor code reorganization.
|
|
|
|
2009-04-08 Robert Dewar <dewar@adacore.com>
|
|
|
|
* snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
|
|
snames.ads, freeze.adb, par-prag.adb: Add implementation of
|
|
pragma Thread_Local_Storage, setting new flag
|
|
Has_Pragma_Thread_Local_Storage in corresponding entities.
|
|
|
|
2009-04-08 Emmanuel Briot <briot@adacore.com>
|
|
|
|
* prj.ads: Update comment on switches file
|
|
|
|
* prj-nmsc.adb: Code clean up. Use renaming clauses.
|
|
|
|
2009-04-08 Robert Dewar <dewar@adacore.com>
|
|
|
|
* exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
|
|
|
|
2009-04-08 Thomas Quinot <quinot@adacore.com>
|
|
|
|
* ali-util.adb: Minor comment fix
|
|
|
|
2009-04-08 Ed Schonberg <schonberg@adacore.com>
|
|
|
|
* sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
|
|
appears in a context clause, and the enclosing package is mentioned in
|
|
a limited_with_clause.
|
|
(Use_One_Type): Reject clause if type is still incomplete.
|
|
|
|
2009-04-08 Emmanuel Briot <briot@adacore.com>
|
|
|
|
* prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
|
|
avoid copies of Source_Data variables when possible, since these
|
|
involve calls to memcpy() which are done too many times.
|
|
|
|
2009-04-08 Robert Dewar <dewar@adacore.com>
|
|
|
|
* exp_ch4.adb (Expand_Concatenate): Clean up code
|
|
|
|
2009-04-07 Thomas Quinot <quinot@adacore.com>
|
|
|
|
* exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
|
|
type for the case of concatenating a constrained array indexed by an
|
|
enumeration type.
|
|
|
|
2009-04-07 Ed Schonberg <schonberg@adacore.com>
|
|
|
|
* sem_ch6.adb (Check_Conformance): when checking conformance of an
|
|
operation that overrides an abstract operation inherited from an
|
|
interface, return False if only one of the controlling formals is an
|
|
access parameter.
|
|
|
|
2009-04-07 Ed Schonberg <schonberg@adacore.com>
|
|
|
|
* sem_ch8.adb (Analyze_Object_Renaming): additional error messages
|
|
mandated by AI05-105.
|
|
|
|
2009-04-07 Vincent Celier <celier@adacore.com>
|
|
|
|
* prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
|
|
|
|
2009-04-07 Thomas Quinot <quinot@adacore.com>
|
|
|
|
* usage.adb: Minor fix in usage message.
|
|
|
|
* sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
|
|
match declaration; the correct subtype is Node_Id, not Entity_Id,
|
|
because the expected node kind is an identifier, not a defining
|
|
identifier.
|
|
|
|
* switch-c.adb: Minor reformatting.
|
|
|
|
* uintp.adb: Minor reformatting.
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* exp_ch13.adb: Minor reformatting
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
|
|
against missing parent.
|
|
|
|
2009-04-07 Thomas Quinot <quinot@adacore.com>
|
|
|
|
* xoscons.adb: Minor reformatting
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* rtsfind.ads: Remove obsolete string concatenation entries
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
|
|
|
|
2009-04-07 Ed Schonberg <schonberg@adacore.com>
|
|
|
|
* sem_ch10.adb (Check_Body_Required): Handle properly imported
|
|
subprograms.
|
|
|
|
2009-04-07 Gary Dismukes <dismukes@adacore.com>
|
|
|
|
* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
|
|
Attribute_Address): When Init_Or_Norm_Scalars is True and the object
|
|
is of a scalar or string type then suppress the setting of the
|
|
expression to Empty.
|
|
|
|
* freeze.adb (Warn_Overlay): Also emit the warnings about default
|
|
initialization for the cases of scalar and string objects when
|
|
Init_Or_Norm_Scalars is True.
|
|
|
|
2009-04-07 Bob Duff <duff@adacore.com>
|
|
|
|
* s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
|
|
|
|
2009-04-07 Bob Duff <duff@adacore.com>
|
|
|
|
* gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
|
|
Form parameter of Text_Translation=No allows binary mode for Text_IO
|
|
files.
|
|
|
|
* gnat_rm.texi: Document Form parameter Text_Translation=xxx.
|
|
|
|
2009-04-07 Javier Miranda <miranda@adacore.com>
|
|
|
|
* exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
|
|
processing the bounds for bit packed arrays or VM target machines.
|
|
|
|
2009-04-07 Thomas Quinot <quinot@adacore.com>
|
|
|
|
* g-sothco.ads (Int_Access): Remove extraneous access type (use
|
|
anonymous access instead).
|
|
(Get_Socket_From_Set): Fix incorrectly reverted formals
|
|
Last and Socket to match the underlying C routine.
|
|
|
|
* g-socket.adb, g-socket.ads
|
|
(Get): Use named parameter associations instead of positional ones in
|
|
call go Get_Socket_From_Set, since this routine has two formals of the
|
|
same type.
|
|
(Image): New procedure.
|
|
|
|
* g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
|
|
g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
|
|
(C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
|
|
for type of Arg formal.
|
|
|
|
* sem_warn.adb: Minor reformatting
|
|
|
|
2009-04-07 Ed Schonberg <schonberg@adacore.com>
|
|
|
|
* sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
|
|
over record components.
|
|
|
|
2009-04-07 Nicolas Roche <roche@adacore.com>
|
|
|
|
* gsocket.h:
|
|
Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
|
|
has disappeared between VxWorks 6.4 and VxWorks 6.5
|
|
In RTP mode use time.h instead of times.h
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
|
|
|
|
2009-04-07 Kevin Pouget <pouget@adacore.com>
|
|
|
|
* exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
|
|
expanded code for constrained types.
|
|
|
|
2009-04-07 Ed Schonberg <schonberg@adacore.com>
|
|
|
|
* sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
|
|
AI05-105: in an object renaming declaration, anonymousness is a name
|
|
resolution rule.
|
|
|
|
* sem_ch8.adb (Analyze_Object_Renaming): Ditto.
|
|
|
|
2009-04-07 Arnaud Charlet <charlet@adacore.com>
|
|
|
|
* g-comlin.adb (Expansion): Fix old regression: also return directory
|
|
names when matching.
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* exp_ch4.adb:
|
|
(Expand_N_Op_Concat): Call Expand_Concatenate for all cases
|
|
(Expand_Concatenate): New name for Expand_Concatenate_String which has
|
|
been rewritten to handle all types.
|
|
(Expand_Concatenate_Other): Remove
|
|
|
|
2009-04-07 Ed Schonberg <schonberg@adacore.com>
|
|
|
|
* lib-xref.adb (Generate_Reference): A default subprogram in an
|
|
instance appears within the tree for the instance, but generates an
|
|
implicit reference in the ALI.
|
|
|
|
2009-04-07 Javier Miranda <miranda@adacore.com>
|
|
|
|
* sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
|
|
derived type that has discriminants, propagate the list of interfaces
|
|
to the corresponding new base type. In addition, propagate also
|
|
attribute Limited_Present (found working in this patch).
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* exp_ch4.adb: Rewrite concatenation expansion.
|
|
|
|
2009-04-07 Ed Schonberg <schonberg@adacore.com>
|
|
|
|
* sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
|
|
relevant to packages.
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* sem_attr.adb: Minor reformatting
|
|
|
|
* sem_ch6.adb: Minor reformatting
|
|
|
|
2009-04-07 Tristan Gingold <gingold@adacore.com>
|
|
|
|
* socket.c: Add more protections against S_resolvLib_ macros.
|
|
|
|
2009-04-07 Thomas Quinot <quinot@adacore.com>
|
|
|
|
* sem_attr.adb: Minor reformatting
|
|
|
|
2009-04-07 Ed Schonberg <schonberg@adacore.com>
|
|
|
|
* sem_ch6.adb (New_Overloaded_Entity): New predicate
|
|
Is_Overriding_Alias to handle properly types that inherit two homonym
|
|
operations that have distinct dispatch table entries.
|
|
|
|
2009-04-07 Emmanuel Briot <briot@adacore.com>
|
|
|
|
* s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
|
|
looking for the end of a parenthesis group
|
|
|
|
2009-04-07 Tristan Gingold <gingold@adacore.com>
|
|
|
|
* gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
|
|
|
|
* socket.c Don't use resolvLib_ macros if not defined.
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* g-socket.adb: Minor reformatting.
|
|
|
|
* g-socthi-mingw.adb: Minor reformatting
|
|
|
|
* g-sothco.ads: Minor reformatting
|
|
|
|
* exp_ch4.adb:
|
|
(Expand_Concatenate_String): Complete rewrite to generate efficient code
|
|
inline instead of relying on external library routines.
|
|
|
|
* s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
|
|
s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
|
|
obsolescent
|
|
|
|
2009-04-07 Ed Schonberg <schonberg@adacore.com>
|
|
|
|
* sem_attr.adb:
|
|
(Eval_Attribute): for attributes of array objects that are not strings,
|
|
attributes are not static if nominal subtype of object is unconstrained.
|
|
|
|
2009-04-07 Ed Schonberg <schonberg@adacore.com>
|
|
|
|
* sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
|
|
operations for a type T in an instance do not override each other,
|
|
when T is derived from a formal private type, the corresponding
|
|
operations inherited by a type derived from T outside
|
|
of the instance do not override each other either.
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
(Osint.Fail): Change calling sequence to have one string arg
|
|
(Make.Make_Failed): Same change
|
|
All callers are adjusted to use concatenation
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* exp_ch4.adb: Fix documentation typo
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* tbuild.ads: Minor reformatting
|
|
|
|
2009-04-07 Javier Miranda <miranda@adacore.com>
|
|
|
|
* exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
|
|
when compiling under ZFP runtime.
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* g-comlin.adb: Minor reformatting
|
|
|
|
2009-04-07 Thomas Quinot <quinot@adacore.com>
|
|
|
|
* socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
|
|
g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
|
|
g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
|
|
Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* gnat_ugn.texi: Document -gnatDnn/-gnatGnn
|
|
|
|
* opt.ads (Sprint_Line_Limit): New parameter
|
|
|
|
* sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
|
|
|
|
* switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
|
|
|
|
* usage.adb: Output information for -gnatGnn -gnatDnn
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* make.adb: Minor reformatting
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* mlib-tgt-specific-vms-alpha.adb: Minor reformatting
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* mlib-tgt-specific-vms-ia64.adb: Minor reformatting
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* checks.adb:
|
|
Remove Assume_Valid parameter from In_Subrange_Of calls
|
|
|
|
* sem_eval.adb:
|
|
(Is_Subrange_Of): Remove Assume_Valid parameter, not needed
|
|
(Is_In_Range): Remove incorrect use of Assume_Valid
|
|
(Is_Out_Of_Range): Remove incorrect use of Assume_Valid
|
|
|
|
* sem_eval.ads:
|
|
(Is_Subrange_Of): Remove Assume_Valid parameter, not needed
|
|
(Is_In_Range): Documentation cleanup
|
|
(Is_Out_Of_Range): Documentation cleanup
|
|
|
|
* gnat_rm.texi:
|
|
Add documentation for Assume_No_Invalid_Values pragma
|
|
|
|
* sem_ch12.adb: Minor reformatting
|
|
|
|
* sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
|
|
|
|
* sem_prag.adb: Improve error message.
|
|
|
|
* gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
|
|
LF/CR no longer recognized as line terminator
|
|
|
|
* switch.ads: Minor documentation improvement
|
|
|
|
* vms_data.ads: Minor reformatting
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* checks.adb (Determine_Range): Add Assume_Valid parameter
|
|
|
|
* checks.ads (Determine_Range): Add Assume_Valid parameter
|
|
|
|
* errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
|
|
Is_Null_Loop to suppress warnings in a loop body.
|
|
|
|
* exp_ch4.adb:
|
|
(Rewrite_Comparison): Major rewrite to accomodate invalid values
|
|
|
|
* exp_ch5.adb:
|
|
(Expand_N_Loop_Statement): Delete loop known not to execute
|
|
|
|
* opt.ads:
|
|
(Assume_No_Invalid_Values): Now set to False, and as documented, this
|
|
fully enables the proper handling of invalid values.
|
|
|
|
* sem_attr.adb:
|
|
New calling sequence for Is_In_Range
|
|
|
|
* sem_ch5.adb:
|
|
(Analyze_Iteration_Scheme): Accomodate possible invalid values
|
|
in determining if a loop range is null.
|
|
|
|
* sem_eval.adb:
|
|
(Is_In_Range): Add Assume_Valid parameter
|
|
(Is_Out_Of_Range): Add Assume_Valid_Parameter
|
|
(Compile_Time_Compare): Major rewrite to accomodate invalid values and
|
|
also to do more accurate and complete range analysis, catching more
|
|
cases.
|
|
|
|
* sem_eval.ads:
|
|
(Is_In_Range): Add Assume_Valid parameter
|
|
(Is_Out_Of_Range): Add Assume_Valid_Parameter
|
|
|
|
* sem_util.adb:
|
|
New calling sequence for Is_In_Range
|
|
|
|
* sinfo.adb:
|
|
(Suppress_Loop_Warnings): New flag
|
|
|
|
* sinfo.ads:
|
|
(Is_Null_Loop): Update documentation
|
|
(Suppress_Loop_Warnings): New flag
|
|
|
|
* gnat_ugn.texi: Document -gnatB switch
|
|
|
|
2009-04-07 Arnaud Charlet <charlet@adacore.com>
|
|
|
|
* gnatvsn.ads: Bump version number.
|
|
|
|
2009-04-07 Thomas Quinot <quinot@adacore.com>
|
|
|
|
* exp_ch3.adb: Minor rewording (comments)
|
|
|
|
2009-04-07 Robert Dewar <dewar@adacore.com>
|
|
|
|
* exp_disp.adb: Minor reformatting
|
|
|
|
2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
|
|
underlying type.
|
|
* gcc-interface/trans.c (lvalue_required_p): Likewise.
|
|
|
|
2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
* gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
|
|
Do not convert the result. Remove obsolete comment.
|
|
|
|
2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
* gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
|
|
DECL_CONTEXT.
|
|
(Subprogram_Body_to_gnu): Fix pasto.
|
|
|
|
2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
* gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
|
|
(void_type_decl_node): Remove.
|
|
(init_gigi_decls): Likewise.
|
|
(gnat_install_builtins): Declare.
|
|
(record_builtin_type): Likewise.
|
|
(create_type_stub_decl): Likewise.
|
|
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
|
|
(gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
|
|
artificial.
|
|
<E_Array_Subtype>: Use the index types, not only their name, in the
|
|
record giving the names of the bounds, if any.
|
|
For a packed array type, make it artificial only if the base type
|
|
was artificial as well. Remove redundant statement.
|
|
(gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
|
|
dummy types.
|
|
Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
|
|
(rest_of_type_decl_compilation_no_defer): Likewise.
|
|
* gcc-interface/misc.c (gnat_printable_name): Add missing guard.
|
|
* gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
|
|
and use create_type_stub_decl to build it.
|
|
(gnat_pushdecl): Rewrite condition.
|
|
(gnat_install_builtins): Remove bogus declaration.
|
|
(record_builtin_type): New function.
|
|
(finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
|
|
of types.
|
|
(create_type_stub_decl): New function.
|
|
(create_type_decl): Assert that the type is not dummy. If the type
|
|
hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
|
|
(build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
|
|
(build_vms_descriptor): Likewise.
|
|
(init_gigi_decls): Delete and move bulk of code to...
|
|
* gcc-interface/trans.c (gigi): ...here. Use record_builtin_type.
|
|
(emit_range_check): Add gnat_node parameter.
|
|
(emit_index_check): Likewise.
|
|
(emit_check): Likewise.
|
|
(build_unary_op_trapv): Likewise.
|
|
(build_binary_op_trapv): Likewise.
|
|
(convert_with_check): Likewise.
|
|
(Attribute_to_gnu): Adjust calls for above changes.
|
|
(call_to_gnu): Likewise.
|
|
(gnat_to_gnu): Likewise.
|
|
(assoc_to_constructor): Likewise.
|
|
(pos_to_constructor): Likewise.
|
|
(Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
|
|
(process_type): Do not create TYPE_DECL for dummy types.
|
|
|
|
2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
* gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
|
|
* gcc-interface/trans.c: Fix formatting throughout. Fix comments.
|
|
* gcc-interface/utils.c: Fix comments.
|
|
|
|
2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
* gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
|
|
move around.
|
|
(gnat_to_gnu_type): Move around.
|
|
(get_unpadded_type): Likewise.
|
|
* gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
|
|
Tidy comments.
|
|
|
|
2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
* gcc-interface/trans.c (check_for_eliminated_entity): New function.
|
|
(Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
|
|
(call_to_gnu): Invoke it instead of manually checking.
|
|
|
|
2009-04-04 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
* gcc-interface/utils.c (finish_record_type): Force structural equality
|
|
checks if the record type is discriminated.
|
|
|
|
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-30 Paolo Bonzini <bonzini@gnu.org>
|
|
|
|
* gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
|
|
of TREE_CONSTANT_OVERFLOW.
|
|
|
|
2009-03-30 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
PR rtl-optimization/323
|
|
* gcc-interface/misc.c (gnat_post_options): Set
|
|
flag_excess_precision_cmdline. Give an error for
|
|
-fexcess-precision=standard for processors where the option is
|
|
significant.
|
|
|
|
2009-03-27 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
PR c/39323
|
|
* gcc-interface/utils.c (create_field_decl): Use "unsigned int"
|
|
on bit_align.
|
|
|
|
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.
|