]> gcc.gnu.org Git - gcc.git/blob - gcc/ada/ChangeLog
resync
[gcc.git] / gcc / ada / ChangeLog
1 2005-06-14 Olivier Hainque <hainque@adacore.com>
2 Eric Botcazou <ebotcazou@adacore.com>
3
4 * s-mastop-irix.adb (Pop_Frame): Revert shorcuts avoiding calls to
5 exc_unwind, now that we are generating proper .debug_frame output for
6 that target.
7
8 * tracebak.c: Remove the mips-irix section, as we are now using the
9 s-mastop based unwinder again.
10 Under SPARC/Solaris, take into account the stack bias to compute the
11 frame offset. The stack bias is 0 for the V8 ABI and 2047 for the V9
12 ABI.
13
14 2005-06-14 Doug Rupp <rupp@adacore.com>
15
16 * g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
17
18 * g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb: New files
19
20 2005-06-14 Pascal Obry <obry@adacore.com>
21
22 * a-strhas.ads, a-secain.adb, a-secain.ads, a-rbtgso.ads, a-cgaaso.adb,
23 a-cgaaso.ads, a-cgarso.adb, a-cgcaso.adb, a-cgarso.ads, a-cgcaso.ads,
24 a-contai.ads, a-coprnu.ads, a-coprnu.adb: Fix header style (spaces in
25 package name).
26
27 * a-intnam-lynxos.ads, a-intnam-unixware.ads, a-intnam-tru64.ads,
28 a-intnam-aix.ads, a-intnam-irix.ads, a-excpol-interix.adb,
29 a-intnam-hpux.ads, a-intnam-linux.ads, a-intnam-dummy.ads,
30 a-intnam-os2.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
31 a-intnam-solaris.ads, a-caldel-vms.adb, a-calend-vms.ads,
32 a-intnam-vms.ads, a-excpol-abort.adb, a-intnam-mingw.ads,
33 a-intnam-vxworks.ads, a-numaux-vxworks.ads, s-osinte-unixware.adb,
34 s-osinte-unixware.ads, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads,
35 s-osinte-hpux.ads, s-osinte-solaris-posix.ads, a-intnam-freebsd.ads,
36 s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb,
37 s-osinte-lynxos.ads, s-tpopsp-lynxos.adb, s-osinte-tru64.adb,
38 s-osinte-tru64.ads, s-tpopsp-posix-foreign.adb, s-vxwork-alpha.ads,
39 s-osinte-aix.adb, s-osinte-aix.ads, s-osinte-aix-fsu.ads,
40 s-osinte-irix.adb, s-osinte-irix.ads, s-interr-sigaction.adb,
41 s-osinte-irix-athread.ads, s-osinte-hpux-dce.adb,
42 s-osinte-hpux-dce.ads, s-osinte-posix.adb, s-osinte-linux.ads,
43 s-vxwork-m68k.ads, s-osinte-linux-fsu.ads, s-vxwork-mips.ads,
44 s-osinte-dummy.ads, s-interr-dummy.adb, s-osinte-os2.adb,
45 s-osinte-os2.ads, s-osprim-os2.adb, s-osinte-interix.ads,
46 s-osprim-unix.adb, s-vxwork-ppc.ads, s-osinte-solaris.adb,
47 s-osinte-solaris.ads, s-osprim-solaris.adb, s-tpopsp-solaris.adb,
48 s-vxwork-sparcv9.ads, s-osinte-solaris-fsu.ads, s-interr-vms.adb,
49 s-osinte-vms.adb, s-osinte-vms.ads, s-osprim-vms.adb,
50 s-osprim-vms.ads, s-tpopde-vms.adb, s-tpopde-vms.ads,
51 s-osprim-mingw.adb, s-vxwork-xscale.ads, s-interr-vxworks.adb,
52 s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
53 s-tfsetr-vxworks.adb, s-tpopsp-vxworks.adb, s-intman-posix.adb,
54 s-osinte-fsu.adb, s-osprim-posix.adb, s-tfsetr-default.adb,
55 s-tpopsp-posix.adb, s-traces-default.adb, s-trafor-default.adb,
56 s-trafor-default.ads, s-tratas-default.adb, a-numaux-x86.adb,
57 a-numaux-x86.ads, a-astaco.adb, a-astaco.ads, a-caldel.adb,
58 a-caldel.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads, a-colien.adb,
59 a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-cwila1.ads,
60 a-cwila9.ads, ada.ads, a-decima.adb, a-diocst.ads, a-direio.adb,
61 a-dynpri.adb, a-dynpri.ads, a-excpol.adb, a-flteio.ads, a-fwteio.ads,
62 a-inteio.ads, a-interr.adb, a-intnam.ads, a-intsig.adb, a-intsig.ads,
63 a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
64 a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads,
65 a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads, a-ngcoty.adb, a-ngelfu.adb,
66 a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
67 a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads,
68 a-nucoty.ads, a-nudira.adb, a-nuelfu.ads, a-nuflra.adb, a-numaux.ads,
69 a-numeri.ads, a-reatim.adb, a-retide.adb, a-retide.ads, a-sequio.adb,
70 a-sequio.ads, a-sfteio.ads, a-sfwtio.ads, a-siocst.ads, a-siteio.ads,
71 a-siwtio.ads, a-ssicst.ads, a-ssitio.ads, a-ssiwti.ads, a-stmaco.ads,
72 a-storio.adb, a-strbou.adb, a-strfix.adb, a-string.ads, a-strmap.adb,
73 a-strsea.adb, a-strsup.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
74 a-stunau.ads, a-stwibo.adb, a-stwifi.adb, a-stwifi.ads, a-stwima.adb,
75 a-stwise.adb, a-stwisu.adb, a-suteio.adb, a-suteio.ads, a-swuwti.adb,
76 a-swuwti.ads, a-teioed.adb, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb,
77 a-tideau.adb, a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
78 a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinio.adb, a-timoau.adb,
79 a-timoio.adb, a-timoio.ads, a-tiocst.ads, a-titest.adb, a-titest.ads,
80 a-witeio.adb, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
81 a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtenau.adb, a-wtenio.adb,
82 a-wtfiio.adb, a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
83 a-wtinio.ads, a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, calendar.ads,
84 dec.ads, dec-io.adb, dec-io.ads, directio.ads, errno.c, g-bubsor.adb,
85 g-bubsor.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
86 g-casuti.adb, g-casuti.ads, g-debuti.ads, g-heasor.adb, g-heasor.ads,
87 g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb,
88 g-htable.ads, g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
89 g-memdum.adb, g-memdum.ads, g-sestin.ads, g-signal.ads, g-signal.adb,
90 gnat.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-table.adb,
91 g-table.ads, g-thread.adb, g-thread.ads, ioexcept.ads, i-vxwoio.adb,
92 i-vxwoio.ads, math_lib.adb, s-assert.adb, s-assert.ads, s-asthan.ads,
93 s-bitops.adb, s-bitops.ads, s-boarop.ads, s-carsi8.adb, s-carsi8.ads,
94 s-carun8.adb, s-carun8.ads, s-casi16.adb, s-casi16.ads, s-casi32.adb,
95 s-casi32.ads, s-casi64.adb, s-casi64.ads, s-casuti.adb, s-casuti.ads,
96 s-caun16.adb, s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
97 s-caun64.ads, s-direio.adb, s-direio.ads, sequenio.ads, s-errrep.adb,
98 s-errrep.ads, s-exnint.adb, s-exnint.ads, s-exnllf.adb, s-exnllf.ads,
99 s-exnlli.adb, s-exnlli.ads, s-expint.adb, s-expint.ads, s-explli.adb,
100 s-explli.ads, s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
101 s-expuns.adb, s-expuns.ads, s-fore.adb, s-fore.ads, s-geveop.adb,
102 s-geveop.ads, s-htable.adb, s-htable.ads, s-imgbiu.adb, s-imgbiu.ads,
103 s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
104 s-imgdec.ads, s-imgenu.adb, s-imgenu.ads, s-imgint.adb, s-imgint.ads,
105 s-imgllb.adb, s-imgllb.ads, s-imglld.adb, s-imglld.ads, s-imglli.adb,
106 s-imglli.ads, s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
107 s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwiu.adb, s-imgwiu.ads
108 s-interr.ads, s-io.adb, s-mantis.adb, s-mantis.ads, s-osprim.ads,
109 s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb,
110 s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
111 s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb,
112 s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads,
113 s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb,
114 s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
115 s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb,
116 s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads,
117 s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb,
118 s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
119 s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb,
120 s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads,
121 s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb,
122 s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
123 s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb,
124 s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads,
125 s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb,
126 s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
127 s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb,
128 s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads,
129 s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb,
130 s-pack59.ads, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
131 s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-scaval.adb,
132 s-scaval.ads, s-sequio.adb, s-sequio.ads, s-stache.adb, s-stache.ads,
133 s-stratt.adb, s-stratt.ads, s-strcom.adb, s-strcom.ads, s-strops.adb,
134 s-strops.ads, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb,
135 s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
136 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, s-tasini.adb,
137 s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
138 s-tasren.ads, s-tasres.ads, s-tassta.adb, s-tassta.ads, s-tasuti.adb,
139 s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
140 s-tpoben.adb, s-tpoben.ads, s-tpobop.ads, s-tporft.adb, s-tposen.ads,
141 s-traces.adb, s-traces.ads, s-tratas.adb, s-tratas.ads, s-valint.ads,
142 s-unstyp.ads, s-veboop.adb, s-veboop.ads, s-vector.ads, s-vercon.adb,
143 s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchjis.adb, s-wchjis.ads,
144 s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
145 s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads,
146 s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-wwdcha.ads,
147 s-wwdenu.adb, s-wwdwch.ads, text_io.ads, s-stchop.ads, s-stchop.adb,
148 s-stchop-vxworks.adb, a-intnam-darwin.ads, s-osinte-darwin.adb,
149 s-osinte-darwin.ads, s-vxwork-x86.ads, a-numaux-darwin.ads,
150 a-numaux-darwin.adb, a-chzla1.ads, a-chzla9.ads, a-lfztio.ads,
151 a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads,
152 a-ssizti.ads, a-stzbou.adb, a-stzfix.adb, a-stzfix.ads, a-stzmap.adb,
153 a-stzsea.adb, a-stzsup.adb, a-swunau.adb, a-swunau.ads, a-szuzti.adb,
154 a-szuzti.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads,
155 a-ztcoio.adb, a-ztcoio.ads, a-ztcstr.ads, a-ztdeau.adb, a-ztdeio.adb,
156 a-ztenio.adb, a-ztexio.adb, a-ztfiio.adb, a-ztflio.adb, a-ztgeau.adb,
157 a-ztinau.adb, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb, a-ztmoio.adb,
158 a-zttest.adb, a-zzunio.ads, g-utf_32.adb: Fix header style.
159 "GNU Ada" to GNAT, use proper casing for RUN-TIME.
160
161 2005-06-14 Jose Ruiz <ruiz@adacore.com>
162 Arnaud Charlet <charlet@adacore.com>
163
164 * a-sytaco.ads, a-sytaco.adb (Suspension_Object): These objects are no
165 longer protected objects. They have been replaced by lower-level
166 suspension objects made up by a mutex and a condition variable (or
167 their equivalent given a particular OS) plus some internal data to
168 reflect the state of the suspension object.
169 (Initialize, Finalize): Add this initialization procedure for
170 Suspension_Object, which is a controlled type.
171 (Finalize): Add the finalization procedure for Suspension_Object,
172 which is a controlled type.
173
174 * a-sytaco-vxworks.ads, a-sytaco-vxworks.adb: Remove this version of
175 Ada.Synchronous_Task_Control because there is no longer a need for a
176 VxWorks specific version of this package. Target dependencies
177 has been moved to System.Task_Primitives.Operations.
178
179 * s-osinte-mingw.ads (pCRITICAL_SECTION): Remove this type which is no
180 longer needed.
181 (InitializeCriticalSection, EnterCriticalSection,
182 LeaveCriticalSection, DeleteCriticalSection): Replace the type
183 pCriticalSection by an anonymous access type so that we avoid problems
184 of accessibility to local objects.
185
186 * s-taprop.ads, s-taprop-posix.adb, s-taprop-vxworks.adb,
187 s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
188 s-taprop-os2.adb, s-taprop-dummy.adb, s-taprop-hpux-dce.adb,
189 s-taprop-linux.adb, s-taprop-irix.adb, s-taprop-irix-athread.adb,
190 s-taprop-tru64.adb, s-taprop-lynxos.adb (Elaboration Code): No longer
191 set the environment task mask here.
192 (Current_State): Add this function that returns the state of the
193 suspension object.
194 (Set_False): Add this procedure that sets the state of the suspension
195 object to False.
196 (Set_True): Add this procedure that sets the state of the suspension
197 object to True, releasing the task that was suspended, if any.
198 (Suspend_Until_True): Add this procedure that blocks the calling task
199 until the state of the object is True. Program_Error is raised if
200 another task is already waiting on that suspension object.
201 (Initialize): Add this procedure for initializing the suspension
202 object. It initializes the mutex and the condition variable which are
203 used for synchronization and queuing, and it sets the internal state
204 to False.
205 (Finalize): Add this procedure for finalizing the suspension object,
206 destroying the mutex and the condition variable.
207
208 * s-taspri-posix.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
209 s-taspri-vms.ads, s-taspri-solaris.ads, s-taspri-os2.ads,
210 s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-linux.ads,
211 s-taspri-tru64.ads, s-taspri-lynxos.ads (Suspension_Object): New object
212 which provides a low-level abstraction (using operating system
213 primitives) for Ada.Synchronous_Task_Control.
214 This object is made up by a mutex (for ensuring mutual exclusion), a
215 condition variable (for queuing threads until the condition is
216 signaled), a Boolean (State) indicating whether the object is open,
217 and a Boolean (Waiting) reflecting whether there is a task already
218 suspended on this object.
219
220 * s-intman.ads, s-intman-irix.adb, s-intman-irix-athread.adb,
221 s-intman-dummy.adb, s-intman-solaris.adb, s-intman-vms.adb,
222 s-intman-vms.ads, s-intman-mingw.adb,
223 (Initialize_Interrupts): Removed, no longer used.
224
225 * s-inmaop-posix.adb, s-inmaop-vms.adb, s-inmaop-dummy.adb,
226 (Setup_Interrupt_Mask): New procedure.
227
228 * s-intman-vxworks.ads, s-intman-vxworks.adb: Update comments.
229
230 * s-inmaop.ads (Setup_Interrupt_Mask): New procedure
231
232 * s-interr.adb: Add explicit call to Setup_Interrupt_Mask now that
233 this is no longer done in the body of s-taprop
234 (Server_Task): Explicitely test for Pending_Action in case
235 System.Parameters.No_Abort is True.
236
237 * s-taasde.adb: Add explicit call to Setup_Interrupt_Mask now that this
238 is no longer done in the body of s-taprop
239
240 2005-06-14 Robert Dewar <dewar@adacore.com>
241
242 * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
243 system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
244 system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
245 system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
246 system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
247 system-linux-x86.ads, system-vxworks-mips.ads, system-vxworks-mips.ads,
248 system-os2.ads, system-interix.ads, system-solaris-sparc.ads,
249 system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
250 system-vms-zcx.ads, system-vxworks-ppc.ads, system.ads,
251 system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads,
252 system-linux-hppa.ads, system-vms_64.ads,
253 system-vxworks-alpha.ads: Minor comment update for
254 AI-362 (unit is Pure).
255
256 * a-chahan.ads, a-chahan.adb: Move Wide_Wide functions to Conversions
257 Add pragma Pure_05 for AI-362
258 Make remaining conversion functions obsolescent in Ada 95
259
260 * impunit.adb: Change a-swunha to a-swuwha and a-szunha to a-szuzha
261 Make Ada.Wide_Characters[.Unicode] available in Ada 95 mode
262 Add entries for a-wichun and a-zchuni
263 Add a-widcha a-zchara for AI-395
264 Add a-chacon (Ada.Characters.Conversions) to list of Ada 2005 routines
265
266 * Makefile.rtl: Change a-swunha to a-swuwha and a-szunha to a-szuzha
267 Add entries for a-wichun.o and a-zchuni.o
268 Entries for a-widcha.o and a-zchara.o
269 Add entry for a-chacon.o
270
271 * a-ztenau.adb: Add with of Ada.Characters.Conversions
272
273 * a-chacon.ads, a-chacon.adb: New files.
274
275 * a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
276 categorization violations.
277
278 * a-strmap.ads: Add pragma Pure_05 for AI-362
279 * a-strmap.ads: Add note on implicit categorization for AI-362
280
281 * a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
282
283 * par-prag.adb: Dummy entry for pragma Persistent_BSS
284 Set Ada_Version_Explicit, for implementation of AI-362
285 Add processing for pragma Pure_05 and Preelaborate_05
286 Add entry for Assertion_Policy pragma
287
288 * sem.adb: Make sure predefined units are compiled with GNAT_Mode true
289 when needed for proper processing of categorization stuff
290
291 * sem_cat.adb:
292 For several cases, make errors in preealborate units warnings,
293 instead of errors, if GNAT_Mode is set. For AI-362.
294
295 * sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
296 preelaborate unit is now warning if in GNAT mode
297
298 * s-stoele.ads: Document AI-362 for pragma preelaborate
299
300 2005-06-14 Doug Rupp <rupp@adacore.com>
301
302 * s-parame-vms.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads,
303 s-parame-ae653.ads, s-parame.ads, s-parame-vxworks.ads:
304 Default_Exception_Msg_Max_Length: new parameter.
305
306 * a-except.ads: (Exception_Msg_Max_Length): Set to
307 System.Parameters.Default_Exception_Msg_Max_Length
308 Add pragma Preelaborate_05 for AI-362
309 Add warnings off to allow categorization violations for AI-362
310
311 2005-06-14 Vincent Celier <celier@adacore.com>
312
313 * gnatsym.adb: Adapt to modification of package Symbols: procedure
314 Process is now in package Processing.
315
316 * symbols.ads, symbols.adb:
317 (Processing): New package, containing procedure Process
318
319 * symbols-vms-alpha.adb:
320 Replaced by symbols-vms.adb and symbols-processing-vms-alpha.adb
321
322 * symbols-vms.adb, symbols-processing-vms-alpha.adb,
323 symbols-processing-vms-ia64.adb: New files.
324
325 2005-06-14 Pascal Obry <obry@adacore.com>
326
327 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Replace the previous
328 implementation. This new version generates the proper DllMain routine
329 to initialize the SAL. The DllMain is generated in Ada and compiled
330 before being added as option to the library build command.
331
332 2005-06-14 Doug Rupp <rupp@adacore.com>
333 Pascal Obry <obry@adacore.com>
334
335 * adaint.c (__gnat_to_canonical_file_spec): Check for error returns in
336 call to decc$translate_vms.
337 (__gnat_locate_regular_file): Check if the path_val contains quotes. We
338 need to remove those quotes before catenating the filename.
339 (__gnat_locate_exec_on_path): improvements to the Win32 section:
340 * avoid allocating the memory twice for better efficiency;
341 * allocate 32K buffer for environment expansion as suggested by MSDN;
342 * prepend ".;" to the path so that current directory is searched too.
343
344 2005-06-14 Robert Dewar <dewar@adacore.com>
345
346 * a-except.adb (Exception_Identity): return Null_Id for null occurrence
347 instead of raising CE (AI-241)
348 Add warnings off to allow categorization violations for AI-362
349
350 2005-06-14 Robert Dewar <dewar@adacore.com>
351
352 * ali-util.adb, gnatbind.adb: Remove references to
353 Force_RM_Elaboration_Order.
354
355 * switch-b.adb: Remove recognition of -f switch
356
357 2005-06-14 Pascal Obry <obry@adacore.com>
358
359 * a-stzunb.adb, a-stwiun.adb, a-strunb.adb (Realloc_For_Chunk): New
360 implementation which is slightly more efficient.
361
362 2005-06-14 Gary Dismukes <dismukes@adacore.com>
363 Javier Miranda <miranda@adacore.com>
364 Ed Schonberg <schonberg@adacore.com>
365 Hristian Kirtchev <kirtchev@adacore.com>
366
367 * exp_ch4.adb (Expand_Allocator_Expression): When an initialized
368 allocator's designated type is a class-wide type, and compiling for
369 Ada 2005, emit a run-time check that the accessibility level of the
370 type given in the allocator's expression is not deeper than the level
371 of the allocator's access type.
372
373 (Tagged_Membership): Modified to gives support to abstract interface
374 types.
375
376 * a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
377 Access_Level.
378 (Descendant_Tag): New predefined function
379 (Is_Descendant_At_Same_Level): New predefined function
380 (Get_Access_Level): New private function
381 (Set_Access_Level): New private procedure
382 (IW_Membership): New function. Given the tag of an object and the tag
383 associated with an interface, evaluate if the object implements the
384 interface.
385 (Register_Interface_Tag): New procedure used to initialize the table of
386 interfaces used by the IW_Membership function.
387 (Set_Offset_To_Top): Initialize the Offset_To_Top field in the prologue
388 of the dispatch table.
389 (Inherit_TSD): Modified to copy the table of ancestor tags plus the
390 table of interfaces of the parent.
391 (Expanded_Name): Raise Tag_Error if the passed tag equals No_Tag.
392 (External_Tag): Raise Tag_Error if the passed tag equals No_Tag.
393 (Parent_Tag): Return No_Tag in the case of a root-level tagged type,
394 and raise Tag_Error if the passed tag equalis No_Tag, to conform with
395 Ada 2005 semantics for the new predefined function.
396
397 * exp_attr.adb (Expand_N_Attribute, case Attribute_Input): Generate
398 call to Descendant_Tag rather than Internal_Tag.
399 (Expand_N_Attribute, case Attribute_Output): Emit a check to ensure that
400 the accessibility level of the attribute's Item parameter is not deeper
401 than the level of the attribute's prefix type. Tag_Error is raised if
402 the check fails. The check is only emitted for Ada_05.
403 (Find_Stream_Subprogram): If a TSS exists on the type itself for the
404 requested stream attribute, use it.
405 (Expand_N_Attribute_Reference): If the designated type is an interface
406 then rewrite the referenced object as a conversion to force the
407 displacement of the pointer to the secondary dispatch table.
408 (Expand_N_Attribute_Reference, case 'Constrained): Return false if this
409 is a dereference of an object with a constrained partial view.
410
411 * exp_ch5.adb (Expand_N_Return_Statement): When a function's result
412 type is a class-wide type, emit a run-time check that the accessibility
413 level of the returned object is not deeper than the level of the
414 function's master (only when compiling for Ada 2005).
415
416 * exp_disp.ads, exp_disp.adb (Ada_Actions, Action_Is_Proc,
417 Action_Nb_Arg): Add entries for new Get_Access_Level and
418 Set_Access_Level routines in these tables.
419 (Make_DT): Generate a call to set the accessibility level of the
420 tagged type in its TSD.
421 (Make_DT): Code cleanup. The functionality of generating all the
422 secondary dispatch tables has been moved to freeze_record_type.
423 (Make_Abstract_Interface_DT): Minor code cleanup.
424 (Set_All_DT_Position): Code cleanup. As part of the code cleanup
425 this subprogram implements a new algorithm that provides the
426 same functionality and it is more clear in case of primitives
427 associated with abstract interfaces.
428 (Set_All_Interfaces_DTC_Entity): Removed. As part of the code
429 clean up, the functionality of this subprogram is now provided
430 by Set_All_DT_Position.
431 (Write_DT): New subprogram: a debugging procedure designed to be called
432 within gdb to display the dispatch tables associated with a tagged
433 type.
434 (Collect_All_Interfaces): New subprogram that collects the whole list
435 of interfaces that are directly or indirectly implemented by a tagged
436 type.
437 (Default_Prim_Op_Position): New subprogram that returns the fixed
438 position in the dispatch table of the default primitive operations.
439 (Expand_Interface_Actuals): New subprogram to generate code that
440 displaces all the actuals corresponding to class-wide interfaces to
441 reference the interface tag of the actual object.
442 (Expand_Interface_Conversion): New subprogram. Reference the base of
443 the object to give access to the interface tag associated with the
444 secondary dispatch table.
445 (Expand_Interface_Thunk): New subprogram that generates the code of the
446 thunk. This is required for compatibility with the C+ ABI.
447 (Make_Abstract_Interface_DT): New subprogram that generate the
448 declarations for the secondary dispatch tables associated with an
449 abstract interface.
450 (Set_All_Interfaces_DTC_Entity): New subprogram that sets the DTC_Entity
451 attribute for each primitive operation covering interface subprograms
452 (Expand_Dispatching_Call, Fill_DT_Entry, Make_DT, Set_All_DT_Position):
453 These subprograms were upgraded to give support to abstract interfaces
454
455 * rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
456 RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
457 RE_Set_Access_Level.
458 (RE_Unit_Table): Add entries for new Ada.Tags operations.
459 Add support to call the followig new run-time subprograms:
460 IW_Membership, Register_Interface_Tag, and Set_Offset_To_Top
461
462 * sem_ch3.adb (Constant_Redeclaration): Allow a deferred constant to
463 match its full declaration when both have an access definition with
464 statically matching designated subtypes.
465 (Analyze_Component_Declaration): Delete commented out code that was
466 incorrectly setting the scope of an anonymous access component's type.
467 (Process_Discriminants): Set Is_Local_Anonymous_Access for the type of
468 an access discriminant when the containing type is nonlimited.
469 (Make_Incomplete_Type_Declaration): Create an incomplete type
470 declaration for a record type that includes self-referential access
471 components.
472 (Check_Anonymous_Access_Types): Before full analysis of a record type
473 declaration, create anonymous access types for each self-referential
474 access component.
475 (Analyze_Component_Declaration, Array_Type_Declaration): Indicate that
476 an access component in this context is a Local_Anonymous_Access, for
477 proper accessibility checks.
478 (Access_Definition): Set properly the scope of the anonymous access type
479 created for a stand-alone access object.
480 (Find_Type_Of_Object): An object declaration may be given with an access
481 definition.
482 (Complete_Subprograms_Derivation): New subprogram used to complete
483 type derivation of private tagged types implementing interfaces.
484 In this case some interface primitives may have been overriden
485 with the partial-view and, instead of re-calculating them, they
486 are included in the list of primitive operations of the full-view.
487 (Build_Derived_Record_Type): Modified to give support to private
488 types implemening interfaces.
489 (Access_Definition): Reject ALL on anonymous access types.
490 (Build_Derived_Record_Type): In the case of Ada 2005, allow a tagged
491 type derivation to occur at a deeper accessibility level than the
492 parent type.
493 For the case of derivation within a generic body however, disallow the
494 derivation if the derived type has an ancestor that is a formal type
495 declared in the formal part of an enclosing generic.
496 (Analyze_Object_Declaration): For protected objects, remove the check
497 that they cannot contain interrupt handlers if not declared at library
498 level.
499 (Add_Interface_Tag_Components): New subprogram to add the tag components
500 corresponding to all the abstract interface types implemented by a
501 record type or a derived record type.
502 (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
503 Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
504 Process_Full_View, Record_Type_Declaration): Modified to give
505 support to abstract interface types
506 (Collect_Interfaces): New subprogram that collects the list of
507 interfaces that are not already implemented by the ancestors
508 (Process_Full_View): Set flag Has_Partial_Constrained_View appropriately
509 when partial view has no discriminants and full view has defaults.
510 (Constrain_Access): Reject a constraint on a general access type
511 if the discriminants of the designated type have defaults.
512 (Access_Subprogram_Declaration): Associate the Itype node with the inner
513 full-type declaration or subprogram spec. This is required to handle
514 nested anonymous declarations.
515 (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
516 Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
517 Process_Full_View, Record_Type_Declaration): Modified to give
518 support to abstract interface types
519 (Derive_Subprograms): Addition of a new formal to indicate if
520 we are in the case of an abstact-interface derivation
521 (Find_Type_Of_Subtype_Indic): Moved from the body of the package
522 to the specification because it is requied to analyze all the
523 identifiers found in a list of interfaces
524
525 * debug.adb: Complete documentation of flag "-gnatdZ"
526
527 * exp_ch3.adb: Implement config version of persistent_bss pragma
528 (Check_Stream_Attributes): Use Stream_Attribute_Available instead of
529 testing for TSS presence to properly enforce visibility rules.
530 (Freeze_Record_Type): Code cleanup. Modified to call the subprogram
531 Make_Abstract_Interfaces_DT to generate the secondary tables
532 associated with abstract interfaces.
533 (Build_Init_Procedure): Modified to initialize all the tags
534 corresponding.
535 (Component_Needs_Simple_Initialization): Similar to other tags,
536 interface tags do not need initialization.
537 (Freeze_Record_Type): Modified to give support to abstract interface
538 types.
539 (Expand_N_Object_Declaration): Do not generate an initialization for
540 a scalar temporary marked as internal.
541
542 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Handle properly an
543 in-out parameter that is a component in an initialization procedure,
544 whose constraint might depend on discriminants, and that may be
545 misaligned because of packing or representation clauses.
546 (Is_Legal_Copy): New predicate to determine whether a possibly
547 misaligned in-out actual can actually be passed by copy/return. This
548 is an error in case the type is by_reference, and a warning if this is
549 the consequence of a DEC import pragma on the subprogram.
550 (Expand_Call, Freeze_Subprogram): Modified to give support to abstract
551 interface types
552 (Expand_Inlined_Call): Mark temporary generated for the return value as
553 internal, so that no useless scalar normalization is generated for it.
554 (Expand_N_Subprogram_Declaration): Save unanalyzed body so calls to
555 null procedure can always be inlined.
556 (Expand_N_Subprogram_Declaration): If this is the declaration of a null
557 procedure, generate an explicit empty body for it.
558
559 * exp_util.ads, exp_util.adb (Find_Interface_ADT): New subprogram.
560 Given a type implementing an interface, returns the corresponding
561 access_disp_table value.
562 (Find_Interface_Tag): New subprogram. Given a type implementing an
563 interface, returns the record component containing the tag of the
564 interface.
565 (Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
566 previous ones that return the corresponding tag and access_disp_table
567 entities.
568 (Is_Predefined_Dispatching_Operation): Determines if a subprogram
569 is a predefined primitive operation.
570 (Expand_Subtype_From_Expr): If the expression is a selected component
571 within an initialization procedure, compute its actual subtype, because
572 the component may depend on the discriminants of the enclosing record.
573
574 * i-cpp.ads, i-cpp.adb:
575 This package has been left available for compatibility with previous
576 versions of the frontend. As part of the new layout this is now a
577 dummy package that uses declarations available at a-tags.ads
578
579 * par-ch3.adb (P_Identifier_Declarations): Give an error for use of
580 "constant access" and "aliased [constant] access" when not compiling
581 with -gnat05.
582 Suppress Ada 2005 keyword warning if -gnatwY used
583 (P_Identifier_Declarations): Add support for object declarations with
584 access definitions.
585 (Private_Extension_Declaration): Complete the documentation
586 (P_Derived_Type_Def_Or_Private_Ext_Decl): Fill the inteface_list
587 attribute in case of private extension declaration
588 (P_Type_Declaration): Mark as "abstract" the type declarations
589 corresponding with protected, synchronized and task interfaces
590 (P_Declarative_Items): "not" and "overriding" are overriding indicators
591 for a subprogram or instance declaration.
592
593 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Verify that an
594 instantiation that is a dispatching operation has controlling access
595 parameters that are null excluding.
596 Save and restore Ada_Version_Explicit, for implementation of AI-362
597 (Validate_Derived_Type_Instance): Add check for abstract interface
598 types.
599 (Analyze_Formal_Package): Establish Instantiation source for the copy of
600 the generic that is created to represent the formal package.
601 (Analyze_Package_Instantiation): Instantiate body immediately if the
602 package is a predefined unit that contains inlined subprograms, and
603 we are compiling for a Configurable_Run_Time.
604 (Instantiate_Formal_Subprogram): Indicate that null default subprogram
605 If the program has a null default, generate an empty body for it.
606
607 * sem_ch6.adb, sem_ch9.adb (Analyze_Subprograms_Declaration): Update
608 error message condition, null procedures are correctly detected now.
609 (New_Overloaded_Entity): Bypass trivial overriding indicator check
610 for subprograms in the context of protected types. Instead, the
611 indicator is examined in Sem_Ch9 while analysing the subprogram
612 declaration.
613 (Check_Overriding_Indicator): Check consistency of overriding indicator
614 on subprogram stubs as well.
615 (Analyze_Subprogram_Declaration): Diagnose null procedures declared at
616 the library level.
617 (Analize_Subprogram_Specification): When analyzing a subprogram in which
618 the type of the first formal is a concurrent type, replace this type
619 by the corresponding record type.
620 (Analyze_Subprogram_Body): Undo the previous work.
621 (Analyze_Procedure_Call): If the call has the form Object.Op, the
622 analysis of the prefix ends up analyzing the call itself, after which
623 we are done.
624 (Has_Interface_Formals): New subprogram subsidiary to analyze
625 subprogram_specification that returns true if some non
626 class-wide interface subprogram is found
627 (New_Overloaded_Entity): Modified to give support to abstract
628 interface types
629 (Conforming_Types): In Ada 2005 mode, conformance checking of anonymous
630 access to subprograms must be recursive.
631 (Is_Unchecked_Conversion): Improve the test that recognizes
632 instantiations of Unchecked_Conversion, and allows them in bodies that
633 are to be inlined by the front-end. When the body comes from an
634 instantiation, a reference to Unchecked_Conversion will be an
635 Expanded_Name, even though the body has not been analyzed yet.
636 Replace Is_Overriding and Not_Overriding in subprogram_indication with
637 Must_Override and Must_Not_Override, to better express intent of AI.
638 (Analyze_Subprogram_Body): If an overriding indicator is given, check
639 that it is consistent with the overrinding status of the subprogram
640 at this point.
641 (Analyze_Subprogram_Declaration): Indicate that a null procedure is
642 always inlined.
643 If the subprogram is a null procedure, indicate that it does not need
644 a completion.
645
646 * sem_disp.adb (Check_Controlling_Type): Give support to entities
647 available through limited-with clauses.
648 (Check_Dispatching_Operation): A stub acts like a body, and therefore is
649 allowed as the last primitive of a tagged type if it has no previous
650 spec.
651 (Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
652 to give support to abstract interface types
653
654 * sem_res.adb (Valid_Conversion): Perform an accessibility level check
655 in the case where the target type is an anonymous access type of an
656 object or component (that is, when Is_Local_Anonymous_Access is true).
657 Prevent the special checks for conversions of access discriminants in
658 the case where the discriminant belongs to a nonlimited type, since
659 such discriminants have their accessibility level defined in the same
660 way as a normal component of an anonymous access type.
661 (Resolve_Allocator): When an allocator's designated type is a class-wide
662 type, check that the accessibility level of type given in the
663 allocator's expression or subtype indication is not statically deeper
664 than the level of the allocator's access type.
665 (Check_Discriminant_Use): Diagnose discriminant given by an expanded
666 name in a discriminant constraint of a record component.
667 (Resolve_Explicit_Dereference): Do not check whether the type is
668 incomplete when the dereference is a use of an access discriminant in
669 an initialization procedure.
670 (Resolve_Type_Conversion): Handle conversions to abstract interface
671 types.
672 (Valid_Tagged_Conversion): The conversion of a tagged type to an
673 abstract interface type is always valid.
674 (Valid_Conversion): Modified to give support to abstract interface types
675 (Resolve_Actuals): Enable full error reporting on view conversions
676 between unrelated by_reference array types.
677 The rule for view conversions of arrays with aliased components is
678 weakened in Ada 2005.
679 Call to obsolescent subprogram is now considered to be a violation of
680 pragma Restrictions (No_Obsolescent_Features).
681 (Check_Direct_Boolean_Operator): If the boolean operation has been
682 constant-folded, there is nothing to check.
683 (Resolve_Comparison_Op, Resolve_Equality_Op, Resolve_Boolean_Op): Defer
684 check on possible violation of restriction No_Direct_Boolean_Operators
685 until after expansion of operands, to prevent spurious errors when
686 operation is constant-folded.
687
688 * sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
689 Has_Compatible_Type): Modified to give support to abstract interface
690 types.
691 (Interface_Present_In_Ancestor): New function to theck if some ancestor
692 of a given type implements a given interface
693
694 * sem_ch4.adb (Analyze_Call): Handle properly an indirect call whose
695 prefix is a parameterless function that returns an access_to_procedure.
696 (Transform_Object_Operation): Handle properly function calls of the
697 form Obj.Op (X), which prior to analysis appear as indexed components.
698 (Analyze_One_Call): Complete the error notification to help new Ada
699 2005 users.
700 (Analyze_Allocator): For an allocator without an initial value, where
701 the designated type has a constrained partial view, a discriminant
702 constraint is illegal.
703
704 2005-06-14 Robert Dewar <dewar@adacore.com>
705
706 * a-textio.adb (Set_Col): Fix two errors noticed recently, having to
707 do with treatment of Set_Col when positioned at end of line character.
708
709 2005-06-14 Robert Dewar <dewar@adacore.com>
710
711 * atree.adb: (Elist*): Protect against uninitialized field
712
713 2005-06-14 Ed Schonberg <schonberg@adacore.com>
714
715 * checks.adb (Install_Null_Excluding_Check): Do not generate checks
716 for an attribute reference that returns an access type.
717 (Apply_Discriminant_Check): No need for check if (designated) type has
718 constrained partial view.
719
720 (Apply_Float_Conversion_Check): Generate a short-circuit expression for
721 both bound checks, rather than a conjunction.
722 (Insert_Valid_Check): If the expression is an actual that is an indexed
723 component of a bit-packed array, force expansion of the packed element
724 reference, because it is specifically inhibited elsewhere.
725
726 2005-06-14 Vincent Celier <celier@adacore.com>
727
728 * clean.adb (Clean_Project): Correctly delete executable specified as
729 absolute path names.
730
731 * make.adb (Gnatmake): Allow relative executable path names with
732 directory information even when project files are used.
733 (Change_To_Object_Directory): Fail gracefully when unable to change
734 current working directory to object directory of a project.
735 (Gnatmake): Remove exception handler that could no longer be exercized
736 (Compile_Sources.Compile): Use deep copies of arguments, as some of them
737 may be deallocated by Normalize_Arguments.
738 (Collect_Arguments): Eliminate empty arguments
739
740 * gnatcmd.adb (All_Projects): New Boolean flag, initialized to False,
741 and set to True when -U is used for GNAT PRETTY or GNAT METRIC.
742 (Check_Project): Return False when Project is No_Project. Return True
743 when All_Projects is True.
744 (GNATCmd): Recognize switch -U for GNAT PRETTY and GNAT METRIC and set
745 All_Projects to True.
746 Minor reformatting
747
748 2005-06-14 Ed Schonberg <schonberg@adacore.com>
749 Javier Miranda <miranda@adacore.com>
750 Thomas Quinot <quinot@adacore.com>
751 Robert Dewar <dewar@adacore.com>
752 Hristian Kirtchev <kirtchev@adacore.com>
753 Gary Dismukes <dismukes@adacore.com>
754
755 * einfo.ads, einfo.adb (Is_Local_Anonymous_Access): New flag on
756 anonymous access types, to indicate that the accessibility level of
757 the type is determined by that of the enclosing declaration.
758 (Has_Persistent_BSS): New flag
759 (Set_Is_Primitive_Wrapper): Upgrade the barrier to allow the usage
760 of this attribute with functions.
761 (Is_Primitive_Wrapper): Remove the barrier.
762 (Has_Specified_Stream_Input, Has_Specified_Stream_Output,
763 Has_Specified_Stream_Read, Has_Specified_Stream_Write):
764 New subprograms.
765 (Set_Has_Specified_Stream_Input, Set_Has_Specified_Stream_Output,
766 Set_Has_Specified_Stream_Read, Set_Has_Specified_Stream_Write):
767 New subprograms.
768 (Is_Pure_Unit_Access_Type): New flag
769 (Abstract_Interfaces): Complete the assertion to cover all usages.
770 (Set_Is_Interface): Complete the assertion to cover all usages.
771 (Is_Primitive_Wrapper): New attribute.
772 (Is_Obsolescent): Now applies to all entities (though it is only set
773 for subprograms currently)
774 New flag: Has_Constrained_Partial_View, to implemente Ada 2005 AI-363,
775 which solves various problems concerning access subtypes.
776 (Has_Persistent_BSS): New flag
777 (Is_Primitive_Wrapper, Set_Primitive_Wrapper): Code cleanup.
778 Remove these subprograms because this attribute is currently
779 not used.
780 New entity flags:
781 Has_Specified_Stream_Input (Flag190)
782 Has_Specified_Stream_Output (Flag191)
783 Has_Specified_Stream_Read (Flag192)
784 Has_Specified_Stream_Write (Flag193)
785 Present in all type and subtype entities. Set for a given view if the
786 corresponding stream-oriented attribute has been defined by an
787 attribute definition clause. When such a clause occurs, a TSS is set
788 on the underlying full view; the flags are used to track visibility of
789 the attribute definition clause for partial or incomplete views.
790 (Is_Pure_Unit_Access_Type): New flag
791 Clarify use of Is_Internal.
792 (Is_Primitive_Wrapper): New attribute present in primitive subprograms
793 internally generated to wrap the invocation of tasks and protected
794 types that implement interfaces.
795 (Implementation_Base_Type): Documentation correction
796 (Is_Obsolescent): Now applies to all entities (though it is only set
797 for subprograms currently)
798 New flag: Has_Constrained_Partial_View, to implement Ada 2005 AI-363,
799 which solves various problems concerning access subtypes.
800
801 * exp_ch9.adb (Type_Conformant_Parameters): Introduce mode conformance
802 for examined parameters. Identify unequal parameter list lengths as
803 non-conformant parameters.
804 (Overriding_Possible): Do not check for "All" qualifier in declaration
805 of controlling access parameter, following prescription of AI-404.
806 (Build_Entry_Wrapper_Spec, Build_Entry_Wrapper_Body): New subprograms
807 that build the procedure body that wraps an entry invocation
808 (Build_Corresponding_Record, Build_Protected_Sub_Specification,
809 Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
810 Expand_N_Task_Body, Expand_N_Task_Type_Declaration): Modified to
811 give support to abstract interface types
812
813 * freeze.adb (Freeze_Entity): Issue error message if
814 Is_Pure_Unit_Access_Type set, unless we are in Ada 2005 mode and the
815 type has no storage pool (Ada 2005) AI-366.
816 Also modified to give support to abstract interface types
817 (Freeze_Subprogram): Issue an error for a dispatching subprogram with an
818 Inline_Always pragma.
819
820 * par-ch9.adb (P_Task_Items): Reserved words "not" or "overriding" may
821 now begin an entry declaration.
822 (P_Entry_Or_Subprogram_With_Indicator): New procedure in
823 P_Protected_Operation_Declaration_Opt. Parse an entry declaration or
824 a subprogram declaration preceded by an overriding indicator.
825 (P_Protected_Operation_Declaration_Opt): Add case for parsing entry
826 declarations or subprogram declarations preceded by reserved words
827 "not" or "overriding".
828 (P_Entry_Declaration): Update comment. Parse and check overriding
829 indicator, set semantic flags of entry declarations.
830 (P_Task): New error message in case of private applied
831 to a task type declaration.
832 (P_Protected): New error message in case of private applied
833 to a task type declaration.
834
835 * sem_ch7.adb (Preserve_Full_Attributes): Modified to handle the case
836 in which the full view of a type implementing an interface is a
837 concurrent type.
838 (Has_Overriding_Pragma): Remove obsolete implementation of AI-218.
839 Declare_Inherited_Private_Subprograms): If an explicit operation
840 overrides an operation that is inherited in the private part, mark the
841 explicit one as overriding, to enable overriding indicator checks.
842 (Preserve_Full_Attributes): Propagate Is_Unchecked_Union attribute from
843 full view to partial view, to simplify handling in back-end.
844
845 * sprint.adb: Print interface lists where needed: derived types,
846 protected types, task types.
847 output "is null" for null procedures. Part of implementation of
848
849 * sem_cat.adb (Validate_Access_Type_Declaration): Implement AI-366
850 relaxation of rules for access types in pure, shared passive partitions.
851
852 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Reorganize to
853 first read discriminants into temporary objects, performing checks on
854 the read values, then possibly performing discriminant checks on the
855 actual (if it is constrained), and only finally reading the components
856 into a constrained temporary object.
857 (Build_Elementary_Input_Call): Adjust the specific circuitry for the
858 case of reading discriminants of a mutable record type to recognize
859 the new form of the code generated by
860 Build_Mutable_Record_Read_Procedure.
861
862 * exp_tss.ads, exp_tss.adb (Make_Init_Proc_Name): Reimplement in terms
863 of a simple call to Make_TSS_Name.
864 (Make_TSS_Name_Local): Add the TSS name as the last thing in the name
865 buffer, in order for Is_TSS to work correctly on local TSS names.
866
867 * sem_attr.ads, sem_attr.adb (Resolve_Attribute, case 'Access): Use flag
868 Is_Local_Anonymous_Access to check legaliy of attributes in the
869 context of access components and stand-alone access objects.
870 (Stream_Attribute_Available): In Ada 95 mode, a stream attribute is
871 treated as available for a limited private type if there is an
872 attribute_definition_clause that applies to its full view, but not in
873 other cases where the attribute is available for the full view
874 (specifically, the sole fact that the full view is non-limited does not
875 make the attribute available for the partial view).
876 (Build_Access_Subprogram_Type): Diagnose attempt to apply 'access to a
877 non-overloaded intrinsic subprogram.
878 (Check_Stream_Attribute): Reject an attribute reference for an
879 unavailable stream attribute even if the prefix is not a limited type
880 (case of a 'Input attribute reference for an abstract, non-classwide
881 type)
882 (Stream_Attribute_Available): New function to determine whether a stream
883 attribute is available at a place.
884 (Check_Attribute): Use Stream_Attribute_Available instead of just
885 testing for TSS presence on the implementation base type.
886 (Analyze_Attribute): Modified to give support to task interfaces.
887 (Analyze_Access_Attribute): Add error check for use of an Access (or
888 Unrestricted_Access) attribute with a subprogram marked as
889 Inline_Always.
890 (Analyze_Attribute, case Attribute_Address): Add error check for use of
891 an Address attribute with a subprogram marked as Inline_Always.
892 Update Eval_Attribute to handle new value of Width from AI-395
893
894 * sem_ch13.adb (Analyze_Stream_TSS_Definition): New subprogram.
895 (Analyze_Attribute_Definition_Clause, cases Input, Output, Read, Write):
896 Factor common code across the stream-oriented attribute circcuits into
897 a new subprogram, Analyze_Stream_TSS_Definition. The new uniform
898 processing is functionally identical to the previous duplicated one,
899 except that an expression that denotes an abstract subprogram will now
900 be rejected, as mandated by AI-195 item 5.
901
902 * sem_util.ads, sem_util.adb (Type_Access_Level): Use flag
903 Is_Local_Anonymous_Access to apply accessibility checks to access
904 components and stand-alone access objects.
905 (Has_Discriminant_Dependent_Constraint): Moved to spec for use
906 elsewhere.
907 (Is_Potentially_Persistent_Type): New function
908 (Is_Dependent_Component_Of_Mutable_Object): If the enclosing object is
909 a heap-object whose type has a constrained partial view, the object is
910 unconstrained and the component may depend on a discriminant, making its
911 renaming illegal.
912
913 * sinfo.ads, sinfo.adb
914 (Must_Not_Override): Flag applicable to N_Entry_Declaration.
915 (Must_Override): Flag applicable to N_Entry_Declaration.
916 Indicate that interface_list can appear in single task and single
917 protected declarations.
918 Replace Is_Overriding and Not_Overriding with Must_Override and
919 Must_Not_Override, to better express intent of AI.
920 Is_Overriding, Not_Overriding: Ada2005 flags that indicate the presence
921 of an overriding indicator in a subprogram or instance.
922 Ada 2005 (AI-248) Null_Present can appear in a procedure specification.
923 Add the overriding indicator [[not] overriding] construct to the
924 following grammar productions:
925 ENTRY_DECLARATION
926 GENERIC_INSTANTIATION
927 SUBPROGRAM_SPECIFICATION
928
929 * par-ch10.adb (P_Compilation_Unit): Subprogram declaration or body
930 can start with an overriding indicator.
931
932 * par-ch6.adb (P_Subprogram): Recognize overriding indicator, and set
933 flags accordingly on subrogram specifications or instances.
934
935 * sem_ch8.adb:
936 (Analyze_Subprogram_Renaming): For a renaming_as_body, verify that the
937 overriding_indicator, if present, is consistent with status of spec.
938 Improve error message for null-excluding checks on controlling access
939 parameters.
940 (Check_In_Previous_With_Clause): Protect the frontend against
941 previously reported critical errors in the context clauses.
942 Save and restore Ada_Version_Explicit, for implementation of AI-362
943 (Analyze_Subprogram_Renaming): If the new entity is a dispatching
944 operation verify that controlling formals of the renamed entity that
945 are access parameters are explicitly non-null.
946 (Find_Expanded_Name): Improve error message when prefix is an illegal
947 reference to a private child unit.
948
949 * exp_imgv.adb, s-imgwch.ads, s-imgwch.adb, s-valwch.adb,
950 s-valwch.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdwch.adb:
951 Rewrite to correspond to new wide character names in AI-395
952
953 * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
954 default procedures.
955
956 2005-06-14 Ed Schonberg <schonberg@adacore.com>
957 Robert Dewar <dewar@adacore.com>
958
959 * errout.ads, errout.adb (Error_Msg_NW): Only emit warning on user
960 code, not on the bodies of predefined operations, to cut down on
961 spurious noise.
962
963 2005-06-14 Ed Schonberg <schonberg@adacore.com>
964
965 * exp_aggr.adb (Aggr_Size_OK): An array with no components can always
966 be expanded in place. The size computation does not require a
967 subtraction, which would raise an exception on a compiler built with
968 assertions when the upper bound is Integer'first.
969 (Flatten): For an array of composite components, take into account the
970 size of the components to determine whether it is safe to expand the
971 array into a purely positional representation.
972
973 2005-06-14 Thomas Quinot <quinot@adacore.com>
974
975 * exp_ch2.adb (Param_Entity): Take the case of an expanded_name
976 denoting a formal parameter into account.
977
978 2005-06-14 Ed Schonberg <schonberg@adacore.com>
979
980 * exp_ch7.adb (Find_Node_To_Be_Wrapped): If the node appears within
981 the entry_call alternative of a conditional entry call, wrap the
982 conditional entry call itself.
983
984 2005-06-14 Nicolas Setton <setton@adacore.com>
985 Ed Schonberg <schonberg@adacore.com>
986
987 * exp_dbug.ads, exp_dbug.adb (Get_Variant_Part): Fix the encoding of
988 the "simple_choice" member in a variant record, in accordance with the
989 description in the package spec: the information output for a constant
990 should be "S number", not "SS number".
991 (Get_Encoded_Name): Return at once if not generating code. Avoids name
992 overflow problem when compiling with -gnatct, for ASIS/gnatmetrics.
993
994 2005-06-14 Thomas Quinot <quinot@adacore.com>
995
996 * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): For an
997 RACW without any primitives, do not generate the if statement for
998 dispatching by name in the PolyORB/DSA case, as it would be malformed
999 (it would have an Elsif_Parts list that is not No_List, but with a
1000 length of 0).
1001
1002 2005-06-14 Robert Dewar <dewar@adacore.com>
1003
1004 * exp_intr.adb, par-ch5.adb: Minor fix to error message text
1005
1006 2005-06-14 Jose Ruiz <ruiz@adacore.com>
1007
1008 * fe.h: Add entry for Opt.Exception_Locations_Suppressed so that gigi
1009 can determine whether pragma Suppress_Exception_Locations is in effect.
1010
1011 * utils2.c (build_call_raise): Do not pass the file name to the
1012 exception handler if pragma Suppress_Exception_Locations is in effect.
1013 (build_allocator): Add and process arg IGNORE_INIT_TYPE.
1014
1015 2005-06-14 Emmanuel Briot <briot@adacore.com>
1016
1017 * g-debpoo.adb (Deallocate, Dereference): Improve output.
1018
1019 2005-06-14 Nicolas Roche <roche@adacore.com>
1020
1021 * g-diopit.adb (Wildcard_Iterator): Return directly if Path is equal
1022 to ""
1023 (Next_Level): Fix minor bug in handling of ../dir case
1024 (Read): Add dir separator to Directory name so that "" is understood as
1025 "/"
1026
1027 2005-06-14 Pascal Obry <obry@adacore.com>
1028
1029 * g-dynhta.ads, g-dynhta.adb (Reset): Free the table itself after
1030 releasing the items.
1031
1032 2005-06-14 Vincent Celier <celier@adacore.com>
1033 Cyrille Comar <comar@adacore.com>
1034
1035 * g-os_lib.ads, g-os_lib.adb (Non_Blocking_Spawn): Two new versions
1036 with output file descriptor and with output file name.
1037 (Dup, Dup2): Now global procedures as they are used by two subprograms
1038 (Copy): Allocate the 200K buffer on the heap rather than on the stack.
1039
1040 2005-06-14 Thomas Quinot <quinot@adacore.com>
1041
1042 PR ada/6717
1043
1044 * g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
1045 broadcast address.
1046 (Create_Selector): Bind listening socket used to create the signalling
1047 socket pair to 127.0.0.1 to limit the scope for 'theft' of connection.
1048 Set listen backlog to 1 to ensure that we detect socket theft by a
1049 failure of our own connect(2) call.
1050 (Check_Selector): Improve documentation of the selector mechanism.
1051 (Broadcast_Inet_Addr): New constant.
1052
1053 2005-06-14 Gary Dismukes <dismukes@adacore.com>
1054
1055 * layout.adb (Discrimify): Remove resetting of Vtype to the underlying
1056 type which turns out to be an incomplete and incorrect fix.
1057 (Layout_Array_Type): Use Underlying_Type when checking whether the scope
1058 of the type is declared in a record (for determination of insertion
1059 type).
1060 (SO_Ref_From_Expr): Test whether Vtype denotes a partial or full view of
1061 a private type and ensure that the primary entity is used for the type
1062 of the newly created function's V formal by taking the Etype of the
1063 view.
1064
1065 2005-06-14 Javier Miranda <miranda@adacore.com>
1066 Jose Ruiz <ruiz@adacore.com>
1067 Robert Dewar <dewar@adacore.com>
1068 Ed Schonberg <schonberg@adacore.com>
1069
1070 * lib-load.ads, lib-load.adb (Load_Unit): Addition of a new parameter
1071 that indicates if we are parsing a compilation unit found in a
1072 limited-with clause.
1073 It is use to avoid the circularity check.
1074
1075 * par.ads, par.adb (Par): Addition of a new parameter to indicate if
1076 we are parsing a compilation unit found in a limited-with clause. This
1077 is use to avoid the circularity check.
1078
1079 * par-load.adb (Load): Indicate Lib.Load_Unit if we are loading the
1080 unit as a consequence of parsing a limited-with clause. This is used
1081 to avoid the circularity check.
1082
1083 * sem_ch10.adb: Suppress Ada 2005 unit warning if -gnatwY used
1084 (Analyze_Context): Limited-with clauses are now allowed
1085 in more compilation units.
1086 (Analyze_Subunit_Context, Check_Parent): Protect the frontend
1087 againts previously reported critical errors in context clauses
1088 (Install_Limited_Withed_Unit): Code cleanup plus static detection
1089 of two further errors: renamed subprograms and renamed packages
1090 are not allowed in limited with clauses.
1091 (Install_Siblings): Do not install private_with_clauses on the package
1092 declaration for a non-private child unit.
1093 (Re_Install_Parents): When a parent of the subunit is reinstalled,
1094 reset visibility of child units properly.
1095 (Install_Withed_Unit): When a child unit appears in a with_clause of its
1096 parent, it is immediately visible.
1097
1098 2005-06-14 Ed Schonberg <schonberg@adacore.com>
1099 Emmanuel Briot <briot@adacore.com>
1100
1101 * lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
1102 declared within an inlined body as referenced, to prevent spurious
1103 warnings.
1104 (Output_One_Ref): If an entity renames an array component, indicate in
1105 the ALI file that this aliases (renames) the array. Capture as well
1106 function renamings that rename predefined operations.
1107 Add information about generic parent for package and subprogram
1108 instances.
1109 (Get_Type_Reference): For a subtype that is the renaming of an actual in
1110 an instantiation, use the first_subtype to ensure that we don't generate
1111 cross-reference information for internal types.
1112 For objects and parameters of a generic private type, retain the '*'
1113 indicator to distinguish such an entity from its type.
1114
1115 * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
1116 to store information about instantiated entities.
1117
1118 * ali.adb (Scan_ALI): Add support for parsing the reference to the
1119 generic parent
1120
1121 * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
1122 (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
1123 information.
1124
1125 2005-06-10 Doug Rupp <rupp@adacore.com>
1126 Arnaud Charlet <charlet@adacore.com>
1127 Olivier Hainque <hainque@adacore.com>
1128 Jose Ruiz <ruiz@adacore.com>
1129
1130 * Make-lang.in: Add initialize.o when needed.
1131 Remove obsolete references to RT_FLAGS.
1132 Add missing dependencies for sdefault.o
1133
1134 * initialize.c: New file.
1135
1136 * init.c [VMS] Declare ADA$ externs weak to fix build problem in IVMS.
1137 [VMS] cond_signal_table: Fix problem in declaration.
1138 [VMS] __gnat_error_handler: rewrite.
1139 Move all __gnat_initialize() routines to initialize.c
1140 Specialize the former "hpux" section to "hppa hpux", as this is what the
1141 section really is here for and we now have other hpux ports that need
1142 different contents.
1143 (__gnat_adjust_context_for_raise) i386-linux: First version of this
1144 function for this target. Adjust PC by one in the machine context. This
1145 adjustment was previously done in the MD_FALLBACK_FRAME_STATE_FOR, but
1146 it is more reliable to do that in the signal handler itself.
1147 (__gnat_install_handler) i386-linux: Set SA_SIGINFO in the sigaction
1148 flags, so that the handler is passed the context structure to adjust
1149 prior to the raise.
1150 (__gnat_error_handler) i386-linux: Adjust the signature to match what a
1151 SA_SIGINFO sigaction should look like. Call
1152 __gnat_adjust_context_for_raise before actually raising. Cleanup unused
1153 Machine_State_Operations stuff.
1154 Add conditional code so that the x86_64 is also supported.
1155
1156 2005-06-14 Pascal Obry <obry@adacore.com>
1157
1158 * mdll.adb (Get_Dll_Name): New routine that returns the DLL name given
1159 the library name.
1160
1161 2005-06-14 Robert Dewar <dewar@adacore.com>
1162
1163 * opt.ads, opt.adb: New flags for persistent_bss mode
1164 Add Ada_Version_Explicit, for implementation of AI-362
1165 Add Assertions_Enabled_Config and associated handling
1166 Needed since setting can be changed with Assertion_Policy pragma
1167 Add new flag Warn_On_Ada_2005_Compatibility
1168
1169 * switch-c.adb: Recognize -gnatwy/Y
1170 Set Ada_Version_Explicit, for implementation of AI-362
1171 The -gnatg switch now includes -gnatyu
1172
1173 * usage.adb: Add -gnatwy/Y
1174 Remove wrong asterisk on -gnatwX line
1175 Add line for -gnatyu switch
1176
1177 2005-06-14 Vincent Celier <celier@adacore.com>
1178
1179 * osint.adb (Add_Default_Search_Dirs): Put source and object
1180 directories of project files before directories coming from
1181 ADA_INCLUDE_PATH and ADA_OBJECTS_PATH.
1182
1183 2005-06-14 Robert Dewar <dewar@adacore.com>
1184
1185 PR ada/15613
1186
1187 * par-ch2.adb (Scan_Pragma_Argument): New procedure
1188 (P_Pragma): Implement RM 2.8(4) check for no pos args after named args
1189
1190 2005-06-14 Vincent Celier <celier@adacore.com>
1191
1192 * prep.adb (Preprocess): Ignore error when scanning the first token of
1193 a line.
1194
1195 2005-06-14 Vincent Celier <celier@adacore.com>
1196
1197 * prj-nmsc.adb (Suffix_For): Change default suffix for C++ to ".cpp"
1198 (Check_Stand_Alone_Library): If the specified reference symbol file does
1199 not exist, only issue a warning when the symbol policy is not
1200 Controlled. And, when symbol policy is Compliant, set the symbol
1201 policy to Autonomous.
1202
1203 2005-06-14 Vincent Celier <celier@adacore.com>
1204
1205 * prj-part.adb (Pre_Parse_Context_Clause): Call Set_Is_Not_Last_In_List
1206 when the project file in a with clause is not the last one, that is the
1207 project file name is followed by a comma.
1208 * prj-pp.adb: (First_With_In_List): New Boolean global variable
1209 (Print): Issue list of project files separated by commas in with clauses
1210 according to the values returned by Is_Not_Last_In_List.
1211 * prj-tree.ads, prj-tree.adb: (Is_Not_Last_In_List): New function
1212 (Set_Is_Not_Last_In_List): New procedure
1213
1214 2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
1215
1216 * s-atacco.ads: Put a pragma No_Strict_Aliasing on Object_Pointer.
1217
1218 2005-06-14 Robert Dewar <dewar@adacore.com>
1219
1220 * scng.adb: Add call to new Check_EOF routine
1221 (Accumulate_Checksum): Properly handle wide wide char >= 2 ** 24
1222 Add some comments regarding wide character handling
1223
1224 * style.ads, styleg.ads, styleg.adb: Implement new style switch -gnatyu
1225
1226 * stylesw.ads, stylesw.adb: Implement new style switch -gnatyu
1227
1228 * g-utf_32.ads, g-utf_32.adb (Is_UTF_32_Non_Graphic): Other_Format
1229 characters are now considered graphic characters and hence yield false
1230 in this call.
1231
1232 * nmake.adt: Modify header so that xnmake does not generate output
1233 files with multiple blank lines.
1234
1235 * treeprs.adt: Remove a blank line so that output from xtreeprs does
1236 not have an extra blank line
1237
1238 2005-06-14 Gary Dismukes <dismukes@adacore.com>
1239
1240 * sem_aggr.adb (Aggregate_Constraint_Checks): Apply a conversion to the
1241 expression when the component type is an anonymous access type to
1242 ensure that appropriate accessibility checks are done.
1243
1244 * sem_ch5.adb (Analyze_Assignment): Apply a implicit conversion to the
1245 expression of an assignment when the target object is of an anonymous
1246 access type. This ensures that required accessibility checks are done.
1247 (One_Bound): Move the check for type Universal_Integer to
1248 Process_Bounds.
1249 (Process_Bounds): Check whether the type of the preanalyzed range is
1250 Universal_Integer, and in that case set Typ to Integer_Type prior
1251 to setting the type of the original range and the calls to One_Bound.
1252
1253 2005-06-14 Ed Schonberg <schonberg@adacore.com>
1254
1255 * sem_case.adb (Expand_Others_Choice): Improve warning.
1256
1257 2005-06-14 Ed Schonberg <schonberg@adacore.com>
1258
1259 * sem_eval.adb (Subtypes_Statically_Match): Use discriminant
1260 constraint of full view if present, when other type is discriminated.
1261 (Eval_Relational_Op): Recognize tests of pointer values against Null,
1262 when the pointer is known to be non-null, and emit appropriate warning.
1263
1264 2005-06-14 Robert Dewar <dewar@adacore.com>
1265 Ed Schonberg <schonberg@adacore.com>
1266
1267 PR ada/10671
1268
1269 * sem_prag.adb: Implement pragma Persistent_BSS
1270 Remove obsolete pragma Persistent_Data, Persistent_Object
1271 Set Ada_Version_Explicit, for implementation of AI-362
1272 Test Ada_Version_Explicit for Preelaborate_05 and Pure_05
1273 Add processing for pragma Pure_05 and Preelaborate_05
1274 Add processing for Assertion_Policy pragma
1275 Add pragma identifiers for Assert
1276 (Analyze_Pragma, case Assert): Check number of arguments
1277 (Process_Inline): Additional guard against an illegal program, where the
1278 argument of the pragma is undefined, and warnings on redundant
1279 constructs are enabled.
1280 (Analyze_Pragma, case Obsolescent): Allow an optional second argument
1281 Ada_05 to this pragma, specifying that the pragma is only active in
1282 Ada_05 mode.
1283 (Check_Arg_Order): New procedure
1284 Add appropriate calls to this procedure throughout
1285 Also throughout, check entity name before doing any other checks
1286
1287 * snames.h snames.ads, snames.adb: Add pragma Persistent_BSS
1288 Remove obsolete pragma Persistent_Data, Persistent_Object
1289 Add entries for pragma Pure_05 and Preelaborate_05
1290 Add entries for Assertion_Policy pragma and associated names
1291 Add some names for pragma argument processing
1292
1293 * tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function
1294
1295 2005-06-14 Ed Schonberg <schonberg@adacore.com>
1296
1297 * sem_warn.adb (Warn_On_Known_Condition): If the constant expression
1298 appears within a negation (either from source or as a rewriting of
1299 inequality) adjust text of warning accordingly.
1300
1301 2005-06-14 Thomas Quinot <quinot@adacore.com>
1302
1303 * s-strxdr.adb: Follow AI95-00132
1304
1305 2005-06-14 Arnaud Charlet <charlet@adacore.com>
1306
1307 * s-tasren.adb (Exceptional_Complete_Rendezvous): Fix race condition.
1308
1309 2005-06-14 Arnaud Charlet <charlet@adacore.com>
1310 Jose Ruiz <ruiz@adacore.com>
1311
1312 * s-tposen.adb, s-tpobop.adb
1313 (Exceptional_Complete_Rendezvous): Save the occurrence and not only
1314 the exception id.
1315 (PO_Do_Or_Queue): Before queuing a task on an entry queue we check that
1316 there is no violation of the Max_Entry_Queue_Length restriction (if it
1317 has been set); Program_Error is raised otherwise.
1318 (Requeue_Call): Before requeuing the task on the target entry queue we
1319 check that there is no violation of the Max_Entry_Queue_Length
1320 restriction (if it has been set); Program_Error is raised otherwise.
1321
1322 2005-06-14 Robert Dewar <dewar@adacore.com>
1323
1324 * styleg.adb: Fix several remaining problems in -gnatyu switch
1325 Blank line count not reset at start
1326 Scanning outside source buffer in some cases
1327 Confusing message for blanks at end of file
1328 Non-empty blank lines not recognized
1329
1330 * nmake.adt: Modify header so that xnmake does not generate output
1331 files with multiple blank lines.
1332
1333 * treeprs.adt: Remove a blank line so that output from xtreeprs does
1334 not have an extra blank line
1335
1336 2005-06-14 Sergey Rybin <rybin@adacore.com>
1337
1338 * styleg-c.adb (Body_With_No_Spec): Remove ':' from warning message.
1339
1340 2005-06-14 Doug Rupp <rupp@adacore.com>
1341 Vincent Celier <celier@adacore.com>
1342
1343 * vms_conv.ads, vms_conv.adb: Remove "Library" command.
1344 Update copyright.
1345
1346 * vms_data.ads: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
1347 Remove "Library" command.
1348 Change keyword for style check -gnatyd from NOCRLF to
1349 DOS_LINE_ENDINGS.
1350 Remove useless second style check keyword NONE
1351 Remove help documentation for inexistent style check keyword
1352 RM_COLUMN_LAYOUT.
1353 Add help documentation for style check keywords DOS_LINE_ENDINGS,
1354 UNNECESSARY_BLANK_LINES and XTRA_PARENS
1355 Add UNNECESSARY_BLANK_LINES for -gnatyu
1356 Add qualifiers /ALL_PROJECTS (-U) for GNAT PRETTY and GNAT METRIC
1357
1358 * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
1359
1360 2005-06-14 Vincent Celier <celier@adacore.com>
1361
1362 * makegpr.adb (Compile_Link_With_Gnatmake): Invoke gnatmake with -d if
1363 gprmake was invoked with -d.
1364 (Compile_Sources): If -d was used, output the "completed ..." message
1365 for each compilation.
1366 (Scan_Arg): Recognize new switch -d
1367 When -c and at least one main is specified, set
1368 Unique_Compile to True to guarantee that no other sources will be
1369 compiled.
1370
1371 2005-06-14 Matthew Heaney <heaney@adacore.com>
1372
1373 * a-swunha.ads, a-swunha.adb: Removed. Replaced by a-swuwha.ad[sb]
1374 * a-swuwha.ads, a-swuwha.adb: New files
1375
1376 * a-szunha.ads, a-szunha.adb: Removed, replaced by a-szuzha.ad[sb]
1377 * a-szuzha.ads, a-szuzha.adb: New files.
1378
1379 * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
1380 a-crbtgk.adb, a-crbltr.ads, a-coorse.ads, a-coorse.adb, a-convec.ads,
1381 a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohata.ads, a-cohama.ads,
1382 a-cohama.adb, a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
1383 a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
1384 a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb,
1385 a-cohase.ads, a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads,
1386 a-swunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb, a-shcain.ads,
1387 a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads, a-stwiha.adb,
1388 a-strhas.adb, a-stzhas.adb: synchronized to the latest version of the
1389 Ada 2005 RM.
1390
1391 2005-06-10 Eric Botcazou <ebotcazou@adacore.com>
1392 Olivier Hainque <hainque@adacore.com>
1393 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1394 Pascal Obry <obry@adacore.com>
1395
1396 * gigi.h: (build_allocator): Add arg IGNORE_INIT_TYPE.
1397
1398 * trans.c (call_to_gnu): Issue a warning for users of Starlet when
1399 making a temporary around a procedure call because of non-addressable
1400 actual parameter.
1401 (process_freeze_entity): If entity is a private type, capture size
1402 information that may have been computed for the full view.
1403 (tree_transform, case N_Allocator): If have initializing expression,
1404 check type for Has_Constrained_Partial_View and pass that to
1405 build_allocator.
1406 (tree_transform, case N_Return_Statement): Pass extra arg to
1407 build_allocator.
1408
1409 * decl.c (annotate_value): Remove early return if -gnatR is not
1410 specified.
1411 (gnat_to_gnu_field): Don't make a packable type for a component clause
1412 if the position is byte aligned, the field is aliased, and the clause
1413 size isn't a multiple of the packable alignment. It serves no useful
1414 purpose packing-wise and would be rejected later on.
1415 (gnat_to_gnu_entity, case object): Pass extra arg to build_allocator.
1416
1417 PR ada/20515
1418 (gnat_to_gnu_entity): Remove use of macro _WIN32 which is wrong in the
1419 context of cross compilers. We use TARGET_DLLIMPORT_DECL_ATTRIBUTES
1420 instead.
1421 (create_concat_name): Idem.
1422
1423 2005-06-10 Robert Dewar <dewar@adacore.com>
1424 Eric Botcazou <ebotcazou@adacore.com>
1425 Ben Brosgol <brosgol@adacore.com>
1426 Cyrille Comar <comar@adacore.com>
1427 Sergey Rybin <rybin@adacore.com>
1428 Pascal Obry <obry@adacore.com>
1429
1430 * gnat_rm.texi: Add documentation for pragma Persistent_BSS
1431 Document second argument (Ada_05) of pragma Obsolescent
1432 Add note that call to subprogram marked with pragma Obsolescent
1433 is now considered to be a violation of program Restrictions
1434 (No_Obsolescent_Features).
1435 (Implementation Defined Pragmas) <Machine_Attribute>: Make it clear
1436 that only machine-dependent attributes are supported.
1437
1438 * gnat_ugn.texi:
1439 Commented out menu lines and empty section for gnatclean examples
1440 Document -gnatwy/Y
1441 Fix some over long lines
1442 Clarify and enhance documentation of ADA_PROJECT_PATH.
1443 Rework section 2.11.2(3) about linking with a non-GNU compiler.
1444 Mention new switch -fcallgraph-info.
1445 Mention new switch -fstack-usage.
1446 For gnatpp, replace '-notab' with '-N' and add this option to Index
1447 Corrected VMS example.
1448 VMS keyword for style check -gnatyd is DOS_LINE_ENDINGS, no NOCRLF
1449 Minor reformatting
1450 Add documentation for -gnatyu switch (unnecessary blank lines)
1451 Document new switch -U for GNAT PRETTY and GNAT METRIC
1452 Add note about Stdcall being handled as C convention on non Windows OS.
1453 Remove some junk typo in description of gnatbind -S switch
1454 Remove reference to Extensions_Allowed pragma
1455 Document the new order of the directories to be searched (source and
1456 object directories of project files before directories in ADA_*_PATH
1457 environment variables.
1458
1459 * g-trasym.ads: Document that IRIX is supported
1460
1461 2005-06-10 Arnaud Charlet <charlet@adacore.com>
1462
1463 * Makefile.in: Add initialize.o when needed.
1464 Adapt to new VMS package body Symbols and subunits
1465 No specialized version of a-sytaco is needed for VxWorks.
1466
1467 * a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files.
1468 * a-zchara.ads, a-widcha.ads: New files.
1469
1470 * system-hpux-ia64.ads: New file.
1471
1472 * i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which
1473 is imported from the VxWorks kernel.
1474
1475 2005-06-14 Robert Dewar <dewar@adacore.com>
1476
1477 * g-soliop-mingw.ads, g-soccon-vms.adb, a-swmwco.ads, exp_smem.adb,
1478 fmap.adb, a-szmzco.ads, s-traent-vms.adb, s-traent-vms.ads,
1479 a-direio.ads, a-exctra.ads, a-exexda.adb, a-exextr.adb, a-stream.ads,
1480 s-restri.ads, s-restri.adb, s-traent.adb, s-traent.ads, a-slcain.adb,
1481 a-stzhas.ads, a-tiinau.adb, comperr.adb, exp_ch11.adb, g-boubuf.adb,
1482 g-calend.adb, g-debpoo.ads, g-moreex.ads, gprep.adb, g-regpat.ads,
1483 i-cexten.ads, i-os2thr.ads, makeutl.ads, memroot.adb, mlib-prj.adb,
1484 namet.adb, namet.ads, prj-makr.adb, prj-proc.adb, sem_dist.adb,
1485 sem_elim.ads, s-valint.adb, s-vallli.adb, s-vallli.adb, s-vallli.ads,
1486 s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, scn.adb,
1487 s-tasinf.adb, targparm.adb, uname.adb, uname.ads, xnmake.adb,
1488 xsinfo.adb, a-direct.ads: Remove extra blank lines. Minor reformatting.
1489
1490 2005-06-14 Thomas Quinot <quinot@adacore.com>
1491
1492 * xeinfo.adb: Fix typo in comment
1493
1494 2005-06-14 Javier Miranda <miranda@adacore.com>
1495
1496 * repinfo.ads: Fix typo in comment
1497
1498 2005-06-14 Gary Dismukes <dismukes@adacore.com>
1499
1500 * s-finimp.adb (Parent_Tag): Delete this imported function (function
1501 Parent_Tag is now in the visible part of Ada.Tags).
1502 (Get_Deep_Controller): Call Ada.Tags.Parent_Tag directly instead of
1503 using imported function.
1504
1505 2005-06-14 Bernard Banner <banner@adacore.com>
1506
1507 * vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should
1508 also apply for handling support for VxSim 653.
1509
1510 2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
1511
1512 * xsnames.adb: Add automatic generation of snames.h.
1513
1514 2005-06-14 Thomas Quinot <quinot@adacore.com>
1515
1516 * gen-soccon.c: Add IP_MULTICAST_IF constant
1517 Minor reformatting and adjustments to prevent warnings.
1518
1519 2005-06-14 Pascal Obry <obry@adacore.com>
1520
1521 * seh_init.c: Do not include <sys/stat.h>. This is not needed.
1522
1523 2005-06-03 Andrew Pinski <pinskia@physics.uc.edu>
1524
1525 * trans.c (gnat_gimplify_expr): Call
1526 recompute_tree_invarant_for_addr_expr when we change
1527 the operand of the ADDR_EXPR.
1528
1529 2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1530
1531 * misc.c: Don't include errors.h.
1532
1533 2005-05-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1534
1535 * raise.c (db): Add ATTRIBUTE_PRINTF_2.
1536
1537 2005-05-29 Kazu Hirata <kazu@cs.umass.edu>
1538
1539 * cal.c, decl.c, init.c, raise.c, trans.c, utils2.c: Fix
1540 comment typos.
1541 * gnat_rm.texi, gnat_ugn.texi: Fix typos.
1542
1543 2005-05-16 Nathanael Nerode <neroden@gcc.gnu.org>
1544
1545 PR ada/20270
1546 * Makefile.in: Make TGT_LIB behave correctly.
1547
1548 2005-04-23 DJ Delorie <dj@redhat.com>
1549
1550 * misc.c: Adjust warning() callers.
1551
1552 2005-04-16 Laurent GUERBY <laurent@guerby.net>
1553
1554 PR ada/18847
1555 * a-nudira.adb (Value): Check for valid string.
1556 * a-nuflra.adb (Value): Likewise.
1557
1558 2005-04-11 Richard Sandiford <rsandifo@redhat.com>
1559
1560 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
1561
1562 2005-04-10 Kazu Hirata <kazu@cs.umass.edu>
1563
1564 * adaint.c, init.c, tracebak.c: Fix comment typos.
1565 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.
1566
1567 2005-04-07 Laurent GUERBY <laurent@guerby.net>
1568 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1569
1570 * Makefile.in: Add make ifeq define for hppa linux tasking support.
1571 * system-hpux.ads: Define Signed_Zeros to be True.
1572 * system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files.
1573
1574 2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
1575
1576 * adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
1577 raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment
1578 typos.
1579
1580 2005-03-30 Tom Tromey <tromey@redhat.com>
1581
1582 * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
1583
1584 2005-03-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
1585
1586 * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
1587
1588 2005-03-29 Robert Dewar <dewar@adacore.com>
1589
1590 * sem_res.adb (Resolve_Real_Literal): Generate warning if static
1591 fixed-point expression has value that is not a multiple of the Small
1592 value.
1593
1594 * opt.ads (Warn_On_Bad_Fixed_Value): New flag
1595
1596 * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
1597 nanoseconds.
1598
1599 * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
1600
1601 2005-03-29 Vincent Celier <celier@adacore.com>
1602
1603 * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
1604 (Build_Dynamic_Library.Version_String): Return the empty string when
1605 Lib_Version is empty or when the symbol policy is not Autonomous.
1606
1607 * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
1608 a symbol is not in the reference symbol file, increase the Major ID
1609 and set the Minor ID to 0.
1610 Use gsmatch=lequal instead of gsmatch=equal
1611
1612 2005-03-29 Doug Rupp <rupp@adacore.com>
1613
1614 * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
1615 name and translate.
1616
1617 2005-03-29 Javier Miranda <miranda@adacore.com>
1618
1619 * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
1620 (Inherit_DT): The first formal has been redefined as a Tag.
1621 This allows us the removal of the subprogram Get_TSD.
1622 (TSD): Replace the call to Get_TSD by the actual code.
1623
1624 * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
1625 (Make_DT): Upgrade the call to Inherit_TSD according to the
1626 new interface: the first formal is now a Tag.
1627
1628 * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
1629 redefined as a Tag.
1630 This change allows us to remove the subprogram Get_TSD.
1631 (CPP_Get_TSD): Subprogram removed.
1632 (TSD): Replace the call to CPP_Get_TSD by the actual code.
1633
1634 * rtsfind.ads: Remove support to call the run-time
1635 subprogram Get_TSD
1636
1637 2005-03-29 Robert Dewar <dewar@adacore.com>
1638
1639 * errutil.adb, errout.adb:
1640 Minor comment updates on Line_Terminator references
1641
1642 * par-ch10.adb: Add ??? comment about line terminator
1643
1644 * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
1645 (check dos line terminator).
1646 (Check_Line_Max_Length): New procedure, split off from the existing
1647 Check_Line_Terminator routine. Separating this out allows -gnatyf to
1648 be properly recognized.
1649
1650 * styleg.adb: Add ??? comment for line terminator reference
1651
1652 * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
1653 (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
1654
1655 * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
1656 (check dos line terminator).
1657 (Check_Line_Max_Length): New procedure, split off from the existing
1658 Check_Line_Terminator routine. Separating this out allows -gnatyf to
1659 be properly recognized.
1660
1661 * stylesw.ads, stylesw.adb:
1662 Add handling for new -gnatyd switch (check dos line terminator)
1663
1664 * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
1665 Recognize -gnatwb/-gnatwB switches
1666 Include Warn_On_Bad_Fixed_Value for -gnatg
1667
1668 * usage.adb:
1669 Add line for new -gnatyd switch (check dos line terminator)
1670
1671 * usage.adb: Add lines for -gnatwb/-gnatwB
1672
1673 * vms_data.ads: Add entry for NOCRLF (-gnatyd)
1674
1675 * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
1676
1677 * gnat_ugn.texi: Fix overlong lines
1678 Document new -gnatyd switch
1679 Document new -gnatwb/-gnatwB switches
1680
1681 2005-03-29 Ed Schonberg <schonberg@adacore.com>
1682
1683 * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
1684 order to retrieve the component list of the type, before examining
1685 individual components.
1686
1687 * sem_type.adb (Covers): Types are compatible if one is the base type
1688 of the other, even though their base types might differ when private
1689 views are involved.
1690
1691 2005-03-29 Thomas Quinot <quinot@adacore.com>
1692
1693 * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
1694 To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
1695 of using Set_Renaming_TSS. This ensures that the TSS bodies are not
1696 analyzed if expansion is disabled (which could otherwise cause spurious
1697 error messages if expansion has been disabled due to previous
1698 (unrelated) errors).
1699
1700 * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
1701 is disabled, the entity denoted by the argument is the access type
1702 itself, not an underlying record type, so there is no need to go back
1703 to the Corresponding_Remote_Type.
1704
1705 2005-03-29 Gary Dismukes <dismukes@adacore.com>
1706 Robert Dewar <dewar@adacore.com>
1707
1708 * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
1709 expand a call to an instance of
1710 Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
1711 Constructor actual of the instance. A class-wide membership
1712 check is also generated, to ensure that the tag passed to the instance
1713 denotes a type in the class.
1714 (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
1715 of Name_Generic_Dispatching_Constructor.
1716
1717 * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
1718 05 unit for AI-260-02).
1719
1720 * a-tgdico.ads: New file.
1721
1722 * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
1723 predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
1724
1725 * snames.ads, snames.adb (Preset_Names): Add entry for
1726 Generic_Dispatching_Constructor.
1727
1728 PR ada/20300
1729
1730 * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
1731 character type cases.
1732 (Analyze_Subprogram_Renaming): Add special handling for
1733 the case of renaming of stream attributes when the renaming denotes a
1734 generic formal subprogram association for an abstract formal subprogram.
1735 Check that the attribute is a primitive stream attribute (and not
1736 a class-wide stream attribute) and then rewrite the attribute name
1737 as the name of the appropriate compiler-generated stream primitive.
1738
1739 2005-03-29 Robert Dewar <dewar@adacore.com>
1740
1741 * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
1742 recursive calls.
1743 (Is_Possibly_Unaligned_Object): Correct typo that
1744 resulted in inaccurate result for unaligned scalars within records.
1745
1746 2005-03-29 Ed Schonberg <schonberg@adacore.com>
1747
1748 * freeze.adb (Freeze_Record_Type): If the type of the component is an
1749 itype whose parent is controlled and not yet frozen, do not create a
1750 freeze node for the itype if expansion is disabled.
1751
1752 2005-03-29 Vincent Celier <celier@adacore.com>
1753
1754 * make.adb (Gnatmake): Don't fail if the main project file is declared
1755 as having no Ada sources. Do not display message "no sources to
1756 compile" in quiet output.
1757
1758 2005-03-29 Doug Rupp <rupp@adacore.com>
1759
1760 * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
1761 extra tools.
1762
1763 2005-03-29 Robert Dewar <dewar@adacore.com>
1764
1765 * par-ch12.adb (P_Generic): Give better msg for illegal private generic
1766 child.
1767
1768 2005-03-29 Robert Dewar <dewar@adacore.com>
1769
1770 * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
1771 missing TYPE Improve the error message generated when compiling a
1772 limited interface in Ada83 or Ada95 mode.
1773
1774 2005-03-29 Robert Dewar <dewar@adacore.com>
1775
1776 * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
1777 rather than proceed ahead using a junk attribute name.
1778
1779 2005-03-29 Vincent Celier <celier@adacore.com>
1780
1781 * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
1782
1783 * prj-part.adb (Parse_Single_Project): Set the location of a project
1784 on its defining identifier, rather than on the reserved word "project".
1785
1786 * prj-proc.adb (Expression): Adapt to the fact that default of external
1787 references may be string expressions, not always literal strings.
1788 (Recursive_Process): Set Display_Name equal to Name
1789 when Location is No_Location, that is when there is no actual file.
1790 Get the Display_Name of the project from the source, when it is not a
1791 virtual project.
1792 (Process): Use the Display_Name in error messages
1793
1794 * prj-strt.adb (External_Reference): Allow default to be string
1795 expressions, not only literal strings.
1796
1797 2005-03-29 Vincent Celier <celier@adacore.com>
1798
1799 * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
1800 file and the reference symbol file to be the same file.
1801
1802 2005-03-29 Thomas Quinot <quinot@adacore.com>
1803
1804 * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
1805 forbid conversion of a local access-to-subprogram type to a remote one.
1806
1807 * sem_util.adb (Wrong_Type): For a record type that is the expanded
1808 equivalent type for a remote access-to-subprogram type, go back to the
1809 original RAS entity when displaying an error message, so the casing is
1810 the original source casing.
1811
1812 2005-03-29 Robert Dewar <dewar@adacore.com>
1813
1814 * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
1815 on param update.
1816
1817 2005-03-29 Ed Schonberg <schonberg@adacore.com>
1818
1819 * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
1820 subtype if code is being pre-analyzed, to prevent un-expanded
1821 references to protected formals, among others.
1822 (Analyze_Explicit_Dereference): If the overloaded prefix includes some
1823 interpretation that can be a call, include the result of the call as a
1824 possible interpretation of the dereference.
1825
1826 * sem_ch5.adb (Process_Bounds): Determine type of range by
1827 pre-analyzing a copy of the original range, and then analyze the range
1828 with the expected type.
1829
1830 * sem_res.adb (Check_Parameterless_Call): For an explicit dereference
1831 with an overloaded prefix where not all interpretations yield an
1832 access to subprogram, do not rewrite node as a call.
1833 (Resolve_Explicit_Dereference): Recognize the previous case and rewrite
1834 the node as a call once the context identifies the interpretation of
1835 the prefix whose call yields the context type.
1836 (Valid_Conversion): For the case of a conversion between
1837 local access-to-subprogram types, check subtype conformance using
1838 Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
1839 detailed error message.
1840
1841 2005-03-29 Ed Schonberg <schonberg@adacore.com>
1842
1843 * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
1844 indicator, indicate that the formal can never be null.
1845 (Process_Formals): If a formal has a non_null indicator, insert the
1846 resulting subtype immediately before the enclosing subprogram decl,
1847 and not at the beginning of the corresponding declarative part, to
1848 prevent access before elaboration (Ada2005).
1849
1850 2005-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1851
1852 PR ada/19956
1853 * utils.c (finish_record_type): Use variable_size when setting sizes.
1854
1855 2005-03-29 Robert Dewar <dewar@adacore.com>
1856
1857 * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
1858 guarantee Unix style line terminators for the output files, even when
1859 running on windows.
1860
1861 2005-03-29 Robert Dewar <dewar@adacore.com>
1862
1863 * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
1864 buffer if an exception is raised.
1865
1866 2005-03-29 Ed Falis <falis@adacore.com>
1867
1868 * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
1869 VxWorks 653 1.4
1870
1871 2005-03-29 Robert Dewar <dewar@adacore.com>
1872
1873 * sem_util.ads: Minor reformatting
1874 * gnat_rm.texi: Minor editing.
1875
1876 2005-03-29 Eric Botcazou <ebotcazou@adacore.com>
1877
1878 * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
1879 * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
1880
1881 2005-03-24 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
1882
1883 * adaint.c (__gnat_portable_spawn): Adjust cast.
1884
1885 2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
1886
1887 * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
1888
1889 2005-03-17 Pascal Obry <obry@adacore.com>
1890
1891 * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
1892 used.
1893
1894 * expect.c (__gnat_waitpid): Moved here from adaint.c.
1895 Reimplement under Win32 using Win32 API.
1896
1897 (__gnat_kill) [Win32]: Properly close the process handle before leaving
1898 this routine.
1899
1900 2005-03-17 Eric Botcazou <ebotcazou@adacore.com>
1901
1902 * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
1903 (DECL_RENAMED_OBJECT): New accessor macro.
1904 (SET_DECL_RENAMED_OBJECT): New setter macro.
1905
1906 * decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
1907 object in all cases. Attach the renamed object to the VAR_DECL.
1908 (gnat_to_gnu_field): Do not lift the record wrapper if the size of the
1909 field is not prescribed.
1910
1911 * misc.c (gnat_handle_option): Handle -gnatO separately.
1912 (gnat_print_decl) <VAR_DECL>: New case.
1913 Print the DECL_RENAMED_OBJECT node.
1914
1915 * lang.opt: Declare separate -gnatO option.
1916
1917 * trans.c (tree_transform) <N_Identifier>: If the object is a renaming
1918 pointer, replace it with the renamed object.
1919 <N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
1920 pointer type if the source is not a fat pointer type whose underlying
1921 array has the same non-zero alias set as that of the destination array.
1922
1923 2005-03-17 Javier Miranda <miranda@adacore.com>
1924
1925 * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
1926 (Get_Inheritance_Depth): Removed.
1927 (Set_Inheritance_Depth): Removed.
1928
1929 * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
1930 subprogram Get_Expanded_Name because it is not referenced by the
1931 frontend.
1932
1933 * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
1934 (CPP_Get_Inheritance_Depth): Removed.
1935 (CPP_Set_Inheritance_Depth): Removed.
1936
1937 * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
1938
1939 2005-03-17 Robert Dewar <dewar@adacore.com>
1940
1941 * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
1942 3, since we now expect GCC 3 to do all the work.
1943
1944 2005-03-17 Javier Miranda <miranda@adacore.com>
1945
1946 * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
1947 of one barrier to avoid wrong usage of this attribute.
1948
1949 * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
1950 First_Private_Entity.
1951
1952 * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
1953 the subprogram against wrong usage.
1954 Adapt the code to traverse the entities in the
1955 scope of a record_type because in addition to its usage regarding
1956 packages, this subprogram is also called by Expand_N_Freeze_Entity
1957 to install the visible declarations of the enclosing scope of a
1958 record_type_with_private to establish the proper visibility before
1959 freezing the entity and related subprograms.
1960
1961 2005-03-17 Ed Schonberg <schonberg@adacore.com>
1962
1963 * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
1964 entry formals.
1965
1966 2005-03-17 Thomas Quinot <quinot@adacore.com>
1967
1968 * exp_ch3.adb (Check_Attr): New subprogram.
1969 (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
1970 into a new Check_Attr subprogram, in order to provide a more
1971 explanatory error message (including the name of the missing attribute).
1972 (Stream_Operation_OK): Renamed from Stream_Operations_OK. This
1973 subprogram determines whether a default implementation exists for a
1974 given stream attribute.
1975 (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
1976 Determine whether to generate a default implementation for each stream
1977 attribute separately, as this depends on the specific attribute.
1978
1979 * exp_strm.adb (Make_Field_Attribute): For the case of an illegal
1980 limited extension where a stream attribute is missing for a limited
1981 component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
1982 generate a bogus reference to the missing attribute to prevent
1983 cascaded errors. Instead, generate a null statement.
1984
1985 * sem_attr.adb (Check_Stream_Attribute): A stream attribute is
1986 available for a limited type if it has been specified for an ancestor
1987 of the type.
1988
1989 2005-03-17 Ed Schonberg <schonberg@adacore.com>
1990
1991 * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
1992 entity is an operator.
1993
1994 2005-03-17 Thomas Quinot <quinot@adacore.com>
1995
1996 * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
1997 spec, to make this predicate available to other units.
1998
1999 * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
2000 reimplementing it.
2001
2002 * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
2003 when no distribution runtime library is available.
2004
2005 * sem_res.adb, sem_dist.adb: Disable expansion of remote
2006 access-to-subprogram types when no distribution runtime library is
2007 available.
2008 (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
2009 predicate available to other units.
2010
2011 * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
2012 spec, to make this predicate available to other units.
2013
2014 2005-03-17 Vincent Celier <celier@adacore.com>
2015
2016 * make.adb (Insert_Project_Sources): Make sure the Q is always
2017 initialized.
2018
2019 * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
2020 the default for the tree, not the global default naming.
2021
2022 * prj-proc.adb (Recursive_Process): No need to put the default naming
2023 in the project data, it's already there.
2024
2025 2005-03-17 Doug Rupp <rupp@adacore.com>
2026
2027 * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
2028
2029 * 5xcrtl.ads: Renamed to...
2030 * s-crtl-vms64.ads: ...this new file
2031
2032 2005-03-17 Robert Dewar <dewar@adacore.com>
2033
2034 PR ada/19519
2035
2036 * namet.adb (Copy_One_Character): Set proper wide character encoding
2037 for upper half character if we have upper half encoding.
2038
2039 2005-03-17 Robert Dewar <dewar@adacore.com>
2040
2041 * par.adb (Par): Improved msg for attempt to recompile predefined unit
2042
2043 2005-03-17 Thomas Quinot <quinot@adacore.com>
2044
2045 * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
2046 tagged limited type, the TSS is a newly built renaming declaration:
2047 insert it using Set_TSS, not Copy_TSS.
2048
2049 2005-03-17 Javier Miranda <miranda@adacore.com>
2050
2051 * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
2052 Try_Object_Operation): Analyze the object that is accessible
2053 through the prefix of the subprogram call before we apply
2054 the transformation of the object-operation notation.
2055
2056 2005-03-17 Jose Ruiz <ruiz@adacore.com>
2057
2058 * s-taprob.adb (Initialize_Protection): Initialize the protected
2059 object's owner to Null_Task.
2060 (Lock): If pragma Detect_Blocking is in effect and the caller of this
2061 procedure is already the protected object's owner then Program_Error
2062 is raised. In addition the protected object's owner is updated.
2063 (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
2064 of this procedure is already the protected object's owner then
2065 Program_Error is raised.
2066 In addition the protected object's owner is updated.
2067 (Unlock): Remove the ownership of the protected object.
2068
2069 * s-taprob.ads (Protection): Add the field Owner, used to store the
2070 protected object's owner.
2071 This component is needed for detecting one type of potentially blocking
2072 operations (external calls on a protected subprogram with the same
2073 target object as that of the protected action). Document the rest of
2074 the components.
2075
2076 * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
2077 Initialize the protected object's owner to Null_Task.
2078 (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
2079 caller of this procedure is already the protected object's owner then
2080 Program_Error is raised.
2081 Do not raise Program_Error when this procedure is called from a
2082 protected action.
2083 (Unlock_Entries): Remove the ownership of the protected object.
2084 (Lock_Entries): If pragma Detect_Blocking is in effect and the caller
2085 of this procedure is already the protected object's owner then
2086 Program_Error is raised.
2087 Do not raise Program_Error when this procedure is called from
2088 a protected action.
2089
2090 * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
2091 used to store the protected object's owner.
2092
2093 * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
2094 effect and this procedure (a potentially blocking operation) is called
2095 from whithin a protected action, Program_Error is raised.
2096 (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
2097 and this procedure (a potentially blocking operation) is called from
2098 whithin a protected action, Program_Error is raised.
2099
2100 2005-03-17 Vincent Celier <celier@adacore.com>
2101 Nicolas Setton <setton@adacore.com>
2102
2103 * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
2104 switch, not supported by the linker on Darwin. Add '_' before
2105 <library>init, as this character is added unconditionally by the
2106 compiler.
2107 (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
2108 correct one ".dylib". This fixes detection of the archive files when
2109 building library projects.
2110
2111 2005-03-17 Vincent Celier <celier@adacore.com>
2112
2113 * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
2114 -gnat83, -gnat95 and -gnat05.
2115
2116 2005-03-17 Vasiliy Fofanov <fofanov@adacore.com>
2117
2118 * gnat_ugn.texi: Document gnatmem restriction
2119
2120 2005-03-17 Thomas Quinot <quinot@adacore.com>
2121
2122 * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
2123 cleanup
2124
2125 2005-03-17 Robert Dewar <dewar@adacore.com>
2126
2127 * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
2128 a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
2129 s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
2130
2131 * casing.adb: Comment improvements
2132
2133 2005-03-17 Pascal Obry <obry@adacore.com>
2134
2135 * g-expect.adb: Minor reformatting.
2136
2137 2005-03-15 Zack Weinberg <zack@codesourcery.com>
2138
2139 * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
2140 (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
2141 to dependencies.
2142
2143 2005-03-15 Vincent Celier <celier@adacore.com>
2144
2145 * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
2146 Add new parameter In_Tree to specify the project tree: needed
2147 by the project manager. Adapt to changes in project manager
2148 using new parameter In_Tree.
2149
2150 2005-03-15 Jakub Jelinek <jakub@redhat.com>
2151
2152 * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
2153 ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
2154 ada/bldtools to avoid make -jN failures.
2155
2156 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
2157
2158 * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
2159 to NULL_TREE on entry.
2160
2161 2005-03-15 Robert Dewar <dewar@adacore.com>
2162
2163 * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
2164 system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
2165 system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
2166 system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
2167 system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
2168 system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
2169 system-interix.ads, system-solaris-sparc.ads,
2170 system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
2171 system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
2172 system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
2173 system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
2174 system-linux-s390.ads, system-linux-s390x.ads: Add line defining
2175 Compiler_System_Version to be False.
2176
2177 * opt.ads: Add new flag Opt.Address_Is_Private
2178
2179 * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
2180 Add new parameter Compiler_System_Version to avoid checking for
2181 completeness of parameters when compiler is compiling itself.
2182 Allows old versions of GNAT to be compiled with new compiler.
2183
2184 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
2185
2186 * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
2187 (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
2188 calling thread.
2189 (Stack_Base_Available): New flag.
2190 (Get_Page_Size): New overloaded functions imported from C.
2191 (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
2192 PROT_ON, PROT_OFF): New constants.
2193 (mprotect): New function imported from C.
2194 (pthread_teb_t): New record type.
2195
2196 * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
2197 (Create_Task): Account for the Yellow Zone and the guard page.
2198
2199 2005-03-15 Vincent Celier <celier@adacore.com>
2200
2201 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
2202 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
2203 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
2204 mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
2205 Library_File_Name_For): Add new parameter In_Tree
2206 to specify the project tree: needed by the project manager.
2207 Adapt to changes in project manager using new parameter In_Tree.
2208 Remove local imports, use functions in System.CRTL.
2209
2210 * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
2211 to use the project manager.
2212
2213 * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
2214 In_Tree to designate the project tree. Adapt to changes in the project
2215 manager, using In_Tree.
2216
2217 * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
2218 Copy_Interface_Sources): Add new parameter In_Tree to specify the
2219 project tree: needed by the project manager.
2220 (Build_Library): Check that Arg'Length >= 6 before checking if it
2221 contains "--RTS=...".
2222
2223 * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
2224 Library_File_Name_For): Add new parameter In_Tree to specify the
2225 project tree: needed by the project manager.
2226
2227 * prj.ads, prj.adb: Major modifications to allow several project trees
2228 in memory at the same time.
2229 Change tables to dynamic tables and hash tables to dynamic hash
2230 tables. Move tables and hash tables from Prj.Com (in the visible part)
2231 and Prj.Env (in the private part). Move some constants from the visible
2232 part to the private part. Make other constants deferred.
2233 (Project_Empty): Make it a variable, not a function
2234 (Empty_Project): Add parameter Tree. Returns the data with the default
2235 naming data of the project tree Tree.
2236 (Initialize): After updating Std_Naming_Data, copy its value to the
2237 component Naming of Project Empty.
2238 (Register_Default_Naming_Scheme): Use and update the default naming
2239 component of the project tree, instead of the global variable
2240 Std_Naming_Data.
2241 (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
2242 Tree is not defaulted, return the default naming data of the Tree.
2243 (Initial_Buffer_Size): Constant moved from private part
2244 (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
2245 variables initialized in procedure Initialize.
2246 (Add_To_Buffer): Add two in out parameters to replace global variables
2247 Buffer and Buffer_Last.
2248 (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
2249 functions.
2250 Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
2251 hash tables.
2252 (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
2253 for the project tree.
2254 (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
2255 constant at the beginning of the package spec, so that they cane be used
2256 in subprograms before their full declarations.
2257 (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
2258 (Empty_Project): Add parameter of type Project_Node_Ref
2259 (Private_Project_Tree_Data): Add component Default_Naming of type
2260 Naming_Data.
2261 (Buffer, Buffer_Last): remove global variables
2262 (Add_To_Buffer): Add two in out parameters to replace global variables
2263 Buffer and Buffer_Last.
2264 (Current_Packages_To_Check): Remove global variable
2265 (Empty_Name): Move to private part
2266 (No-Symbols): Make it a constant
2267 (Private_Project_Tree_Data): New type for the private part of the
2268 project tree data.
2269 (Project_Tree_Data): New type for the data of a project tree
2270 (Project_Tree_Ref): New type to designate a project tree
2271 (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
2272 for the project tree.
2273
2274 * prj-attr.ads: Add with Table; needed, as package Prj no longer
2275 imports package Table.
2276
2277 * prj-com.adb: Remove empty, no longer needed body
2278
2279 * prj-com.ads: Move most of the content of this package to package Prj.
2280
2281 * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
2282 designate the project node tree and Packages_To_Check to replace
2283 global variable Current_Packages_To_Check.
2284 Add new parameters In_Tree and Packages_To_Check to local subprograms,
2285 when needed. Adapt to changes in project manager with project node tree
2286 In_Tree.
2287
2288 * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
2289 project tree to most subprograms. Move tables and hash tables to
2290 private part of package Prj.
2291 Adapt to changes in project manager using project tree In_Tree.
2292
2293 * prj-makr.adb (Tree): New constant to designate the project node tree
2294 Adapt to change in project manager using project node tree Tree
2295
2296 * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
2297 display the Library_Src_Dir and the Library_Dir.
2298 Add new parameter In_Tree to designate the project node tree to most
2299 subprograms. Adapt to changes in the project manager, using project tree
2300 In_Tree.
2301 (Check_Naming_Scheme): Do not alter the casing on platforms where
2302 the casing of file names is not significant.
2303 (Check): Add new parameter In_Tree to designate the
2304
2305 * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
2306 designate the project tree.
2307 Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
2308
2309 * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
2310 to replace those that were in the private part of package Prj.
2311 Add new parameter In__Tree to designate the project node tree to most
2312 subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
2313 (Post_Parse_Context_Clause): When specifying the project node of a with
2314 clause, indicate that it is a limited with only if there is "limited"
2315 in the with clause, not necessarily when In_Limited is True.
2316 (Parse): Add new parameter In_Tree to designate the project node tree
2317
2318 * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
2319 designate the project node tree. Adapt to change in Prj.Tree with
2320 project node tree In_Tree.
2321
2322 * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
2323 tree In_Tree in the call to function Empty_Process to give its initial
2324 value to the project data Processed_Data.
2325 Add new parameters In_Tree to designate the project tree and
2326 From_Project_Node_Tree to designate the project node tree to several
2327 subprograms. Adapt to change in project manager with project tree
2328 In_Tree and project node tree From_Project_Node_Tree.
2329
2330 * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
2331 to replace those that were in the private part of package Prj.
2332 Add new parameter In_Tree to designate the project node tree to most
2333 subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
2334
2335 * prj-tree.ads, prj-tree.adb: Add new parameter of type
2336 Project_Node_Tree_Ref to most subprograms.
2337 Use this new parameter to store project nodes in the designated project
2338 node tree.
2339 (Project_Node_Tree_Ref): New type to designate a project node tree
2340 (Tree_Private_Part): Change table to dynamic table and hash tables to
2341 dynamic hash tables.
2342
2343 * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
2344 the project tree to most subprograms. Adapt to changes in project
2345 manager using project tree In_Tree.
2346
2347 * makegpr.adb (Project_Tree): New constant needed to use project
2348 manager.
2349
2350 2005-03-15 Olivier Hainque <hainque@adacore.com>
2351
2352 * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
2353 for sigactions with SA_SIGINFO set. Call
2354 __gnat_adjust_context_for_raise before raising, to perform the
2355 potentially required adjustments to the machine context for the GCC
2356 unwinder.
2357
2358 * raise.h (__gnat_adjust_context_for_raise): New prototype.
2359
2360 * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
2361 Adjust PC by one in the provided machine context.
2362 (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
2363 so that the handler is passed the context structure to adjust prior to
2364 the raise.
2365 (__gnat_error_handler) HPUX: Adjust the signature to match what an
2366 SA_SIGINFO sigaction should look like. Call
2367 __gnat_adjust_context_for_raise before actually raising.
2368 (__gnat_adjust_context_for_raise): Default noop to help PC
2369 adjustments before raise from signal handlers.
2370 (__gnat_error_handler): Indirectly call a predicate function to
2371 determine if a condition should be resignaled or not.
2372 (__gnat_set_resignal_predicate): User interface to modify the predicate.
2373 (__gnat_default_resignal_p): Default GNAT predicate.
2374
2375 2005-03-15 Doug Rupp <rupp@adacore.com>
2376
2377 * adaint.c: Prefix #include of VMS system header files with vms/
2378 [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
2379 Do not define a dummy function "convert_addresses" under Darwin,
2380 not needed.
2381
2382 * tb-alvms.c, expect.c: Prefix #include of VMS system header files
2383 with vms/
2384
2385 2005-03-15 Nicolas Setton <setton@adacore.com>
2386
2387 * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
2388 PPC/AIX.
2389
2390 2005-03-15 Robert Dewar <dewar@adacore.com>
2391
2392 * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
2393 AI-386.
2394
2395 * a-retide.ads: Minor comment changes
2396
2397 2005-03-15 Robert Dewar <dewar@adacore.com>
2398
2399 * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
2400 a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
2401 Realloc_For_Chunk to private part of package.
2402 New subprograms for AI-301
2403
2404 * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
2405 Get_Line procedure.
2406 Avoid unnecessary use of Get/Set_Wide_String
2407
2408 2005-03-15 Robert Dewar <dewar@adacore.com>
2409
2410 PR ada/13470
2411
2412 * a-stunau.ads, a-stunau.adb:
2413 Change interface to allow efficient (and correct) implementation
2414 The previous changes to allow extra space in unbounded strings had
2415 left this interface a bit broken.
2416
2417 * a-suteio.adb: Avoid unnecessary use of Get/Set_String
2418
2419 * g-spipat.ads, g-spipat.adb: New interface for Get_String
2420 Minor reformatting (function specs)
2421
2422 * g-spitbo.adb: New interface for Get_String
2423
2424 * g-spitbo.ads: Minor reformatting
2425
2426 * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
2427
2428 * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
2429
2430 2005-03-15 Javier Miranda <miranda@adacore.com>
2431 Robert Dewar <dewar@adacore.com>
2432 Thomas Quinot <quinot@adacore.com>
2433 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2434
2435 * atree.ads, atree.adb: Add support for Elist24 field
2436
2437 * atree.h: Fix wrong definition of Field27
2438 Add support for Elist16 field
2439 Add support for Elist24 field
2440
2441 * einfo.ads, einfo.adb (Abstract_Interfaces,
2442 Set_Abstract_Interfaces): New subprograms.
2443 (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
2444 subprograms.
2445 (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
2446 entities rather than a single node.
2447 (Is_Interface, Set_Is_Interface): New subprogram
2448 (First_Tag_Component): New syntesized attribute
2449 (Next_Tag_Component): New synthesized attribute
2450 (Write_Entity_Flags): Upgraded to write Is_Interface
2451 (Write_Field24_Name): Upgraded to write Abstract_Interfaces
2452 (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
2453 (Task_Body_Procedure): New subprogram to read this attribute.
2454 (Set_Task_Body_Procedure): New subprogram to set this attribute.
2455 (Has_Controlled_Component): Now applies to all entities.
2456 This is only a documentation change, since it always worked to apply
2457 this to other than composite types (yielding false), but now this is
2458 official.
2459 Update documentation on Must_Be_Byte_Aligned for new spec
2460
2461 * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
2462 exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
2463 uses of the Access_Disp_Table attribute to reference the first dispatch
2464 table associated with a tagged type. As
2465 part of the implementation of abstract interface types,
2466 Access_Disp_Table has been redefined to contain a list of dispatch
2467 tables (rather than a single dispatch table).
2468 Similarly, upgrade all the references to Tag_Component by the
2469 new attribute First_Tag_Component.
2470 (Find_Inherited_TSS): Moved to exp_tss.
2471 Clean up test in Expand_N_Object_Declaration for cases
2472 where we need to do a separate assignment of the initial value.
2473 (Expand_N_Object_Declaration): If the expression in the
2474 declaration of a tagged type is an aggregate, no need to generate an
2475 additional tag assignment.
2476 (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
2477 is to be deleted.
2478 Bit packed array ops are only called if operands are known to be
2479 aligned.
2480 (Component_Equality): When returning an N_Raise_Program_Error statement,
2481 ensure that its Etype is set to Empty to avoid confusing GIGI (which
2482 expects that only expressions have a bona fide type).
2483 (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
2484 determine the amount of data to be copied.
2485
2486 * par.adb (P_Interface_Type_Definition): New subprogram that parses the
2487 new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
2488 INTERFACE_TYPE_DEFINITION ::=
2489 [limited | task | protected | synchronized] interface
2490 [AND interface_list]
2491
2492 * par-ch3.adb (P_Type_Declaration): Modified to give support to
2493 interfaces.
2494 (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
2495 interfaces.
2496 (P_Interface_Type_Definition): New subprogram that parses the new
2497 syntax rule of Ada 2005 interfaces
2498 (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
2499 messages by the correct RENAMES (quotes removed).
2500
2501 * sem_prag.adb: Upgrade all the references to Tag_Component by the new
2502 attribute First_Tag_Component.
2503
2504 * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
2505 (Interface_List, Set_Interface_List): New subprograms.
2506 (Interface_Present, Set_Interface_Present): New subprograms.
2507 (Limited_Present, Set_Limited_Present): Available also in derived
2508 type definition nodes.
2509 (Protected_Present, Set_Protected_Present): Available also in
2510 record type definition and
2511 derived type definition nodes.
2512 (Synchronized_Present, Set_Synchronized_Present): New subprograms.
2513 (Task_Present, Set_Task_Present): New subprogram.
2514 (Task_Body_Procedure): Removed.
2515 (Set_Task_Body_Procedure): Removed.
2516 These subprogram have been removed because the attribute
2517 Task_Body_Procedure has been moved to the corresponding task type
2518 or task subtype entity to leave a field free to store the list
2519 of interfaces implemented by a task (for AI-345)
2520 Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
2521 (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
2522 expression flag Do_Range_Check
2523 (Exception_Junk): Change to Flag7 to accomodate above change
2524 (Box_Present, Default_Name, Specification, Set_Box_Present,
2525 Set_Default_Name, Set_Specification): Expand the expression
2526 "X in N_Formal_Subprogram_Declaration" into the corresponding
2527 two comparisons. Required to use the csinfo tool.
2528
2529 * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
2530 "with string" given.
2531
2532 * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
2533 expression given.
2534
2535 * par-ch11.adb (P_Raise_Statement): Recognize with string expression
2536 in 2005 mode
2537
2538 * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
2539 attribute Task_Body_Procedure rather than the old semantic field that
2540 was available in the task_type_declaration node.
2541
2542 * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
2543 interface type definitions.
2544 (P_Formal_Derived_Type_Definition): Modified to handle the list of
2545 interfaces.
2546
2547 * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
2548 task type declaration.
2549 (P_Protected): Modified to handle the list of interfaces in a
2550 protected type declaration.
2551
2552 2005-03-15 Doug Rupp <rupp@adacore.com>
2553 Vincent Celier <celier@adacore.com>
2554
2555 * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
2556 (Gen_Output_File_C): Likewise.
2557 (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
2558
2559 2005-03-15 Thomas Quinot <quinot@adacore.com>
2560
2561 * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
2562 is an N_Raise_Constraint_Error node, create a new copy of it without
2563 going through a call to Duplicate_Subexpr.
2564
2565 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
2566 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2567 Nicolas Setton <setton@adacore.com>
2568 Ed Schonberg <schonberg@adacore.com>
2569
2570 PR ada/19900
2571 PR ada/19408
2572 PR ada/19140
2573 PR ada/20255
2574
2575 * decl.c (gnat_to_gnu_field): Reject aliased components with a
2576 representation clause that prescribes a size not equal to the rounded
2577 size of their types.
2578 (gnat_to_gnu_entity, case E_Component): Always look at
2579 Original_Record_Component if Present and not the entity.
2580 (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
2581 of tagged extension types by not making field for components that are
2582 inside the parent.
2583 (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
2584 (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
2585 expression to the type of the object when the object is constant.
2586 Reverse defer_debug_incomplete_list before traversing it, so that trees
2587 are processed in the order at which they were added to the list. This
2588 order is important when using the stabs debug format.
2589 If we are deferring the output of debug information, also defer this
2590 output for a function return type.
2591 When adding fields to a record, prevent emitting debug information
2592 for incomplete records, emit the information only when the record is
2593 complete.
2594 (components_to_record): New parameter defer_debug.
2595 (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
2596 (gnat_to_gnu_field_decl): New function.
2597 (substitution_list, annotate_rep): Call it.
2598 (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
2599 (gnat_to_gnu_entity, case E_Record_Type): Likewise.
2600 No longer update discriminants to not be a COMPONENT_REF.
2601 (copy_alias_set): Strip padding from input type; also handle
2602 unconstrained arrays properly.
2603
2604 * gigi.h (write_record_type_debug_info): New function.
2605 Convert to use ANSI-style prototypes. Remove unused
2606 declarations for emit_stack_check, elab_all_gnat and
2607 set_second_error_entity.
2608 (gnat_to_gnu_field_decl): New decl.
2609
2610 * utils.c (write_record_type_debug_info): New function.
2611 (finish_record_type): Delegate generation of debug information to
2612 write_record_type_debug_info.
2613 (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
2614 (update_pointer_to): Fix pasto.
2615 (convert) <UNION_TYPE>: Accept slight type variations when
2616 converting to an unchecked union type.
2617
2618 * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
2619 replace the N_Freeze_Entity with a null statement.
2620
2621 * freeze.adb (Freeze_Expression): If the freeze nodes are generated
2622 within a constrained subcomponent of an enclosing record, place the
2623 freeze nodes in the scope stack entry for the enclosing record.
2624 (Undelay_Type): New Subprogram.
2625 (Set_Small_Size): Pass T, the type to modify; all callers changed.
2626 (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
2627 within records; allow them to have freeze nodes if their base types
2628 aren't frozen yet.
2629
2630 * exp_util.adb (Remove_Side_Effects): Properly test for
2631 Expansion_Delayed and handle case when it's inside an
2632 N_Qualified_Expression.
2633
2634 * sem_ch3.adb (Derived_Type_Declaration): New predicate
2635 Comes_From_Generic, to recognize accurately that the parent type in a
2636 derived type declaration can be traced back to a formal type, because
2637 it is one or is derived from one, or because its completion is derived
2638 from one.
2639 (Constrain_Component_Type): If component comes from source and has no
2640 explicit constraint, no need to constrain in in a subtype of the
2641 enclosing record.
2642 (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
2643 Minor change to propagate Is_Ada_2005 flag
2644
2645 * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
2646 Expansion_Delayed is False.
2647 (assoc_to_constructor): Ignore fields that have a
2648 Corresponding_Discriminant.
2649 (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
2650 function returns "by target", dereference the target pointer using the
2651 type of the actual return value.
2652 <all>: Be prepared for a null gnu_result.
2653 (processed_inline_subprograms): Check flag_really_no_inline
2654 instead of flag_no_inline.
2655 (set_second_error_entity): Remove unused function.
2656 (gnat_to_gnu, case N_Selected_Component): Call
2657 gnat_to_gnu_field_decl.
2658 (assoc_to_constructor): Likewise.
2659
2660 2005-03-15 Robert Dewar <dewar@adacore.com>
2661 Ed Schonberg <schonberg@adacore.com>
2662 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2663
2664 * exp_pakd.adb (Create_Packed_Array_Type): Do not set
2665 Must_Be_Byte_Aligned for cases where we do not need to use a
2666 System.Pack_nn unit.
2667
2668 * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
2669 as procedures.
2670 Needed now that we do some processing for IN parameters as well. This
2671 may well fix some unrelated errors.
2672 (Expand_Call): Handle case of unaligned objects (in particular those
2673 that come from packed arrays).
2674 (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
2675 renamed entity is an inherited operation, re-expand the call using the
2676 original operation, which is the one to call.
2677 Detect attempt to inline parameterless recursive subprogram.
2678 (Represented_As_Scalar): Fix to work properly with private types
2679 (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
2680 accurate estimate. Yields True in far fewer cases than before,
2681 improving the quality of code that depends on this test.
2682
2683 * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
2684 over both visible and private declarations to remove them from tree,
2685 and mark subprograms declared in package as eliminated, to prevent
2686 spurious use in subsequent compilation of generic units in the context.
2687
2688 * exp_util.ads: Minor cleanup in variable names
2689
2690 * sem_eval.ads, sem_eval.adb: Minor reformatting
2691 (Compile_Time_Known_Bounds): New function
2692
2693 2005-03-15 Ed Schonberg <schonberg@adacore.com>
2694
2695 * exp_ch7.adb (Convert_View): Use base types of underlying types when
2696 determining whether an unchecked conversion is needed for the argument
2697 of an initialization call.
2698
2699 2005-03-15 Ed Schonberg <schonberg@adacore.com>
2700
2701 * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
2702 that appears in the instantiation rather than the internal subtype
2703 generated in the wrapper package, to avoid anomalies in gigi when the
2704 target is derived from a private type whose full view is an access type.
2705
2706 2005-03-15 Robert Dewar <dewar@adacore.com>
2707
2708 * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
2709 not needed.
2710 Add documentation to replace the use of this flag
2711 Fix kludge for Maximum_Alignment on x86 so that it does not apply to
2712 the x86_64.
2713
2714 2005-03-15 Thomas Quinot <quinot@adacore.com>
2715
2716 * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
2717 here from exp_attr so it can be shared between exp_attr and exp_dist.
2718 (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
2719 all TSS names, not a subset thereof, and the previous name introduced
2720 an unnecessarily confusion that a distinction might exist between
2721 "OK" TSS names and some "not OK" TSS names.
2722
2723 2005-03-15 Doug Rupp <rupp@adacore.com>
2724
2725 * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
2726 Command_Name.
2727
2728 2005-03-15 Pascal Obry <obry@adacore.com>
2729 Eric Botcazou <ebotcazou@adacore.com>
2730
2731 PR ada/20226
2732 PR ada/20344
2733
2734 * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
2735 when IN_RTS. This is to work around a bootstrap path problem.
2736
2737 * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
2738 table and pass it to __gnat_install_SEH_handler().
2739 (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
2740
2741 * lang.opt: Fix specification of -fRTS=.
2742
2743 2005-03-15 Doug Rupp <rupp@adacore.com>
2744 Bernard Banner <banner@adacore.com>
2745 Vincent Celier <celier@adacore.com>
2746 Arnaud Charlet <charlet@adacore.com>
2747
2748 PR ada/6852
2749 This change works fine when gnatlib is built from the gcc directory,
2750 but does not work when using the libada Makefile, since GCC_FOR_TARGET
2751 is not passed to ada/Makefile.in, so more work is needed by a
2752 Makefile/configure expert.
2753
2754 * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
2755 set GMEM_LIB on ia64 linux to add optional support for gnatmem.
2756 Setup gnatlink switch -M for x86_64 linux, as it is already setup
2757 for Linux x86.
2758 (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
2759 Run ranlib on libgccprefix.a
2760 Define PREFIX_OBJS for Darwin, to build libgccprefix.
2761 (ADA_INCLUDE_SRCS): Split Ada packages.
2762
2763 2005-03-15 Robert Dewar <dewar@adacore.com>
2764
2765 * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
2766
2767 * impunit.adb: Add GNAT.UTF_32
2768
2769 * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
2770
2771 * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
2772 now uses GNAT.UTF_32).
2773
2774 * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
2775 capabilities for categorizing characters using Unicode categories
2776
2777 2005-03-15 Ed Schonberg <schonberg@adacore.com>
2778
2779 * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
2780 instantiation that has been rewritten as a package body, retrieve spec
2781 to generate proper name for implicit_with_clause.
2782 (Install_Parents): Recognize a parent that is an instantiation but has
2783 been rewritten as a package declaration during analysis.
2784
2785 2005-03-15 Javier Miranda <miranda@adacore.com>
2786 Ed Schonberg <schonberg@adacore.com>
2787
2788 * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
2789 parameter reported some error we immediately return. This improves the
2790 behaviour of the frontend in case of errors.
2791 (Install_Parent, Remove_Parent): Introduce new flag
2792 Parent_Unit_Visible, to preserve the proper visibility of the ultimate
2793 ancestor of a generic child unit, when the child is being instantiated.
2794 (Inline_Instance_Body): If we are compiling the private
2795 part or the body of a child unit, restore the proper visibility of the
2796 parents after compiling the instance body.
2797
2798 2005-03-15 Ed Schonberg <schonberg@adacore.com>
2799 Javier Miranda <miranda@adacore.com>
2800
2801 PR ada/15608
2802 * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
2803 of a private type, in which case it is underlying_type that denotes
2804 the proper task. Also modified to use the new entity attribute
2805 that is directly available in the task type and task subtype entities
2806 (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
2807 arrays when other dimensions than the first are constrained by
2808 discriminants of an enclosing record.
2809 (Insert_Explicit_Dereference): If the prefix is an indexed component or
2810 a combination of indexed and selected components, find ultimate entity
2811 and generate the appropriate reference for it, to suppress spurious
2812 warnings.
2813 (Note_Possible_Modification): If an entity name has no entity, return.
2814 (Is_Variable): A function call never denotes a variable.
2815 (Requires_Transient_Scope): For record types, recurse only on
2816 components, not on internal subtypes that may have been generated for
2817 constrained components.
2818
2819 2005-03-15 Ed Schonberg <schonberg@adacore.com>
2820
2821 * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
2822 Eliminated as candidates for resolution. Both efficient, and avoids
2823 anomalies with operators declared in deleted code.
2824 (Process_Implicit_Dereference_Prefix): Use this procedure whenever
2825 expansion is disabled (as when compiling a generic) to prevent spurious
2826 warnings on prefixes of selected components.
2827
2828 2005-03-15 Ed Schonberg <schonberg@adacore.com>
2829
2830 * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
2831 attached to a list before checking whether it appears in the private
2832 declarations of the current package.
2833 (Make_Inequality_Operator): Insert declaration in proper declarative
2834 list rather than just setting the Parent field, so that
2835 Is_Private_Declaration can handle it properly.
2836
2837 2005-03-15 Ed Schonberg <schonberg@adacore.com>
2838
2839 * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
2840 a renaming a body, check that the renamed subprogram in not intrinsic.
2841 (Find_Direct_Name): If several use_visible entities hide
2842 each other, and the context is a predefined file compiled through
2843 rtsfind, keep only the entity that comes from a predefined file.
2844
2845 2005-03-15 Geert Bosch <bosch@adacore.com>
2846
2847 * s-fatgen.adb (Valid): Extend special exceptions to account for long
2848 long float padding to also cover AMD64 and IA64.
2849
2850 2005-03-15 Gary Dismukes <dismukes@adacore.com>
2851
2852 * s-imgwch.adb: Add with and use of Interfaces.
2853 (Img_Wide_Character): Change type of Val to Unsigned_16.
2854 (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
2855
2856 2005-03-15 Matthew Gingell <gingell@adacore.com>
2857
2858 * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
2859
2860 2005-03-15 Robert Dewar <dewar@adacore.com>
2861
2862 * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
2863
2864 * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
2865
2866 * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
2867
2868 2005-03-15 Robert Dewar <dewar@adacore.com>
2869
2870 * s-bitops.adb, s-bitops.ads,
2871 s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
2872 s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
2873 tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
2874 s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
2875 s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
2876 s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
2877 s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
2878 s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
2879 reformatting.
2880
2881 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
2882
2883 * utils2.c (build_binary_op): Fix typo.
2884
2885 2005-03-15 Doug Rupp <rupp@adacore.com>
2886
2887 * s-crtl.ads (popen,pclose): New imports.
2888
2889 2005-03-15 Cyrille Comar <comar@adacore.com>
2890
2891 * comperr.adb (Compiler_Abort): remove references to obsolete
2892 procedures in the bug boxes for various GNAT builds.
2893
2894 2005-03-15 Vincent Celier <celier@adacore.com>
2895
2896 * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
2897
2898 2005-03-15 Geert Bosch <bosch@adacore.com>
2899 Arnaud Charlet <charlet@adacore.com>
2900 Robert Dewar <dewar@adacore.com>
2901 Cyrille Comar <comar@adacore.com>
2902 Sergey Rybin <rybin@adacore.com>
2903
2904 * gnat_ugn.texi: Remove extended inline assembly example, as it was far
2905 too specific and long-winded to be appropriate for the GNAT User's
2906 Guide.
2907 Warn about use of GCC switches not documented in the GNAT User's Guide,
2908 as these may cause generated code to not conform to Ada semantics.
2909 Remove mention of -gdwarf-2 for sparc64, since this is now the default.
2910 Add documentation for -gnat95 and -gnat05 switches
2911 Remove paragraph documenting obsolete way to refer to third party
2912 libraries.
2913 Add a few references to Ada_05 that were missing.
2914 Update documentation on -gnatZ/-gnatL.
2915 Document limitation when using -m64 under Solaris.
2916 Change the "Name Casing" subsection of the pretty-printer section
2917 according to the changes in the dictionary processing.
2918
2919 * gnat_rm.texi: Document the Ada_05 pragma.
2920 Section on record representation clauses describes the new more
2921 relaxed rules about placement of large packed bit array components.
2922 Add documentation of GNAT.UTF_32
2923
2924 2005-03-12 Daniel Berlin <dberlin@dberlin.org>
2925
2926 * misc.c (gnat_post_options): Turn off structural
2927 aliasing for now.
2928
2929 2005-03-08 Laurent Guerby <laurent@guerby.net>
2930
2931 * system-linux-sparc.ads: Fix typo in previous commit.
2932
2933 2005-03-07 James A. Morrison <phython@gcc.gnu.org>
2934 Laurent Guerby <laurent@guerby.net>
2935
2936 PR ada/20035
2937 * system-linux-sparc.ads: New.
2938 * Makefile.in: Add sparc linux entry.
2939
2940 2005-02-27 Danny Smith <dannysmith@users.sourceforge.net>
2941
2942 * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
2943 parameters as unused.
2944
2945 2005-02-26 Nathanael Nerode <neroden@gcc.gnu.org>
2946 Partial merge from libada-gnattools-branch:
2947
2948 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
2949 * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
2950 into code in gnattools/Makefile.in. Remove direct dependencies on
2951 stamp-tools by tools clauses.
2952 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
2953 * config-lang.in: Add gnattools to $lang_dirs.
2954
2955 2005-02-13 Andrew Pinski <pinskia@physics.uc.edu>
2956
2957 PR ada/19942
2958 * utils.c (gnat_type_for_mode): Return null instead of ICE because
2959 we asked for an unknown mode.
2960
2961 2005-02-12 Richard Henderson <rth@redhat.com>
2962
2963 * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
2964 validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
2965
2966 2005-02-10 Andreas Jaeger <aj@suse.de>
2967
2968 * init.c (__gnat_initialize): Mark parameter as unused.
2969
2970 2005-02-09 Doug Rupp <rupp@adacore.com>
2971
2972 * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
2973 * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
2974
2975 2005-02-09 Doug Rupp <rupp@adacore.com>
2976
2977 * gnatchop.adb (dup, dup2),
2978 g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
2979
2980 * gnatlbr.adb (mkdir),
2981 mlib-tgt-vms-ia64.adb (popen, plose): Import with decc$ prefix.
2982
2983 * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
2984
2985 2005-02-09 Doug Rupp <rupp@adacore.com>
2986
2987 * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
2988
2989 2005-02-09 Robert Dewar <dewar@adacore.com>
2990 Thomas Quinot <quinot@adacore.com>
2991 Javier Miranda <miranda@adacore.com>
2992 Pascal Obry <obry@adacore.com>
2993 Ed Schonberg <schonberg@adacore.com>
2994 Doug Rupp <rupp@adacore.com>
2995 Gary Dismukes <dismukes@adacore.com>
2996 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2997
2998 * g-zstspl.ads: New file.
2999
3000 * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
3001
3002 * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
3003 Ada 95 mode
3004 Add definition of Wide_Wide_Space for AI-285
3005
3006 * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
3007 interface (to support Ada 95 and Ada 2005 units).
3008 Add Unbounded_IO files
3009 Add entries for Wide_Wide packages for AI-285
3010 Add list of containers packages to Ada 2005 unit list
3011
3012 * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
3013 support new Unbounded_IO package cleanly.
3014
3015 * g-utf_32.ads, g-utf_32.adb: New files.
3016
3017 * Makefile.rtl: Add entry for g-utf_32
3018 Add new files for Unbounded_IO
3019 Adjust make file for new AI-285 wide wide packages
3020 Add AI-302 containers to the run time.
3021
3022 * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
3023 a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
3024 subprograms for AI-301.
3025
3026 * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
3027
3028 * a-stunau.ads: Minor comment correction
3029
3030 * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
3031 etc.
3032 Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
3033 (Check_RPC): Update to match changes in expanded code.
3034 Clean up unused entity.
3035
3036 * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
3037 was not taken into account.
3038 This includes proper initialization with Normalize_Scalars.
3039 (Get_Simple_Init_Val): Major rewrite for initialize scalars and
3040 normalize scalars cases (particularly the latter) to do a better job
3041 of finding invalid representations.
3042
3043 * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
3044
3045 * s-strops.ads, s-strops.adb: Remove string normalize routines, never
3046 used
3047
3048 * exp_dist.adb: Add support for wide wide character type
3049 (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
3050 private part, generate stub bodies at the end of the private part,
3051 not the visible part.
3052 (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
3053 PolyORB support.
3054 (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
3055 generic wrapper to execute final processing after completing the
3056 expansion of the RPC receiver for an RACW.
3057
3058 * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
3059 packages and attributes.
3060 (Preset_Names): Addition of the new reserved words of Ada 2005,
3061 that is interface, overriding and synchronized.
3062 (Get_Pragma_Id): Give support to the use of the new reserved word
3063 "interface" as a pragma name.
3064 (Is_Pragma_Name): Give support to the use of the new reserved word
3065 "interface" as a pragma name.
3066 (Preset_Names): Add stream_size string for the Stream_Size Ada2005
3067 attribute implementation.
3068
3069 * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
3070 checks to entities that are output parameters of Asm operations.
3071 Handle the Stream_Size attribute.
3072 Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
3073
3074 * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
3075
3076 * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
3077 for second parameter being 0.0.
3078 Add support for wide wide character type.
3079 (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
3080
3081 * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
3082 s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
3083 s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
3084 s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
3085 for wide wide character cases.
3086
3087 * cstand.adb: Create entities for Wide_Wide_Character and
3088 Wide_Wide_String.
3089
3090 * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
3091 accordance with AI-258.
3092 Add new declarations for 16/32 bit C character types (Part of AI285)
3093
3094 * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
3095 (Obsolescent_Warning): New field
3096 (Rep_Clause): New local subprogram used to share code. Returns the rep
3097 clause for which the name is given in parameter.
3098 (Has_Stream_Size_Clause): New routine.
3099 (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
3100 (Address_Clause): Implementation is now using Rep_Clause.
3101 (Alignment_Clause): Idem.
3102 (Size_Clause): Idem.
3103
3104 * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
3105 entity in non-Ada 2005 mode and generate warning.
3106
3107 * par-prag.adb: Add handling of one argument form for pragma Ada_05.
3108 (Prag): Code cleanup. Remove old gnat pragma "overriding"
3109
3110 * sem_prag.adb: Add handling of one argument form for pragma Ada_05
3111 (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
3112 on the named unit if the pragma is not in the current compilation unit,
3113 so that elaboration calls in the current unit can set up an elaboration
3114 dependency on the named unit, as needed.
3115 (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
3116 subprogram as well as for subprograms declared within a package.
3117 (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
3118 pragma overriding.
3119
3120 * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
3121 to z) to avoid some instances of duplication for Wide_Wide packages.
3122
3123 * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
3124 characters.
3125
3126 * scn.adb: Char_Literal_Value field is now a Uint
3127
3128 * scng.adb: Significant rewrite to handle new Ada 2005 features
3129 allowing wide and wide wide characters in program text, e.g. for
3130 identifiers, as described in AI-285.
3131 (Set_Reserved): New procedure, makes setting up keywords cleaner.
3132 (Initialize_Scanner): Register the new reserved words of Ada 2005.
3133 (Scan): Give support to the new reserved words.
3134
3135 * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
3136 warning notifying that interface, overriding, and synchronized are
3137 new reserved words.
3138 (P_Pragma): Allow the use of the new reserved word "interface" as
3139 a pragma name.
3140
3141 * gnatls.adb, gnatbind.adb,
3142 ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
3143 identifiers named "interface" to "SAL_Interface".
3144
3145 * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
3146 (Structured Exception handling).
3147 (Gen_Main_C): Idem.
3148
3149 * bindgen.adb:
3150 (Gen_Main_Ada): Set the default exit code if specified.
3151 (Gen_Main_C): Likewise.
3152 Part of *DC20-006.
3153 (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
3154 Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
3155
3156 * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
3157 new -Xnnn switch.
3158
3159 * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
3160 has a collision with the new Ada 2005 "interface" reserved word.
3161
3162 * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
3163 generate a warning notifying that interface, overriding, and
3164 synchronized are new reserved words.
3165
3166 * scans.ads (Token_Type): Addition of the tokens corresponding to the
3167 new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
3168 and Tok_Synchronized.
3169
3170 * sem_res.adb (Resolve_Actuals): Change error messages to refer to
3171 "dispatching" rather than "primitive" operations, since dispatching
3172 calls are now allowed to abstract formal subprograms (which are not
3173 primitive).
3174 Char_Literal_Value field is now a Uint
3175 (Resolve_Slice): If the prefix is an access to an unconstrained array,
3176 compute the actual subtype of the designated object to impose the proper
3177 index constraints.
3178 (Resolve_Selected_Component): Do not insert an access check if the
3179 prefix is an access type: such a node is expanded into an explicit
3180 dereference, on which the access check is performed anyway. Removes
3181 expensive duplicate checks.
3182 (Resolve_Call): Use new flag Is_Obsolescent and field
3183 Obsolescent_Warning so that pragma Obsolescent works on library
3184 subprograms.
3185 Add support for wide wide character type
3186 (Resolve_Allocator): Replace the error message on wrong null-exclusion
3187 value by a warning message.
3188 (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
3189 as fixed-point, and one of the operands is non-static and universal, it
3190 can only be an illegal exponentiation operation, in which case there is
3191 no real value to retrieve.
3192
3193 * exp_strm.adb: Add support for wide wide character type
3194 (Build_Elementary_Input_Call): Compute the size of the stream element by
3195 querying the rep chain to find the Stream_Attribute attribute value.
3196 (Build_Elementary_Write_Call): Ditto.
3197
3198 * sem_aggr.adb: Char_Literal_Value field is now a Uint
3199 Add support for wide wide character type
3200 Replace the error messages on wrong null-exclusion value by warnings
3201 as described in Ada 2005.
3202 (Resolve_Extension_Aggregate): Document the fact that the error
3203 message on class-wide expressions in extensions aggregates.
3204
3205 * sem_case.adb: Add support for wide wide character type
3206
3207 * sem_ch13.adb: Add support for wide wide character type
3208 (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
3209
3210 * sem_ch3.adb: Add support for wide wide character type
3211 (Process_Subtype): If constraint is illegal for the type, set Ekind of
3212 now-useless Itype, to prevent cascaded errors on a compiler built
3213 without -gnatp.
3214
3215 * sem_ch8.adb: Add with and use of Sem_Disp.
3216 (Analyze_Subprogram_Renaming): Replace unclean uses of
3217 Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
3218 of Corresponding_Spec to Empty).
3219 (Attribute_Renaming): Replace use of Corresponding_Spec with
3220 Corresponding_ Formal_Spec and simplify condition.
3221 (Use_One_Package): Check that scope of homonym of identifier is defined,
3222 before checking whether it is a wrapper package.
3223 Add support for wide wide character type
3224
3225 * sem_eval.adb: Add support for wide wide character type.
3226 (Eval_Arithmetic_Op): Check for compile time known signed integer
3227 overflow in the non-static case.
3228 (Subtypes_Statically_Match): A formal scalar type and its base type do
3229 not statically match.
3230
3231 * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
3232 "not in" for test of N_Formal_Subprogram_Declaration (which is now a
3233 subtype).
3234 (Unit_Declaration_Node): Ditto.
3235 (Is_Variable_Prefix): For the case of an indexed component whose prefix
3236 has a packed array type, the prefix has been rewritten into a type
3237 conversion. Determine variable-ness from the converted expression.
3238 Handle wide wide character cases.
3239
3240 * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
3241
3242 * stringt.ads, stringt.adb: Handle full UTF-32 range.
3243 Remove ["0A"] from comment, since it can look like a line terminator.
3244 Currently we don't permit this, but this is under discussion by the
3245 ARG, and it is easy enough to use a different example.
3246
3247 * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
3248 handling UTF-32 encoding for wide wide character.
3249 Implement new brackets coding ["hhhhhhhh"]
3250 Add UTF-8 encodings for full UTF-32 range
3251
3252 * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
3253
3254 * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
3255 bit range Add full UTF-32 support.
3256 (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
3257 notify that constraint error will be raised at run-time
3258 because a null value is assigned to a null-excluding object.
3259 Remove some obsolete declarations and make Char_Code
3260 unsigned.
3261
3262 * a-except.adb (Rcheck_30): New subprogram. Addition of the message
3263 corresponding to CE_Null_Not_Allowed, and adjust the output of all the
3264 Rcheck subprograms.
3265
3266 * checks.adb (Check_Null_Not_Allowed): Replace the error message on
3267 wrong null-exclusion value by a warning message.
3268 (Enable_Range_Check): Do range check if the prefix is an
3269 explicit dereference whose designated object is an unconstrained array.
3270 Current algorithm for removing duplicate checks is over-eager in this
3271 case.
3272
3273 * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
3274 null-exclusion value by a warning message
3275
3276 * atree.h, atree.ads, atree.adb: Remove Char_Code field support
3277 completely. Add support for Uint2 field
3278
3279 sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
3280 exp_prag.adb: Char_Literal_Value field is now a Uint.
3281
3282 * exp_util.adb (Insert_Actions): Replace
3283 N_Formal_Subprogram_Declaration by
3284 N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
3285 Char_Literal_Value field is now a Uint.
3286
3287 * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
3288 defined for subprogram renaming declarations. When set, the field
3289 indicates the defining entity of a corresponding formal subprogram
3290 when the renaming corresponds to a formal subprogram association in an
3291 instantiation.
3292 (Set_Corresponding_Formal_Spec): New procedure to return
3293 Corresponding_Formal_Spec field.
3294 Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
3295 (which is now a subtype).
3296 Char_Literal_Value field is now a Uint
3297
3298 * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
3299 pointer to the base of the dispatch table.
3300 Minor changes to comments.
3301 (Controlling_Type): New function for determining the tagged type
3302 associated with a tagged primitive subprogram.
3303 (Expand_Dispatching_Call): Add support for a controlling actual that is
3304 directly a value of type Ada.Tag rather than a tagged object.
3305
3306 * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
3307 describing the new layout.
3308 (Dispatch_Table): The expander computes the actual array size, allocates
3309 the Dispatch_Table record accordingly, and generates code that displaces
3310 the base of the record after the Typeinfo_Ptr component. The access to
3311 these components is done by means of local functions.
3312 (Offset_To_Top): New function.
3313 (Typeinfo_Ptr): New function.
3314 (Get_TSD): Modified to access the new position of the TSD.
3315 (Set_TSD): Modified to save the TSD in its new position.
3316
3317 * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
3318 case of formal abstract subprograms. Add check and message for -gnat05.
3319 Update comments.
3320
3321 * sem_ch12.adb: Add with and use for Sem_Disp.
3322 (Analyze_Associations): Minor change from "=" to "in" for use of
3323 N_Formal_Subtype_Declaration (which is now a subtype).
3324 (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
3325 N_Formal_Subtype_Declaration (which is now a subtype).
3326 (Analyze_Formal_Subprogram): Add handling for
3327 N_Formal_Abstract_Subprogram, marking the formal as abstract and
3328 dispatching, setting the controlling status of the formal parameters
3329 and result, and issuing an error if there is no controlling type for
3330 the formal subprogram.
3331 (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
3332 which is an unclean use of that field, we set the new field
3333 Corresponding_Formal_Spec to make the formal subprogram available to
3334 processing in Analyze_Subprogram_Declaration.
3335 (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
3336 Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
3337 Constrained, so that it is is does not statically match its anonymous
3338 base type.
3339
3340 * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
3341 abstract formal subprograms in error check for functions returning
3342 abstract types. Set scope of new designator for
3343 a parameterless subprogram, so that it is available when checking the
3344 body for nested subprograms, before full analysis of said body.
3345 (Analyze_Subprogram_Body): Warn on inlining bodies with nested
3346 subprogram only if inner one comes from source.
3347 (Analyze_Function_Call): If the call is given in object notation, the
3348 analysis of the name rewrites the node and analyzes it with the proper
3349 argument list. After analyzing the name, if the call has been rewritten
3350 and the result type is set, no further analysis is needed.
3351 (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
3352 mark in function specification, in a context where the formals are
3353 visible and hide outer homographs.
3354
3355 * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
3356 as the tagged type for the cases of abstract formal subprograms and
3357 renamings of those. Clean up spec comments.
3358 (Check_Dispatching_Context): Add error message to indicate "abstract
3359 procedure", covering the case of a call to a formal abstract procedure
3360 that has statically tagged operands.
3361 (Check_Dispatching_Call): Check for the case of an actual given by
3362 a tag-indeterminate function call whose type is an ancestor of the
3363 containing call's associated tagged type. This situation can occur
3364 for inherited primitives with function defaults. In this case we
3365 use the tagged type's tag directly as the controlling argument for
3366 the calls.
3367 (Expand_Call): Name change on call to Expand_Dispatch_Call.
3368
3369 * sprint.adb (Sprint_Node_Actual): Split
3370 N_Formal_Subprogram_Declaration into two alternatives for the new
3371 cases N_Formal_Abstract_Subprogram_Declaration and
3372 N_Formal_Concrete_Subprogram_Declaration.
3373 Char_Literal_Value field is now a Uint.
3374
3375 * trans.c: Get rid of junk Uint2 reference.
3376 Char_Literal_Value field is now a Uint.
3377 (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
3378 (gigi): Correct third arg to gimplify_body.
3379
3380 * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
3381 (TYPE_LANG_FLAG_0): Check for record or union.
3382
3383 * treepr.adb: Char_Literal_Value field is now a Uint
3384
3385 * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
3386 UI_From_CC.
3387
3388 * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
3389 Add full UTF-32 support
3390 Char_Code is now 32 bits
3391
3392 * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
3393 wide character UTF_32 line terminators.
3394 Initialize Main_Source_File to avoid error when no main
3395 source is loaded.
3396
3397 * errout.adb (Finalize): Do not check Num_SRef_Pragmas
3398 (Main_Source_File) when no main source has been loaded, to avoid
3399 potential crash.
3400
3401 2005-02-09 Robert Dewar <dewar@adacore.com>
3402
3403 * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
3404 Fix name of Set routine
3405
3406 * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
3407 fixed packages.
3408
3409 * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
3410 a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
3411 fixed packages
3412
3413 * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
3414 forms of Get_Line subprograms for AI-301.
3415
3416 * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
3417 a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
3418 a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
3419 a-stwima.ads: Minor reformatting.
3420
3421 2005-02-09 Doug Rupp <rupp@adacore.com>
3422 Thomas Quinot <quinot@adacore.com>
3423
3424 * adaint.c, adaint.h
3425 [VMS] (to_ptr32): New function.
3426 (MAYBE_TO_PTR32): New macro.
3427 (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
3428 for pointer size.
3429 [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
3430 [VMS] (#define fork()): Remove since unneccessary.
3431 (__gnat_set_close_on_exec): New routine to support
3432 GNAT.OS_Lib.Set_Close_On_Exec.
3433
3434 * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
3435 the parent side as close-on-exec so that they are not inherited by the
3436 child.
3437
3438 * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
3439 set or clear the FD_CLOEXEC flag on a file descriptor.
3440
3441 2005-02-09 Eric Botcazou <ebotcazou@adacore.com>
3442 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3443
3444 Fix for c330001 - PR ada/19386
3445
3446 * decl.c:
3447 (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
3448 on the field if Pragma Component_Alignment (Storage_Unit).
3449 (gnat_to_gnu_entity, case object): Do not treat a renaming that has
3450 side-effects as if it were a constant; also make SAVE_EXPR to protect
3451 side-effects.
3452 (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
3453 UNION_TYPE.
3454 (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
3455 (components_to_record): Test it.
3456 Fix improper usage of REFERENCE_CLASS_P.
3457
3458 * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
3459 RECORD_TYPE.
3460
3461 * utils2.c: Minor reformatting.
3462
3463 * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
3464 handle other cases like RECORD_TYPE.
3465
3466 * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
3467
3468 2005-02-09 Ed Schonberg <schonberg@adacore.com>
3469
3470 * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
3471 component of an array of arrays in an assignment context, and the
3472 aggregate has component associations that require sliding on
3473 assignment, force reanalysis of the aggregate to generate a temporary
3474 before the assignment.
3475 (Must_Slide): Make global to the package, for use in Gen_Assign.
3476
3477 2005-02-09 Ed Schonberg <schonberg@adacore.com>
3478
3479 * exp_ch4.adb (Expand_Composite_Equality): If a component is an
3480 unchecked union with no inferable discriminants, return a
3481 Raise_Program_Error node, rather than inserting it at the point the
3482 type is frozen.
3483 (Expand_Record_Equality, Component_Equality): Handle properly the case
3484 where some subcomponent is an unchecked union whose generated equality
3485 code raises program error.
3486
3487 2005-02-09 Doug Rupp <rupp@adacore.com>
3488
3489 * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
3490 [VMS] (#define exit hack): Remove.
3491
3492 2005-02-09 Pascal Obry <obry@adacore.com>
3493 Arnaud Charlet <charlet@adacore.com>
3494
3495 * init.c (__gnat_initialize): Add a new parameter eh which contains the
3496 address of the exception registration. The Win32 version of this
3497 routine calls __gnat_install_SEH_handler() to initialize the SEH
3498 (Structured Exception Handling) handler.
3499 (__gnat_error_handler) [Win32]: Removed. Not needed as we use
3500 SEH (Structured Exception Handling) now.
3501 (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
3502 (__gnat_initialize for ppc-vxworks): Adjust comments and the
3503 preprocessor condition protecting the call to the extra eh setup
3504 subprogram, which is only available for the ppc target.
3505 (__gnat_clear_exception_count): replaced reference to
3506 variable taskIdCurrent by call to taskIdSelf(), cleaner.
3507
3508 * seh_init.c: New file.
3509
3510 * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
3511 (GNATBIND_OBJS): Idem.
3512
3513 * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
3514 routine takes a new parameter (a pointer to the exception registration
3515 for the SEH (Structured Exception Handling) support.
3516
3517 * raise.h: (__gnat_install_SEH_handler): New prototype.
3518 Update copyright notice.
3519
3520 * s-tassta.adb (Task_Wrapper): Declare the exception registration
3521 record and initialize it by calling __gnat_install_SEH_handler.
3522
3523 2005-02-09 Vincent Celier <celier@adacore.com>
3524
3525 * make.adb (Gnatmake): Do not fail when the main project has no object
3526 directory.
3527
3528 2005-02-09 Doug Rupp <rupp@adacore.com>
3529
3530 * Makefile.in [VMS] (LN,LN_S): Define as cp -p
3531 Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
3532 [VMS]: Add translations for g-enblsp.adb.
3533
3534 * s-asthan-vms.adb: Removed.
3535 * s-asthan-vms-alpha.adb: Added.
3536
3537 2005-02-09 Pascal Obry <obry@adacore.com>
3538
3539 * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
3540 (LIBGNAT_OBJS): Add seh_init.o.
3541
3542 2005-02-09 Arnaud Charlet <charlet@adacore.com>
3543
3544 PR ada/16592
3545
3546 * Makefile.in: Link all gnat tools with -static-libgcc, since
3547 -shared-libgcc is now used by default on some systems (e.g. linux with
3548 recent binutils).
3549 Remove references to Makefile.prolog/generic, no longer used.
3550
3551 2005-02-09 Vincent Celier <celier@adacore.com>
3552
3553 * prj-makr.adb (Process_Directory): Put file name in canonical case
3554 before matching against the patterns.
3555 If gnatname has been invoked as <prefix>-gnatname
3556 then invoke the compiler as <prefix>-gcc, not just "gcc".
3557
3558 2005-02-09 Ed Schonberg <schonberg@adacore.com>
3559
3560 * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
3561 with expansion disabled. The actual subtype is needed among other
3562 places when the selected component appears in the context of a loop
3563 bound, and denotes a packed array.
3564 (Operator_Check): Always use the first subtype in the
3565 error message, to avoid the appearance of internal base types.
3566 (Transform_Object_Operation): Copy each actual in full
3567 to the parameter associations of the constructed call, rather than
3568 using the shallow copy mechanism of New_Copy_List. This ensures that
3569 the chaining of named associations is done properly.
3570 (Complete_Object_Operation): Rewrite node, rather than
3571 replacing it, so that we can trace back to the original selected
3572 component.
3573
3574 * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
3575 and calls that use object notation, if the called function is not
3576 declared in a withed unit, place the elaboration constraint on the
3577 unit in the context that makes the function accessible.
3578 (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
3579 imposes an elaboration constraint between two packages.
3580
3581 2005-02-09 Ed Schonberg <schonberg@adacore.com>
3582
3583 * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
3584 views of a private type after handling its private dependents, to
3585 maintain proper stack discipline between entry and exit from the
3586 package.
3587
3588 2005-02-09 Cyrille Comar <comar@adacore.com>
3589
3590 * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
3591 Minor reformatting.
3592
3593 2005-02-09 Arnaud Charlet <charlet@adacore.com>
3594
3595 * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
3596 fields for foreign threads.
3597
3598 2005-02-09 Doug Rupp <rupp@adacore.com>
3599
3600 * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
3601 recursion warnings when compiled with -gnatdm.
3602
3603 2005-02-09 Robert Dewar <dewar@adacore.com>
3604
3605 * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
3606 Slight fix to documentation of -gnaty with no parameters
3607
3608 * xr_tabls.ads: Add ??? comment for missing overall comment
3609
3610 * xsinfo.adb: Make default file name be sinfo.h, since this is what
3611 we now use by default.
3612
3613 * xsnames.adb: Adjust end of file test to look for five space followed
3614 by '#' instead of six spaces. The format of xsnames.adb was modified
3615 in the last update.
3616
3617 * a-numeri.ads: Add reference to AI-388 for greek letter pi
3618 identifier.
3619
3620 * clean.adb: Minor reformatting.
3621
3622 * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
3623 gnatname.adb: Minor reformatting
3624 Add 2005 to copyright output when utility is run
3625
3626 * csets.adb: Eliminate obsolete comment
3627
3628 * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
3629 Update comments.
3630
3631 * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
3632
3633 2005-02-09 Sergey Rybin <rybin@adacore.com>
3634
3635 * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
3636 the difference between compact and incompact layout and add the record
3637 representation clause to the example illustrating different layouts.
3638 Add the description of '-A5' gnatpp option ("align 'AT' keywords in
3639 component clauses").
3640
3641 2005-02-09 Florian Villoing <villoing@adacore.com>
3642
3643 * gnat_ugn.texi: Fix typos.
3644 Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
3645 @file.
3646 Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
3647 in the generated documentation.
3648
3649 2005-02-09 Arnaud Charlet <charlet@adacore.com>
3650
3651 * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
3652 longer supported.
3653 Update linker wrapper when linking with non GNU C++.
3654
3655 2005-02-09 Pascal Obry <obry@adacore.com>
3656
3657 * gnat_ugn.texi:
3658 Document the procedure to debug the DllMain routine on Windows.
3659 Add note about -funwind-tables and mixed Ada and C/C++ programming in
3660 ZCX mode.
3661 Document new BIND qualifer /RETURN_CODES=VMS.
3662
3663 2005-02-09 Ben Brosgol <brosgol@adacore.com>
3664
3665 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
3666 Edited gnatmetric chapter
3667
3668 2005-02-09 Robert Dewar <dewar@adacore.com>
3669
3670 * gnat_rm.texi:
3671 Changes to document new wide wide character support
3672 For AI-285
3673 Update documentation on Normalize_Scalars and Initialize_Scalars
3674
3675 2005-02-09 Pascal Obry <obry@adacore.com>
3676
3677 * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
3678
3679 2005-02-09 Jose Ruiz <ruiz@adacore.com>
3680
3681 * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
3682 from the VxWorks kernel) that is needed for getting the active
3683 priority of the different tasks.
3684
3685 * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
3686 Use a pragma Elaborate_Body in the spec file instead.
3687 Noticed by code reading.
3688
3689 2005-02-09 Thomas Quinot <quinot@adacore.com>
3690
3691 * exp_util.ads: Minor correction in comment.
3692
3693 2005-02-09 Arnaud Charlet <charlet@adacore.com>
3694
3695 * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
3696 since this procedure is now too complex to be worth inlining.
3697
3698 2005-02-09 Richard Henderson <rth@redhat.com>
3699
3700 * utils.c (gnat_define_builtin): Remove.
3701 (gnat_install_builtins): Use build_common_builtin_nodes.
3702
3703 2005-02-09 Arnaud Charlet <charlet@adacore.com>
3704
3705 * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
3706 a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
3707 a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
3708 a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
3709 a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
3710 a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
3711 a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
3712 a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
3713 a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
3714 a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
3715 a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
3716 a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
3717 a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
3718 a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
3719 a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
3720 a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
3721 a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
3722 a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
3723 a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
3724 a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
3725 a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
3726 a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
3727 a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
3728 a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
3729 a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
3730 a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
3731 a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
3732 a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
3733 a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
3734 a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
3735 a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
3736 a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
3737 a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
3738 a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
3739 library.
3740
3741 2005-01-27 Laurent GUERBY <laurent@guerby.net>
3742
3743 * Makefile.in: Fix a-intnam.ads from previous commit,
3744 add 2005 to copyright.
3745 * a-intman-rtems.ads: Renamed to...
3746 * a-intnam-rtems.ads:
3747
3748 2005-01-27 Laurent GUERBY <laurent@guerby.net>
3749
3750 * Makefile.in: Rename GNAT RTEMS specific files.
3751 * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
3752 5rosinte.ads, 5rparame.adb: Replaced by files below.
3753 * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
3754 s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
3755
3756 2005-01-27 Joel Sherrill <joel.sherrill@oarcorp.com>
3757 Laurent GUERBY <laurent@guerby.net>
3758
3759 PR ada/19488
3760 * 5rosinte.ads: Add No_Key constant.
3761 * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
3762 * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
3763
3764 2005-01-26 Laurent GUERBY <laurent@guerby.net>
3765
3766 PR ada/19414
3767 * i-cobol.adb (Valid_Numeric): Handle zero length case.
3768
3769 2005-01-20 Richard Henderson <rth@redhat.com>
3770
3771 * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
3772 a-intnam-linux.ads and system-linux-alpha.ads.
3773 * a-intnam-linux-alpha.ads: Remove file.
3774 * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
3775 * system-linux-alpha.ads: New file.
3776
3777 2005-01-18 Jakub Jelinek <jakub@redhat.com>
3778
3779 PR ada/13470
3780 * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
3781 set to the new string.
3782
3783 2005-01-18 Toon Moene <toon@moene.indiv.nluug.nl>
3784
3785 * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
3786 to True.
3787
3788 2005-01-18 Richard Henderson <rth@redhat.com>
3789
3790 * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
3791 THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
3792 for alpha-linux.
3793 * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
3794
3795 2005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
3796
3797 * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
3798 (GCC_ZCX_Support): Likewise.
3799
3800 2005-01-11 Bastian Blank <waldi@debian.org>
3801
3802 * system-linux-s390.ads: Define Preallocated_Stacks.
3803 * system-linux-s390x.ads: Likewise.
3804
3805 2005-01-04 Arnaud Charlet <charlet@adacore.com>
3806
3807 * gnat_ugn.texi: Fix texi errors with null variables.
3808
3809 2005-01-03 Thomas Quinot <quinot@adacore.com>
3810
3811 * gen-soccon.c: New utility program to generate g-soccon.ads
3812 automatically.
3813
3814 * socket.c, gsocket.h: Split inclusion of system header files into a
3815 gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
3816
3817 * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
3818 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
3819 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
3820 g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
3821 should not be edited by hand anymore, but should be regenerated using
3822 gen-soccon.
3823
3824 2005-01-03 Robert Dewar <dewar@adacore.com>
3825 Ed Schonberg <schonberg@adacore.com>
3826 Vincent Celier <celier@adacore.com>
3827
3828 * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
3829 on/off, since this is an obsolescent feature, for which we now generate
3830 a warning.
3831
3832 * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
3833 warning mode is set and obsolescent usage of this attribute occurs.
3834 (Resolve_Access, case 'Access): Note that GNAT uses the context type to
3835 disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
3836 predates, and partly motivates, the adoption of the AI.
3837 Implement new Ada 2005 attribute Mod
3838
3839 * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
3840 attribute Mod.
3841
3842 * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
3843
3844 * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
3845 pragma restrictions.
3846 New entry for Ada 2005 attribute Mod.
3847
3848 * par-prag.adb:
3849 Add recognition of new pragma Restrictions No_Dependence
3850 Recognize restriction No_Obsolescent_Features at parse time
3851
3852 * bcheck.adb: Add circuitry for checking for consistency of
3853 No_Dependence restrictions.
3854
3855 * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
3856 restrictions.
3857
3858 * restrict.ads, restrict.adb: Add subprograms to deal with
3859 No_Dependence restrictions.
3860
3861 * rtsfind.adb: Check that implicit with's do not violate No_Dependence
3862 restrictions.
3863
3864 * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
3865 sem_attr.adb: Add check for new restriction No_Obsolescent_Features
3866
3867 * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
3868 dummy parameter to scng instantiation.
3869 Needed for new restriction No_Obsolescent_Features
3870
3871 * scn.adb: (Obsolescent_Check): New procedure
3872 Needed for new restriction No_Obsolescent_Features
3873
3874 * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
3875 specified by AI-285, needed for implementation of AI-388 (adding greek
3876 pi to Ada.Numerics).
3877 Add new generic formal to scng, needed for new restriction
3878 No_Obsolescent_Features.
3879
3880 * s-rident.ads: Add new restriction No_Obsolescent_Features.
3881
3882 * ali.ads, ali.adb: Adjustments for reading new No_Dependence
3883 restrictions lines.
3884 (Scan_ALI): When finding an unexpected character on an R line, raise
3885 exception Bad_R_Line, instead of calling Fatal_Error, so that, when
3886 Ignore_Errors is True, default restrictions are set and scanning of the
3887 ALI file continues with the next line. Also, when Bad_R_Line is raised
3888 and Ignore_Errors is True, skip to the end of le line.
3889
3890 * sem_ch10.adb: Check that explicit with's do not violate
3891 No_Dependence restrictions.
3892 (Install_Withed_Unit): Add code to implement AI-377 and diagnose
3893 illegal context clauses containing child units of instance.
3894
3895 * sem_prag.adb: Processing and checking for new No_Dependence
3896 restrictions.
3897 (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
3898 analyze and check the External argument.
3899
3900 * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
3901
3902 2005-01-03 Robert Dewar <dewar@adacore.com>
3903
3904 * atree.adb: Add a fifth component to entities
3905 This allows us to add 32 flags and four new fields
3906
3907 * atree.ads: Add a fifth component to entities
3908 This allows us to add 32 flags and four new fields
3909
3910 * einfo.ads, einfo.adb: Document new fields and new flags now available
3911 Add routines for printing new fields
3912
3913 * treepr.adb: Call routines to print out additional fields if present
3914
3915 2005-01-03 Arnaud Charlet <charlet@adacore.com>
3916
3917 * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
3918 gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
3919
3920 * Makefile.in: Add support to build shared Ada libraries on solaris x86
3921 Remove gpr2make, replaced by gprmake.
3922 Remove references to gnatmem and libaddr2line.
3923 Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
3924 (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
3925 Add support for specialized version of Ada.Numerics.Aux for Darwin: use
3926 a-numaux-darwin.ads and a-numaux-darwin.adb
3927 Enable mlib-tgt-lynxos.adb on lynxos.
3928
3929 * Make-lang.in: Remove rules for gpr2make.
3930 When generating sdefault.adb, do not call Relocate_Path
3931 on S3 for function Target_Name, as it is not a path.
3932 Remove references to gnatmem and libaddr2line.
3933
3934 * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
3935 files.
3936
3937 2005-01-03 Samuel Tardieu <tardieu@adacore.com>
3938
3939 * checks.adb (Apply_Alignment_Check): Generate a warning if an object
3940 address is incompatible with its base type alignment constraints when
3941 this can be decided statically.
3942
3943 2005-01-03 Olivier Hainque <hainque@adacore.com>
3944
3945 * decl.c (compatible_signatures_p): New function. The intended purpose
3946 is to check if two function signatures for a call-site and a callee are
3947 compatible enough for the call to be valid. The underlying purpose is
3948 to check if a call to a mapped builtin is using the right interface.
3949 The current code actually does not check antyhing - this a placeholder
3950 for future refinements.
3951 (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
3952 builtin calls for convention Intrinsic.
3953
3954 * gigi.h (builtin_decl_for): Declare (new function).
3955
3956 * utils.c (gnat_install_builtins): Install the target specific builtins.
3957 (builtin_decl_for): New function, provide a dummy body for now.
3958
3959 2005-01-03 Geert Bosch <bosch@adacore.com>
3960
3961 * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
3962 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
3963 (Pred): Implement in terms of Succ.
3964
3965 * trans.c (convert_with_check): Reimplement conversion of float to
3966 integer.
3967
3968 2005-01-03 Ed Schonberg <schonberg@adacore.com>
3969 Vincent Celier <celier@adacore.com>
3970
3971 * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
3972 bounds can be negative, and must be declared Int, not Nat.
3973
3974 * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
3975 array is checked after using the index in the array.
3976
3977 * makegpr.adb (Add_Switches): Check if there is a package for the
3978 processor. If there is no package, do not look for switches.
3979
3980 2005-01-03 Ed Schonberg <schonberg@adacore.com>
3981
3982 * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
3983 generation of predefined stream operations (specs and bodies) should
3984 proceed. Under various restrictions these subprograms must not be
3985 generated.
3986
3987 2005-01-03 Thomas Quinot <quinot@adacore.com>
3988
3989 * exp_dist.adb:
3990 Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
3991 amount of PCS-specific code in RACW stubs generation.
3992 (Copy_Specification): Set Etype on copied formal parameter entities, as
3993 this information is needed for PolyORB stubs generation.
3994 (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
3995 variable Dynamic_Async.
3996 (Build_Subprogram_Receiving_Stubs): Make PCS-specific
3997 (Build_RPC_Receiver_Specification): Make generic again, as recent
3998 changes have allowed RPC receivers to have the same profile for both
3999 variants of the PCS.
4000 Reorganise RPC receiver generation to reduce differences between the
4001 structure of GARLIC and PolyORB RPC receivers.
4002 (Add_Receiving_Stubs_To_Declarations): Make this subprogram
4003 PCS-specific.
4004 Simplify elaboration code for RCI packages.
4005
4006 * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
4007 generation to reduce differences between the structure of GARLIC and
4008 PolyORB RPC receivers.
4009
4010 * s-stratt.adb: Fix typo in comment.
4011
4012 2005-01-03 Thomas Quinot <quinot@adacore.com>
4013
4014 * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
4015 copied from Make_Init_Call).
4016
4017 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
4018 reads and assignments on a temporary variable declared with appropriate
4019 discriminants.
4020
4021 2005-01-03 Robert Dewar <dewar@adacore.com>
4022
4023 * i-c.adb (To_C): Raise CE if string is null and Append_Null
4024
4025 2005-01-03 Robert Dewar <dewar@adacore.com>
4026
4027 * i-cstrin.adb (Update): Do not append a null in form called with a
4028 String. This avoids unintended behavior.
4029
4030 2005-01-03 Arnaud Charlet <charlet@adacore.com>
4031
4032 PR ada/17527
4033 * init.c: Fix warnings on Free BSD section.
4034
4035 2005-01-03 Arnaud Charlet <charlet@adacore.com>
4036
4037 PR ada/16949
4038 * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
4039 xsinfo.adb).
4040
4041 2005-01-03 Vincent Celier <celier@adacore.com>
4042
4043 * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
4044 libraries when Unique_Compile is True (-u switch).
4045 (Gnatmake): ditto.
4046
4047 2005-01-03 Robert Dewar <dewar@adacore.com>
4048
4049 * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
4050 upper case letter or underscore after W, as allowed by spec.
4051
4052 2005-01-03 Arnaud Charlet <charlet@adacore.com>
4053
4054 * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
4055 darwin port by using proper type definitions from header files.
4056 Use SIGTERM instead of SIGABRT for SIGADAABORT.
4057
4058 2005-01-03 Robert Dewar <dewar@adacore.com>
4059
4060 * par.adb: Enhance error message handling for configuration file
4061 pragmas.
4062
4063 2005-01-03 Robert Dewar <dewar@adacore.com>
4064
4065 * s-arit64.adb (Double_Divide): Put back changes that got accidentally
4066 removed during the previous update (test properly for case of dividing
4067 largest negative number by -1, which generates overflow).
4068
4069 2005-01-03 Ed Schonberg <schonberg@adacore.com>
4070 Sergey Rybin <rybin@adacore.com>
4071
4072 * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
4073 to use as the defining identifier for a formal package.
4074 (Remove_Parent): If the instance takes place within (an instance of)
4075 a sibling, preserve private declarations of common parent.
4076
4077 2005-01-03 Ed Schonberg <schonberg@adacore.com>
4078
4079 * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
4080 to determine whether one of the operands is a fixed-point type for
4081 which a user-defined multiplication or division operation might be
4082 defined.
4083
4084 * sem_res.adb (Valid_Conversion): The legality rules for conversions
4085 of access types are symmetric in Ada 2005: either designated type can
4086 be unconstrained.
4087
4088 2005-01-03 Vincent Celier <celier@adacore.com>
4089
4090 * s-fileio.adb (Temp_File_Record): Change length of string component
4091 Name from L_tmpnam + 1 to max_path_len + 1.
4092
4093 2005-01-03 Arnaud Charlet <charlet@adacore.com>
4094
4095 * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
4096 Self_Id.Deferral_Level = 0.
4097 (Do_Pending_Action): Move this function to the spec.
4098
4099 * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
4100 Do_Pending_Action explicitely when needed, in case we're using
4101 No_Abort restrictions.
4102
4103 * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
4104 deferral level since it will not get changed by the generated code.
4105 Keeping a default value of 1 would prevent some operations (e.g.
4106 select or delay) to proceed successfully.
4107
4108 2005-01-03 Ben Brosgol <brosgol@adacore.com>
4109 Robert Dewar <dewar@adacore.com>
4110 Cyrille Comar <comar@adacore.com>
4111
4112 * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
4113 porting guide chapter (vms version).
4114 Revised doc title (removed "for native platforms") and subtitle.
4115 Add discussion on warning flag for obsolescent features. First we
4116 note that it applies to obsolete GNAT features, which was previously
4117 omitted. Second we contrast the behavior with that of the new
4118 Ada 2005 AI-368 restriction No_Obsolescent_Features.
4119 Preliminary rewriting of GNAT & libraries chapter in order to take
4120 into account default project locations & new project manager
4121 capabilities.
4122
4123 2005-01-03 Robert Dewar <dewar@adacore.com>
4124
4125 * cstand.adb (Create_Operators): Clean up format and documentation of
4126 unary and binary operator result tables. No change in code, just
4127 reformatting and addition of comments.
4128
4129 * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
4130 sem_ch2.adb: Minor reformatting
4131
4132 * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
4133 sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
4134 comments for Tree_Read and Tree_Write.
4135
4136 2005-01-03 Pascal Obry <obry@adacore.com>
4137
4138 * exp_attr.ads: Minor reformatting.
4139
4140 2005-01-03 Romain Berrendonner <berrendo@adacore.com>
4141
4142 * comperr.adb (Compiler_Abort): Add specialized message for GAP
4143 versions.
4144
4145 2005-01-03 Ed Schonberg <schonberg@adacore.com>
4146
4147 * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
4148 whether the ancestor type is private, as may be the case with nested
4149 instantiations.
4150
4151 2004-12-30 Sohail Somani <sohail@sohailsomani.com>
4152
4153 PR ada/19128
4154 * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
4155
4156 2004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
4157
4158 * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
4159 * utils2.c (build_unary_op): Likewise.
4160
4161 2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4162
4163 * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
4164
4165 2004-12-19 Richard Henderson <rth@redhat.com>
4166
4167 * trans.c (gigi): Update gimplify_body call.
4168
4169 2004-12-09 Nathan Sidwell <nathan@codesourcery.com>
4170
4171 * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
4172
4173 2004-12-07 Ed Falis <falis@adacore.com>
4174
4175 * s-intman-vxworks.adb (Notify_Exception): removed useless check for
4176 current task being suspended.
4177
4178 * init.c (__gnat_clear_exception): added to reset VxWorks exception
4179 count.
4180 (__gnat_map_signal): removed test for current task being suspended.
4181
4182 2004-12-07 Gary Dismukes <dismukes@adacore.com>
4183
4184 * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
4185 from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
4186 targets (such as AAMP).
4187
4188 2004-12-07 Ed Schonberg <schonberg@adacore.com>
4189
4190 * atree.adb (Visit_Itype): Create a new name for the generated itype,
4191 because the back-end may otherwise treat it as a redefinition of the
4192 old symbol.
4193
4194 2004-12-07 Eric Botcazou <ebotcazou@adacore.com>
4195
4196 * back_end.adb (Scan_Back_End_Switches): Accept --param.
4197
4198 * lang-specs.h: Accept --param.
4199
4200 2004-12-07 Vincent Celier <celier@adacore.com>
4201
4202 * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
4203 package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
4204 Current_Body_Suffix => Ada_Body_Suffix).
4205 Take into account Externally_Built attribute.
4206
4207 * clean.adb (In_Extension_Chain): Always return False when one of the
4208 parameter is No_Project.
4209 (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
4210 Ada_Language_Index).
4211 (Gnatclean): Adapt to change in package Prj.Pars (no parameter
4212 Process_Languages for procedure Parse).
4213
4214 * gnatcmd.adb (Carg_Switches): New table.
4215 (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
4216 Adapt to name changes in package Prj (Current_Spec_Suffix =>
4217 Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
4218
4219 * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
4220 Header_Num and function Hash are now declared in package Prj,
4221 not Prj.Com.
4222
4223 * prj.adb (Suffix_Of): New function.
4224 (Set (Suffix)): New procedure.
4225 (Hash): One function moved from Prj.Com
4226 (Is_Present, Language_Processing_Data_Of): New functions
4227 (Set): Two new procedures
4228 (Add_Language_Name, Display_Language_Name): New procedures
4229
4230 * prj.ads: (Suffix_Of): New function
4231 (Set (Suffix)): New procedure
4232 Add several types and tables for multi-language support.
4233 (Header_Num): Type moved from Prj.Com
4234 (Hash): Two functions moved from Prj.Com
4235 (Is_Present, Language_Processing_Data_Of): New functions
4236 (Set): Two new procedures
4237 (Add_Language_Name, Display_Language_Name): New procedures
4238 (Naming): Component name changes:
4239 Current_Spec_Suffix => Ada_Spec_Suffix,
4240 Current_Body_Suffix => Ada_Body_Suffix. Add new components:
4241 Impl_Suffixes, Supp_Suffixes.
4242 (Project_Data): New components: Externally_Built, Supp_Languages,
4243 First_Language_Processing, Supp_Language_Processing, Default_Linker,
4244 Default_Linker_Path.
4245
4246 * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
4247 new package Language_Processing with its attributes (Compiler_Driver,
4248 Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
4249 Binder_Driver, Default_Linker).
4250
4251 * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
4252 (Header_Num): Type moved to package Prj
4253
4254 * prj-env.adb: Adapt to name changes in package Prj
4255 (Current_Spec_Suffix => Ada_Spec_Suffix,
4256 Current_Body_Suffix => Ada_Body_Suffix).
4257
4258 * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
4259 default to the project path, except the "-" is one of the directories
4260 in env var ADA_PROJECT_PATH.
4261 (Current_Project_Path): Global variable, replacing Project_Path
4262 that was in the body of Prj.Part.
4263 (Project_Path): New function
4264 (Set_Project_Path): New procedure
4265 Initialize Current_Project_Path during elaboration of the package
4266 Remove dependency on Prj.Com, no longer needed
4267
4268 * prj-ext.ads (Project_Path): New function
4269 (Set_Project_Path): New procedure
4270
4271 * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
4272 suffix is defined for language <lang>.
4273 (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
4274 accessing directly the components of Naming.
4275 (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
4276 Reorganise of this package.
4277 Break procedure Check in several procedures.
4278
4279 * prj-nmsc.ads: Replace all procedures (Ada_Check,
4280 Other_Languages_Check and Language_Independent_Check) with a single
4281 procedure Check.
4282
4283 * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
4284 Process_Languages, no longer needed.
4285
4286 * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
4287 Current_Project_Path.
4288 Remove elaboration code, moved to the body of Prj.Ext
4289 Use new function Prj.Ext.Project_Path instead of old variable
4290 Project_Path.
4291 (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
4292 When comparing with project paths on the stack, first put the resolved
4293 path in canonical case.
4294 (Parse_Single_Project): Set the path name of the project file in the
4295 tree to the normalized path.
4296
4297 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
4298 parameter Process_Languages, no longer needed.
4299 (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
4300 Other_Languages_Check.
4301
4302 * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
4303 to store the resolved canonical path of the project file.
4304 Remove dependency to Prj.Com, no longer needed
4305
4306 * prj-util.adb: Adapt to name changes in package Prj
4307 (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
4308 Ada_Body_Suffix).
4309
4310 * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
4311 Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
4312 Externally_Built, Include_Option, Language_Processing.
4313
4314 * makegpr.adb: Numerous changes due to changes in packages
4315 Prj and Prj.Nmsc.
4316
4317 * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
4318 default to the project path, except whe "-" is one of the directories
4319 in env var ADA_PROJECT_PATH.
4320 (Gnatls): In verbose mode, add the new section "Project Search Path:"
4321
4322 2004-12-07 Robert Dewar <dewar@adacore.com>
4323
4324 * debug.adb: Document that -gnatdA automatically sets -gnatR3m
4325
4326 * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
4327 set -gnatR3m mode.
4328
4329 * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
4330 flag. No longer needed now that we handle this in gnat1drv.adb.
4331
4332 * repinfo.ads: Minor reformatting
4333
4334 2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4335 Olivier Hainque <hainque@adacore.com>
4336 Eric Botcazou <ebotcazou@adacore.com>
4337
4338 * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
4339 TYPE_SIZE_UNIT of result type if SIZE is not specified.
4340 (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
4341 of a bitfield, which we know is useless and causes trouble because of
4342 alignment implications.
4343
4344 * utils.c (create_var_decl): Set DECL_COMMON again on targets without
4345 BSS sections.
4346 (process_attributes): Clear DECL_COMMON again when a section attribute
4347 is present.
4348 (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
4349 SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
4350 (create_field_decl): Special case ADDRESSABLE negative to mean
4351 "no bitfield creation", to be used by make_aligning_type. Don't
4352 restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
4353 fields claimed addressable still have to be bitfields. Use
4354 value_factor_p instead of a raw binop construction to check for the
4355 position's alignment.
4356
4357 2004-12-07 Geert Bosch <bosch@adacore.com>
4358
4359 * eval_fat.adb: Revert previous change.
4360
4361 2004-12-07 Thomas Quinot <quinot@adacore.com>
4362 Ed Schonberg <schonberg@adacore.com>
4363
4364 * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
4365 with an implicit dereference as its prefix, use
4366 Insert_Explicit_Dereference instead of merely rewriting the prefix into
4367 an explicit dereference. This ensures that a reference to the original
4368 prefix is generated, if appropriate.
4369
4370 * sem_util.adb (Insert_Explicit_Dereference): When an implicit
4371 dereference is rewritten to an explicit one, generate a reference to
4372 the entity denoted by its prefix using the original prefix node, so
4373 the dereference can be properly recorded as a read of the denoted
4374 access value, if appropriate.
4375
4376 * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
4377 emitting 'assigned but never read' warning on a variable on the basis
4378 that it has an access type.
4379 (Check_References): Emit unreferenced warning when the scope is a
4380 subprogram body.
4381
4382 2004-12-07 Robert Dewar <dewar@adacore.com>
4383 Ed Schonberg <schonberg@adacore.com>
4384
4385 * exp_ch6.adb (Expand_Call): Add comment on handling of back end
4386 intrinsic
4387
4388 * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
4389 leaving call unchanged.
4390 This deals with the case where the pragma Import specified
4391 an external name, to be handled by the back end.
4392
4393 * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
4394 subprogram which is Imported with convention Intrinsic if an
4395 External_Name argument is specified.
4396 (Process_Import_Or_Interface): Properly diagnose link name argument.
4397 (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
4398 with Sem_Ch6.Cannot_Inline.
4399 (Process_Inline): Provide separate warning for inapplicable inline
4400 pragma.
4401 (Cannot_Inline): Reject subprograms that have an at_end handler, so that
4402 treatment is uniform on different targets.
4403
4404 2004-12-07 Ed Schonberg <schonberg@adacore.com>
4405
4406 * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
4407 construct is rewritten, preserve end label to permit source navigation.
4408
4409 2004-12-07 Thomas Quinot <quinot@adacore.com>
4410
4411 * exp_dist.adb (Specific_Build_General_Calling_Stubs,
4412 Specific_Build_Stub_Target): New subprograms.
4413 (Build_Subprogram_Calling_Stubs): Make this procedure independent from
4414 the PCS implementation used, using the above PCS-customized subprograms.
4415 Minor reformatting.
4416 (PolyORB_Support.Helpers): New subunit containing supporting subprograms
4417 for generation of DSA code targeted to the PolyORB PCS.
4418 (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
4419 implementation of the partition communication subsystem in ancillary
4420 subprograms.
4421 (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
4422 PolyORB_Support.Build_Stub_Type): New subrograms containing the
4423 PCS-specific part of Add_Stub_Type.
4424 (Insert_Partition_Check): Use runtime library function to perform
4425 E.4(19) check.
4426
4427 * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
4428 (RE_Same_Partition): New entity, from s-parint.
4429
4430 * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
4431
4432 2004-12-07 Gary Dismukes <dismukes@adacore.com>
4433
4434 * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
4435 Output the copyright message on a separate line from the version
4436 message.
4437
4438 2004-12-07 Joel Brobecker <brobecker@adacore.com>
4439
4440 * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
4441 compile-time warning.
4442
4443 2004-12-07 Robert Dewar <dewar@adacore.com>
4444
4445 * g-regpat.adb: (Match): Change a misuse of or to or else
4446
4447 2004-12-07 Ed Schonberg <schonberg@adacore.com>
4448
4449 * lib-xref.adb:
4450 (Generate_Reference): Handle properly a reference to an entry formal,
4451 when an accept statement has a pragma Unreferenced for it.
4452
4453 * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
4454 and the Has_Pragma_Unreferenced flag for each formal before analyzing
4455 the body, to ensure that warnings are properly emitted for each accept
4456 statement of a given task entry.
4457
4458 2004-12-07 Vasiliy Fofanov <fofanov@adacore.com>
4459
4460 * Makefile.in: Add support for foreign threads on VMS.
4461
4462 2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4463
4464 * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
4465 Remove.
4466 (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
4467
4468 * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
4469
4470 * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
4471 exception.
4472 (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
4473
4474 2004-12-07 Robert Dewar <dewar@adacore.com>
4475
4476 * nlists.adb (Prepend_Debug): Remove parameters and nest within
4477 Prepend.
4478 (Remove_Next_Debug): Same fix
4479
4480 * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
4481 maintain back pointers now, though we did not used to, and comments
4482 were out of date).
4483 (Prepend): Remove pragma Inline.
4484 (Remove_Next): Same cleanup
4485
4486 2004-12-07 Thomas Quinot <quinot@adacore.com>
4487
4488 * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
4489 used to record an implicit dereference as a read operation on its
4490 prefix when operating under -gnatc. Necessary to avoid spurious
4491 'variable assigned but never read' warnings in that mode.
4492 (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
4493 is a non-overloaded implicit dereference, call the above subprogram to
4494 ensure proper recording of references.
4495
4496 2004-12-07 Gary Dismukes <dismukes@adacore.com>
4497
4498 * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
4499 to be resolved later as part of Analyze_Iteration_Scheme's call to
4500 Make_Index.
4501
4502 2004-12-07 Ed Schonberg <schonberg@adacore.com>
4503
4504 * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
4505 prefix is not a scalar type, place error message on prefix, not on
4506 type entity.
4507
4508 2004-12-07 Bernard Banner <banner@adacore.com>
4509
4510 * vxaddr2line.adb: Add support for x86 vxworks
4511
4512 2004-12-07 Thomas Quinot <quinot@adacore.com>
4513
4514 * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
4515 documentation of the behaviour of these functions when passed an IP
4516 address that has no record in the system hosts database and no reverse
4517 record in the DNS.
4518
4519 * cstand.adb, a-tags.ads: Fix typos in comment.
4520
4521 2004-12-07 Robert Dewar <dewar@adacore.com>
4522
4523 * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
4524 exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
4525 sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
4526 s-poosiz.ads: Minor reformatting
4527
4528 * make.adb: Minor reformatting
4529 Add some ??? comments asking for more comments
4530
4531 * s-poosiz.adb: Minor reformatting
4532 Add comments on alignment requirement
4533
4534 * sinfo.ads: Remove obsolete comment and fix typo.
4535
4536 2004-12-07 Vincent Celier <celier@adacore.com>
4537 Sergey Rybin <rybin@adacore.com>
4538
4539 * gnat_ugn.texi: Update the section "The GNAT Driver and Project
4540 Files" with the new tool and package names.
4541 Reformatting to suppress most of the warnings for line too long
4542 Document the new section "Project Search Path:" in the output of
4543 gnatls -v.
4544 Add gnatmetric section
4545
4546 2004-12-07 Vincent Celier <celier@adacore.com>
4547
4548 * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
4549 -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
4550 and -eit to -ept. Added qualifier
4551 /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
4552
4553 2004-11-27 Andreas Schwab <schwab@suse.de>
4554
4555 * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
4556
4557 2004-11-25 Arnaud Charlet <charlet@adacore.com>
4558
4559 * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
4560 internal implementation unit GNAT.Sockets.Thin,
4561 as their usage for sockets is non-portable (using the read and write
4562 functions from the system runtime library is fine on UNIX but won't
4563 work under Windows).
4564
4565 * mingw32.h: Update copyright notice.
4566
4567 2004-11-25 Arnaud Charlet <charlet@adacore.com>
4568
4569 * ada-tree.h: Minor reformatting of previous change to avoid lines
4570 longer than 79 characters.
4571
4572 2004-11-25 Olivier Hainque <hainque@adacore.com>
4573
4574 * tb-gcc.c: GCC infrastructure based implementation of
4575 __gnat_backtrace.
4576
4577 2004-11-24 Steven Bosscher <stevenb@suse.de>
4578
4579 * misc.c (gnat_post_options): Don't clear
4580 flag_inline_functions.
4581
4582 2004-11-22 Andrew Pinski <pinskia@physics.uc.edu>
4583
4584 PR ada/17986
4585 * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
4586 tree.
4587
4588 2004-11-21 Andreas Jaeger <aj@suse.de>
4589
4590 * stylesw.adb: Change Style_Check_Subprogram_Order to
4591 Style_Check_Order_Subprograms.
4592
4593 2004-11-18 Arnaud Charlet <charlet@adacore.com>
4594
4595 * adaint.h, adaint.c
4596 (__gnat_portable_spawn): Fix cast of spawnvp third parameter
4597 to avoid warnings.
4598 Add also a cast to kill another warning.
4599 (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
4600 parameter with the priority class of the parent process instead of
4601 always using the NORMAL_PRIORITY_CLASS.
4602 (__gnat_dup): New function.
4603 (__gnat_dup2): New function.
4604 (__gnat_is_symbolic_link): Enable the effective body of this
4605 function when __APPLE__ is defined.
4606
4607 * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
4608 Update comments.
4609
4610 2004-11-18 Olivier Hainque <hainque@adacore.com>
4611
4612 * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
4613 address of which may be used to represent "others" and "all others"
4614 choices in exception tables, instead of the current harcoded
4615 (void *)0 and (void *)1.
4616 (Setup_Exception): Do nothing in the GNAT SJLJ case.
4617
4618 * gigi.h (others_decl, all_others_decl): New decls representing the
4619 new Others_Value and All_Others_Value objects.
4620 (struct attrib): Rename "arg" component as "args", since GCC expects a
4621 list of arguments in there.
4622
4623 * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
4624 corresponding objects exported by a-exexpr, instead of hardcoded dummy
4625 addresses.
4626
4627 * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
4628 others_decl and all_others_decl instead of hardcoded dummy addresses
4629 to represent "others" and "all others" choices, which is cleaner and
4630 more flexible with respect to the possible eh pointer encoding policies.
4631
4632 * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
4633 (process_attributes): Account for the naming change of the "args"
4634 attribute list entry component.
4635
4636 * decl.c (build_attr_list): Rename into prepend_attributes to allow
4637 cumulating attributes for different entities into a single list.
4638 (gnat_to_gnu_entity): Use prepend_attributes to build the list of
4639 attributes for the current entity and propagate first subtype
4640 attributes to other subtypes.
4641 <E_Procedure>: Attribute arguments are attr->args and not
4642 attr->arg any more.
4643 (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
4644 argument provided, as this is what GCC expects. Use NULL_TREE instead
4645 of 0 for trees.
4646
4647 2004-11-18 Robert Dewar <dewar@adacore.com>
4648
4649 * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
4650 Minor reformatting througout (including new function specs)
4651 Add ??? comments asking for clarification.
4652
4653 2004-11-18 Thomas Quinot <quinot@adacore.com>
4654
4655 * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
4656 incomplete duplicate implementation of this subprogram from butil.
4657
4658 2004-11-18 Thomas Quinot <quinot@adacore.com>
4659
4660 * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
4661 procedures factors the common processing for building an RPC receiver
4662 for an RCI package or an RACW type.
4663 Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
4664 Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
4665 (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
4666 in use.
4667 (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
4668 Add_RACW_Features.
4669 (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
4670 Add_RAST_Features.
4671 (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
4672 distribution subprogram identifiers that are either subprogram numbers
4673 or strings.
4674 (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
4675 string distribution identifiers assigned to a given subprogram.
4676 (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
4677 (Add_RAS_Dereference_TSS): Add comments.
4678 (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
4679 is not referenced yet because it will be used by the PolyORB DSA
4680 implementation.
4681 (Insert_Partition_Check): Remove fossile code.
4682 (First_RCI_Subprogram_Id): Document this constant.
4683 (Add_RAS_Access_TSS): Correct the setting of the Etype of the
4684 RAS_Access TSS.
4685 (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
4686 replaced with calls to Get_Library_Unit_Name_String. Previously there
4687 were several instances of the same code in different locations in the
4688 compiler; this checkin completes the replacement of all of these
4689 instances with calls to a common subprogram.
4690 Minor reformatting.
4691
4692 * sem_dist.adb: Remove comment noting that RPC receiver generation
4693 should be disabled for RACWs that implement RASs.
4694 (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
4695
4696 * sem_util.ads, sem_util.adb (Has_Stream): New function
4697 (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
4698 qualified name of a library unit into the name buffer.
4699 (Note_Possible_Modification): Generate a reference only
4700 if the context comes from source.
4701
4702 * snames.ads (PCS_Names): New subtype corresponding to names of
4703 supported implementations of the Partition Communication Subsystem
4704 (PCS) (i.e. the runtime library support modules for the distributed
4705 systems annex).
4706
4707 2004-11-18 Robert Dewar <dewar@adacore.com>
4708 Ed Schonberg <schonberg@adacore.com>
4709
4710 * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
4711 (Has_Rep_Pragma): New function
4712 (Has_Attribute_Definition_Clause): New function
4713 (Record_Rep_Pragma): Moved here from sem_ch13.adb
4714 (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
4715
4716 * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
4717
4718 * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
4719 (Expand_Pragma_Psect_Object): New procedure
4720 These procedures contain the revised and cleaned up processing for
4721 these two pragmas. This processing was formerly in Sem_Prag, but
4722 is more appropriately moved here. The cleanup involves making sure
4723 that the pragmas are properly attached to the tree, and that no
4724 nodes are improperly shared.
4725
4726 * sem_prag.adb: Move expansion of Common_Object and Psect_Object
4727 pragmas to Exp_Prag, which is more appropriate.
4728 Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
4729 check for duplicates Remove use of Is_Psected flag, no longer needed.
4730 Use new Make_String_Literal function with string.
4731
4732 * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
4733 that are functions return universal values, that have to be converted
4734 to the context type.
4735 Use new Make_String_Literal function with string.
4736 (Get_Stream_Convert_Pragma): New function, replaces the use of
4737 Get_Rep_Pragma, which had to be kludged to work in this case.
4738
4739 * freeze.adb: Use new Has_Rep_Pragma function
4740
4741 * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
4742 function with string.
4743 Use new Has_Rep_Pragma function.
4744
4745 * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
4746 string argument.
4747
4748 2004-11-18 Robert Dewar <dewar@adacore.com>
4749
4750 * errout.ads, errout.adb: (First_Sloc): New function
4751
4752 * par-ch5.adb (P_Condition): Check for redundant parens is now a style
4753 check (-gnatyx) instead of being included as a redundant construct
4754 warning.
4755
4756 * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
4757 Style_Check_Order_Subprograms.
4758
4759 * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
4760 stylesw.adb: Add Style_Check_Xtra_Parens
4761
4762 * usage.adb: Add line for -gnatyx (check extra parens)
4763
4764 * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
4765
4766 2004-11-18 Ed Schonberg <schonberg@adacore.com>
4767 Robert Dewar <dewar@adacore.com>
4768
4769 * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
4770 discriminant of a constrained subtype, analyze the copy of the
4771 corresponding constraint, because in some cases it may be only
4772 partially analyzed.
4773 Removes long-lived ??? comments.
4774
4775 * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
4776 handled controlled or secondary-stack expressions within the
4777 iteration_scheme of a loop.
4778
4779 * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
4780 bounds that may contain functions calls, to prevent memory leaks when
4781 the bound contains a call to a function that uses the secondary stack.
4782 (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
4783 generate temporaries for loop bounds that might contain function calls
4784 that require secondary stack and/or finalization actions.
4785
4786 * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
4787 selected component and the selector is overloadable (not just a
4788 function) treat as function call, Analyze_Call will disambiguate if
4789 necessary.
4790 (Analyze_Selected_Component): Do not generate an actual subtype for the
4791 selected component if expansion is disabled. The actual subtype is only
4792 needed for constraint checks.
4793 (Analyze_Allocator): If restriction No_Streams is set, then do
4794 not permit objects to be declared of a stream type, or of a
4795 composite type containing a stream.
4796
4797 * restrict.ads: Remove the a-stream entry from Unit_Array, since
4798 No_Streams no longer prohibits with'ing this package.
4799
4800 * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
4801 discriminants, but the parent base has unknown discriminants, there is
4802 no discriminant constraint to inherit. Such a discrepancy can arise
4803 when the actual for a formal type with unknown discriminants is a
4804 similar private type whose full view has discriminants.
4805 (Analyze_Object_Declaration): If restriction No_Streams is set, then
4806 do not permit objects to be declared of a stream type, or of a
4807 composite type containing a stream.
4808
4809 2004-11-18 Ed Schonberg <schonberg@adacore.com>
4810
4811 * exp_dbug.ads: Update documentation to reflect simpler encoding for
4812 protected operations.
4813
4814 * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
4815 generated name, it complicates decoding in gdb and hinders debugging
4816 of protected operations.
4817 (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
4818 flag for the protected entry barrier function.
4819 (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
4820 flag for the protected entry function.
4821
4822 2004-11-18 Nicolas Setton <setton@adacore.com>
4823
4824 * expect.c: Define __unix__ when __APPLE__ is defined.
4825
4826 * Makefile.in: Inform the value of the variable GMEM_LIB in the
4827 Darwin-specific section.
4828
4829 * lang-specs.h: Change the placement of the %1 marker.
4830 Works around the fact that gcc adds -fPIC by default under Darwin.
4831
4832 2004-11-18 Ed Schonberg <schonberg@adacore.com>
4833
4834 * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
4835 type of the object with the packed array type, set the Analyzed flag
4836 on the object if it is an entity or simple indexed component, to avoid
4837 spurious type errors.
4838
4839 2004-11-18 Gary Dismukes <dismukes@adacore.com>
4840
4841 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
4842 gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
4843 separate line from the version message.
4844
4845 2004-11-18 Ed Falis <falis@adacore.com>
4846
4847 * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
4848 vthreads.
4849 (init_float): Eliminate initialization of floating point status for
4850 AE653. The instructions have no effect for vThreads.
4851
4852 2004-11-18 Vincent Celier <celier@adacore.com>
4853
4854 * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
4855 gnatbind is invoked with -shared.
4856
4857 2004-11-18 Jose Ruiz <ruiz@adacore.com>
4858
4859 * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
4860 for Detect_Blocking which is redundant with the check done within the
4861 procedure Protected_Single_Entry_Call.
4862 (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
4863 Detect_Blocking which is redundant with the check done within the
4864 procedure Protected_Single_Entry_Call.
4865
4866 2004-11-18 Vincent Celier <celier@adacore.com>
4867
4868 * makegpr.adb (Compile): Put the compiling switches (in package
4869 Compiler and on the command line) immediately after "-c", instead of
4870 at the end of the command line invocation of the compiler, when
4871 compiling a non-Ada file.
4872 (Build_Global_Archive): When there is no need to rebuild the archive,
4873 set Global_Archive_Exists, so that the archive is passed to the linker
4874 if one is needed.
4875
4876 2004-11-18 Robert Dewar <dewar@adacore.com>
4877 Sergey Rybin <rybin@adacore.com>
4878
4879 * gnat_ugn.texi:
4880 Remove extra paren check from list of checks for redundant constructs
4881 Add documentation of new -gnatyx style check (check extra parens)
4882 Remove paragraph about gnatelim debug options.
4883
4884 * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
4885 objects rather than forbidding dependencies on the package Ada.Streams.
4886
4887 * sinfo.ads: Add ??? note that we should document pragmas passed to
4888 back end.
4889
4890 * g-expect.ads: Fix a few typos in the comments.
4891
4892 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
4893
4894 * misc.c (gnat_handle_option): Use %< and %> for quoting in
4895 warning message.
4896
4897 2004-11-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4898
4899 * a-numaux-x86.adb (Tan): Fix fdivp syntax.
4900
4901 2004-11-07 Andreas Schwab <schwab@suse.de>
4902
4903 * Makefile.in (install-gnatlib): Remove spurious hyphen.
4904
4905 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
4906
4907 PR ada/18228
4908 * Makefile.in (darwin): Set soext to .dylib.
4909
4910 2004-10-26 Vincent Celier <celier@gnat.com>
4911 Thomas Quinot <quinot@act-europe.fr>
4912
4913 * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
4914 (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
4915 there is no use of GNAT.Sockets.Constants.
4916 Remove remaining pragma Import for C_Write
4917 Remove C_Read and C_Write from internal implementation unit
4918 GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
4919 the read and write functions from the system runtime library is fine
4920 on UNIX but won't work under Windows).
4921
4922 * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
4923 (Check_Selector): Use C_Recv instead of C_Read.
4924 Selectors are the GNAT.Sockets abstraction to perform a select()
4925 call on a set of descriptors. To allow abortion of an ongoing
4926 select operation, some data is written to a dedicated socket that
4927 is always monitored.
4928 Under Windows, the write and read library functions cannot operate
4929 on sockets, so we need to use send and recv instead, which is portable
4930 across all supported platforms.
4931
4932 * g-socthi.ads: Remove C_Read and C_Write from internal implementation
4933 unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
4934 (using the read and write functions from the system runtime library is
4935 fine on UNIX but won't work under Windows).
4936
4937 2004-10-26 Nicolas Setton <setton@act-europe.fr>
4938
4939 * mlib-tgt-darwin.adb: New file.
4940
4941 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
4942 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
4943 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
4944 mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
4945 subprogram body.
4946
4947 * Makefile.in: Add support for building shared libraries under Darwin.
4948 (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
4949 the low level EH init subprogram to be called from __gnat_initialize.
4950
4951 * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
4952 indicates which options to pass to the archive indexer.
4953
4954 * mlib-utl.adb: Add support for calling ranlib with additional
4955 options. This is needed for instance under Mac OS X.
4956 (Ranlib_Options): New global variable, used to store the potential
4957 options to pass to ranlib.
4958 (Ar): Use Ranlib_Options when spawning ranlib.
4959 (Initialize): Set the value of ranlib option.
4960
4961 2004-10-26 Olivier Hainque <hainque@act-europe.fr>
4962
4963 * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
4964 instead of 8K, to reflect the real potential needs for stack-checking
4965 in the ZCX case.
4966
4967 2004-10-26 Pascal Obry <obry@gnat.com>
4968
4969 * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
4970
4971 * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
4972 Windows only the initial thread stack size can be set so it is good to
4973 start we a low stack size.
4974 The OS will adjust the size as needed.
4975
4976 2004-10-26 Olivier Hainque <hainque@act-europe.fr>
4977 Nicolas Setton <setton@act-europe.fr>
4978
4979 * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
4980 "__unix__" instead of "unix".
4981 The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
4982 sections were just mistakenly ignored. The former is
4983 implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
4984 Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
4985 of hpux. This prevents an unwanted definition of the symbol
4986 convert_addresses in adaint.o.
4987
4988 2004-10-26 Gary Dismukes <dismukes@gnat.com>
4989
4990 * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
4991 compatibility with type Unwind_Word on 16-bit targets such as AAMP.
4992
4993 2004-10-26 Cyrille Comar <comar@act-europe.fr>
4994
4995 * a-filico.ads, a-filico.adb: fix incorrect header.
4996
4997 2004-10-26 Javier Miranda <miranda@gnat.com>
4998
4999 * a-ststio.ads: Fix typo in identifier
5000
5001 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
5002
5003 * sem_ch4.adb: Minor reformatting.
5004
5005 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5006
5007 * checks.adb (Expr_Known_Valid): If floating-point validity checks are
5008 enabled, check the result of unary and binary operations when the
5009 expression is the right-hand side of an assignment.
5010
5011 2004-10-26 Vincent Celier <celier@gnat.com>
5012
5013 * clean.adb (Delete): Do not output warnings when in quiet output and
5014 not in verbose mode.
5015 (Force_Deletions): New Boolean flag, defaulted to False
5016 (Delete): Only delete a file if it is writable, and when
5017 Force_Deletions is True.
5018 (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
5019 (Usage): Line for new switch -f
5020 (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
5021 own.
5022
5023 2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
5024
5025 * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
5026 JM type only if its size matches that of the wrapper. When a size is
5027 prescribed and the field is not aliased, remove the wrapper of a JM
5028 type only if the size is not greater than that of the packed array.
5029 (gnat_to_gnu_entity): Change the extension of packed array wrappers
5030 from LJM to JM.
5031
5032 2004-10-26 Geert Bosch <bosch@gnat.com>
5033
5034 * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
5035 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
5036 (Pred): Implement in terms of Succ.
5037
5038 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5039
5040 * exp_aggr.adb (Safe_Component): An aggregate component that is an
5041 unchecked conversion is safe for in-place use if the expression of the
5042 conversion is safe.
5043 (Expand_Array_Aggregate): An aggregate that initializes an allocator may
5044 be expandable in place even if the aggregate does not come from source.
5045 (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
5046 designated object of an allocator in place, rather than building it
5047 first on the stack. The previous scheme forces a full copy of the array,
5048 and may be altogether unsusable if the size of the array is too large
5049 for stack allocation.
5050
5051 2004-10-26 Robert Dewar <dewar@gnat.com>
5052
5053 * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
5054 compares if the component is atomic.
5055
5056 * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
5057 array assignment if the component type is atomic.
5058
5059 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5060 Eric Botcazou <ebotcazou@act-europe.fr>
5061
5062 * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
5063 is aliased and is a by_reference type, do not pass by copy.
5064 (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
5065 detect whether the call is in the right side of an assignment or
5066 the expression of an object declaration. Recurse on component
5067 association within aggregates.
5068 Call it in the condition that determines whether the temporary is
5069 necessary for correct stack-checking.
5070
5071 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
5072
5073 * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
5074 RACW_Type, used in the PolyORB version.
5075 Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
5076 version and the GARLIC version.
5077
5078 * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
5079 Rename RCI_Info to RCI_Locator for better consistency between the
5080 GARLIC and PolyORB versions of the distributed systems annex.
5081 (DSA_Implementation_Name): This enumeration lists the possible
5082 implementations of the Partition Communication Subsystem for the
5083 Distributed Systems Annex (DSA). The three available implementations
5084 are the dummy stub implementation (No_DSA), and two versions based on
5085 two different distribution runtime libraries: GARLIC and PolyORB. Both
5086 the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
5087 technology.
5088 Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
5089 that organization.
5090
5091 * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
5092 between the GARLIC and PolyORB versions of the distributed systems
5093 annex.
5094 Remove RE_Unbounded_Reclaim_Pool since it is unused.
5095
5096 2004-10-26 Gary Dismukes <dismukes@gnat.com>
5097
5098 * gnat1drv.adb: Suppress calling the back end when
5099 Frontend_Layout_On_Target is true.
5100
5101 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
5102
5103 * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
5104 Set_Read_Only): New subprograms.
5105 These new routines allow the user to set or unset the Owner execute
5106 and Owner write permission flags on a file.
5107
5108 * makegpr.adb, mlib.adb, mlib-prj.adb: Use
5109 GNAT.OS_Lib.Set_Executable instead of rolling our own.
5110
5111 2004-10-26 Matthew Gingell <gingell@gnat.com>
5112
5113 * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
5114
5115 2004-10-26 Pascal Obry <obry@gnat.com>
5116
5117 * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
5118 memory before the faulting page we properly test the process read
5119 access for this address using appropriate Win32 routine.
5120 (HPUX sections): guard with "__hpux__" instead of "hpux".
5121
5122 2004-10-26 Robert Dewar <dewar@gnat.com>
5123
5124 * lib-xref.adb (Generate_Reference): Don't complain about reference to
5125 entry parameter if pragma Unreferenced set, since we do not properly
5126 handle the case of multiple parameters.
5127
5128 2004-10-26 Vincent Celier <celier@gnat.com>
5129
5130 * prj-env.adb: (Contains_ALI_Files): New Boolean function
5131 (Ada_Objects_Path.Add): For a library project, add to the object path
5132 the library directory only if there is no object directory or if the
5133 library directory contains ALI files.
5134 (Set_Ada_Paths.Add.Recursive_Add): Ditto
5135
5136 2004-10-26 Vincent Celier <celier@gnat.com>
5137
5138 * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
5139 extension of library projects.
5140
5141 * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
5142 path defaults to ".:<prefix>/lib/gnat".
5143 (Parse): For an extending all project, allow direct import of a project
5144 that is virtually extended.
5145
5146 * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
5147 the specified name is directly imported, return its ID. Otherwise, if
5148 an extension of this project is imported, return the ID of the
5149 extension.
5150
5151 2004-10-26 Robert Dewar <dewar@gnat.com>
5152
5153 * s-arit64.adb: (Le3): New function, used by Scaled_Divide
5154 (Sub3): New procedure, used by Scaled_Divide
5155 (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
5156 correct more than one instance of failure to propagate carries
5157 correctly.
5158 (Double_Divide): Handle overflow case of largest negative number
5159 divided by minus one.
5160
5161 * s-arit64.ads (Double_Divide): Document that overflow can occur in
5162 the case of a quotient value out of range.
5163 Fix comments.
5164
5165 2004-10-26 Robert Dewar <dewar@gnat.com>
5166
5167 * s-bitops.adb (Bit_Eq): Remove redundant check.
5168
5169 * s-bitops.ads: Minor comment updates
5170 Change some occurrences of Address to System.Address
5171
5172 * s-carsi8.ads: Fix minor cut-and-paste error in comments
5173
5174 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5175
5176 * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
5177 accessibility check to prefix that is a protected operation.
5178
5179 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5180
5181 * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
5182 empty, post message on stub.
5183
5184 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5185 Javier Miranda <miranda@gnat.com>
5186
5187 * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
5188 current instance appears within a unit that is directly in the context
5189 of the main unit.
5190 Used to determine whether the body of the instance should be analyzed
5191 immediately after its spec, to make its subprogram bodies available
5192 for front-end inlining.
5193 (Analyze_Formal_Array_Type): Cleanup condition that checks that range
5194 constraint is not allowed on the component type (AARM 12.5.3(3))
5195
5196 2004-10-26 Cyrille Comar <comar@act-europe.fr>
5197
5198 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
5199 'Storage_Pool): enhance, document & limit detection of non-sharable
5200 internal pools.
5201
5202 * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
5203
5204 * s-pooglo.ads: Add more documentation now that this pool is properly
5205 documented.
5206
5207 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5208
5209 * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
5210 or protected type with discriminants, do not constrain the
5211 corresponding record type if the subtype declaration has no
5212 discriminant constraints. This can be the case in source code, or in
5213 the subtype declaration created to rename an actual type within an
5214 instantiation.
5215
5216 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5217
5218 * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
5219 different kind of stub (possibly wrong name for file), do not check
5220 for conformance.
5221 (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
5222 includes call to some function that returns an unconstrained type, do
5223 not inline.
5224
5225 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5226
5227 * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
5228 appear in the code for the main unit. Dependencies among units in the
5229 context of the main unit are established when those other units are
5230 compiled. Otherwise spurious elaboration constraints can generate
5231 incorrect elaboration circularities.
5232
5233 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
5234 Ed Schonberg <schonberg@gnat.com>
5235
5236 * sem_util.adb (Is_Aliased_View): Defend against the case where this
5237 subprogram is called with a parameter that is not an object name. This
5238 situation arises for some cases of illegal code, which is diagnosed
5239 later, and in this case it is wrong to call Is_Aliased, as that might
5240 cause a compiler crash.
5241 (Explain_Limited_Type): Refine previous fix to include
5242 inherited components of derived types, to provide complete information.
5243
5244 * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
5245 is the prival for a protected object.
5246 It is necessary to mark this entity as a variable, in addition to
5247 flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
5248 modified to avoid checking the Aliased flag on entities that are not
5249 objects. (Checking that flag for non-objects is erroneous and could
5250 lead to a compiler crash).
5251
5252 2004-10-26 Robert Dewar <dewar@gnat.com>
5253
5254 * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
5255 X_Frac = 0.5, then we know that the number X must be positive.
5256 (Succ): Remove the same redundant test, and also fix the primary test
5257 to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
5258 Minor reformatting
5259 (Decompose): Add fuller comments to spec
5260
5261 2004-10-26 Pascal Obry <obry@gnat.com>
5262
5263 * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
5264 validity (process must have read access). Set to 0 in all other cases.
5265 (STOP_FRAME): Now check for ptr validity to avoid a segmentation
5266 violation on Win32.
5267 (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
5268 segmentation violation.
5269
5270 2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
5271
5272 * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
5273 whose type is a constructed subtype of an aliased object with an
5274 unconstrained nominal subtype, convert the actual to the constructed
5275 subtype before taking its address.
5276
5277 2004-10-26 Vincent Celier <celier@gnat.com>
5278
5279 * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
5280 (Is_Path_Name_Case_Sensitive): New function
5281
5282 * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
5283 (Base_Name, Simple_Name, Current_Directory, Compose,
5284 Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
5285 the result.
5286
5287 2004-10-26 Cyrille Comar <comar@act-europe.fr>
5288 Vasiliy Fofanov <fofanov@act-europe.fr>
5289 Vincent Celier <celier@gnat.com>
5290
5291 * gnat_ugn.texi: Generalize "finding memory problems" section into a
5292 "memory management issues" section and document some of the useful
5293 memory pools provided as part of the GNAT library.
5294 Remove "virtual" from declaration of A::method2 in
5295 the simple example of Ada/C++ mixed system.
5296 Library Projects may be virtually extended: their virtual extensions
5297 are not Library Projects.
5298 Added section on extending project hierarchies.
5299
5300 2004-10-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
5301
5302 * adaint.c (__gnat_get_libraries_from_registry): Cast value
5303 to LPBYTE.
5304 (__gnat_portable_spawn): Remove const.
5305
5306 * mingw32.h (MAXPATHLEN): Check for previous definition.
5307
5308 2004-10-17 Matthias Klose <doko@debian.org>
5309
5310 * gnatvsn.ads: Set gnat library version to 4.0.
5311
5312 2004-10-05 Vincent Celier <celier@gnat.com>
5313
5314 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
5315
5316 2004-10-04 Laurent GUERBY <laurent@guerby.net>
5317
5318 PR ada/15156
5319 * Makefile.in: Define and use RANLIB_FLAGS.
5320
5321 2004-10-04 Pascal Obry <obry@gnat.com>
5322
5323 * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
5324 other x86 platforms).
5325
5326 2004-10-04 Olivier Hainque <hainque@act-europe.fr>
5327
5328 * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
5329 in general and triggers stack alignment adjustment for thread entry
5330 points on targets where this is necessary.
5331
5332 2004-10-04 Bernard Banner <banner@gnat.com>
5333
5334 PR ada/13897
5335
5336 * Makefile.in: Add section for powerpc linux
5337 Add variant i-vxwork-x86.ads
5338
5339 * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
5340
5341 2004-10-04 Olivier Hainque <hainque@act-europe.fr>
5342
5343 * init.c (__gnat_initialize): Call an Ada subprogram to perform the
5344 table registration calls when need be. Ensures no reference to the crt
5345 ctors symbol are issued in the SJLJ case, which avoids possible
5346 undefined symbol errors in the case of modules to be statically linked
5347 with the kernel.
5348
5349 2004-10-04 Javier Miranda <miranda@gnat.com>
5350
5351 * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
5352 in-line the code corresponding to subprogram Analyze_Actuals. In
5353 addition, analyze the actuals only in case of subprogram call.
5354
5355 2004-10-04 Ed Falis <falis@gnat.com>
5356
5357 * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
5358
5359 2004-10-04 Sergey Rybin <rybin@act-europe.fr>
5360
5361 * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
5362 in the documentation.
5363
5364 2004-10-04 Robert Dewar <dewar@gnat.com>
5365
5366 * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
5367 IF and CASE.
5368 (Analyze_Block_Statement): Add circuitry to detect following dead code
5369 (Check_Unreachable_Code): Handle case of block exit
5370
5371 2004-10-04 Robert Dewar <dewar@gnat.com>
5372
5373 * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
5374 (XMatchD): Avoid warning for Logic_Error call
5375
5376 2004-10-04 Robert Dewar <dewar@gnat.com>
5377
5378 * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
5379 consider expressions buried within a procedure actual to be an actual.
5380 This caused some blowups with uses of packed slices within a procedure
5381 actual.
5382
5383 2004-10-04 Robert Dewar <dewar@gnat.com>
5384
5385 * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
5386 longer need to be initialized to zero.
5387 (Get_Simple_Init_Val): Modular packed arrays no longer need to be
5388 initialized to zero.
5389
5390 * checks.adb (Expr_Known_Valid): Packed arrays are now always
5391 considered valid, even if the representation is modular. That's correct
5392 now that we no longer initialize packed modular arrays to zero.
5393
5394 * exp_dbug.ads: Clarify documentation on handling of PAD and JM
5395 suffixes. These are now documented as the only cases in which the
5396 debugger ignores outer records.
5397 Previously, the spec allowed arbitrary suffixes for this purpose.
5398 Change name of LJM to JM for packed array pad records
5399 Create separate section on packed array handling, and add a whole new
5400 set of comments to this section describing the situation with packed
5401 modular types and justification requirements depending on endianness.
5402
5403 2004-10-04 Robert Dewar <dewar@gnat.com>
5404
5405 * a-except.adb: Add a comment for last change
5406
5407 * einfo.ads: Minor spelling correction in comment
5408
5409 * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
5410
5411 * sem_ch11.adb: Fix a case of using | instead of \ for continuation
5412 messages.
5413
5414 * sem_util.ads: Minor comment update
5415
5416 2004-10-04 Ed Schonberg <schonberg@gnat.com>
5417
5418 * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
5419 Inline_Always when in Configurable_Run_Time mode.
5420
5421 * sem_prag.adb (Process_Convention): If entity is an inherited
5422 subprogram, apply convention to parent subprogram if in same scope.
5423 (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
5424 when in Configurable_Run_Time mode.
5425
5426 2004-10-04 Ed Schonberg <schonberg@gnat.com>
5427
5428 * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
5429 class_wide type after component list has been inherited.
5430
5431 2004-10-04 Ed Schonberg <schonberg@gnat.com>
5432
5433 * sem_ch12.adb (Check_Generic_Actuals): New predicate
5434 Denotes_Previous_Actual, to handle properly the case of a private
5435 actual that is also the component type of a subsequent array actual.
5436 The visibility status of the first actual is not affected when the
5437 second is installed.
5438 (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
5439 make fully recursive the treatment of formals of packages declared
5440 with a box.
5441 (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
5442 the above on exit from an instantiation.
5443 (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
5444 current instantiation which is now complete.
5445 (Analyze_Package_Instantiation): No instantiated body is needed if the
5446 main unit is generic. Efficient, and avoid anomalies when a instance
5447 appears in a package accessed through rtsfind.
5448
5449 2004-10-04 Ed Schonberg <schonberg@gnat.com>
5450
5451 * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
5452 do not generate a declaration for a temporary if the call is part of a
5453 library-level instantiation.
5454
5455 2004-10-04 Ed Schonberg <schonberg@gnat.com>
5456
5457 * sem_util.adb (Explain_Limited_Type): Ignore internal components when
5458 searching for a limited component to flag.
5459
5460 * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
5461 expansion of Input, to account for the fact that the implicit call
5462 generated by the attribute reference must freeze the user-defined
5463 stream subprogram. This is only relevant to 'Input, because it can
5464 appear in an object declaration, prior to the body of the subprogram.
5465
5466 * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
5467 expansion can proceed and further errors uncovered.
5468 (Minor clean up): Fix cases of using | instead of \ for continuation
5469 messages.
5470
5471 2004-10-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5472
5473 * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
5474
5475 * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
5476 (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
5477 Use gcc_assert and gcc_unreachable.
5478
5479 * decl.c (gnat_to_gnu_entity, case object): Check and process a
5480 specified alignment before validating size.
5481 (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
5482 stripped-down declaration for the type of the inner field when making
5483 a JM type.
5484
5485 * utils.c (finish_record_type): Do not compute the size in units
5486 incrementally. Instead compute it once for the rep clause case.
5487 Use gcc_assert and gcc_unreachable.
5488
5489 2004-10-04 Vincent Celier <celier@gnat.com>
5490
5491 * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
5492 in file name.
5493 (Is_Valid_Path_Name): Take '/' as a directory separator.
5494
5495 2004-10-04 Vincent Celier <celier@gnat.com>
5496
5497 * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
5498 (Extended_Project) only if Extended_Project is defined, to avoid
5499 assertion error.
5500 (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
5501 resolved path.
5502 (Parse_Single_Project): Ditto.
5503
5504 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
5505 Add_To_Project_Path for virtual projects.
5506
5507 2004-10-04 Vincent Celier <celier@gnat.com>
5508
5509 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
5510 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
5511 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
5512 mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
5513 parameter Options_2.
5514
5515 * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
5516 Build_Dynamic_Library with an empty Options_2.
5517
5518 * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
5519 default anymore.
5520
5521 * makegpr.adb (Get_Imported_Directories.add): Remove trailing
5522 directory separator, if any.
5523 (Gprmake): Do not allow mains on the command line for library projects.
5524 Do not attempt to link when the project is a library project.
5525 (Library_Opts): New table to store Library_Options.
5526 (Build_Library): If Library_Options is specified, pass these options
5527 when building a shared library.
5528
5529 2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
5530
5531 * s-tposen.adb (Service_Entry): The object must be always unlocked at
5532 the end of this procedure now that the unlock operation was inserted
5533 by the expander.
5534
5535 2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
5536
5537 * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
5538 corresponding to the Preallocated_Stacks flags in System.
5539 (Get_Target_Parameters): Including the processing for
5540 Preallocated_Stacks.
5541
5542 * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
5543 system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
5544 system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
5545 system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
5546 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
5547 system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
5548 system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
5549 system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
5550 system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
5551 system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
5552 system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
5553 used to signal whether the compiler creates the required stacks and
5554 descriptors for the different tasks (when True) or it is done by the
5555 underlying operating system at run time (when False).
5556 It is initially set to False in all targets.
5557
5558 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
5559 if it is supported by the target.
5560 (Make_Task_Create_Call): Pass the stack address if it has been
5561 previously created. Otherwise pass a Null_Address.
5562
5563 * snames.adb: Add _stack.
5564
5565 * snames.ads: Add Name_uStack. Required to allow the expander to
5566 statically allocated task stacks.
5567
5568 * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
5569 Stack_Address argument.
5570 Check that its value is equal to Null_Address because this target does
5571 not support the static stack allocation.
5572
5573 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
5574
5575 * usage.adb: Change "pragma inline" to "pragma Inline" in information
5576 and error messages
5577
5578 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
5579
5580 * exp_dist.adb: Split declaration of asynchronous flag out of
5581 Add_RACW_Read_Attribute.
5582 Minor reformatting for better alignment with PolyORB version.
5583 Store the entity for the asynchronous flag of an RACW, rather than the
5584 expression, in the asynchronous flags table. This will allow this flag
5585 to be used in other subprograms beside Add_RACW_Read_Attribute.
5586
5587 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
5588
5589 * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
5590 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
5591 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
5592 g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
5593 g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads: Add new
5594 sockets constant MSG_NOSIGNAL (Linux-specific).
5595 Add new sockets constant MSG_Forced_Flags, list of flags to be set on
5596 all Send operations.
5597 For Linux, set MSG_NOSIGNAL on all send operations to prevent them
5598 from trigerring SIGPIPE.
5599 Rename components to avoid clash with Ada 2005 possible reserved
5600 word 'interface'.
5601 (Check_Selector): When the select system call returns with an error
5602 condition, propagate Socket_Error to the caller.
5603
5604 2004-10-01 Jan Hubicka <jh@suse.cz>
5605
5606 * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
5607
5608 2004-09-23 Robert Dewar <dewar@gnat.com>
5609
5610 PR ada/17540
5611
5612 * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
5613 instead do this at freeze time (we won't do it if there is an address
5614 clause).
5615 Change "pragma inline" to "pragma Inline" in information and error
5616 messages.
5617 Minor reformatting.
5618
5619 * freeze.adb (Check_Address_Clause): Remove previous change, not the
5620 right way of doing things after all.
5621 (Freeze_Entity): For object, set Is_Public for imported entities
5622 unless there is an address clause present.
5623
5624 2004-09-21 Olivier Hainque <hainque@act-europe.fr>
5625
5626 * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
5627 dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
5628 ensures proper handling of types with rep clauses, which might have
5629 their TYPE_SIZE set already.
5630
5631 2004-09-21 Robert Dewar <dewar@gnat.com>
5632
5633 * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
5634 packed array types in both little- and big-endian cases. This change
5635 ensures that we no longer count on the unused bits being initialized
5636 for such types (and in particular ensures that equality testing will
5637 only read the relevant bits).
5638 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
5639 These changes mean that we no longer need to initialize small packed
5640 arrays.
5641 (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
5642 optimization to an LJM field as to its parent field.
5643
5644 * ada-tree.h, trans.c, utils.c, utils2.c:
5645 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
5646
5647 2004-09-20 Jan Hubicka <jh@suse.cz>
5648
5649 * utils.c (gnat_finalize): Remove.
5650 (end_subprog_body): Directly call cgraph_finalize_function;
5651 do not lower the nested functions.
5652
5653 2004-09-20 Robert Dewar <dewar@gnat.com>
5654
5655 PR ada/17540
5656
5657 * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
5658 if an address clause is present, since that means that the Import
5659 should be ignored.
5660
5661 2004-09-20 Arnaud Charlet <charlet@act-europe.fr>
5662
5663 * 5tsystem.ads: Removed, no longer used.
5664
5665 2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
5666 Zack Weinberg <zack@codesourcery.com>
5667
5668 * ada-tree.def: Use tree_code_class enumeration constants
5669 instead of code letters.
5670 * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
5671 Update for new tree-class enumeration constants.
5672
5673 2004-09-17 Vincent Celier <celier@gnat.com>
5674
5675 * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
5676 capabilities of the general project manager.
5677
5678 2004-09-09 Vincent Celier <celier@gnat.com>
5679
5680 * a-direct.ads: Add pragma Ada_05
5681 (Directory_Entry_Type): Give default value to component Kind to avoid
5682 not initialized warnings.
5683
5684 * a-direct.adb (Current_Directory): Remove directory separator at the
5685 end.
5686 (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
5687 an existing directory.
5688 (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
5689 (Size (String)): Function C_Size returns Long_Integer, not File_Size.
5690 Convert the result to File_Size.
5691
5692 * prj.ads: (Project_Error): New exception
5693
5694 * prj-attr.adb: Except in procedure Initialize, Fail comes from
5695 Prj.Com, not from Osint.
5696 (Attrs, Package_Attributes): Tables moved to private part of spec
5697 (Add_Attribute, Add_Unknown_Package): Moved to new child package
5698 Prj.Attr.PM.
5699 (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
5700 Prj.Project_Error after call to Fail.
5701 (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
5702 Fail. Check that package name is not already in use.
5703
5704 * prj-attr.ads: Comment updates to indicate that all subprograms may be
5705 used by tools, not only by the project manager, and to indicate that
5706 exception Prj.Prj_Error may be raised in case of problem.
5707 (Add_Unknown_Package, Add_Attribute): Moved to new child package
5708 Prj.Attr.PM.
5709 (Attrs, Package_Attributes): Table instantiations moved from the body to
5710 the private part to be accessible from Prj.Attr.PM body.
5711
5712 * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
5713 from new package Prj.Attr.PM.
5714 (Parse_Attribute_Declaration): Call Add_Attribute from new package
5715 Prj.Attr.PM.
5716
5717 * Makefile.in: Add prj-attr-pm.o to gnatmake object list
5718
5719 * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
5720 instead of Elaboration_Checks).
5721
5722 * a-calend.adb: Minor reformatting
5723
5724 2004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5725
5726 * gigi.h (maybe_pad_type): New declaration.
5727 (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
5728
5729 * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
5730
5731 * cuintp.c: Convert to use buildN.
5732
5733 * decl.c (maybe_pad_type): No longer static.
5734 (gnat_to_gnu_entity, case E_Function): Handle case of returning by
5735 target pointer.
5736 Convert to use buildN.
5737
5738 * trans.c (call_to_gnu): Add arg GNU_TARGET; support
5739 TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed.
5740 (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
5741 RHS.
5742 (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
5743 (gnat_gimplify_expr, case ADDR_EXPR): New case.
5744 Convert to use buildN.
5745
5746 * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
5747 TREE_READONLY for const.
5748 Convert to use buildN.
5749
5750 * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
5751 (create_var_decl): Refine when TREE_STATIC is set.
5752 Convert to use buildN.
5753
5754 2004-09-09 Gary Dismukes <dismukes@gnat.com>
5755
5756 * gnat_ugn.texi: Delete text relating to checking of ali and object
5757 consistency.
5758
5759 * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
5760 routines.
5761
5762 2004-09-09 Jose Ruiz <ruiz@act-europe.fr>
5763
5764 * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
5765 pragmas recognized by GNAT.
5766
5767 * gnat_rm.texi: Document pragma Detect_Blocking.
5768
5769 * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
5770 raise Program_Error if called from a protected operation.
5771
5772 * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
5773 the protected action nesting level.
5774 (Lock_Read_Only): When pragma Detect_Blocking is active increase the
5775 protected action nesting level.
5776 (Unlock): When pragma Detect_Blocking is active decrease the protected
5777 action nesting level.
5778
5779 * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
5780 Protected_Action_Nesting.
5781
5782 * s-taskin.ads: Adding the field Protected_Action_Nesting to the
5783 Common_ATCB record. It contains the dynamic level of protected action
5784 nesting for each task. It is needed for checking whether potentially
5785 blocking operations are called from protected operations.
5786 (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
5787 Detect_Blocking is active or not in the partition.
5788
5789 * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
5790 raise Program_Error if called from a protected operation.
5791 (Task_Entry_Call): When pragma Detect_Blocking is active, raise
5792 Program_Error if called from a protected operation.
5793 (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
5794 Program_Error if called from a protected operation.
5795
5796 * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
5797 raise Program_Error if called from a protected operation.
5798
5799 * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
5800 raise Program_Error if called from a protected operation, and increase
5801 the protected action nesting level.
5802 (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
5803 Program_Error if called from a protected operation, and increase the
5804 protected action nesting level.
5805 (Unlock_Entries): When pragma Detect_Blocking is active decrease the
5806 protected action nesting level.
5807
5808 * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
5809 raise Program_Error if called from a protected operation, and increase
5810 the protected action nesting level.
5811 (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
5812 Program_Error if called from a protected operation, and increase the
5813 protected action nesting level.
5814 (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
5815 raise Program_Error if called from a protected operation.
5816 (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
5817 active, raise Program_Error if called from a protected operation.
5818 (Unlock_Entry): When pragma Detect_Blocking is active decrease the
5819 protected action nesting level.
5820
5821 * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
5822 insertion of the statement raising Program_Error. The run time
5823 contains the required machinery for handling that.
5824
5825 * sem_util.ads: Change comment associated to procedure
5826 Check_Potentially_Blocking_Operation.
5827 This procedure does not insert a call for raising the exception because
5828 that is currently done by the run time.
5829
5830 * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
5831
5832 * init.c: Add the global variable __gl_detect_blocking that indicates
5833 whether pragma Detect_Blocking is active (1) or not (0). Needed for
5834 making the pragma available at run time.
5835 (__gnat_set_globals): Pass and update the detect_blocking parameter.
5836
5837 * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
5838 pragma Detect_Blocking is active.
5839
5840 * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
5841
5842 * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
5843 DB is found in the ali file. Any unit compiled with pragma
5844 Detect_Blocking active forces its effect in the whole partition.
5845
5846 * a-retide.adb (Delay_Until): Raise Program_Error if pragma
5847 Detect_Blocking is active and delay is called from a protected
5848 operation.
5849
5850 * bindgen.adb (Gen_Adainit_Ada): When generating the call to
5851 __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
5852 Detect_Blocking is active (0 otherwise).
5853 (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
5854 as Detect_Blocking parameter if pragma Detect_Blocking is active (0
5855 otherwise).
5856
5857 2004-09-09 Thomas Quinot <quinot@act-europe.fr>
5858
5859 * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
5860 GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
5861 package.
5862
5863 * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
5864 (Register_Receiving_Stub): Add Subp_Info formal parameter.
5865 Update API in placeholder implemetation of s-parint to reflect changes
5866 in distribution runtime library.
5867
5868 * sem_ch3.adb (Expand_Derived_Record): Rename to
5869 Expand_Record_Extension.
5870
5871 * sem_disp.adb (Check_Controlling_Formals): Improve error message for
5872 primitive operations of potentially distributed object types that have
5873 non-controlling anonymous access formals.
5874
5875 * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
5876 subprogram.
5877 New implementation of expansion for remote access-to-subprogram types,
5878 based on the RACW infrastructure.
5879 This version of sem_dist is compatible with PolyORB/DSA as well as
5880 GLADE.
5881
5882 * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
5883 Asynchrronous that applies to a remote access-to-subprogram type, mark
5884 the underlying RACW type as asynchronous.
5885
5886 * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
5887 __gnat_using_gnu_linker to 1.
5888
5889 * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
5890 g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
5891 GNAT.Perfect_Hash_Generators, and remove the empty
5892 GNAT.Perfect_Hash package.
5893
5894 * atree.adb: Minor reformatting
5895
5896 * exp_ch3.adb (Expand_Derived_Record): Rename to
5897 Expand_Record_Extension.
5898 (Build_Record_Init_Proc.Build_Assignment): The default expression in
5899 a component declaration must remain attached at that point in the
5900 tree so New_Copy_Tree copies it if the enclosing record type is derived.
5901 It is therefore necessary to take a copy of the expression when building
5902 the corresponding assignment statement in the init proc.
5903 As a side effect, in the case of a derived record type, we now see the
5904 original expression, without any rewriting that could have occurred
5905 during expansion of the ancestor type's init proc, and we do not need
5906 to go back to Original_Node.
5907
5908 * exp_ch3.ads (Expand_Derived_Record): Rename to
5909 Expand_Record_Extension.
5910
5911 * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
5912 Returns the RACW type used to implement a remote access-to-subprogram
5913 type.
5914 (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
5915 New subprograms. Used to create a proxy tagged object for a remote
5916 subprogram. The proxy object is used as the designated object
5917 for RAS values on the same partition (unless All_Calls_Remote applies).
5918 (Build_Get_Unique_RP_Call): New subprogram. Build a call to
5919 System.Partition_Interface.Get_Unique_Remote_Pointer.
5920 (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
5921 Renamed from Add_RAS_*_Attribute.
5922 (Add_Receiving_Stubs_To_Declarations): Generate a table of local
5923 subprograms.
5924 New implementation of expansion for remote access-to-subprogram types,
5925 based on the RACW infrastructure.
5926
5927 * exp_dist.ads (Copy_Specification): Update comment to note that this
5928 function can copy the specification from either a subprogram
5929 specification or an access-to-subprogram type definition.
5930
5931 2004-09-09 Ed Schonberg <schonberg@gnat.com>
5932
5933 * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
5934 in an instance, between an explicit subprogram an one inherited from a
5935 type derived from an actual.
5936
5937 * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
5938 add a polling call if the subprogram is to be inlined by the back-end,
5939 to avoid repeated calls with multiple inlinings.
5940
5941 * checks.adb (Apply_Alignment_Check): If the expression in the address
5942 clause is a call whose name is not a static entity (e.g. a dispatching
5943 call), treat as dynamic.
5944
5945 2004-09-09 Robert Dewar <dewar@gnat.com>
5946
5947 * g-trasym.ads: Minor reformatting
5948
5949 * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
5950 packed arrays, since unused bits are expected to be zero for a
5951 comparison.
5952
5953 2004-09-09 Eric Botcazou <ebotcazou@act-europe.fr>
5954
5955 * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
5956 comment.
5957
5958 2004-09-09 Pascal Obry <obry@gnat.com>
5959
5960 * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
5961 enable map file generation. Add the right option to generate the map
5962 file if Map_File is set to True.
5963
5964 * gnatdll.adb (Gen_Map_File): New variable.
5965 (Syntax): Add info about new -m (Map_File) option.
5966 (Parse_Command_Line): Add support for -m option.
5967 (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
5968 Minor reformatting.
5969
5970 2004-09-09 Laurent Pautet <pautet@act-europe.fr>
5971
5972 * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
5973 new gnatdist implementation.
5974 Define a subpackage isolating the output routines specific to this
5975 verbose mode.
5976
5977 2004-09-09 Joel Brobecker <brobecker@gnat.com>
5978
5979 * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
5980
5981 * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
5982
5983 2004-09-09 Cyrille Comar <comar@act-europe.fr>
5984
5985 * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
5986 internal unit.
5987
5988 * opt.ads: Add Ada_Version_Runtime constant used to decide which
5989 version of the language is used to compile the run time.
5990
5991 2004-09-09 Arnaud Charlet <charlet@act-europe.fr>
5992
5993 * sem_util.adb (Requires_Transient_Scope): Re-enable handling
5994 of variable length temporaries for function return now that the
5995 back-end and gigi support it.
5996
5997 2004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5998
5999 * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
6000
6001 * trans.c (struct stmt_group): Delete field GLOBAL.
6002 (gnat_init_stmt_group): Do not initialize it.
6003 (call_to_gnu): Use save_expr, not protect_multiple_eval.
6004 (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
6005 (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
6006 (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
6007 (start_stmt_group): Likewise.
6008 (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
6009
6010 * utils2.c (ggc.h): Include.
6011 (build_call_raise): Call build_int_cst, not build_int_2.
6012
6013 * utils.c (gnat_init_decl_processing): Fix arg to
6014 build_common_tree_nodes.
6015 (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
6016 (gnat_define_builtin): Set built_in_decls.
6017 (init_gigi_decls): Call build_int_cst, not build_int_2.
6018
6019 * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
6020 (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
6021 (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
6022 (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
6023 SET_TYPE_MODULE): Use them.
6024 (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
6025 (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
6026 (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
6027 SET_TYPE_ADA_SIZE): Likewise.
6028 (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
6029 (DECL_CONST_CORRESPONDING_VAR,
6030 SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
6031 (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
6032 (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
6033 (TYPE_RM_SIZE_NUM): New macro.
6034 (TYPE_RM_SIZE): Modified to use above.
6035
6036 * cuintp.c: (build_cst_from_int): New function.
6037 (UI_To_gnu): Use it.
6038
6039 * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
6040 (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
6041 (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
6042 MIN_EXPR for the size, copy it into new.
6043
6044 2004-09-01 Robert Dewar <dewar@gnat.com>
6045
6046 * exp_ch6.adb (Expand_Call): Properly handle validity checks for
6047 packed indexed component where array is an IN OUT formal. This
6048 generated garbage code previously.
6049
6050 * gnat_ugn.texi: Document -fverbose-asm
6051
6052 * gnat-style.texi: Minor updates (note that boolean constants and
6053 variables are joined with AND/OR rather than short circuit forms).
6054
6055 2004-09-01 Ed Schonberg <schonberg@gnat.com>
6056
6057 * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
6058 it is an upward conversion of an untagged type with no representation
6059 change.
6060
6061 2004-09-01 Thomas Quinot <quinot@act-europe.fr>
6062
6063 * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
6064 System.Partition_Interface.
6065
6066 * checks.adb (Apply_Access_Checks): Do not generate checks when
6067 expander is not active (but check for unset reference to prefix of
6068 dereference).
6069
6070 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
6071 pragma Debug as an if statement with a constant condition, for
6072 consistent treatment of entity references contained within the
6073 enclosed procedure call.
6074
6075 2004-09-01 Vincent Celier <celier@gnat.com>
6076
6077 * bindgen.adb: (Set_EA_Last): New procedure
6078 (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
6079 Set_EA_Last.
6080 (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
6081 (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
6082 linked without errors.
6083 (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
6084 ST and EA.
6085 (Gen_Exception_Table_C): Correct same bugs
6086
6087 * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
6088
6089 * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
6090 on Windows, make sure that the drive letter is in upper case.
6091
6092 * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
6093 Windows, when the drive letter is added and Case_Sensitive is True, the
6094 drive letter is forced to upper case.
6095
6096 * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
6097 to Options_2 for the call to MLib.Utl.Gcc.
6098
6099 * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
6100 directory separator when defining BASE_DIR.
6101
6102 2004-09-01 Pascal Obry <obry@gnat.com>
6103
6104 * gprcmd.adb (Extend): Do not output trailing directory separator. This
6105 is not needed and it confuses Windows GNU/make which does not report
6106 directory terminated by a slash as a directory.
6107 (gprcmd): Idem for "pwd" internal command.
6108
6109 * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
6110 target names rewrite to fix regressions with recent version of
6111 GNU/make. Starting with GNU/make 3.80 the pipe character was not
6112 handled properly anymore.
6113
6114 2004-09-01 Andreas Schwab <schwab@suse.de>
6115
6116 * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
6117 * raise.c [!IN_RTS]: Undef abort.
6118
6119 2004-08-27 Nathan Sidwell <nathan@codesourcery.com>
6120
6121 * utils2.c (build_allocator): Use ssize_int.
6122
6123 * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
6124
6125 2004-08-27 Andreas Schwab <schwab@suse.de>
6126
6127 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
6128
6129 2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
6130 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6131
6132 * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
6133
6134 2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
6135
6136 * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
6137 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
6138 * utils.c (init_gigi_decls): Likewise.
6139 * utils2.c (build_call_raise, build_allocator): Likewise.
6140
6141 2004-08-24 Nathan Sidwell <nathan@codesourcery.com>
6142
6143 * utils.c (gnat_init_decl_processing): Adjust
6144 build_common_tree_nodes call.
6145
6146 2004-08-20 Nathan Sidwell <nathan@codesourcery.com>
6147
6148 * utils2.c (build_allocator): Use build_int_cst for negative
6149 size types.
6150
6151 2004-08-18 Richard Henderson <rth@redhat.com>
6152
6153 * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
6154
6155 2004-08-16 Nathan Sidwell <nathan@codesourcery.com>
6156
6157 * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
6158 call.s
6159 * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
6160 (gnat_to_gnu): Likewise.
6161
6162 2004-08-16 Pascal Obry <obry@gnat.com>
6163
6164 * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
6165 backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
6166 option and not mdll anymore. Update comment.
6167
6168 2004-08-16 Pascal Obry <obry@gnat.com>
6169
6170 * bld.adb (Put_Include_Project): Properly handle directory separators
6171 on Windows.
6172
6173 2004-08-16 Ed Schonberg <schonberg@gnat.com>
6174
6175 * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
6176 decreasing the number of allocated junk nodes while searching for the
6177 appropriate subprogram.
6178
6179 2004-08-15 Nathan Sidwell <nathan@codesourcery.com>
6180
6181 * cuintp.c (UI_To_gnu): Use build_int_cst..
6182 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
6183 * utils.c (init_gigi_decls): Likewise.
6184 * utils2.c (build_call_raise): Likewise.
6185
6186 2004-08-13 Olivier Hainque <hainque@act-europe.fr>
6187
6188 * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
6189 for a global aliased object with a variable size and an unconstrained
6190 nominal subtype, pretend there is no initializer if the one we have is
6191 incomplete, and avoid referencing an inexistant component in there. The
6192 part we have will be rebuilt anyway and the reference may confuse
6193 further operations.
6194
6195 2004-08-13 Thomas Quinot <quinot@act-europe.fr>
6196
6197 * einfo.ads: Minor reformatting
6198
6199 * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
6200 restrictions in the ALI if we only want to warn about violations.
6201
6202 2004-08-13 Vincent Celier <celier@gnat.com>
6203
6204 * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
6205 when creating a new Unit_Record in table Units.
6206
6207 * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
6208 that are violated, if any.
6209
6210 * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
6211 add directory separator if path already ends with a directory separator.
6212
6213 2004-08-13 Ed Schonberg <schonberg@gnat.com>
6214
6215 * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
6216 unit, this is an attempt to inline a construct that is not available in
6217 the current restricted mode, so abort rather than trying to continue.
6218
6219 * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
6220 discriminants that rename those of the parent, recover names of
6221 original discriminants for the constraint on the full view of the
6222 parent.
6223 (Complete_Private_Subtype): Do not create a subtype declaration if the
6224 subtype is an itype.
6225
6226 * gnat_rm.texi: Added section on implementation of discriminated
6227 records with default values for discriminants.
6228
6229 2004-08-13 Ed Schonberg <schonberg@gnat.com>
6230
6231 PR ada/15601
6232 * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
6233 the second operand is overloaded.
6234
6235 2004-08-10 Richard Henderson <rth@redhat.com>
6236
6237 * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
6238 add __builtin_alloca.
6239
6240 2004-08-10 Richard Henderson <rth@redhat.com>
6241
6242 * config-lang.in (boot_language): Yes.
6243
6244 2004-08-09 Thomas Quinot <quinot@act-europe.fr>
6245
6246 * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
6247 from complaining on potential uninitialized reference.
6248 Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
6249 new specification and test explicitly for non-zero return value.
6250
6251 * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
6252 returning C.int, to avoid using a derived boolean type.
6253
6254 * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
6255 Duplicate_Subexpr_No_Checks in preference to direct use of
6256 Remove_Side_Effects and New_Copy_Tree.
6257 Clear Comes_From_Source on prefix of 'Size attribute reference.
6258
6259 * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
6260 g-socthi-vxworks.adb: Change calls to
6261 GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
6262 and test explicitly for non-zero return value.
6263
6264 * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
6265 (Is_Socket_In_Set): Declare imported function as returning C.int, to
6266 avoid using a derived boolean type.
6267
6268 2004-08-09 Albert Lee <lee@gnat.com>
6269
6270 * system-irix-n32.ads: Refine tasking priority constants for IRIX.
6271
6272 2004-08-09 Pascal Obry <obry@gnat.com>
6273
6274 * gnat_ugn.texi: Document new way to build DLLs on Windows using
6275 GCC's -shared option.
6276
6277 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
6278 Options_2 parameter (options put after object files).
6279
6280 2004-08-09 Olivier Hainque <hainque@act-europe.fr>
6281
6282 * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
6283 ignore overflows on low and high bounds of an index to also account for
6284 differences in signedness between sizetype and gnu_index_subtype.
6285 These are as legitimate as the ones caused by a lower TYPE_PRECISION
6286 on sizetype.
6287
6288 2004-08-09 Robert Dewar <dewar@gnat.com>
6289
6290 * s-solita.ads, s-solita.adb: Minor reformatting
6291
6292 * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
6293 Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
6294 obsolescent section
6295 Add note that No_Implicit_Conditionals does not suppress
6296 run time constraint checks.
6297
6298 * vms_conv.ads: Minor reformatting
6299
6300 * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
6301 and necessary for following change).
6302 (Mark): Return new format Mark_Id containing sec stack address
6303 (Release): Use sec stack address from Mark_Id avoiding Self call
6304
6305 * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
6306 pointer (cleanup and necessary for following change).
6307 Define Mark_Id as record containing address of secondary stack, that way
6308 Release does not need to find the stack again, decreasing the number of
6309 calls to Self and improving efficiency.
6310
6311 * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
6312
6313 * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
6314 case variable into the individual case branches when possible.
6315
6316 * sem_ch11.adb: Minor reformatting
6317
6318 * prj.ads: Correct spelling of suffixs
6319
6320 * prj-nmsc.adb: Minor reformatting
6321 Correct spelling suffixs throughout (also in identifiers)
6322
6323 * freeze.adb: Minor spelling correction
6324
6325 * exp_ch2.adb: Cleanups to handling of Current_Value
6326 (no functional effect).
6327
6328 * bld.adb: Correct spelling of suffixs
6329
6330 * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
6331
6332 2004-08-09 Ed Schonberg <schonberg@gnat.com>
6333
6334 PR ada/15408
6335
6336 * sem_ch7.adb (Install_Private_Declarations): In the body of the
6337 package or of a child, private entities are both immediately_visible
6338 and not hidden.
6339
6340 2004-08-09 Ed Schonberg <schonberg@gnat.com>
6341
6342 * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
6343 there are no range checks on the value of the literal.
6344
6345 * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
6346 wrapped is the triggering alternative of an asynchronous select, action
6347 statements mustbe inserted before the select itself.
6348
6349 * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
6350 case where the prefix is a protected function call.
6351 (Resolve_Attribute, case 'Access): The attribute reference on a
6352 subprogram is legal in a generic body if the subprogram is declared
6353 elsewhere.
6354
6355 2004-08-09 Vincent Celier <celier@gnat.com>
6356
6357 * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
6358 languages, otherwise building the library may fail with unresolved
6359 symbols.
6360 (Compile_Sources): Do not build libraries if -c switch is used
6361
6362 * gnatlink.adb (Process_Args): New switches -M and -Mmap
6363 (Write_Usage): If map file creation is supported, output new switches
6364 -M and -Mmap.
6365 (Gnatlink): When -M is specified, add the necessary switch(es) to the
6366 gcc call, when supported.
6367
6368 * Makefile.in: Added indepsw.o to the object list for gnatlink
6369 Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
6370
6371 * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
6372 indepsw.adb, indepsw.ads: New files.
6373
6374 2004-08-09 Bernard Banner <banner@gnat.com>
6375
6376 * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
6377
6378 * Makefile.in: add section for vxworks x86
6379
6380 2004-08-09 Hristian Kirtchev <kirtchev@gnat.com>
6381
6382 * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
6383 per-object constrained components where the discriminant is of an
6384 Access type.
6385 (Build_Record_Init_Proc): Add condition to prevent the inheritance of
6386 the parent initialization procedure for derived Unchecked_Unions.
6387 Instead, derived Unchecked_Unions build their own initialization
6388 procedure.
6389 (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
6390 Check the body of the subprogram for details.
6391 (Freeze_Record_Type): Prevent the inheritance of discriminant checking
6392 functions for derived Unchecked_Union types by introducing a condition.
6393 Allow the creation of TSS equality functions for Unchecked_Unions.
6394 (Make_Eq_Case): Rename formal parameter Node to E in function signature.
6395 Add formal parameter Discr to function signature. Discr is used to
6396 control the generated case statement for Unchecked_Union types.
6397 (Make_Eq_If): Rename formal parameter Node to E in function signature.
6398
6399 * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
6400 Unchecked_Unions.
6401 Check the body of the subprogram for details.
6402 (Expand_Composite_Equality): Augment composite type equality to include
6403 correct handling of Unchecked_Union components.
6404 (Expand_N_In): Add condition to detect illegal membership tests when the
6405 subtype mark is a constrained Unchecked_Union and the expression lacks
6406 inferable discriminants, and build a Raise_Program_Error node.
6407 (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
6408 to detect types that contain components of unconstrained Unchecked_Union
6409 subtype. Add condition to detect equality between types that have an
6410 unconstrained Unchecked_Union component, and build a Raise_Program_Error
6411 node. Add condition to detect equality between Unchecked_Union types
6412 that lack inferable discriminants, and build a Raise_Program_Error node.
6413 Otherwise build a TSS equality function call.
6414 (Expand_N_Type_Conversion): Add condition to detect illegal conversions
6415 from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
6416 with the operand lacking inferable discriminants, and build a Raise_
6417 Program_Error node.
6418 (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
6419 composite equality.
6420 (Has_Inferable_Discriminants): Implement new predicate for objects and
6421 expressions of Unchecked_Union type. Check the body of subprogram for
6422 details.
6423 (Has_Unconstrained_UU_Components): Add function
6424 Component_Is_Unconstrained_UU. It is used to detect whether a single
6425 component is of an unconstrained Unchecked_Union subtype. Add function
6426 Variant_Is_Unconstrained_UU. It is used to detect whether a single
6427 component inside a variant is of an unconstrained Unchecked_Union type.
6428
6429 * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
6430 inferred discriminant values. Add condition to generate a case
6431 statement with an inferred discriminant as the switch.
6432 (Make_Component_List_Assign): Introduce a Boolean flag that determines
6433 the behaviour of the subprogram in the presence of an Unchecked_Union.
6434 Add condition to trigger the usage of the inferred discriminant value
6435 as the generated case statement switch.
6436 (Make_Field_Assign): Introduce a Boolean flag that determines the
6437 behaviour of the subprogram in the presence of an Unchecked_Union. Add
6438 condition to trigger the usage of the inferred discriminant value as
6439 the right-hand side of the generated assignment.
6440
6441 * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
6442 parameter generation when dealing with Unchecked_Unions.
6443
6444 * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
6445 checks for Unchecked_Unions.
6446
6447 * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
6448
6449 * exp_attr.adb (Expand_N_Attribute_Reference): Produce
6450 Raise_Program_Error nodes for the execution of Read and Write
6451 attributes of Unchecked_Union types and the execution of Input and
6452 Output attributes of Unchecked_Union types that lack default
6453 discriminant values.
6454
6455 * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
6456 Unchecked_Union. Add procedure Check_Component. It is used to inspect
6457 per-object constrained components of Unchecked_Unions for being
6458 Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
6459 check individual components withing a variant.
6460
6461 * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
6462 comparison of Unchecked_Unions.
6463 (Resolve_Equality_OP): Remove guard that prevents equality between
6464 Unchecked_Unions.
6465
6466 * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
6467 of component subtypes for Unchecked_Union components.
6468 (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
6469 since it is the actual subtype.
6470
6471 * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
6472 pass of Unchecked_Union subtypes as generic actuals to formal types
6473 that lack known_discriminant_parts or that are derived Unchecked_Union
6474 types, and do nothing. In any other case, produce an error message.
6475
6476 * sem_ch3.adb (Analyze_Component_Declaration): Add function
6477 Contains_POC. It determines whether a constraint uses the discriminant
6478 of an enclosing record type.
6479 Add condition to detect per-object constrained component and set the
6480 appropriate flag.
6481 (Derived_Type_Declaration): Remove guard that prevents derivation from
6482 Unchecked_Union types.
6483 (Process_Subtype): Remove quard that prevents the creation of Unchecked_
6484 Union subtypes.
6485
6486 * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
6487 references to Unchecked_Union discriminants.
6488
6489 * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
6490 formal generation when dealing with Unchecked_Unions.
6491 (Set_Actual_Subtypes): Add condition to prevent generation of actual
6492 subtypes for Unchecked_Unions.
6493
6494 * sem_ch7.adb (Analyze_Package_Specification): Add procedure
6495 Inspect_Unchecked_Union_Completion. It is used to detect incorrect
6496 completions of discriminated partial views by Unchecked_Unions and
6497 produce an error message.
6498
6499 2004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6500
6501 * trans.c (struct stmt_group): New field, GLOBAL.
6502 (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
6503 (struct elab_info): New struct.
6504 (elab_info_list, gnu_elab_proc_stack): New variables.
6505 (Compilation_Unit_to_gnu): New procedure.
6506 (gigi): Call it and also handle elaboration procs we've saved.
6507 (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
6508 global field from parent.
6509 (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
6510 (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
6511 (start_stmt_group): Initialize global field from parent.
6512 (add_decl_expr): Set to global for current statement group.
6513 (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
6514 post.
6515
6516 * utils.c (global_bindings_p): True when no current_function_decl; no
6517 longer check current_binding_level.
6518
6519 2004-08-09 Ben Brosgol <brosgol@gnat.com>
6520
6521 * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
6522 choice.
6523
6524 * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
6525
6526 2004-08-06 Andreas Schwab <schwab@suse.de>
6527
6528 * utils.c (gnat_define_builtin): Remove second parameter of
6529 make_decl_rtl.
6530 (begin_subprog_body): Likewise.
6531
6532 2004-07-26 Arnaud Charlet <charlet@act-europe.fr>
6533
6534 * sem_util.adb (Requires_Transient_Scope): Temporarily disable
6535 optimization, not supported by the tree-ssa back-end.
6536
6537 2004-07-26 Olivier Hainque <hainque@act-europe.fr>
6538
6539 * s-mastop-irix.adb: Update comments.
6540
6541 * a-except.adb (Exception_Information): Raise Constraint_Error if
6542 exception Id is Null_Id.
6543 This is required behavior, which is more reliably and clearly checked
6544 at the top level interface level.
6545
6546 2004-07-26 Javier Miranda <miranda@gnat.com>
6547
6548 * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
6549 call if a component has no default_expression and the box is used.
6550
6551 * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
6552 default_expression and you use box, it behaves as if you had declared a
6553 stand-alone object.
6554 (Resolve_Record_Aggregate): If a component has no default_expression and
6555 you use box, it behaves as if you had declared a stand-alone object.
6556
6557 * sem_ch10.adb (Install_Siblings): Do not make visible the private
6558 entities of private-with siblings.
6559
6560 2004-07-26 Ed Schonberg <schonberg@gnat.com>
6561
6562 * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
6563 for a component of an itype, set the parent pointer for analysis,
6564 there is no list in which to insert it.
6565
6566 * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
6567 bona-fide renamings, not for inherited operations.
6568
6569 * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
6570 actual for a formal that is an access parameter, create local
6571 finalization list even if the expression is not an aggregate.
6572
6573 2004-07-26 Ed Schonberg <schonberg@gnat.com>
6574
6575 PR ada/16213
6576 * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
6577 Diagnose properly illegal subprogram renamings that are library units.
6578
6579 2004-07-26 Ed Schonberg <schonberg@gnat.com>
6580
6581 PR ada/15588
6582 * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
6583 conversion rewritten as an unchecked conversion, check that original
6584 expression is a variable.
6585
6586 * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
6587 unchecked_conversion, create new node rather than rewriting in place,
6588 to preserve original construct.
6589
6590 2004-07-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6591
6592 * gigi.h (gnat_expand_body): Deleted.
6593
6594 * Make-lang.in: (trans.o): Depends on function.h.
6595
6596 * misc.c: (gnat_expand_body): Moved to here.
6597
6598 * trans.c (gnat_expand_body_1): Deleted.
6599 (gnat_expand_body): Moved from here.
6600 (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
6601 (add_stmt): Check for marked visited with global_bindings_p.
6602 (gnat_gimplify_expr, case COMPONENT_REF): New case.
6603 (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
6604
6605 * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
6606 VIEW_CONVERT_EXPR if not operation type.
6607
6608 * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
6609 fat pointer.
6610
6611 * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
6612 changes: reformatting of negation operators, removing unneeded
6613 inequality comparison with zero, converting equality comparisons with
6614 zero to negations, changing int/0/1 to bool/false/true, replace calls
6615 to gigi_abort with abort, and various other similar changes.
6616
6617 2004-07-26 Vincent Celier <celier@gnat.com>
6618
6619 * gnatcmd.adb (GNATCmd): Add processing for new built-in command
6620 "setup".
6621
6622 * make.adb (Gnatmake): Fail when a library is not present and there is
6623 no object directory.
6624
6625 * mlib-prj.adb (Check_Library): No need to check if the library needs
6626 to be rebuilt if there is no object directory, hence no object files
6627 to build the library.
6628
6629 * opt.ads (Setup_Projects): New Boolean flag.
6630
6631 * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
6632 Location.
6633 Create directory when Kind /= "" and in "gnat setup". Report error if
6634 directory cannot be created.
6635 (Ada_Check): Create library interface copy dir if it does not exist
6636 and we are in "gnat setup".
6637 (Find_Sources): No error if in "gnat setup" and no Ada sources were
6638 found.
6639 (Language_Independent_Check): Create object directory, exec directory
6640 and/or library directory if they do not exist and we are in
6641 "gnat setup".
6642
6643 * vms_conv.ads: (Command_Type): New command Setup.
6644
6645 * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
6646
6647 * vms_data.ads: Add qualifiers/switches for new built-in command
6648 "setup".
6649
6650 2004-07-25 Richard Henderson <rth@redhat.com>
6651
6652 * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
6653 DECL_IGNORED_P on RESULT_DECL.
6654
6655 2004-07-20 Olivier Hainque <hainque@act-europe.fr>
6656
6657 * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
6658 allocation and potentially overflowing update with
6659 Tailored_Exception_Information. Use the sec-stack free procedural
6660 interface to output Exception_Information instead.
6661
6662 * a-except.adb (To_Stderr): New subprogram for character, and string
6663 version moved from a-exextr to be visible from other separate units.
6664 (Tailored_Exception_Information): Remove the procedural version,
6665 previously used by the default Last_Chance_Handler and not any more.
6666 Adjust various comments.
6667
6668 * a-exexda.adb: Generalize the exception information procedural
6669 interface, to minimize the use of secondary stack and the need for
6670 local buffers when the info is to be output to stderr:
6671 (Address_Image): Removed.
6672 (Append_Info_Character): New subprogram, checking for overflows and
6673 outputing to stderr if buffer to fill is of length 0.
6674 (Append_Info_String): Output to stderr if buffer to fill is of length 0.
6675 (Append_Info_Address, Append_Info_Exception_Name,
6676 Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
6677 Append_Info_Basic_Exception_Traceback,
6678 Append_Info_Exception_Information): New subprograms.
6679 (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
6680 (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
6681 Exception_Info_Maxlength, Exception_Name_Length,
6682 Exception_Message_Length): New subprograms.
6683 (Exception_Information): Use Append_Info_Exception_Information.
6684 (Tailored_Exception_Information): Use
6685 Append_Info_Basic_Exception_Information.
6686 Export services for the default Last_Chance_Handler.
6687
6688 * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
6689 other separate units.
6690
6691 2004-07-20 Vincent Celier <celier@gnat.com>
6692
6693 * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
6694
6695 2004-07-20 Ed Schonberg <schonberg@gnat.com>
6696
6697 * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
6698 emit itype references for the designated types of component types that
6699 are declared outside of the full record declaration, and that may
6700 denote a partial view of that record type.
6701
6702 2004-07-20 Ed Schonberg <schonberg@gnat.com>
6703
6704 PR ada/15607
6705 * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
6706 which is the designated type in an access component declaration, to the
6707 list of incomplete dependents of the parent type, to avoid elaboration
6708 issues with out-of-scope subtypes.
6709 (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
6710 full view of the parent.
6711
6712 2004-07-20 Ed Schonberg <schonberg@gnat.com>
6713
6714 PR ada/15610
6715 * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
6716 entities that are hidden, such as references to generic actuals
6717 outside an instance.
6718
6719 2004-07-20 Javier Miranda <miranda@gnat.com>
6720
6721 * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
6722 support to the new notation.
6723 (Analyze_Selected_Component): Add call to Try_Object_Operation.
6724
6725 2004-07-20 Jose Ruiz <ruiz@act-europe.fr>
6726
6727 * s-taprob.adb: Adding the elaboration code required for initializing
6728 the tasking soft links that are common to the full and the restricted
6729 run times.
6730
6731 * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
6732 restricted run time has been moved to the package
6733 System.Soft_Links.Tasking.
6734
6735 * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
6736 restricted run time has been moved to the package
6737 System.Soft_Links.Tasking.
6738
6739 * Makefile.rtl: Add entry for s-solita.o in run-time library list.
6740
6741 * s-solita.ads, s-solita.adb: New files.
6742
6743 2004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6744
6745 * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
6746 Case_Statement_to_gnu): Split off from gnat_to_gnu.
6747 (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
6748 Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
6749 Exception_Handler_to_gnu_zcx): Likewise.
6750
6751 2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
6752
6753 * gigi.h (builtin_function): Declare.
6754
6755 2004-07-15 Robert Dewar <dewar@gnat.com>
6756
6757 * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
6758 reformatting
6759
6760 * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
6761 access values as an example of a warning.
6762
6763 * gnat_rm.texi: Document new attribute Has_Access_Values
6764
6765 * gnat-style.texi: Document that box comments belong on nested
6766 subprograms
6767
6768 * sem_util.ads (Has_Access_Values): Improved documentation
6769
6770 * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
6771
6772 * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
6773 (Process_Interface_Name): Call to this new procedure
6774 (Set_Extended_Import_Export_External_Name): Call to this new procedure
6775
6776 * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
6777
6778 * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
6779
6780 * einfo.ads: Minor comment typo fixed
6781
6782 2004-07-15 Jose Ruiz <ruiz@act-europe.fr>
6783
6784 * snames.adb: Add _atcb.
6785
6786 * snames.ads: Add Name_uATCB.
6787
6788 * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
6789 (in the expanded code) when using the restricted run time.
6790
6791 * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
6792 a in parameter in order to allow ATCBs to be preallocated (in the
6793 expanded code).
6794
6795 * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
6796 order to allow ATCBs to be preallocated. In case of error, the ATCB is
6797 deallocated in System.Tasking.Stages.
6798
6799 * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
6800 order to allow ATCBs to be preallocated.
6801
6802 * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
6803 here. It was previously done in Initialize_ATCB.
6804
6805 * rtsfind.ads: Make the Ada_Task_Control_Block visible.
6806
6807 * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
6808 Restricted run time.
6809
6810 * exp_ch3.adb: When using the Restricted run time, pass the
6811 preallocated Ada_Task_Control_Block when creating a task.
6812
6813 2004-07-15 Ed Schonberg <schonberg@gnat.com>
6814
6815 * sem_util.adb (Normalize_Actuals): If there are no actuals on a
6816 function call that is itself an actual in an enclosing call, diagnose
6817 problem here rather than assuming that resolution will catch it.
6818
6819 * sem_ch7.adb (Analyze_Package_Specification): If the specification is
6820 the local copy of a generic unit for a formal package, and the generic
6821 is a child unit, install private part of ancestors before compiling
6822 private part of spec.
6823
6824 * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
6825 use scope entities rather than tree structures, to handle properly
6826 parent units that are instances rewritten as bodies for inlining
6827 purposes.
6828
6829 * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
6830 Remove_Parents): Handle properly a parent unit that is an
6831 instantiation, when the unit has been rewritten as a body for inlining
6832 purposes.
6833
6834 * par.adb (Goto_List): Global variable to collect goto statements in a
6835 given unit, for use in detecting natural loops.
6836
6837 * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
6838 use in detecting natural loops.
6839
6840 * par-labl.adb (Find_Natural_Loops): Recognize loops create by
6841 backwards goto's, and rewrite as a infinite loop, to improve locality
6842 of temporaries.
6843
6844 * exp_util.adb (Force_Evaluation): Recognize a left-hand side
6845 subcomponent that includes an indexed reference, to prevent the
6846 generation of copies that would miscompile the desired assignment
6847 statement.
6848 (Build_Task_Image_Decls): Add a numeric suffix to
6849 generated name for string variable, to avoid spurious conflicts with
6850 the name of the type of a single protected object.
6851
6852 * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
6853 loop with an explicit exit statement, to avoid generating an
6854 out-of-range value with 'Succ leading to spurious constraint_errors
6855 when compiling with -gnatVo.
6856
6857 2004-07-15 Thomas Quinot <quinot@act-europe.fr>
6858
6859 * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
6860 might not be analyzed yet, even if its Etype is already set (case of an
6861 unchecked conversion built using Unchecked_Convert_To, for example).
6862 If the prefix has already been analyzed, this will be a nop anyway.
6863
6864 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
6865 controller type, or an assignment of a record type with controlled
6866 components, copy only user data, and leave the finalization chain
6867 pointers untouched.
6868
6869 2004-07-15 Vincent Celier <celier@gnat.com>
6870
6871 * make.adb (Collect_Arguments): Improve error message when attempting
6872 to compile a source not part of any project, when -x is not used.
6873
6874 * prj.ads: (Defined_Variable_Kind): New subtype
6875
6876 * prj-attr.adb (Register_New_Package): Two new procedures to register
6877 a package with or without its attributes.
6878 (Register_New_Attribute): Mew procedure to register a new attribute in a
6879 package.
6880 New attribute oriented subprograms: Attribute_Node_Id_Of,
6881 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
6882 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
6883 Next_Attribute.
6884 New package oriented subprograms: Package_Node_Id_Of,
6885 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
6886
6887 * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
6888 type.
6889 (Package_Node_Id): Now a private, self initialized type
6890 (Register_New_Package): New procedure to register a package with its
6891 attributes.
6892 New attribute oriented subprograms: Attribute_Node_Id_Of,
6893 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
6894 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
6895 Next_Attribute.
6896 New package oriented subprograms: Package_Node_Id_Of,
6897 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
6898
6899 * prj-dect.adb (Parse_Attribute_Declaration,
6900 Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
6901
6902 * prj-makr.adb (Make): Parse existing project file before creating
6903 other files. Fail if there was an error during parsing.
6904
6905 * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
6906 new spec of Prj.Attr.
6907
6908 * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
6909 to new spec of Prj.Attr.
6910
6911 2004-07-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6912
6913 * utils2.c: Fix typo in comment.
6914
6915 2004-07-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6916
6917 * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
6918 * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
6919
6920 2004-07-14 Andreas Schwab <schwab@suse.de>
6921
6922 * trans.c (gnat_init_stmt_group): Remove duplicate definition.
6923
6924 2004-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6925
6926 * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
6927 object type.
6928 (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
6929 TYPE_STUB_DECL.
6930
6931 * misc.c (gnat_types_compatible_p): New function.
6932 (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
6933 (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
6934
6935 * trans.c (gigi): Move processing of main N_Compilation_Unit here.
6936 (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
6937 (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
6938 (mark_visited): Don't mark dummy type.
6939 (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
6940 parameter, we must remove any LJM building from GNU_NAME.
6941 (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
6942 (pos_to_constructor): Use int_const_binop.
6943 (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
6944 PARM_DECL.
6945
6946 * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
6947 (gnat_pushlevel): Set TREE_USE on BLOCK node.
6948 (gnat_install_builtins): Add __builtin_memset.
6949
6950 2004-07-13 Olivier Hainque <hainque@act-europe.fr>
6951
6952 * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
6953 for a renaming, stabilize the initialization expression if we are at a
6954 local level. At the local level, uses of the renaming may be performed
6955 by a direct dereference of the initializing expression, and we don't
6956 want possible variables there to be evaluated for every use.
6957
6958 * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
6959 Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
6960 them on the way. Account for the fact that we may introduce side
6961 effects in the process.
6962
6963 2004-07-13 Richard Henderson <rth@redhat.com>
6964
6965 * misc.c (default_pass_by_ref): Use pass_by_reference.
6966
6967 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
6968
6969 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
6970 LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
6971
6972 2004-07-08 Richard Henderson <rth@redhat.com>
6973
6974 * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
6975 commentary.
6976
6977 2004-07-06 Vincent Celier <celier@gnat.com>
6978
6979 * vms_conv.ads: Minor reformatting.
6980 Alphabetical order for enumerated values of type Command_Type, to have
6981 the command in alphabetical order for the usage.
6982
6983 * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
6984 the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
6985
6986 * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
6987
6988 * makegpr.adb (Global_Archive_Exists): New global Boolean variable
6989 (Add_Archive_Path): Only add the global archive if there is one.
6990 (Build_Global_Archive): Set Global_Archive_Exists depending if there is
6991 or not any object file to put in the global archive, and don't build
6992 a global archive if there is none.
6993 (X_Switches): New table
6994 (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
6995 in the X_Switches table, if any.
6996 (Initialize): Make sure the X_Switches table is empty
6997 (Scan_Arg): Record -X switches in table X_Switches
6998
6999 * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
7000
7001 * make.adb: Minor comment fix
7002
7003 * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
7004 invoked with directory information, add the directory in front of the
7005 path.
7006
7007 * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
7008 invoked with directory information, add the directory in front of the
7009 path.
7010
7011 * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
7012 when Keep_Temporary_Files is False.
7013 (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
7014 directory information, add the directory in front of the path.
7015 When not on VMS, handle new switch -dn before the command to set
7016 Keep_Temporary_Files to True.
7017 (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
7018 everywhere.
7019
7020 * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
7021 invoked with directory information, add the directory in front of the
7022 path.
7023
7024 2004-07-06 Thomas Quinot <quinot@act-europe.fr>
7025
7026 * snames.ads, snames.adb (Name_Stub): New name for the distributed
7027 systems annex.
7028
7029 * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
7030 New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
7031
7032 * g-socket.adb (To_Timeval): Fix incorrect conversion of
7033 Selector_Duration to Timeval for the case of 0.0.
7034
7035 * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
7036 documentation from Evolve_And_Then.
7037
7038 2004-07-06 Jose Ruiz <ruiz@act-europe.fr>
7039
7040 * s-taprop-tru64.adb, s-taprop-os2.adb,
7041 s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
7042
7043 2004-07-06 Robert Dewar <dewar@gnat.com>
7044
7045 * s-osinte-hpux.ads, s-osinte-freebsd.ads,
7046 s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
7047 s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
7048 s-interr-sigaction.adb, s-taprop-irix-athread.adb,
7049 s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
7050 s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
7051 s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
7052 s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
7053 a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
7054 a-tags.ads, bindgen.ads, checks.adb, checks.adb,
7055 csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
7056 exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
7057 g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
7058 i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
7059 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
7060 sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
7061 sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
7062 s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
7063 s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
7064 s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
7065 vms_data.ads: Minor reformatting,
7066 Fix bad box comment format.
7067
7068 * gnat_rm.texi: Fix minor grammatical error
7069
7070 * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
7071
7072 * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
7073 more cases of discriminated records to be recognized as not needing a
7074 secondary stack.
7075 (Has_Access_Values): New function.
7076
7077 * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
7078
7079 * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
7080 Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
7081 with LRM terminology).
7082 Change terminology in comments primitive type => elementary type.
7083
7084 2004-07-06 Ed Schonberg <schonberg@gnat.com>
7085
7086 PR ada/15602
7087 * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
7088 parameters do not impose any requirements on the presence of a body.
7089
7090 2004-07-06 Ed Schonberg <schonberg@gnat.com>
7091
7092 PR ada/15593
7093 * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
7094 compilation unit and is in an open scope at the point of instantiation,
7095 assume that a body may be present later.
7096
7097 2004-07-06 Ed Schonberg <schonberg@gnat.com>
7098
7099 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
7100 Improve error message when specified size is not supported.
7101
7102 * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
7103 is never a primitive operation.
7104
7105 2004-07-05 Andreas Schwab <schwab@suse.de>
7106
7107 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
7108 RECORD_OR_UNION_CHECK.
7109 (TYPE_CONTAINS_TEMPLATE_P): Likewise.
7110
7111 2004-07-04 Kelley Cook <kcook@gcc.gnu.org>
7112
7113 * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
7114 dependency on xgnatugn, instead build it via a submake.
7115 (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
7116
7117 2004-07-04 Richard Henderson <rth@redhat.com>
7118
7119 * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
7120
7121 2004-07-01 Richard Henderson <rth@redhat.com>
7122
7123 * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
7124 * utils.c (max_size): Likewise.
7125
7126 2004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7127
7128 * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
7129 and rest_of_type_compilation; add arg to create_*_decl.
7130 (annotate_decl_with_node): Deleted.
7131 (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
7132 * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
7133 (get_current_block_context, gnat_pushdecl): New declarations.
7134 (gnat_init_stmt_group): Likewise.
7135 (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
7136 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
7137 (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
7138 (gnat_init): Call gnat_init_stmt_group.
7139 * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
7140 (gnu_pending_elaboration_list): Deleted.
7141 (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
7142 (gigi): Rearrange initialization calls and move some to last above.
7143 (gnat_to_gnu): If statement and not in procedure, go into elab proc.
7144 Delete calls to add_decl_expr; add arg to create_*_decl.
7145 (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
7146 (gnat_to_gnu, case N_Subprogram_Body): Move some code to
7147 begin_subprog_body and call it.
7148 Don't push and pop ggc context.
7149 (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
7150 (add_stmt): Remove handling of DECL_EXPR from here.
7151 If not in function, mark visited.
7152 (add_decl_expr): Put global at top level.
7153 Check for cases of DECL_INITIAL we have to handle here.
7154 (process_type): Add extra arg to create_type_decl.
7155 (build_unit_elab): Rework to just gimplify.
7156 * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
7157 (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
7158 (get_pending_elaborations, pending_elaborations_p): Likewise.
7159 (push_pending_elaborations, pop_pending_elaborations): Likewise.
7160 (get_elaboration_location, insert_elaboration_list): Likewise.
7161 (gnat_binding_level): Renamed from ada_binding_level.
7162 (init_gnat_to_gnu): Don't clear pending_elaborations.
7163 (global_bindings_p): Treat as global if no current_binding_level.
7164 (set_current_block_context): New function.
7165 (gnat_pushdecl): Renamed from pushdecl; major rework.
7166 All callers changed.
7167 (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
7168 (finish_record_type): Call call pushdecl for stub decl.
7169 (function_nesting_depth): Deleted.
7170 (begin_subprog_body): Delete obsolete code.
7171 * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
7172
7173 2004-06-28 Robert Dewar <dewar@gnat.com>
7174
7175 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
7176 mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
7177 mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
7178 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
7179 a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
7180
7181 * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
7182 deal with problem of inefficient slices on machines with strict
7183 alignment, when the slice is a component of a composite.
7184
7185 * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
7186 machines, we need the check there as well.
7187
7188 2004-06-28 Ed Schonberg <schonberg@gnat.com>
7189
7190 * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
7191 determine safe copying direction for overlapping slice assignments
7192 when component is controlled.
7193
7194 * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
7195 formal derived type in the actual for a formal package are visible in
7196 the enclosing instance.
7197
7198 2004-06-28 Ed Schonberg <schonberg@gnat.com>
7199
7200 PR ada/15600
7201 * sem_util.adb (Trace_Components): Diagnose properly an illegal
7202 circularity involving a private type whose completion includes a
7203 self-referential component.
7204 (Enter_Name): Use Is_Inherited_Operation to distinguish a source
7205 renaming or an instantiation from an implicit derived operation.
7206
7207 2004-06-28 Pascal Obry <obry@gnat.com>
7208
7209 * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
7210 DLL.
7211 (Library_File_Name_For): Idem.
7212
7213 2004-06-28 Matthew Gingell <gingell@gnat.com>
7214
7215 * g-traceb.ads: Add explanatory note on the format of addresses
7216 expected by addr2line.
7217
7218 2004-06-28 Jerome Guitton <guitton@act-europe.fr>
7219
7220 * Makefile.in: Force debugging information on s-tasdeb.adb,
7221 a-except.adb and s-assert.adb needed by the debugger.
7222
7223 2004-06-28 Vincent Celier <celier@gnat.com>
7224
7225 * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
7226 Need_To_Build_Lib.
7227 (Gnatmake): Ditto.
7228
7229 * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
7230
7231 * prj.adb: Minor reformatting
7232 (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
7233
7234 * prj.ads: Comment updates
7235 Minor reformatting
7236 (Project_Data): Change Flag1 to Need_To_Build_Lib.
7237 Remove Flag2: not used.
7238
7239 * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
7240 declaration.
7241
7242 * gnat_ugn.texi: Put a "null;" declaration in one project file example
7243
7244 * gnat_rm.texi: Document Empty declarations "null;".
7245
7246 * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
7247 front of the linker options.
7248 (Link_Foreign): Put the global archives and the libraries in front of
7249 the linker options.
7250
7251 2004-06-28 Javier Miranda <miranda@gnat.com>
7252
7253 * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
7254 (RTU_Loaded): Code cleanup
7255 (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
7256 withed predefined units.
7257
7258 * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
7259 explicitly withed predefined units.
7260 Fix typo in comment
7261
7262 * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
7263 explicitly withed predefined units.
7264
7265 2004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7266
7267 * ada-tree.def (DECL_STMT): Deleted.
7268 * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
7269 (DECL_STMT_VAR): Deleted.
7270 * decl.c: add_decl_stmt now add_decl_expr.
7271 * gigi.h: Likewise.
7272 * trans.c: Likewise.
7273 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
7274 (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
7275 (add_stmt): Only handle padded type here.
7276 (add_stmt_with_node): Allow gnat_node to not be present.
7277 (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
7278 (gnat_gimplify_stmt, case DECL_STMT): Deleted.
7279 (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
7280 make a SAVE_EXPR for the entire fat pointer.
7281 * utils.c (pushdecl): Walk a DECL_EXPR in global case.
7282 (create_index_type): Make a DECL_EXPR.
7283 (end_subprog_body): Don't call allocate_struct_function here but
7284 do clear cfun.
7285
7286 2004-06-25 Pascal Obry <obry@gnat.com>
7287
7288 * makegpr.adb (Build_Library): Remove parameter Lib_Address and
7289 Relocatable from Build_Dynamic_Library call.
7290
7291 * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
7292 Relocatable are now synonym.
7293
7294 * Makefile.in: Use s-parame-mingw.adb on MingW platform.
7295
7296 * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
7297 Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
7298 call.
7299
7300 * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
7301 Lib_Address and Relocatable.
7302 (Default_DLL_Address): Removed.
7303
7304 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
7305 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
7306 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
7307 (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
7308 (Default_DLL_Address): Removed.
7309
7310 * mlib-tgt-mingw.adb: Ditto.
7311 (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
7312
7313 * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
7314 the initial thread stack size.
7315
7316 * a-strmap.ads: Move package L to private part as it is not used in
7317 the spec. Found while reading code.
7318
7319 2004-06-25 Olivier Hainque <hainque@act-europe.fr>
7320
7321 * tracebak.c: Introduce support for a GCC infrastructure based
7322 implementation of __gnat_backtrace.
7323
7324 * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
7325 any more. Use accessors instead. This eases maintenance and relaxes
7326 some alignment constraints.
7327 (_GNAT_Exception structure): Remove the Ada specific fields
7328 (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
7329 a-exexpr.adb.
7330 (is_handled_by, __gnat_eh_personality): Replace component references to
7331 exception structure by use of the new accessors.
7332
7333 * init.c (__gnat_initialize): Adjust comments to match the just
7334 reverted meaning of the -static link-time option.
7335
7336 * adaint.c (convert_addresses): Arrange not to define a stub for
7337 mips-irix any more, as we now want to rely on a real version from a
7338 recent libaddr2line.
7339
7340 * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
7341 the personality routine can use them and not have to rely on a C
7342 counterpart of the record anymore. This simplifies maintenance and
7343 relaxes the constraint of having Standard'Maximum_Alignment match
7344 BIGGEST_ALIGNMENT.
7345 Update comments, and add a section on the common header alignment issue.
7346
7347 2004-06-25 Geert Bosch <bosch@gnat.com>
7348
7349 * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
7350 polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
7351
7352 2004-06-25 Robert Dewar <dewar@gnat.com>
7353
7354 * gnat_rm.texi: Fix section on component clauses to indicate that the
7355 restriction on byte boundary placement still applies for bit packed
7356 arrays.
7357 Add comment on stack usage from Initialize_Scalars
7358
7359 * gnat_ugn.texi: Add documentation for -gnatyLnnn
7360
7361 * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
7362 limiting nesting level.
7363
7364 * usage.adb: Add line for -gnatyLnnn switch
7365
7366 * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
7367 sem_ch13.adb, exp_aggr.adb: Minor reformatting
7368
7369 * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
7370 type as well as on the subtype. This corrects a problem in freeze in
7371 setting alignments of atomic types.
7372
7373 * sem_eval.ads: Minor comment typo fixed
7374
7375 * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
7376 level. Minor reformatting.
7377
7378 * fname.adb (Is_Predefined_File_Name): Require a letter after the
7379 minus sign. This means that file names like a--b.adb will not be
7380 considered predefined.
7381
7382 * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
7383 record Test new flag and give diagnostic for bad component clause.
7384 (Freeze_Entity): Set alignment of array from component alignment in
7385 cases where this is safe to do.
7386
7387 * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
7388 arrays.
7389
7390 * cstand.adb: (Create_Standard): Set alignment of String to 1
7391
7392 * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
7393
7394 * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
7395 code in the common constrained array cases.
7396
7397 * a-storio.adb: Change implementation to avoid possible alignment
7398 problems on machines requiring strict alignment (data should be moved
7399 as type Buffer, not type Elmt).
7400
7401 * checks.adb (Apply_Array_Size_Check): Improve these checks by
7402 killing the overflow checks which we really do not need (64-bits is
7403 enough).
7404
7405 2004-06-25 Vincent Celier <celier@gnat.com>
7406
7407 * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
7408 (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
7409 inconditionally for the main project.
7410 (Recursive_Add_Archives.Add_Archive_Path): New procedure
7411 (Link_Executables.Check_Time_Stamps): New procedure
7412 (Link_Executables.Link_Foreign): New procedure
7413 Changes made to reduce nesting level of this package
7414 (Check): New procedure
7415 (Add_Switches): When not in quiet output, check that a switch is not
7416 the concatenation of several valid switches. If it is, issue a warning.
7417 (Build_Global_Archive): If the global archive is rebuilt, linking need
7418 to be done.
7419 (Compile_Sources): Rebuilding a library archive does not imply
7420 rebuilding the global archive.
7421 (Build_Global_Archive): New procedure
7422 (Build_Library): New name for Build_Archive, now only for library
7423 project
7424 (Check_Archive_Builder): New procedure
7425 (Create_Global_Archive_Dependency_File): New procedure
7426 (Gprmake): Call Build_Global_Archive before linking
7427 * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
7428 throughout.
7429 (Scan_Arg): Display the Copyright notice when -v is used
7430
7431 * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
7432 for gnatls.
7433
7434 * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
7435 COMPILE.
7436 Add new GNAT LIST qualifier /FILES=
7437 Added qualifier /DIRECTORY= to GNAT METRIC
7438 Added qualifier /FILES= to GNAT METRIC
7439 Added qualifier /FILES to GNAT PRETTY
7440
7441 * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
7442 to take into account both versions of the switch.
7443
7444 * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
7445 always be the last switch to the gcc driver. Disable switch storing so
7446 that switches automatically added by the gcc driver are not put in the
7447 ALI file.
7448
7449 * prj.adb (Project_Empty): Take into account changes in components of
7450 Project_Data.
7451
7452 * prj.ads (Languages_Processed): New enumaration value All_Languages.
7453
7454 * prj.ads (Project_Data): Remove component Lib_Elaboration: never
7455 used. Split Boolean component Ada_Sources_Present in two Boolean
7456 components Ada_Sources_Present and Other_Sources_Present.
7457 Minor reformatting
7458
7459 * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
7460 instead of Sources_Present.
7461 (Set_Ada_Paths.Add.Recursive_Add): Ditto
7462
7463 * prj-nmsc.adb: Minor reformatting
7464 (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
7465 (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
7466 Check_Ada_Naming_Scheme.
7467 Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
7468 throughout.
7469
7470 * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
7471 In_Limited.
7472 Make sure that all cycles where there is at least one "limited with"
7473 are detected.
7474 (Parse_Single_Project): New Boolean parameter In_Limited
7475
7476 * prj-proc.adb (Recursive_Check): When Process_Languages is
7477 All_Languages, call first Prj.Nmsc.Ada_Check, then
7478 Prj.Nmsc.Other_Languages_Check.
7479
7480 * prj-proc.adb (Process): Use Ada_Sources_Present or
7481 Other_Sources_Present (instead of Sources_Present) depending on
7482 Process_Languages.
7483
7484 * lang-specs.h: Keep -g and -m switches in the same order, and as the
7485 last switches.
7486
7487 * lib.adb (Switch_Storing_Enabled): New global Boolean flag
7488 (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
7489 False.
7490 (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
7491 False.
7492
7493 * lib.ads (Disable_Switch_Storing): New procedure.
7494
7495 * make.adb: Modifications to reduce nesting level of this package.
7496 (Check_Standard_Library): New procedure
7497 (Gnatmake.Check_Mains): New procedure
7498 (Gnatmake.Create_Binder_Mapping_File): New procedure
7499 (Compile_Sources.Compile): Add switch -gnatez as the last option
7500 (Display): Never display -gnatez
7501
7502 * Makefile.generic:
7503 When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
7504
7505 * gnatcmd.adb (Check_Project): New function
7506 (Process_Link): New procedure to reduce nesting depth
7507 (Check_Files): New procedure to reduce the nesting depth.
7508 For GNAT METRIC, include the inherited sources in extending projects.
7509 (GNATCmd): When GNAT LS is invoked with a project file and no files,
7510 add the list of files from the sources of the project file. If this list
7511 is too long, put it in a temp text files and use switch -files=
7512 (Delete_Temp_Config_Files): Delete the temp text file that contains
7513 a list of source for gnatpp or gnatmetric, if one has been created.
7514 (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
7515 in the project file is too large, create a temporary text file that
7516 list them and pass it to the tool with "-files=<temp text file>".
7517 (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
7518
7519 * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
7520 generated file is in not in Ada.
7521
7522 * gnatls.adb: Remove all parameters And_Save that are no longer used.
7523 (Scan_Ls_Arg): Add processing for -files=
7524 (Usage): Add line for -files=
7525
7526 * g-os_lib.adb (On_Windows): New global constant Boolean flag
7527 (Normalize_Pathname): When on Windows and the path starts with a
7528 directory separator, make sure that the resulting path will start with
7529 a drive letter.
7530
7531 * clean.adb (Clean_Archive): New procedure
7532 (Clean_Project): When there is non-Ada code, delete the global archive,
7533 the archive dependency files, the object files and their dependency
7534 files, if they exist.
7535 (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
7536
7537 2004-06-25 Thomas Quinot <quinot@act-europe.fr>
7538
7539 * sinfo.ads: Fix typo in comment.
7540
7541 * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
7542 the TSS for remote access-to-subprogram types, since these TSS are
7543 always present once the type has been analyzed.
7544 (RAS_E_Dereference): Same.
7545
7546 * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
7547 reference raises Bad_Attribute, mark the reference as analyzed so the
7548 node (and any children resulting from rewrites that could have occurred
7549 during the analysis that ultimately failed) is not analyzed again.
7550
7551 * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
7552
7553 * exp_dist.adb: Minor comment fix.
7554
7555 * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
7556 type is an anonymous access type, no unchecked deallocation of the
7557 allocated object can occur. If the object is controlled, attach it with
7558 a count of 1. This allows attachment to the Global_Final_List, if
7559 no other relevant list is available.
7560 (Get_Allocator_Final_List): For an anonymous access type that is
7561 the type of a discriminant or record component, the corresponding
7562 finalisation list is the one of the scope of the type.
7563
7564 2004-06-25 Ed Schonberg <schonberg@gnat.com>
7565
7566 * sem_ch3.adb (Replace_Type): When computing the signature of an
7567 inherited subprogram, use the first subtype if the derived type
7568 declaration has no constraint.
7569
7570 * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
7571 before applying previous optimization. Minor code cleanup.
7572
7573 * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
7574 placed at the beginning of an unpacked record without explicit
7575 alignment, a slice of it will be aligned and does not need a copy when
7576 used as an actual.
7577
7578 2004-06-25 Ed Schonberg <schonberg@gnat.com>
7579
7580 PR ada/15591
7581 PR ada/15592
7582 * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
7583 reference is written with expressions mimicking parameters.
7584
7585 2004-06-25 Hristian Kirtchev <kirtchev@gnat.com>
7586
7587 PR ada/15589
7588 * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
7589 STEP 2a. The constraints of a full type declaration of a derived record
7590 type are checked for conformance with those declared in the
7591 corresponding private extension declaration. The message
7592 "not conformant with previous declaration" is emitted if an error is
7593 detected.
7594
7595 2004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr>
7596
7597 * g-traceb.ads: Document the need for -E binder switch in the spec.
7598
7599 * g-trasym.ads: Document the need for -E binder switch in the spec.
7600
7601 2004-06-25 Jose Ruiz <ruiz@act-europe.fr>
7602
7603 * sem_prag.adb: Add handling of pragma Detect_Blocking.
7604
7605 * snames.h, snames.ads, snames.adb: Add entry for pragma
7606 Detect_Blocking.
7607
7608 * s-rident.ads: Change reference to pragma Detect_Blocking.
7609
7610 * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
7611 system.ads.
7612
7613 * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
7614 to indicate whether pragma Detect_Blocking is active.
7615
7616 * par-prag.adb: Add entry for pragma Detect_Blocking.
7617
7618 * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
7619 of not handling WITH.
7620 Note that this replaces the previous update which was incorrect.
7621
7622 2004-06-25 Javier Miranda <miranda@gnat.com>
7623
7624 * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
7625 use-clauses to have a clean environment.
7626
7627 * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
7628 the installation of the use-clauses to stablish a clean environment in
7629 case of compilation of a separate unit; otherwise the call to
7630 use_one_package is protected by the barrier Applicable_Use.
7631
7632 * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
7633 the installation of the use-clauses to stablish a clean environment in
7634 case of compilation of a separate unit.
7635 (End_Use_Clauses): Minor comment cleanup.
7636
7637 2004-06-25 Sergey Rybin <rybin@act-europe.fr>
7638
7639 * gnat_ugn.texi: Add description of the gnatpp 'files' switch
7640
7641 2004-06-23 Richard Henderson <rth@redhat.com>
7642
7643 * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
7644
7645 2004-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7646
7647 * decl.c (elaborate_expression, elaborate_expression_1): Arguments
7648 now bool instead of int.
7649 (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
7650 * trans.c (gnu_switch_label_stack): New function.
7651 (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
7652 elaboration of renamed entity returns.
7653 (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
7654 (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
7655 (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
7656 (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
7657 DECL_SIZE_UNIT and simplify variable-sized case.
7658 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
7659 Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
7660 (gnat_stabilize_reference): Add arg to COMPONENT_REF.
7661 (build_unit_elab): Disable for now.
7662 * utils.c (mark_visited): New function.
7663 (pushdecl): Walk tree to call it for global decl.
7664 (update_pointer_to): Update all variants of pointer and ref types.
7665 Add arg to COMPONENT_REF.
7666 (convert): Likewise.
7667 Move check for converting between variants lower down.
7668 * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
7669 (build_allocator): Don't force type of MODIFY_EXPR.
7670 (gnat_mark_addressable, case VAR_DECL): Unconditionally call
7671 put_var_into_stack.
7672
7673 2004-06-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7674
7675 * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
7676 * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
7677 * decl.c (gnat_to_gnu_entity): Also set force_global for imported
7678 subprograms.
7679 * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
7680 all callers changed.
7681 (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
7682 the way that EXIT_STMT finds the loop label.
7683 (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
7684 (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
7685 (add_stmt): Use annotate_with_locus insted of setting directly.
7686 (pos_to_construct): Set TREE_PURPOSE of each entry to index.
7687 (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
7688 * utils.c (gnat_install_builtins): Install __builtin_memcmp.
7689 (build_vms_descriptor): Add extra args to ARRAY_REF.
7690 (convert): Use VIEW_CONVERT_EXPR between aggregate types.
7691 * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
7692 New cases.
7693 (build_binary_op): Don't make explicit CONVERT_EXPR.
7694 Add extra rgs to ARRAY_REF.
7695
7696 2004-06-14 Pascal Obry <obry@gnat.com>
7697
7698 * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
7699 Windows. Fix minor typo.
7700
7701 * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
7702 which is now supported on Windows. With this implementation using the
7703 Library Project feature is no different on Windows than on UNIX.
7704
7705 2004-06-14 Vincent Celier <celier@gnat.com>
7706
7707 * makegpr.adb (Compile_Sources): Nothing to do when there are no
7708 non-Ada sources.
7709
7710 * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
7711
7712 * prj-part.adb (Parse_Single_Project): When a duplicate project name is
7713 found, show the project name and the path of the previously parsed
7714 project file.
7715
7716 2004-06-14 Ed Schonberg <schonberg@gnat.com>
7717
7718 * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
7719 array, avoid copying the actual before the call.
7720
7721 2004-06-14 Thomas Quinot <quinot@act-europe.fr>
7722
7723 * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
7724 Instead, allocate memory on worst-case alignment assumptions, and then
7725 return an aligned address within the allocated zone.
7726
7727 2004-06-14 Robert Dewar <dewar@gnat.com>
7728
7729 * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
7730 elab entities in predefined units in No_Run_Time_Mode.
7731 (Gen_Adainit_C): Same fix
7732 (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
7733 units in No_Run_Time_Mode
7734 (Gen_Elab_Calls_C): Same fix
7735
7736 * symbols-vms-alpha.adb: Minor reformatting
7737
7738 * g-debpoo.ads: Minor reformatting
7739
7740 * lib.adb (In_Same_Extended_Unit): Version working on node id's
7741
7742 * lib.ads (In_Same_Extended_Unit): Version working on node id's
7743
7744 * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
7745 working on nodes.
7746
7747 * make.adb: Minor reformatting
7748
7749 * par-ch12.adb: Minor reformatting
7750
7751 * par-prag.adb: Add dummy entry for pragma Profile_Warnings
7752
7753 * prj-strt.adb: Minor reformatting
7754
7755 * restrict.ads, restrict.adb: Redo handling of profile restrictions to
7756 be more general.
7757
7758 * sem_attr.adb: Minor reformatting
7759
7760 * sem_ch7.adb: Minor reformatting
7761
7762 * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
7763 for type in the same unit as the object declaration.
7764
7765 * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
7766 static string expressions and not just string literals.
7767 Minor reformatting
7768 (Set_Warning): Reset restriction warning flag for restriction pragma
7769 Implement pragma Profile_Warnings
7770 Implement pragma Profile (Restricted)
7771 Give obolescent messages for old restrictions and pragmas
7772
7773 * snames.h, snames.ads, snames.adb: Add new entry for pragma
7774 Profile_Warnings.
7775
7776 * s-rident.ads: Add declarations for restrictions required by profile
7777 Restricted and profile Ravenscar.
7778
7779 * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
7780
7781 * gnat_ugn.texi: Correct some missing entries in the list of GNAT
7782 configuration pragmas.
7783
7784 2004-06-11 Vincent Celier <celier@gnat.com>
7785
7786 * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
7787 gnatsym, when symbol policy is Restricted.
7788
7789 * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
7790 gnatsym, when symbol policy is Restricted.
7791
7792 * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
7793 read the symbol file.
7794 (Finalize): Fail in symbol policy Restricted if a symbol in the original
7795 symbol file is not in the object files. Do not create a new symbol file
7796 when symbol policy is Restricted.
7797
7798 * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
7799 in Scng.
7800
7801 * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
7802 Restricted.
7803 (Usage): Line for new switch -R
7804
7805 * make.adb (Initialize): When the platform is not VMS, add the
7806 directory where gnatmake is invoked in the front of the path, if
7807 gnatmake is invoked with directory information. Change the Scan_Args
7808 while loop to a for loop.
7809 (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
7810 if Depth is equal or greater than the proposed depth, there is nothing
7811 to do.
7812 (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
7813 instead of 0.
7814
7815 * prj.ads: Add new symbol policy Restricted.
7816
7817 * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
7818 with the new parameters Check_All_Labels and Case_Location.
7819
7820 * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
7821 (Library_Symbol_File needs to be defined).
7822
7823 * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
7824 and Case_Location If Check_All_Labels is True, check that all values of
7825 the string type are used, and output warning(s) if they are not.
7826
7827 * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
7828 and Case_Location.
7829
7830 * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
7831
7832 * gnat_ugn.texi: Update documentation about the library directory in
7833 Library Projects.
7834
7835 * makegpr.adb (Display_Command): In verbose mode, also display the
7836 value of the CPATH env var, when the compiler is gcc.
7837 (Initialize): Change the Scan_Args while loop to a for loop
7838 (Compile_Individual_Sources): Change directory to object directory
7839 before compilations.
7840
7841 * symbols.ads: New symbol policy Restricted.
7842
7843 2004-06-11 Olivier Hainque <hainque@act-europe.fr>
7844
7845 * a-except.adb (Raise_After_Setup family): Remove. The responsibility
7846 is now taken care of internally in the Exception_Propagation package
7847 and does not require clients assistance any more.
7848
7849 * a-exexpr.adb (Is_Setup_And_Not_Propagated,
7850 Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
7851 functions. Helpers to maintain a predicate required in the handling of
7852 occurrence transfer between tasks.
7853 This is now handled internally and does not require clients assistance
7854 for the setup/propagate separation anymore.
7855 (Setup_Exception, Propagate_Exception): Simplify the Private_Data
7856 allocation strategy, handle the Setup_And_Not_Propagated predicate and
7857 document.
7858
7859 * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
7860 raise_after_setup, now that everything is handled internally within the
7861 setup/propagation engine.
7862
7863 2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
7864
7865 * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
7866 Add additional conditions for the case of an actual being a simple
7867 name or literal. Improve inlining by preventing the generation
7868 of temporaries with a short lifetime (one use).
7869
7870 2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
7871
7872 PR ada/15587
7873
7874 * einfo.ads: Minor comment updates for Has_Completion and
7875 E_Constant list of flags.
7876
7877 * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
7878 and constant redeclarations now set the Has_Completion flag of their
7879 defining identifiers.
7880
7881 * sem_ch7.adb (Analyze_Package_Spec): Add procedure
7882 Inspect_Deferred_Constant_Completion.
7883 Used to detect private deferred constants that have not been completed
7884 either by a constant redeclaration or pragma Import. Emits error message
7885 "constant declaration requires initialization expression".
7886
7887 * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
7888 completes a deferred constant.
7889
7890 2004-06-11 Geert Bosch <bosch@gnat.com>
7891
7892 * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
7893
7894 * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
7895 calculating exponent for scaling denormal numbers.
7896 (Leading_Part): Properly raise Constraint_Error for zero or negative
7897 Adjustment.
7898 (Remainder): Properly raise Constraint_Error for zero divisor.
7899
7900 2004-06-11 Thomas Quinot <quinot@act-europe.fr>
7901
7902 * sem_util.adb: Minor reformatting.
7903
7904 * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
7905 dereference when accessing the entry parameter record.
7906 (Check_Array_Type): Always check for possible implicit dereference.
7907 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
7908 Abort if a pointer is still present (denoting that an implicit
7909 dereference was left in the tree by the front-end).
7910
7911 * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
7912 dereference when accessing the entry parameter record.
7913 (Check_Array_Type): Always check for possible implicit dereference.
7914 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
7915 Abort if a pointer is still present (denoting that an implicit
7916 dereference was left in the tree by the front-end).
7917
7918 2004-06-11 Emmanuel Briot <briot@act-europe.fr>
7919
7920 * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
7921 message, like the compiler itself does. Easier to parse the output.
7922
7923 * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
7924
7925 * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
7926 be base names, and not includes directories.
7927
7928 2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
7929
7930 * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
7931 so that dependencies are properly taken into account by make.
7932
7933 2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
7934
7935 PR ada/15622
7936 * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
7937 exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
7938
7939 2004-06-11 Jerome Guitton <guitton@act-europe.fr>
7940
7941 * Makefile.in (install-gnatlib): install target-specific run-time files.
7942
7943 * Make-lang.in: Remove obsolete targets.
7944
7945 2004-06-11 Ed Schonberg <schonberg@gnat.com>
7946
7947 * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
7948 specification, to catch misuses of program unit names.
7949
7950 * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
7951 superfluous conversions in an instance.
7952
7953 2004-06-11 Ed Schonberg <schonberg@gnat.com>
7954
7955 PR ada/15403
7956
7957 * sem_ch12.adb (Save_References): If operator node has been folded to
7958 enumeration literal, associated_node must be discarded.
7959
7960 2004-06-11 Jose Ruiz <ruiz@act-europe.fr>
7961
7962 * s-stchop-vxworks.adb: Add required pragma Convention to
7963 Task_Descriptor because it is updated by a C function.
7964
7965 2004-06-08 Arnaud Charlet <charlet@act-europe.fr>
7966
7967 PR ada/15568
7968
7969 * Makefile.in: Remove target specific SO_OPT on IRIX
7970
7971 2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7972
7973 * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
7974 (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
7975 (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
7976 (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
7977 (STMT_STMT, USE_STMT): New statement codes.
7978 (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
7979 * ada-tree.h: Reflect above changes.
7980 (struct tree_loop_id): Deleted.
7981 (union lang_tree_node, struct lang_decl, struct lang_type):
7982 Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
7983 and DECL_LANGUAGE_SPECIFIC to reflect these changes.
7984 (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
7985 (IS_ADA_STMT): New macro.
7986 * decl.c (annotate_decl_with_node): New function.
7987 (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
7988 (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
7989 Call add_stmt_with_node to do needed assignments.
7990 Add call to update setjmp buffer directly, not via EXPR_STMT.
7991 (maybe_variable): Argment GNAT_NODE deleted.
7992 * gigi.h (maybe_variable): Likewise.
7993 (make_transform, add_stmt_with_node, set_block_for_group): New.
7994 (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
7995 (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
7996 (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
7997 (set_lineno, set_lineno_from_sloc): Likewise.
7998 (record_code_position, insert_code_for): Likewise.
7999 (gnat_poplevel): Now returns void.
8000 (end_subprog_body): Now takes argument.
8001 * misc.c (cgraph.h, tree-inline.h): New includes.
8002 (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
8003 (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
8004 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
8005 (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
8006 (gnat_parse_file): Don't set immediate_size_expand.
8007 Call cgraph functions.
8008 (gnat_expand_expr): Remove most cases.
8009 (record_code_position, insert_code_for): Remove from here.
8010 * trans.c (toplev.h, tree-gimple.h): Now included.
8011 (discard_file_names): Deleted.
8012 (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
8013 (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
8014 (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
8015 (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
8016 (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
8017 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
8018 (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
8019 (set_block_for_group, add_stmt_list): Likewise.
8020 (start_stmt_group): Renamed from start_block_stmt.
8021 (end_stmt_group): Likewise, from end_block_stmt.
8022 (build_stmt_group): Likewise, from build_block_stmt, also add arg.
8023 (gigi): Don't set discard_file_names or call set_lineno.
8024 Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
8025 (tree_transform): Deleted, now renamed to be gnat_to_gnu.
8026 Numerous changes throughout to reflect new names and complete
8027 function-at-a-time implementation.
8028 (gnat_expand_stmt): Delete or comment out all cases.
8029 (process_inlined_subprograms): Use add_stmt.
8030 (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
8031 call set_lineno; also remove unneeded block handling.
8032 (process_type): Remove unneeded block handling.
8033 (build_unit_elab): Remove calls to deleted functions.
8034 * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
8035 (tree-dump.h): Likewise.
8036 (struct ada_binding_level): Add field jmpbuf_decl.
8037 (gnat_define_builtin, gnat_install_builtins): New.
8038 (gnat_gimplify_function, gnat_finalize): Likewise.
8039 (gnat_poplevel): No longer return BLOCK, set it instead.
8040 Remove code dealing with nested functions.
8041 (gnat_init_decl_processing): Also set size_type_node.
8042 Call gnat_install_builtins.
8043 (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
8044 (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
8045 Remove special-case for "main".
8046 (end_subprog_body): Add arg and rework for tree-ssa.
8047 (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
8048 Add case for BOOLEAN_TYPE.
8049 * utils2.c (rtl.h): Now include.
8050 (build_call_raise): Test Debug_Flag_NN directly.
8051 (build_call_alloc_dealloc): Don't use local stack allocation for now.
8052 (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
8053 (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
8054
8055 2004-06-07 Robert Dewar <dewar@gnat.com>
8056
8057 * a-direct.ads, einfo.ads: Minor comment updates
8058
8059 * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
8060 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
8061 s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
8062 s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
8063 s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
8064
8065 * s-interr-sigaction.adb: Remove unreferenced variable
8066 (Attached_Interrupts). Minor reformatting.
8067 Avoid use of variable I (replace by J).
8068
8069 * par-ch10.adb: Fix text of one error message
8070
8071 * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
8072 exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
8073 exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
8074 opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
8075 par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
8076 par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
8077 sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
8078 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
8079 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
8080 sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
8081 snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
8082 2005 support.
8083
8084 2004-06-07 Doug Rupp <rupp@gnat.com>
8085
8086 * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
8087
8088 * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
8089
8090 * mlib-tgt-vms-ia64.adb: New file.
8091
8092 * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
8093 Add mlib-tgt-vms-ia64.adb
8094 Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
8095 Move to alpha specific ifeq section.
8096 Add VMS specific versions of symbols.adb
8097 Renaming of 5q vms files.
8098
8099 * 5qsystem.ads renamed to system-vms_64.ads.
8100
8101 2004-06-07 Vincent Celier <celier@gnat.com>
8102
8103 * a-calend.ads: Add a GNAT Note comment after function Time_Of to
8104 explain that when a time of day corresponding to the non existing hour
8105 on the day switching to DST is specified, Split may return a different
8106 value for Seconds.
8107
8108 * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
8109 to GNAT PRETTY.
8110
8111 * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
8112 (Normalize_Pathname): Only resolve VMS logical names when on VMS.
8113
8114 * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
8115 to False.
8116 If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
8117 the linking options.
8118 (Build_Library.Check_Libs): On VMS, if there is a dependency on
8119 g-trasym.ads, set Gtrasymobj_Needed to True.
8120
8121 * prj-attr.adb: Add new package Metrics for gnatmetric
8122
8123 * prj-nmsc.adb (Record_Other_Sources): Put source file names in
8124 canonical case to take into account files with upper case characters on
8125 Windows.
8126 (Ada_Check): Load the reference symbol file name in the name buffer to
8127 check it, not the symbol file name.
8128
8129 * snames.ads, snames.adb: Add standard name Metrics (name of project
8130 file package for gnatmetric).
8131
8132 * vms_conv.ads: Add Metric to Comment_Type
8133
8134 * vms_conv.adb (Initialize): Add component dor Metric in Command_List
8135
8136 * vms_data.ads: Add qualifiers for GNAT METRIC
8137
8138 * makegpr.adb (Link_Executables): Take into account the switches
8139 specified in package Linker of the main project.
8140
8141 2004-06-07 Thomas Quinot <quinot@act-europe.fr>
8142
8143 * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
8144 the index of the last element is Units.Last, not Units.Table'Last
8145 (which is usually not a valid index within the actually allocated
8146 storage for the table).
8147
8148 * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
8149 determines whether to generate a call to a checked storage pool
8150 Dereference action.
8151 Generate such a call only for a dereference that either comes from
8152 source, or is the result of rewriting a dereference that comes from
8153 source.
8154
8155 2004-06-07 Romain Berrendonner <berrendo@act-europe.fr>
8156
8157 * bindgen.adb (Gen_Output_File): Add support for GAP builds.
8158
8159 2004-06-07 Eric Botcazou <ebotcazou@act-europe.fr>
8160
8161 (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
8162 file level, elaborate the stride for inner dimensions in alignment
8163 units, not bytes.
8164
8165 * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
8166 in a comment.
8167
8168 2004-06-07 Javier Miranda <miranda@gnat.com>
8169
8170 * exp_ch6.adb: Correct wrong modification in previous patch
8171
8172 2004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr>
8173
8174 * g-trasym.ads: Corrected comment to properly reflect level of support
8175 on VMS.
8176
8177 2004-06-07 Hristian Kirtchev <kirtchev@gnat.com>
8178
8179 * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
8180 includes case of a variable referenced on the left hand side of an
8181 assignment, therefore remove redundant code. Variables and prefixes of
8182 indexed or selected components are now marked as referenced on left
8183 hand side. Warnings are now properly emitted when variables or prefixes
8184 are assigned but not read.
8185
8186 * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
8187 left hand side referenced variables. Private access types do not
8188 produce the warning "variable ... is assigned but never read".
8189 Add also additional checks to left hand side referenced variables.
8190 Aliased, renamed objects and access types do not produce the warning
8191 "variable ... is assigned but never read" since other entities may read
8192 the memory location.
8193
8194 2004-06-07 Jerome Guitton <guitton@act-europe.fr>
8195
8196 * Makefile.in: In the powerpc/vxworks-specific section, restore
8197 EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
8198 by mistake).
8199
8200 2004-06-07 Ed Schonberg <schonberg@gnat.com>
8201
8202 * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
8203 predefined operators.
8204 Removes spurious type errors from g-trasym-vms.adb.
8205
8206 * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
8207 distinct from the operator appearing in the source, call appropriate
8208 routine to insert conversions when needed, and complete resolution of
8209 node.
8210 (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
8211 interpretations for rewritten right operand.
8212 (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
8213 the other operand is overloaded and the context is a type conversion.
8214
8215 2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8216
8217 * ada-tree.def (BLOCK_STMT): Now has two operands.
8218 (BREAK_STMT): New.
8219
8220 * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
8221
8222 * gigi.h: (gnat_poplevel): Now returns a tree.
8223
8224 * trans.c (end_block_stmt): Add arg; all callers changed.
8225 (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
8226 (start_block_stmt): Clear BLOCK_STMT_BLOCK.
8227 (add_stmt): Set TREE_TYPE.
8228 (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
8229 (gnat_expand_stmt, case BREAK_STMT): New case.
8230
8231 * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
8232
8233 2004-06-07 Jose Ruiz <ruiz@act-europe.fr>
8234
8235 * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
8236 procedure Set_Stack_Size that is not needed.
8237
8238 2004-06-07 Sergey Rybin <rybin@act-europe.fr>
8239
8240 * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
8241 used for gnatpp input file and for the files upon which it depends
8242
8243 2004-06-07 Ben Brosgol <brosgol@gnat.com>
8244
8245 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
8246
8247 2004-06-07 Arnaud Charlet <charlet@act-europe.fr>
8248
8249 * gnatvsn.ads: Bump version numbers appropriately.
8250 Add new build type.
8251
8252 2004-06-07 Pascal Obry <obry@gnat.com>
8253
8254 * gnat_ugn.texi: Improve comments about imported names and link names
8255 on Windows. Add a note about the requirement to use -k gnatdll's option
8256 when working with a DLL which has stripped stdcall symbols (no @nn
8257 suffix).
8258
8259 2004-05-27 Vincent Celier <celier@gnat.com>
8260
8261 * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
8262 COMMENTS_LAYOUT=UNTOUCHED
8263
8264 * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
8265 symbols-vms-alpha.adb
8266
8267 2004-05-27 Thomas Quinot <quinot@act-europe.fr>
8268
8269 * sem.ads: Clarify documentation on checks suppression.
8270
8271 * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
8272
8273 2004-05-27 Ed Schonberg <schonberg@gnat.com>
8274
8275 * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
8276 the case of multiple derivations.
8277 (Is_Object_Reference): For a selected component, verify that the prefix
8278 is itself an object and not a value.
8279
8280 * sem_ch12.adb (Same_Instantiated_Constant): New name for
8281 Same_Instantiated_Entity.
8282 (Same_Instantiated_Variable): Subsidiary to
8283 Check_Formal_Package_Instance, to recognize actuals for in-out generic
8284 formals that are obtained from a previous formal package.
8285 (Instantiate_Subprogram_Body): Emit proper error when
8286 generating code and the proper body of a stub is missing.
8287
8288 * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
8289 has a universal interpretation, do the disambiguation here.
8290
8291 * exp_ch4.adb (Expand_N_Type_Conversion,
8292 Expand_N_Unchecked_Type_Conversion): Special handling when target type
8293 is Address, to avoid typing anomalies when Address is a visible integer
8294 type.
8295
8296 * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
8297 to determine whether a subprogram should not be marked Pure, even when
8298 declared in a pure package.
8299
8300 2004-05-27 Jose Ruiz <ruiz@act-europe.fr>
8301
8302 * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
8303
8304 * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
8305 Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
8306 Update the documentation about the Ravenscar profile, following the
8307 definition found in AI-249.
8308
8309 * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
8310 setting the Profile (Ravenscar). This must be done in addition to
8311 setting the required restrictions.
8312
8313 * rtsfind.ads: Add the set of operations defined in package
8314 Ada.Interrupts.
8315
8316 * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
8317 restriction.
8318
8319 2004-05-27 Eric Botcazou <ebotcazou@act-europe.fr>
8320
8321 lang-specs.h: Always require -c or -S and always redirect to /dev/null
8322 if -gnatc or -gnats is passed.
8323
8324 2004-05-27 Hristian Kirtchev <kirtchev@gnat.com>
8325
8326 * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
8327 a significant reference. Warnings are now properly emitted when a
8328 discriminated type is not referenced.
8329
8330 * lib-xref.adb (Generate_Reference): A deferred constant completion,
8331 record representation clause or record type discriminant does not
8332 produce a reference to its corresponding entity. Warnings are now
8333 properly emitted when deferred constants and record types are not
8334 referenced.
8335
8336 2004-05-27 Geert Bosch <bosch@gnat.com>
8337
8338 * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
8339 Fixes ACATS Annex G tests.
8340
8341 2004-05-27 Robert Dewar <dewar@gnat.com>
8342
8343 * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
8344 handling WITH
8345
8346 2004-05-27 Arnaud Charlet <charlet@act-europe.fr>
8347
8348 * s-interr.adb (Server_Task): Take into account case of early return
8349 from sigwait under e.g. linux.
8350
8351 2004-05-27 Sergey Rybin <rybin@act-europe.fr>
8352
8353 * gnat_ugn.texi: Add description for the new gnatpp options:
8354 -rnb - replace the original source without creating its backup copy
8355 -c0 - do not format comments
8356
8357 2004-05-24 Geert Bosch <bosch@gnat.com>
8358
8359 * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
8360 with 192 bits of precision, sufficient to reduce a double-extended
8361 arguments X with a maximum relative error of T'Machine_Epsilon, for X
8362 in -2.0**32 .. 2.0**32.
8363 (Cos, Sin): Always reduce arguments of 1/4 Pi or larger, to prevent
8364 reduction by the processor, which only uses a 68-bit approximation of
8365 Pi.
8366 (Tan): Always reduce arguments and compute function either using
8367 the processor's fptan instruction, or by dividing sin and cos as needed.
8368
8369 2004-05-24 Doug Rupp <rupp@gnat.com>
8370
8371 * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
8372 gcc error on 32/64 bit VMS.
8373
8374 2004-05-24 Olivier Hainque <hainque@act-europe.fr>
8375
8376 * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
8377 since this is what we get for stack overflows although not documented
8378 as such.
8379 Document the issues which may require adjustments to our signal
8380 handlers.
8381
8382 2004-05-24 Ed Schonberg <schonberg@gnat.com>
8383
8384 * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
8385 enclosing dynamic scope if the instantiation is within a generic unit.
8386
8387 2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
8388
8389 * exp_dbug.ads: Fix typo.
8390
8391 * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
8392 Rename it to its proper name: system-linux-ia64.ads
8393 (stamp-gnatlib1): Remove extra target specific run time files when
8394 setting up the rts directory.
8395
8396 2004-05-24 Javier Miranda <miranda@gnat.com>
8397
8398 * einfo.ads, einfo.adb (Limited_Views): Removed.
8399 (Limited_View): New attribute that replaces the previous one. It is
8400 now a bona fide package with the limited-view list through the
8401 first_entity and first_private attributes.
8402
8403 * sem_ch10.adb (Install_Private_With_Clauses): Give support to
8404 limited-private-with clause.
8405 (Install_Limited_Withed_Unit): Install the private declarations of a
8406 limited-private-withed package. Update the installation of the shadow
8407 entities according to the new structure (see Build_Limited_Views)
8408 (Build_Limited_Views): Replace the previous implementation of the
8409 limited view by a package entity that references the first shadow
8410 entity plus the first shadow private entity (required for limited-
8411 private-with clause)
8412 (New_Internal_Shadow_Entity): Code cleanup.
8413 (Remove_Limited_With_Clause): Update the implementation to undo the
8414 new work carried out by Build_Limited_Views.
8415 (Build_Chain): Complete documentation.
8416 Replace Ada0Y by Ada 0Y in comments
8417 Minor reformating
8418
8419 * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
8420 types the level of accessibility depends on the enclosing type
8421 declaration.
8422
8423 * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
8424 entities. Complete documentation of previous change.
8425
8426 2004-05-24 Robert Dewar <dewar@gnat.com>
8427
8428 * namet.adb: Minor reformatting
8429 Avoid use of name I (replace by J)
8430 Minor code restructuring
8431
8432 * sem_ch6.adb: Minor reformatting
8433
8434 * lib-writ.adb: Do not set restriction as active if this is a
8435 Restriction_Warning case.
8436
8437 * sem_prag.adb: Reset restriction warning flag if real pragma
8438 restriction encountered.
8439
8440 * s-htable.adb: Minor reformatting
8441 Change rotate count to 3 in Hash (improves hash for small strings)
8442
8443 * 5qsystem.ads: Add comments for type Address (no literals allowed).
8444
8445 * gnat_ugn.texi: Add new section of documentation "Code Generation
8446 Control", which describes the use of -m switches.
8447
8448 2004-05-24 Eric Botcazou <ebotcazou@act-europe.fr>
8449
8450 trans.c (tree_transform) <N_Identifier>: Do the dereference directly
8451 through the DECL_INITIAL for renamed variables.
8452
8453 2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
8454
8455 * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
8456
8457 2004-05-19 Joel Brobecker <brobecker@gnat.com>
8458
8459 * exp_dbug.ads: Correct comments concerning handling of overloading,
8460 since we no longer use $ anymore.
8461
8462 2004-05-19 Sergey Rybin <rybin@act-europe.fr>
8463
8464 * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
8465 ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
8466 with illegal subunits.
8467
8468 2004-05-19 Ed Schonberg <schonberg@gnat.com>
8469
8470 * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
8471 body with front-end inlining enabled, check whether an inline pragma
8472 appears immediately after the body and applies to it.
8473
8474 * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
8475 enabled and the pragma appears after the body of the subprogram.
8476
8477 2004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8478
8479 Part of function-at-a-time conversion
8480
8481 * misc.c (adjust_decl_rtl): Deleted.
8482 (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
8483 Define.
8484
8485 * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
8486 (add_decl_stmt, add_stmt, block_has_vars): New functions.
8487 (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
8488
8489 * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
8490 when making a decl.
8491 (gnat_to_gnu_entity): Likewise.
8492 Use add_stmt to update setjmp buffer.
8493 Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
8494 flush_addressof.
8495 No longer call adjust_decl_rtl.
8496 (DECL_INIT_BY_ASSIGN_P): New macro.
8497 (DECL_STMT_VAR): Likewise.
8498
8499 * trans.c (gigi): Call start_block_stmt to make the outermost
8500 BLOCK_STMT.
8501 (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
8502 Call start_block_stmt and end_block_stmt temporarily.
8503 Use gnat_expand_stmt instead of expand_expr_stmt.
8504 (add_decl_stmt): New function.
8505 (tree_transform): Call it.
8506 (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
8507 (end_block_stmt): Set type and NULL_STMT.
8508 (gnat_expand_stmt): Make recursize call instead of calling
8509 expand_expr_stmt.
8510 (gnat_expand_stmt, case DECL_STMT): New case.
8511 (set_lineno_from_sloc): Do nothing if global.
8512 (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
8513 (start_block_stmt, add_stmt, end_block_stmt): New functions.
8514 (build_block_stmt): Call them.
8515 (gnat_to_code): Don't expand NULL_STMT.
8516 (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
8517 args.
8518 (tree_transform): Likewise.
8519 (tree_transform, case N_Null_Statement): Return NULL_STMT.
8520 (gnat_expand_stmt, case NULL_STMT): New case.
8521 (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
8522 IF_STMT_TRUE.
8523
8524 * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
8525 TREE_ADDRESSABLE.
8526
8527 * utils.c (create_var_decl): Do not call expand_decl or
8528 expand_decl_init.
8529 Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
8530 Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
8531 here.
8532 (struct e_stack): Add chain_next to GTY.
8533 (struct binding_level): Deleted.
8534 (struct ada_binding_level): New struct.
8535 (free_block_chain): New.
8536 (global_binding_level, clear_binding_level): Deleted.
8537 (global_bindings_p): Rework to see if no chain.
8538 (kept_level_p, set_block): Deleted.
8539 (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
8540 new data structure and work directly on BLOCK node.
8541 (gnat_poplevel): Similarly.
8542 (get_decls): Look at BLOCK_VARS.
8543 (insert_block): Work directly on BLOCK node.
8544 (block_has_var): New function.
8545 (pushdecl): Rework for new binding structures.
8546 (gnat_init_decl_processing): Rename and rework calls to pushlevel and
8547 poplevel.
8548 (build_subprog_body): Likewise.
8549 (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
8550
8551 * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
8552
8553 * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
8554 (DECL_STMT_VAR): Likewise.
8555
8556 2004-05-17 Robert Dewar <dewar@gnat.com>
8557
8558 * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
8559 procedure
8560
8561 * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
8562 of restriction synonyums by using
8563 Restrict.Process_Restriction_Synonyms.
8564
8565 * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
8566
8567 * s-restri.ads (Tasking_Allowed): Correct missing comment
8568
8569 * s-rident.ads: Add entries for restriction synonyms
8570
8571 * ali.adb: Fix some problems with badly formatted ALI files that can
8572 result in infinite loops.
8573
8574 * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
8575 s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
8576 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
8577 s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
8578 s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
8579 s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
8580 s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
8581 s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
8582 s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
8583 a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
8584 exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
8585 s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
8586 s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
8587 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
8588 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
8589 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
8590 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
8591 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
8592 s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
8593 s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
8594 to Task_Id (minor cleanup).
8595
8596 2004-05-17 Vincent Celier <celier@gnat.com>
8597
8598 * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
8599 directory separator.
8600
8601 * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
8602 project being extended, if Languages is not declared in extending
8603 project.
8604
8605 2004-05-17 Javier Miranda <miranda@gnat.com>
8606
8607 * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
8608 limited view of a visible sibling.
8609
8610 2004-05-14 Robert Dewar <dewar@gnat.com>
8611
8612 * gnat_ugn.texi: Minor change to -gnatS documentation
8613
8614 * sprint.adb: Remove some instances of Assert (False) and for this
8615 purpose replace them by output of a ??? string.
8616
8617 * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
8618 Assert (False).
8619
8620 * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
8621 flag processing. This was suppressing required dependencies in
8622 No_Run_Time mode and is not needed since the binder does not generate
8623 references for things in libgnat anyway.
8624
8625 * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
8626 warning.
8627
8628 2004-05-14 Thomas Quinot <quinot@act-europe.fr>
8629
8630 * gnat_ugn.texi: Document AIX-specific issue with initialization of
8631 resolver library.
8632
8633 * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
8634 action for the case of an actual parameter in an init proc call.
8635
8636 2004-05-14 Ed Schonberg <schonberg@gnat.com>
8637
8638 * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
8639 subtype, check visible entities in base type.
8640
8641 * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
8642 actions if the object is a renaming.
8643
8644 * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
8645 Check_Formal_Package_Instance, to determine more precisely when the
8646 formal and the actual denote the same entity.
8647
8648 2004-05-14 Javier Miranda <miranda@gnat.com>
8649
8650 * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
8651
8652 * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
8653 corresponding to a private_with must be removed from visibility; it
8654 will be made visible later, just before we analyze the private part of
8655 the package.
8656 (Check_Private_Child_Unit): Allow private_with clauses in public
8657 siblings.
8658 (Install_Siblings): Make visible the private entities of private-withed
8659 siblings.
8660 (Install_Withed_Unit): Do not install the private withed unit if we
8661 are compiling a package declaration and the Private_With_OK flag was
8662 not set by the caller. These declarations will be installed later,
8663 just before we analyze the private part of the package.
8664
8665 * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
8666 during the evaluation of the expression that initializes the object,
8667 decorate it with the expected type to avoid cascade errors.
8668 Code cleanup.
8669
8670 * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
8671 subprogram we have to install the private_with clauses after its
8672 specification has been analyzed (as documented in AI-262.TXT).
8673
8674 * sem_ch8.adb (Has_Private_With): New function. Determines if the
8675 current compilation unit has a private with on a given entity.
8676 (Find_Direct_Name): Detect the Beaujolais problem described in
8677 AI-262.TXT
8678
8679 * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
8680 provides the functionality of the function Is_Ancestor that was
8681 previously available in sem_ch10. It has been renamed to avoid
8682 overloading.
8683
8684 * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
8685
8686 2004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8687
8688 * utils.c (build_vms_descriptor): Use SImode pointers.
8689
8690 2004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr>
8691
8692 * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
8693
8694 2004-05-14 GNAT Script <nobody@gnat.com>
8695
8696 * Make-lang.in: Makefile automatically updated
8697
8698 2004-05-14 Arnaud Charlet <charlet@act-europe.fr>
8699
8700 Renaming of target specific files for clarity
8701
8702 * Makefile.in: Rename GNAT target specific files.
8703
8704 * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
8705 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
8706 3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
8707 3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
8708 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
8709 3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
8710 42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
8711 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
8712 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
8713 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
8714 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
8715 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
8716 51osinte.adb, 51osinte.ads, 51system.ads,
8717 52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
8718 55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
8719 56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
8720 56tpopsp.adb, 57system.ads, 58system.ads,
8721 5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
8722 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
8723 5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
8724 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
8725 5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
8726 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
8727 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
8728 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
8729 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
8730 5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
8731 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
8732 5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
8733 5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
8734 5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
8735 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
8736 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
8737 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
8738 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
8739 5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
8740 5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
8741 5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
8742 5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
8743 5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
8744 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
8745 5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
8746 5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
8747 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
8748 5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
8749 5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
8750 5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
8751 5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
8752 5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
8753 5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
8754 5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
8755 5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
8756 5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
8757 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
8758 7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
8759 7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
8760 7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
8761
8762 * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
8763 a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
8764 a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
8765 a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
8766 a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
8767 a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
8768 a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
8769 a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
8770 a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
8771 a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
8772 g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
8773 g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
8774 g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
8775 g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
8776 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
8777 g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
8778 g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
8779 g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
8780 interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
8781 mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
8782 mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
8783 mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
8784 s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
8785 s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
8786 s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
8787 s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
8788 s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
8789 s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
8790 s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
8791 s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
8792 s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
8793 s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
8794 s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
8795 s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
8796 s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
8797 s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
8798 s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
8799 s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
8800 s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
8801 s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
8802 s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
8803 s-osinte-vms.ads, s-osinte-vxworks.adb,
8804 s-osinte-vxworks.ads, s-osprim-mingw.adb,
8805 s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
8806 s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
8807 s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
8808 s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
8809 s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
8810 s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
8811 s-stchop-vxworks.adb, s-taprop-dummy.adb,
8812 s-taprop-hpux-dce.adb, s-taprop-irix.adb,
8813 s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
8814 s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
8815 s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
8816 s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
8817 s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
8818 s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
8819 s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
8820 s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
8821 s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
8822 s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
8823 s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
8824 s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
8825 s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
8826 s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
8827 s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
8828 s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
8829 s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
8830 symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
8831 system-hpux.ads, system-interix.ads, system-irix-n32.ads,
8832 system-irix-o32.ads, system-linux-x86_64.ads,
8833 system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
8834 system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
8835 system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
8836 system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
8837 system-vxworks-alpha.ads, system-vxworks-m68k.ads,
8838 system-vxworks-mips.ads, system-vxworks-ppc.ads,
8839 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
8840 above.
8841
8842 2004-05-13 Zack Weinberg <zack@codesourcery.com>
8843
8844 * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
8845
8846 2004-05-13 Diego Novillo <dnovillo@redhat.com>
8847
8848 Merge from tree-ssa-20020619-branch.
8849
8850 * config-lang.in (boot_language, build_by_default): Set
8851 to no.
8852 * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
8853 (max_size): Add static chain op for call_expr.
8854
8855 2004-05-12 Richard Sandiford <rsandifo@redhat.com>
8856
8857 PR target/15331
8858 * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
8859
8860 2004-05-11 Roger Sayle <roger@eyesopen.com>
8861
8862 * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
8863 COND_EXPR.
8864
8865 2004-05-10 Doug Rupp <rupp@gnat.com>
8866
8867 * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
8868 system.aux_dec.
8869
8870 * s-auxdec.ads: Add Short_Address subtype (moved here from System).
8871
8872 * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
8873
8874 * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
8875 Fixes undefined symbols in IA64 gnatlib.
8876
8877 * 5vinmaop.adb: Reference s-auxdec for Short_Address.
8878
8879 * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
8880 Short_Address). This will be moved to system.auxdec.
8881
8882 2004-05-10 Thomas Quinot <quinot@act-europe.fr>
8883
8884 * sem_util.adb: Replace test for presence of a node that is always
8885 present with a call to Discard_Node.
8886
8887 * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
8888 Analyze on the library unit node after generation of distribution stub
8889 constructs. The call was a no-op because Unit_Node has already been
8890 Analyzed, and the tree fragments for the distribution stubs are
8891 analyzed as they are inserted in Exp_Dist.
8892 Update comment regarding to distribution stubs to reflect that we
8893 do not generate stub in separate files anymore.
8894
8895 * einfo.ads: Clarify the fact that a tagged private type has the
8896 E_Record_Type_With_Private Ekind.
8897
8898 * erroutc.adb: Minor reformatting
8899
8900 * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
8901 values if line length is increased using -gnatyM (noticed during code
8902 reading).
8903
8904 * eval_fat.adb: Minor reformatting
8905 Put spaces around exponentiation operator
8906
8907 2004-05-10 Ed Schonberg <schonberg@gnat.com>
8908
8909 PR ada/15005
8910 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
8911 has been rewritten as an explicit dereference, retrieve type of
8912 original node to check for possibly unconstrained record type.
8913
8914 2004-05-10 Ed Schonberg <schonberg@gnat.com>
8915
8916 * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
8917 overriding, use the operation of the parent unconditionally.
8918
8919 * sem_ch4.adb (Remove_Address_Interpretations): Remove address
8920 operation when either operand is a literal, to avoid further
8921 ambiguities.
8922
8923 * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
8924 overridden by a previous explicit declaration, mark the previous entity
8925 as overriding.
8926
8927 * sem_disp.adb (Check_Dispatching_Operation): New predicate
8928 Is_Visibly_Controlled, to determine whether a declaration of a
8929 primitive control operation for a derived type overrides an inherited
8930 one. Add warning if the explicit declaration does not override.
8931
8932 2004-05-10 Vincent Celier <celier@gnat.com>
8933
8934 * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
8935 some cases when the sources are no longer present.
8936
8937 * make.adb (Collect_Arguments): Fail if an external source, not part
8938 of any project need to be compiled, when switch -x has not been
8939 specified.
8940
8941 * makeusg.adb: Document new switch -x
8942
8943 * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
8944 defaulted to False.
8945
8946 * switch-m.adb (Scan_Make_Switches): New switch -x
8947
8948 * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
8949 gnatmake switch -x.
8950
8951 * gnat_ugn.texi: Document new gnatmake switch -x
8952
8953 2004-05-10 Eric Botcazou <ebotcazou@act-europe.fr>
8954
8955 * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
8956
8957 * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
8958 (process_attributes): Likewise.
8959
8960 2004-05-10 Joel Brobecker <brobecker@gnat.com>
8961
8962 * s-inmaop.ads: Fix spelling mistake in one of the comments.
8963
8964 2004-05-10 Robert Dewar <dewar@gnat.com>
8965
8966 * gnat_ugn.texi: Document that for config pragma files, the maximum
8967 line length is always 32767.
8968
8969 * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
8970 literals is now allowed.
8971
8972 * gnat-style.texi: Remove statement about splitting long lines before
8973 an operator rather than after, since we do not follow this rule at all.
8974 Clarify rule (really lack of rule) for spaces around exponentiation
8975
8976 * sem_elim.adb: Allow concatenation of string literals as well as a
8977 single string literal for pragma arguments.
8978
8979 * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
8980
8981 * a-textio.adb (Terminate_Line): Do not add line feed if nothing
8982 written for append case.
8983
8984 * frontend.adb: Changes to avoid checking max line length in config
8985 pragma files.
8986
8987 * g-os_lib.ads: Minor reformatting
8988
8989 * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
8990 wrong in any case. Instead use standard value. Noticed during code
8991 reading.
8992
8993 * opt.ads (Max_Line_Length): New field, used to implement removal of
8994 limitation on length of lines when scanning config pragma files.
8995
8996 * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
8997 makeutl.ads, makeutl.adb: Minor reformatting
8998
8999 * scn.adb: Do not check line length while scanning config pragma files
9000 Do not check line length while scanning out license information
9001
9002 * scng.adb: Changes to avoid line length checks while parsing config
9003 pragma files.
9004
9005 2004-05-10 GNAT Script <nobody@gnat.com>
9006
9007 * Make-lang.in: Makefile automatically updated
9008
9009 2004-05-05 Arnaud Charlet <charlet@act-europe.fr>
9010
9011 * osint.adb (Find_Program_Name): Fix handling of VMS version
9012 number.
9013
9014 2004-05-05 Emmanuel Briot <briot@act-europe.fr>
9015
9016 * g-os_lib.ads (Invalid_Time): New constant
9017
9018 * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
9019 return OS_Time instead of time_t to match what is imported by Ada.
9020 Now return -1 if the file doesn't exist, instead of a random value
9021
9022 2004-05-05 Robert Dewar <dewar@gnat.com>
9023
9024 * usage.adb: Add line for -gnatR?s switch
9025
9026 * sem_ch13.adb, exp_ch2.adb: Minor reformatting
9027
9028 * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
9029 and for Match (Data_First, Data_last)
9030
9031 * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
9032 written when we are dealing with multi-unit files.
9033
9034 2004-05-05 Jerome Guitton <guitton@act-europe.fr>
9035
9036 * Makefile.in: Remove unused targets and variables.
9037
9038 2004-05-05 Vincent Celier <celier@gnat.com>
9039
9040 * switch-m.adb: New gnatmake switch -eI
9041
9042 * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
9043 of new gnatmake switch -eInnn.
9044
9045 * makegpr.adb: Take into account new parameters Index and Src_Index in
9046 Prj.Util.
9047
9048 * clean.adb: Implement support for multi-unit sources, including new
9049 switch -i.
9050
9051 * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
9052 Src_Index.
9053
9054 * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
9055 (Extract_From_Q): New out parameter Index
9056 (Mark, Is_Marked): Subprograms moved to Makeutl
9057 (Switches_Of): New parameter Source_Index
9058 (Add_Switch): New parameter Index
9059 (Check): New parameter Source_Index
9060 (Collect_Arguments): New parameter Source_Index
9061 (Collect_Arguments_And_Compile): New parameter Source_Index
9062 (Compile): New parameter Source_Index
9063 Put subprograms in alphabetical order
9064 Add support for multi-source sources, including in project files.
9065
9066 * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
9067 (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
9068 Make.
9069
9070 * makeusg.adb: New gnatmake switch -eInnn
9071
9072 * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
9073 Prj.Util.Value_Of.
9074
9075 * opt.ads (Main_Index): New variable, defaulted to 0.
9076
9077 * osint.ads, osinte.adb (Add_File): New parameter Index
9078 (Current_Source_Index): New function
9079
9080 * prj.adb: Take into account new components Index and Src_Index
9081
9082 * prj.ads (String_Element): New component Index
9083 (Variable_Value): New component Index
9084 (Array_Element): New component Src_Index
9085
9086 * prj-attr.adb: Indicate that optional index may be specified for
9087 attributes Main, Executable, Spec, Body and some of Switches.
9088
9089 * prj-attr.ads (Attribute_Kind): New values for optional indexes
9090 (Attribute_Record): New component Optional_Index
9091
9092 * prj-com.ads (File_Name_Data): New component Index
9093
9094 * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
9095
9096 * prj-env.adb (Put): Output optional index
9097
9098 * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
9099 attributes Spec and Body.
9100
9101 * prj-nmsc.adb: Process optional indexes
9102
9103 * prj-pp.adb: Ouput "at" for optional indexes
9104
9105 * prj-proc.adb: Take into account optional indexes
9106
9107 * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
9108 Optional_Index. For string literal,
9109 process optional index when Optional_Index is True.
9110 (Parse_Expresion): New Boolean parameter Optional_Index
9111
9112 * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
9113 (Set_Source_Index_Of): New procedure
9114
9115 * prj-util.adb (Executable_Of, Value_Of): Take into account optional
9116 index.
9117
9118 * prj-util.ads (Executable_Of): New parameter Index
9119 (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
9120 New parameter Src_Index, defaulted to 0.
9121
9122 2004-05-05 Ed Schonberg <schonberg@gnat.com>
9123
9124 PR ada/15257
9125 * sem_ch3.adb (Access_Definition): If this is an access parameter
9126 whose designated type is imported through a limited_with clause, do
9127 not add the enclosing subprogram to the list of private dependents of
9128 the type.
9129
9130 2004-05-05 Ed Schonberg <schonberg@gnat.com>
9131
9132 PR ada/15258
9133 * sem_ch6.adb (Base_Types_Match): True if one type is imported through
9134 a limited_with clause, and the other is its non-limited view.
9135
9136 2004-05-05 Thomas Quinot <quinot@act-europe.fr>
9137
9138 * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
9139
9140 * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
9141 exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
9142 Stand.Boolean_Literals to produce references to entities
9143 Standard_False and Standard_True from compile-time computed boolean
9144 values.
9145
9146 * stand.ads (Boolean_Literals): New variable, provides the entity
9147 values for False and True, for use by the expander.
9148
9149 2004-05-05 Doug Rupp <rupp@gnat.com>
9150
9151 * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
9152 5vinmaop.adb: Unchecked convert Short_Address vice Address
9153
9154 * adaint.c, raise.c: Caste CRTL function return value
9155 to avoid gcc error on 32/64 bit IVMS.
9156
9157 * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
9158 target = IA64/VMS.
9159
9160 * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
9161
9162 * 5qsystem.ads (Address): Declare as Long_Integer
9163 (Short_Address): Declare as 32 bit subtype of Address
9164 Declare abstract address operations to avoid gratuitous ambiguities.
9165
9166 2004-05-05 Jose Ruiz <ruiz@act-europe.fr>
9167
9168 * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
9169 instead of the old Boolean_Entry_Barriers.
9170 Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
9171
9172 2004-05-05 GNAT Script <nobody@gnat.com>
9173
9174 * Make-lang.in: Makefile automatically updated
9175
9176 2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
9177
9178 * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
9179
9180 2004-05-03 Olivier Hainque <hainque@act-europe.fr>
9181
9182 PR ada/15152
9183
9184 * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
9185 alone. Replacing object references by literals is inappropriate in a
9186 so low level context.
9187
9188 2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
9189
9190 * a-exexpr.adb: Add comments
9191
9192 2004-05-03 Joel Brobecker <brobecker@gnat.com>
9193
9194 * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
9195 declare the Ancestor_Tags array in Type_Specific_Data with a small size
9196 without risking a bounds check error when accessing one of its
9197 components.
9198 (Type_Specific_Data): Define Ancestor_Tags as a small array.
9199 This prevents us from hitting a limitation during the debug info
9200 generation when using stabs.
9201
9202 * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
9203 small array.
9204 This prevents us from hitting a limitation during the debug info
9205 generation when using stabs.
9206
9207 2004-05-03 Eric Botcazou <ebotcazou@act-europe.fr>
9208
9209 lang-specs.h: Remove -gnatz* from specs.
9210
9211 2004-05-03 Vincent Celier <celier@gnat.com>
9212
9213 * gprmake.adb, makegpr.ads, makegpr.adb: New files.
9214
9215 * Make-lang.in, Makefile.in: Add gprmake
9216
9217 2004-05-03 Thomas Quinot <quinot@act-europe.fr>
9218
9219 * sem_aggr.adb: Fix typo in comment.
9220
9221 2004-05-03 Robert Dewar <dewar@gnat.com>
9222
9223 * make.adb: Minor reformatting
9224
9225 * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
9226
9227 * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
9228 so that it works when address is not a private type.
9229
9230 * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
9231 properly with rewritten unchecked conversions. This prevents
9232 order-of-elaboration issues that can otherwise arise.
9233 (Minimum_Size): Don't check size of access types under VMS
9234
9235 * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
9236 interpretations of integer literals as type System.Address.
9237
9238 * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
9239 (Is_Descendent_Of): New function
9240
9241 2004-05-03 Jose Ruiz <ruiz@act-europe.fr>
9242
9243 * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
9244 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
9245 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
9246
9247 * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
9248 of the old Max_Entry_Queue_Depth.
9249
9250 * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
9251 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
9252 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
9253
9254 * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
9255 New entry for proper handling of Max_Entry_Queue_Depth.
9256 New entry for proper handling of No_Dynamic_Interrupts.
9257
9258 * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
9259 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
9260 Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
9261 the GNAT specific restriction Max_Entry_Queue_Depth.
9262 Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
9263 the GNAT specific restriction No_Dynamic_Interrupts.
9264
9265 * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
9266 instead of the old Boolean_Entry_Barriers.
9267 Use the new restriction No_Dynamic_Attachment instead of the old
9268 No_Dynamic_Interrupts.
9269
9270 * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
9271 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
9272
9273 * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
9274 of the old Max_Entry_Queue_Depth.
9275
9276 2004-05-03 GNAT Script <nobody@gnat.com>
9277
9278 * Make-lang.in: Makefile automatically updated
9279
9280 2004-04-29 Ed Schonberg <schonberg@gnat.com>
9281
9282 * checks.adb (Enable_Range_Check): If the prefix of an index component
9283 is an access to an unconstrained array, perform check unconditionally.
9284
9285 2004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9286
9287 * decl.c (gnat_to_gnu_field): Also call make_packable_type if
9288 Component_Clause.
9289
9290 2004-04-29 Olivier Hainque <hainque@act-europe.fr>
9291
9292 * init.c (__gnat_install_handler, __gnat_error_handler): Remove
9293 alternate stack setting. There was no support for the tasking cases
9294 and the changes eventually caused a number of side-effect failures in
9295 the non-tasking case too.
9296
9297 2004-04-29 Eric Botcazou <ebotcazou@act-europe.fr>
9298
9299 lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
9300 -gnats is passed.
9301
9302 2004-04-29 Vincent Celier <celier@gnat.com>
9303
9304 * make.adb (Gnatmake): Increase max size of argument array for
9305 gnatbind for the potential addition of -F.
9306 If there are Stand-Alone Library projects, invoke gnatbind with -F to
9307 be sure that elaboration flags will be checked.
9308
9309 * switch-c.adb: Correct call to Scan_Pos for -gnateI
9310
9311 2004-04-29 Thomas Quinot <quinot@act-europe.fr>
9312
9313 * sem_warn.adb (Check_References): Move '<access-variable> may be
9314 null' warning out of under Warn_On_No_Value_Assigned.
9315
9316 2004-04-29 Ed Falis <falis@gnat.com>
9317
9318 * gnat_ugn.texi: Fixed texi error
9319
9320 2004-04-29 Robert Dewar <dewar@gnat.com>
9321
9322 * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
9323 abstract operations if they come from predefined files.
9324
9325 * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
9326 Dynamic, not RM).
9327
9328 * s-addope.adb: Correct obvious error in mod function
9329
9330 2004-04-28 Andrew W. Reynolds <awreynolds@mac.com>
9331
9332 * Makefile.in: Add target pairs for powerpc darwin*
9333 tasking support.
9334
9335 * a-intnam-darwin.ads, s-osinte-darwin.adb,
9336 s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
9337
9338 2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
9339
9340 * Makefile.in: Add target macro definitions for s390*-linux*.
9341 * system-linux-s390.ads: New file.
9342 * system-linux-s390x.ads: New file.
9343
9344 2004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
9345
9346 * gnat_ugn.texi: Correct argument to @setfilename.
9347
9348 2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
9349
9350 * a-exexpr.adb (Unwind_Word): New data type.
9351 (Unwind_Exception): Use it as type of Private1 and Private2.
9352
9353 * raise.c (db_action_for): Fix debug printf.
9354
9355 2004-04-27 Ed Schonberg <schonberg@gnat.com>
9356
9357 * a-wtmoio.ads: Formal type must be a modular type, not a signed
9358 integer type.
9359
9360 2004-04-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9361
9362 * decl.c (gnat_to_gnu_entity, case object): Call
9363 __builtin_update_setjmp_buf.
9364
9365 * gigi.h (update_setjmp_buf): Deleted.
9366 (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
9367
9368 * misc.c: (update_setjmp_buf): Deleted.
9369
9370 * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
9371 around block of RTL.
9372
9373 * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
9374
9375 2004-04-26 Thomas Quinot <quinot@act-europe.fr>
9376
9377 * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
9378 subprogram for which no pragma All_Calls_Remote applies, store the
9379 address of the real subprogram in the underlying record type, so local
9380 dereferences do not go through the PCS.
9381
9382 2004-04-26 Robert Dewar <dewar@gnat.com>
9383
9384 * i-c.ads: Add some type qualifications to avoid ambiguities when
9385 compiling with s-auxdec.ads and a non-private address type.
9386
9387 2004-04-26 Arnaud Charlet <charlet@act-europe.fr>
9388
9389 * Makefile.rtl: Fix error in previous check-in:
9390 Add s-addope.o to non tasking object list (rather than tasking object
9391 list).
9392
9393 2004-04-26 Javier Miranda <miranda@gnat.com>
9394
9395 * sem_aggr.adb: Fix typo in comments
9396 (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
9397 Required to check the null-exclusion attribute.
9398
9399 * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
9400 case of anonymous access types in record and array components. For a
9401 component definition the level is the same of the enclosing composite
9402 type.
9403
9404 * sem_ch3.adb (Analyze_Component_Declaration): In case of components
9405 that are anonymous access types the level of accessibility depends on
9406 the enclosing type declaration. In order to have this information, set
9407 the scope of the anonymous access type to the enclosing record type
9408 declaration.
9409 (Array_Type_Declaration): In case of components that are anonymous
9410 access types the level of accessibility depends on the enclosing type
9411 declaration. In order to have this information, set the scope of the
9412 anonymous access type to the enclosing array type declaration.
9413
9414 * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
9415 access type.
9416
9417 * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
9418 renaming of anonymous access-to-constant types allowed if and only if
9419 the renamed object is access-to-constant.
9420
9421 * sem_util.adb (Type_Access_Level): In case of anonymous access types
9422 that are component_definition or discriminants of a nonlimited type,
9423 the level is the same as that of the enclosing component type.
9424
9425 2004-04-26 Sergey Rybin <rybin@act-europe.fr>
9426
9427 * sem_elim.adb: Some minor code reorganization from code reading. Fix
9428 misprint in the function name (File_Name_Match).
9429
9430 2004-04-23 Laurent GUERBY <laurent@guerby.net>
9431
9432 * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
9433 install.
9434
9435 2004-04-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9436
9437 * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
9438
9439 2004-04-23 Emmanuel Briot <briot@act-europe.fr>
9440
9441 * adaint.c (__gnat_try_lock): No longer requires that the parent
9442 directory be writable, the directory itself is enough.
9443 (gnat_is_absolute_path): Change profile, so that the call from
9444 GNAT.OS_Lib can be made more efficient.
9445
9446 * adaint.h (gnat_is_absolute_path): Change profile, so that the call
9447 from GNAT.OS_Lib can be made more efficient.
9448
9449 * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
9450 one copy of the file name. Found by code reading.
9451
9452 2004-04-23 Vincent Celier <celier@gnat.com>
9453
9454 * gnat_ugn.texi: Add documentation for gnatmake switch -eL
9455 Correct documentation on gnatmake switches transmitted to the compiler
9456
9457 * ali.ads: Minor comment fix
9458
9459 2004-04-23 Javier Miranda <miranda@gnat.com>
9460
9461 * sem_ch6.adb: (Confirming Types): Code cleanup
9462
9463 * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
9464 subprogram types: E_Anonymous_Access_Subprogram_Type and
9465 E_Anonymous_Access_Protected_Subprogram_Type.
9466
9467 2004-04-23 Thomas Quinot <quinot@act-europe.fr>
9468
9469 * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
9470 whether a pragma All_Calls_Remote applies to the subprogram on which
9471 'Access is taken.
9472 No functional change is introduced by this revision; the new parameter
9473 will be used to allow calls to local RCI subprograms to be optimized
9474 to not use the PCS in the case where no pragma All_Calls_Remote applies,
9475 as is already done in the PolyORB implementation of the DSA.
9476
9477 * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
9478 whether a pragma All_Calls_Remote applies to the subprogram on which
9479 'Access is taken.
9480 No functional change is introduced by this revision; the new parameter
9481 will be used to allow calls to local RCI subprograms to be optimized
9482 to not use the PCS in the case where no pragma All_Calls_Remote applies,
9483 as is already done in the PolyORB implementation of the DSA.
9484
9485 2004-04-23 Robert Dewar <dewar@gnat.com>
9486
9487 * Makefile.rtl: Add entry for s-addope.o in run time library list
9488 * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
9489 * s-addope.ads, s-addope.adb: New files.
9490
9491 * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
9492 s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
9493 s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
9494 System.Address to be non-private and signed.
9495
9496 * sem_elim.adb: Minor reformatting (fairly extensive)
9497 Some minor code reorganization from code reading
9498 Add a couple of ??? comments
9499
9500 2004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9501
9502 * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
9503 (tree_transform, case N_If_Statement): Remove non-determinism.
9504
9505 * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
9506
9507 2004-04-23 Sergey Rybin <rybin@act-europe.fr>
9508
9509 * gnat_rm.texi: Small fixes in the changes made in the 'pragma
9510 Eliminate' section.
9511
9512 * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
9513 no longer used as a parameter name for Eliminate pragma).
9514
9515 2004-04-22 Laurent GUERBY <laurent@guerby.net>
9516
9517 PR optimization/14984
9518 PR optimization/14985
9519 * trans.c (gigi): Fix non determinism leading to bootstrap
9520 comparison failures.
9521
9522 2004-04-21 Pascal Obry <obry@gnat.com>
9523
9524 * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
9525 passed to spawnvp() to properly handle program pathname with spaces on
9526 Win32.
9527
9528 2004-04-21 Emmanuel Briot <briot@act-europe.fr>
9529
9530 * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
9531 (Allocate, Deallocate, Free_Physically): Make sure the tasks are
9532 unlocked in case of exceptions.
9533
9534 2004-04-21 Joel Brobecker <brobecker@gnat.com>
9535
9536 * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
9537 This function does not exist anymore.
9538
9539 2004-04-21 Thomas Quinot <quinot@act-europe.fr>
9540
9541 * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
9542
9543 * link.c: Move variables to the __gnat name space.
9544
9545 * Makefile.in: list link.o explicitly when needed.
9546
9547 * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
9548
9549 2004-04-21 Javier Miranda <miranda@gnat.com>
9550
9551 * einfo.adb (Original_Access_Type): New subprogram
9552 (Set_Original_Access_Type): New subprogram
9553 (Write_Field21_Name): Write the name of the new field
9554
9555 * einfo.ads (Original_Access_Type): New field present in access to
9556 subprogram types.
9557 Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
9558 E_Anonymous_Access_Protected_Subprogram_Type.
9559
9560 * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
9561 subprogram types.
9562
9563 * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
9564 to anonymous access to subprogram types.
9565
9566 * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
9567 to subprogram types.
9568
9569 * sem_ch3.adb (Access_Definition): Complete decoration of entities
9570 corresponding to anonymous access to subprogram types.
9571 (Analyze_Component_Declaration): Add new actual to the call to
9572 subprogram replace_anonymous_access_to_protected_subprogram.
9573 (Array_Type_Declaration): Add new actual to the call to subprogram
9574 replace_anonymous_access_to_protected_subprogram.
9575 (Process_Discriminants): Add new actual to the call to subprogram
9576 replace_anonymous_access_to_protected_subprogram.
9577 (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
9578
9579 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
9580 formal.
9581
9582 * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
9583 access to subprogram types.
9584
9585 * sem_util.adb (Has_Declarations): Addition of package_specification
9586 nodes.
9587
9588 2004-04-21 Ed Schonberg <schonberg@gnat.com>
9589
9590 * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
9591 inlined flags to renamed entity only if in current unit.
9592
9593 2004-04-21 Thomas Quinot <quinot@act-europe.fr>
9594
9595 * s-parint.ads: Add DSA implementation marker.
9596
9597 * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
9598 value of System.Partition_Interface.DSA_Implementation to determine
9599 what version of the distributed systems annex is available (no
9600 implementation, GLADE, or PolyORB).
9601
9602 2004-04-21 Joel Brobecker <brobecker@gnat.com>
9603
9604 * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
9605
9606 2004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9607
9608 * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
9609 with new type if alias sets differ.
9610 Fixes ACATS c41103b.
9611
9612 2004-04-21 Vincent Celier <celier@gnat.com>
9613
9614 * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
9615 Add array Lang_Args for the language specific compiling argument
9616 switches.
9617
9618 * gnat_ugn.texi: Explain in more details when a library is rebuilt.
9619
9620 2004-04-21 Sergey Rybin <rybin@act-europe.fr>
9621
9622 * gnat_rm.texi: Update the descripton of the Eliminate pragma
9623 according to the recent changes in the format of the parameters of the
9624 pragma (replacing Homonym_Number with Source_Location).
9625
9626 2004-04-19 Arnaud Charlet <charlet@act-europe.fr>
9627
9628 * 5isystem.ads: Removed, unused.
9629
9630 * gnat_rm.texi: Redo 1.13 change.
9631
9632 2004-04-19 Robert Dewar <dewar@gnat.com>
9633
9634 * s-stoele.ads: Clean up definition of Storage_Offset (the new
9635 definition is cleaner, avoids the kludge of explicit Standard operator
9636 references, and also is consistent with a visible System.Address with
9637 no visible operations.
9638
9639 * s-geveop.adb: Add declarations to avoid assumption of visible
9640 operations on type System.Address (since these might not be available
9641 if Address is a non-private type for which the operations
9642 are made abstract).
9643
9644 * sem_eval.adb: Minor reformatting
9645
9646 * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
9647 s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
9648 reformatting (new function spec format).
9649
9650 * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
9651 s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
9652 s-caun64.adb: Add declarations to avoid assumption of visible
9653 operations on type System.Address (since these might not be available
9654 if Address is a non-private type for which the operations are made
9655 abstract).
9656
9657 * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
9658
9659 * exp_intr.adb: Minor comment update
9660
9661 * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
9662
9663 * 5omastop.adb: Add declarations to avoid assumption of visible
9664 operations on type System.Address (since these might not be available
9665 if Address is a non-private type for which the operations
9666 are made abstract).
9667
9668 2004-04-19 Vincent Celier <celier@gnat.com>
9669
9670 * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
9671
9672 * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
9673 defaulted to Ada.
9674
9675 * prj-proc.adb (Process): New Boolean parameter Process_Languages,
9676 defaulted to Ada.
9677 Call Check with Process_Languages.
9678 (Check): New Boolean parameter Process_Languages. Call Recursive_Check
9679 with Process_Languages.
9680 (Recursive_Check): New Boolean parameter Process_Languages. Call
9681 Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
9682 Process_Languages.
9683
9684 * prj-proc.ads (Process): New Boolean parameter Process_Languages,
9685
9686 * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
9687 parameter Ada_Main, defaulted to True.
9688 Check for Ada specific characteristics only when Ada_Main is True.
9689
9690 * opt.ads: (Follow_Links): New Boolean flag for gnatmake
9691
9692 * prj.adb: (Project_Empty): Add new Project_Data components.
9693
9694 * prj.ads: New types and tables for non Ada languages.
9695 (Project_Data): New components Languages, Impl_Suffixes,
9696 First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
9697 Include_Path, Include_Data_Set.
9698
9699 * prj-env.ads, prj-env.adb: Minor reformatting
9700
9701 * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
9702 Put subprograms in alphabetical order
9703
9704 * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
9705 defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
9706 Opt.Follow_Links.
9707
9708 * mlib-prj.adb: Back out modification in last version, as they are
9709 incorrect.
9710 (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
9711
9712 * make.adb: (Mains): Moved to package Makeutl
9713 (Linker_Opts): Moved to package Makeutl
9714 (Is_External_Assignment): Moved to package Makeutl
9715 (Test_If_Relative_Path): Moved to package Makeutl
9716 (Gnatmake): Move sorting of linker options to function
9717 Makeutl.Linker_Options_Switches.
9718
9719 * makeutl.ads, makeutl.adb: New files.
9720
9721 * Makefile.in: Add makeutl.o to the object files for gnatmake
9722
9723 * makeusg.adb: Add line for new switch -eL.
9724
9725 * gnatls.adb (Image): New function.
9726 (Output_Unit): If in verbose mode, output the list of restrictions
9727 specified by pragmas Restrictions.
9728
9729 * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
9730 Text_IO.
9731
9732 * a-calend.adb (Split): Shift the date by multiple of 56 years, if
9733 needed, to put it in the range 1970 (included) - 2026 (excluded).
9734 (Time_Of): Do not shift Unix_Min_Year (1970).
9735 Shift the date by multiple of 56 years, if needed, to put it in the
9736 range 1970 (included) - 2026 (excluded).
9737
9738 * adaint.h, adaint.c (__gnat_set_executable): New function.
9739
9740 2004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9741
9742 * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
9743 and pop GC context.
9744 (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
9745 (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
9746 (tree_transform, case N_Procedure_Call_Statement): Build a tree.
9747 (tree_transform, case N_Code_Statement): Likewise.
9748 (gnat_expand_stmt, case LABEL_STMT): Don't look at
9749 LABEL_STMT_FIRST_IN_EH.
9750 (gnat_expand_stmt, case ASM_STMT): New case.
9751
9752 * utils2.c (build_unary_op): Properly set TREE_READONLY of
9753 UNCONSTRAINED_ARRAY_REF.
9754
9755 * utils.c (poplevel): Temporarily push/pop GC context around inline
9756 function expansion.
9757
9758 * decl.c (maybe_variable): Properly set TREE_READONLY of
9759 UNCONSTRAINED_ARRAY_REF.
9760 (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
9761
9762 * ada-tree.def: (ASM_STMT): New.
9763
9764 * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
9765 (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
9766 ASM_STMT_INPUT): New.
9767 (ASM_STMT_CLOBBER): Likewise.
9768
9769 2004-04-19 Thomas Quinot <quinot@act-europe.fr>
9770
9771 * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
9772 general rcheck mechanism to raise Program_Error for E.4(18), instead
9773 of a custom raiser in System.Partition_Interface.
9774 Part of general cleanup work before PolyORB integration.
9775
9776 * snames.ads, snames.adb: Add new runtime library entities and names
9777 for PolyORB DSA.
9778
9779 * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
9780 exp_dist.
9781 (Build_Subprogram_Id): New subprogram provided by exp_dist
9782 Code reorganisation in preparation for PolyORB integration.
9783
9784 * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
9785 exp_dist.
9786 (Build_Subprogram_Id): New subprogram provided by exp_dist
9787
9788 * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
9789 actual parameter types for call to dereference of an
9790 access-to-subprogram type.
9791
9792 * rtsfind.ads: Add new runtime library entities and names for PolyORB
9793 DSA.
9794
9795 * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
9796 instead, which has the same behaviour here since we never pass it a
9797 NULL pointer.
9798
9799 * link.c (run_path_option, Solaris case): Use -Wl, as for other
9800 platforms.
9801
9802 * Makefile.in: adjust object file lists for gnatlink and gnatmake
9803 to account for new dependency upon Interfaces.C.Strings + link.o
9804 For x86 FreeBSD, use 86numaux.
9805
9806 * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
9807 from Mlib.Tgt to Mlib.
9808
9809 * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
9810 target-independent.
9811
9812 * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
9813 target-specific versions of this subprogram, now implemented as a
9814 target-independent function in Mlib.
9815
9816 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
9817 5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
9818 (Linker_Library_Path_Option): Remove target-specific versions of this
9819 subprogram, now implemented as a target-independent function in Mlib.
9820
9821 * atree.adb: (Allocate_Initialize_Node): New subprogram.
9822 Factors out node table slots allocation.
9823 (Fix_Parents): New subprogram.
9824 Encapsulate the pattern of fixing up parent pointers for syntactic
9825 children of a rewritten node.
9826 (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
9827 (Rewrite): Use New_Copy when creating saved copy of original node.
9828 (Replace): Use Copy_Node to copy nodes.
9829
9830 2004-04-19 Javier Miranda <miranda@gnat.com>
9831
9832 * sprint.adb (Sprint_Node_Actual): Give support to the new
9833 Access_To_Subprogram node available in Access_Definition nodes. In
9834 addition, give support to the AI-231 node fields: null-exclusion,
9835 all-present, constant-present.
9836
9837 * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
9838
9839 * sinfo.ads, sinfo.adb:
9840 New field Access_To_Subprogram_Definition in Access_Definition nodes
9841
9842 * sem_ch6.adb (Process_Formals): Move here the code that creates and
9843 decorates internal subtype declaration corresponding to the
9844 null-excluding formal. This code was previously in Set_Actual_Subtypes.
9845 In addition, carry out some code cleanup on this code. In case of
9846 access to protected subprogram call
9847 Replace_Anonymous_Access_To_Protected_Subprogram.
9848 (Set_Actual_Subtypes): Code cleanup.
9849
9850 * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
9851 Find_Type in case of anonymous access renamings. Add warning in case of
9852 null-excluding attribute used in anonymous access renaming.
9853
9854 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
9855 subprogram
9856
9857 * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
9858 subprogram.
9859 (Access_Definition): In case of anonymous access to subprograms call
9860 the corresponding semantic routine to decorate the node.
9861 (Access_Subprogram_Declaration): Addition of some comments indicating
9862 some code that probably should be added here. Detected by comparison
9863 with the access_definition subprogram.
9864 (Analyze_Component_Declaration): In case of access to protected
9865 subprogram call Replace_Anonymous_Access_To_Protected.
9866 (Array_Type_Declaration): In case of access to protected subprogram call
9867 Replace_Anonymous_Access_To_Protected_Subprogram.
9868 (Process_Discriminants): In case of access to protected subprogram call
9869 Replace_Anonymous_Access_To_Protected_Subprogram.
9870
9871 * par.adb (P_Access_Definition): New formal that indicates if the
9872 null-exclusion part was present.
9873 (P_Access_Type_Definition): New formal that indicates if the caller has
9874 already parsed the null-excluding part.
9875
9876 * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
9877 (P_Identifier_Declarations): Code cleanup and give support to renamings
9878 of anonymous access to subprogram types.
9879 (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
9880 (P_Array_Type_Definition): Give support to AI-254.
9881 (P_Component_Items): Give support to AI-254.
9882 (P_Access_Definition): New formal that indicates if the header was
9883 already parsed by the caller.
9884 (P_Access_Type_Definition): New formal that indicates if the caller has
9885 already parsed the null-excluding part.
9886
9887 * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
9888 call to P_Access_Definition.
9889
9890 2004-04-19 Geert Bosch <bosch@gnat.com>
9891
9892 * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
9893 the delicate semantics of floating-point to integer conversion.
9894 (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
9895
9896 * eval_fat.adb (Machine_Mantissa): Moved to spec.
9897 (Machine_Radix): New function.
9898
9899 * eval_fat.ads (Machine_Mantissa): Moved from body for use in
9900 conversion checks.
9901 (Machine_Radix): New function also for use in conversion checks.
9902
9903 2004-04-19 Ed Schonberg <schonberg@gnat.com>
9904
9905 * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
9906
9907 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
9908 to decorate the access-to-protected subprogram and the equivalent type.
9909
9910 * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
9911 to anonymous access to subprogram types.
9912
9913 * exp_ch4.adb (Expand_N_In): Preserve Static flag before
9914 constant-folding, for legality checks in contexts that require an RM
9915 static expression.
9916
9917 * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
9918 temporary but stack checking is not enabled, increment serial number
9919 to so that symbol generation is consistent with and without stack
9920 checking.
9921
9922 * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
9923 independent on whether stack checking is enabled, caller must check
9924 the corresponding flag.
9925
9926 * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
9927 range checks.
9928 (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
9929 parent if it has discriminants.
9930 (Build_Derived_Private_Type): Constructed full view does
9931 not come from source.
9932 (Process_Discriminants): Default discriminants on a tagged type are
9933 legal if this is the internal completion of a private untagged
9934 derivation.
9935
9936 * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
9937 no constraint checks, because it corresponds to an existing object.
9938
9939 * sem_prag.adb (Process_Convention): Pragma applies
9940 only to subprograms in the same declarative part, i.e. the same unit,
9941 not the same scope.
9942
9943 * sem_res.adb (Valid_Conversion): In an instance or inlined body,
9944 ignore type mismatch on a numeric conversion if expression comes from
9945 expansion.
9946
9947 2004-04-19 Sergey Rybin <rybin@act-europe.fr>
9948
9949 * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
9950 Homonym_Number parameter, add processing for Source_Location parameter
9951 corresponding.
9952 (Check_Eliminated): Remove the check for homonym numbers, add the check
9953 for source location traces.
9954
9955 * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
9956 with Arg_Source_Location corresponding to the changes in the format of
9957 the pragma.
9958
9959 * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
9960 Eliminate pragma corresponding to the changes in the format of the
9961 pragma: Homonym_Number is replaced with Source_Location, two ways of
9962 distinguishing homonyms are mutially-exclusive.
9963
9964 2004-04-19 Joel Brobecker <brobecker@gnat.com>
9965
9966 * get_targ.ads (Get_No_Dollar_In_Label): Remove.
9967
9968 * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
9969 No_Dollar_In_Label, no longer necessary, as it is always True.
9970 (Strip_Suffixes): Likewise.
9971
9972 2004-04-19 Gary Dismukes <dismukes@gnat.com>
9973
9974 * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
9975 modulus for compatibility with size clause on targets with 16-bit
9976 Integer.
9977
9978 * layout.adb (Discrimify): In the case of private types, set Vtyp to
9979 full type to fix type mismatches on calls to size functions for
9980 discriminant-dependent array components.
9981
9982 2004-04-19 Jerome Guitton <guitton@act-europe.fr>
9983
9984 * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
9985 lib.
9986
9987 2004-04-19 Pascal Obry <obry@gnat.com>
9988
9989 * mdll-utl.adb (Locate): New version is idempotent.
9990
9991 2004-04-17 Laurent Guerby <laurent@guerby.net>
9992
9993 PR ada/14988 (partial)
9994 * impunit.adb: Fix typo.
9995
9996 2004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
9997
9998 * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
9999 and install-rts-cert targets. Remove all gnatlib and gnattools
10000 targets and all other rts-* targets (moved to libada). Remove (now)
10001 unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
10002 TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
10003
10004 2004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10005
10006 * trans.c (tree_transform): Shortcut returning error_mark_node for
10007 statements in annotate_only_mode.
10008 (tree_transform, case N_Label, case N_Return_Statement,
10009 N_Goto_Statement): Make statement tree instead of generating code.
10010 (tree_transform, case N_Assignment_Statement): No longer check
10011 type_annotate_only.
10012 (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
10013 RETURN_STMT): New.
10014 (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
10015 New fcns.
10016 (gnat_to_gnu): Collect any RTL generated and deal with it.
10017 (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
10018 (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
10019 (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
10020
10021 * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
10022
10023 * ada-tree.def (EXPR_STMT): Fix typo in name.
10024 (BLOCK_STMT, IF_STMT): New nodes.
10025
10026 * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
10027 LABEL_STMT_FIRST_IN_EH): New macros.
10028 (RETURN_STMT_EXPR): Likewise.
10029
10030 * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
10031 IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
10032
10033 2004-04-08 Thomas Quinot <quinot@act-europe.fr>
10034
10035 * atree.ads: Correct documentation on extended nodes.
10036
10037 * link.c: Set run_path_option for FreeBSD.
10038
10039 2004-04-08 Vincent Celier <celier@gnat.com>
10040
10041 * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
10042 one of the ALI file, do not link with DEC lib.
10043
10044 * par.adb Remove the last two characters ("%s" or "%b") when checking
10045 if a language defined unit may be recompiled.
10046
10047 2004-04-08 Ed Schonberg <schonberg@gnat.com>
10048
10049 * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
10050 removal of abstract operation leaves no possible interpretation for
10051 expression.
10052
10053 * sem_eval.adb (Eval_Qualified_Expression): Use
10054 Set_Raises_Constraint_Error on node when needed, so that it does not
10055 get optimized away by subsequent optimizations.
10056
10057 * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
10058 operands even when they are not wrapped in a type conversion.
10059
10060 2004-04-08 Olivier Hainque <hainque@act-europe.fr>
10061
10062 * sem_prag.adb (Set_Exported): Warn about making static as result of
10063 export only when the export is coming from source. This may be not
10064 be true e.g. on VMS where we expand export pragmas for exception codes
10065 together with imported or exported exceptions, and we don't want the
10066 user to be warned about something he didn't write.
10067
10068 2004-04-08 Thomas Quinot <quinot@act-europe.fr>
10069
10070 * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
10071 duplication between normal entities and those declared as renamings.
10072 No functional change.
10073
10074 * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
10075 inline functions returning an unconstrained result.
10076
10077 2004-04-08 Eric Botcazou <ebotcazou@act-europe.fr>
10078
10079 * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
10080 conform to what other front-ends do.
10081
10082 2004-04-08 Doug Rupp <rupp@gnat.com>
10083
10084 * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
10085 libraries.
10086
10087 2004-04-06 Pascal Obry <obry@gnat.com>
10088
10089 * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
10090
10091 * osint.adb (Program_Name): Do not look past a directory separator.
10092
10093 2004-04-06 Thomas Quinot <quinot@act-europe.fr>
10094
10095 * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
10096
10097 * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
10098 requirement for preserving a copy of the original assignment node.
10099
10100 * sinfo.ads: Update comment (Original_Tree -> Original_Node).
10101
10102 2004-04-06 Olivier Hainque <hainque@act-europe.fr>
10103
10104 (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
10105 when supported.
10106
10107 2004-04-06 Ed Schonberg <schonberg@gnat.com>
10108
10109 * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
10110 operator calls in functional notation, and apply
10111 Universal_Interpretation to operands, not to their type.
10112
10113 2004-04-06 Robert Dewar <dewar@gnat.com>
10114
10115 * 5wdirval.adb: Minor reformatting
10116
10117 2004-04-06 Ed Falis <falis@gnat.com>
10118
10119 * gnat_rm.texi: Improve a reference to the GCC manual
10120
10121 2004-04-05 Vincent Celier <celier@gnat.com>
10122
10123 * adaint.h, adaint.c: Add function __gnat_named_file_length
10124
10125 * impunit.adb: Add Ada.Directories to the list
10126
10127 * Makefile.in: Add VMS and Windows versions of
10128 Ada.Directories.Validity package body.
10129
10130 * Makefile.rtl: Add a-direct and a-dirval
10131
10132 * mlib-tgt.ads: Minor comment update.
10133
10134 * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
10135 a-direct.ads, a-direct.adb: New files.
10136
10137 2004-04-05 Vincent Celier <celier@gnat.com>
10138
10139 PR ada/13620
10140 * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
10141 just to the compiler.
10142
10143 2004-04-05 Robert Dewar <dewar@gnat.com>
10144
10145 * a-except.adb (Exception_Name_Simple): Make sure lower bound of
10146 returned string is 1.
10147
10148 * ali-util.adb: Use proper specific form for Warnings (Off, entity)
10149
10150 * eval_fat.ads: Minor reformatting
10151
10152 * g-curexc.ads: Document that lower bound of returned string values
10153 is always one.
10154
10155 * gnatlink.adb: Add ??? comment for previous change
10156 (need to document why this is VMS specific)
10157
10158 * s-stoele.ads: Minor reformatting
10159
10160 * tbuild.ads: Minor reformatting throughout (new function specs)
10161
10162 * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
10163 after WITH.
10164
10165 * scng.adb: Minor reformatting
10166
10167 2004-04-05 Geert Bosch <bosch@gnat.com>
10168
10169 * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
10170 (Leading_Part): Still perform truncation to machine number if the
10171 specified radix_digits is greater or equal to machine_mantissa.
10172
10173 2004-04-05 Javier Miranda <miranda@gnat.com>
10174
10175 * par-ch3.adb: Complete documentation of previous change
10176 Correct wrong syntax documentation of the OBJECT_DECLARATION rule
10177 (aliased must appear before constant).
10178
10179 * par-ch4.adb: Complete documentation of previous change.
10180
10181 * par-ch6.adb: Complete documentation of previous change.
10182
10183 * sinfo.ads: Fix typo in commment.
10184
10185 2004-04-05 Ed Schonberg <schonberg@gnat.com>
10186
10187 * sem_ch3.adb (Inherit_Components): If derived type is private and has
10188 stored discriminants, use its discriminants to constrain parent type,
10189 as is done for non-private derived record types.
10190
10191 * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
10192 Ada 2005 AI-310: an abstract non-dispatching operation is not a
10193 candidate interpretation in an overloaded call.
10194
10195 * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
10196 expression is Null and target type is not an access type (e.g. a
10197 non-private address type).
10198
10199 2004-04-05 Thomas Quinot <quinot@act-europe.fr>
10200
10201 * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
10202 statement whose right-hand side is an inlined call, save a copy of the
10203 original assignment subtree to preserve enough consistency for
10204 Analyze_Assignment to proceed.
10205
10206 * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
10207 complete assignment subtree which is now unnecessary, as the expansion
10208 of inlined call has been improved to preserve a consistent assignment
10209 tree. Note_Possible_Modification must be called only
10210 after checks have been applied, or else unnecessary checks will
10211 be generated.
10212
10213 * sem_util.adb (Note_Possible_Modification): Reorganise the handling
10214 of explicit dereferences that do not Come_From_Source:
10215 - be selective on cases where we must go back to the dereferenced
10216 pointer (an assignment to an implicit dereference must not be
10217 recorded as modifying the pointer);
10218 - do not rely on Original_Node being present (Analyze_Assignment
10219 calls Note_Possible_Modification on a copied tree).
10220
10221 * sem_warn.adb (Check_References): When an unset reference to a pointer
10222 that is never assigned is encountered, prefer '<pointer> may be null'
10223 warning over '<pointer> is never assigned a value'.
10224
10225 2004-04-05 Ramon Fernandez <fernandez@gnat.com>
10226
10227 * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
10228 the ABI.
10229
10230 2004-04-05 Olivier Hainque <hainque@act-europe.fr>
10231
10232 * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
10233 libexc. We currently don't reference anything in this library and
10234 linking it in triggers linker warnings we don't want to see.
10235
10236 * init.c: Update comments.
10237
10238 2004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10239
10240 * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
10241 * utils.c (create_field_decl): Likewise.
10242 * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
10243
10244 2004-04-02 Arnaud Charlet <charlet@act-europe.fr>
10245
10246 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
10247 Replace ifinfo by ifnottex, to make makeinfo --html happy again.
10248 Add info directory entry and category.
10249
10250 2004-04-02 Jan Hubicka <jh@suse.cz>
10251
10252 * utils.c: Include function.h
10253 (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
10254
10255 2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
10256
10257 PR ada/14150
10258 * Make-lang.in: Clean up generation of documentation
10259
10260 * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
10261
10262 * xgnatug.adb: Removed, replaced by xgnatugn.adb
10263
10264 * xgnatugn.adb: Replaces xgnatug.adb
10265
10266 * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
10267
10268 * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
10269
10270 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10271 gnat_ug_wnt.texi: Removed.
10272
10273 2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
10274
10275 * utils2.c: Update copyright notice.
10276
10277 2004-04-01 Robert Dewar <dewar@gnat.com>
10278
10279 * checks.adb: Minor reformatting throughout
10280 Note that prev checkin added RM reference to alignment warning
10281
10282 2004-04-01 Ed Schonberg <schonberg@gnat.com>
10283
10284 * exp_aggr.adb (Get_Component_Val): Treat a string literal as
10285 non-static when building aggregate for bit-packed array.
10286
10287 * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
10288 function call that is itself the actual in a procedure call, build
10289 temporary for it.
10290
10291 * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
10292 a string literal, create a temporary for it, constant folding only
10293 handles scalars here.
10294
10295 2004-04-01 Vincent Celier <celier@gnat.com>
10296
10297 * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
10298 Error_Msg_SP): New empty procedures to instantiate the Scanner.
10299 (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
10300 tokens.
10301 (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
10302 (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
10303 and get the checksum.
10304
10305 * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
10306 already in the Q.
10307 Increase the Marking_Label at the end of the Multiple_Main_Loop,
10308 instead of at the beginning.
10309
10310 * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
10311 directly.
10312 (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
10313 on VMS.
10314
10315 * osint.ads (Multi_Unit_Index_Character): New Character global variable
10316
10317 * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
10318 not '~' directly.
10319
10320 * par.adb: Remove test on file name to detect language defined units.
10321 Add test on unit name, after parsing, to detect language defined units
10322 that are not compiled with -gnatg (except System.RPC and its children)
10323
10324 * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
10325 following units without style checking.
10326
10327 * switch-c.adb: Change -gnatC to -gnateI
10328
10329 * usage.adb: Document new switch -gnateInnn
10330
10331 * scng.adb (Accumulate_Token_Checksum): New procedure
10332 (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
10333 word or literal number.
10334 (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
10335 numbers.
10336
10337 2004-04-01 Thomas Quinot <quinot@act-europe.fr>
10338
10339 * a-tasatt.adb,
10340 g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
10341 switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
10342 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
10343 5vtpopde.adb: Add missing 'constant' keywords.
10344
10345 2004-04-01 Javier Miranda <miranda@gnat.com>
10346
10347 * par-ch4.adb: (P_Allocator): Code cleanup
10348
10349 * sem_ch3.adb (Access_Definition): Properly set the null-excluding
10350 attribute.
10351
10352 * sinfo.ads: Complete documentation of previous change
10353
10354 2004-04-01 Pascal Obry <obry@gnat.com>
10355
10356 * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
10357 only on VMS. This special handling was done because an old GNU/ld bug
10358 on Windows which has been fixed.
10359
10360 2004-04-01 GNAT Script <nobody@gnat.com>
10361
10362 * Make-lang.in: Makefile automatically updated
10363
10364 2004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10365
10366 * decl.c (gnat_to_gnu_entity, make_type_from_size):
10367 Use TYPE_UNSIGNED, not TREE_UNSIGNED.
10368 * trans.c (tree_transform, convert_with_check): Likewise.
10369 * utils.c (gnat_signed_or_unsigned_type): Likewise.
10370 (build_vms_descriptor, unchecked_convert): Likewise.
10371 * utils2.c (nonbinary_modular_operation): Likewise.
10372
10373 2004-03-29 Javier Miranda <miranda@gnat.com>
10374
10375 * checks.adb (Null_Exclusion_Static_Checks): New subprogram
10376 (Install_Null_Excluding_Check): Local subprogram that determines whether
10377 an access node requires a runtime access check and if so inserts the
10378 appropriate run-time check.
10379 (Apply_Access_Check): Call Install_Null_Excluding check if required
10380 (Apply_Constraint_Check): Call Install_Null_Excluding check if required
10381
10382 * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
10383
10384 * einfo.ads: Fix typo in comment
10385
10386 * exp_ch3.adb (Build_Assignment): Generate conversion to the
10387 null-excluding type to force the corresponding run-time check.
10388 (Expand_N_Object_Declaration): Generate conversion to the null-excluding
10389 type to force the corresponding run-time check.
10390
10391 * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
10392 the null-excluding type to force the corresponding run-time check.
10393
10394 * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
10395 case of access types unless they have the null-excluding attribute.
10396
10397 * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
10398 part.
10399
10400 * exp_util.ads: Fix typo in comment
10401
10402 * par.adb (P_Null_Exclusion): New subprogram
10403 (P_Subtype_Indication): New formal that indicates if the null-excluding
10404 part has been scanned-out and it was present
10405
10406 * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
10407
10408 * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
10409 (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
10410 type to force the corresponding run-time check
10411 (Resolve_Aggregate): Propagate the null-excluding attribute to the array
10412 components
10413 (Resolve_Array_Aggregate): Carry out some static checks
10414 (Resolve_Record_Aggregate.Get_Value): Carry out some static check
10415
10416 * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
10417 attribute must be set only if specified by means of the null-excluding
10418 part. In addition, we must also propagate the access-constant attribute
10419 if present.
10420 (Access_Subprogram_Declaration, Access_Type_Declaration,
10421 Analyze_Component_Declaration, Analyze_Object_Declaration,
10422 Array_Type_Declaration, Process_Discriminants,
10423 Analyze_Subtype_Declaration): Propagate the null-excluding attribute
10424 and carry out some static checks.
10425 (Build_Derived_Access_Type): Set the null-excluding attribute
10426 (Derived_Type_Declaration, Process_Subtype): Carry out some static
10427 checks.
10428
10429 * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
10430
10431 * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
10432
10433 * sem_ch6.adb (Process_Formals): Carry out some static checks.
10434 (Set_Actual_Subtypes): Generate null-excluding subtype if the
10435 null-excluding part was present; it is not required to be done here in
10436 case of anonymous access types.
10437 (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
10438 value.
10439
10440 * sem_res.adb (Resolve_Actuals): Carry out some static check
10441 (Resolve_Null): Allow null in anonymous access
10442
10443 * sinfo.adb: New subprogram Null_Exclusion_Present
10444 All_Present and Constant_Present available on access_definition nodes
10445
10446 * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
10447 object_declaration, derived_type_definition, component_definition,
10448 discriminant_specification, access_to_object_definition,
10449 access_function_definition, allocator, access_procedure_definition,
10450 access_definition, parameter_specification, All_Present and
10451 Constant_Present flags available on access_definition nodes.
10452
10453 2004-03-29 Robert Dewar <dewar@gnat.com>
10454
10455 * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
10456 gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
10457 opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
10458 par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
10459 sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
10460 sem_prag.adb: Updates to handle multiple units/file
10461
10462 * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
10463
10464 * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
10465 sem_util.adb: Minor reformatting
10466
10467 * sem_ch12.adb: Add comment for previous change
10468
10469 2004-03-29 Laurent Pautet <pautet@act-europe.fr>
10470
10471 * osint.adb (Executable_Prefix): Set Exec_Name to the current
10472 executable name when not initialized. Otherwise, use its current value.
10473
10474 * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
10475 initialize it to another executable name than the current one. This
10476 allows to configure paths for an executable name (gnatmake) different
10477 from the current one (gnatdist).
10478
10479 2004-03-29 Ed Schonberg <schonberg@gnat.com>
10480
10481 * exp_ch6.adb (Expand_Call): A call to a function declared in the
10482 current unit cannot be inlined if it appears in the body of a withed
10483 unit, to avoid order of elaboration problems in gigi.
10484
10485 * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
10486 information for protected (wrapper) operation as well, to simplify gdb
10487 use.
10488
10489 * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
10490 protected body, indicate that the entity for the generated spec comes
10491 from source, to ensure that references are properly generated for it.
10492 (Build_Body_To_Inline): Do not inline a function that returns a
10493 controlled type.
10494
10495 * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
10496 apply convention to homonyms that are declared explicitly.
10497
10498 * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
10499 that renames an equality operator and the operands are overloaded,
10500 resolve them with the declared formal types, before rewriting as an
10501 operator.
10502
10503 2004-03-29 GNAT Script <nobody@gnat.com>
10504
10505 * Make-lang.in: Makefile automatically updated
10506
10507 2004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr>
10508
10509 * memtrack.adb: Log realloc calls, which are treated as free followed
10510 by alloc.
10511
10512 2004-03-25 Vincent Celier <celier@gnat.com>
10513
10514 * prj-makr.adb (Process_Directories): Detect when a file contains
10515 several units. Do not include such files in the config pragmas or
10516 in the naming scheme.
10517
10518 * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
10519 Resolve links only when not in Trusted_Mode.
10520 (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
10521 Do not resolve links for the display names.
10522
10523 * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
10524 resolve links when computing the display names.
10525
10526 2004-03-25 Thomas Quinot <quinot@act-europe.fr>
10527
10528 * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
10529 attribute reference does not denote a subtype, it can be any
10530 expression that has a classwide type, potentially after an implicit
10531 dereference. In particular, the prefix can be a view conversion for
10532 a classwide type (for which Is_Object_Reference holds), but it can
10533 also be a value conversion for an access-to-classwide type. In the
10534 latter case, there is an implicit dereference, and the original node
10535 for the prefix does not verify Is_Object_Reference.
10536
10537 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
10538 conversion of a discriminant-dependent component of a mutable object
10539 is one itself.
10540
10541 2004-03-25 Ed Schonberg <schonberg@gnat.com>
10542
10543 * freeze.adb (Freeze_Entity): When an inherited subprogram is
10544 inherited, has convention C, and has unconstrained array parameters,
10545 place the corresponding warning on the derived type declaration rather
10546 than the original subprogram.
10547
10548 * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
10549 indication on renaming declaration, if formal has a box and actual
10550 is absent.
10551
10552 * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
10553 determine whether to generate an implicit or explicit reference to
10554 the renamed entity.
10555
10556 * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
10557 subprogram renaming comes from a defaulted formal subprogram in an
10558 instance.
10559
10560 2004-03-25 Gary Dismukes <dismukes@gnat.com>
10561
10562 * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
10563 value expressions to ensure that calls within a component definition
10564 will be checked (since those are evaluated during the record type's
10565 elaboration).
10566
10567 2004-03-25 Arnaud Charlet <charlet@act-europe.fr>
10568
10569 * s-tpobop.adb: Code clean up:
10570 (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
10571 code.
10572 (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
10573
10574 2004-03-25 Jose Ruiz <ruiz@act-europe.fr>
10575
10576 * Makefile.in: Clean up in the ravenscar run time.
10577
10578 2004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10579
10580 * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
10581 of No_Strict_Aliasing to build_pointer_type_for_mode.
10582 * utils.c (update_pointer_to): Walk pointer and ref chains.
10583
10584 2004-03-22 Cyrille Comar <comar@act-europe.fr>
10585
10586 * ali.ads: Fix Comment about Dynamic_Elab.
10587
10588 * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
10589 Has_RACW, Is_Generic, etc.)
10590 (Output_Object, Gnatls): Take into account ALI files not attached to
10591 an object.
10592
10593 2004-03-22 Vincent Celier <celier@gnat.com>
10594
10595 * gprep.adb: Change all String_Access to Name_Id
10596 (Is_ASCII_Letter): new function
10597 (Double_File_Name_Buffer): New procedure
10598 (Preprocess_Infile_Name): New procedure
10599 (Process_Files): New procedure
10600 (Gnatprep): Check if output and input are existing directories.
10601 Call Process_Files to do the real job.
10602
10603 2004-03-22 Robert Dewar <dewar@gnat.com>
10604
10605 * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
10606 s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
10607
10608 2004-03-22 Sergey Rybin <rybin@act-europe.fr>
10609
10610 * scn.adb (Contains): Add check for EOF, is needed for a degenerated
10611 case when the source contains only comments.
10612
10613 2004-03-22 Ed Schonberg <schonberg@gnat.com>
10614
10615 * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
10616 declaration for a child subprogram body that acts as a spec, indicate
10617 that the entity in the declaration needs debugging information.
10618
10619 * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
10620 full view if the subtype is created for a constrained record component;
10621 gigi has enough information to construct the record, and there is no
10622 place in the tree for the declaration.
10623
10624 * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
10625 serial number for the dummy body that is built for analysis, to avoid
10626 inconsistencies in the generation of internal names when compiling
10627 with -gnatN.
10628
10629 2004-03-22 Thomas Quinot <quinot@act-europe.fr>
10630
10631 * sem_util.adb (Is_Object_Reference): A view conversion denotes an
10632 object.
10633
10634 2004-03-22 GNAT Script <nobody@gnat.com>
10635
10636 * Make-lang.in: Makefile automatically updated
10637
10638 2004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10639
10640 * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
10641 * trans.c (tree_transform, emit_index_check): Likewise.
10642 * utils.c (build_template): Likewise.
10643 (max_size, convert): Remove handling of WITH_RECORD_EXPR.
10644 (maybe_unconstrained_array, unchecked_convert): Likewise.
10645 * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
10646 (build_unary_op): Likewise.
10647 (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
10648 (fill_vms_descriptor): Likewise.
10649 (build_call_alloc_dealloc): Likewise.
10650 ALIGN is unsigned.
10651 * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
10652
10653 2004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
10654
10655 PR other/14630
10656 * gnat_ug.texi: Add info directory category and entry.
10657 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10658 gnat_ug_wnt.texi: Regenerate.
10659
10660 2004-03-19 Arnaud Charlet <charlet@act-europe.fr>
10661
10662 * ada-tree.h: Update copyright notice.
10663 Minor reformatting.
10664
10665 2004-03-19 Olivier Hainque <hainque@act-europe.fr>
10666
10667 * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
10668 as regular exception objects and not as mere integers representing the
10669 condition code. The latter approach required some dynamics to mask off
10670 severity bits, which did not fit well into the GCC table based model.
10671 (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
10672 exception data objects. We don't it and it would conflict with the other
10673 external symbol we have to generate for such exceptions.
10674
10675 * trans.c (tree_transform, case N_Exception_Handler): Remove part of
10676 the special code for VMS exceptions, since these are now represented
10677 as regular exceptions objects.
10678
10679 2004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10680
10681 * decl.c (debug_no_type_hash): Remove.
10682 (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
10683 * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
10684
10685 2004-03-19 Laurent Guerby <laurent@guerby.net>
10686
10687 * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
10688 aggregate, allows bootstrap from 3.3 on powerpc-darwin.
10689
10690 2004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10691
10692 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
10693 (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
10694 (TYPE_RM_SIZE_INT): Directly use type.values.
10695 (TREE_LOOP_ID): Clean up check.
10696 * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
10697 TYPE_VALUES, not TYPE_FIELDS.
10698 * trans.c (convert_with_check): Delay access of bounds of basetype
10699 until sure is numeric.
10700
10701 2004-03-18 Arnaud Charlet <charlet@act-europe.fr>
10702
10703 * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
10704
10705 Code clean up:
10706 * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
10707 5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
10708 Specific.Set instead of direct call to e.g pthread_setspecific.
10709
10710 2004-03-18 Thomas Quinot <quinot@act-europe.fr>
10711
10712 * adaint.c: Update comments.
10713
10714 * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
10715 GNATLIB_SHARED for FreeBSD.
10716
10717 2004-03-18 Jose Ruiz <ruiz@act-europe.fr>
10718
10719 * init.c [VxWorks]: Do not fix the stack size for the environment task.
10720 When needed (stack checking) the stack size is retrieved
10721 from the VxWorks kernel.
10722
10723 * Makefile.in: Flag -nostdinc is required when building the run time
10724 for avoiding looking for files in the base compiler.
10725 Add the VxWorks specific version of the package body for
10726 System.Stack_checking.Operations (5zstchop.adb).
10727
10728 * Make-lang.in: Add the object file for
10729 System.Stack_Checking.Operations.
10730
10731 * Makefile.rtl: Add object file for the package
10732 System.Stack_Checking.Operations.
10733
10734 * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
10735
10736 * s-stache.ads, s-stache.adb: Move the operations related to stack
10737 checking from this package to package System.Stack_Checking.Operations.
10738 This way, stack checking operations are only linked in the final
10739 executable when using the -fstack-check flag.
10740
10741 2004-03-18 Doug Rupp <rupp@gnat.com>
10742
10743 * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
10744 Reorganize ifeq's.
10745
10746 * 5qsystem.ads, 5xcrtl.ads: New files.
10747
10748 2004-03-18 Vincent Celier <celier@gnat.com>
10749
10750 * prj.adb (Reset): Reset hash table Files_Htable
10751
10752 * prj-env.adb (Source_Paths, Object_Paths): New tables.
10753 (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
10754 the procedures Add_To_Path_File.
10755 (Set_Ada_Paths): Accumulate source and object dirs in the tables,
10756 making sure that each directory is present only once and, for object
10757 dirs, when a directory already present is added, the duplicate is
10758 removed and the directory is always put as the last in the table.
10759 Write the path files at the end of these accumulations.
10760
10761 * prj-nmsc.adb (Record_Source): Add source file name in hash table
10762 Files_Htable for all sources.
10763
10764 * prj-proc.adb (Process): Remove restrictions between not directly
10765 related extending projects.
10766
10767 2004-03-18 Emmanuel Briot <briot@act-europe.fr>
10768
10769 * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
10770 (Find_Sources): Minor speed optimization.
10771
10772 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
10773 parameter Trusted_Mode.
10774
10775 2004-03-18 Sergey Rybin <rybin@act-europe.fr>
10776
10777 * scn.adb (Determine_License): Take into account a degenerated case
10778 when the source contains only comments.
10779
10780 2004-03-18 Ed Schonberg <schonberg@gnat.com>
10781
10782 * sem_warn.adb (Check_References): For a warning on a selected
10783 component that does not come from source, locate an uninitialized
10784 component of the record type to produce a more precise error message.
10785
10786 2004-03-15 Jerome Guitton <guitton@act-europe.fr>
10787
10788 * 3zsoccon.ads: Fix multicast options.
10789
10790 * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
10791 in the spec.
10792
10793 2004-03-15 Robert Dewar <dewar@gnat.com>
10794
10795 * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
10796 pragma used for a private type.
10797
10798 * lib-xref.adb (Generate_Reference): Do not generate warning if
10799 reference is in a different unit from the pragma Unreferenced.
10800
10801 * 5vtpopde.adb: Minor reformatting
10802 Fix casing of To_Task_ID
10803
10804 * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
10805 flag if we have an unchecked conversion to an access type in the same
10806 unit.
10807
10808 2004-03-15 Geert Bosch <bosch@gnat.com>
10809
10810 * a-ngcoty.adb (Modulus): In alternate formula for large real or
10811 imaginary parts, use Double precision throughout.
10812
10813 * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
10814 we want to be able to compile run-time with -gnata for testing, but
10815 this may also be instantiated in user code that is compiled with -gnata.
10816
10817 2004-03-15 Olivier Hainque <hainque@act-europe.fr>
10818
10819 * s-stalib.ads (Exception_Code): New type, to represent Import/Export
10820 codes. Having a separate type for this is useful to enforce consistency
10821 throughout the various run-time units.
10822 (Exception_Data): Use Exception_Code for Import_Code.
10823
10824 * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
10825 Natural and Integer in various places.
10826 (Register_VMS_Exception): Use Base_Code_In to compute the exception code
10827 with the severity bits masked off.
10828 (Register_VMS_Exception): Handle the additional exception data pointer
10829 argument.
10830
10831 * raise.c (_GNAT_Exception structure): Remove the handled_by_others
10832 component, now reflected by an exported accessor.
10833 (is_handled_by): New routine to compute whether the propagated
10834 occurrence matches some handler choice specification. Extracted out of
10835 get_action_description_for, and expanded to take care of the VMS
10836 specifities.
10837 (get_action_description_for): Use is_handled_by instead of an explicit
10838 complex condition to decide if the current choice at hand catches the
10839 propagated occurrence.
10840
10841 * raise.h (Exception_Code): New type for C.
10842
10843 * rtsfind.ads (RE_Id, RE_Unit_Table): Add
10844 System.Standard_Library.Exception_Code, to allow references from the
10845 pragma import/export expander.
10846
10847 * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
10848 New accessors to allow easy access to GNAT exception data
10849 characteristics.
10850 (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
10851 redundant Handled_By_Others component, helper for the personality
10852 routine which will now be able to call the appropriate exception data
10853 accessor instead.
10854
10855 * cstand.adb (Create_Standard): Adjust the type of the Import_Code
10856 component of Standard_Exception_Type to be the closest possible to
10857 Exception_Code in System.Standard_Library, that we cannot get at this
10858 point. Expand a ??? comment to notify that this type node should
10859 probably be rewritten later on.
10860
10861 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
10862 registration call to include a pointer to the exception object in the
10863 arguments.
10864
10865 * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
10866 instead of int and explicit bitmasks.
10867
10868 2004-03-15 Vincent Celier <celier@gnat.com>
10869
10870 * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
10871 equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
10872
10873 * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
10874 longer needed now that it is in the spec of
10875 System.Tasking.Task_Attributes.
10876
10877 * adaint.h, adaint.c: (__gnat_create_output_file): New function
10878
10879 * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
10880
10881 * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
10882
10883 * make.adb (Gnatmake): Do not check the executable suffix; it is being
10884 taken care of in Scan_Make_Arg.
10885 (Scan_Make_Arg): Add the executable suffix only if the argument
10886 following -o, in canonical case, does not end with the executable
10887 suffix. When in verbose mode and executable file name does not end
10888 with executable suffix, output the executable name, in canonical case.
10889
10890 * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
10891 to avoid warnings when instantiating Ada.Task_Attributes.
10892 Minor reformating.
10893
10894 * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
10895 in the correct order.
10896
10897 * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
10898 redirect standard output and error to a file for the invocation of the
10899 compiler, then read the file.
10900
10901 * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
10902 directory, instead of the Value.
10903 (Find_Source_Dirs): Remove useless code & comments.
10904
10905 2004-03-15 Ed Schonberg <schonberg@gnat.com>
10906
10907 * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
10908 tagged type is inherited, and the parent operation is not frozen yet,
10909 force generation of a freeze node for the inherited operation, so the
10910 corresponding dispatch entry is properly initialized.
10911 (Make_Predefined_Primitive_Specs): Check that return type is Boolean
10912 when looking for user-defined equality operation.
10913
10914 * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
10915 boolean when locating primitive equality of tagged component.
10916
10917 * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
10918 bit-aligned field and the right-hand side a string literal, introduce
10919 a temporary before expanding assignment into a loop.
10920
10921 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
10922 priority in full, to ensure that any expanded subepxressions of it are
10923 elaborated in the scope of the init_proc.
10924
10925 * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
10926 after object declaration, skipping over code that may have been
10927 generated for validity checks.
10928
10929 * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
10930 discriminants, ignore the known discriminants of its full view, if
10931 any, to check legality.
10932
10933 * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
10934 component if type has unknown discriminants.
10935 (Analyze_Private_Extension_Declaration): Discriminant constraint is
10936 null if type has unknown discriminants.
10937
10938 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
10939 for end label when present.
10940
10941 * s-fileio.adb (Open): When called with a C_Stream, use given name for
10942 temporary file, rather than an empty string.
10943
10944 2004-03-15 Ed Falis <falis@gnat.com>
10945
10946 * s-thread.adb: Removed, no longer used.
10947
10948 2004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10949
10950 * decl.c (target.h): Now include.
10951 (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
10952 in new build_pointer_from_mode calls for non-fat/non-thin pointer.
10953 (validate_size): For POINTER_TYPE, get smallest size permitted on
10954 machine.
10955
10956 * fe.h: Sort Einfo decls and add Set_Mechanism.
10957
10958 * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
10959 (ada/decl.o): Depends on target.h.
10960
10961 * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
10962 FUNCTION_BOUNDARY; always use TYPE_ALIGN.
10963
10964 2004-03-15 Thomas Quinot <quinot@act-europe.fr>
10965
10966 * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
10967
10968 * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
10969 Insert_Dereference_Action when rewriting an implicit dereference into
10970 an explicit one, this will be taken care of during expansion of the
10971 explicit dereference.
10972 (Expand_N_Slice): Same. Always do the rewriting, even for the case
10973 of non-packed slices, since the dereference action generated by
10974 expansion of the explicit dereference is needed in any case.
10975 (Expand_N_Selected_Component): When rewriting an implicit dereference,
10976 analyze and resolve the rewritten explicit dereference so it is seen
10977 by the expander.
10978 (Insert_Dereference_Action): This procedure is now called only for the
10979 expansion of an N_Explcit_Dereference_Node. Do insert a check even for
10980 dereferences that do not come from source (including explicit
10981 dereferences resulting from rewriting implicit ones), but do not
10982 recursively insert a check for the dereference nodes contained within
10983 the check.
10984 (Insert_Dereference_Action): Clarify and correct comment.
10985
10986 2004-03-08 Paolo Bonzini <bonzini@gnu.org>
10987
10988 PR ada/14131
10989 Move language detection to the top level.
10990 * config-lang.in: Build by default.
10991
10992 2004-03-05 Robert Dewar <dewar@gnat.com>
10993
10994 * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
10995
10996 * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
10997 i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
10998 5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
10999 5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
11000 unchecked conversion to spec to avoid warnings.
11001
11002 * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
11003 to Task_ID
11004
11005 * 7stpopsp.adb: Correct casing in To_Task_ID call
11006
11007 * a-strsea.ads, a-strsea.adb: Minor reformatting
11008
11009 * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
11010
11011 * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
11012 Adjust Max_Msg_Length to be clearly large enough.
11013
11014 * fe.h: Define In_Same_Source_Unit
11015
11016 * osint.adb: Add pragma Warnings Off to suppress warnings
11017 * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
11018 aliasing warnings.
11019
11020 * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
11021
11022 * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
11023
11024 * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
11025
11026 * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
11027
11028 * sem_prag.adb: Implement pragma No_Strict_Aliasing.
11029
11030 * sinfo.ads: Remove obsolete comment on validate unchecked conversion
11031 node. We now do generate them for gcc back end.
11032
11033 * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
11034 warning.
11035
11036 * sinput-c.adb: Fix bad name in header.
11037 Add pragma Warnings Off to suppress aliasing warning.
11038
11039 * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
11040
11041 * snames.h, snames.ads, snames.adb: Add entry for pragma
11042 No_Strict_Aliasing.
11043
11044 2004-03-05 Vincent Celier <celier@gnat.com>
11045
11046 * prj-com.ads: Add hash table Files_Htable to check when a file name
11047 is already a source of another project.
11048
11049 * prj-nmsc.adb (Record_Source): Before recording a new source, check
11050 if its file name is not already a source of another project. Report an
11051 error if it is.
11052
11053 * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
11054 source file name, call gnatpp with all the sources of the main project.
11055
11056 * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
11057 of file names.
11058
11059 * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
11060 NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
11061 /RUNTIME_SYSTEM=, converted to --RTS=
11062 /NOTABS, converted to -notabs
11063
11064 2004-03-05 Pascal Obry <obry@gnat.com>
11065
11066 * make.adb: Minor reformatting.
11067
11068 2004-03-05 Ed Schonberg <schonberg@gnat.com>
11069
11070 Part of implemention of AI-262.
11071 * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
11072
11073 * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
11074 procedure.
11075
11076 * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
11077 when component type is a partially constrained class-wide subtype.
11078 (Constrain_Discriminated_Type): If parent type has unknown
11079 discriminants, a constraint is illegal, even if full view has
11080 discriminants.
11081 (Build_Derived_Record_Type): Inherit discriminants when deriving a type
11082 with unknown discriminants whose full view is a discriminated record.
11083
11084 * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
11085 flag, to handle properly derivations of tagged types with unknown
11086 discriminants.
11087 (Analyze_Package_Spec, Analyze_Package_Body): Install
11088 Private_With_Clauses before analyzing private part or body.
11089
11090 * einfo.ads: Indicate that both Has_Unknown_Discriminants and
11091 Has_Discriminants can be true for a given type (documentation).
11092
11093 2004-03-05 Arnaud Charlet <charlet@act-europe.fr>
11094
11095 * s-restri.ads: Fix license (GPL->GMGPL).
11096
11097 * s-tassta.adb: Minor reformatting.
11098
11099 * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
11100 by calls to Exit_One_ATC_Level, since additional clean up is performed
11101 by this function.
11102
11103 * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
11104 by calls to Exit_One_ATC_Level, since additional clean up is performed
11105 by this function.
11106
11107 2004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11108
11109 * trans.c: Reflect GCC changes to fix bootstrap problem.
11110 Add warning for suspicious aliasing unchecked conversion.
11111
11112 2004-03-05 GNAT Script <nobody@gnat.com>
11113
11114 * Make-lang.in: Makefile automatically updated
11115
11116 2004-03-02 Emmanuel Briot <briot@act-europe.fr>
11117
11118 * ali.adb (Read_Instantiation_Instance): Do not modify the
11119 current_file_num when reading information about instantiations, since
11120 this corrupts files in later references.
11121
11122 2004-03-02 Vincent Celier <celier@gnat.com>
11123
11124 * bcheck.adb (Check_Consistency): Get the full path of an ALI file
11125 before checking if it is read-only.
11126
11127 * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
11128 of SRC_DIRS and eliminate duplicates.
11129
11130 * gprcmd.adb: Replace command "path" with command "path_sep" to return
11131 the path separator.
11132 (Usage): Document path_sep
11133
11134 * Makefile.generic: For Ada and GNU C++ cases, link directly with the
11135 C++ compiler. No need for a script.
11136 Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
11137 Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
11138 subst.
11139
11140 * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
11141 where there are Ada sources.
11142 (Set_Ada_Paths): Only add to the include path the source dirs of project
11143 with Ada sources.
11144 (Add_To_Path): Add the Display_Values of the directories, not their
11145 Values.
11146
11147 * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
11148 data.
11149
11150 * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
11151 is not No_Name.
11152 (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
11153 Value is canonicalized.
11154 (Language_Independent_Check): Do not copy Value to Display_Value when
11155 canonicalizing Value.
11156
11157 * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
11158 path to find limited with cycles.
11159 (Parse_Single_Project): Use canonical cased path to find the end of a
11160 with cycle.
11161
11162 2004-03-02 Ed Schonberg <schonberg@gnat.com>
11163
11164 * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
11165 and not a child unit.
11166
11167 * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
11168 appear in a with_clause.
11169
11170 * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
11171 only happen in type_annotate mode, do not try to elaborate it.
11172
11173 * exp_util.adb (Force_Evaluation): If expression is a selected
11174 component on the left of an assignment, use a renaming rather than a
11175 temporary to remove side effects.
11176
11177 * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
11178 inlined instance body, which is analyzed before the end of the
11179 enclosing scope.
11180
11181 2004-03-02 Robert Dewar <dewar@gnat.com>
11182
11183 * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
11184 sem_ch4.adb: Use new feature for substitution of keywords in VMS
11185
11186 * errout.ads, errout.adb: Implement new circuit for substitution of
11187 keywords in VMS.
11188
11189 * sem_case.adb (Analyze_Choices): Place message properly when case is
11190 a subtype reference rather than an explicit range.
11191
11192 * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
11193
11194 2004-03-02 Doug Rupp <rupp@gnat.com>
11195
11196 * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
11197
11198 2004-03-02 Thomas Quinot <quinot@act-europe.fr>
11199
11200 * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
11201
11202 2004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11203
11204 * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
11205 BLKmode bitfield.
11206
11207 2004-02-25 Robert Dewar <dewar@gnat.com>
11208
11209 * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
11210 55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
11211 5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
11212 5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
11213 5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
11214 5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
11215 the defining instance of the type to avoid aliasing problems.
11216 Fix copyright header. Fix bad comments in package header.
11217
11218 * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
11219
11220 2004-02-25 Ed Schonberg <schonberg@gnat.com>
11221
11222 * exp_ch2.adb (Param_Entity): Handle properly formals that have been
11223 rewritten as references when aliased through an address clause.
11224
11225 * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
11226 whether call can be interpreted as an indirect call to the result of a
11227 parameterless function call returning an access subprogram.
11228
11229 2004-02-25 Arnaud Charlet <charlet@act-europe.fr>
11230
11231 Code clean up:
11232 * exp_ch7.adb (Make_Clean): Remove generation of calls to
11233 Unlock[_Entries], since this is now done by Service_Entries directly.
11234
11235 * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
11236
11237 * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
11238 Requeue_Call for better code readability. Change spec and update calls:
11239 PO_Service_Entries now unlock the PO on exit.
11240 (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
11241 PO_Service_Entries.
11242
11243 * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
11244
11245 * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
11246
11247 2004-02-25 Sergey Rybin <rybin@act-europe.fr>
11248
11249 * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
11250 protected subprogram call and analyzing the result of such expanding
11251 in case when the called protected subprogram is eliminated.
11252
11253 * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
11254 names.
11255
11256 2004-02-25 Jerome Guitton <guitton@act-europe.fr>
11257
11258 * Makefile.in: Clean ups.
11259
11260 2004-02-23 Ed Schonberg <schonberg@gnat.com>
11261
11262 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
11263 protected operations if original subprogram is flagged as eliminated.
11264 (Expand_N_Subprogram_Body): For a protected operation, create
11265 discriminals for next operation before checking whether the operation
11266 is eliminated.
11267
11268 * exp_ch9.adb (Expand_N_Protected_Body,
11269 Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
11270 for internal protected operations if the original subprogram is
11271 eliminated.
11272
11273 * sem_elim.adb (Check_Eliminated): Handle properly protected operations
11274 declared in a single protected object.
11275
11276 2004-02-23 Vincent Celier <celier@gnat.com>
11277
11278 * prj-attr.adb: Make attribute Builder'Executable an associative array,
11279 case insensitive if file names are case insensitive, instead of a
11280 standard associative array.
11281
11282 * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
11283 them as case insensitive on platforms where the file names are case
11284 sensitive.
11285
11286 * prj-part.adb (Parse_Single_Project): Make sure, when checking if
11287 project file has already been parsed that canonical path are compared.
11288
11289 2004-02-23 Robert Dewar <dewar@gnat.com>
11290
11291 * sinput-c.ads: Correct bad unit title in header
11292
11293 * freeze.adb: Minor reformatting
11294
11295 2004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11296
11297 * trans.c (tree_transform, case N_Procedure_Call_Statement): For
11298 nonaddressable COMPONENT_REF that is removing padding that we are
11299 taking the address of, take the address of the padded record instead
11300 if item is variable size.
11301
11302 2004-02-20 Robert Dewar <dewar@gnat.com>
11303
11304 * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
11305
11306 2004-02-20 Ed Schonberg <schonberg@gnat.com>
11307
11308 * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
11309 itype references for the constrained designated type of a component
11310 whose base type is already frozen.
11311
11312 2004-02-20 Arnaud Charlet <charlet@act-europe.fr>
11313
11314 * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
11315 avoid GCC warnings.
11316
11317 2004-02-20 Sergey Rybin <rybin@act-europe.fr>
11318
11319 * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
11320 identifier for a phantom package that rewrites the formal package
11321 declaration with a box. The Add semantic decorations for the defining
11322 identifier from the original node (that represents the formal package).
11323
11324 2004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
11325
11326 * Make-lang.in (ada/stamp-sdefault): Use the top level
11327 move-if-change.
11328
11329 2004-02-19 Richard Henderson <rth@redhat.com>
11330
11331 * misc.c (record_code_position): Add third build arg for RTL_EXPR.
11332
11333 2004-02-18 Emmanuel Briot <briot@act-europe.fr>
11334
11335 * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
11336 Scan_ALI can be used for multiple ALI files without reinitializing
11337 between calls.
11338
11339 2004-02-18 Robert Dewar <dewar@gnat.com>
11340
11341 * debug.adb: Minor reformatting.
11342
11343 2004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11344
11345 * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
11346 to zero if there is an address clause.
11347
11348 2004-02-18 Thomas Quinot <quinot@act-europe.fr>
11349
11350 * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
11351
11352 2004-02-18 Gary Dismukes <dismukes@gnat.com>
11353
11354 * layout.adb (Layout_Component_List): Revise generation of call to
11355 discriminant-checking function to pass selections of all of the type's
11356 discriminants rather than just the variant-controlling discriminant.
11357
11358 2004-02-18 Olivier Hainque <hainque@act-europe.fr>
11359
11360 * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
11361 fail in the current setup and triggers spurious system error messages.
11362 Pretend it occurred and failed instead.
11363
11364 2004-02-18 Vincent Celier <celier@gnat.com>
11365
11366 * bld.adb: Mark FLDFLAGS as saved
11367 (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
11368 it is not the root project. Put each directory to be
11369 extended between double quotes to prevent it to be expanded on Windows.
11370 (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
11371 the project file. Set them back to their initial values if they have not
11372 been set in the project file.
11373
11374 * gprcmd.adb: (Gprdebug, Debug): New global variables
11375 (Display_Command): New procedure
11376 (Usage): Document new command "linkopts"
11377 Call Display_Command when env var GPRDEBUG has the value "TRUE"
11378 Implement new command "linkopts"
11379 Remove quotes that may be around arguments for "extend"
11380 Always call Normalize_Pathname with arguments formatted for the platform
11381
11382 * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
11383 Change @echo to @$(display) in target clean to be able to clean silently
11384
11385 * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
11386
11387 * prj-part.adb (Project_Path_Name_Of): Do not put final result in
11388 canonical case.
11389
11390 * prj-part.adb (Parse_Single_Project): Always call with From_Extended
11391 = Extending_All when current project is an extending all project.
11392
11393 * vms_conv.adb (Output_File_Expected): New Boolean global variable,
11394 set to True only for LINK command, after Unix switch -o.
11395 (Process_Arguments): Set Output_File_Expected to True for LINK command
11396 after Unix switch -o. When Output_File_Expected is True, never add an
11397 extension to a file name.
11398
11399 * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
11400 option file name, only to the --for-linker= switch.
11401 (Option_File_Name): If option file name do not end with ".opt", append
11402 "/OPTIONS".
11403
11404 2004-02-18 GNAT Script <nobody@gnat.com>
11405
11406 * Make-lang.in: Makefile automatically updated
11407
11408 2004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
11409
11410 * Make-lang.in (stamp-sdefault): Do not depend on
11411 move-if-change.
11412
11413 2004-02-12 Zack Weinberg <zack@codesourcery.com>
11414
11415 * config-lang.in: Disable Ada by default until probe logic for
11416 a bootstrap Ada compiler can be moved to the top level configure
11417 script.
11418
11419 2004-02-12 Olivier Hainque <hainque@act-europe.fr>
11420
11421 * decl.c (components_to_record): Don't claim that the internal fields
11422 we make to hold the variant parts are semantically addressable, because
11423 they are not.
11424
11425 * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
11426 adjust the comment describing the modular type form when we can use it.
11427 (Install_PAT): Account for the Esiz renaming.
11428
11429 * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
11430 sc_onstack context indication before raising the exception to which
11431 the signal is mapped. Allows better handling of later signals possibly
11432 triggered by the resumed user code if the exception is handled.
11433
11434 2004-02-12 Arnaud Charlet <charlet@act-europe.fr>
11435
11436 * 5zinit.adb: Removed, no longer used.
11437
11438 2004-02-12 Robert Dewar <dewar@gnat.com>
11439
11440 * ali.adb: Remove separating space between parameters on R line. Makes
11441 format consistent with format used by the binder for Set_Globals call.
11442
11443 * atree.ads, atree.adb: Minor reformatting (new function header format)
11444
11445 * bindgen.adb: Add Run-Time Globals documentation section containing
11446 detailed documentation of the globals passed from the binder file to
11447 the run time.
11448
11449 * gnatls.adb: Minor reformatting
11450
11451 * init.c (__gnat_set_globals): Add note pointing to documentation in
11452 bindgen.
11453
11454 * lib-writ.ads, lib-writ.adb: Remove separating space between
11455 parameters on R line.
11456 Makes format consistent with format used by the binder for Set_Globals
11457 call.
11458
11459 * osint.ads: Add 2004 to copyright notice
11460 Minor reformatting
11461
11462 * snames.ads: Correct capitalization of FIFO_Within_Priorities
11463 Noticed during code reading, documentation issue only
11464
11465 * usage.adb: Remove junk line for obsolete C switch
11466 Noticed during code reading
11467
11468 2004-02-12 Vincent Celier <celier@gnat.com>
11469
11470 * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
11471 extend for each directory, so that multiple /** directories are
11472 extended individually.
11473 (Recursive_Process): Set the default for LANGUAGES to ada
11474
11475 * gprcmd.adb: Define new command "ignore", to do nothing.
11476 Implement new comment "path".
11477
11478 * Makefile.generic: Suppress output when SILENT is set
11479 Make sure that when compiler for C/C++ is gcc, the correct -x switch is
11480 used, so that the correct compiler is invoked.
11481 When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
11482 CXX_INCLUDE_PATH, to avoid failure with too long command lines.
11483
11484 2004-02-12 Jerome Guitton <guitton@act-europe.fr>
11485
11486 * Makefile.in: Clean ups and remove obsolete targets.
11487
11488 2004-02-12 Ed Schonberg <schonberg@gnat.com>
11489
11490 * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
11491 predicate declared in exp_util.
11492
11493 * exp_util.adb: Add comments.
11494
11495 * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
11496 visibility before compiling context of the subunit.
11497
11498 * sem_res.adb (Check_Parameterless_Call): If the context expects a
11499 value but the name is a procedure, do not attempt to analyze as a call,
11500 in order to obtain more telling diagnostics.
11501
11502 * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
11503 'Access on parameterless function calls.
11504 (Normalize_Actuals): For a parameterless function call with missing
11505 actuals, defer diagnostic until resolution of enclosing call.
11506
11507 * sem_util.adb (Wrong_Type): If the context type is an access to
11508 subprogram and the expression is a procedure name, suggest a missing
11509 'attribute.
11510
11511 2004-02-10 Arnaud Charlet <charlet@act-europe.fr>,
11512 Nathanael Nerode <neroden@gcc.gnu.org>
11513
11514 PR ada/6637, PR ada/5911
11515 Merge with libada-branch:
11516 * config-lang.in: Build libada only when ada is built.
11517
11518 2004-02-09 Ed Schonberg <schonberg@gnat.com>
11519
11520 * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
11521 for a tagged type, verify that both formals have the same type.
11522
11523 * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
11524 temporary when the formal is an in-parameter and the actual a possibly
11525 unaligned slice.
11526
11527 * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
11528 when expansion is disabled, to ensure proper name capture with
11529 overloaded literals. Condition can be of any boolean type, resolve
11530 accordingly.
11531
11532 * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
11533 renaming is for a formal subprogram with a default operator name, and
11534 there is a usable operator that is visible at the point of
11535 instantiation.
11536
11537 2004-02-09 Robert Dewar <dewar@gnat.com>
11538
11539 * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
11540 rewrite to ignore errors in ali files, intended to allow tools downward
11541 compatibility with new versions of ali files.
11542
11543 * ali.ads: Add new parameter Ignore_Errors
11544
11545 * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
11546 duplicating the error message giving the file with restrictions.
11547
11548 * debug.adb: Add debug flag I for gnatbind
11549
11550 * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
11551 operators for the case where the operator is a defining operator.
11552
11553 * exp_ch3.adb: Minor reformatting (new function spec format).
11554
11555 * exp_ch4.adb: Add comment for previous change, and make minor
11556 adjustment to loop to always check for improper loop termination.
11557 Minor reformatting throughout (new function spec format).
11558
11559 * gnatbind.adb: Implement -di debug flag for gnatbind
11560
11561 * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
11562
11563 * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
11564
11565 * lib-load.adb: Fix bad assertion.
11566 Found by testing and code reading.
11567 Minor reformatting.
11568
11569 * lib-load.ads: Minor reformatting.
11570
11571 * lib-writ.adb: There is only one R line now.
11572
11573 * lib-writ.ads: Add documentation on making downward compatible changes
11574 to ali files so old tools work with new ali files.
11575 There is only one R line now.
11576 Add documentation on format incompatibilities (with special GPS note)
11577
11578 * namet.ads, namet.adb: (Is_Operator_Name): New procedure
11579
11580 * par-load.adb: Minor reformatting
11581
11582 * sem_ch8.adb: Fix to error message from last update
11583 Minor reformatting and restructuring of code from last update
11584
11585 * par-prag.adb, snames.adb, snames.ads, snames.h,
11586 sem_prag.adb: Implement pragma Profile.
11587
11588 * stylesw.adb: Implement -gnatyN switch to turn off all style check
11589 options.
11590
11591 * usage.adb: Add line for -gnatyN switch
11592
11593 * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
11594
11595 2004-02-09 Albert Lee <lee@gnat.com>
11596
11597 * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
11598
11599 2004-02-09 Ed Schonberg <schonberg@gnat.com>
11600
11601 * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
11602 slices.
11603
11604 * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
11605 is nested in an instance that is not frozen yet, to avoid
11606 order-of-elaboration problems in gigi.
11607
11608 * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
11609 body the attribute is legal.
11610
11611 2004-02-09 Robert Dewar <dewar@gnat.com>
11612
11613 * s-rident.ads: Minor comment correction
11614
11615 * targparm.adb: Remove dependence on uintp completely. There was
11616 always a bug in Make in that it called Targparm before initializing
11617 the Uint package. The old code appeared to get away with this, but
11618 the new code did not! This caused an assertion error in gnatmake.
11619
11620 * targparm.ads: Fix bad comment, restriction pragmas with parameters
11621 are indeed fully supported.
11622
11623 2004-02-06 Alan Modra <amodra@bigpond.net.au>
11624
11625 * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
11626
11627 2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
11628
11629 * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
11630 with targetm.calls.promote_prototypes.
11631
11632 2004-02-04 Robert Dewar <dewar@gnat.com>
11633
11634 * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
11635 ali.ads, gprcmd.adb: Minor reformatting
11636
11637 * bindgen.adb: Output restrictions string for new style restrictions
11638 handling
11639
11640 * impunit.adb: Add s-rident.ads (System.Rident) and
11641 s-restri (System.Restrictions)
11642
11643 * lib-writ.adb: Fix bug in writing restrictions string (last few
11644 entries wrong)
11645
11646 * s-restri.ads, s-restri.adb: Change name Restrictions to
11647 Run_Time_Restrictions to avoid conflict with package name.
11648 Add circuit to read and acquire run time restrictions.
11649
11650 2004-02-04 Jose Ruiz <ruiz@act-europe.fr>
11651
11652 * restrict.ads, restrict.adb: Use the new restriction
11653 No_Task_Attributes_Package instead of the old No_Task_Attributes.
11654
11655 * sem_prag.adb: No_Task_Attributes is a synonym of
11656 No_Task_Attributes_Package.
11657
11658 * snames.ads, snames.adb: New entry for proper handling of
11659 No_Task_Attributes.
11660
11661 * s-rident.ads: Adding restriction No_Task_Attributes_Package
11662 (AI-00249) that supersedes the GNAT specific restriction
11663 No_Task_Attributes.
11664
11665 2004-02-04 Ed Schonberg <schonberg@gnat.com>
11666
11667 * sem_prag.adb:
11668 (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
11669 body, an identifier may be wrapped in an unchecked conversion.
11670
11671 2004-02-04 Vincent Celier <celier@gnat.com>
11672
11673 * lib-writ.ads: Comment update for the W lines
11674
11675 * bld.adb: (Expression): An empty string list is static
11676
11677 * fname-uf.adb: Minor comment update
11678
11679 * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
11680
11681 * gnatbind.adb: Initialize Cumulative_Restrictions with the
11682 restrictions on the target.
11683
11684 2004-02-03 Kazu Hirata <kazu@cs.umass.edu>
11685
11686 * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
11687 gen_rtx.
11688
11689 2004-02-02 Arnaud Charlet <charlet@gnat.com>
11690
11691 * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
11692
11693 2004-02-02 Vincent Celier <celier@gnat.com>
11694
11695 * gprcmd.adb (Check_Args): If condition is false, print the invoked
11696 comment before the usage.
11697 Gprcmd: Fail when command is not recognized.
11698 (Usage): Document command "prefix"
11699
11700 * g-md5.adb (Digest): Process last block.
11701 (Update): Do not process last block. Store remaining characters and
11702 length in Context.
11703
11704 * g-md5.ads (Update): Document that several call to update are
11705 equivalent to one call with the concatenated string.
11706 (Context): Add fields to allow new Update behaviour.
11707
11708 * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
11709 defaulted to False.
11710 When May_Fail is True and no existing file can be found, return No_File.
11711
11712 * 6vcstrea.adb: Inlined functions are now wrappers to implementation
11713 functions.
11714
11715 * lib-writ.adb (Write_With_Lines): When body file does not exist, use
11716 spec file name instead on the W line.
11717
11718 2004-02-02 Robert Dewar <dewar@gnat.com>
11719
11720 * ali.adb: Read and acquire info from new format restrictions lines
11721
11722 * bcheck.adb: Add circuits for checking restrictions with parameters
11723
11724 * bindgen.adb: Output dummy restrictions data
11725 To be changed later
11726
11727 * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
11728 exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
11729 freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
11730 sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
11731 sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
11732
11733 * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
11734 the warning message on access to possibly uninitialized variable S)
11735 Minor changes for new restrictions handling.
11736
11737 * gnatbind.adb: Minor reformatting
11738 Minor changes for new restrictions handling
11739 Move circuit for -r processing here from bcheck (cleaner)
11740
11741 * gnatcmd.adb, gnatlink.adb: Minor reformatting
11742
11743 * lib-writ.adb: Output new format restrictions lines
11744
11745 * lib-writ.ads: Document new R format lines for new restrictions
11746 handling.
11747
11748 * s-restri.ads/adb: New files
11749
11750 * Makefile.rtl: Add entry for s-restri.ads/adb
11751
11752 * par-ch3.adb: Fix bad error messages starting with upper case letter
11753 Minor reformatting
11754
11755 * restrict.adb: Major rewrite throughout for new restrictions handling
11756 Major point is to handle restrictions with parameters
11757
11758 * restrict.ads: Major changes in interface to handle restrictions with
11759 parameters. Also generally simplifies setting of restrictions.
11760
11761 * snames.ads/adb: New entry for proper handling of No_Requeue
11762
11763 * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
11764 restriction counting.
11765 Other minor changes for new restrictions handling
11766
11767 * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
11768 Restriction_Warnings now allows full parameter notation
11769 Major rewrite of Restrictions for new restrictions handling
11770
11771 2004-02-02 Javier Miranda <miranda@gnat.com>
11772
11773 * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
11774 syntax rule for object renaming declarations.
11775 (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
11776 component definitions.
11777
11778 * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
11779 components.
11780 (Array_Type_Declaration): Give support to access components. In addition
11781 it was also modified to reflect the name of the object in anonymous
11782 array types. The old code did not take into account that it is possible
11783 to have an unconstrained anonymous array with an initial value.
11784 (Check_Or_Process_Discriminants): Allow access discriminant in
11785 non-limited types.
11786 (Process_Discriminants): Allow access discriminant in non-limited types
11787 Initialize the new Access_Definition field in N_Object_Renaming_Decl
11788 node. Change Ada0Y to Ada 0Y in comments
11789
11790 * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
11791 equality operators.
11792 Change Ada0Y to Ada 0Y in comments
11793
11794 * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
11795 renamings Change Ada0Y to Ada 0Y in comments
11796
11797 * sem_type.adb (Find_Unique_Type): Give support to the equality
11798 operators for universal access types
11799 Change Ada0Y to Ada 0Y in comments
11800
11801 * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
11802
11803 * sinfo.ads (N_Component_Definition): Addition of Access_Definition
11804 field.
11805 (N_Object_Renaming_Declaration): Addition of Access_Definition field
11806 Change Ada0Y to Ada 0Y in comments
11807
11808 * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
11809 component definition and object renaming nodes
11810 Change Ada0Y to Ada 0Y in comments
11811
11812 2004-02-02 Jose Ruiz <ruiz@act-europe.fr>
11813
11814 * restrict.adb: Use the new restriction identifier
11815 No_Requeue_Statements instead of the old No_Requeue for defining the
11816 restricted profile.
11817
11818 * sem_ch9.adb (Analyze_Requeue): Check the new restriction
11819 No_Requeue_Statements.
11820
11821 * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
11822 that supersedes the GNAT specific restriction No_Requeue. The later is
11823 kept for backward compatibility.
11824
11825 2004-02-02 Ed Schonberg <schonberg@gnat.com>
11826
11827 * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
11828 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
11829 pragma and fix incorrect ones.
11830
11831 * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
11832 warning if the pragma is redundant.
11833
11834 2004-02-02 Thomas Quinot <quinot@act-europe.fr>
11835
11836 * 5staprop.adb: Add missing 'constant' keywords.
11837
11838 * Makefile.in: use consistent value for SYMLIB on
11839 platforms where libaddr2line is supported.
11840
11841 2004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11842
11843 * utils.c (end_subprog_body): Do not call rest_of_compilation if just
11844 annotating types.
11845
11846 2004-02-02 Olivier Hainque <hainque@act-europe.fr>
11847
11848 * init.c (__gnat_install_handler): Setup an alternate stack for signal
11849 handlers in the environment thread. This allows proper propagation of
11850 an exception on stack overflows in this thread even when the builtin
11851 ABI stack-checking scheme is used without support for a stack reserve
11852 region.
11853
11854 * utils.c (create_field_decl): Augment the head comment about bitfield
11855 creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
11856 here, because the former is not accurate enough at this point.
11857 Let finish_record_type decide instead.
11858 Don't make a bitfield if the field is to be addressable.
11859 Always set a size for the field if the record is packed, to ensure the
11860 checks for bitfield creation are triggered.
11861 (finish_record_type): During last pass over the fields, clear
11862 DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
11863 not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P
11864 from DECL_BIT_FIELD.
11865
11866 2004-01-30 Kelley Cook <kcook@gcc.gnu.org>
11867
11868 * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
11869 (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
11870 (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
11871
11872 2004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11873
11874 * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
11875
11876 * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
11877 (ZCX_By_Default): Likewise.
11878 (Front_End_ZCX_Support): Likewise.
11879
11880 * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
11881 (Initialize_Lock): Mark Level unreferenced.
11882 (Sleep): Mark Reason unreferenced.
11883 (Timed_Sleep): Likewise.
11884 (Wakeup): Likewise.
11885 (Exit_Task): Use Result.
11886 (Check_No_Locks): Mark Self_ID unreferenced.
11887
11888 * 5gtasinf.adb (New_Sproc): Make Attr constant.
11889 (Bound_Thread_Attributes): Make Sproc constant.
11890 (New_Bound_Thread_Attributes): Likewise.
11891
11892 2004-01-26 Ed Schonberg <schonberg@gnat.com>
11893
11894 * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
11895 one-dimensional array an slice assignments, when component type is
11896 controlled.
11897
11898 * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
11899 component type is controlled, and control_actions are in effect, use
11900 TSS procedure rather than generating inline code.
11901
11902 * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
11903 arrays with controlled components.
11904
11905 2004-01-26 Vincent Celier <celier@gnat.com>
11906
11907 * gnatcmd.adb (GNATCmd): Add specification of argument file on the
11908 command line for the non VMS case.
11909
11910 * gnatlink.adb (Process_Binder_File): When building object file, if
11911 GNU linker is used, put all object paths between quotes, to prevent ld
11912 error when there are unusual characters (such as '!') in the paths.
11913
11914 * Makefile.generic: When there are sources in Ada and the main is in
11915 C/C++, invoke gnatmake with -B, instead of -z.
11916
11917 * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
11918 from VMS_Conversion.
11919 (Process_Argument): New procedure, extracted from VMS_Conversion. Add
11920 specification of argument file on the command line.
11921
11922 2004-01-26 Bernard Banner <banner@gnat.com>
11923
11924 * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
11925
11926 2004-01-26 Ed Schonberg <schonberg@gnat.com>
11927
11928 * snames.adb: Update copyright notice.
11929 Add info on slice assignment for controlled arrays.
11930
11931 2004-01-23 Robert Dewar <dewar@gnat.com>
11932
11933 * exp_aggr.adb: Minor reformatting
11934
11935 * exp_ch9.adb: Minor code clean up
11936 Minor reformatting
11937 Fix bad character in comment
11938
11939 PR ada/13471
11940 * targparm.adb (Get_Target_Parameters): Give clean abort error on
11941 unexpected end of file, along with more detailed message.
11942
11943 2004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11944
11945 * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
11946 PAT.
11947
11948 * decl.c (copy_alias_set): New function.
11949 (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
11950
11951 2004-01-23 Doug Rupp <rupp@gnat.com>
11952
11953 * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
11954 lib$${file} in case subsequent character is not a separator.
11955
11956 2004-01-23 Vincent Celier <celier@gnat.com>
11957
11958 * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
11959 when the GCC version is at least 3.
11960
11961 * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
11962 Remove all "Opt.", to prepare for opt split
11963
11964 * prj-part.adb (Parse_Single_Project): New Boolean out parameter
11965 Extends_All. Set to True when the project parsed is an extending all
11966 project. Fails for importing an extending all project only when the
11967 imported project is an extending all project.
11968 (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
11969 depending on the value of Extends_All returned.
11970
11971 * prj-proc.adb (Process): Check that no project shares its object
11972 directory with a project that extends it, directly or indirectly,
11973 including a virtual project.
11974 Check that no project extended by another project shares its object
11975 directory with another also extended project.
11976
11977 * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
11978 Kind = N_With_Clause
11979
11980 * prj-tree.ads: Minor reformatting
11981 Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
11982
11983 2004-01-23 Ed Schonberg <schonberg@gnat.com>
11984
11985 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
11986 applies to a type with an incomplete view, use full view in Name of
11987 clause, for consistency with uses of Get_Attribute_Definition_Clause.
11988
11989 2004-01-23 Arnaud Charlet <charlet@act-europe.fr>
11990
11991 * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
11992 SCHED_RR, since other values are not supported by this policy.
11993 (Initialize): Move initialization of mutex attribute to package
11994 elaboration, to prevent early access to this variable.
11995
11996 * Makefile.in: Remove mention of Makefile.adalib, unused.
11997
11998 * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
11999 1ssecsta.ads: Removed, unused.
12000
12001 2004-01-21 Javier Miranda <miranda@gnat.com>
12002
12003 * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
12004 entity if already built in the current scope.
12005
12006 * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
12007 reminder in internal scopes. Required for nested limited aggregates.
12008
12009 2004-01-21 Doug Rupp <rupp@gnat.com>
12010
12011 * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
12012 VMS. Replace all occurences of libgnat- and libgnarl- with
12013 libgnat$(hyphen) and libgnarl$(hyphen).
12014 Fixed shared library build problem on VMS.
12015
12016 2004-01-21 Robert Dewar <dewar@gnat.com>
12017
12018 * mlib-prj.adb: Minor reformatting
12019
12020 2004-01-21 Thomas Quinot <quinot@act-europe.fr>
12021
12022 * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
12023 'constant' keywords for declaration of pointers that are not modified.
12024
12025 * exp_pakd.adb: Fix English in comment.
12026
12027 2004-01-21 Ed Schonberg <schonberg@gnat.com>
12028
12029 PR ada/10889
12030 * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
12031 copy all attributes of the parent, including the foreign language
12032 convention.
12033
12034 2004-01-21 Sergey Rybin <rybin@act-europe.fr>
12035
12036 PR ada/10565
12037 * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
12038 for 'delay until' statement.
12039
12040 2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
12041
12042 * Make-lang.in: Replace $(docdir) with doc.
12043 (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
12044 doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
12045 to use consistent MAKEINFO rule.
12046 (ada.man, ada.srcman): Dummy entry.
12047 (ADA_INFOFILES): Define.
12048 (ada.info, ada.srcinfo): New rules.
12049
12050 2004-01-19 Arnaud Charlet <charlet@act-europe.fr>
12051
12052 * utils.c: Update copyright notice, missed in previous change.
12053
12054 2004-01-19 Vincent Celier <celier@gnat.com>
12055
12056 * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
12057 args if Bind is True. Set First_ALI, if not already done.
12058 (Build_Library): For Stand Alone Libraries, extract from one ALI file
12059 an eventual --RTS switch, for gnatbind, and all backend switches +
12060 --RTS, for linking.
12061
12062 2004-01-19 Robert Dewar <dewar@gnat.com>
12063
12064 * sem_attr.adb, memtrack.adb: Minor reformatting
12065
12066 2004-01-19 Ed Schonberg <schonberg@gnat.com>
12067
12068 * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
12069 that rename enumeration literals. This is properly done in sem_eval.
12070
12071 * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
12072 to functions that rename enumeration literals.
12073
12074 * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
12075 functions that rename enumeration literals.
12076
12077 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
12078
12079 * Make-lang.in (utils.o): Depend on target.h.
12080 * utils.c: Include target.h.
12081 (process_attributes): Use targetm.have_named_sections instead
12082 of ASM_OUTPUT_SECTION_NAME.
12083
12084 2004-01-16 Andreas Jaeger <aj@suse.de>
12085
12086 * Makefile.in: Add $(DESTDIR).
12087
12088 2004-01-15 Olivier Hainque <hainque@act-europe.fr>
12089
12090 * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
12091 also when not defining if a Size clause applies. That information is
12092 not to be ignored.
12093
12094 2004-01-15 Arnaud Charlet <charlet@act-europe.fr>
12095
12096 * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
12097 symbolic links for the shared gnat run time when needed.
12098
12099 2004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr>
12100
12101 * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
12102 for writing, and terminate with an error message if not.
12103
12104 2004-01-15 Ed Schonberg <schonberg@gnat.com>
12105
12106 * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
12107 warning on an access to subprogram in an instance, when the target
12108 type is declared in the same generic unit.
12109 (Eval_Attribute): If 'access is known to fail accessibility check,
12110 rewrite as a raise statement.
12111
12112 2004-01-15 GNAT Script <nobody@gnat.com>
12113
12114 * Make-lang.in: Makefile automatically updated
12115
12116 2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
12117
12118 * Make-lang.in (ada.srcextra): Dummy entry.
12119
12120 2004-01-14 Kelley Cook <kcook@gcc.gnu.org>
12121
12122 * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
12123
12124 2004-01-13 Ed Schonberg <schonberg@gnat.com>
12125
12126 * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
12127 components that are initialized with aggregates.
12128
12129 2004-01-13 Vincent Celier <celier@gnat.com>
12130
12131 * gnatlink.adb (Process_Binder_File): To find directory of shared
12132 libgcc, if "gcc-lib" is not a subdirectory, look for the last
12133 subdirectory "lib" in the path of the shared libgnat or libgnarl.
12134
12135 * make.adb (Gnatmake): If GCC version is at least 3, link with
12136 -shared-libgcc, when there is at least one shared library project.
12137
12138 * opt.ads (GCC_Version): New integer constant.
12139
12140 * adaint.c (get_gcc_version): New function.
12141
12142 2004-01-13 Robert Dewar <dewar@gnat.com>
12143
12144 * sem_dist.adb, sem_res.adb, sem_util.adb,
12145 sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
12146 exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
12147
12148 2004-01-13 Thomas Quinot <quinot@act-europe.fr>
12149
12150 * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
12151 g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
12152 declarations.
12153
12154 2004-01-12 Arnaud Charlet <charlet@act-europe.fr>
12155
12156 * misc.c: Remove trailing spaces.
12157 Update copyright notice missed in previous change.
12158
12159 PR ada/13572
12160 * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
12161 prefix/share/make
12162
12163 * Makefile.generic: Update copyright.
12164 Add license notice.
12165
12166 * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
12167 of prefix/share/make.
12168
12169 * Makefile.prolog: Update copyright.
12170 Add license notice.
12171
12172 2004-01-12 Laurent Pautet <pautet@act-europe.fr>
12173
12174 * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
12175 3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
12176 g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
12177 instead of String.
12178
12179 * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
12180 signature.
12181
12182 2004-01-12 Javier Miranda <miranda@gnat.com>
12183
12184 * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
12185 exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
12186 sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
12187 sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
12188 Component_Definition node.
12189
12190 2004-01-12 Ed Falis <falis@gnat.com>
12191
12192 * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
12193
12194 2004-01-12 Thomas Quinot <quinot@act-europe.fr>
12195
12196 * link.c: Change default libgnat kind to STATIC for FreeBSD.
12197
12198 2004-01-12 Bernard Banner <banner@gnat.com>
12199
12200 * Makefile.in: map 86numaux to a-numaux for x86_64
12201
12202 2004-01-12 Ed Schonberg <schonberg@gnat.com>
12203
12204 * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
12205 generated to rename a generic actual, go to the actual itself, the
12206 subtype is not a user-visible entity.
12207
12208 * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
12209 part is a private subtype, reset the visibility of its full view, if
12210 any, to be consistent.
12211
12212 PR ada/13417
12213 * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
12214 to use a generic package G as a formal package for another generic
12215 declared within G.
12216
12217 2004-01-12 Robert Dewar <dewar@gnat.com>
12218
12219 * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
12220
12221 * usage.adb: Remove mention of obsolete -gnatwb switch
12222 Noticed during code reading
12223
12224 2004-01-12 Jerome Guitton <guitton@act-europe.fr>
12225
12226 * 1ssecsta.adb: Minor changes for -gnatwa warnings
12227
12228 2004-01-12 GNAT Script <nobody@gnat.com>
12229
12230 * Make-lang.in: Makefile automatically updated
12231
12232 2004-01-09 Mark Mitchell <mark@codesourcery.com>
12233
12234 * misc.c (gnat_expand_expr): Add alt_rtl parameter.
12235
12236 2004-01-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12237
12238 * link.c [sgi] (shared_libgnat_default): Change to STATIC.
12239
12240 2004-01-05 Kelley Cook <kcook@gcc.gnu.org>
12241
12242 * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
12243 Update comment and copyright date.
12244 * stamp-xgnatug: Delete.
12245
12246 2004-01-05 Robert Dewar <dewar@gnat.com>
12247
12248 * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
12249 be modified by the binder generated main program if the -D switch is
12250 used.
12251
12252 * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
12253 imported functions (since now we expect this to be done for imported
12254 functions)
12255
12256 * 5vtaprop.adb: Add several ??? for sections requiring more comments
12257 Minor reformatting throughout
12258
12259 * 5zinit.adb: Minor reformatting
12260 Add 2004 to copyright date
12261 Minor changes to avoid -gnatwa warnings
12262 Correct some instances of using OR instead of OR ELSE (noted while
12263 doing reformatting)
12264
12265 * sprint.adb: Minor updates to avoid -gnatwa warnings
12266
12267 * s-secsta.ads, s-secsta.adb:
12268 (SS_Get_Max): New function to obtain high water mark for ss stack
12269 Default_Secondary_Stack is not a constant since it may be modified by
12270 the binder generated main program if the -D switch is used.
12271
12272 * switch-b.adb: New -Dnnn switch for binder
12273
12274 * switch-c.adb:
12275 Make -gnatg imply all warnings currently in -gnatwa
12276
12277 * vms_conv.adb: Minor reformatting
12278 Add 2004 to copyright notice
12279 Add 2004 to printed copyright notice
12280
12281 * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
12282 3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
12283 5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
12284 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
12285 5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
12286 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
12287 5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
12288 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
12289 5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
12290 5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
12291 6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
12292 vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
12293 xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
12294 sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
12295 checks.adb, clean.adb, cstand.adb, einfo.ads,
12296 einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
12297 exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
12298 prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
12299 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
12300 g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
12301 lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
12302 Minor reformatting and code clean ups.
12303 Minor changes to prevent -gnatwa warnings
12304
12305 * ali.adb: Minor reformatting and cleanup of code
12306 Acquire new SS indication of secondary stack use from ali files
12307
12308 * a-numaux.ads: Add Pure_Function pragmas for all imported functions
12309 (since now we expect this to be done for imported functions)
12310
12311 * bindgen.adb: Generate call to modify default secondary stack size if
12312 -Dnnn switch given
12313
12314 * bindusg.adb: Add line for new -D switch
12315
12316 * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
12317 replacement name for Type_May_Have_Non_Bit_Aligned_Components!
12318 Add circuitry for both records and arrays to avoid gigi
12319 processing if the type involved has non-bit-aligned components
12320
12321 * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
12322 N_String_Literal node always references an E_String_Literal_Subtype
12323 entity. This may not be true in the future.
12324 (Possible_Bit_Aligned_Component): Move processing of
12325 Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
12326
12327 * exp_ch6.adb (Expand_Thread_Body): Pick up
12328 Default_Secondary_Stack_Size as variable so that we get value modified
12329 by possible -Dnnn binder parameter.
12330
12331 * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
12332 (Type_May_Have_Bit_Aligned_Components): New function.
12333
12334 * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
12335 (Type_May_Have_Bit_Aligned_Components): New function.
12336
12337 * fe.h: (Set_Identifier_Casing): Fix prototype.
12338 Add declaration for Sem_Elim.Eliminate_Error_Msg.
12339 Minor reformatting.
12340
12341 * freeze.adb (Freeze_Entity): Add RM reference to error message about
12342 importing constant atomic/volatile objects.
12343 (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
12344 unless explicit Pure_Function pragma given, to avoid insidious bug of
12345 call to non-pure imported function getting eliminated.
12346
12347 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
12348 gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
12349 gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
12350 Add 2004 to printed copyright notice
12351
12352 * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
12353 stack used.
12354
12355 * Makefile.rtl: Add entry for g-sestin.o
12356 g-sestin.ads: New file.
12357
12358 * mdll.adb: Minor changes to avoid -gnatwa warnings
12359
12360 * mlib-tgt.adb: Minor reformatting
12361
12362 * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
12363 New switch Sec_Stack_Used (GNAT, GNATBIND)
12364 Make Default_Secondary_Stack_Size a variable instead of a constant,
12365 so that it can be modified by the new -Dnnn bind switch.
12366
12367 * rtsfind.adb (Load_Fail): Give full error message in configurable
12368 run-time mode if all_errors mode is set. This was not done in the case
12369 of a file not found, which was an oversight.
12370 Note if secondary stack unit is used by compiler.
12371
12372 * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
12373 ineffective elaborate all pragmas on non-visible packages (this
12374 happened when a renamed subprogram was called). Now the elaborate all
12375 always goes on the package containing the renaming rather than the one
12376 containing the renamed subprogram.
12377
12378 * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
12379 (Process_Eliminate_Pragma): Add parameter to capture pragma location.
12380
12381 * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
12382 has an Etype that references an E_String_Literal.
12383 (Eval_String_Literal): Avoid assumption that N_String_Literal node
12384 always references an E_String_Literal_Subtype entity. This may not
12385 be true in the future.
12386
12387 * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
12388 pragma location.
12389
12390 * sem_res.adb (Resolve): Specialize msg for function name used in proc
12391 call.
12392
12393 2004-01-05 Ed Falis <falis@gnat.com>
12394
12395 * g-debuti.adb: Replaced direct boolean operator with short-circuit
12396 form.
12397
12398 2004-01-05 Vincent Celier <celier@gnat.com>
12399
12400 * bld.adb: Minor comment updates
12401 (Process_Declarative_Items): Correct incorrect name (Index_Name instead
12402 of Item_Name).
12403
12404 * make.adb (Gnatmake): Special process for files to compile/check when
12405 -B is specified. Fail when there are only foreign mains in attribute
12406 Main of the project file and -B is not specified. Do not skip bind/link
12407 steps when -B is specified.
12408
12409 * makeusg.adb: Document new switch -B
12410
12411 * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
12412
12413 * switch-m.adb: (Scan_Make_Switches): Process -B switch
12414
12415 * vms_data.ads: Add new GNAT PRETTY qualifier
12416 /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
12417
12418 2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12419
12420 * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
12421 case.
12422
12423 * misc.c (gnat_printable_name): If VERBOSITY is 2, call
12424 Set_Identifier_Casing.
12425
12426 * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
12427 has size that overflows.
12428
12429 2004-01-05 Gary Dismukes <dismukes@gnat.com>
12430
12431 * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
12432 -gnatwa warning on static condition.
12433
12434 2004-01-05 Doug Rupp <rupp@gnat.com>
12435
12436 * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
12437
12438 2004-01-05 Arnaud Charlet <charlet@act-europe.fr>
12439
12440 * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
12441 all attributes, including read-only attribute.
12442
12443 2004-01-05 Pascal Obry <obry@gnat.com>
12444
12445 * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
12446 library naming scheme.
12447
12448 * mlib-prj.adb (Build_Library): Generate different names for the static
12449 or dynamic version of the GNAT runtime. This is needed to support the
12450 new shared library naming scheme.
12451 (Process_Binder_File): Add detection of shared library in binder file
12452 based on the new naming scheme.
12453
12454 * gnatlink.adb (Process_Binder_File): Properly detect the new naming
12455 scheme for the shared runtime libraries.
12456
12457 * Makefile.in:
12458 (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
12459 scheme.
12460 (install-gnatlib): Do not create symlinks for shared libraries.
12461 (gnatlib-shared-default): Idem.
12462 (gnatlib-shared-dual-win32): New target. Not used for now as the
12463 auto-import feature does not support arrays/records.
12464 (gnatlib-shared-win32): Do not create copy for the shared libraries.
12465 (gnatlib-shared-vms): Fix shared runtime libraries names.
12466
12467 * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
12468 dependent runtime shared library name.
12469
12470 2004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr>
12471
12472 * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
12473 than the object.
12474
12475 2004-01-05 Ed Schonberg <schonberg@gnat.com>
12476
12477 * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
12478 protected objects when allocator has a subtype indication, not a
12479 qualified expression. Note that qualified expressions may have to be
12480 checked when limited aggregates are implemented.
12481
12482 * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
12483 pure, emit warning.
12484 (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
12485 subprogram is imported, remove warning.
12486
12487 2004-01-05 Geert Bosch <bosch@gnat.com>
12488
12489 * s-poosiz.adb: Update copyright notice.
12490 (Allocate): Use Task_Lock to protect against concurrent access.
12491 (Deallocate): Likewise.
12492
12493 2004-01-05 Joel Brobecker <brobecker@gnat.com>
12494
12495 * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
12496 comment.
12497
12498 2003-12-23 Kelley Cook <kcook@gcc.gnu.org>
12499
12500 * gnat_ug.texi: Force a CVS commit by updating copyright.
12501 * gnat_ug_vxw.texi: Regenerate.
12502 * gnat_ug_wnt.texi: Regenerate.
12503 * gnat_ug_vms.texi: Regenerate.
12504 * gnat_ug_unx.texi: Regenerate.
12505
12506 2003-12-20 Kazu Hirata <kazu@cs.umass.edu>
12507
12508 * trans.c: Remove uses of "register" specifier in
12509 declarations of local variables.
12510
12511 2003-12-18 Kelley Cook <kcook@gcc.gnu.org>
12512
12513 * stamp-xgnatug: New stamp file.
12514 * Make-lang.in (stamp-xgnatug): New stamp file and comment.
12515 (ada/doctools/xgnatug): Add $(build_exeext).
12516 (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
12517 ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
12518
12519 2003-12-17 Ed Falis <falis@gnat.com>
12520
12521 * a-elchha.adb (Tailored_Exception_Information): made Info constant to
12522 eliminate warning.
12523
12524 * a-exextr.adb: Add context clause for
12525 Ada.Exceptions.Last_Chance_Handler.
12526
12527 2003-12-17 Sergey Rybin <rybin@act-europe.fr>
12528
12529 * cstand.adb (Create_Standard): Change the way how the declaration of
12530 the Duration type is created (making it the same way as it is for all
12531 the other standard types).
12532
12533 2003-12-17 Robert Dewar <dewar@gnat.com>
12534
12535 * s-crtl.ads: Fix header format
12536 Change Pure to Preelaborate
12537
12538 2003-12-17 Ed Schonberg <schonberg@gnat.com>
12539
12540 * checks.adb (Selected_Length_Checks): Generate an Itype reference for
12541 the expression type only if it is declared in the current unit.
12542
12543 * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
12544 are universal and already analyzed, as can occur in constrained
12545 subcomponents that depend on discriminants, when one constraint is a
12546 subtype mark.
12547
12548 * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
12549 type Any_Fixed is legal as the argument of a conversion, if only one
12550 fixed-point type is in context.
12551
12552 2003-12-17 GNAT Script <nobody@gnat.com>
12553
12554 * Make-lang.in: Makefile automatically updated
12555
12556 2003-12-15 Robert Dewar <dewar@gnat.com>
12557
12558 * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
12559 sec stack size.
12560
12561 2003-12-15 Vincent Celier <celier@gnat.com>
12562
12563 * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
12564 (Gnatchop): Do not set failure status when reporting the number of
12565 warnings.
12566
12567 2003-12-15 Doug Rupp <rupp@gnat.com>
12568
12569 * s-ctrl.ads: New file.
12570
12571 * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
12572
12573 * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
12574 (GNATBIND_OBJS): Add ada/s-crtl.o.
12575
12576 * Makefile.in [VMS]: Clean up ifeq rules.
12577
12578 * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
12579 a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
12580 g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
12581 s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
12582 s-tasdeb.adb: Update copyright.
12583 Import System.CRTL.
12584 Make minor modifications to use System.CRTL declared functions instead
12585 of importing locally.
12586
12587 2003-12-15 GNAT Script <nobody@gnat.com>
12588
12589 * Make-lang.in: Makefile automatically updated
12590
12591 2003-12-11 Ed Falis <falis@gnat.com>
12592
12593 * 5zinit.adb: Clean up.
12594
12595 * 5zintman.adb (Notify_Exception): replaced case statement with a call
12596 to __gnat_map_signal, imported from init.c to support
12597 signal -> exception mappings that depend on the vxWorks version.
12598
12599 * init.c:
12600 Created and exported __gnat_map_signal to support signal -> exception
12601 mapping that is dependent on the VxWorks version.
12602 Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
12603
12604 2003-12-11 Vasiliy Fofanv <fofanov@act-europe.fr>
12605
12606 * 5wosinte.ads: Link with -mthreads switch.
12607
12608 2003-12-11 Arnaud Charlet <charlet@act-europe.fr>
12609
12610 * init.c (__gnat_install_handler [NetBSD]): Set
12611 __gnat_handler_installed, as done on all other platforms.
12612 Remove duplicated code.
12613
12614 2003-12-11 Jerome Guitton <guitton@act-europe.fr>
12615
12616 * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
12617
12618 2003-12-11 Thomas Quinot <quinot@act-europe.fr>
12619
12620 * sinfo.ads: Fix inconsistent example code in comment.
12621
12622 2003-12-11 Robert Dewar <dewar@gnat.com>
12623
12624 * a-tiinau.adb: Add a couple of comments
12625
12626 * sem_ch3.adb: Minor reformatting
12627
12628 * sem_prag.adb:
12629 Fix bad prototype of Same_Base_Type in body (code reading cleanup)
12630 Minor reformatting throughout
12631
12632 2003-12-11 Ed Schonberg <schonberg@gnat.com>
12633
12634 * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
12635 bounds of a loop, create a separate block in order to generate proper
12636 cleanup actions to prevent memory leaks.
12637
12638 * sem_res.adb (Resolve_Call): After a call to
12639 Establish_Transient_Scope, the call may be rewritten and relocated, in
12640 which case no further processing is needed.
12641
12642 * sem_util.adb: (Wrong_Type): Refine previous fix.
12643 Fixes ACATS regressions.
12644
12645 PR ada/13353
12646
12647 * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
12648 be inlined.
12649
12650 2003-12-08 Jerome Guitton <guitton@act-europe.fr>
12651
12652 * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
12653 i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
12654 obsolete files.
12655
12656 * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
12657 (rts-zfp): Ditto.
12658
12659 2003-12-08 Robert Dewar <dewar@gnat.com>
12660
12661 * 7sintman.adb: Minor reformatting
12662
12663 * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
12664 standard linker options to get standard libraries linked. We now plan
12665 to provide dummy versions of these libraries to match the appropriate
12666 configurable run-time (e.g. if a library is not needed at all, provide
12667 a dummy empty library).
12668
12669 * targparm.ads: Configurable_Run_Time mode no longer affects linker
12670 options (-L parameters and standard libraries). What we plan to do is
12671 to provide dummy libraries where the libraries are not required.
12672
12673 * gnatbind.adb: Minor comment improvement
12674
12675 2003-12-08 Javier Miranda <miranda@gnat.com>
12676
12677 * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
12678 aggregate in the parent. Otherwise constants with limited aggregates
12679 are not supported. Add new formal to pass the component type (Ctype).
12680 It is required to call the corresponding IP subprogram in case of
12681 default initialized components.
12682 (Gen_Assign): In case of default-initialized component, generate a
12683 call to the IP subprogram associated with the component.
12684 (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
12685 of aggregate with default initialized components.
12686 (Has_Default_Init_Comps): Improve implementation to recursively check
12687 all the present expressions.
12688
12689 * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
12690 to indicate that the initialization call corresponds to a
12691 default-initialized component of an aggregate.
12692 In case of default initialized aggregate with tasks this parameter is
12693 used to generate a null string (this is just a workaround that must be
12694 improved later). In case of discriminants, this parameter is used to
12695 generate a selected component node that gives access to the discriminant
12696 value.
12697
12698 * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
12699 subprogram, based on Build_Task_Allocate_Block, but adapted to expand
12700 allocated aggregates with default-initialized components.
12701
12702 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
12703 the box notation is used in positional aggregates.
12704
12705 2003-12-08 Samuel Tardieu <tardieu@act-europe.fr>
12706
12707 * lib.ads: Fix typo in comment
12708
12709 2003-12-08 Vincent Celier <celier@gnat.com>
12710
12711 * prj.adb (Project_Empty): New component Unkept_Comments
12712 (Scan): Remove procedure; moved to Prj.Err.
12713
12714 * prj.ads (Project_Data): New Boolean component Unkept_Comments
12715 (Scan): Remove procedure; moved to Prj.Err.
12716
12717 * prj-dect.adb: Manage comments for the different declarations.
12718
12719 * prj-part.adb (With_Record): New component Node
12720 (Parse): New Boolean parameter Store_Comments, defaulted to False.
12721 Set the scanner to return ends of line and comments as tokens, if
12722 Store_Comments is True.
12723 (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
12724 comments are associated with these nodes. Store the node IDs in the
12725 With_Records.
12726 (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
12727 With_Records.
12728 (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
12729 the N_Project node. Call Tree.Save and Tree.Reset before scanning the
12730 current project. Call Tree.Restore afterwards. Set the various nodes
12731 for comment storage (Next_End, End_Of_Line, Previous_Line,
12732 Previous_End).
12733
12734 * prj-part.ads (Parse): New Boolean parameter Store_Comments,
12735 defaulted to False.
12736
12737 * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
12738 to False. When Truncated is True, truncate the string, never go to the
12739 next line.
12740 (Write_End_Of_Line_Comment): New procedure
12741 (Print): Process comments for nodes N_With_Clause,
12742 N_Package_Declaration, N_String_Type_Declaration,
12743 N_Attribute_Declaration, N_Typed_Variable_Declaration,
12744 N_Variable_Declaration, N_Case_Construction, N_Case_Item.
12745 Process nodes N_Comment.
12746
12747 * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
12748 without comments and there are some comments, set the flag
12749 Unkept_Comments to True.
12750 (Scan): If there are comments, set the flag Unkept_Comments to True and
12751 clear the comments.
12752 (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
12753 (Next_End_Nodes: New table
12754 (Comment_Zones_Of): New function
12755 (Scan): New procedure; moved from Prj. Accumulate comments in the
12756 Comments table and set end of line comments, comments after, after end
12757 and before end.
12758 (Add_Comments): New procedure
12759 (Save, Restore, Seset_State): New procedures
12760 (There_Are_Unkept_Comments): New function
12761 (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
12762 (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
12763 procedures.
12764 (First_Comment_After, First_Comment_After_End): New functions
12765 (First_Comment_Before, First_Comment_Before_End): New functions
12766 (Next_Comment): New function
12767 (End_Of_Line_Comment, Follows_Empty_Line,
12768 Is_Followed_By_Empty_Line): New functions
12769 (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
12770 (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
12771 (Set_Next_Comment): New procedure
12772 (Default_Project_Node): Associate comment before if the node can store
12773 comments.
12774
12775 * scans.ads (Token_Type): New enumeration value Tok_Comment
12776 (Comment_Id): New global variable
12777
12778 * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
12779 defaulted to False.
12780 (Scan): Store position of start of comment. If comments are tokens, set
12781 Comment_Id and set Token to Tok_Comment when scanning a comment.
12782 (Set_Comment_As_Token): New procedure
12783
12784 * sinput-p.adb: Update Copyright notice
12785 (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
12786 that no longer exists.
12787
12788 2003-12-08 Javier Miranda <miranda@gnat.com>
12789
12790 * sem_aggr.adb: Add dependence on Exp_Tss package
12791 Correct typo in comment
12792 (Resolve_Aggregate): In case of array aggregates set the estimated
12793 type of the aggregate before calling resolve. This is needed to know
12794 the name of the corresponding IP in case of limited array aggregates.
12795 (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
12796 in case of default initialized array components.
12797
12798 * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
12799 types. Required to give support to limited aggregates in generic
12800 formals.
12801
12802 2003-12-08 Ed Schonberg <schonberg@gnat.com>
12803
12804 * sem_ch3.adb (Check_Initialization): For legality purposes, an
12805 inlined body functions like an instantiation.
12806 (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
12807 until bounds are analyzed, to diagnose premature use of type.
12808
12809 * sem_util.adb (Wrong_Type): Improve error message when the type of
12810 the expression is used prematurely.
12811
12812 2003-12-08 GNAT Script <nobody@gnat.com>
12813
12814 * Make-lang.in: Makefile automatically updated
12815
12816 2003-12-08 Arnaud Charlet <charlet@act-europe.fr>
12817
12818 * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
12819 they are automatically generated by Make-lang.in and cause nothing but
12820 maintenance troubles.
12821
12822 2003-12-05 Thomas Quinot <quinot@act-europe.fr>
12823
12824 * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
12825 version of this unit).
12826
12827 2003-12-05 Olivier Hainque <hainque@act-europe.fr>
12828
12829 * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
12830 5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
12831 5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
12832 the body of System.Interrupt_Management common to several targets.
12833 Update copyright notice when appropriate.
12834
12835 * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
12836 constant.
12837
12838 * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
12839 to ensure that the kernel fills in the interrupted context structure
12840 before calling a signal handler, which is necessary to be able to
12841 unwind past it. Update the copyright notice.
12842
12843 2003-12-05 Jerome Guitton <guitton@act-europe.fr>
12844
12845 * a-elchha.ads: New file.
12846
12847 * a-elchha.adb: New default last chance handler. Contents taken from
12848 Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
12849
12850 * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
12851 is moved to a-elchha.adb to provide a target-independent default last
12852 chance handler.
12853
12854 * Makefile.rtl: Add a-elchha.o
12855
12856 * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
12857
12858 2003-12-05 Ed Schonberg <schonberg@gnat.com>
12859
12860 * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
12861 declared in an instance, do not inline the call if the instance is not
12862 frozen yet, to prevent order of elaboration problems.
12863
12864 * sem_prag.adb: Add comments for previous fix.
12865
12866 2003-12-05 Samuel Tardieu <tardieu@act-europe.fr>
12867
12868 * g-table.adb: Use the right variable in Set_Item.
12869 Update copyright notice.
12870
12871 2003-12-05 Arnaud Charlet <charlet@act-europe.fr>
12872
12873 * Makefile.in: Remove unused rules.
12874
12875 2003-12-05 Vincent Celier <celier@gnat.com>
12876
12877 * switch-c.adb (Scan_Front_End_Switches): Remove processing of
12878 -nostdlib. Not needed here after all.
12879
12880 2003-12-03 Thomas Quinot <quinot@act-europe.fr>
12881
12882 PR ada/11724
12883
12884 * adaint.h, adaint.c, g-os_lib.ads:
12885 Do not assume that the offset argument to lseek(2) is a 32 bit integer,
12886 on some platforms (including FreeBSD), it is a 64 bit value.
12887 Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
12888
12889 2003-12-03 Arnaud Charlet <charlet@act-europe.fr>
12890
12891 * gnatvsn.ads (Library_Version): Now contain only the relevant
12892 version info.
12893 (Verbose_Library_Version): New constant.
12894
12895 * g-spipat.adb, g-awk.adb, g-debpoo.adb,
12896 g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
12897 s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
12898
12899 * gnatlbr.adb: Clean up: replace Library_Version by
12900 Verbose_Library_Version.
12901
12902 * make.adb, lib-writ.adb, exp_attr.adb:
12903 Clean up: replace Library_Version by Verbose_Library_Version.
12904
12905 * 5lintman.adb: Removed.
12906
12907 * Makefile.in:
12908 Update and simplify computation of LIBRARY_VERSION.
12909 Fix computation of GSMATCH_VERSION.
12910 5lintman.adb is no longer used: replaced by 7sintman.adb.
12911
12912 2003-12-03 Robert Dewar <dewar@gnat.com>
12913
12914 * exp_ch5.adb:
12915 (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
12916 name. Modified to consider small non-bit-packed arrays as troublesome
12917 and in need of component-by-component assigment expansion.
12918
12919 2003-12-03 Vincent Celier <celier@gnat.com>
12920
12921 * lang-specs.h: Process nostdlib as nostdinc
12922
12923 * back_end.adb: Update Copyright notice
12924 (Scan_Compiler_Arguments): Process -nostdlib directly.
12925
12926 2003-12-03 Jose Ruiz <ruiz@act-europe.fr>
12927
12928 * Makefile.in:
12929 When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
12930 redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
12931 included in HIE_NONE_TARGET_PAIRS.
12932
12933 2003-12-03 Ed Schonberg <schonberg@gnat.com>
12934
12935 * sem_attr.adb:
12936 (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
12937 is legal in an instance, because legality is cheched in the template.
12938
12939 * sem_prag.adb:
12940 (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
12941 appplied to an unchecked conversion of a formal parameter.
12942
12943 * sem_warn.adb:
12944 (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
12945 variables.
12946
12947 2003-12-03 Olivier Hainque <hainque@act-europe.fr>
12948
12949 * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
12950 routines. The second one is new functionality to deal with backtracing
12951 through signal handlers.
12952 (unwind): Split into the two separate subroutines above.
12953 Update the documentation, and deal properly with sizeof (REG) different
12954 from sizeof (void*).
12955
12956 2003-12-01 Nicolas Setton <setton@act-europe.fr>
12957
12958 * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
12959 so that the debugger can reliably access the value of the parameter,
12960 and therefore is able to display the exception name when an exception
12961 breakpoint is reached.
12962
12963 2003-12-01 Thomas Quinot <quinot@act-europe.fr>
12964
12965 * fmap.adb: Fix typo in warning message.
12966
12967 * g-socket.ads, g-socket.adb: Make Free a visible instance of
12968 Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
12969
12970 2003-12-01 Vincent Celier <celier@gnat.com>
12971
12972 * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
12973 ther is no Afile.
12974 (Build_Library): Get the switches only if Default_Switches is declared
12975 in package Binder.
12976
12977 2003-12-01 Ed Schonberg <schonberg@gnat.com>
12978
12979 * exp_ch6.adb (Expand_Actuals): When applying validity checks to
12980 actuals that are indexed components, reanalyze actual to ensure that
12981 packed array references are properly expanded.
12982
12983 * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
12984 attempted assignment to a discriminant.
12985
12986 2003-12-01 Robert Dewar <dewar@gnat.com>
12987
12988 * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
12989 reformatting.
12990
12991 * switch-c.adb: Minor reformatting of comments
12992
12993 2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
12994
12995 * Makefile.in: Clean ups.
12996
12997 2003-12-01 GNAT Script <nobody@gnat.com>
12998
12999 * Make-lang.in: Makefile automatically updated
13000
13001 2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
13002
13003 * 5wsystem.ads: Disable zero cost exception, not ready yet.
13004
13005 2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
13006
13007 * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
13008 to force serialization.
13009
13010 2003-11-26 Thomas Quinot <quinot@act-europe.fr>
13011
13012 * g-socket.ads, g-socket.adb:
13013 Clarify documentation of function Stream. Introduce a Free procedure
13014 to release the returned Stream once it becomes unused.
13015
13016 * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
13017
13018 2003-11-26 Arnaud Charlet <charlet@act-europe.fr>
13019
13020 (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
13021 since NT 4 cannot handle timeout values that are too large,
13022 e.g. DWORD'Last - 1.
13023
13024 2003-11-26 Ed Schonberg <schonberg@gnat.com>
13025
13026 * exp_ch4.adb:
13027 (Expand_N_Slice): Recognize all cases of slices that appear as actuals
13028 in procedure calls and whose expansion must be deferred.
13029
13030 * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
13031 is in exp_ch4.
13032
13033 * sem_ch3.adb:
13034 (Build_Derived_Array_Type): Create operator for unconstrained type
13035 if ancestor is unconstrained.
13036
13037 2003-11-26 Vincent Celier <celier@gnat.com>
13038
13039 * make.adb (Project_Object_Directory): New global variable
13040 (Change_To_Object_Directory): New procedure
13041 (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
13042 of Change_Dir directly. Do not change working directory to object
13043 directory of main project after each compilation.
13044 (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
13045 directly.
13046 Change to object directory of main project before binding step.
13047 (Initialize): Initialize Project_Object_Directory to No_Project
13048
13049 * mlib-prj.adb:
13050 (Build_Library): Take into account Builder'Default_Switches ("Ada") when
13051 binding a Stand-Alone Library.
13052
13053 * output.adb: Update Copyright notice
13054 (Write_Char): Output buffer when full
13055
13056 2003-11-26 Robert Dewar <dewar@gnat.com>
13057
13058 * sem_ch13.adb: (Check_Size): Reset size if size is too small
13059
13060 * sem_ch13.ads:
13061 (Check_Size): Fix documentation to include bit-packed array case
13062
13063 * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
13064
13065 * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
13066
13067 * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
13068
13069 2003-11-24 Arnaud Charlet <charlet@act-europe.fr>
13070
13071 PR ada/13142
13072 * utils.c (init_gigi_decls): Change name of built-in setjmp to
13073 __builtin_setjmp, since this is apparently needed by recent
13074 non Ada changes.
13075
13076 2003-11-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13077
13078 * adadecode.c: Only include ctype.h if not IN_GCC.
13079 (__gnat_decode): Use ISDIGIT from safe-ctype.h.
13080
13081 2003-11-24 Jose Ruiz <ruiz@act-europe.fr>
13082
13083 * Makefile.in:
13084 Use 5zintman.ads for VxWorks targets. This file avoid confusion between
13085 signals and interrupts.
13086
13087 * 5zintman.ads: New File.
13088
13089 * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
13090 add exception signals to the set of unmasked signals.
13091
13092 * 5ztaprop.adb:
13093 Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
13094 between signals and interrupts.
13095 Add to Unblocked_Signal_Mask the set of signals that are in
13096 Keep_Unmasked.
13097
13098 * 7sinmaop.adb:
13099 Adding a check to see whether the Interrupt_ID we want to unmask is in
13100 the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
13101 reason is that the index type of the Keep_Unmasked array is not always
13102 Interrupt_ID; it may be a subtype of Interrupt_ID.
13103
13104 2003-11-24 Gary Dismukes <dismukes@gnat.com>
13105
13106 * exp_util.adb:
13107 (Remove_Side_Effects): Condition constantness of object created for a
13108 an unchecked type conversion on the constantness of the expression
13109 to ensure the correct value for 'Constrained when passing components
13110 of view-converted class-wide objects.
13111
13112 2003-11-24 Robert Dewar <dewar@gnat.com>
13113
13114 * par-load.adb (Load): Improve handling of misspelled and missing units
13115 Removes several cases of compilation abandoned messages
13116
13117 * lib.adb: (Remove_Unit): New procedure
13118
13119 * lib.ads: (Remove_Unit): New procedure
13120
13121 * lib-load.adb: Minor reformatting
13122
13123 2003-11-24 Vincent Celier <celier@gnat.com>
13124
13125 * make.adb:
13126 (Gnatmake, Initialize): Call Usage instead of Makeusg directly
13127 (Marking_Label): Label to mark processed source files. Incremented for
13128 each executable.
13129 (Gnatmake): Increase Marking_Labet for each executable
13130 (Is_Marked): Compare against marking label
13131 (Mark): Mark with marking label
13132
13133 2003-11-24 Jerome Guitton <guitton@act-europe.fr>
13134
13135 * s-thread.ads:
13136 Move the declaration of the TSD for System.Threads to System.Soft_Links.
13137 Add some comments.
13138
13139 * Makefile.in: Added target pair for s-thread.adb for cert runtime.
13140 (rts-cert): build a single relocatable object for the run-time lib.
13141 Fix perms.
13142
13143 2003-11-24 Vasiliy Fofanov <fofanov@act-europe.fr>
13144
13145 * Make-lang.in:
13146 Use gnatls rather than gcc to obtain the location of GNAT RTL for
13147 crosstools build.
13148
13149 2003-11-24 Sergey Rybin <rybin@act-europe.fr>
13150
13151 * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
13152 can not use it as before (that is, as a variable) when dumping it into
13153 the tree file. Add a local variable to store the result of this
13154 function and to be used as the string to be written into the tree.
13155
13156 * scn.adb (Initialize_Scanner): Add comments explaining the recent
13157 changes.
13158
13159 * sinput.adb (Source_First, Source_Last): In case of
13160 Internal_Source_File, replace returning attributes of
13161 Internal_Source_Ptr (which is wrong) with returning attributes of
13162 Internal_Source.
13163
13164 2003-11-24 Ed Schonberg <schonberg@gnat.com>
13165
13166 * sem_ch3.adb:
13167 (New_Concatenation_Op): Proper name for New_Binary_Operator, only
13168 used for implicit concatenation operators.
13169 Code cleanup.
13170
13171 * sem_elab.adb:
13172 (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
13173 task bodies that are in the scope of a Suppress pragma.
13174 (Check_A Call): Use the flag to prevent spurious elaboration checks.
13175
13176 * sinfo.ads, sinfo.adb:
13177 New flag No_Elaboration_Check on function/procedure calls, to properly
13178 suppress checks on calls in task bodies that are within a local suppress
13179 pragma.
13180
13181 * exp_ch4.adb:
13182 (Expand_Concatenate_Other): Use the proper integer type for the
13183 expression for the upper bound, to avoid universal_integer computations
13184 when possible.
13185
13186 2003-11-21 Kelley Cook <kcook@gcc.gnu.org>
13187
13188 * .cvsignore: Delete.
13189
13190 2003-11-21 Andreas Schwab <schwab@suse.de>
13191
13192 * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
13193
13194 2003-11-21 Vasiliy Fofanov <fofanov@act-europe.fr>
13195
13196 * 5wsystem.ads: Enable zero cost exception.
13197
13198 2003-11-21 Jerome Guitton <guitton@act-europe.fr>
13199
13200 * 5ztiitho.adb: Remove an unreferenced variable.
13201
13202 2003-11-21 Thomas Quinot <quinot@act-europe.fr>
13203
13204 * adaint.c: For FreeBSD, use mkstemp.
13205
13206 2003-11-21 Arnaud Charlet <charlet@act-europe.fr>
13207
13208 * gnatlbr.adb: Now reference Gnat_Static_Version_String.
13209
13210 2003-11-21 Robert Dewar <dewar@gnat.com>
13211
13212 * bld.adb: Remove useless USE of gnatvsn
13213
13214 * gnatchop.adb: Minor reformatting
13215 Clean up version handling to be more consistent
13216
13217 * gnatxref.adb: Minor reformatting
13218
13219 * gprcmd.adb: Minor reformatting
13220 Fix output of copyright to be more consistent with other tools
13221
13222 2003-11-21 Vincent Celier <celier@gnat.com>
13223
13224 * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
13225
13226 2003-11-21 Sergey Rybin <rybin@act-europe.fr>
13227
13228 * atree.adb (Initialize): Add initializations for global variables
13229 used in New_Copy_Tree.
13230
13231 * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
13232 Internal_Source_File as the actual).
13233 Put the set of statements creating Any_Character before the set of
13234 statements creating Any_Array to have Any_Character fully initialized
13235 when it is used in creating Any_Array.
13236
13237 * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
13238 not call Scan in case if the actual is Internal_Source_File
13239 Add 2003 to copyright note.
13240
13241 * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
13242 processing Internal_Source_File.
13243
13244 * types.ads: Add the constant Internal_Source_File representing the
13245 source buffer for artificial source-code-like strings created within
13246 the compiler (the definition of Source_File_Index is changed).
13247
13248 2003-11-20 Arnaud Charlet <charlet@act-europe.fr>
13249
13250 * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
13251 56system.ads: New file, FreeBSD version.
13252
13253 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
13254
13255 * Make-lang.in (ada.extraclean): Delete.
13256
13257 2003-11-19 Arnaud Charlet <charlet@act-europe.fr>
13258
13259 * gnatmem.adb: Clean up verbose output.
13260
13261 * gprcmd.adb: Change copyright to FSF.
13262
13263 2003-11-19 Vincent Celier <celier@gnat.com>
13264
13265 * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
13266 and Version (ignored).
13267
13268 * symbols.ads: (Policy): New type
13269 (Initialize): New parameter Reference, Symbol_Policy and
13270 Library_Version.
13271 Remove parameter Force.
13272 Minor reformatting.
13273
13274 * snames.ads, snames.adbadb: New standard names
13275 Library_Reference_Symbol_File and Library_Symbol_Policy
13276
13277 * mlib-prj.adb:
13278 (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
13279 project.
13280
13281 * mlib-tgt.adb:
13282 (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
13283
13284 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
13285
13286 * prj.adb: (Project_Empty): New component Symbol_Data
13287
13288 * prj.ads: (Policy, Symbol_Record): New types
13289 (Project_Data): New component Symbol_Data
13290
13291 * prj-attr.adb:
13292 New attributes Library_Symbol_File, Library_Symbol_Policy and
13293 Library_Reference_Symbol_File.
13294
13295 * prj-nmsc.adb:
13296 (Ada_Check): When project is a Stand-Alone library project, process
13297 attribute Library_Symbol_File, Library_Symbol_Policy and
13298 Library_Reference_Symbol_File.
13299
13300 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
13301 5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
13302 5sml-tgt.adb (Build_Dynamic_Library): New parameter
13303 Symbol_Data (ignored).
13304
13305 * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
13306 (Build_Dynamic_Library): New parameter Symbol_Data. New internal
13307 functions Option_File_Name and Version_String. Set new options of
13308 gnatsym related to symbol file, symbol policy and reference symbol
13309 file.
13310
13311 * 5vsymbol.adb:
13312 Extensive modifications to take into account the reference symbol file,
13313 the symbol policy, the library version and to put in the symbol file the
13314 minor and major IDs.
13315
13316 * bld.adb (Process_Declarative_Items): Put second argument of
13317 gprcmd to_absolute between single quotes, to avoid problems with
13318 Windows.
13319
13320 * bld-io.adb: Update Copyright notice.
13321 (Flush): Remove last character of a line, if it is a back slash, to
13322 avoid make problems.
13323
13324 * gnatsym.adb:
13325 Implement new scheme with reference symbol file and symbol policy.
13326
13327 * g-os_lib.ads: (Is_Directory): Clarify comment
13328
13329 2003-11-19 Robert Dewar <dewar@gnat.com>
13330
13331 * atree.adb: Move New_Copy_Tree global variables to head of package
13332
13333 * errout.adb: Minor reformatting
13334
13335 2003-11-19 Javier Miranda <miranda@gnat.com>
13336
13337 * sem_ch4.adb: (Diagnose_Call): Improve error message.
13338 Add reference to Ada0Y (AI-50217)
13339
13340 * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
13341 sem_util.adb: Add reference to AI-50217
13342
13343 * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
13344
13345 * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
13346
13347 * sem_aggr.adb: Complete documentation of AI-287 changes
13348
13349 * par-ch4.adb: Document previous changes.
13350
13351 * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
13352 sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
13353 Ada0Y (AI-50217)
13354
13355 * exp_aggr.adb: Add references to AI-287 in previous changes
13356
13357 2003-11-19 Ed Schonberg <schonberg@gnat.com>
13358
13359 * exp_ch6.adb:
13360 (Add_Call_By_Copy_Node): Do not original node of rewritten expression
13361 in the rewriting is the result of an inlined call.
13362
13363 * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
13364 parameter is a type conversion, use original node to construct the
13365 post-call assignment, because expression may have been rewritten, e.g.
13366 if it is a packed array.
13367
13368 * sem_attr.adb:
13369 (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
13370 body, just as it is in an instance.
13371 Categorization routines
13372
13373 * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
13374 Instantiate_Object): Set proper sloc reference for message on missing
13375 actual.
13376
13377 2003-11-19 Thomas Quinot <quinot@act-europe.fr>
13378
13379 * Makefile.in: Add FreeBSD libgnat pairs.
13380
13381 * usage.adb: Fix typo in usage message.
13382
13383 2003-11-19 Jerome Guitton <guitton@act-europe.fr>
13384
13385 * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
13386 s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
13387 pragma Thread_Body.
13388 Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
13389
13390 * s-thread.adb: This file is now a dummy implementation of
13391 System.Thread.
13392
13393 2003-11-19 Sergey Rybin <rybin@act-europe.fr>
13394
13395 * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
13396
13397 2003-11-19 Emmanuel Briot <briot@act-europe.fr>
13398
13399 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
13400 instanciation references in the parent type description.
13401
13402 2003-11-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13403
13404 * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
13405
13406 * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
13407 TYPE_PRECISION directly from esize.
13408
13409 2003-11-18 Thomas Quinot <quinot@act-europe.fr>
13410
13411 * cstreams.c:
13412 Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
13413
13414 * init.c: Initialization routines for FreeBSD
13415
13416 * link.c: Link info for FreeBSD
13417
13418 * sysdep.c: Add the case of FreeBSD
13419
13420 2003-11-17 Jerome Guitton <guitton@act-europe.fr>
13421
13422 * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
13423 already called in System.Threads.
13424
13425 * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
13426 environment task, as it has been moved to System.Threads.Initialization.
13427
13428 2003-11-17 Arnaud Charlet <charlet@act-europe.fr>
13429
13430 * adaint.c (__gnatlib_install_locks): Only reference
13431 __gnat_install_locks on VMS, since other platforms can avoid using
13432 --enable-threads=gnat
13433
13434 2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13435
13436 * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
13437
13438 * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
13439 TYPE_PACKED_ARRAY_TYPE_P.
13440 (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
13441
13442 Part of PR ada/12806
13443 * utils.c (float_type_for_precision): Renamed from float_type_for_size.
13444 Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
13445
13446 2003-11-17 Vincent Celier <celier@gnat.com>
13447
13448 * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
13449 to False.
13450 Do not set exit status to Failure when Warning is True.
13451 (Gnatchop): Make errors "no compilation units found" and
13452 "no source files written" warnings only.
13453
13454 * make.adb (Gnatmake): When using a project file, set
13455 Look_In_Primary_Dir to False.
13456 (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
13457 and Local_Configuration_Pragmas in the project where they are declared
13458 not an extending project which might have inherited them.
13459
13460 * osint.adb (Locate_File): If Name is already an absolute path, do not
13461 look for a directory.
13462
13463 * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
13464 -gnats (Check_Syntax) is used, issue only a warning, not an error.
13465
13466 * prj.adb (Register_Default_Naming_Scheme): Add new component Project
13467 in objects of type Variable_Value.
13468
13469 * prj.ads: (Variable_Value): New component Project
13470
13471 * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
13472 is in a project extended by Project.
13473
13474 * prj-proc.adb (Add_Attributes): New parameter Project. Set component
13475 Project of Variable_Values to this new parameter value.
13476 (Expression): Set component Project of Variable_Values.
13477 (Process_Declarative_Items): Call Add_Attributes with parameter Project.
13478 Set the component Project in array elements.
13479
13480 2003-11-17 Sergey Rybin <rybin@act-europe.fr>
13481
13482 * errout.adb: (Initialize): Add initialization for error nodes.
13483
13484 * sem_ch12.adb (Initialize): Add missing initializations for
13485 Exchanged_Views and Hidden_Entities.
13486
13487 2003-11-17 Ed Schonberg <schonberg@gnat.com>
13488
13489 * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
13490 already instantiated tree for use in subsequent inlining.
13491 (Analyze_Associations, Instantiate_Formal_Subprogram,
13492 Instantiate_Object): improve error message for mismatch in
13493 instantiations.
13494
13495 * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
13496 instantiations of subprograms declared in instances.
13497
13498 2003-11-17 Javier Miranda <miranda@gnat.com>
13499
13500 * sem_ch4.adb (Analyze_Allocator): Previous modification must be
13501 executed only under the Extensions_Allowed flag.
13502
13503 2003-11-17 Robert Dewar <dewar@gnat.com>
13504
13505 * a-exexda.adb (Address_Image): Fix documentation to indicate leading
13506 zeroes suppressed.
13507 (Address_Image): Fix bug of returning 0x instead of 0x0
13508 Minor reformatting (function specs).
13509
13510 * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
13511 (missed case of 33-63)
13512
13513 * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
13514
13515 * s-thread.adb: Add comments for pragma Restriction
13516
13517 * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
13518 sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
13519
13520 2003-11-17 Ed Falis <falis@gnat.com>
13521
13522 * s-thread.adb: Added No_Tasking restriction for this implementation.
13523
13524 2003-11-17 Emmanuel Briot <briot@act-europe.fr>
13525
13526 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
13527 instanciation references in the parent type description.
13528
13529 2003-11-17 GNAT Script <nobody@gnat.com>
13530
13531 * Make-lang.in: Makefile automatically updated
13532
13533 2003-11-16 Jason Merrill <jason@redhat.com>
13534
13535 * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
13536 and TAGS files that include them for each front end.
13537
13538 2003-11-14 Andreas Jaeger <aj@suse.de>
13539
13540 * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
13541 is the canonical version.
13542 * misc.c (gnat_handle_option): Likewise.
13543
13544 * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
13545
13546 * 5nsystem.ads: New file for x86_64-linux-gnu.
13547
13548 2003-11-14 Arnaud Charlet <charlet@act-europe.fr>
13549
13550 * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
13551
13552 * comperr.adb: Fix logic in previous change.
13553
13554 2003-11-13 Vincent Celier <celier@gnat.com>
13555
13556 * 5bml-tgt.adb (Build_Dynamic_Library): Use
13557 Osint.Include_Dir_Default_Prefix instead of
13558 Sdefault.Include_Dir_Default_Name.
13559
13560 * gnatlbr.adb: Update Copyright notice
13561 (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
13562 Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
13563 instead of Sdefault.Object_Dir_Default_Name
13564
13565 * gnatlink.adb:
13566 (Process_Binder_File): Never suppress the option following -Xlinker
13567
13568 * mdll-utl.adb:
13569 (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
13570 Sdefault.Object_Dir_Default_Name.
13571
13572 * osint.ads, osint.adb:
13573 (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
13574 Minor reformatting.
13575
13576 * vms_conv.ads: Minor reformating
13577 Remove GNAT STANDARD and GNAT PSTA
13578
13579 * vms_conv.adb:
13580 Allow GNAT MAKE to have several files on the command line.
13581 (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
13582 Sdefault.Object_Dir_Default_Name.
13583 Minor Reformating
13584 Remove data for GNAT STANDARD
13585
13586 * vms_data.ads:
13587 Add new compiler qualifier /PRINT_STANDARD (-gnatS)
13588 Remove data for GNAT STANDARD
13589 Remove options and documentation for -gnatwb/-gnatwB: these warning
13590 options no longer exist.
13591
13592 2003-11-13 Ed Falis <falis@gnat.com>
13593
13594 * 5zthrini.adb: (Init_RTS): Made visible
13595
13596 * 5zthrini.adb:
13597 (Register): Removed unnecessary call to taskVarGet that checked whether
13598 an ATSD was already set as a task var for the argument thread.
13599
13600 * s-thread.adb:
13601 Updated comment to reflect that this is a VxWorks version
13602 Added context clause for System.Threads.Initialization
13603 Added call to System.Threads.Initialization.Init_RTS
13604
13605 2003-11-13 Jerome Guitton <guitton@act-europe.fr>
13606
13607 * 5zthrini.adb:
13608 (Init_RTS): New procedure, for the initialization of the run-time lib.
13609
13610 * s-thread.adb:
13611 Remove dependancy on System.Init, so that this file can be used in the
13612 AE653 sequential run-time lib.
13613
13614 2003-11-13 Robert Dewar <dewar@gnat.com>
13615
13616 * bindgen.adb: Minor reformatting
13617
13618 2003-11-13 Ed Schonberg <schonberg@gnat.com>
13619
13620 * checks.adb:
13621 (Apply_Discriminant_Check): Do no apply check if target type is derived
13622 from source type with no applicable constraint.
13623
13624 * lib-writ.adb:
13625 (Ensure_System_Dependency): Do not apply the style checks that may have
13626 been specified for the main unit.
13627
13628 * sem_ch8.adb:
13629 (Find_Selected_Component): Further improvement in error message, with
13630 RM reference.
13631
13632 * sem_res.adb:
13633 (Resolve): Handle properly the case of an illegal overloaded protected
13634 procedure.
13635
13636 2003-11-13 Javier Miranda <miranda@gnat.com>
13637
13638 * exp_aggr.adb:
13639 (Has_Default_Init_Comps): New function to check the presence of
13640 default initialization in an aggregate.
13641 (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
13642 extension aggregate of a limited record. In addition, a new formal
13643 was added to do not initialize the record controller (if any) during
13644 this recursive expansion of ancestors.
13645 (Init_Controller): Add support for limited record components.
13646 (Expand_Record_Aggregate): In case of default initialized components
13647 convert the aggregate into a set of assignments.
13648
13649 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
13650 describing the new syntax.
13651 Nothing else needed to be done because this subprogram delegates part of
13652 its work to P_Precord_Or_Array_Component_Association.
13653 (P_Record_Or_Array_Component_Association): Give support to the new
13654 syntax for default initialization of components.
13655
13656 * sem_aggr.adb:
13657 (Resolve_Aggregate): Relax the strictness of the frontend in case of
13658 limited aggregates.
13659 (Resolve_Record_Aggregate): Give support to default initialized
13660 components.
13661 (Get_Value): In case of default initialized components, duplicate
13662 the corresponding default expression (from the record type
13663 declaration). In case of default initialization in the *others*
13664 choice, do not check that all components have the same type.
13665 (Resolve_Extension_Aggregate): Give support to limited extension
13666 aggregates.
13667
13668 * sem_ch3.adb:
13669 (Check_Initialization): Relax the strictness of the front-end in case
13670 of aggregate and extension aggregates. This test is now done in
13671 Get_Value in a per-component manner.
13672
13673 * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
13674 expression corresponds to a limited aggregate. This test is now done
13675 in Get_Value.
13676
13677 * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
13678 Box_Present flag.
13679
13680 * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
13681 present in an N_Component_Association node
13682
13683 2003-11-13 Thomas Quinot <quinot@act-europe.fr>
13684
13685 * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
13686 type-conformant entry only if they are homographs.
13687
13688 2003-11-13 GNAT Script <nobody@gnat.com>
13689
13690 * Make-lang.in: Makefile automatically updated
13691
13692 2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13693
13694 * adadecode.c: Use <> form of include for ctype.h.
13695 * sysdep.c [IN_RTS]: Use <> form of include for time.h.
13696
13697 2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13698
13699 * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
13700 Works around PR middle-end/6552.
13701
13702 2003-11-10 Ed Falis <falis@gnat.com>
13703
13704 * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
13705
13706 * 5zinit.adb: (Install_Handler): Moved back to spec
13707 (Install_Signal_Handlers): Deleted
13708
13709 * 5zthrini.adb: Added context clause for System.Storage_Elements
13710 (Register): Only handles creation of taskVar; initialization moved to
13711 Thread_Body_Enter.
13712 (Reset_TSD): Deleted; replaced by Thread_Body_Enter
13713 Added declaration of environment task secondary stack and
13714 initialization.
13715
13716 * s-thread.adb: Implement bodies for thread body processing
13717
13718 * s-thread.ads:
13719 Added comment identifying supported targets for pragma Thread_Body.
13720
13721 2003-11-10 Pascal Obry <obry@gnat.com>
13722
13723 * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
13724 GNAT_MAX_PATH_LEN.
13725
13726 * s-fileio.adb:
13727 (Open): Properly check for string length before copying into the buffer.
13728 Raises Name_Error if buffer is too small. Note that this was a potential
13729 buffer overflow.
13730
13731 2003-11-10 Romain Berrendonner <berrendo@act-europe.fr>
13732
13733 * bindgen.adb, comperr.adb: Code clean ups.
13734 * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
13735
13736 2003-11-10 Sergey Rybin <rybin@act-europe.fr>
13737
13738 * gnat1drv.adb: Add call to Sem_Elim.Initialize.
13739
13740 2003-11-10 Vincent Celier <celier@gnat.com>
13741
13742 * gprcmd.adb:
13743 (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
13744 installation.
13745
13746 * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
13747
13748 * prj.adb: (Project_Empty): Add new boolean component Virtual
13749
13750 * prj.ads: (Virtual_Prefix): New constant string
13751 (Project_Data): New boolean component Virtual
13752
13753 * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
13754 a library project is extended by a virtual extending project.
13755
13756 * prj-part.adb:
13757 Modifications throughout to implement extending-all project, including:
13758 (Virtual_Hash, Processed_Hash): New hash tables
13759 (Create_Virtual_Extending_Project): New procedure
13760 (Look_For_Virtual_Projects_For): New procedure
13761
13762 * prj-proc.adb:
13763 (Process): After checking the projects, if main project is an
13764 extending-all project, set the object directory of all virtual extending
13765 project to the object directory of the main project.
13766 Adjust error message when a virtual extending project has the same
13767 object directory as an project being extended.
13768 (Recursive_Process): If name starts with the virtual prefix, set Virtual
13769 to True in the project data.
13770
13771 * prj-tree.adb:
13772 (Default_Project_Node): Add new boolean component Extending_All
13773 (Is_Extending_All): New function
13774 (Set_Is_Extending_All): New procedure
13775
13776 * prj-tree.ads: (Is_Extending_All): New function
13777 (Set_Is_Extending_All): New procedure
13778 (Project_Node_Record): New boolean component Extending_All
13779
13780 * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
13781
13782 * vms_data.ads:
13783 Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
13784
13785 * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
13786 "gprcmd prefix" to define it.
13787
13788 2003-11-10 Thomas Quinot <quinot@act-europe.fr>
13789
13790 * einfo.ads: Fix a typo and remove an extraneous word in comments.
13791
13792 * lib-load.adb:
13793 (Create_Dummy_Package_Unit): Set the scope of the entity for the
13794 created dummy package to Standard_Standard, not to itself, to
13795 defend other parts of the front-end against encoutering a cycle in
13796 the scope chain.
13797
13798 * sem_ch10.adb:
13799 (Analyze_With_Clause): When setting the entities for the successive
13800 N_Expanded_Names that constitute the name of a child unit, do not
13801 attempt to go further than Standard_Standard in the chain of scopes.
13802 This case arises from the placeholder units created by
13803 Create_Dummy_Package_Unit in the case of a with_clause for a
13804 nonexistent child unit.
13805
13806 2003-11-10 Ed Schonberg <schonberg@gnat.com>
13807
13808 * exp_ch6.adb:
13809 (Expand_Thread_Body): Place subprogram on scope stack, so that new
13810 declarations are given the proper scope.
13811
13812 * sem_ch13.adb:
13813 (Check_Expr_Constants): Reject an expression that contains a constant
13814 created during expansion, and that appears after the object to which
13815 the address clause applies.
13816
13817 * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
13818 Analyze_Iteration_Scheme, to rewrite a loop parameter specification
13819 that uses 'Range of a function call with controlled components, so
13820 that the function result can be finalized before starting the loop.
13821
13822 * sem_ch8.adb:
13823 (Find_Selected_Component): Improve error message when prefix is
13824 an implicit dereference of an incomplete type.
13825
13826 2003-11-10 Robert Dewar <dewar@gnat.com>
13827
13828 * opt.ads: New Print_Standard flag for -gnatS switch
13829
13830 * sem_ch13.adb: Remove some additional checks for unaligned arrays
13831
13832 * cstand.adb (Create_Standard): Print out package standard if -gnatS
13833 switch set
13834
13835 * debug.adb: Update doc for -gnatds to discuss relationship with new
13836 -gnatS flag
13837
13838 * sinfo.adb: Add new field Entity_Or_Associated_Node
13839
13840 * sinfo.ads: Add new field Entity_Or_Associated_Node
13841 Update documentation for Associated_Node and Entity fields to clarify
13842 relationship and usage.
13843
13844 * sprint.adb:
13845 (Write_Id): Properly process Associated_Node field in generic template
13846
13847 * switch-c.adb:
13848 Recognize new -gnatS switch for printing package Standard
13849 This replaces gnatpsta
13850
13851 * usage.adb:
13852 Add line for new -gnatS switch for printing package Standard
13853 This replaces gnatpsta
13854
13855 2003-11-10 Andreas Jaeger <aj@suse.de>
13856
13857 * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
13858 integer.
13859
13860 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
13861
13862 * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
13863 by gnat1.
13864
13865 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
13866
13867 * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
13868 no longer needed.
13869
13870 * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
13871
13872 * sysdep.c: Add handling of cygwin.
13873
13874 2003-11-10 GNAT Script <nobody@gnat.com>
13875
13876 * Make-lang.in: Makefile automatically updated
13877
13878 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
13879
13880 PR 12950
13881 * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
13882 functions. Used to handle dynamic prefix relocation, via set_std_prefix.
13883 Replace GNAT_ROOT by GCC_ROOT.
13884
13885 * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
13886
13887 2003-11-06 Zack Weinberg <zack@codesourcery.com>
13888
13889 * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
13890 and update for changed meaning of GET_MODE_BITSIZE.
13891
13892 2003-11-04 Doug Rupp <rupp@gnat.com>
13893
13894 * sysdep.c: Problem discovered during IA64 VMS port.
13895 [VMS] #include <unixio.h> to get proper prototypes.
13896
13897 * adaint.c:
13898 Issues discovered/problems fixed during IA64 VMS port.
13899 [VMS] #define _POSIX_EXIT for proper semantics.
13900 [VMS] #include <unixio.h> for proper prototypes.
13901 [VMS] (fork): #define IA64 version.
13902 (__gnat_os_exit): Remove unnecessary VMS specific code.
13903
13904 2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13905
13906 Part of PR ada/12806
13907
13908 * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
13909 tree, not integer.
13910
13911 * decl.c:
13912 (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
13913 not integer.
13914
13915 * targtyps.c, decl.c, misc.c,
13916 gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
13917 routines to work around change in FP sizing semantics in GCC.
13918
13919 * utils.c:
13920 (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
13921
13922 * gigi.h: (enumerate_modes): New function.
13923
13924 * Make-lang.in: (ada/misc.o): Add real.h.
13925
13926 * misc.c: (enumerate_modes): New function.
13927
13928 2003-11-04 Robert Dewar <dewar@gnat.com>
13929
13930 * 3vtrasym.adb: Minor reformatting
13931 Use terminology encoded/decoded name, rather than C++ specific notion
13932 of mangling (this is the terminology used throughout GNAT).
13933
13934 * einfo.h: Regenerated
13935
13936 * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
13937
13938 * exp_ch6.adb:
13939 (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
13940
13941 * par-prag.adb: Add dummy entry for Thread_Body pragma
13942
13943 * rtsfind.ads:
13944 Add entries for System.Threads entities for thread body processing
13945
13946 * sem_attr.adb:
13947 (Analyze_Pragma, Access attributes): Check these are not applied to a
13948 thread body, since this is not permitted
13949
13950 * sem_prag.adb: Add processing for Thread_Body pragma.
13951 Minor comment fix.
13952
13953 * sem_res.adb:
13954 (Resolve_Call): Check for incorrect attempt to call a thread body
13955 procedure with a direct call.
13956
13957 * snames.ads, snames.adb: Add entry for Thread_Body pragma
13958 Add names associated with thread body expansion
13959
13960 * snames.h: Add entry for Thread_Body pragma
13961
13962 * s-thread.adb: Add entries for thread body processing
13963 These are dummy bodies so far
13964
13965 * s-thread.ads: Add documentation on thread body handling.
13966 Add entries for thread body processing.
13967
13968 2003-11-04 Javier Miranda <miranda@gnat.com>
13969
13970 * sem_ch10.adb:
13971 (Build_Limited_Views): Return after posting an error in case of limited
13972 with_clause on subprograms, generics, instances or generic renamings
13973 (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
13974 on subprograms, generics, instances or generic renamings
13975
13976 2003-11-04 Arnaud Charlet <charlet@act-europe.fr>
13977
13978 * raise.c (setup_to_install): Correct mistake in last revision; two
13979 arguments out of order.
13980
13981 * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
13982 gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
13983 notice, missed in previous change.
13984 Remove trailing blanks and other style errors introduced in previous
13985 change.
13986
13987 2003-11-04 Olivier Hainque <hainque@act-europe.fr>
13988
13989 * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
13990 rid of the wrapper for a LJM type, ensuring we don't do that if the
13991 field is addressable. This avoids potential low level type view
13992 mismatches later on, for instance in a by-reference argument passing
13993 process.
13994
13995 2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13996
13997 * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
13998 aligned at byte boundary.
13999
14000 2003-11-04 Joel Brobecker <brobecker@gnat.com>
14001
14002 * decl.c (components_to_record): Do not delete the empty variants from
14003 the end of the union type.
14004
14005 2003-11-04 Ed Schonberg <schonberg@gnat.com>
14006
14007 * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
14008 operation for a derived type, an explicit declaration may use a local
14009 subtype of Boolean.
14010
14011 2003-11-04 Vincent Celier <celier@gnat.com>
14012
14013 * make.adb (Gnatmake): Allow main sources on the command line with a
14014 library project when it is only for compilation (no binding or
14015 linking).
14016
14017 2003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14018
14019 * Makefile.in: Remove many duplicate variables.
14020
14021 2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
14022
14023 * Make-lang.in (dvi): Move targets to $(docobjdir).
14024 (gnat_ug_vms.dvi): Simplify rule and adjust target.
14025 (gnat_ug_wnt.dvi): Likewise.
14026 (gnat_ug_unx.dvi): Likewise.
14027 (gnat_ug_vxw.dvi): Likewise.
14028 (gnat_rm.dvi): Likewise.
14029 (gnat-style.dvi): Likewise.
14030
14031 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
14032
14033 * gigi.h: Missed commit from update for C90.
14034
14035 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
14036
14037 * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
14038
14039 2003-10-31 Andreas Schwab <schwab@suse.de>
14040
14041 * raise.c (get_action_description_for): Fix typo in last change.
14042
14043 2003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
14044
14045 PR ada/12761
14046 * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
14047 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
14048
14049 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
14050
14051 * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
14052 ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
14053 gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
14054 sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
14055 trans.c, utils.c, utils2.c: Convert function prototypes to C90.
14056
14057 2003-10-30 Vasiliy Fofanov <fofanov@act-europe.fr>
14058
14059 * 3vtrasym.adb:
14060 Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
14061 numbers when symbol name is too long.
14062
14063 2003-10-30 Ed Falis <falis@gnat.com>
14064
14065 * g-signal.ads, g-signal.adb: New files
14066
14067 * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
14068
14069 * Makefile.rtl: Introduce GNAT.Signals
14070
14071 2003-10-30 Robert Dewar <dewar@gnat.com>
14072
14073 * freeze.adb: Minor reformatting
14074
14075 * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
14076
14077 * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
14078 par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
14079 New handling of Id_Check parameter to improve recognition of keywords
14080 used as identifiers.
14081 Update copyright notice to include 2003
14082
14083 2003-10-29 Robert Dewar <dewar@gnat.com>
14084
14085 * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
14086 sem_ch10.adb: Minor reformatting
14087
14088 * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
14089 (Expand_Assign_Record): Test right hand side for bit unaligned as well
14090
14091 2003-10-29 Vasiliy Fofanov <fofanov@act-europe.fr>
14092
14093 * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
14094 Support for TBK$SYMBOLIZE-based symbolic traceback.
14095
14096 2003-10-29 Jose Ruiz <ruiz@act-europe.fr>
14097
14098 * exp_disp.adb:
14099 Revert previous change, that did not work well when pragma No_Run_Time
14100 was used in conjunction with a run-time other than ZFP.
14101
14102 2003-10-29 Vincent Celier <celier@gnat.com>
14103
14104 * make.adb:
14105 (Gnatmake): When there are no Ada mains in attribute Main, disable the
14106 bind and link steps only is switch -z is not used.
14107
14108 2003-10-29 Arnaud Charlet <charlet@act-europe.fr>
14109
14110 * Makefile.generic: Remove duplicated setting of CC.
14111
14112 * Makefile.prolog: Set CC to gcc by default, to override make's
14113 default (cc).
14114
14115 * einfo.h: Regenerated.
14116
14117 2003-10-29 Ed Schonberg <schonberg@gnat.com>
14118
14119 * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
14120 current body, after compiling subunit.
14121
14122 * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
14123 when in deleted code, because gigi needs properly ordered freeze
14124 actions to annotate types.
14125
14126 * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
14127 prevent the premature freezing of record type that contains
14128 subcomponents with a private type that does not yet have a completion.
14129
14130 2003-10-29 Javier Miranda <miranda@gnat.com>
14131
14132 * sem_ch12.adb:
14133 (Analyze_Package_Instantiation): Check that instances can not be used in
14134 limited with_clauses.
14135
14136 * sem_ch8.adb:
14137 (Analyze_Package_Renaming): Check that limited withed packages cannot
14138 be renamed. Improve text on error messages related to limited
14139 with_clauses.
14140
14141 * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
14142
14143 * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
14144 Update copyright notice.
14145
14146 * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
14147 (Install_Limited_Context_Clauses): New subprogram that isolates all the
14148 checks required for limited context_clauses and installs the limited
14149 view.
14150 (Install_Limited_Withed_Unit): Complete its documentation.
14151 (Analyze_Context): Check that limited with_clauses are only allowed in
14152 package specs.
14153 (Install_Context): Call Install_Limited_Context_Clauses after the
14154 parents have been installed.
14155 (Install_Limited_Withed_Unit): Add documentation. Mark the installed
14156 package as 'From_With_Type'; this mark indicates that the limited view
14157 is installed. Used to check bad usages of limited with_clauses.
14158 (Build_Limited_Views): Do not add shadow entities to the scope's list
14159 of entities. Do not add real entities to the Non_Limited_Views chain.
14160 Improve error notification.
14161 (Remove_Context_Clauses): Remove context clauses in two phases:
14162 limited views first and regular views later (to maintain the
14163 stack model).
14164 (Remove_Limited_With_Clause): If the package is analyzed then reinstall
14165 its visible entities.
14166
14167 2003-10-29 Thomas Quinot <quinot@act-europe.fr>
14168
14169 * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
14170 with any type that Is_Fixed_Point_Type.
14171
14172 * sinfo.ads: Fix documentation for Associated_Node attribute.
14173
14174 2003-10-29 Sergey Rybin <rybin@act-europe.fr>
14175
14176 * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
14177 both '-gnatc' and '-gnatt' are specified.
14178
14179 * atree.adb (Initialize): Add initialization for Node_Count (set to
14180 zero).
14181
14182 2003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14183
14184 * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
14185 do not consider as Pure.
14186
14187 Part of implementation of function-at-a-time:
14188
14189 * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
14190 (tree_transform): Add new argument to build_component_ref.
14191 (tree_transform, case N_Assignment_Statement): Make and return an
14192 EXPR_STMT.
14193 (tree_transform): If result IS_STMT, set flags and return it.
14194 (gnat_expand_stmt, set_lineno_from_sloc): New functions.
14195
14196 * utils2.c (build_simple_component_ref, build_component_ref): Add new
14197 arg, NO_FOLD_P.
14198 (build_binary_op, case EQ_EXPR): Pass additional arg to it.
14199 (build_allocator): Likewise.
14200
14201 * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
14202 Add new arg to build_component_ref.
14203 (maybe_unconstrained_array, unchecked_convert): Likewise.
14204
14205 * ada-tree.def (EXPR_STMT): New code.
14206
14207 * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
14208
14209 * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
14210 build_component_ref calls.
14211
14212 * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
14213
14214 * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
14215 (build_component_ref): Add new argument, NO_FOLD_P.
14216
14217 2003-10-27 Arnaud Charlet <charlet@act-europe.fr>
14218
14219 * Makefile.generic: Add missing substitution on object_deps handling.
14220
14221 PR ada/5909:
14222 * Make-lang.in (check-ada): Enable ACATS test suite.
14223
14224 2003-10-27 Robert Dewar <dewar@gnat.com>
14225
14226 * exp_ch3.adb:
14227 (Freeze_Array_Type): We do not need an initialization routine for types
14228 derived from String or Wide_String. They should be treated the same
14229 as String and Wide_String themselves. This caused problems with the
14230 use of Initialize_Scalars.
14231
14232 * exp_ch5.adb:
14233 (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
14234 composites. This allows use of component clauses that are not byte
14235 aligned.
14236
14237 * sem_prag.adb:
14238 (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
14239 is an attempt to pack an array of atomic objects.
14240
14241 * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
14242
14243 2003-10-27 Pascal Obry <obry@gnat.com>
14244
14245 * g-dirope.adb:
14246 (Basename): Check for drive letters in a pathname only on DOS based OS.
14247
14248 2003-10-27 Vincent Celier <celier@gnat.com>
14249
14250 * make.adb:
14251 (Gnatmake): When unable to change dir to the object dir, display the
14252 content of the parent dir of the obj dir, to try to understand why this
14253 happens.
14254
14255 2003-10-27 GNAT Script <nobody@gnat.com>
14256
14257 * Make-lang.in: Makefile automatically updated
14258
14259 2003-10-27 Ed Schonberg <schonberg@gnat.com>
14260
14261 * sem_ch12.adb:
14262 (Inline_Instance_Body): Indicate that the save/restore of use_clauses
14263 should not be done in Save/Restore_Scope_Stack, because it is performed
14264 locally.
14265
14266 * sem_ch8.adb:
14267 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
14268 whether use clauses should be removed/restored.
14269
14270 * sem_ch8.ads:
14271 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
14272 whether use clauses should be removed/restored.
14273
14274 2003-10-26 Andreas Jaeger <aj@suse.de>
14275
14276 * Makefile.in: Remove duplicated lines.
14277
14278 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
14279
14280 * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
14281 minimize the differences with ACT tree.
14282
14283 * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
14284 gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
14285 Gnatvsn.Gnat_Static_Version_String to reduce differences between
14286 ACT and FSF trees.
14287
14288 2003-10-24 Pascal Obry <obry@gnat.com>
14289
14290 * adadecode.c (ostrcpy): New function.
14291 (__gnat_decode): Use ostrcpy of strcpy.
14292 (has_prefix): Set first parameter a const.
14293 (has_suffix): Set first parameter a const.
14294 Update copyright notice. Fix source name in header.
14295 Removes a trailing space.
14296 PR ada/12014.
14297
14298 2003-10-24 Jose Ruiz <ruiz@act-europe.fr>
14299
14300 * exp_disp.adb:
14301 Remove the test against being in No_Run_Time_Mode before generating a
14302 call to Register_Tag. It is redundant with the test against the
14303 availability of the function Register_Tag.
14304
14305 2003-10-24 Vincent Celier <celier@gnat.com>
14306
14307 * g-catiio.adb: (Month_Name): Correct spelling of February
14308
14309 * make.adb: (Mains): New package
14310 (Initialize): Call Mains.Delete
14311 (Gnatmake): Check that each main on the command line is a source of a
14312 project file and, if there are several mains, each of them is a source
14313 of the same project file.
14314 (Gnatmake): When a foreign language is specified in attribute Languages,
14315 no main is specified on the command line and attribute Mains is not
14316 empty, only build the Ada main. If there is no Ada main, just compile
14317 the Ada sources and their closure.
14318 (Gnatmake): If a main is specified on the command line with directory
14319 information, check that the source exists and, if it does, that the path
14320 is the actual path of a source of a project.
14321
14322 * prj-env.adb:
14323 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
14324 Full_Path is True, return the full path instead of the simple file name.
14325 (Project_Of): New function
14326
14327 * prj-env.ads:
14328 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
14329 defaulted to False.
14330 (Project_Of): New function
14331
14332 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
14333
14334 * Makefile.generic:
14335 Ensure objects of main project are always checked and rebuilt if needed.
14336 Set CC to gcc by default.
14337 Prepare new handling of link by creating a global archive (not activated
14338 yet).
14339
14340 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
14341 stringt.h: Update copyright notice. Remove trailing blanks.
14342 Fix source name in header.
14343
14344 2003-10-24 Robert Dewar <dewar@gnat.com>
14345
14346 * sem_ch12.adb: Minor reformatting
14347
14348 * sem_ch3.adb:
14349 Minor reformatting (including new function return style throughout)
14350
14351 * sem_ch3.ads:
14352 Minor reformatting (including new function return style throughout)
14353
14354 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
14355
14356 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
14357 stringt.h: Update copyright notice. Remove trailing blanks.
14358 Fix source name in header.
14359
14360 2003-10-24 GNAT Script <nobody@gnat.com>
14361
14362 * Make-lang.in: Makefile automatically updated
14363
14364 2003-10-23 Nathanael Nerode <neroden@gcc.gnu.org>
14365
14366 * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
14367 stringt.h: Convert to ISO C90 declarations and definitions.
14368
14369 2003-10-23 Thomas Quinot <quinot@act-europe.fr>
14370
14371 PR ada/11978:
14372 * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
14373 External_Tag attribute definition clauses.
14374
14375 2003-10-23 Ed Schonberg <schonberg@gnat.com>
14376
14377 PR ada/7613:
14378 * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
14379 child unit, generate a fully qualified name to avoid spurious errors
14380 when the context contains renamings of different child units with
14381 the same simple name.
14382
14383 * exp_dbug.ads: Add documentation on name qualification for renamings
14384 of child units.
14385
14386 2003-10-23 Robert Dewar <dewar@gnat.com>
14387
14388 * g-regpat.ads, g-regpat.adb: Minor reformatting
14389
14390 2003-10-23 Jose Ruiz <ruiz@act-europe.fr>
14391
14392 * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
14393
14394 2003-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14395
14396 * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
14397 Machine call.
14398
14399 * urealp.h: (Machine): Update to proper definition.
14400
14401 2003-10-23 Arnaud Charlet <charlet@act-europe.fr>
14402
14403 * init.c, adaint.c: Minor reformatting.
14404
14405 2003-10-23 Danny Smith <dannysmith@users.sourceforge.net>
14406
14407 * adaint.c (w32_epoch_offset): Define static const at file level.
14408 (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
14409 rather than t_create, t_access in call to GetFileTime. Use union
14410 to convert between FILETIME and unsigned long long.
14411 (__gnat_file_time_name): Test for invalid file handle.
14412 (__gnat_set_filetime_name): Support win32 targets using
14413 w32api SetFileTime.
14414
14415 2003-10-22 Danny Smith <dannysmith@users.sourceforge.net>
14416
14417 * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
14418
14419 * ctrl_c.c (__gnat_int_handler): Remove declaration.
14420
14421 * decl.c (creat_concat_name): Const-ify prefix.
14422
14423 * adaint.c: Include ctype.h if __MINGW32__.
14424 (__gnat_readlink): Mark arguments as possibly unused.
14425 (__gnat_symlink): Likewise.
14426 (__gnat_is_symbolic_link): Likewise.
14427 (__gnat_portable_spawn): Likewise. Cast last arg of spawnvp to match
14428 declaration
14429 (__gnat_file_time_name): Don't declare struct stat statbuf when
14430 not needed.
14431 (__gnat_is_absolute_path): Add parenthesis around condition of
14432 'if' statement to avoid warning.
14433 (__gnat_plist_init): Specify void as parameter.
14434 (plist_enter): Likewise.
14435 (plist_leave): Likewise.
14436 (remove_handle): Make static. Initialize prev.
14437
14438 2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
14439
14440 * Makefile.in: Disable build of gnatpsta. PR ada/10110.
14441 * cstreams.c (__gnat_full_name): Minor improvements and clean up
14442 of previous change.
14443
14444 2003-10-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14445
14446 * tracebak.c (MAX): Avoid redefinition warning.
14447
14448 * init.c [sgi] (__gnat_error_handler): Remove i, unused.
14449 Change msg to const char *.
14450 (__gnat_install_handler): Remove ss, unused.
14451 [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
14452 to const char *.
14453 * cstreams.c (__gnat_full_name): Declare p only when used.
14454 (__gnat_full_name) [sgi] Return buffer.
14455
14456 2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
14457
14458 * mingw32.h: New file.
14459 * gnat_wrapper.adb: New file.
14460
14461 2003-10-22 Jerome Roussel <roussel@act-europe.fr>
14462
14463 * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
14464 string match a pre compiled regular expression (the corresponding
14465 version of the function working on a raw regular expression)
14466 Fix typos in various comments
14467 Update copyright notice in spec
14468
14469 2003-10-21 Gary Dismukes <dismukes@gnat.com>
14470
14471 * exp_ch3.adb:
14472 (Component_Needs_Simple_Initialization): Return False when the type is a
14473 packed bit array. Revise spec comments to document this case.
14474
14475 * exp_prag.adb:
14476 (Expand_Pragma_Import): Set any expression on the imported object to
14477 empty to avoid initializing imported objects (in particular this
14478 covers the case of zero-initialization of bit arrays).
14479 Update copyright notice.
14480
14481 2003-10-21 Ed Schonberg <schonberg@gnat.com>
14482
14483 * sem_ch12.adb:
14484 (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
14485 a subunit is missing.
14486 (Instantiate_Subprogram_Body): If body of function is missing, set type
14487 of return expression explicitly in dummy body, to prevent cascaded
14488 errors when a subunit is missing.
14489 Fixes PR 5677.
14490
14491 * sem_ch3.adb:
14492 (Access_Subprogram_Declaration): Verify that return type is valid.
14493 Fixes PR 8693.
14494
14495 * sem_elab.adb:
14496 (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
14497 generic.
14498 Fixes PR 12318.
14499
14500 * sem_util.adb:
14501 (Corresponding_Discriminant): If the scope of the discriminant is a
14502 private type without discriminant, use its full view.
14503 Fixes PR 8247.
14504
14505 2003-10-21 Arnaud Charlet <charlet@act-europe.fr>
14506
14507 * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
14508 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
14509 3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
14510 55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
14511 56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
14512 59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
14513 5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
14514 5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
14515 5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
14516 5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
14517 5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
14518 5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
14519 5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
14520 5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
14521 7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
14522 a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
14523 a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
14524 a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
14525 bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
14526 erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
14527 err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
14528 g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
14529 g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
14530 g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
14531 g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
14532 g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
14533 g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
14534 gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
14535 g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
14536 g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
14537 i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
14538 prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
14539 prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
14540 s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
14541 s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
14542 s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
14543 s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
14544 s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
14545 s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
14546 s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
14547 s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
14548 socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
14549 s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
14550 s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
14551 s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
14552 styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
14553 s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
14554 tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
14555 vms_conv.ads, vms_conv.adb, vms_data.ads,
14556 vxaddr2line.adb: Files added. Merge with ACT tree.
14557
14558 * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
14559 5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
14560 5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
14561 5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
14562 g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
14563 s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
14564 s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
14565 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
14566 s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
14567 s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
14568
14569 * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
14570 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
14571 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
14572 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
14573 4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
14574 4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
14575 4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
14576 4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
14577 51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
14578 53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
14579 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
14580 5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
14581 5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
14582 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
14583 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
14584 5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
14585 5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
14586 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
14587 5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
14588 5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
14589 5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
14590 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
14591 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
14592 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
14593 5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
14594 5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
14595 5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
14596 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
14597 5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
14598 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
14599 5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
14600 5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
14601 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
14602 5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
14603 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
14604 7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
14605 7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
14606 a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
14607 a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
14608 a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
14609 a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
14610 a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
14611 ali.adb, ali.ads, ali-util.adb, ali-util.ads,
14612 a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
14613 a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
14614 a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
14615 a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
14616 a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
14617 a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
14618 a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
14619 a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
14620 a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
14621 a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
14622 a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
14623 a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
14624 atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
14625 a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
14626 a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
14627 bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
14628 checks.adb, checks.ads, cio.c, comperr.adb,
14629 comperr.ads, csets.adb, cstand.adb, cstreams.c,
14630 debug_a.adb, debug_a.ads, debug.adb, decl.c,
14631 einfo.adb, einfo.ads, errout.adb, errout.ads,
14632 eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
14633 expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
14634 exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
14635 exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
14636 exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
14637 exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
14638 exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
14639 exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
14640 exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
14641 fe.h, fmap.adb, fmap.ads, fname.adb,
14642 fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
14643 freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
14644 g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
14645 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
14646 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
14647 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
14648 g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
14649 g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
14650 g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
14651 g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
14652 g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
14653 g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
14654 g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
14655 g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
14656 gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
14657 gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
14658 gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
14659 gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
14660 gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
14661 g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
14662 g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
14663 g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
14664 g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
14665 g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
14666 g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
14667 g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
14668 g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
14669 i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
14670 i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
14671 inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
14672 itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
14673 layout.adb, lib.adb, lib.ads, lib-list.adb,
14674 lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
14675 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
14676 link.c, live.adb, make.adb, make.ads,
14677 Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
14678 mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
14679 mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
14680 misc.c, mkdir.c, mlib.adb, mlib.ads,
14681 mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
14682 mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
14683 namet.adb, namet.ads, namet.h, nlists.ads,
14684 nlists.h, nmake.adt, opt.adb, opt.ads,
14685 osint.adb, osint.ads, osint-b.adb, osint-c.adb,
14686 par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
14687 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
14688 par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
14689 par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
14690 prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
14691 prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
14692 prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
14693 prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
14694 prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
14695 prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
14696 prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
14697 prj-util.adb, prj-util.ads, raise.c, raise.h,
14698 repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
14699 rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
14700 s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
14701 s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
14702 scans.ads, scn.adb, scn.ads, s-crc32.adb,
14703 s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
14704 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
14705 sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
14706 sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
14707 sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
14708 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
14709 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
14710 sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
14711 sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
14712 sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
14713 sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
14714 sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
14715 s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
14716 s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
14717 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
14718 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
14719 s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
14720 s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
14721 s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
14722 sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
14723 sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
14724 sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
14725 s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
14726 s-memory.adb, s-memory.ads, snames.adb, snames.ads,
14727 snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
14728 s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
14729 s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
14730 s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
14731 s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
14732 s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
14733 s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
14734 s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
14735 s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
14736 s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
14737 s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
14738 s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
14739 s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
14740 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
14741 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
14742 s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
14743 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
14744 stringt.adb, stringt.ads, stringt.h, style.ads,
14745 stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
14746 s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
14747 s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
14748 switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
14749 s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
14750 table.adb, table.ads, targparm.adb, targparm.ads,
14751 targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
14752 trans.c, tree_io.adb, treepr.adb, treeprs.adt,
14753 ttypes.ads, types.ads, types.h, uintp.adb,
14754 uintp.ads, uintp.h, uname.adb, urealp.adb,
14755 urealp.ads, urealp.h, usage.adb, utils2.c,
14756 utils.c, validsw.adb, validsw.ads, widechar.adb,
14757 xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
14758 xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
14759 einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
14760 gnatvsn.ads: Merge with ACT tree.
14761
14762 * gnatvsn.adb: Rewritten in a simpler and more efficient way.
14763
14764 2003-10-20 Mark Mitchell <mark@codesourcery.com>
14765
14766 * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
14767 (gnat_ug_vmx.info): Likewise.
14768 (gnat_ug_vxw.info): Likewise.
14769 (gnat_ug_wnt.info): Likewise.
14770 (gnat_rm.info): Likewise.
14771 (gnat-style.info): Likewise.
14772
14773 * Make-lang.in (ada.install-info): Remove target.
14774 (info): New target.
14775 (install-info): Likewise.
14776 (gnat_ug_unx.info): Simplify rule.
14777 (gnat_ug_vmx.info): Likewise.
14778 (gnat_ug_vxw.info): Likewise.
14779 (gnat_ug_wnt.info): Likewise.
14780 (gnat_rm.info): Likewise.
14781 (gnat-style.info): Likewise.
14782
14783 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
14784
14785 * Make-lang.in: Replace uses of $(target_alias) with
14786 $(target_noncanonical).
14787 * ada/Makefile.in: Remove unused mention of $(target_alias).
14788
14789 2003-10-06 Mark Mitchell <mark@codesourcery.com>
14790
14791 * Make-lang.in (ada.info): Replace with ...
14792 (info): ... this.
14793 (ada.dvi): Replace with ...
14794 (dvi): ... this.
14795
14796 2003-09-29 Zack Weinberg <zack@codesourcery.com>
14797
14798 * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
14799 initialize dconstp5 and dconstmp5.
14800
14801 2003-09-28 Richard Henderson <rth@redhat.com>
14802
14803 * trans.c (tree_transform): Update call to expand_asm_operands.
14804
14805 2003-09-21 Richard Henderson <rth@redhat.com>
14806
14807 * trans.c, utils.c: Revert.
14808
14809 2003-09-21 Richard Henderson <rth@redhat.com>
14810
14811 * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
14812 change to const.
14813
14814 2003-09-04 Michael Matz <matz@suse.de>
14815
14816 * misc.c: Include "target.h".
14817 * Make-lang.in (misc.o): Add dependency on target.h.
14818
14819 2003-09-03 DJ Delorie <dj@redhat.com>
14820
14821 * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
14822 hook.
14823
14824 2003-08-30 Zack Weinberg <zack@codesourcery.com>
14825
14826 * Makefile.in: Update substitutions to match changes to
14827 configure. Use include directives instead of @-insertions
14828 to read in host and target fragments. Add a rule to
14829 regenerate ada/Makefile.
14830
14831 2003-07-18 Neil Booth <neil@daikokuya.co.uk>
14832
14833 * lang-options.h: Remove.
14834 * lang.opt: Add help text.
14835
14836 2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
14837
14838 * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
14839 calls.
14840
14841 2003-07-06 Neil Booth <neil@daikokuya.co.uk>
14842
14843 * misc.c (gnat_handle_option): Don't handle filenames.
14844
14845 2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
14846
14847 * Make-lang.in: Replace PWD with PWD_COMMAND.
14848 * Makefile.adalib: Likewise.
14849 * Makefile.in: Likewise.
14850
14851 2003-07-04 Matt Kraai <kraai@alumni.cmu.edu>
14852
14853 * misc.c (gnat_argv): Revert last change.
14854 (gnat_handle_option, gnat_init_options): Copy arguments.
14855
14856 2003-07-03 Neil Booth <neil@daikokuya.co.uk>
14857
14858 * misc.c (gnat_argv): Make const.
14859
14860 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
14861
14862 * misc.c (save_argc, save_argv): Keep non-static!
14863
14864 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
14865
14866 * misc.c (save_argc, save_argv): Make static.
14867 (gnat_init_options): New prototype.
14868 (gnat_init_options): Update.
14869
14870 2003-07-01 Matt Kraai <kraai@alumni.cmu.edu>
14871
14872 * gnat_ug.texi: Remove unlikely characters from @vars.
14873 * gnat_ug_vms.texi: Regenerate.
14874
14875 2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
14876
14877 * misc.c (record_code_position): Adjust emit_note call.
14878
14879 2003-06-26 Neil Booth <neil@daikokuya.co.uk>
14880
14881 * misc.c (gnat_handle_option): Don't check for missing arguments.
14882
14883 2003-06-20 Nathan Sidwell <nathan@codesourcery.com>
14884
14885 * utils.c (end_subprog_body): Adjust expand_function_end call.
14886
14887 2003-06-16 Matt Kraai <kraai@alumni.cmu.edu>
14888
14889 * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
14890 Bind_Main_Program.
14891
14892 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
14893
14894 * lang.opt: Declare Ada.
14895 * misc.c (gnat_init_options): Update.
14896
14897 2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
14898
14899 * utils.c (begin_subprog_body): Adjust init_function_start call.
14900
14901 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
14902
14903 * Make-lang.in: Update to use options.c and options.h.
14904 * misc.c: Include options.h not aoptions.h.
14905 (gnat_handle_option): Abort on unrecognized switch.
14906 (gnat_init_options): Request Ada switches.
14907
14908 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
14909
14910 * lang.opt: Add -Wall.
14911 * misc.c (gnat_handle_option): Handle it.
14912
14913 2003-06-12 Neil Booth <neil@daikokuya.co.uk>
14914
14915 * misc.c (gnat_handle_option): Fix warnings.
14916
14917 2003-06-11 Matt Kraai <kraai@alumni.cmu.edu>
14918
14919 * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
14920
14921 2003-06-11 Neil Booth <neil@daikokuya.co.uk>
14922
14923 * Make-lang.in: Update to handle command-line options.
14924 * lang.opt: New file.
14925 * misc.c: Include aoptions.h.
14926 (cl_options_count, cl_options): Remove.
14927 (gnat_handle_option): New.
14928 (gnat_decode_option): Remove.
14929 (LANG_HOOKS_DECODE_OPTION): Remove.
14930 (LANG_HOOKS_HANDLE_OPTION): Override.
14931
14932 2003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
14933
14934 * init.c, misc.c, trans.c, utils.c: Remove dead code.
14935
14936 2003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
14937
14938 * Makefile.in: Replace "host_canonical" with "host" for autoconf
14939 substitution.
14940
14941 2003-06-08 Neil Booth <neil@daikokuya.co.uk>
14942
14943 * Make-lang.in: Update.
14944 * misc.c: Include opts.h. Define cl_options_count and cl_options.
14945
14946 2003-06-07 Neil Booth <neil@daikokuya.co.uk>
14947
14948 * misc.c (gnat_init_options): Update.
14949
14950 2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
14951
14952 * Make-lang.in (ada/b_gnatb.o-warn): Remove.
14953 * bindgen.adb (Gen_Main_C): Mark ensure_reference with
14954 __attribute__ ((__unused__)).
14955
14956 2003-06-05 Jan Hubicka <jh@suse.cz>
14957
14958 * Make-lang.in: Add support for stageprofile and stagefeedback
14959
14960 2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
14961
14962 * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
14963 (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
14964
14965 2003-06-04 Matt Kraai <kraai@alumni.cmu.edu>
14966
14967 * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
14968 Remove non-VMS directive.
14969 (Switches for gnatlbr, Optimization Levels): Remove non-VMS
14970 alternatives.
14971 (Examples of gnatls Usage): Remove VMS alternative.
14972
14973 2003-06-04 Olivier Hainque <hainque@act-europe.fr>
14974
14975 PR ada/9953:
14976 * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
14977 and turn ZCX_By_Default back to False since the underlying support
14978 is not quite there yet.
14979
14980 2003-06-01 Andreas Jaeger <aj@suse.de>
14981
14982 * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
14983 and ROUND_TYPE_SIZE_UNIT.
14984
14985 2003-05-22 Geert Bosch <bosch@gnat.com>
14986
14987 * gnat_rm.texi : Remove reference to Ada Core Technologies.
14988
14989 2003-05-03 Nathan Sidwell <nathan@codesourcery.com>
14990
14991 * trans.c (tree_transform): Use location_t and input_location
14992 directly.
14993 (build_unit_elab): Likewise.
14994 * utils.c (create_label_decl): Likewise.
14995
14996 2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
14997
14998 * trans.c (tree_transform, build_unit_elab,
14999 set_lineno): Rename lineno to input_line.
15000 * utils.c (pushdecl, create_label_decl, begin_subprog_body,
15001 end_subprog_body): Likewise.
15002 * utils2.c (build_call_raise): Likewise.
15003
15004 2003-05-01 Laurent Guerby <guerby@acm.org>
15005
15006 PR ada/10546
15007 * 5iosinte.ads: Increase pthread_cond_t size to match recent
15008 LinuxThread and NPTL version, merge from ACT.
15009
15010 2003-04-28 Zack Weinberg <zack@codesourcery.com>
15011
15012 * utils.c (convert): No need to clear TREE_CST_RTL.
15013
15014 2003-04-23 Geert Bosch <bosch@gnat.com>
15015
15016 * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
15017 1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
15018 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
15019 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
15020 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
15021 4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
15022 4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
15023 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
15024 4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
15025 4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
15026 4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
15027 4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
15028 52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
15029 5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
15030 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
15031 5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
15032 5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
15033 5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
15034 5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
15035 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
15036 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
15037 5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
15038 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
15039 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
15040 5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
15041 5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
15042 5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
15043 5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
15044 5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
15045 5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
15046 5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
15047 5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
15048 5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
15049 5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
15050 5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
15051 5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
15052 5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
15053 5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
15054 5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
15055 5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
15056 5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
15057 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
15058 5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
15059 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
15060 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
15061 7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
15062 7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
15063 9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
15064 a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
15065 a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
15066 a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
15067 a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
15068 a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
15069 a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
15070 a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
15071 a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
15072 a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
15073 a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
15074 a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
15075 a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
15076 a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
15077 a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
15078 a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
15079 a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
15080 a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
15081 a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
15082 a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
15083 a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
15084 a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
15085 a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
15086 a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
15087 a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
15088 a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
15089 a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
15090 a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
15091 a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
15092 a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
15093 a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
15094 a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
15095 a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
15096 a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
15097 a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
15098 a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
15099 a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
15100 a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
15101 a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
15102 a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
15103 a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
15104 a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
15105 a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
15106 a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
15107 a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
15108 a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
15109 a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
15110 a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
15111 a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
15112 a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
15113 a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
15114 a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
15115 a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
15116 a-wttest.ads, ada-tree.h, ada.ads, ada.h,
15117 adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
15118 ali.adb, ali.ads, alloc.ads, argv.c,
15119 atree.adb, atree.ads, atree.h, aux-io.c,
15120 back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
15121 binde.adb, binde.ads, binderr.adb, binderr.ads,
15122 bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
15123 butil.adb, butil.ads, cal.c, calendar.ads,
15124 casing.adb, casing.ads, ceinfo.adb, checks.adb,
15125 checks.ads, cio.c, comperr.adb, comperr.ads,
15126 config-lang.in, csets.adb, csets.ads, csinfo.adb,
15127 cstand.adb, cstand.ads, cuintp.c, debug.adb,
15128 debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
15129 dec-io.ads, dec.ads, deftarg.c, directio.ads,
15130 einfo.adb, einfo.ads, elists.adb, elists.ads,
15131 elists.h, errno.c, errout.adb, errout.ads,
15132 eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
15133 exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
15134 exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
15135 exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
15136 exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
15137 exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
15138 exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
15139 exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
15140 exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
15141 exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
15142 exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
15143 exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
15144 exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
15145 exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
15146 exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
15147 fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
15148 fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
15149 freeze.adb, freeze.ads, frontend.adb, frontend.ads,
15150 g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
15151 g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
15152 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
15153 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
15154 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
15155 g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
15156 g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
15157 g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
15158 g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
15159 g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
15160 g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
15161 g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
15162 g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
15163 g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
15164 g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
15165 g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
15166 g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
15167 g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
15168 g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
15169 g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
15170 g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
15171 g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
15172 get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
15173 gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
15174 gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
15175 gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
15176 gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
15177 gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
15178 gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
15179 gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
15180 hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
15181 i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
15182 i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
15183 i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
15184 i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
15185 i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
15186 i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
15187 inline.adb, inline.ads, interfac.ads, ioexcept.ads,
15188 itypes.adb, itypes.ads, krunch.adb, krunch.ads,
15189 layout.adb, layout.ads, lib-list.adb, lib-load.adb,
15190 lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
15191 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
15192 lib.adb, lib.ads, live.adb, live.ads,
15193 machcode.ads, make.adb, make.ads, makeusg.adb,
15194 makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
15195 mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
15196 memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
15197 mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
15198 mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
15199 mlib.ads, namet.adb, namet.ads, nlists.adb,
15200 nlists.ads, opt.adb, opt.ads, osint-b.adb,
15201 osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
15202 osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
15203 osint.ads, output.adb, output.ads, par-ch10.adb,
15204 par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
15205 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
15206 par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
15207 par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
15208 par-tchk.adb, par-util.adb, par.adb, par.ads,
15209 prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
15210 prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
15211 prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
15212 prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
15213 prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
15214 prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
15215 prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
15216 prj.adb, prj.ads, repinfo.adb, repinfo.ads,
15217 restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
15218 rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
15219 s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
15220 s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
15221 s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
15222 s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
15223 s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
15224 s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
15225 s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
15226 s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
15227 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
15228 s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
15229 s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
15230 s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
15231 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
15232 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
15233 s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
15234 s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
15235 s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
15236 s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
15237 s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
15238 s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
15239 s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
15240 s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
15241 s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
15242 s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
15243 s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
15244 s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
15245 s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
15246 s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
15247 s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
15248 s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
15249 s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
15250 s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
15251 s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
15252 s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
15253 s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
15254 s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
15255 s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
15256 s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
15257 s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
15258 s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
15259 s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
15260 s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
15261 s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
15262 s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
15263 s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
15264 s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
15265 s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
15266 s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
15267 s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
15268 s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
15269 s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
15270 s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
15271 s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
15272 s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
15273 s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
15274 s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
15275 s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
15276 s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
15277 s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
15278 s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
15279 s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
15280 s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
15281 s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
15282 s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
15283 s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
15284 s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
15285 s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
15286 s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
15287 s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
15288 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
15289 s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
15290 s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
15291 s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
15292 s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
15293 s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
15294 s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
15295 s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
15296 s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
15297 s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
15298 s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
15299 s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
15300 s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
15301 s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
15302 s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
15303 s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
15304 s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
15305 s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
15306 s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
15307 s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
15308 s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
15309 s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
15310 s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
15311 s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
15312 scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
15313 sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
15314 sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
15315 sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
15316 sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
15317 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
15318 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
15319 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
15320 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
15321 sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
15322 sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
15323 sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
15324 sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
15325 sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
15326 sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
15327 sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
15328 sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
15329 sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
15330 sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
15331 sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
15332 sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
15333 snames.ads, sprint.adb, sprint.ads, stand.adb,
15334 stand.ads, stringt.adb, stringt.ads, style.adb,
15335 style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
15336 switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
15337 switch-m.ads, switch.adb, switch.ads, system.ads,
15338 table.adb, table.ads, targparm.adb, targparm.ads,
15339 tbuild.adb, tbuild.ads, text_io.ads, trans.c,
15340 tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
15341 tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
15342 ttypef.ads, ttypes.ads, types.adb, types.ads,
15343 uintp.adb, uintp.ads, uname.adb, uname.ads,
15344 unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
15345 usage.adb, usage.ads, validsw.adb, validsw.ads,
15346 widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
15347 xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
15348 xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
15349 formatting and other trivial changes from ACT.
15350
15351 2003-04-12 Zack Weinberg <zack@codesourcery.com>
15352
15353 * gigi.h, utils2.c (build_constructor):
15354 Rename gnat_build_constructor. Use build_constructor.
15355 * decl.c (gnat_to_gnu_entity)
15356 * trans.c (tree_transform, pos_to_constructor, extract_values)
15357 * ada/utils.c (build_template, convert_to_fat_pointer, convert)
15358 (unchecked_convert)
15359 * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
15360 (fill_vms_descriptor):
15361 Update to match.
15362
15363 2003-04-06 Zack Weinberg <zack@codesourcery.com>
15364
15365 * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
15366 * misc.c (gnat_tree_size): New function.
15367 (LANG_HOOKS_TREE_SIZE): Override.
15368
15369 2003-04-03 Jason Merrill <jason@redhat.com>
15370
15371 * misc.c (gnat_adjust_rli): #if 0.
15372
15373 2003-03-31 Geert Bosch <bosch@gnat.com>
15374
15375 PR ada/10020
15376 * link.c : Fix misspelled "const" keyword
15377
15378 2003-03-23 Mark Mitchell <mark@codesourcery.com>
15379
15380 PR c++/7086
15381 * utils2.c: Adjust calls to put_var_into_stack.
15382
15383 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
15384
15385 * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
15386
15387 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
15388
15389 * misc.c (gnat_init): Update for new prototype.
15390
15391 2003-03-05 Olivier Hainque <hainque@gnat.com>
15392
15393 ada/9961
15394 * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
15395 warning, and fix return type for the IN_RTS && !SJLJ case.
15396
15397 2003-03-04 Tom Tromey <tromey@redhat.com>
15398
15399 * Make-lang.in (ada.tags): New target.
15400
15401 2003-03-04 Olivier Hainque <hainque@act-europe.fr>
15402
15403 ada/9911
15404 * a-except.adb (Unwind_RaiseException): Import a GNAT specific
15405 wrapper, which name remains constant whatever underlying GCC
15406 scheme.
15407
15408 * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
15409 the stable interface needed for a-except.
15410
15411 2003-03-02 Andreas Jaeger <aj@suse.de>
15412
15413 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
15414 gnat_ug_wnt.texi: Regenerate.
15415
15416 2003-03-02 Laurent Guerby <guerby@acm.org>
15417
15418 * Makefile.in (install-gnatlib): Match previous change there
15419 so it works.
15420
15421 2003-02-28 Andreas Schwab <schwab@suse.de>
15422
15423 * Make-lang.in (install-gnatlib): Change to ada directory before
15424 running make instead of using ada/Makefile directly.
15425
15426 2003-02-18 Ben Elliston <bje@redhat.com>
15427
15428 Part of fix for PR ada/9406
15429 * gnat_ug.texi (Binder output file): Grammar fix.
15430
15431 2003-02-18 Ben Elliston <bje@redhat.com>
15432
15433 PR other/7350
15434 * 5qtaprop.adb (Sleep): Fix typo in comment.
15435
15436 2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
15437
15438 * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
15439 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
15440 gnat_ug_wnt.texi: Regenerate.
15441
15442 2003-02-03 Christian Cornelssen <ccorn@cs.tu-berlin.de>
15443
15444 * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
15445 be created if necessary.
15446 (ada.install-common): Let $(DESTDIR)$(bindir) be created
15447 if necessary. Remove erroneous and redundant gnatchop
15448 installation commands. Test for gnatdll before attempting
15449 to install it.
15450 (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
15451 and gnatdll from all plausible locations.
15452
15453 2003-02-01 Richard Sandiford <rsandifo@redhat.com>
15454
15455 * utils2.c (build_unary_op): Don't check flag_volatile.
15456 * gnat_ug.texi: Remove -fvolatile from example.
15457 * gnat_ug_vxw.texi: Likewise.
15458
15459 2003-01-29 Laurent Guerby <guerby@acm.org>
15460
15461 PR ada/8344
15462 * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
15463 * Makefile.in: match previous change.
15464 * Make-lang.in: match previous change.
15465
15466 2003-01-29 Joel Sherrill <joel@OARcorp.com>
15467
15468 * 5rosinte.ads: Add SIGXCPU.
15469 * 5rtpopsp.adb: New file.
15470 * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
15471 * Makefile.in: Recognize more RTEMS targets and add the RTEMS
15472 specific file 5rtpopsp.adb.
15473 * adaint.h: Add include of <stdio.h> when target is RTEMS. This
15474 is likely needed for all newlib targets.
15475 * init.c: Add RTEMS specific version of __gnat_initialize().
15476
15477 2003-01-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15478
15479 * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
15480
15481 2003-01-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15482
15483 * init.c (__gnat_error_handler): Make msg const.
15484
15485 * gmem.c (convert_addresses): Move declaration ...
15486 * adaint.h: ... here.
15487 * adaint.c (convert_addresses): Adapt addrs type to match
15488 prototype.
15489
15490 * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
15491
15492 2003-01-24 Andreas Schwab <schwab@suse.de>
15493
15494 * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
15495 size_t to avoid warning.
15496
15497 2003-01-21 Zack Weinberg <zack@codesourcery.com>
15498
15499 * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
15500
15501 2003-01-09 Geoffrey Keating <geoffk@apple.com>
15502
15503 * gnat_rm.texi: Remove RCS version number.
15504
15505 * ada-tree.h (union lang_tree_node): Add chain_next option.
15506
15507 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
15508
15509 * Make-lang.in (ada.install-info, ada.install-common,
15510 ada.uninstall): Prepend $(DESTDIR) to the destination
15511 directory in all (un)installation commands.
15512 * Makefile.in (install-gnatlib, install-rts): Ditto.
15513
15514 2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
15515
15516 * gnat_rm.texi, gnat_ug.texi: Use @copying.
15517 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
15518 gnat_ug_wnt.texi: Regenerate.
15519
15520 2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
15521
15522 * gnat_rm.texi: Include gcc-common.texi. Use GCC version number
15523 only.
15524 * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
15525 $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
15526 $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
15527 ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
15528 ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
15529 $(srcdir)/doc/include/gcc-common.texi.
15530
15531 2002-12-15 Geert Bosch <bosch@gnat.com>
15532
15533 * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
15534
15535 2002-12-14 Geert Bosch <bosch@gnat.com>
15536
15537 * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
15538 case of a body created for a Renaming_As_Body, on which
15539 conformance checks are not performed. Fixes PR ada/5690.
15540
15541 2002-11-30 Zack Weinberg <zack@codesourcery.com>
15542
15543 * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
15544 utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
15545 not already included.
15546 * Make-lang.in: Update dependencies.
15547
15548 2002-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
15549 * adaint.c (__gnat_tmp_name): Better, but good enough for now,
15550 solution to buffer overflow bug on GNU/Linux.
15551
15552 2002-11-14 Nathanael Nerode <neroden@gcc.gnu.org>
15553 Closes PR ada/5856 and PR ada/6919 !
15554 * bindgen.adb: Remove all references to Public_Version.
15555 * comperr.adb: Remove all references to Public_Version and
15556 GNATPRO_Version; correct bug reporting instructions.
15557 * comperr.ads: Change to match bug box.
15558 * gnatvsn.ads: Remove all references to Public version and
15559 GNATPRO version.
15560
15561 2002-11-13 Nathanael Nerode <neroden@gcc.gnu.org>
15562 PR ada/6919
15563 * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
15564 GNU/Linux.
15565
15566 PR ada/6558
15567 * config-lang.in: Remove diff_excludes.
15568
15569 2002-11-05 Graham Stott <graham.stott@btinternet.com>
15570 PR ada/8358
15571 * trans.c (gnu_pending_elaboration_lists): New GC root.
15572 (build_unit_elab): Use..
15573
15574 2002-10-30 Geert Bosch <bosch@gnat.com>
15575 PR ada/6558
15576 * misc.c : Include optabs.h
15577
15578 * Make-lang.in (misc.o): Add dependency on optabs.h
15579
15580 2002-10-29 Geert Bosch <bosch@gnat.com>
15581 PR ada/6558
15582 * Make-lang.in (gnatbind): Depend on CONFIG_H
15583
15584 2002-10-29 Geert bosch <bosch@gnat.com>
15585 PR ada/6558
15586 * misc.c: Unrevert misc.c (1.13)
15587
15588 2002-10-28 Nathanael Nerode <neroden@gcc.gnu.org>
15589
15590 * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
15591 maintainership comments.
15592
15593 2002-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
15594 PR ada/5904
15595 * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
15596 5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
15597 5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
15598 7staprop.adb: Correct statements in comments about
15599 maintainership of GNAT.
15600
15601 PR ada/5904
15602 * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
15603 gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
15604 osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
15605 osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
15606 s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
15607 s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
15608 sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
15609 switch-c.ads switch-m.adb switch-m.ads: Correct statements in
15610 comments about maintainership of GNAT.
15611
15612 PR ada/6919 (forward port of patch for PR ada/5904)
15613 * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
15614 4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
15615 4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
15616 4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
15617 4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
15618 4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
15619 4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
15620 52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
15621 5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
15622 5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
15623 5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
15624 5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
15625 5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
15626 5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
15627 5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
15628 5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
15629 5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
15630 5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
15631 5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
15632 5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
15633 5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
15634 5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
15635 5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
15636 5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
15637 5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
15638 5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
15639 5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
15640 5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
15641 7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
15642 a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
15643 a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
15644 a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
15645 a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
15646 a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
15647 a-except.adb a-except.ads a-excpol.adb a-exctra.adb
15648 a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
15649 a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
15650 a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
15651 a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
15652 a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
15653 a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
15654 a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
15655 a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
15656 a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
15657 a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
15658 a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
15659 a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
15660 a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
15661 a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
15662 a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
15663 a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
15664 a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
15665 a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
15666 a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
15667 a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
15668 a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
15669 a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
15670 a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
15671 a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
15672 a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
15673 a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
15674 a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
15675 a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
15676 a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
15677 a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
15678 a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
15679 a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
15680 a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
15681 adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
15682 alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
15683 back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
15684 binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
15685 bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
15686 ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
15687 csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
15688 cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
15689 debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
15690 einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
15691 errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
15692 exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
15693 exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
15694 exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
15695 exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
15696 exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
15697 exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
15698 exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
15699 exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
15700 exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
15701 exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
15702 exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
15703 exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
15704 exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
15705 final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
15706 fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
15707 freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
15708 g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
15709 g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
15710 gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
15711 gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
15712 gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
15713 gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
15714 gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
15715 gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
15716 i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
15717 i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
15718 i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
15719 i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
15720 impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
15721 itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
15722 lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
15723 lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
15724 lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
15725 lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
15726 makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
15727 namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
15728 nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
15729 osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
15730 par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
15731 par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
15732 par-endh.adb par-labl.adb par-load.adb par-prag.adb
15733 par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
15734 prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
15735 prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
15736 prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
15737 prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
15738 prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
15739 prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
15740 repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
15741 rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
15742 s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
15743 s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
15744 s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
15745 s-direio.adb s-direio.ads s-except.ads s-exctab.adb
15746 s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
15747 s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
15748 s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
15749 s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
15750 s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
15751 s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
15752 s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
15753 s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
15754 s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
15755 s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
15756 s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
15757 s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
15758 s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
15759 s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
15760 s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
15761 s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
15762 s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
15763 s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
15764 s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
15765 s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
15766 s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
15767 s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
15768 s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
15769 s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
15770 s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
15771 s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
15772 s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
15773 s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
15774 s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
15775 s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
15776 s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
15777 s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
15778 s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
15779 s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
15780 s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
15781 s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
15782 s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
15783 s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
15784 s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
15785 s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
15786 s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
15787 s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
15788 s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
15789 s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
15790 s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
15791 s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
15792 s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
15793 s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
15794 s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
15795 s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
15796 s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
15797 s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
15798 s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
15799 s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
15800 s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
15801 s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
15802 s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
15803 s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
15804 s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
15805 s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
15806 s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
15807 s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
15808 s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
15809 s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
15810 s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
15811 s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
15812 s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
15813 s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
15814 s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
15815 s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
15816 s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
15817 s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
15818 s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
15819 s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
15820 s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
15821 s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
15822 s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
15823 s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
15824 scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
15825 sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
15826 sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
15827 sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
15828 sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
15829 sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
15830 sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
15831 sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
15832 sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
15833 sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
15834 sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
15835 sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
15836 sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
15837 sem_type.adb sem_type.ads sem_util.adb sem_util.ads
15838 sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
15839 sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
15840 sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
15841 sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
15842 snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
15843 stringt.ads stringt.h style.adb style.ads stylesw.adb
15844 stylesw.ads switch.adb switch.ads sysdep.c system.ads
15845 table.adb table.ads targparm.adb targparm.ads targtyps.c
15846 tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
15847 tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
15848 treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
15849 types.adb types.ads types.h uintp.adb uintp.ads uintp.h
15850 uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
15851 usage.ads utils.c utils2.c validsw.adb validsw.ads
15852 widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
15853 xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
15854 xtreeprs.adb: Correct statements in comments about maintainership
15855 of GNAT.
15856
15857 2002-09-23 Zack Weinberg <zack@codesourcery.com>
15858
15859 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
15860 * Makefile.in (TOOLS_LIBS): Add ../../version.o.
15861 * gnatvsn.ads: Gnat_Version_String is now a function.
15862 * gnatvsn.adb: New file. When asked for Gnat_Version_String,
15863 copy the C version_string into a String and return it.
15864 * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
15865 gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
15866 Remove pragma Ident (Gnat_Version_String). If this was the
15867 sole use of package Gnatvsn, remove the with statement too.
15868 * gnat1drv.adb: Tweak -gnatv output.
15869
15870 2002-09-17 Richard Henderson <rth@redhat.com>
15871
15872 * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
15873 * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
15874 * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
15875 (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
15876 * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
15877 and real_2expN instead of a loop.
15878 * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
15879 (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
15880
15881 2002-08-25 Andre Leis <a.leis@gmx.net>
15882 David Billinghurst (David.Billinghurst@riotinto.com>
15883
15884 * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
15885
15886 2002-08-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15887
15888 * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
15889 Remove $(CONFIG_H) dependency.
15890
15891 2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
15892
15893 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
15894
15895 2002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15896
15897 * adadecode.c (ada_demangle): Use xstrdup in lieu of
15898 xmalloc/strcpy.
15899 * misc.c (gnat_decode_option): Likewise.
15900
15901 2002-07-15 Florian Weimer <fw@deneb.enyo.de>
15902
15903 * make.adb (Add_Switch): Make Generic_Position a procedure. The
15904 function approach did not work well because of a side effect (the
15905 function call could reallocate the table which was being indexed
15906 using its result). Fixes ada/4851. [RESURRECTED]
15907
15908 2002-07-01 Roger Sayle <roger@eyesopen.com>
15909
15910 * ada/utils.c (builtin_function): Accept an additional parameter.
15911
15912 2002-06-28 Andreas Jaeger <aj@suse.de>
15913
15914 PR ada/7144
15915 * Makefile.in: Fix typo in comment, patch by Adrian Knoth
15916 <adi@thur.de>.
15917
15918 2002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15919
15920 * Makefile.in (SHELL): Set to @SHELL@.
15921
15922 2002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15923
15924 * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
15925 array size calculation.
15926
15927 2002-06-04 Andreas Jaeger <aj@suse.de>
15928
15929 * Make-lang.in (gnatbind): Readd rule that has been lost in last
15930 patch.
15931
15932 2002-06-03 Geoffrey Keating <geoffk@redhat.com>
15933
15934 Merge from pch-branch:
15935
15936 * config-lang.in (gtfiles): Add ada-tree.h.
15937 * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
15938 (SET_TYPE_MODULUS): New.
15939 (SET_TYPE_INDEX): New.
15940 (SET_TYPE_DIGITS_VALUE): New.
15941 (SET_TYPE_RM_SIZE): New.
15942 (SET_TYPE_UNCONSTRAINED_ARRAY): New.
15943 (SET_TYPE_ADA_SIZE): New.
15944 (SET_TYPE_ACTUAL_BOUNDS): New.
15945 (SET_DECL_CONST_CORRESPONDING_VAR): New.
15946 (SET_DECL_ORIGINAL_FIELD): New.
15947 (TREE_LOOP_ID): Correct typo.
15948 * decl.c: Use new macros.
15949 * utils.c: Include debug.h, use new macros.
15950 * utils2.c: Use new macros.
15951
15952 * ada-tree.h: Update all macros for new tree description.
15953 (struct tree_loop_id): New.
15954 (union lang_tree_node): New.
15955 (struct lang_decl): New.
15956 (struct lang_type): New.
15957 * misc.c (gnat_mark_tree): Delete.
15958 (LANG_HOOKS_MARK_TREE): Delete.
15959 * trans.c (tree_transform): No longer any need to cast
15960 for TREE_LOOP_ID.
15961
15962 * utils.c (struct language_function): New dummy structure.
15963
15964 * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
15965 (misc.o): Likewise.
15966 (utils.o): Likewise; also gtype-ada.h.
15967 * Make-lang.in (gnat1): Add dependency on s-gtype.
15968 (gnatbind): Add dependency on $(CONFIG_H).
15969 * utils.c: Correct last #include.
15970 (stuct e_stack): Remove unnecessary 'static'.
15971 (mark_e_stack): Remove unused prototype.
15972
15973 * scn-nlit.adb: Remove whitespace after version number to
15974 keep lines under 80 chars.
15975 * snames.adb: Likewise.
15976 * treepr.ads: Likewise.
15977
15978 * Makefile.in (decl.o): Include gt-ada-<filename>.h.
15979 (misc.o): Likewise.
15980 (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
15981 * config-lang.in (gtfiles): New.
15982 * decl.c: Use gengtype for roots.
15983 * gigi.h: Use gengtype for roots.
15984 * trans.c: Use gengtype for roots.
15985 * utils.c: Use gengtype for roots, marking. Include gtype-ada.h.
15986
15987 2002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
15988
15989 * misc.c (gnat_init): Adjust setting of internal_error_function.
15990
15991 2002-06-01 Joseph S. Myers <jsm28@cam.ac.uk>
15992
15993 * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
15994 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
15995 gnat_ug_wnt.texi: Regenerate.
15996
15997 2002-05-31 Florian Weimer <fw@deneb.enyo.de>
15998
15999 * 5ntaprop.adb (with System.OS_Primitives): Remove.
16000
16001 * cstreams.c (max_path_len): Move from here ...
16002 * adaint.c (__gnat_max_path_len): ... to here.
16003 * adaint.c (__gnat_max_path_len): Declare.
16004 * g-dirope.adb (Max_Path): Adjust.
16005 * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
16006 * i-cstrea.ads (max_path_len): Adjust.
16007 * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
16008 * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
16009
16010 * Makefile.in, Make-lang.in: Documentation is now built in
16011 Make-lang.in. Store Info and generated Texinfo files in the
16012 source directory.
16013 * gnat_ug.texi: Remove CVS keywords, correct version number.
16014 Set file name correctly.
16015
16016 * gnat_ug_*.texi: Add.
16017 * .cvsignore: Ignore generated Texinfo files.
16018
16019 2002-05-30 Zack Weinberg <zack@codesourcery.com>
16020
16021 * ada.h: Add MI guard macro.
16022 (SUBTYPE): Define constants with an anonymous enum, not static
16023 const variables.
16024 (IN): Cast constants to appropriate type before use.
16025
16026 2002-05-26 Joseph S. Myers <jsm28@cam.ac.uk>
16027
16028 * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
16029 (experimental)".
16030
16031 2002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16032
16033 * Make-lang.in (CP, ECHO): Copy from Makefile.in.
16034 (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
16035 (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
16036 (ALL_ADA_CFLAGS): Likewise.
16037 (ADA_INCLUDES): Likewise.
16038 Adapt for new working dir.
16039 (GNATBIND): Use Makefile.in version.
16040 (.SUFFIXES): Copy from Makefile.in.
16041 (ada-warn): Define.
16042 (.adb.o, .ads.o): Copy from Makefile.in.
16043 Added $(OUTPUT_OPTION).
16044 (GNAT1_C_OBJS): Moved from Makefile.in.
16045 Prefix with ada subdir.
16046 (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
16047 (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
16048 Adapt for new working dir.
16049 (EXTRA_GNATBIND_OBJS): Likewise.
16050 (ADA_BACKEND): Moved from Makefile.in.
16051 Renamed to avoid conflict with global BACKEND.
16052 Use that one.
16053 (TARGET_ADA_SRCS): Moved from Makefile.in.
16054 (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
16055 Use ADA_BACKEND.
16056 (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
16057 (ada_extra_files): Moved from Makefile.in.
16058 Prefix with ada subdir.
16059 (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
16060 (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
16061 (ada/nmake.ads): Likewise.
16062 (update-sources): Moved from Makefile.in.
16063 Prefix with ada subdir.
16064 (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
16065 (ADA_TREE_H): Likewise.
16066 (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
16067 (ada/memtrack.o): Likewise.
16068 (ada/adadecode.o): Likewise.
16069 Update dependencies.
16070 (ada/adaint.o): New.
16071 (ada/argv.o): Moved from Makefile.in.
16072 Prefix with ada subdir.
16073 Update dependencies.
16074 (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
16075 (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
16076 (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
16077 Prefix with ada subdir.
16078 (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
16079 (GNAT DEPENDENCIES): Regenerate.
16080 * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
16081 toplevel Makefile.in.
16082 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
16083 (TARGET_ADA_SRCS): Removed.
16084 (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
16085 (GNATBIND_OBJS): Likewise.
16086 (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
16087 (BACKEND): Removed.
16088 (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
16089 (TREE_H): Likewise.
16090 (ada_extra_files): Likewise.
16091 (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
16092 (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
16093 (update-sources): Likewise.
16094 (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
16095 (ADA_TREE_H): Likewise.
16096 (adadecoce.o): Likewise.
16097 (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
16098 (GNAT DEPENDENCIES): Likewise.
16099
16100 2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16101
16102 * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
16103 * Makefile.in: Likewise.
16104
16105 2002-05-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16106
16107 * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
16108 Restore $(CONFIG_H) and prefix.o dependencies.
16109 (ada.stage[1-4]): Depend on stage?-start.
16110
16111 * Makefile.in (b_gnatb.c): Depend on interfac.o.
16112
16113 2002-05-02 Jim Wilson <wilson@redhat.com>
16114
16115 * utils.c (finish_record_type): Change record_size to record_type.
16116
16117 2001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
16118
16119 * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
16120 (ALL_ADA_CFLAGS): Define. Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
16121 ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
16122
16123 2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
16124
16125 * misc.c (gnat_parse_file): Update.
16126
16127 2002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
16128
16129 * misc.c (gnat_init): Don't set lang_attribute_common.
16130
16131 2002-04-21 Joseph S. Myers <jsm28@cam.ac.uk>
16132
16133 * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
16134
16135 2002-04-21 Florian Weimer <fw@deneb.enyo.de>
16136
16137 * gnat_ug.texi: New file.
16138
16139 * gnat_rm.texi: Do not include texiplus.texi. Include fdl.texi
16140 instead of gfdl.texi
16141
16142 * xgnatug.adb, ug_words: New files.
16143
16144 * Makefile.in (doc, dvi): New targets. Build gnat_ug_*,
16145 gnat_rm and gnat-style manuals.
16146
16147 2002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
16148
16149 * gigi.h (incomplete_type_error): Remove.
16150 * utils.c (incomplete_type_error): Remove.
16151
16152 2002-04-16 Mark Mitchell <mark@codesourcery.com>
16153
16154 * trans.c (tree_transform): Add has_scope argument to
16155 expand_start_stmt_expr.
16156
16157 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
16158
16159 * gigi.h (truthvalue_conversion): Rename.
16160 * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
16161 * trans.c (tree_transform): Update.
16162 * utils2.c (truthvalue_conversion): Rename, update.
16163 (build_binary_op, build_unary_op): Update.
16164
16165 2002-04-04 Laurent Guerby <guerby@acm.org>
16166
16167 * make.adb: Implement -margs, remove restriction about file name placement.
16168 * makeusg.adb: Documentation update.
16169 * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
16170 * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
16171
16172 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
16173
16174 * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
16175 (builtin_function): Similarly.
16176
16177 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
16178
16179 * decl.c (gnat_to_gnu_entity): Update.
16180 * gigi.h (mark_addressable): Rename.
16181 * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
16182 * trans.c (tree_transform): Update.
16183 * utils.c (create_var_decl): Update.
16184 * util2.c (build_binary_op, build_unary_op,
16185 fill_vms_descriptor): Update.
16186 (mark_addressable): Rename, update.
16187
16188 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
16189
16190 * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
16191 Rename.
16192 * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
16193 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
16194 * trans.c (tree_transform, convert_with_check): Update.
16195 * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
16196 Rename.
16197
16198 2002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
16199
16200 * gigi.h (finish_incomplete_decl): Rename.
16201 * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
16202 * utils.c (gnat_init_decl_processing): Don't set hook.
16203 (finish_incomplete_decl): Rename.
16204
16205 2002-03-29 Andreas Schwab <schwab@suse.de>
16206
16207 * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
16208 directory.
16209
16210 2001-03-28 Robert Dewar <dewar@gnat.com>
16211
16212 * checks.ads:
16213 (Remove_Checks): New procedure
16214
16215 * checks.adb:
16216 (Remove_Checks): New procedure
16217
16218 * exp_util.adb:
16219 Use new Duplicate_Subexpr functions
16220 (Duplicate_Subexpr_No_Checks): New procedure
16221 (Duplicate_Subexpr_No_Checks_Orig): New procedure
16222 (Duplicate_Subexpr): Restore original form (checks duplicated)
16223 (Duplicate_Subexpr): Call Remove_Checks
16224
16225 * exp_util.ads:
16226 (Duplicate_Subexpr_No_Checks): New procedure
16227 (Duplicate_Subexpr_No_Checks_Orig): New procedure
16228 Add 2002 to copyright notice
16229
16230 * sem_util.adb: Use new Duplicate_Subexpr functions
16231
16232 * sem_eval.adb:
16233 (Eval_Indexed_Component): This is the place to call
16234 Constant_Array_Ref and to replace the value. We simply merge
16235 the code of this function in here, since it is now no longer
16236 used elsewhere. This fixes the problem of the back end not
16237 realizing we were clever enough to see that this was
16238 constant.
16239 (Expr_Val): Remove call to Constant_Array_Ref
16240 (Expr_Rep_Val): Remove call to Constant_Array_Ref
16241 Minor reformatting
16242 (Constant_Array_Ref): Deal with string literals (patch
16243 suggested by Zack Weinberg on the gcc list)
16244
16245 2001-03-28 Ed Schonberg <schonber@gnat.com>
16246
16247 * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
16248 Duplicate_Subexpr_Move_Checks.
16249
16250 * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
16251 Duplicate_Subexpr_Move_Checks.
16252
16253 * sem_eval.adb: (Constant_Array_Ref): Verify that constant
16254 value of array exists before retrieving it (it may a private
16255 protected component in a function).
16256
16257 2002-03-28 Geert Bosch <bosch@gnat.com>
16258
16259 * prj-pp.adb : New file.
16260
16261 * prj-pp.ads : New file.
16262
16263 2002-03-28 Andreas Jaeger <aj@suse.de>
16264
16265 * Makefile.in (stamp-sdefault): Fix path for Makefile.
16266
16267 2002-03-28 Neil Booth <neil@daikokuya.demon.co.uk>
16268
16269 * misc.c (gnat_expand_expr): Move prototype.
16270
16271 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
16272
16273 * misc.c (insert_default_attributes): Remove.
16274
16275 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
16276
16277 * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
16278 (gnat_init): Don't set hook.
16279 (gnat_expand_expr): Fix prototype.
16280
16281 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
16282
16283 * misc.c (ggc_p): Remove.
16284
16285 2002-03-27 Geert Bosch <bosch@gnat.com>
16286
16287 * prj-makr.ads, prj-makr.adb : New files.
16288
16289 2002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
16290
16291 * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
16292 (lang_mark_tree): Make static, rename.
16293
16294 2002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
16295
16296 * misc.c (maybe_build_cleanup): Remove.
16297
16298 2002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
16299
16300 * gigi.h (yyparse): Remove.
16301
16302 2002-03-23 Florian Weimer <fw@deneb.enyo.de>
16303
16304 * gnat_rm.texi: Sync with ACT version.
16305 (From Ben Brosgol <brosgol@gnat.com>)
16306
16307 2002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
16308
16309 * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
16310 (gnat_init): Remove old hook.
16311
16312 2002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
16313
16314 * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
16315 (yyparse): Rename gnat_parse_file.
16316
16317 2002-03-14 Geoffrey Keating <geoffk@redhat.com>
16318
16319 Delete all lines containing "$Revision:".
16320 * xeinfo.adb: Don't look for revision numbers.
16321 * xnmake.adb: Likewise.
16322 * xsinfo.adb: Likewise.
16323 * xsnames.adb: Likewise.
16324 * xtreeprs.adb: Likewise.
16325
16326 2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16327
16328 * misc.c (gnat_tree_code_type, gnat_tree_code_length,
16329 gnat_tree_code_name): Delete.
16330 (tree_code_type, tree_code_length, tree_code_name): Define.
16331 (gnat_init): Don't try to copy into the various tree_code
16332 arrays.
16333
16334 2002-03-11 Richard Henderson <rth@redhat.com>
16335
16336 * Makefile.in (.NOTPARALLEL): Add fake tag.
16337
16338 2002-03-07 Geert Bosch <bosch@gnat.com>
16339
16340 * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
16341 s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
16342 switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
16343 switch-m.adb, switch-m.ads : New files.
16344
16345 2002-03-07 Geert Bosch <bosch@gnat.com>
16346
16347 * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
16348 4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
16349 4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
16350 4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
16351 5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
16352 5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
16353 5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
16354 5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
16355 5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
16356 5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
16357 5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
16358 5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
16359 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
16360 5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
16361 5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
16362 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
16363 5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
16364 5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
16365 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
16366 5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
16367 7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
16368 Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
16369 a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
16370 a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
16371 a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
16372 a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
16373 a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
16374 a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
16375 a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
16376 adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
16377 atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
16378 bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
16379 csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
16380 einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
16381 eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
16382 exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
16383 exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
16384 exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
16385 exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
16386 exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
16387 expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
16388 freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
16389 g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
16390 g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
16391 g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
16392 g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
16393 g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
16394 g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
16395 gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
16396 gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
16397 gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
16398 i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
16399 impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
16400 lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
16401 lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
16402 memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
16403 mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
16404 nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
16405 output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
16406 par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
16407 prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
16408 prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
16409 prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
16410 rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
16411 s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
16412 s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
16413 s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
16414 s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
16415 s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
16416 s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
16417 s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
16418 s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
16419 s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
16420 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
16421 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
16422 s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
16423 s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
16424 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
16425 s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
16426 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
16427 sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
16428 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
16429 sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
16430 sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
16431 sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
16432 sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
16433 sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
16434 sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
16435 sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
16436 snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
16437 stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
16438 table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
16439 tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
16440 treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
16441 types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
16442 utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
16443 xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
16444
16445 * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
16446 g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
16447 mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
16448 osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
16449
16450 * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
16451 5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
16452
16453 * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
16454 to mdll-fil.ad[bs] and mdll-util.ad[bs]
16455
16456 * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
16457 from mdllfile.ad[bs] and mdlltool.ad[bs]
16458
16459 2002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16460
16461 * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
16462 lieu of explicit sizeof/sizeof.
16463
16464 2002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
16465
16466 * misc.c (copy_lang_decl): Remove.
16467
16468 2002-02-27 Zack Weinberg <zack@codesourcery.com>
16469
16470 * misc.c: Delete traditional-mode-related code copied from the
16471 C front end but not used, or used only to permit the compiler
16472 to link.
16473
16474 2002-02-07 Richard Henderson <rth@redhat.com>
16475
16476 * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
16477 * adaint.h (__gnat_to_gm_time): Update prototype.
16478
16479 2002-01-30 Richard Henderson <rth@redhat.com>
16480
16481 * trans.c (tree_transform) [N_Loop_Statement]: Use
16482 expand_exit_loop_top_cond.
16483
16484 2001-12-23 Richard Henderson <rth@redhat.com>
16485
16486 * utils.c (end_subprog_body): Push GC context around
16487 rest_of_compilation for nested functions.
16488
16489 2001-12-23 Richard Henderson <rth@redhat.com>
16490
16491 * 5nosinte.ads: Get definition of "int" from Interfaces.C.
16492
16493 2001-12-23 Florian Weimer <fw@deneb.enyo.de>
16494
16495 * gnat-style.texi (Declarations and Types): Remove ancient style
16496 rule which was mandated by code generation issues.
16497
16498 * gnat-style.texi (header): Add @dircategory, @direntry.
16499 (title page): Remove date.
16500 (general) Add @./@: where approriate, and two spaces after the
16501 full stop at the end of a sentence. Use @samp markup when
16502 referring concrete lexical entities (keywords, attribute names
16503 etc.), and @syntax for ARM grammar elements. Use @r for English
16504 text in comments. Use @emph for emphasis. Change "if-statements"
16505 etc. to "if statements" (without @samp). Break long lines. Make
16506 casing of section names consistent.
16507 (Identifiers): Use @samp markup for variable names.
16508 (Comments): Use @samp markup for comment characters. Line-end
16509 comments may follow any Ada code, not just statements. Fix
16510 misspelling of "Integer" as "integer".
16511 (Loop statements): Do not use variable name "I", use "J".
16512 (Subprogram Declarations): Document alignment.
16513 (Subprogram Bodies, Block statements): Document empty line before
16514 "begin".
16515
16516 2001-12-22 Florian Weimer <fw@deneb.enyo.de>
16517
16518 * make.adb (Add_Switch): Make Generic_Position a procedure. The
16519 function approach did not work well because of a side effect (the
16520 function call could reallocate the table which was being indexed
16521 using its result). Fixes ada/4851.
16522
16523 2001-12-19 Robert Dewar <dewar@gnat.com>
16524
16525 * bindgen.adb: Minor reformatting
16526
16527 * cstand.adb: Minor reformatting
16528
16529 * fmap.adb: Minor reformatting
16530 Change name from Add for Add_To_File_Map (Add is much too generic)
16531 Change Path_Name_Of to Mapped_Path_Name
16532 Change File_Name_Of to Mapped_File_Name
16533 Fix copyright dates in header
16534
16535 * fmap.ads:
16536 Change name from Add for Add_To_File_Map (Add is much too generic)
16537 Change Path_Name_Of to Mapped_Path_Name
16538 Change File_Name_Of to Mapped_File_Name
16539 Fix copyright dates in header
16540
16541 * fname-uf.adb: Minor reformatting. New names of stuff in Fmap.
16542 Add use clause for Fmap.
16543
16544 * make.adb: Minor reformatting
16545
16546 * osint.adb: Minor reformatting. Change of names in Fmap.
16547 Add use clause for Fmap.
16548
16549 * prj-env.adb: Minor reformatting
16550
16551 * prj-env.ads: Minor reformatting
16552
16553 * switch.adb: Minor reformatting. Do proper raise of Bad_Switch if
16554 error found (there were odd exceptions to this general rule in
16555 -gnatec/-gnatem processing)
16556
16557 2001-12-19 Olivier Hainque <hainque@gnat.com>
16558
16559 * raise.c (__gnat_eh_personality): Exception handling personality
16560 routine for Ada. Still in rough state, inspired from the C++ version
16561 and still containing a bunch of debugging artifacts.
16562 (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
16563 inspired from the C++ library.
16564
16565 * raise.c (eh_personality): Add comments. Part of work for the GCC 3
16566 exception handling integration.
16567
16568 2001-12-19 Arnaud Charlet <charlet@gnat.com>
16569
16570 * Makefile.in: Remove use of 5smastop.adb which is obsolete.
16571 (HIE_SOURCES): Add s-secsta.ad{s,b}.
16572 (HIE_OBJS): Add s-fat*.o
16573 (RAVEN_SOURCES): Remove files that are no longer required. Add
16574 interrupt handling files.
16575 (RAVEN_MOD): Removed, no longer needed.
16576
16577 2001-12-19 Robert Dewar <dewar@gnat.com>
16578
16579 * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
16580 Add 2001 to copyright date
16581
16582 * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
16583 need to force universal inlining for these cases.
16584
16585 2001-12-19 Arnaud Charlet <charlet@gnat.com>
16586
16587 * s-taprob.adb: Minor clean ups so that this unit can be used in
16588 Ravenscar HI.
16589
16590 * exp_ch7.adb: Allow use of secondary stack in HI mode.
16591 Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
16592
16593 2001-12-19 Vincent Celier <celier@gnat.com>
16594
16595 * prj-tree.ads (Project_Node_Record): Add comments for components
16596 Pkg_Id and Case_Insensitive.
16597
16598 2001-12-19 Pascal Obry <obry@gnat.com>
16599
16600 * g-socket.adb: Minor reformatting. Found while reading code.
16601
16602 2001-12-19 Robert Dewar <dewar@gnat.com>
16603
16604 * prj-tree.ads: Minor reformatting
16605
16606 2001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
16607
16608 * config-lang.in (diff_excludes): Remove.
16609
16610 2001-12-17 Ed Schonberg <schonber@gnat.com>
16611
16612 * sem_res.adb (Resolve_Selected_Component): do not generate a
16613 discriminant check if the selected component is a component of
16614 the argument of an initialization procedure.
16615
16616 * trans.c (tree_transform, case of arithmetic operators): If result
16617 type is private, the gnu_type is the base type of the full view,
16618 given that the full view itself may be a subtype.
16619
16620 2001-12-17 Robert Dewar <dewar@gnat.com>
16621
16622 * sem_res.adb: Minor reformatting
16623
16624 * trans.c (tree_transform, case N_Real_Literal): Add missing third
16625 parameter in call to Machine (unknown horrible effects from this
16626 omission).
16627
16628 * urealp.h: Add definition of Round_Even for call to Machine
16629 Add third parameter for Machine
16630
16631 2001-12-17 Ed Schonberg <schonber@gnat.com>
16632
16633 * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
16634 predefined units in No_Run_Time mode.
16635
16636 2001-12-17 Richard Kenner <kenner@gnat.com>
16637
16638 * misc.c (insn-codes.h): Now include.
16639
16640 2001-12-17 Olivier Hainque <hainque@gnat.com>
16641
16642 * a-except.adb: Preparation work for future integration of the GCC 3
16643 exception handling mechanism
16644 (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
16645 to factorize previous code sequences and make them externally callable,
16646 e.g. for the Ada personality routine when the GCC 3 mechanism is used.
16647 (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
16648 Use the new notification routines.
16649
16650 2001-12-17 Emmanuel Briot <briot@gnat.com>
16651
16652 * prj-tree.ads (First_Choice_Of): Document the when others case
16653
16654 2001-12-17 Arnaud Charlet <charlet@gnat.com>
16655
16656 * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
16657 HI-E mode, in order to support Ravenscar profile properly.
16658
16659 * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
16660 mode on 32 bits targets.
16661
16662 2001-12-17 Vincent Celier <celier@gnat.com>
16663
16664 * fmap.adb: Initial version.
16665
16666 * fmap.ads: Initial version.
16667
16668 * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
16669 If search is successfully done, add to mapping.
16670
16671 * frontend.adb: Initialize the mapping if a -gnatem switch was used.
16672
16673 * make.adb:
16674 (Gnatmake): Add new local variable Mapping_File_Name.
16675 Create mapping file when using project file(s).
16676 Delete mapping file before exiting.
16677
16678 * opt.ads (Mapping_File_Name): New variable
16679
16680 * osint.adb (Find_File): Use path name found in mapping, if any.
16681
16682 * prj-env.adb (Create_Mapping_File): New procedure
16683
16684 * prj-env.ads (Create_Mapping_File): New procedure.
16685
16686 * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
16687 (Mapping_File)
16688
16689 * usage.adb: Add entry for new switch -gnatem.
16690
16691 * Makefile.in: Add dependencies for fmap.o.
16692
16693 2001-12-17 Ed Schonberg <schonber@gnat.com>
16694
16695 * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
16696 is a package instantiation rewritten as a package body.
16697 (Install_Withed_Unit): Undo previous change, now redundant.
16698
16699 2001-12-17 Gary Dismukes <dismukes@gnat.com>
16700
16701 * layout.adb:
16702 (Compute_Length): Move conversion to Unsigned to callers.
16703 (Get_Max_Size): Convert Len expression to Unsigned after calls to
16704 Compute_Length and Determine_Range.
16705 (Layout_Array_Type): Convert Len expression to Unsigned after calls to
16706 Compute_Length and Determine_Range.
16707 Above changes fix problem with length computation for supernull arrays
16708 where Max (Len, 0) wasn't getting applied due to the Unsigned
16709 conversion used by Compute_Length.
16710
16711 2001-12-17 Arnaud Charlet <charlet@gnat.com>
16712
16713 * rtsfind.ads:
16714 (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
16715 System.Secondary_Stack.
16716 (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
16717 in HI-E mode.
16718 Remove unused entity RE_Exception_Data.
16719
16720 * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
16721
16722 * rident.ads (No_Secondary_Stack): New restriction.
16723
16724 2001-12-17 Joel Brobecker <brobecke@gnat.com>
16725
16726 * gnat_rm.texi: Fix minor typos. Found while reading the section
16727 regarding "Bit_Order Clauses" that was sent to a customer.
16728 Very interesting documentation!
16729
16730 2001-12-17 Robert Dewar <dewar@gnat.com>
16731
16732 * sem_case.adb (Choice_Image): Avoid creating improper character
16733 literal names by using the routine Set_Character_Literal_Name. This
16734 fixes bombs in certain error message cases.
16735
16736 2001-12-17 Arnaud Charlet <charlet@gnat.com>
16737
16738 * a-reatim.adb: Minor reformatting.
16739
16740 2001-12-17 Ed Schonberg <schonber@gnat.com>
16741
16742 * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
16743 case where the formal is an extension of another formal in the current
16744 unit or in a parent generic unit.
16745
16746 2001-12-17 Arnaud Charlet <charlet@gnat.com>
16747
16748 * s-tposen.adb: Update comments. Minor reformatting.
16749 Minor code clean up.
16750
16751 * s-tarest.adb: Update comments. Minor code reorganization.
16752
16753 2001-12-17 Gary Dismukes <dismukes@gnat.com>
16754
16755 * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
16756 when Java_VM.
16757
16758 2001-12-17 Robert Dewar <dewar@gnat.com>
16759
16760 * exp_attr.adb: Minor reformatting
16761
16762 2001-12-17 Ed Schonberg <schonber@gnat.com>
16763
16764 * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
16765 derivations nested within a child unit: verify that the parent
16766 type is declared in an outer scope.
16767
16768 2001-12-17 Robert Dewar <dewar@gnat.com>
16769
16770 * sem_ch12.adb: Minor reformatting
16771
16772 2001-12-17 Ed Schonberg <schonber@gnat.com>
16773
16774 * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
16775 warning if current unit is a predefined one, from which bodies may
16776 have been deleted.
16777
16778 2001-12-17 Robert Dewar <dewar@gnat.com>
16779
16780 * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
16781 Fix header format. Add 2001 to copyright date.
16782
16783 * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
16784 which caused CE during compilation if checks were enabled.
16785
16786 2001-12-17 Vincent Celier <celier@gnat.com>
16787
16788 * make.adb:
16789 (Switches_Of): New function
16790 (Test_If_Relative_Path): New procedure
16791 (Add_Switches): Use new function Switches_Of
16792 (Collect_Arguments_And_Compile): Use new function Switches_Of.
16793 When using a project file, test if there are any relative
16794 search path. Fail if there are any.
16795 (Gnatmake): Only add switches for the primary directory when not using
16796 a project file. When using a project file, change directory to the
16797 object directory of the main project file. When using a project file,
16798 test if there are any relative search path. Fail if there are any.
16799 When using a project file, fail if specified executable is relative
16800 path with directory information, and prepend executable, if not
16801 specified as an absolute path, with the exec directory. Make sure
16802 that only one -o switch is transmitted to the linker.
16803
16804 * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
16805
16806 * prj-nmsc.adb:
16807 (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
16808 when using a non standard naming scheme.
16809 (Check_Ada_Naming_Scheme): Make sure that error messages
16810 do not raise exceptions.
16811 (Is_Illegal_Append): Return True if there is no dot in the suffix.
16812 (Language_Independent_Check): Check the exec directory.
16813
16814 * prj.adb (Project_Empty): Add new component Exec_Directory
16815
16816 * prj.ads:
16817 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
16818 (Project_Data): Add component Exec_Directory
16819
16820 * snames.adb: Updated to match snames.ads revision 1.215
16821
16822 * snames.ads: Added Exec_Dir
16823
16824 2001-12-17 Robert Dewar <dewar@gnat.com>
16825
16826 * make.adb: Minor reformatting
16827
16828 * prj-nmsc.adb: Minor reformatting
16829
16830 * snames.adb: Updated to match snames.ads
16831
16832 * snames.ads: Alphebetize entries for project file
16833
16834 2001-12-17 Ed Schonberg <schonber@gnat.com>
16835
16836 * trans.c (process_freeze_entity): Do nothing if the entity is a
16837 subprogram that was already elaborated.
16838
16839 2001-12-17 Richard Kenner <kenner@gnat.com>
16840
16841 * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
16842 and Esize if object is referenced via pointer.
16843
16844 2001-12-17 Ed Schonberg <schonber@gnat.com>
16845
16846 * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
16847 is discrete before analyzing choices.
16848
16849 2001-12-17 Joel Brobecker <brobecke@gnat.com>
16850
16851 * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
16852 containing the name of the Ada Main Program. This string is mainly
16853 intended for the debugger.
16854 (Gen_Output_File_C): Do the equivalent change when generating a C file.
16855
16856 2001-12-17 Robert Dewar <dewar@gnat.com>
16857
16858 * ali.adb: Set new Dummy_Entry field in dependency entry
16859
16860 * ali.ads: Add Dummy_Entry field to source dependency table
16861
16862 * bcheck.adb (Check_Consistency): Ignore dummy D lines
16863
16864 * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
16865
16866 * lib-writ.ads: Document dummy D lines for missing files.
16867
16868 * types.ads: (Dummy_Time_Stamp): New value for non-existant files
16869
16870 2001-12-17 Robert Dewar <dewar@gnat.com>
16871
16872 * ali.adb: Type reference does not reset current file.
16873
16874 * ali.adb: Recognize and scan renaming reference
16875
16876 * ali.ads: Add spec for storing renaming references.
16877
16878 * lib-xref.ads: Add documentation for handling of renaming references
16879
16880 * lib-xref.adb: Implement output of renaming reference.
16881
16882 * checks.adb:
16883 (Determine_Range): Document local variables
16884 (Determine_Range): Make sure Hbound is initialized. It looks as though
16885 there could be a real problem here with an uninitialized reference
16886 to Hbound, but no actual example of failure has been found.
16887
16888 2001-12-17 Laurent Pautet <pautet@gnat.com>
16889
16890 * g-socket.ads:
16891 Fix comment of Shutdown_Socket and Close_Socket. These functions
16892 should not fail silently because if they are called twice, this
16893 probably means that there is a race condition in the user program.
16894 Anyway, this behaviour is consistent with the rest of this unit.
16895 When an error occurs, an exception is raised with the error message
16896 as exception message.
16897
16898 2001-12-17 Robert Dewar <dewar@gnat.com>
16899
16900 * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
16901 that it happens before modification of Sloc values for -gnatD.
16902
16903 * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
16904 so that it happens before modification of Sloc values for -gnatD.
16905
16906 * switch.adb: Minor reformatting
16907
16908 2001-12-15 Richard Henderson <rth@redhat.com>
16909
16910 * sem_ch7.adb: Wrap comment.
16911
16912 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
16913
16914 * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
16915 5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
16916 5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
16917 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
16918 5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
16919 7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
16920 a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
16921 a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
16922 cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
16923 exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
16924 exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
16925 g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
16926 gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
16927 make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
16928 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
16929 repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
16930 s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
16931 s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
16932 s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
16933 s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
16934 sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
16935 sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
16936 sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
16937 sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
16938 spelling errors.
16939
16940 2001-12-14 Vincent Celier <celier@gnat.com>
16941
16942 * osint.adb(Create_Debug_File): When an object file is specified,
16943 put the .dg file in the same directory as the object file.
16944
16945 2001-12-14 Robert Dewar <dewar@gnat.com>
16946
16947 * osint.adb: Minor reformatting
16948
16949 * lib-xref.adb (Output_Instantiation): New procedure to generate
16950 instantiation references.
16951
16952 * lib-xref.ads: Add documentation of handling of generic references.
16953
16954 * ali.adb (Read_Instantiation_Ref): New procedure to read
16955 instantiation references
16956
16957 * ali.ads: Add spec for storing instantiation references
16958
16959 * bindusg.adb: Minor reformatting
16960
16961 * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
16962
16963 * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
16964
16965 * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
16966
16967 * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
16968
16969 * csets.ads:
16970 Fix header format
16971 Add 2001 to copyright date
16972 Add entry for Latin-5 (Cyrillic ISO-8859-5)
16973
16974 2001-12-14 Matt Gingell <gingell@gnat.com>
16975
16976 * adaint.c: mktemp is a macro on Lynx and can not be used as an
16977 expression.
16978
16979 2001-12-14 Richard Kenner <kenner@gnat.com>
16980
16981 * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
16982 if operand is CONSTRUCTOR.
16983
16984 2001-12-14 Ed Schonberg <schonber@gnat.com>
16985
16986 * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
16987 before emiting check on right-hand side, so that exception information
16988 is correct.
16989
16990 2001-12-14 Richard Kenner <kenner@gnat.com>
16991
16992 * utils.c (create_var_decl): Throw away initializing expression
16993 if just annotating types and non-constant.
16994
16995 2001-12-14 Vincent Celier <celier@gnat.com>
16996
16997 * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
16998 Default_Ada_...
16999
17000 * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
17001 Remove functions.
17002 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
17003
17004 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
17005 Remove functions.
17006 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
17007
17008 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
17009
17010 * ChangeLog: Remove piece of diff output.
17011
17012 2001-12-14 Geert Bosch <bosch@gnat.com>
17013
17014 * config-lang.in: Update copyright notice
17015
17016 * layout.adb: Remove commented out code.
17017
17018 * mdllfile.ads: Update copyright notice. Fix header format.
17019
17020 * sem_case.ads: Likewise.
17021
17022 * sem_ch3.adb: Minor reformatting.
17023
17024 2001-12-12 Geert Bosch <bosch@gnat.com>
17025
17026 * freeze.ads: Update copyright date.
17027
17028 * g-comlin.ads: Minor reformatting.
17029
17030 * gnat-style.texi: Fix typo.
17031
17032 2001-12-12 Geert Bosch <bosch@gnat.com>
17033
17034 * einfo.h: Regenerate.
17035
17036 2001-12-12 Ed Schonberg <schonber@gnat.com>
17037
17038 * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
17039 on known node types, rather than untyped fields. Further cleanups.
17040
17041 2001-12-12 Robert Dewar <dewar@gnat.com>
17042
17043 * sem_ch12.adb:
17044 (Save_Entity_Descendant): Minor comment update.
17045 (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
17046 of an N_Attribute_Reference node. As per note below, this does not
17047 eliminate need for Associated_Node in attribute ref nodes.
17048 (Associated_Node): Documentation explicitly mentions attribute
17049 reference nodes, since this field is used in such nodes.
17050
17051 * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
17052
17053 2001-12-12 Robert Dewar <dewar@gnat.com>
17054
17055 * s-stalib.adb: Add more comments on with statements being needed
17056
17057 * par-ch12.adb: Minor reformatting
17058
17059 * prj-dect.ads: Fix copyright header
17060
17061 * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
17062 inputs fit in 32 bits, but the result still overflows.
17063
17064 * s-fatgen.ads: Minor comment improvement
17065
17066 2001-12-12 Ed Schonberg <schonber@gnat.com>
17067
17068 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
17069 formal derived type, look for an inherited component from the full
17070 view of the parent, if any.
17071
17072 2001-12-12 Robert Dewar <dewar@gnat.com>
17073
17074 * checks.ads (Apply_Alignment_Check): New procedure.
17075
17076 * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
17077 ensure that the alignment of objects with address clauses is
17078 appropriate, and raise PE if not.
17079
17080 * exp_util.ads (Must_Be_Aligned): Removed, replaced by
17081 Exp_Pakd.Known_Aligned_Enough
17082
17083 * mdllfile.ads: Minor reformatting
17084
17085 * mlib-fil.ads: Minor reformatting
17086
17087 2001-12-12 Ed Schonberg <schonber@gnat.com>
17088
17089 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
17090 fix to any component reference if enclosing record has non-standard
17091 representation.
17092
17093 2001-12-12 Vincent Celier <celier@gnat.com>
17094
17095 * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
17096 Iteration
17097
17098 2001-12-12 Ed Schonberg <schonber@gnat.com>
17099
17100 * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
17101 sem_attr.
17102
17103 2001-12-12 Robert Dewar <dewar@gnat.com>
17104
17105 * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
17106
17107 2001-12-12 Emmanuel Briot <briot@gnat.com>
17108
17109 * g-regexp.adb: Remove all debug code, since it isn't required anymore,
17110 and it adds dependencies to system.io.
17111
17112 2001-12-12 Pascal Obry <obry@gnat.com>
17113
17114 * g-dirope.adb (Expand_Path.Var): Correctly detect end of
17115 variable name.
17116
17117 2001-12-11 Ed Schonberg <schonber@gnat.com>
17118
17119 * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
17120 that is the parent of other generics, the instance body replaces the
17121 instance node. Retrieve the instance of the spec, which is the one
17122 that is visible in clients and within the body.
17123
17124 2001-12-11 Vincent Celier <celier@gnat.com>
17125
17126 * gnatmain.adb: Initial version.
17127
17128 * gnatmain.ads: Initial version.
17129
17130 * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
17131
17132 * snames.adb: Updated to match snames.ads.
17133
17134 * snames.ads: Added Gnatstub.
17135
17136 2001-12-11 Vincent Celier <celier@gnat.com>
17137
17138 * prj-attr.adb (Initialization_Data): Change name from
17139 Initialisation_Data.
17140
17141 2001-12-11 Emmanuel Briot <briot@gnat.com>
17142
17143 * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
17144 + and * applied to backslashed expressions like \r.
17145
17146 2001-12-11 Vasiliy Fofanov <fofanov@gnat.com>
17147
17148 * g-os_lib.ads: String_List type added, Argument_List type is now
17149 subtype of String_List.
17150
17151 2001-12-11 Robert Dewar <dewar@gnat.com>
17152
17153 * g-os_lib.ads: Change copyright to FSF
17154 Add comments for String_List type
17155
17156 2001-12-11 Vincent Celier <celier@gnat.com>
17157
17158 * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
17159 string to the buffer).
17160
17161 2001-12-11 Ed Schonberg <schonber@gnat.com>
17162
17163 * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
17164 sem_attr.
17165
17166 * sem_attr.adb: Simplify previous fix for Address.
17167 (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
17168 to avoid anomalies where the bound of the type appears to raise
17169 constraint error.
17170
17171 2001-12-11 Robert Dewar <dewar@gnat.com>
17172
17173 * lib-xref.adb (Output_Refs): Make sure pointers are always properly
17174 handled.
17175
17176 2001-12-11 Ed Schonberg <schonber@gnat.com>
17177
17178 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
17179 renamed unit before checking for recursive instantiations.
17180
17181 2001-12-11 Emmanuel Briot <briot@gnat.com>
17182
17183 * prj.ads: Add comments for some of the fields.
17184
17185 2001-12-11 Robert Dewar <dewar@gnat.com>
17186
17187 * lib-xref.adb (Output_Refs): Don't output type references outside
17188 the main unit if they are not otherwise referenced.
17189
17190 2001-12-11 Ed Schonberg <schonber@gnat.com>
17191
17192 * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
17193 code and diagnose additional illegal uses
17194
17195 * sem_util.adb (Is_Object_Reference): An indexed component is an
17196 object only if the prefix is.
17197
17198 2001-12-11 Vincent Celier <celier@gnat.com>
17199
17200 * g-diopit.adb: Initial version.
17201
17202 * g-diopit.ads: Initial version.
17203
17204 * g-dirope.adb:
17205 (Expand_Path): Avoid use of Unbounded_String
17206 (Find, Wildcard_Iterator): Moved to child package Iteration
17207
17208 * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
17209
17210 2001-12-11 Robert Dewar <dewar@gnat.com>
17211
17212 * sem_attr.adb: Minor reformatting
17213
17214 2001-12-11 Ed Schonberg <schonber@gnat.com>
17215
17216 * sem_ch3.adb: Clarify some ???.
17217
17218 2001-12-11 Robert Dewar <dewar@gnat.com>
17219
17220 * exp_util.adb (Must_Be_Aligned): Removed, replaced by
17221 Exp_Pakd.Known_Aligned_Enough
17222
17223 * sem_ch13.adb (Check_Address_Alignment): Removed, extended
17224 version is moved to Exp_Ch13.
17225
17226 2001-12-11 Robert Dewar <dewar@gnat.com>
17227
17228 * einfo.ads: Minor reformatting
17229
17230 * exp_ch5.adb: Add comment for previous.change
17231
17232 * ali.adb: New interface for extended typeref stuff.
17233
17234 * ali.ads: New interface for typeref stuff.
17235
17236 * checks.adb (Apply_Alignment_Check): New procedure.
17237
17238 * debug.adb: Add -gnatdM for modified ALI output
17239
17240 * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
17241
17242 * lib-xref.adb: Extend generation of <..> notation to cover
17243 subtype/object types. Note that this is a complete rewrite,
17244 getting rid of the very nasty quadratic algorithm previously
17245 used for derived type output.
17246
17247 * lib-xref.ads: Extend description of <..> notation to cover
17248 subtype/object types. Uses {..} for these other cases.
17249 Also use (..) for pointer types.
17250
17251 * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
17252
17253 * exp_pakd.adb: Minor reformatting. Note that prevous RH should say:
17254 (Known_Aligned_Enough): Replaces Must_Be_Aligned.
17255
17256 2001-12-11 Vincent Celier <celier@gnat.com>
17257
17258 * gnatcmd.adb:
17259 Changed /COMPILE_ONLY to /ACTIONS=COMPILE
17260 Changed /BIND_ONLY to /ACTIONS=BIND
17261 Changed /LINK_ONLY to /ACTIONS=LINK
17262
17263 2001-12-11 Ed Schonberg <schonber@gnat.com>
17264
17265 * sem_ch8.adb (Find_Selected_Component): improved search for a
17266 candidate package in case of error.
17267
17268 * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
17269 chain back on scope stack before reinstalling use clauses.
17270
17271 * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
17272 is enabled, do not kill the code for the condition, to preserve
17273 warning.
17274
17275 2001-12-11 Robert Dewar <dewar@gnat.com>
17276
17277 * checks.adb (Insert_Valid_Check): Apply validity check to expression
17278 of conversion, not to result of conversion.
17279
17280 2001-12-11 Ed Schonberg <schonber@gnat.com>
17281
17282 * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
17283 before freezing parent. If the declarations are mutually recursive,
17284 an access to the current record type may be frozen before the
17285 derivation is complete.
17286
17287 2001-12-05 Vincent Celier <celier@gnat.com>
17288
17289 * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
17290 -c /COMPILE_ONLY, -l /LINK_ONLY
17291
17292 * opt.ads:
17293 (Bind_Only): New Flag
17294 (Link_Only): New flag
17295
17296 * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
17297 and -l (Link_Only)
17298
17299 * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
17300
17301 * make.adb:
17302 (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
17303 (Gnatmake): Set the step flags. Only perform a step if the
17304 corresponding step flag is True.
17305 (Scan_Make_Arg): Reset the bind and link step flags when -u
17306 or -gnatc has been specified.
17307
17308 2001-12-05 Ed Schonberg <schonber@gnat.com>
17309
17310 * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
17311 get bounds from right operand.
17312
17313 * sem_eval.adb: Minor reformatting
17314
17315 * exp_util.adb (Make_Literal_Range): use bound of literal rather
17316 than Index'First, its lower bound may be different from 1.
17317
17318 * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
17319 and C48009J
17320
17321 2001-12-05 Vincent Celier <celier@gnat.com>
17322
17323 * prj-nmsc.adb Minor reformatting
17324
17325 * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
17326 set and libraries are not supported.
17327
17328 2001-12-05 Ed Schonberg <schonber@gnat.com>
17329
17330 * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
17331 private view explicitly, so the back-end can treat as a global
17332 when appropriate.
17333
17334 2001-12-05 Ed Schonberg <schonber@gnat.com>
17335
17336 * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
17337 unit, always replace instance node with new body, for ASIS use.
17338
17339 2001-12-05 Vincent Celier <celier@gnat.com>
17340
17341 * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
17342 libraries are not supported and both attributes Library_Name and
17343 Library_Dir are specified.
17344
17345 * prj-proc.adb (Expression): Set location of Result to location of
17346 first term.
17347
17348 * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
17349 (prj-nmsc is now importing MLib.Tgt)
17350
17351 * prj-proc.adb: Put the change indicated above that was forgotten.
17352
17353 2001-12-05 Robert Dewar <dewar@gnat.com>
17354
17355 * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
17356
17357 2001-12-05 Ed Schonberg <schonber@gnat.com>
17358
17359 * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
17360 constraint, introduce explicit subtype declaration and derive from it.
17361
17362 * sem_ch3.adb: Minor reformatting
17363
17364 2001-12-05 Robert Dewar <dewar@gnat.com>
17365
17366 * checks.adb (Determine_Range): Increase cache size for checks.
17367 Minor reformatting
17368
17369 * exp_ch6.adb: Minor reformatting
17370 (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
17371 a parameter whose root type is System.Address, since treating such
17372 subprograms as pure in the code generator is almost surely a mistake
17373 that will lead to unexpected results.
17374
17375 * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
17376 change handling of conversions.
17377
17378 * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
17379
17380 2001-12-05 Ed Schonberg <schonber@gnat.com>
17381
17382 * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
17383 aggregate with static wrong size, attach generated Raise node to
17384 declaration.
17385
17386 2001-12-05 Robert Dewar <dewar@gnat.com>
17387
17388 * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
17389 Fixes compilation abandoned bomb in B24009B.
17390
17391 2001-12-05 Ed Schonberg <schonber@gnat.com>
17392
17393 * sem_ch12.adb:
17394 Document use of Associated_Node on Selected_Components.
17395 (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
17396 to clarify use of untyped descendant fields.
17397
17398 2001-12-05 Robert Dewar <dewar@gnat.com>
17399
17400 * prj-dect.ads: Add ??? comment
17401 Add 2001 to copyright notice (was not done in after all)
17402
17403 * prj-part.adb: Minor reformatting. Reword one awkward error message.
17404
17405 * prj.ads: Minor reformatting throughout, and add some ??? comments
17406
17407 * snames.ads: Minor reformatting
17408
17409 2001-12-05 Geert Bosch <bosch@gnat.com>
17410
17411 * snames.adb: Autoupdate
17412
17413 2001-12-05 Vincent Celier <celier@gnat.com>
17414
17415 * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
17416
17417 * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
17418
17419 * prj-env.adb: Minor comment changes (modifying -> extends).
17420
17421 * prj-nmsc.adb: Minor comment changes (modifying -> extends).
17422
17423 * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
17424 Tok_Extends.
17425
17426 * prj.adb (Initialize): Change Modifying to Extends.
17427
17428 * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
17429
17430 * prj.ads: Minor comment change (Modifying -> extending).
17431
17432 * snames.ads: Change modifying to extends.
17433
17434 2001-12-05 Robert Dewar <dewar@gnat.com>
17435
17436 * sem_warn.adb: Remove stuff for conditionals, we are not going to
17437 do this after all.
17438
17439 * sem_warn.ads: Remove stuff for conditionals, we are not going to
17440 do this after all. Add 2001 to copyright notice
17441
17442 2001-12-04 Geert Bosch <bosch@gnat.com>
17443
17444 * einfo.h, sinfo.h, treeprs.ads: Regenerate.
17445
17446 2001-12-04 Robert Dewar <dewar@gnat.com>
17447
17448 * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
17449 location if we already have errors. Stops some cases of cascaded
17450 errors.
17451
17452 * errout.adb: Improve comment.
17453
17454 2001-12-04 Robert Dewar <dewar@gnat.com>
17455
17456 * sem_ch12.adb:
17457 (Analyze_Formal_Type_Definition): Defend against Error.
17458 (Analyze_Formal_Subprogram): Defend against Error.
17459
17460 * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
17461 remove following semicolon if present. Removes cascaded error.
17462
17463 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
17464
17465 * bindgen.adb:
17466 (Gen_Exception_Table_Ada): Write "begin" and then return if Num
17467 exceptions equals 0.
17468 (Gen_Exception_Table_C): Return if Num exceptions equals 0.
17469 Fixes PIWG E tests (which have to be run with -gnatL).
17470
17471 2001-12-04 Robert Dewar <dewar@gnat.com>
17472
17473 * einfo.ads: Minor reformatting
17474
17475 2001-12-04 Ed Schonberg <schonber@gnat.com>
17476
17477 * einfo.ads: Block_Node points to the identifier of the block, not to
17478 the block node itself, to preserve the link when the block is
17479 rewritten, e.g. within an if-statement with a static condition.
17480
17481 * inline.adb (Cleanup_Scopes): recover block statement from block
17482 entity using new meaning of Block_Node.
17483
17484 * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
17485 identifier of block node, rather than to node itself.
17486
17487 2001-12-04 Gary Dismukes <dismukes@gnat.com>
17488
17489 * layout.adb:
17490 (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
17491 (Discrimify): Go back to setting the Etypes of the selected component
17492 because the Vname component does not exist at this point and will
17493 fail name resolution. Also set Analyzed.
17494 Remove with and use of Sem_Res.
17495
17496 2001-12-04 Arnaud Charlet <charlet@gnat.com>
17497
17498 * Makefile.in: (HIE_SOURCES): add s-fat*.
17499
17500 2001-12-04 Robert Dewar <dewar@gnat.com>
17501
17502 * sem_attr.adb:
17503 (Compile_Time_Known_Attribute): New procedure.
17504 (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
17505 proper range check.
17506
17507 2001-12-04 Ed Schonberg <schonber@gnat.com>
17508
17509 * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
17510 processing discriminants to diagnose illegal default values.
17511
17512 2001-12-04 Ed Schonberg <schonber@gnat.com>
17513
17514 * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
17515 access discriminant within a type extension that constrains its
17516 parent discriminants.
17517
17518 2001-12-04 Ed Schonberg <schonber@gnat.com>
17519
17520 * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
17521 is malformed, use instance of Any_Id to allow analysis to proceed.
17522
17523 * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
17524 type definition is illegal.
17525 (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
17526 misplaced.
17527
17528 2001-12-04 Ed Schonberg <schonber@gnat.com>
17529
17530 * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
17531 constants.
17532
17533 2001-12-04 Robert Dewar <dewar@gnat.com>
17534
17535 * errout.adb: Minor reformatting
17536
17537 2001-12-04 Robert Dewar <dewar@gnat.com>
17538
17539 * exp_util.adb: Minor reformatting from last change
17540
17541 * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
17542 which is a rewriting of an expression, traverse the original
17543 expression to remove warnings that may have been posted on it.
17544
17545 2001-12-04 Ed Schonberg <schonber@gnat.com>
17546
17547 * exp_util.adb (Must_Be_Aligned): Return false for a component of a
17548 record that has other packed components.
17549
17550 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
17551
17552 * adaint.c: Minor cleanups.
17553
17554 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
17555
17556 * adaint.c: Do not use utime.h on vxworks.
17557
17558 2001-12-04 Arnaud Charlet <charlet@gnat.com>
17559
17560 * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
17561 more confusion than it solves.
17562
17563 2001-12-04 Geert bosch <bosch@gnat.com>
17564
17565 * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
17566
17567 2001-12-04 Geert Bosch <bosch@gnat.com>
17568
17569 * Makefile.in (update-sources): New target.
17570 For use by gcc_release script.
17571
17572 2001-12-04 Ed Schonberg <schonber@gnat.com>
17573
17574 * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
17575 a configuration pragma, it is now legal wherever a pragma can appear.
17576
17577 2001-12-04 Zack Weinberg <zack@codesourcery.com>
17578
17579 * Makefile.in: Don't set ALL. Delete @cross_defines@,
17580 @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS
17581 is now @CROSS@ -DIN_GCC; update comment.
17582
17583 2001-12-04 Robert Dewar <dewar@gnat.com>
17584
17585 * einfo.adb (Has_Pragma_Pure_Function): New flag.
17586 Fix problem that stopped ceinfo from working
17587
17588 * einfo.ads (Has_Pragma_Pure_Function): New flag.
17589
17590 * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
17591
17592 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
17593
17594 * gnatchop.adb:
17595 (File_Time_Stamp): New procedure.
17596 (Preserve_Mode): New boolean.
17597 (Write_Unit): Pass time stamp.
17598 Implement -p switch (preserve time stamps).
17599
17600 * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
17601
17602 * gnatchop.adb: Do usage info for -p switch
17603
17604 * adaint.h (__gnat_set_file_time_name): New function
17605
17606 * adaint.c (__gnat_set_file_time_name): Implement
17607
17608 * adaint.h: Fix typo
17609
17610 2001-12-03 Robert Dewar <dewar@gnat.com>
17611
17612 * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
17613 have Associated_Node.
17614
17615 2001-12-03 Robert Dewar <dewar@gnat.com>
17616
17617 * prj-proc.adb: Minor reformatting
17618
17619 * make.adb: Minor reformatting
17620
17621 2001-12-03 Geert Bosch <bosch@gnat.com>
17622
17623 * make.adb: Minor reformatting.
17624
17625 2001-12-03 Robert Dewar <dewar@gnat.com>
17626
17627 * sem_ch12.adb: Minor reformatting
17628
17629 2001-12-03 Ed Schonberg <schonber@gnat.com>
17630
17631 * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
17632 push Standard on the stack before analyzing the instance body,
17633 in order to have a clean visibility environment.
17634
17635 * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
17636
17637 2001-12-03 Ed Schonberg <schonber@gnat.com>
17638
17639 * sem_ch12.adb (Instantiate_Package_Body): Protect against double
17640 instantiation of a body that contains an inlined body.
17641
17642 2001-12-03 Ed Schonberg <schonber@gnat.com>
17643
17644 * sem_ch12.adb:
17645 (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
17646 to prevent freezing within formal packages.
17647 (Freeze_Subprogram_Body): If body comes from another instance that
17648 appeared before its own body, place freeze node at end of current
17649 declarative part, to prevent a back-end crash.
17650 (Inline_Instance_Body): Handle properly a package instance within
17651 a subprogram instance that is a child unit.
17652
17653 2001-12-01 Graham Stott <grahams@redhat.com>
17654
17655 * Makefile.in (misc.o): Add missing $(srcdir) prefix
17656 and add optabs.h dependency.
17657
17658 * misc.c: Include optabs.h
17659 (gnat_tree_code_type): Make static and const.
17660 (gnat_tree_code_length): Likewise.
17661 (gnat_tree_code_name): Likewise.
17662 (update_setjmp_buf): Obtain operands mode from insn_data.
17663
17664 2001-11-29 Richard Henderson <rth@redhat.com>
17665
17666 * init.c: Remove obsolete dwarf2 frame.h section.
17667
17668 2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
17669
17670 * Make-lang.in (ada.generated-manpages): New dummy target.
17671
17672 2001-11-29 Ed Schonberg <schonber@gnat.com>
17673
17674 * g-os_lib.adb (Add_To_Command): use explicit loop to move string
17675 into Command, an array conversion is illegal here. Uncovered by
17676 ACATS B460005.
17677
17678 2001-11-28 Geert Bosch <bosch@gnat.com>
17679
17680 * init.c: Minor whitespace changes.
17681
17682 2001-11-28 Doug Rupp <rupp@gnat.com>
17683
17684 * init.c: (__gnat_install_handler,VMS): Increase size of alternate
17685 signal stack.
17686
17687 2001-11-28 Zack Weinberg <zack@codesourcery.com>
17688
17689 * misc.c (gnat_expand_constant): Move declaration above
17690 definition of lang_hooks.
17691 (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
17692 (gnat_init): lang_expand_constant no longer exists.
17693
17694 (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
17695 always have vprintf.
17696 (gnat_init): Always call set_internal_error_function.
17697
17698 2001-11-27 Andreas Jaeger <aj@suse.de>
17699
17700 * Makefile.in (stamp-tool_src_dir): Use symbolic link.
17701
17702 2001-11-27 Laurent Guerby <guerby@acm.org>
17703
17704 * Makefile.in: Regenerate Ada dependencies.
17705
17706 2001-11-26 Richard Henderson <rth@redhat.com>
17707
17708 * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
17709 gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
17710 gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
17711
17712 2001-11-25 Laurent Guerby <guerby@acm.org>
17713
17714 * sysdep.c (rts_get_*): Fix style.
17715
17716 2001-11-19 Laurent Guerby <guerby@acm.org>
17717
17718 * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
17719 since it is of no apparent use and cause warnings.
17720
17721 2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
17722
17723 * misc.c (gnat_decode_option, gnat_init_options): Make definitions
17724 static too.
17725 (gnat_init): Don't return NULL.
17726 (finish_parse): Remove.
17727
17728 2001-11-17 Laurent Guerby <guerby@acm.org>
17729
17730 * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
17731 * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
17732 * io-aux.c: Provide K&R prototypes to all functions, reformat code.
17733 * lang-spec.h: Add missing struct field to silence warnings.
17734 * sysdep.c (rts_get_*): Provide K&R prototype.
17735 * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
17736 * traceback.c (Unlock_Task, Lock_Task): Likewise.
17737 * tracebak.c (__gnat_backtrace): Remove unused variable.
17738 * utils.c (end_subprog_body): Move to K&R style.
17739
17740 Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17741
17742 * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
17743
17744 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
17745
17746 * misc.c (gnat_init): Change prototype. Include the
17747 functionality of the old init_parse and init_decl_processing.
17748 (gnat_init_decl_processing): New prototype.
17749 (init_parse): Remove.
17750 * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
17751
17752 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
17753
17754 * misc.c (gnat_print_decl, gnat_print_type): Renamed.
17755 (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
17756 (print_lang_statistics, lang_print_xnode, print_lang_identifier,
17757 set_yydebug): Remove.
17758
17759 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
17760
17761 * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
17762 (struct lang_hooks): Constify.
17763 (language_string, lang_identify): Remove.
17764 * utils.c (init_decl_processing): Update.
17765
17766 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
17767
17768 * misc.c: Include langhooks-def.h.
17769 * Makefile.in: Update.
17770
17771 2001-10-30 Robert Dewar <dewar@gnat.com>
17772
17773 * style.adb:
17774 (Check_Identifier): Rewrite circuit to be compatible with use of letters
17775 in the upper half of ASCII.
17776 (Check_Identifier): Minor reformatting
17777
17778 2001-10-30 Geert Bosch <bosch@gnat.com>
17779
17780 * (Associated_Node, Set_Associated_Node): Do not check for
17781 Freeze_Entity.
17782
17783 2001-10-30 Robert Dewar <dewar@gnat.com>
17784
17785 * a-reatim.ads: Minor reformatting
17786
17787 2001-10-30 Robert Dewar <dewar@gnat.com>
17788
17789 * gnatdll.adb: Minor reformatting throughout. Many ??? added for
17790 undocumented declarations.
17791
17792 2001-10-30 Pascal Obry <obry@gnat.com>
17793
17794 * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
17795 to the binder and linker.
17796 Minor style fix.
17797
17798 * mdll.ads: Fix layout. Update copyright notice.
17799
17800 * mdll.adb: Fix layout. Update copyright notice.
17801
17802 2001-10-30 Robert Dewar <dewar@gnat.com>
17803
17804 * usage.adb: Minor fix to output for -gnaty.
17805
17806 2001-10-30 Ed Schonberg <schonber@gnat.com>
17807
17808 * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
17809 to accommodate all its possible values.
17810
17811 * a-reatim.adb (Split): Special-case handling of Time_Span_First
17812 and of small absolute values of T.
17813
17814 2001-10-30 Richard Kenner <kenner@gnat.com>
17815
17816 * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
17817 set_mem_attributes since not needed and wrong if RESULT if a REG;
17818 fixes ACATS failures.
17819
17820 2001-10-30 Geert Bosch <bosch@gnat.com>
17821
17822 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
17823 s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
17824
17825 2001-10-30 Robert Dewar <dewar@gnat.com>
17826
17827 * bindusg.adb: Undocument -f switch.
17828
17829 * gnatcmd.adb: Remove /FULL_ELABORATION.
17830
17831 * opt.ads (Force_RM_Elaboration_Order): Document that this is
17832 obsolescent.
17833
17834 * gnatbind.adb: Output new warning for use of obsolescent -f switch.
17835
17836 * gnatbind.adb: Minor update of warning msg.
17837
17838 2001-10-30 Vincent Celier <celier@gnat.com>
17839
17840 * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
17841 for project file switches (-P (/PROJECT_FILE=),
17842 -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
17843 or MEDIUM or HIGH)
17844
17845 2001-10-30 Geert Bosch <bosch@gnat.com>
17846
17847 * decl.c: Minor whitespace fixes.
17848
17849 2001-10-30 Richard Kenner <kenner@gnat.com>
17850
17851 * utils2.c (build_allocator): Test for SIZE overflow in array case too
17852
17853 2001-10-30 Geert Bosch <bosch@gnat.com>
17854
17855 * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
17856 Found due to GCC 3.0 warning of using uninitialized value.
17857
17858 * layout.adb:
17859 (Get_Max_Size): Use variant record for tracking value/expression.
17860 Makes logic clearer and prevents warnings for uninitialized variables.
17861 (Layout_Array_Type): Use variant record for tracking value/expression.
17862 Makes logic clearer and prevents warnings for uninitialized variables.
17863
17864 2001-10-30 Robert Dewar <dewar@gnat.com>
17865
17866 * lib.adb: Minor reformatting
17867
17868 * s-taprop.ads: Minor reformatting
17869
17870 2001-10-29 Laurent Guerby <guerby@acm.org>
17871
17872 * init.c:
17873 (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
17874 const.
17875 (_gnat_error_handler): Make MSG const.
17876
17877 2001-10-29 Richard Kenner <kenner@gnat.com>
17878
17879 * sysdep.c: Fix localtime_r problem on LynxOS.
17880 Also remove #elif to avoid warnings.
17881
17882 * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
17883 used by this.
17884
17885 * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
17886
17887 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
17888
17889 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
17890 exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
17891 g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
17892 g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
17893 layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
17894 s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
17895 sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
17896 sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
17897 sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
17898 types.ads, urealp.adb: Fix spelling errors.
17899
17900 2001-10-27 Laurent Guerby <guerby@acm.org>
17901
17902 * trans.c (gigi): Fix non determinism leading to bootstrap
17903 comparison failures for debugging information.
17904
17905 2001-10-26 Florian Weimer <fw@deneb.enyo.de>
17906
17907 * gnat_rm.texi: Use @./@: where appropriate.
17908
17909 2001-10-26 Robert Dewar <dewar@gnat.com>
17910
17911 * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
17912
17913 2001-10-26 Richard Kenner <kenner@gnat.com>
17914
17915 * gmem.c (__gnat_gmem_read_next): Properly check for EOF
17916
17917 2001-10-26 Richard Kenner <kenner@gnat.com>
17918
17919 * decl.c (validate_size): Modify message for bad size to avoid
17920 implication that compiler is modifying the size.
17921
17922 2001-10-26 Robert Dewar <dewar@gnat.com>
17923
17924 * prj-util.adb: Minor reformatting. Fix bad header format.
17925
17926 2001-10-26 Robert Dewar <dewar@gnat.com>
17927
17928 * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
17929
17930 * sinfo.ads: Clarify use of Associated_Node (documentation only).
17931
17932 * sem_ch12.adb: Change Node4 to Associated_Node. Change
17933 Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
17934 much more narrowly in places where needed. These are cleanups.
17935
17936 2001-10-26 Joel Brobecker <brobecke@gnat.com>
17937
17938 * 5zosinte.ads (null_pthread): new constant.
17939
17940 * 5ztaprop.adb:
17941 (Initialize_TCB): Initialize thread ID to null, to be able to verify
17942 later that this field has been set.
17943 (Finalize_TCB): ditto.
17944 (Suspend_Task): Verify that the thread ID is not null before using it.
17945 (Resume_Task): ditto.
17946
17947 * s-tasdeb.adb:
17948 (Resume_All_Tasks): Lock the tasks list before using it.
17949 (Suspend_All_Tasks): ditto.
17950
17951 2001-10-26 Richard Kenner <kenner@gnat.com>
17952
17953 * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
17954 Make constant variant of designated type for Is_Access_Constant.
17955 Call update_pointer_to with main variant.
17956
17957 * trans.c (process_freeze_entity, process_type):
17958 Call update_pointer_to on main variant.
17959
17960 * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
17961 If main variant, update all other variants.
17962
17963 * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
17964 TREE_STATIC.
17965
17966 2001-10-26 Robert Dewar <dewar@gnat.com>
17967
17968 * prj-util.adb: Minor reformatting
17969
17970 2001-10-26 Robert Dewar <dewar@gnat.com>
17971
17972 * prj-util.adb: Minor reformatting
17973
17974 2001-10-26 Robert Dewar <dewar@gnat.com>
17975
17976 * prj-attr.adb: Minor reformatting throughout
17977
17978 2001-10-26 Robert Dewar <dewar@gnat.com>
17979
17980 * prj-attr.ads: Minor reformatting
17981 Add ??? comment (this whole spec has almost no comments)
17982
17983 2001-10-26 Vincent Celier <celier@gnat.com>
17984
17985 * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
17986 ("//") that precede the drive letter on Interix.
17987
17988 2001-10-26 Geert Bosch <bosch@gnat.com>
17989
17990 * gnat_rm.texi: Add GNAT Reference Manual.
17991
17992 2001-10-25 Robert Dewar <dewar@gnat.com>
17993
17994 * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
17995 is Error. Similar change for other renaming cases.
17996
17997 2001-10-25 Robert Dewar <dewar@gnat.com>
17998
17999 * s-atacco.ads: Add pragma Inline_Always for functions.
18000 Fix header format. Add copyright 2001
18001
18002 2001-10-25 Ed Schonberg <schonber@gnat.com>
18003
18004 * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
18005 return Error rather than Empty so that analysis can proceed.
18006
18007 2001-10-25 Ed Schonberg <schonber@gnat.com>
18008
18009 * sem_util.adb (Enter_Name): better handling of cascaded error
18010 messages when a unit appears in its own context.
18011
18012 2001-10-25 Ed Schonberg <schonber@gnat.com>
18013
18014 * sem_util.adb (Defining_Entity): in case of error, attach created
18015 entity to specification, so that semantic analysis can proceed.
18016
18017 2001-10-25 Robert Dewar <dewar@gnat.com>
18018
18019 * sem_util.adb
18020 (Defining_Entity): Deal with Error.
18021 (Process_End_Label): Deal with bad end label for.
18022
18023 2001-10-25 Ed Schonberg <schonber@gnat.com>
18024
18025 * sem_elab.adb (Check_A_Call): refine message when call is in an
18026 instance but callee is not declared in the generic unit.
18027
18028 2001-10-25 Ed Schonberg <schonber@gnat.com>
18029
18030 * sem_elab.adb (Check_A_Call): check for renaming before finding the
18031 enclosing unit, which may already be different from the calling unit.
18032
18033 2001-10-25 Geert Bosch <bosch@gnat.com>
18034
18035 * 4gintnam.ads: fix header format.
18036
18037 2001-10-25 Ed Schonberg <schonber@gnat.com>
18038
18039 * sem_res.adb (Resolve_Call): if the call is actually an indexing
18040 operation on the result of a parameterless call, perform elaboration
18041 check after the node has been properly rewritten.
18042
18043 * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
18044 inlined within the generic tree, the defining identifier is not a
18045 compilation_unit.
18046
18047 2001-10-25 Ed Schonberg <schonber@gnat.com>
18048
18049 * sem_res.adb (Resolve): special-case resolution of Null in an
18050 instance or an inlined body to avoid view conflicts.
18051
18052 * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
18053 compatibility by retrieving the access type of the generic copy.
18054
18055 2001-10-25 Robert Dewar <dewar@gnat.com>
18056
18057 * sem_ch3.adb:
18058 (Analyze_Number_Declaration): Handle error expression.
18059 (Signed_Integer_Type_Declaration): Handle error bound.
18060 (Analyze_Subtype_Indication): Handle error range.
18061
18062 * sem_util.adb (Get_Index_Bounds): Check for Error.
18063
18064 2001-10-25 Robert Dewar <dewar@gnat.com>
18065
18066 * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
18067 in no run time mode.
18068
18069 2001-10-25 Pascal Obry <obry@gnat.com>
18070
18071 * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
18072 mode case for ALLOC case.
18073
18074 * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
18075 all platforms. Improvement of last change.
18076
18077 2001-10-25 Robert Dewar <dewar@gnat.com>
18078
18079 * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
18080
18081 2001-10-25 Geert Bosch <bosch@gnat.com>
18082
18083 * osint.adb (Is_Relative): Remove duplicate.
18084
18085 2001-10-25 Pascal Obry <obry@gnat.com>
18086
18087 * osint.adb (Read_Default_Search_Dirs): correctly detect relative
18088 pathnames in UNIX and DOS style with drive letter.
18089 (Is_Relative): new routine.
18090
18091 * osint.adb: Minor reformatting
18092
18093 * osint.adb (Is_Relative): implementation using
18094 GNAT.OS_Lib.Is_Absolute_Path. Better fix.
18095
18096 2001-10-25 Pascal Obry <obry@gnat.com>
18097
18098 * g-dirope.adb (Basename): correctly compute offset between the
18099 original Path and the translated one.
18100
18101 * g-dirope.adb: (Base_Name): add some comments.
18102
18103 2001-10-25 Robert Dewar <dewar@gnat.com>
18104
18105 * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
18106 in HIE mode, avoids compilation abandoned message
18107
18108 * exp_imgv.adb: Correct typo in previous change
18109
18110 * exp_imgv.adb: Correct typo in previous change (not my day!)
18111
18112 2001-10-25 Robert Dewar <dewar@gnat.com>
18113
18114 * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
18115
18116 2001-10-25 Pascal Obry <obry@gnat.com>
18117
18118 * g-awk.ads: Move all pragma inlines next to the routine
18119 declarations. This is more uniform with other GNAT spec.
18120
18121 2001-10-22 Geert Bosch <bosch@gnat.com>
18122
18123 * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
18124
18125 2001-10-19 Geert Bosch <bosch@gnat.com>
18126
18127 * Makefile.in (tools, gnattools): Remove gnatmem.
18128
18129 2001-10-17 Richard Henderson <rth@redhat.com>
18130
18131 * Makefile.in (misc.o): Depend on langhooks.h.
18132 * misc.c: Include it.
18133 (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
18134 (LANG_HOOKS_DECODE_OPTION): New.
18135 (lang_hooks): Use LANG_HOOKS_INITIALIZER.
18136
18137 2001-10-16 Florian Weimer <fw@deneb.enyo.de>
18138
18139 * trans.c (tree_transform): Adjust to recent change in
18140 expand_asm_operands to implement named asm operands.
18141
18142 2001-10-11 Ed Schonberg <schonber@gnat.com>
18143
18144 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
18145 renaming of discriminant for mutable record type.
18146
18147 2001-10-11 Robert Dewar <dewar@gnat.com>
18148
18149 * validsw.adb: Properly save -gnatVn status.
18150
18151 2001-10-11 Robert Dewar <dewar@gnat.com>
18152
18153 * usage.adb: Add lines for V switch.
18154
18155 * gnatcmd.adb (COMPILE): Revise translations for -gnatV
18156 (/VALIDITY_CHECKING).
18157
18158 2001-10-11 Ed Schonberg <schonber@gnat.com>
18159
18160 * sem_type.adb (Add_One_Interp): an operator for a type declared in
18161 an extension of System is known to be visible.
18162
18163 2001-10-11 Ed Schonberg <schonber@gnat.com>
18164
18165 * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
18166 properly. Fixes regression on ACATS C34005G.
18167
18168 2001-10-11 Robert Dewar <dewar@gnat.com>
18169
18170 * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
18171 loop in generic instance, since this is likely not very useful.
18172
18173 2001-10-11 Robert Dewar <dewar@gnat.com>
18174
18175 * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
18176 the error message for high integrity mode.
18177
18178 * rtsfind.adb (RTE): Give message if we try to find an entity that
18179 is not available in high integrity mode.
18180
18181 * rtsfind.ads:
18182 (OK_To_Use_In_HIE_Mode): New array.
18183 (RTE): May return Empty in high integrity mode.
18184
18185 * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
18186 OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
18187
18188 * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
18189 unit if not inlined always and in no runtime mode. Fixes problem
18190 caused by new Rtsfind changes.
18191
18192 * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
18193 body is deleted.
18194
18195 * rtsfind.adb (RTE): Make sure we do not try to load unit after
18196 giving message for entity not available in high integrity mode.
18197
18198 2001-10-11 Pascal Obry <obry@gnat.com>
18199
18200 * impunit.adb: Add GNAT.CRC32.
18201
18202 2001-10-11 Ed Schonberg <schonber@gnat.com>
18203
18204 * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
18205 properly the case where one universal operand in a non-static
18206 exponentiation of a real literal.
18207
18208 2001-10-11 Ed Schonberg <schonber@gnat.com>
18209
18210 * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
18211 clause, return the gobal finalization list, for lack of anthing else.
18212
18213 2001-10-11 Ed Schonberg <schonber@gnat.com>
18214
18215 * exp_ch7.adb (Make_Transient_Block): if statement is within
18216 exception handler, always use new transient scope to place Clean
18217 procedure.
18218
18219 2001-10-11 Pascal Obry <obry@gnat.com>
18220
18221 * Makefile.in:
18222 (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
18223 (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
18224 (GNATLS_RTL_OBJS): add g-crc32.o
18225 (GNATMAKE_RTL_OBJS): add g-crc32.o
18226
18227 * ali-util.adb:
18228 (CRC_Match): new function.
18229 (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
18230 instead of the previous simple checksum algorithm.
18231 (Time_Stamp_Mismatch): use CRC_Match for comparison.
18232 (Set_Source_Table): idem.
18233
18234 * ali-util.ads:
18235 (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
18236 instead of simple checksum.
18237 (CRC_Match): new function.
18238 (CRC_Error): new constant.
18239
18240 * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
18241 a CRC now and not a simple checksum. A CRC uses lower-case hex
18242 letters, fixes ambiguity in parsing.
18243
18244 * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
18245 is what this variable will store.
18246
18247 * bcheck.adb: Change reference to chechsum in comments by CRC.
18248 (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
18249 rename All_Checksum_Match to All_CRC_Match. Change due to API
18250 renaming since now GNAT does not use a simple checksum but a
18251 CRC using GNAT.CRC32.
18252
18253 * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
18254 now and not anymore a simple checksum.
18255
18256 * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
18257 places.
18258
18259 * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
18260
18261 * scans.adb:
18262 (Restore_Scan_State): rename Checksum to CRC.
18263 (Save_Scan_State): idem.
18264
18265 * scans.ads:
18266 With GNAT.CRC32.
18267 (Checksum): rename to CRC.
18268 (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
18269
18270 * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
18271 GNAT.CRC32). Update copyright notice.
18272
18273 * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
18274 GNAT.CRC32). Update copyright notice.
18275
18276 * scn.adb:
18277 (Accumulate_Checksum): removed.
18278 (Update): new procedure. Add a wide-character into the CRC.
18279
18280 * sinput-l.adb:
18281 (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
18282 (Load_File): fix initialization of S (change Source_Checksum to
18283 Source_CRC)
18284
18285 * sinput-p.adb (Load_Project_File): rename Source_Checksum to
18286 Source_CRC in S initialization.
18287
18288 * sinput.adb (Source_Checksum): renamed to Source_CRC.
18289
18290 * sinput.ads (Source_Checksum): renamed to Source_CRC.
18291 Update comments for the CRC.
18292
18293 * types.adb (Hex): Use lowercase for the letter part.
18294
18295 * types.ads (Get_Hex_String): Returns the hexadecimal representation
18296 for a word. This is currently used only for CRC. In previous version,
18297 the checksum was using a representation with all letter being
18298 upper-case. With the new implementation (using CRC) we do not remove
18299 the 32th bit of the CRC, so we can have an upper-case starting letter
18300 in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
18301 It is ambigous since the CRC was optional and could be followed by
18302 options like EB, EE. So now this routines uses lower-case letter for
18303 the hexadecimal representation. Strange enough only lower case letters
18304 where checked in Scan_ALI (even if this was not a possible case).
18305
18306 * gnatvsn.ads (Library_Version): changed to 3.15a.
18307
18308 * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
18309 for the compiler.
18310
18311 * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
18312 for the compiler.
18313
18314 * ali-util.adb: Redo previous change to avoid using word CRC everywhere
18315 Add 2001 to copyright notice
18316 (Accumulate_Checksum): Modify to use System.CRC32.
18317
18318 * ali-util.ads: Redo changes of previous revision to continue to use
18319 the word Checksum. Add 2001 to copyright notice.
18320
18321 * ali.adb: Undo some of previous changes, not needed.
18322 Keep the change for lower case letters in the checksum.
18323
18324 * ali.ads: Undo previous change not needed.
18325
18326 * bcheck.adb: Undo most of previous change, not needed.
18327 But do use Checksums_Match for checksum comparison.
18328
18329 * gnatls.adb: Undo most of previous change, not needed.
18330 But do use Checksums_Match for comparing checksums.
18331
18332 * lib-load.adb: Undo previous change, not needed.
18333
18334 * lib-writ.adb: Undo previous change, not needed.
18335
18336 * lib-writ.ads: Document that checksums use lower case,
18337 not upper case letters.
18338
18339 * scans.adb: Undo previous change, not needed
18340
18341 * scans.ads: Undo previous change, not needed.
18342
18343 * scn-nlit.adb: Undo previous changes, not needed.
18344
18345 * scn-slit.adb: Undo previous change, not needed. Fix header format.
18346
18347 * scn.adb:
18348 (Accumulate_Checksum): Use System.CRC32.
18349 (Initialize_Checksum): New procedure.
18350 Remove other changes of previous revision.
18351
18352 * sinput-p.adb: Undo previous change, not needed.
18353
18354 * sinput.adb: Undo previous change, not needed.
18355
18356 * sinput-l.adb: Undo previous change, not needed.
18357
18358 * sinput.ads: Undo previous change, not needed. Keep only comment
18359 on new checksum algorithm
18360
18361 * Makefile.in: Add s-crc32 as needed, remove g-crc32.
18362 Also remove a-tags and a-stream from GNAT sources.
18363
18364 * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
18365
18366 * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
18367
18368 2001-10-11 Geert Bosch <bosch@gnat.com>
18369
18370 * einfo.h: Regenerate.
18371
18372 * nmake.ads: Regenerate.
18373
18374 * nmake.adb: Regenerate.
18375
18376 * sinfo.h: Regenerate.
18377
18378 * treeprs.adb: Regenerate.
18379
18380 2001-10-10 Geert Bosch <bosch@gnat.com>
18381
18382 * gnat-style.texi: New file describing coding guidelines for Ada.
18383
18384 2001-10-10 Ed Schonberg <schonber@gnat.com>
18385
18386 * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
18387 is Flag174.
18388
18389 2001-10-10 Geert Bosch <bosch@gnat.com>
18390
18391 * snames.ads: Add new names for project facility.
18392
18393 * snames.adb: Update to reflect snames.ads changes.
18394
18395 * snames.h: Update to reflect snames.ads changes.
18396
18397 2001-10-10 Vincent Celier <celier@gnat.com>
18398
18399 * make.adb:
18400 (Add_Switches): reflect the changes for the switches attributes
18401 Default_Switches indexed by the programming language,
18402 Switches indexed by the file name.
18403 (Collect_Arguments_And_Compile): Idem.
18404 Reflect the attribute name changes.
18405
18406 * prj-attr.adb:
18407 (Initialisation_Data): Change the names of some packages and
18408 attributes.
18409 (Initialize): process case insensitive associative arrays.
18410
18411 * prj-attr.ads:
18412 (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
18413
18414 * prj-dect.adb:
18415 (Parse_Attribute_Declaration): For case insensitive associative
18416 arrays, set the index string to lower case.
18417
18418 * prj-env.adb:
18419 Reflect the changes of the project attributes.
18420
18421 * prj-nmsc.adb:
18422 Replace Check_Naming_Scheme by Ada_Check and
18423 Language_Independent_Check.
18424
18425 * prj-nmsc.ads:
18426 Replaced Check_Naming_Scheme by 2 procedures:
18427 Ada_Check and Language_Independent_Check.
18428
18429 * prj-proc.adb:
18430 (Process_Declarative_Items): For case-insensitive associative
18431 arrays, set the index string to lower case.
18432 (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
18433 Prj.Nmsc.Check_Naming_Scheme.
18434
18435 * prj-tree.adb:
18436 (Case_Insensitive): New function
18437 (Set_Case_Insensitive): New procedure
18438
18439 * prj-tree.ads:
18440 (Case_Insensitive): New function
18441 (Set_Case_Insensitive): New procedure
18442 (Project_Node_Record): New flag Case_Insensitive.
18443
18444 * prj-util.adb:
18445 (Value_Of): new function to get the string value of a single
18446 string variable or attribute.
18447
18448 * prj-util.ads:
18449 (Value_Of): new function to get the string value of a single
18450 string variable or attribute.
18451
18452 * prj.adb:
18453 (Ada_Default_Spec_Suffix): New function
18454 (Ada_Default_Impl_Suffix): New function
18455 Change definitions of several constants to reflect
18456 new components of record types.
18457
18458 * prj.ads:
18459 (Naming_Data): Change several components to reflect new
18460 elements of naming schemes.
18461 (Project_Data): New flags Sources_Present and
18462 Language_Independent_Checked.
18463 (Ada_Default_Spec_Suffix): New function.
18464 (Ada_Default_Impl_Suffix): New function.
18465
18466 * snames.ads:
18467 Modification of predefined names for project manager: added
18468 Implementation, Specification_Exceptions, Implementation_Exceptions,
18469 Specification_Suffix, Implementation_Suffix, Separate_Suffix,
18470 Default_Switches, _Languages, Builder, Cross_Reference,
18471 Finder. Removed Body_Part, Specification_Append, Body_Append,
18472 Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
18473 Gnatlink.
18474
18475 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
18476 Add comments.
18477
18478 * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
18479 not that it is Nil_Variable_Value.
18480
18481 * prj.ads: Add ??? for uncommented declarations
18482
18483 2001-10-10 Ed Schonberg <schonber@gnat.com>
18484
18485 * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
18486 constant, do not indicate possible modification, so that gigi can
18487 treat it as a bona fide constant.
18488
18489 2001-10-10 Robert Dewar <dewar@gnat.com>
18490
18491 * sem_prag.adb: Add processing for pragma External.
18492
18493 * snames.ads: Add entry for pragma External.
18494
18495 * par-prag.adb: Add pragma External.
18496
18497 * snames.adb: Updated to match snames.ads.
18498
18499 2001-10-10 Ed Schonberg <schonber@gnat.com>
18500
18501 * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
18502 a dynamic task if the allocator appears in an indexed assignment
18503 or selected component assignment.
18504
18505 * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
18506 For a dynamic task in an assignment statement, use target of
18507 assignment to generate meaningful name.
18508
18509 2001-10-10 Ed Schonberg <schonber@gnat.com>
18510
18511 * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
18512 a generic package.
18513
18514 * einfo.ads: Body_Entity is also defined for generic package.
18515 Documentation change only
18516
18517 * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
18518 others_choice for a discriminated component initialization,
18519 convert discriminant references into the corresponding discriminals.
18520
18521 * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
18522 only if original type is private and expression has to be wrapped
18523 in a conversion.
18524
18525 * checks.adb:
18526 (Apply_Constraint_Check): Do not perform length check
18527 if expression is an aggregate with only an others_choice.
18528 (Length_N_Cond): two references to the same in_parameter
18529 (typically the discriminal in an init_proc) denote the same value.
18530 Two useful optimization uncovered by bugfixes above.
18531
18532 2001-10-10 Robert Dewar <dewar@gnat.com>
18533
18534 * xeinfo.adb: Change int to char in translation of enumeration types.
18535 This fixes a problem in the C representation of component alignment.
18536 Add 2001 to copyright notice
18537
18538 2001-10-10 Richard Kenner <kenner@gnat.com>
18539
18540 * decl.c: (validate_size): Do check size of object of integral type
18541 if it is a packed array type.
18542
18543 2001-10-10 Richard Kenner <kenner@gnat.com>
18544
18545 * decl.c: (gnat_to_gnu_entity, case object): Also materialize
18546 VAR_DECL for constant if not Is_Public but -O0.
18547
18548 2001-10-10 Richard Kenner <kenner@gnat.com>
18549
18550 * misc.c (struct lang_hooks): Add new initializer to match GCC change.
18551
18552 2001-10-10 Geert Bosch <bosch@gnat.com>
18553
18554 * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
18555 use '/' as switch character, allowing for absolute file names.
18556
18557 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
18558
18559 * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
18560 FSF address.
18561
18562 2001-10-08 Geert Bosch <bosch@gnat.com>
18563
18564 * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
18565 Automatically build utilities when files need to be regenerated.
18566
18567 2001-10-08 Geert Bosch <bosch@gnat.com>
18568
18569 * xsnames.adb: New utility for updating snames.ads and snames.adb
18570
18571 2001-10-08 Zack Weinberg <zack@codesourcery.com>
18572
18573 * Make-lang.in (ADAFLAGS): Add -W -Wall.
18574 (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
18575 (gnat1): Also depend on attribs.o.
18576 (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
18577 * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
18578 (ADAC): Set to @ADAC@ in stage1, $(CC) later.
18579 (ADAFLAGS): Add -W -Wall.
18580 (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
18581 take out CFLAGS.
18582
18583 (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
18584 s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
18585 s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
18586 Use $(ADAC), not $(CC), as compilation command.
18587
18588 (gnattools): Depend directly on tools to build, don't use
18589 recursive make.
18590 (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
18591
18592 * einfo.h, sinfo.h: New files (autogenerated).
18593
18594 2001-10-08 Richard Henderson <rth@redhat.com>
18595
18596 * comperr.adb (Abort_In_Progress): New.
18597 (Compiler_Abort): Use it to prevent recursion.
18598
18599 2001-10-08 Robert Dewar <dewar@gnat.com>
18600
18601 * atree.adb: Set Error_Posted in Error node, helps error recovery.
18602
18603 * par-endh.adb (Output_End_Expected): We should also not test
18604 Error_Posted on the Error node, since now it is always set.
18605
18606 * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
18607 to help error recovery. Part of general work on 9407-004.
18608
18609 * par.adb: Add ??? for misuse of error
18610
18611 * sem_res.adb:
18612 (Resolve): Defend against Error, fixes 9407-003.
18613 (Resolve_Discrete_Subtype_Indication): Defend against Error.
18614
18615 * sinfo.ads (N_Error): Now has Etype field (which will be set
18616 to Any_Type to help error recovery).
18617
18618 2001-10-08 Richard Kenner (kenner@gnat.com)
18619
18620 * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
18621 Consistently set MEM attributes from expression; fixes
18622 bootstrap failure on x86.
18623
18624 2001-10-08 Geert Bosch (bosch@gnat.com)
18625
18626 * 5oosinte.adb: Add 2001 to copyright notice.
18627
18628 2001-10-08 Geert Bosch (bosch@gnat.com)
18629
18630 * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
18631
18632 * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
18633
18634 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
18635
18636 * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
18637
18638 2001-10-05 Geert Bosch (bosch@gnat.com)
18639
18640 * adaint.h: Small formatting fix.
18641
18642 2001-10-04 Geert Bosch <bosch@gnat.com>
18643
18644 * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
18645 Arg is int, not FILE *, in dummy version of functions.
18646
18647 * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
18648 Arg is int, not FILE *.
18649
18650 2001-10-04 Geert Bosch <bosch@gnat.com>
18651
18652 * 3lsoccon.ads: Added file, missed with initial check ins.
18653
18654 * 4lintnam.ads: Fix header format.
18655 Change Linux to GNU/Linux.
18656
18657 * 5iosinte.adb: Change Linux to GNU/Linux.
18658
18659 * 5iosinte.ads: Change Linux to GNU/Linux.
18660
18661 * 5itaprop.adb: Change Linux to GNU/Linux.
18662
18663 * 5itaspri.ads: Change Linux to GNU/Linux.
18664 Update copyright notice.
18665
18666 * 5lintman.adb: Change Linux to GNU/Linux.
18667
18668 * 5lml-tgt.adb: Change Linux to GNU/Linux.
18669
18670 * 5losinte.ads: Change Linux to GNU/Linux.
18671
18672 * 5lsystem.ads: Change Linux to GNU/Linux.
18673
18674 * 5qosinte.adb: Change Linux to GNU/Linux.
18675
18676 * 5qosinte.ads: Change Linux to GNU/Linux.
18677
18678 * 5qparame.ads: Change Linux to GNU/Linux.
18679
18680 * 5qtaprop.adb: Change Linux to GNU/Linux.
18681
18682 * 5qtaspri.ads: Change Linux to GNU/Linux.
18683 Add 2001 to copyright notice.
18684
18685 * 5vintman.ads: Change Linux to GNU/Linux.
18686 Fix header format. Add 2001 to copyright notice.
18687
18688 * g-soccon.ads: Change Linux to GNU/Linux.
18689
18690 * g-trasym.ads: Change Linux to GNU/Linux.
18691 Add 2001 to copyright notice.
18692
18693 * memtrack.adb: Change Linux to GNU/Linux.
18694
18695 * s-intman.ads: Change Linux to GNU/Linux.
18696 Add 2001 to copyright notice. Fix header format.
18697
18698 * s-stache.adb: Change Linux to GNU/Linux.
18699
18700 * adaint.c: Change Linux to GNU/Linux.
18701
18702 * cio.c: Change Linux to GNU/Linux.
18703
18704 * cstreams.c: Change Linux to GNU/Linux.
18705
18706 * init.c: Change Linux to GNU/Linux.
18707
18708 * gmem.c: Change Linux to GNU/Linux.
18709
18710 * tracebak.c: Change Linux to GNU/Linux.
18711
18712
18713 2001-10-02 Geert Bosch <bosch@gnat.com>
18714
18715 * misc.c (insert_default_attributes): Add dummy version.
This page took 0.811184 seconds and 6 git commands to generate.