]> gcc.gnu.org Git - gcc.git/blob - gcc/ada/ChangeLog
resync.
[gcc.git] / gcc / ada / ChangeLog
1 2005-07-07 Pascal Obry <obry@adacore.com>
2
3 * g-socthi-mingw.adb (C_Inet_Addr): New body used to convert the
4 returned type on Windows.
5
6 * g-socthi-mingw.ads (C_Inet_Addr): Remove pragma Import for this
7 routine.
8
9 * g-socket.adb (Inet_Addr): Check for empty Image and raises an
10 exception in this case.
11 Simplify the code as "Image (Image'Range)" = "Image".
12
13 2005-07-07 Vincent Celier <celier@adacore.com>
14
15 * bindgen.adb (Gen_Output_File_C): When switch -a was specified, put
16 the destructor/constructor attributes for <lib>final/<lib>init.
17
18 * gnatbind.adb (Gnatbind): Allow -a to be used in conjunction with -C
19
20 2005-07-07 Eric Botcazou <ebotcazou@adacore.com>
21
22 * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not strip the padding
23 type if the parameter is not passed by copy but reference by default.
24
25 2005-07-07 Javier Miranda <miranda@adacore.com>
26
27 * exp_ch3.adb (Build_Record_Init_Proc/Freeze_Record_Type):
28 Reimplementation of the support for abstract interface types in order
29 to leave the code more clear and easy to maintain.
30
31 * exp_ch6.adb (Freeze_Subprogram): Reimplementation of the support for
32 abstract interface types in order to leave the code clearer and easier
33 to maintain.
34
35 * exp_disp.ads, exp_disp.adb (Fill_DT_Entry): Part of its functionality
36 is now implemented by the new subprogram Fill_Secondary_DT_Entry.
37 (Fill_Secondary_DT_Entry): Generate the code necessary to fill the
38 appropriate entry of the secondary dispatch table.
39 (Make_DT): Add code to inherit the secondary dispatch tables of
40 the ancestors.
41
42 * exp_util.adb (Find_Interface_Tag/Find_Interface_ADT): Instead of
43 implementing both functionalities by means of a common routine, each
44 routine has its own code.
45
46 2005-07-07 Javier Miranda <miranda@adacore.com>
47
48 * freeze.adb (Freeze_Entity): Check wrong uses of tag incomplete types.
49
50 * par-ch3.adb (P_Type_Declaration): Give support to tagged incomplete
51 types:
52 --
53 type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
54 --
55
56 * sem_attr.adb (Check_Not_Incomplete_Type): Additional checks for wrong
57 use of tag incomplete types.
58
59 * sem_ch3.adb (Analyze_Incomplete_Type): Add mininum decoration to
60 give support to tagged incomplete types.
61
62 * sem_ch5.adb (Analyze_Case_Statement): In generated code, if the
63 expression is a discriminant reference and its type is private, as can
64 happen within a stream operation for a mutable record, use the full
65 view of the type to resolve the case alternatives.
66 (Analyze_Assignment): Check wrong dereference of incomplete types.
67
68 * sem_ch6.adb (Process_Formals): Allow the use of tagged incomplete
69 types.
70
71 * sem_res.adb (Resolve_Explicit_Dereference): Allow the use of tagged
72 incomplete types.
73
74 * sinfo.adb (Taggged_Present/Set_Taggged_Present): Applicable to
75 N_Incomplete_Type_Declaration nodes.
76
77 * sinfo.ads (N_Incomplete_Type_Declaration): Addition of attribute
78 Tag_Present to give support to tagged incomplete types:
79 --
80 type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
81 --
82
83 2005-07-07 Olivier Hainque <hainque@adacore.com>
84
85 PR ada/22301
86
87 * raise.c: Only include unwind.h if IN_RTS, and provide dummy type
88 definitions for the Unwind wrappers in the compiler case.
89
90 2005-07-07 Ed Schonberg <schonberg@adacore.com>
91 Javier Miranda <miranda@adacore.com>
92
93 * par-load.adb (Load): If a child unit is loaded through a limited_with
94 clause, each parent must be loaded as a limited unit as well.
95
96 * sem_ch10.adb (Previous_Withed_Unit): Better name for
97 Check_Withed_Unit. Return true if there is a previous with_clause for
98 this unit, whether limited or not.
99 (Expand_Limited_With_Clause): Do not generate a limited_with_clause on
100 the current unit.
101 (Is_Visible_Through_Renamings): New local subprogram of install_limited
102 _withed_unit that checks if some package installed through normal with
103 clauses has a renaming declaration of package whose limited-view is
104 ready to be installed. This enforces the check of the rule 10.1.2 (21/2)
105 of the current Draft document for Ada 2005.
106 (Analyze_Context): Complete the list of compilation units that
107 are allowed to contain limited-with clauses. It also contains
108 checks that were previously done by Install_Limited_Context_Clauses.
109 This makes the code more clear and easy to maintain.
110 (Expand_Limited_With_Clause) It is now a local subprogram of
111 Install_Limited_Context_Clauses, and contains the code that adds
112 the implicit limited-with clauses for parents of child units.
113 This functionality was prevously done by Analyze_Context.
114
115 * sem_ch4.adb (Analyze_Selected_Component): Check wrong use of
116 incomplete type.
117
118 * sem_ch7.adb (Analyze_Package_Declaration): Check if the package has
119 been erroneously named in a limited-with clause of its own context.
120 In this case the error has been previously notified by Analyze_Context.
121
122 2005-07-07 Ed Schonberg <schonberg@adacore.com>
123
124 * sem_ch8.adb (Find_Direct_Name): Handle properly the case of a
125 generic package that contains local declarations with the same name.
126 (Analyze_Object_Renaming): Check wrong renaming of incomplete type.
127
128 2005-07-07 Bernard Banner <banner@adacore.com>
129
130 * tracebak.c: Refine tracebacks to use Unwind_Backtrace scheme on
131 ia64 platform only on platforms that you the GCC unwind library
132 rather than the system unwind library.
133
134 2005-07-07 Thomas Quinot <quinot@adacore.com>
135
136 * expect.c: Minor reformatting
137
138 2005-07-07 Sergey Rybin <rybin@adacore.com>
139
140 * vms_data.ads: Add VMS qualifiers for new gnatpp switch
141 --no-separate-is
142
143 * gnat_ugn.texi: Add description for new gnatpp option
144 (--no-separate-is)
145
146 2005-07-04 Thomas Quinot <quinot@adacore.com>
147
148 * g-expect-vms.adb, g-expect.ads, g-expect.adb
149 (Get_Command_Output): New subprogram to launch a process and get its
150 standard output as a string.
151
152 2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
153 Olivier Hainque <hainque@adacore.com>
154
155 * s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to
156 fetch a code-range descriptor associated with the machine state. On
157 failure set the machine state's PC to 0; on success, pass the
158 descriptor to exc_virtual_unwind.
159
160 * init.c (Tru64 section): New function __gnat_set_code_loc.
161
162 2005-07-04 Vincent Celier <celier@adacore.com>
163
164 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
165 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
166 mlib-tgt-mingw.adb, mlib-tgt-darwin.adb (Build_Dynamic_Library):
167 Remove all auto-initialization code, as this is now done through the
168 constructor mechanism.
169
170 * adaint.h, adaint.c (__gnat_binder_supports_auto_init,
171 __gnat_sals_init_using_constructors): New functions.
172
173 * bindgen.adb (Gen_Output_File_Ada): Generate pragmas
174 Linker_Constructor and Linker_Destructor when switch -a is used.
175
176 * bindusg.adb: Add line for new switch -a
177
178 * gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
179 (Gnatbind): When switch -a is used, check if it is allowed
180
181 * switch-b.adb (Scan_Binder_Switches): Process new switch -a
182
183 2005-07-04 Joel Brobecker <brobecker@adacore.com>
184
185 * a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
186 This prevents us from hitting a limitation during the debug info
187 generation when using stabs.
188 (Prims_Ptr): Likewise.
189
190 2005-07-04 Gary Dismukes <dismukes@adacore.com>
191 Ed Schonberg <schonberg@adacore.com>
192 Javier Miranda <miranda@adacore.com>
193
194 * checks.adb (Null_Exclusion_Static_Checks): In the case of
195 N_Object_Declaration, only perform the checks if the Object_Definition
196 is not an Access_Definition.
197
198 * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
199 where the parent of an the access definition is an N_Object_Declaration
200 when determining the Associated_Node_For_Itype and scope of an
201 anonymous access-to-subprogram type.
202
203 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
204 Corresponding_Spec on the body created for a null procedure. Add ???
205 comment. Remove New_Copy_Tree call on body argument to
206 Set_Body_To_Inline.
207
208 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with
209 discriminants, use the type of the actual as well, because the
210 discriminants may be read by the called subprogram.
211
212 * sem_ch3.adb (Access_Type_Declaration): If the designated type is an
213 access type we do not need to handle non-limited views.
214 (Build_Derived_Record_Type): Additional check to check that in case of
215 private types, interfaces are only allowed in private extensions.
216
217 2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
218
219 * decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
220 <Pragma_Linker_Destructor>: Likewise.
221
222 * einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
223 Pragma_Linker_Destructor.
224
225 * gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
226 ATTR_LINK_DESTRUCTOR.
227 (static_ctors, static_dtors): New variables.
228
229 * misc.c (gnat_expand_body): Output current function as constructor
230 and destructor if requested.
231
232 * par-prag.adb: Add processing for pragma Linker_Constructor and
233 Linker_Destructor.
234
235 * sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
236 extracted from Check_Interrupt_Or_Attach_Handler.
237 (Check_Interrupt_Or_Attach_Handler): Invoke it.
238 Implement pragma Linker_Constructor and Linker_Destructor with the
239 help of Find_Unique_Parameterless_Procedure.
240 Replace Name_Alias with Name_Target for pragma Linker_Alias.
241
242 * snames.h, snames.ads, snames.adb:
243 Add Name_Linker_Constructor and Name_Linker_Destructor.
244 Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
245 * snames.adb: Remove Name_Alias.
246
247 * trans.c: Include cgraph.h.
248 (build_global_cdtor): New function.
249 (Compilation_Unit_to_gnu): Build global constructor and destructor if
250 needed.
251 (tree_transform) <N_Identifier>: Substitute renaming of view-conversions
252 of objects too.
253 (addressable_p) <COMPONENT_REF>: Unconditionally test
254 DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.
255
256 * utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
257 variable if it is external.
258
259 (static_ctors, static_dtors): New global variables.
260 (process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
261 <ATTR_LINK_DESTRUCTOR>: Likewise.
262 (end_subprog_body): Chain function as constructor and destructor
263 if requested.
264
265 * exp_util.adb (Force_Evaluation): Unconditionally invoke
266 Remove_Side_Effects with Variable_Ref set to true.
267 (Remove_Side_Effects): Handle scalar types first. Use a renaming
268 for non-scalar types even if Variable_Ref is true and for class-wide
269 expressions.
270
271 2005-07-04 Ed Schonberg <schonberg@adacore.com>
272
273 * exp_attr.adb (Mod): Evaluate condition expression with checks off,
274 to prevent spurious warnings.
275
276 2005-07-04 Thomas Quinot <quinot@adacore.com>
277
278 * exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for
279 Itypes. Itypes are really unexpected there.
280 (Build_TypeCode_Function): Generalise special processing for Itypes to
281 handle the case of numeric implicit base types as well as enumerated
282 ones.
283
284 2005-07-04 Ed Schonberg <schonberg@adacore.com>
285
286 * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
287 controlled, indicate the expected type of the dereference that is
288 created for the call to Deep_Finalize, to prevent spurious errors when
289 the designated type is private and completed with a derivation from
290 another private type.
291
292 2005-07-04 Vincent Celier <celier@adacore.com>
293
294 * make.adb (Change_To_Object_Directory): When unable to change the
295 current dir to the object directory, output the full path of the
296 directory.
297
298 2005-07-04 Matthew Gingell <gingell@adacore.com>
299
300 * Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adb
301
302 * indepsw-linux.adb: Replace by...
303
304 * indepsw-gnu.adb: ...this new file
305
306 2005-07-04 Vincent Celier <celier@adacore.com>
307
308 * mlib-prj.adb (Auto_Initialize): New constant String
309 (SALs_Use_Constructors): New Boolean function
310 (Build_Library): Call gnatbind with Auto_Initialize switch when
311 SALs_Use_Constructors returns True.
312
313 * mlib-tgt.ads: Minor reformatting
314
315 * mlib-utl.ads: Minor reformatting
316
317 * opt.ads: (Use_Pragma_Linker_Constructor): New Boolean flag
318
319 2005-07-04 Ed Schonberg <schonberg@adacore.com>
320
321 * par-ch9.adb (P_Task, P_Protected): Indicate that single task and
322 single protected declarations can have an interface list.
323 (P_Entry_Declaration): Add handler for Error_Resync, which can be raised
324 with seriously malformed entry declarations, and lead to compilation
325 abandoned messages.
326
327 2005-07-04 Javier Miranda <miranda@adacore.com>
328
329 * par-load.adb: Load the context items in two rounds.
330
331 2005-07-04 Robert Dewar <dewar@adacore.com>
332
333 * scng.adb: Do not consider Mod used as an attribute to be a keyword
334
335 2005-07-04 Ed Schonberg <schonberg@adacore.com>
336 Javier Miranda <miranda@adacore.com>
337
338 * sem_ch10.adb (Build_Limited_Views): A type declared with a private
339 type extension needs a limited view.
340 Remove previous restriction on private types available through the
341 limited-view (only tagged private types were previously allowed).
342 (Install_Withed_Unit): In the code that implements the
343 legality rule given in AI-377, exclude a child unit with the name
344 Standard, because it is a homonym of the Standard environment package.
345
346 2005-07-04 Thomas Quinot <quinot@adacore.com>
347
348 * sem_ch4.adb (Transform_Object_Operation): For an actual that is an
349 overloaded function call, carry interpretations from the original tree
350 to the copy.
351
352 2005-07-04 Ed Schonberg <schonberg@adacore.com>
353
354 * sem_ch6.adb (Conforming_Types): If the types are anonymous access
355 types check whether some designated type is a limited view, and use
356 the non-limited view if available.
357
358 2005-07-04 Gary Dismukes <dismukes@adacore.com>
359
360 * sem_eval.adb (Subtypes_Statically_Match): Use the discriminant
361 constraint of full view of a private view T1 if present, when T2 is a
362 discriminated full view.
363
364 2005-07-04 Thomas Quinot <quinot@adacore.com>
365
366 * sem_res.adb (Resolve_Actuals): Do not resolve the expression of an
367 actual that is a view conversion of a bit packed array reference.
368
369 2005-07-04 Ed Schonberg <schonberg@adacore.com>
370
371 * sem_type.adb (Covers): Verify that Corresponding_Record_Type is
372 present before checking whether an interface type covers a synchronized
373 type.
374
375 2005-07-04 Ed Schonberg <schonberg@adacore.com>
376
377 * sem_util.adb (Is_Object_Reference): An indexed or selected component
378 whose prefix is an implicit dereference is an object reference. Removes
379 spurious errors when compiling with -gnatc.
380
381 2005-07-04 Robert Dewar <dewar@adacore.com>
382
383 PR ada/22039
384
385 * s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix
386
387 2005-07-04 Matthew Gingell <gingell@adacore.com>
388
389 * tracebak.c: Enable tracebacks on ia64 platforms
390
391 2005-07-04 Vincent Celier <celier@adacore.com>
392
393 * vms_conv.adb (Initialize): Allow multiple ALI files to be given to
394 the GNAT BIND command, as gnatbind accepts multiples ALI files with
395 the -L or -n switches.
396
397 2005-07-04 Vincent Celier <celier@adacore.com>
398
399 * makegpr.adb (Build_Global_Archive): Make sure the list of sources is
400 correctly computed and the main project data is not modified while
401 doing so.
402 (Add_C_Plus_Plus_Link_For_Gnatmake): Always link with the C++ compiler
403 (Choose_C_Plus_Plus_Link_Process): Do not generate shell script
404 c++linker as this does not work on some platforms.
405
406 2005-07-04 Matthew Heaney <heaney@adacore.com>
407
408 * a-convec.ads, a-coinve.ads: Declaration of subtype Extended_Index
409 was changed.
410 * a-coinve.adb: Perform constraint checks explicitly.
411
412 2005-07-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
413 Thomas Quinot <quinot@adacore.com>
414
415 * Make-lang.in: (ada/targtyps.o): Add missing TREE_H dependency.
416 new target gen-soccon.
417
418 2005-07-04 Robert Dewar <dewar@adacore.com>
419
420 * s-mastop-irix.adb, s-mastop-vms.adb: Minor reformatting
421
422 2005-07-04 Thomas Quinot <quinot@adacore.com>
423
424 * g-socket.ads (Check_Selector): Minor rewording of comment.
425
426 2005-07-04 Vincent Celier <celier@adacore.com>
427
428 * vms_data.ads: Add VMS qualifiers for new gnatpp switch --eol=
429
430 2005-07-04 Thomas Quinot <quinot@adacore.com>
431
432 * gen-soccon.c: Add constants SO_SNDTIMEO and SO_RCVTIMEO.
433
434 2005-07-04 Sergey Rybin <rybin@adacore.com>
435
436 * gnat_ugn.texi: Add description of --eol gnatpp option
437
438 2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
439 Thomas Quinot <quinot@adacore.com>
440
441 * gnat_rm.texi: Add a note that pragma Unreferenced is not appropriate
442 if the user wants all calls of a subprogram to be flagged,
443 independently of whether they are made from within the same unit or
444 another unit.
445 Mention restriction for pragma Linker_Alias on some platforms.
446 Document pragma Linker_Constructor and Linker_Destructor.
447 Rewrite documentation of Weak_External, Linker_Section and
448 Linker_Alias pragmas.
449
450 2005-07-04 Arnaud Charlet <charlet@adacore.com>
451
452 * s-stausa.ads, s-stausa.adb: New files.
453
454 2005-06-30 Kelley Cook
455
456 * all files: Update FSF address in copyright headers.
457 * gen-soccon.co (main): Output new FSF address in generated files.
458
459 2005-06-28 Paul Brook <paul@codesourcery.com>
460
461 * misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
462
463 2005-06-14 Olivier Hainque <hainque@adacore.com>
464 Eric Botcazou <ebotcazou@adacore.com>
465
466 * s-mastop-irix.adb (Pop_Frame): Revert shorcuts avoiding calls to
467 exc_unwind, now that we are generating proper .debug_frame output for
468 that target.
469
470 * tracebak.c: Remove the mips-irix section, as we are now using the
471 s-mastop based unwinder again.
472 Under SPARC/Solaris, take into account the stack bias to compute the
473 frame offset. The stack bias is 0 for the V8 ABI and 2047 for the V9
474 ABI.
475
476 2005-06-14 Doug Rupp <rupp@adacore.com>
477
478 * g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
479
480 * g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb: New files
481
482 2005-06-14 Pascal Obry <obry@adacore.com>
483
484 * a-strhas.ads, a-secain.adb, a-secain.ads, a-rbtgso.ads, a-cgaaso.adb,
485 a-cgaaso.ads, a-cgarso.adb, a-cgcaso.adb, a-cgarso.ads, a-cgcaso.ads,
486 a-contai.ads, a-coprnu.ads, a-coprnu.adb: Fix header style (spaces in
487 package name).
488
489 * a-intnam-lynxos.ads, a-intnam-unixware.ads, a-intnam-tru64.ads,
490 a-intnam-aix.ads, a-intnam-irix.ads, a-excpol-interix.adb,
491 a-intnam-hpux.ads, a-intnam-linux.ads, a-intnam-dummy.ads,
492 a-intnam-os2.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
493 a-intnam-solaris.ads, a-caldel-vms.adb, a-calend-vms.ads,
494 a-intnam-vms.ads, a-excpol-abort.adb, a-intnam-mingw.ads,
495 a-intnam-vxworks.ads, a-numaux-vxworks.ads, s-osinte-unixware.adb,
496 s-osinte-unixware.ads, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads,
497 s-osinte-hpux.ads, s-osinte-solaris-posix.ads, a-intnam-freebsd.ads,
498 s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb,
499 s-osinte-lynxos.ads, s-tpopsp-lynxos.adb, s-osinte-tru64.adb,
500 s-osinte-tru64.ads, s-tpopsp-posix-foreign.adb, s-vxwork-alpha.ads,
501 s-osinte-aix.adb, s-osinte-aix.ads, s-osinte-aix-fsu.ads,
502 s-osinte-irix.adb, s-osinte-irix.ads, s-interr-sigaction.adb,
503 s-osinte-irix-athread.ads, s-osinte-hpux-dce.adb,
504 s-osinte-hpux-dce.ads, s-osinte-posix.adb, s-osinte-linux.ads,
505 s-vxwork-m68k.ads, s-osinte-linux-fsu.ads, s-vxwork-mips.ads,
506 s-osinte-dummy.ads, s-interr-dummy.adb, s-osinte-os2.adb,
507 s-osinte-os2.ads, s-osprim-os2.adb, s-osinte-interix.ads,
508 s-osprim-unix.adb, s-vxwork-ppc.ads, s-osinte-solaris.adb,
509 s-osinte-solaris.ads, s-osprim-solaris.adb, s-tpopsp-solaris.adb,
510 s-vxwork-sparcv9.ads, s-osinte-solaris-fsu.ads, s-interr-vms.adb,
511 s-osinte-vms.adb, s-osinte-vms.ads, s-osprim-vms.adb,
512 s-osprim-vms.ads, s-tpopde-vms.adb, s-tpopde-vms.ads,
513 s-osprim-mingw.adb, s-vxwork-xscale.ads, s-interr-vxworks.adb,
514 s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
515 s-tfsetr-vxworks.adb, s-tpopsp-vxworks.adb, s-intman-posix.adb,
516 s-osinte-fsu.adb, s-osprim-posix.adb, s-tfsetr-default.adb,
517 s-tpopsp-posix.adb, s-traces-default.adb, s-trafor-default.adb,
518 s-trafor-default.ads, s-tratas-default.adb, a-numaux-x86.adb,
519 a-numaux-x86.ads, a-astaco.adb, a-astaco.ads, a-caldel.adb,
520 a-caldel.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads, a-colien.adb,
521 a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-cwila1.ads,
522 a-cwila9.ads, ada.ads, a-decima.adb, a-diocst.ads, a-direio.adb,
523 a-dynpri.adb, a-dynpri.ads, a-excpol.adb, a-flteio.ads, a-fwteio.ads,
524 a-inteio.ads, a-interr.adb, a-intnam.ads, a-intsig.adb, a-intsig.ads,
525 a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
526 a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads,
527 a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads, a-ngcoty.adb, a-ngelfu.adb,
528 a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
529 a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads,
530 a-nucoty.ads, a-nudira.adb, a-nuelfu.ads, a-nuflra.adb, a-numaux.ads,
531 a-numeri.ads, a-reatim.adb, a-retide.adb, a-retide.ads, a-sequio.adb,
532 a-sequio.ads, a-sfteio.ads, a-sfwtio.ads, a-siocst.ads, a-siteio.ads,
533 a-siwtio.ads, a-ssicst.ads, a-ssitio.ads, a-ssiwti.ads, a-stmaco.ads,
534 a-storio.adb, a-strbou.adb, a-strfix.adb, a-string.ads, a-strmap.adb,
535 a-strsea.adb, a-strsup.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
536 a-stunau.ads, a-stwibo.adb, a-stwifi.adb, a-stwifi.ads, a-stwima.adb,
537 a-stwise.adb, a-stwisu.adb, a-suteio.adb, a-suteio.ads, a-swuwti.adb,
538 a-swuwti.ads, a-teioed.adb, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb,
539 a-tideau.adb, a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
540 a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinio.adb, a-timoau.adb,
541 a-timoio.adb, a-timoio.ads, a-tiocst.ads, a-titest.adb, a-titest.ads,
542 a-witeio.adb, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
543 a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtenau.adb, a-wtenio.adb,
544 a-wtfiio.adb, a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
545 a-wtinio.ads, a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, calendar.ads,
546 dec.ads, dec-io.adb, dec-io.ads, directio.ads, errno.c, g-bubsor.adb,
547 g-bubsor.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
548 g-casuti.adb, g-casuti.ads, g-debuti.ads, g-heasor.adb, g-heasor.ads,
549 g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb,
550 g-htable.ads, g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
551 g-memdum.adb, g-memdum.ads, g-sestin.ads, g-signal.ads, g-signal.adb,
552 gnat.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-table.adb,
553 g-table.ads, g-thread.adb, g-thread.ads, ioexcept.ads, i-vxwoio.adb,
554 i-vxwoio.ads, math_lib.adb, s-assert.adb, s-assert.ads, s-asthan.ads,
555 s-bitops.adb, s-bitops.ads, s-boarop.ads, s-carsi8.adb, s-carsi8.ads,
556 s-carun8.adb, s-carun8.ads, s-casi16.adb, s-casi16.ads, s-casi32.adb,
557 s-casi32.ads, s-casi64.adb, s-casi64.ads, s-casuti.adb, s-casuti.ads,
558 s-caun16.adb, s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
559 s-caun64.ads, s-direio.adb, s-direio.ads, sequenio.ads, s-errrep.adb,
560 s-errrep.ads, s-exnint.adb, s-exnint.ads, s-exnllf.adb, s-exnllf.ads,
561 s-exnlli.adb, s-exnlli.ads, s-expint.adb, s-expint.ads, s-explli.adb,
562 s-explli.ads, s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
563 s-expuns.adb, s-expuns.ads, s-fore.adb, s-fore.ads, s-geveop.adb,
564 s-geveop.ads, s-htable.adb, s-htable.ads, s-imgbiu.adb, s-imgbiu.ads,
565 s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
566 s-imgdec.ads, s-imgenu.adb, s-imgenu.ads, s-imgint.adb, s-imgint.ads,
567 s-imgllb.adb, s-imgllb.ads, s-imglld.adb, s-imglld.ads, s-imglli.adb,
568 s-imglli.ads, s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
569 s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwiu.adb, s-imgwiu.ads
570 s-interr.ads, s-io.adb, s-mantis.adb, s-mantis.ads, s-osprim.ads,
571 s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb,
572 s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
573 s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb,
574 s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads,
575 s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb,
576 s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
577 s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb,
578 s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads,
579 s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb,
580 s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
581 s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb,
582 s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads,
583 s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb,
584 s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
585 s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb,
586 s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads,
587 s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb,
588 s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
589 s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb,
590 s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads,
591 s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb,
592 s-pack59.ads, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
593 s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-scaval.adb,
594 s-scaval.ads, s-sequio.adb, s-sequio.ads, s-stache.adb, s-stache.ads,
595 s-stratt.adb, s-stratt.ads, s-strcom.adb, s-strcom.ads, s-strops.adb,
596 s-strops.ads, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb,
597 s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
598 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, s-tasini.adb,
599 s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
600 s-tasren.ads, s-tasres.ads, s-tassta.adb, s-tassta.ads, s-tasuti.adb,
601 s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
602 s-tpoben.adb, s-tpoben.ads, s-tpobop.ads, s-tporft.adb, s-tposen.ads,
603 s-traces.adb, s-traces.ads, s-tratas.adb, s-tratas.ads, s-valint.ads,
604 s-unstyp.ads, s-veboop.adb, s-veboop.ads, s-vector.ads, s-vercon.adb,
605 s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchjis.adb, s-wchjis.ads,
606 s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
607 s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads,
608 s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-wwdcha.ads,
609 s-wwdenu.adb, s-wwdwch.ads, text_io.ads, s-stchop.ads, s-stchop.adb,
610 s-stchop-vxworks.adb, a-intnam-darwin.ads, s-osinte-darwin.adb,
611 s-osinte-darwin.ads, s-vxwork-x86.ads, a-numaux-darwin.ads,
612 a-numaux-darwin.adb, a-chzla1.ads, a-chzla9.ads, a-lfztio.ads,
613 a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads,
614 a-ssizti.ads, a-stzbou.adb, a-stzfix.adb, a-stzfix.ads, a-stzmap.adb,
615 a-stzsea.adb, a-stzsup.adb, a-swunau.adb, a-swunau.ads, a-szuzti.adb,
616 a-szuzti.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads,
617 a-ztcoio.adb, a-ztcoio.ads, a-ztcstr.ads, a-ztdeau.adb, a-ztdeio.adb,
618 a-ztenio.adb, a-ztexio.adb, a-ztfiio.adb, a-ztflio.adb, a-ztgeau.adb,
619 a-ztinau.adb, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb, a-ztmoio.adb,
620 a-zttest.adb, a-zzunio.ads, g-utf_32.adb: Fix header style.
621 "GNU Ada" to GNAT, use proper casing for RUN-TIME.
622
623 2005-06-14 Jose Ruiz <ruiz@adacore.com>
624 Arnaud Charlet <charlet@adacore.com>
625
626 * a-sytaco.ads, a-sytaco.adb (Suspension_Object): These objects are no
627 longer protected objects. They have been replaced by lower-level
628 suspension objects made up by a mutex and a condition variable (or
629 their equivalent given a particular OS) plus some internal data to
630 reflect the state of the suspension object.
631 (Initialize, Finalize): Add this initialization procedure for
632 Suspension_Object, which is a controlled type.
633 (Finalize): Add the finalization procedure for Suspension_Object,
634 which is a controlled type.
635
636 * a-sytaco-vxworks.ads, a-sytaco-vxworks.adb: Remove this version of
637 Ada.Synchronous_Task_Control because there is no longer a need for a
638 VxWorks specific version of this package. Target dependencies
639 has been moved to System.Task_Primitives.Operations.
640
641 * s-osinte-mingw.ads (pCRITICAL_SECTION): Remove this type which is no
642 longer needed.
643 (InitializeCriticalSection, EnterCriticalSection,
644 LeaveCriticalSection, DeleteCriticalSection): Replace the type
645 pCriticalSection by an anonymous access type so that we avoid problems
646 of accessibility to local objects.
647
648 * s-taprop.ads, s-taprop-posix.adb, s-taprop-vxworks.adb,
649 s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
650 s-taprop-os2.adb, s-taprop-dummy.adb, s-taprop-hpux-dce.adb,
651 s-taprop-linux.adb, s-taprop-irix.adb, s-taprop-irix-athread.adb,
652 s-taprop-tru64.adb, s-taprop-lynxos.adb (Elaboration Code): No longer
653 set the environment task mask here.
654 (Current_State): Add this function that returns the state of the
655 suspension object.
656 (Set_False): Add this procedure that sets the state of the suspension
657 object to False.
658 (Set_True): Add this procedure that sets the state of the suspension
659 object to True, releasing the task that was suspended, if any.
660 (Suspend_Until_True): Add this procedure that blocks the calling task
661 until the state of the object is True. Program_Error is raised if
662 another task is already waiting on that suspension object.
663 (Initialize): Add this procedure for initializing the suspension
664 object. It initializes the mutex and the condition variable which are
665 used for synchronization and queuing, and it sets the internal state
666 to False.
667 (Finalize): Add this procedure for finalizing the suspension object,
668 destroying the mutex and the condition variable.
669
670 * s-taspri-posix.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
671 s-taspri-vms.ads, s-taspri-solaris.ads, s-taspri-os2.ads,
672 s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-linux.ads,
673 s-taspri-tru64.ads, s-taspri-lynxos.ads (Suspension_Object): New object
674 which provides a low-level abstraction (using operating system
675 primitives) for Ada.Synchronous_Task_Control.
676 This object is made up by a mutex (for ensuring mutual exclusion), a
677 condition variable (for queuing threads until the condition is
678 signaled), a Boolean (State) indicating whether the object is open,
679 and a Boolean (Waiting) reflecting whether there is a task already
680 suspended on this object.
681
682 * s-intman.ads, s-intman-irix.adb, s-intman-irix-athread.adb,
683 s-intman-dummy.adb, s-intman-solaris.adb, s-intman-vms.adb,
684 s-intman-vms.ads, s-intman-mingw.adb,
685 (Initialize_Interrupts): Removed, no longer used.
686
687 * s-inmaop-posix.adb, s-inmaop-vms.adb, s-inmaop-dummy.adb,
688 (Setup_Interrupt_Mask): New procedure.
689
690 * s-intman-vxworks.ads, s-intman-vxworks.adb: Update comments.
691
692 * s-inmaop.ads (Setup_Interrupt_Mask): New procedure
693
694 * s-interr.adb: Add explicit call to Setup_Interrupt_Mask now that
695 this is no longer done in the body of s-taprop
696 (Server_Task): Explicitely test for Pending_Action in case
697 System.Parameters.No_Abort is True.
698
699 * s-taasde.adb: Add explicit call to Setup_Interrupt_Mask now that this
700 is no longer done in the body of s-taprop
701
702 2005-06-14 Robert Dewar <dewar@adacore.com>
703
704 * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
705 system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
706 system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
707 system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
708 system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
709 system-linux-x86.ads, system-vxworks-mips.ads, system-vxworks-mips.ads,
710 system-os2.ads, system-interix.ads, system-solaris-sparc.ads,
711 system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
712 system-vms-zcx.ads, system-vxworks-ppc.ads, system.ads,
713 system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads,
714 system-linux-hppa.ads, system-vms_64.ads,
715 system-vxworks-alpha.ads: Minor comment update for
716 AI-362 (unit is Pure).
717
718 * a-chahan.ads, a-chahan.adb: Move Wide_Wide functions to Conversions
719 Add pragma Pure_05 for AI-362
720 Make remaining conversion functions obsolescent in Ada 95
721
722 * impunit.adb: Change a-swunha to a-swuwha and a-szunha to a-szuzha
723 Make Ada.Wide_Characters[.Unicode] available in Ada 95 mode
724 Add entries for a-wichun and a-zchuni
725 Add a-widcha a-zchara for AI-395
726 Add a-chacon (Ada.Characters.Conversions) to list of Ada 2005 routines
727
728 * Makefile.rtl: Change a-swunha to a-swuwha and a-szunha to a-szuzha
729 Add entries for a-wichun.o and a-zchuni.o
730 Entries for a-widcha.o and a-zchara.o
731 Add entry for a-chacon.o
732
733 * a-ztenau.adb: Add with of Ada.Characters.Conversions
734
735 * a-chacon.ads, a-chacon.adb: New files.
736
737 * a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
738 categorization violations.
739
740 * a-strmap.ads: Add pragma Pure_05 for AI-362
741 * a-strmap.ads: Add note on implicit categorization for AI-362
742
743 * a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
744
745 * par-prag.adb: Dummy entry for pragma Persistent_BSS
746 Set Ada_Version_Explicit, for implementation of AI-362
747 Add processing for pragma Pure_05 and Preelaborate_05
748 Add entry for Assertion_Policy pragma
749
750 * sem.adb: Make sure predefined units are compiled with GNAT_Mode true
751 when needed for proper processing of categorization stuff
752
753 * sem_cat.adb:
754 For several cases, make errors in preealborate units warnings,
755 instead of errors, if GNAT_Mode is set. For AI-362.
756
757 * sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
758 preelaborate unit is now warning if in GNAT mode
759
760 * s-stoele.ads: Document AI-362 for pragma preelaborate
761
762 2005-06-14 Doug Rupp <rupp@adacore.com>
763
764 * s-parame-vms.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads,
765 s-parame-ae653.ads, s-parame.ads, s-parame-vxworks.ads:
766 Default_Exception_Msg_Max_Length: new parameter.
767
768 * a-except.ads: (Exception_Msg_Max_Length): Set to
769 System.Parameters.Default_Exception_Msg_Max_Length
770 Add pragma Preelaborate_05 for AI-362
771 Add warnings off to allow categorization violations for AI-362
772
773 2005-06-14 Vincent Celier <celier@adacore.com>
774
775 * gnatsym.adb: Adapt to modification of package Symbols: procedure
776 Process is now in package Processing.
777
778 * symbols.ads, symbols.adb:
779 (Processing): New package, containing procedure Process
780
781 * symbols-vms-alpha.adb:
782 Replaced by symbols-vms.adb and symbols-processing-vms-alpha.adb
783
784 * symbols-vms.adb, symbols-processing-vms-alpha.adb,
785 symbols-processing-vms-ia64.adb: New files.
786
787 2005-06-14 Pascal Obry <obry@adacore.com>
788
789 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Replace the previous
790 implementation. This new version generates the proper DllMain routine
791 to initialize the SAL. The DllMain is generated in Ada and compiled
792 before being added as option to the library build command.
793
794 2005-06-14 Doug Rupp <rupp@adacore.com>
795 Pascal Obry <obry@adacore.com>
796
797 * adaint.c (__gnat_to_canonical_file_spec): Check for error returns in
798 call to decc$translate_vms.
799 (__gnat_locate_regular_file): Check if the path_val contains quotes. We
800 need to remove those quotes before catenating the filename.
801 (__gnat_locate_exec_on_path): improvements to the Win32 section:
802 * avoid allocating the memory twice for better efficiency;
803 * allocate 32K buffer for environment expansion as suggested by MSDN;
804 * prepend ".;" to the path so that current directory is searched too.
805
806 2005-06-14 Robert Dewar <dewar@adacore.com>
807
808 * a-except.adb (Exception_Identity): return Null_Id for null occurrence
809 instead of raising CE (AI-241)
810 Add warnings off to allow categorization violations for AI-362
811
812 2005-06-14 Robert Dewar <dewar@adacore.com>
813
814 * ali-util.adb, gnatbind.adb: Remove references to
815 Force_RM_Elaboration_Order.
816
817 * switch-b.adb: Remove recognition of -f switch
818
819 2005-06-14 Pascal Obry <obry@adacore.com>
820
821 * a-stzunb.adb, a-stwiun.adb, a-strunb.adb (Realloc_For_Chunk): New
822 implementation which is slightly more efficient.
823
824 2005-06-14 Gary Dismukes <dismukes@adacore.com>
825 Javier Miranda <miranda@adacore.com>
826 Ed Schonberg <schonberg@adacore.com>
827 Hristian Kirtchev <kirtchev@adacore.com>
828
829 * exp_ch4.adb (Expand_Allocator_Expression): When an initialized
830 allocator's designated type is a class-wide type, and compiling for
831 Ada 2005, emit a run-time check that the accessibility level of the
832 type given in the allocator's expression is not deeper than the level
833 of the allocator's access type.
834
835 (Tagged_Membership): Modified to gives support to abstract interface
836 types.
837
838 * a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
839 Access_Level.
840 (Descendant_Tag): New predefined function
841 (Is_Descendant_At_Same_Level): New predefined function
842 (Get_Access_Level): New private function
843 (Set_Access_Level): New private procedure
844 (IW_Membership): New function. Given the tag of an object and the tag
845 associated with an interface, evaluate if the object implements the
846 interface.
847 (Register_Interface_Tag): New procedure used to initialize the table of
848 interfaces used by the IW_Membership function.
849 (Set_Offset_To_Top): Initialize the Offset_To_Top field in the prologue
850 of the dispatch table.
851 (Inherit_TSD): Modified to copy the table of ancestor tags plus the
852 table of interfaces of the parent.
853 (Expanded_Name): Raise Tag_Error if the passed tag equals No_Tag.
854 (External_Tag): Raise Tag_Error if the passed tag equals No_Tag.
855 (Parent_Tag): Return No_Tag in the case of a root-level tagged type,
856 and raise Tag_Error if the passed tag equalis No_Tag, to conform with
857 Ada 2005 semantics for the new predefined function.
858
859 * exp_attr.adb (Expand_N_Attribute, case Attribute_Input): Generate
860 call to Descendant_Tag rather than Internal_Tag.
861 (Expand_N_Attribute, case Attribute_Output): Emit a check to ensure that
862 the accessibility level of the attribute's Item parameter is not deeper
863 than the level of the attribute's prefix type. Tag_Error is raised if
864 the check fails. The check is only emitted for Ada_05.
865 (Find_Stream_Subprogram): If a TSS exists on the type itself for the
866 requested stream attribute, use it.
867 (Expand_N_Attribute_Reference): If the designated type is an interface
868 then rewrite the referenced object as a conversion to force the
869 displacement of the pointer to the secondary dispatch table.
870 (Expand_N_Attribute_Reference, case 'Constrained): Return false if this
871 is a dereference of an object with a constrained partial view.
872
873 * exp_ch5.adb (Expand_N_Return_Statement): When a function's result
874 type is a class-wide type, emit a run-time check that the accessibility
875 level of the returned object is not deeper than the level of the
876 function's master (only when compiling for Ada 2005).
877
878 * exp_disp.ads, exp_disp.adb (Ada_Actions, Action_Is_Proc,
879 Action_Nb_Arg): Add entries for new Get_Access_Level and
880 Set_Access_Level routines in these tables.
881 (Make_DT): Generate a call to set the accessibility level of the
882 tagged type in its TSD.
883 (Make_DT): Code cleanup. The functionality of generating all the
884 secondary dispatch tables has been moved to freeze_record_type.
885 (Make_Abstract_Interface_DT): Minor code cleanup.
886 (Set_All_DT_Position): Code cleanup. As part of the code cleanup
887 this subprogram implements a new algorithm that provides the
888 same functionality and it is more clear in case of primitives
889 associated with abstract interfaces.
890 (Set_All_Interfaces_DTC_Entity): Removed. As part of the code
891 clean up, the functionality of this subprogram is now provided
892 by Set_All_DT_Position.
893 (Write_DT): New subprogram: a debugging procedure designed to be called
894 within gdb to display the dispatch tables associated with a tagged
895 type.
896 (Collect_All_Interfaces): New subprogram that collects the whole list
897 of interfaces that are directly or indirectly implemented by a tagged
898 type.
899 (Default_Prim_Op_Position): New subprogram that returns the fixed
900 position in the dispatch table of the default primitive operations.
901 (Expand_Interface_Actuals): New subprogram to generate code that
902 displaces all the actuals corresponding to class-wide interfaces to
903 reference the interface tag of the actual object.
904 (Expand_Interface_Conversion): New subprogram. Reference the base of
905 the object to give access to the interface tag associated with the
906 secondary dispatch table.
907 (Expand_Interface_Thunk): New subprogram that generates the code of the
908 thunk. This is required for compatibility with the C+ ABI.
909 (Make_Abstract_Interface_DT): New subprogram that generate the
910 declarations for the secondary dispatch tables associated with an
911 abstract interface.
912 (Set_All_Interfaces_DTC_Entity): New subprogram that sets the DTC_Entity
913 attribute for each primitive operation covering interface subprograms
914 (Expand_Dispatching_Call, Fill_DT_Entry, Make_DT, Set_All_DT_Position):
915 These subprograms were upgraded to give support to abstract interfaces
916
917 * rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
918 RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
919 RE_Set_Access_Level.
920 (RE_Unit_Table): Add entries for new Ada.Tags operations.
921 Add support to call the followig new run-time subprograms:
922 IW_Membership, Register_Interface_Tag, and Set_Offset_To_Top
923
924 * sem_ch3.adb (Constant_Redeclaration): Allow a deferred constant to
925 match its full declaration when both have an access definition with
926 statically matching designated subtypes.
927 (Analyze_Component_Declaration): Delete commented out code that was
928 incorrectly setting the scope of an anonymous access component's type.
929 (Process_Discriminants): Set Is_Local_Anonymous_Access for the type of
930 an access discriminant when the containing type is nonlimited.
931 (Make_Incomplete_Type_Declaration): Create an incomplete type
932 declaration for a record type that includes self-referential access
933 components.
934 (Check_Anonymous_Access_Types): Before full analysis of a record type
935 declaration, create anonymous access types for each self-referential
936 access component.
937 (Analyze_Component_Declaration, Array_Type_Declaration): Indicate that
938 an access component in this context is a Local_Anonymous_Access, for
939 proper accessibility checks.
940 (Access_Definition): Set properly the scope of the anonymous access type
941 created for a stand-alone access object.
942 (Find_Type_Of_Object): An object declaration may be given with an access
943 definition.
944 (Complete_Subprograms_Derivation): New subprogram used to complete
945 type derivation of private tagged types implementing interfaces.
946 In this case some interface primitives may have been overriden
947 with the partial-view and, instead of re-calculating them, they
948 are included in the list of primitive operations of the full-view.
949 (Build_Derived_Record_Type): Modified to give support to private
950 types implemening interfaces.
951 (Access_Definition): Reject ALL on anonymous access types.
952 (Build_Derived_Record_Type): In the case of Ada 2005, allow a tagged
953 type derivation to occur at a deeper accessibility level than the
954 parent type.
955 For the case of derivation within a generic body however, disallow the
956 derivation if the derived type has an ancestor that is a formal type
957 declared in the formal part of an enclosing generic.
958 (Analyze_Object_Declaration): For protected objects, remove the check
959 that they cannot contain interrupt handlers if not declared at library
960 level.
961 (Add_Interface_Tag_Components): New subprogram to add the tag components
962 corresponding to all the abstract interface types implemented by a
963 record type or a derived record type.
964 (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
965 Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
966 Process_Full_View, Record_Type_Declaration): Modified to give
967 support to abstract interface types
968 (Collect_Interfaces): New subprogram that collects the list of
969 interfaces that are not already implemented by the ancestors
970 (Process_Full_View): Set flag Has_Partial_Constrained_View appropriately
971 when partial view has no discriminants and full view has defaults.
972 (Constrain_Access): Reject a constraint on a general access type
973 if the discriminants of the designated type have defaults.
974 (Access_Subprogram_Declaration): Associate the Itype node with the inner
975 full-type declaration or subprogram spec. This is required to handle
976 nested anonymous declarations.
977 (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
978 Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
979 Process_Full_View, Record_Type_Declaration): Modified to give
980 support to abstract interface types
981 (Derive_Subprograms): Addition of a new formal to indicate if
982 we are in the case of an abstact-interface derivation
983 (Find_Type_Of_Subtype_Indic): Moved from the body of the package
984 to the specification because it is requied to analyze all the
985 identifiers found in a list of interfaces
986
987 * debug.adb: Complete documentation of flag "-gnatdZ"
988
989 * exp_ch3.adb: Implement config version of persistent_bss pragma
990 (Check_Stream_Attributes): Use Stream_Attribute_Available instead of
991 testing for TSS presence to properly enforce visibility rules.
992 (Freeze_Record_Type): Code cleanup. Modified to call the subprogram
993 Make_Abstract_Interfaces_DT to generate the secondary tables
994 associated with abstract interfaces.
995 (Build_Init_Procedure): Modified to initialize all the tags
996 corresponding.
997 (Component_Needs_Simple_Initialization): Similar to other tags,
998 interface tags do not need initialization.
999 (Freeze_Record_Type): Modified to give support to abstract interface
1000 types.
1001 (Expand_N_Object_Declaration): Do not generate an initialization for
1002 a scalar temporary marked as internal.
1003
1004 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Handle properly an
1005 in-out parameter that is a component in an initialization procedure,
1006 whose constraint might depend on discriminants, and that may be
1007 misaligned because of packing or representation clauses.
1008 (Is_Legal_Copy): New predicate to determine whether a possibly
1009 misaligned in-out actual can actually be passed by copy/return. This
1010 is an error in case the type is by_reference, and a warning if this is
1011 the consequence of a DEC import pragma on the subprogram.
1012 (Expand_Call, Freeze_Subprogram): Modified to give support to abstract
1013 interface types
1014 (Expand_Inlined_Call): Mark temporary generated for the return value as
1015 internal, so that no useless scalar normalization is generated for it.
1016 (Expand_N_Subprogram_Declaration): Save unanalyzed body so calls to
1017 null procedure can always be inlined.
1018 (Expand_N_Subprogram_Declaration): If this is the declaration of a null
1019 procedure, generate an explicit empty body for it.
1020
1021 * exp_util.ads, exp_util.adb (Find_Interface_ADT): New subprogram.
1022 Given a type implementing an interface, returns the corresponding
1023 access_disp_table value.
1024 (Find_Interface_Tag): New subprogram. Given a type implementing an
1025 interface, returns the record component containing the tag of the
1026 interface.
1027 (Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
1028 previous ones that return the corresponding tag and access_disp_table
1029 entities.
1030 (Is_Predefined_Dispatching_Operation): Determines if a subprogram
1031 is a predefined primitive operation.
1032 (Expand_Subtype_From_Expr): If the expression is a selected component
1033 within an initialization procedure, compute its actual subtype, because
1034 the component may depend on the discriminants of the enclosing record.
1035
1036 * i-cpp.ads, i-cpp.adb:
1037 This package has been left available for compatibility with previous
1038 versions of the frontend. As part of the new layout this is now a
1039 dummy package that uses declarations available at a-tags.ads
1040
1041 * par-ch3.adb (P_Identifier_Declarations): Give an error for use of
1042 "constant access" and "aliased [constant] access" when not compiling
1043 with -gnat05.
1044 Suppress Ada 2005 keyword warning if -gnatwY used
1045 (P_Identifier_Declarations): Add support for object declarations with
1046 access definitions.
1047 (Private_Extension_Declaration): Complete the documentation
1048 (P_Derived_Type_Def_Or_Private_Ext_Decl): Fill the inteface_list
1049 attribute in case of private extension declaration
1050 (P_Type_Declaration): Mark as "abstract" the type declarations
1051 corresponding with protected, synchronized and task interfaces
1052 (P_Declarative_Items): "not" and "overriding" are overriding indicators
1053 for a subprogram or instance declaration.
1054
1055 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Verify that an
1056 instantiation that is a dispatching operation has controlling access
1057 parameters that are null excluding.
1058 Save and restore Ada_Version_Explicit, for implementation of AI-362
1059 (Validate_Derived_Type_Instance): Add check for abstract interface
1060 types.
1061 (Analyze_Formal_Package): Establish Instantiation source for the copy of
1062 the generic that is created to represent the formal package.
1063 (Analyze_Package_Instantiation): Instantiate body immediately if the
1064 package is a predefined unit that contains inlined subprograms, and
1065 we are compiling for a Configurable_Run_Time.
1066 (Instantiate_Formal_Subprogram): Indicate that null default subprogram
1067 If the program has a null default, generate an empty body for it.
1068
1069 * sem_ch6.adb, sem_ch9.adb (Analyze_Subprograms_Declaration): Update
1070 error message condition, null procedures are correctly detected now.
1071 (New_Overloaded_Entity): Bypass trivial overriding indicator check
1072 for subprograms in the context of protected types. Instead, the
1073 indicator is examined in Sem_Ch9 while analysing the subprogram
1074 declaration.
1075 (Check_Overriding_Indicator): Check consistency of overriding indicator
1076 on subprogram stubs as well.
1077 (Analyze_Subprogram_Declaration): Diagnose null procedures declared at
1078 the library level.
1079 (Analize_Subprogram_Specification): When analyzing a subprogram in which
1080 the type of the first formal is a concurrent type, replace this type
1081 by the corresponding record type.
1082 (Analyze_Subprogram_Body): Undo the previous work.
1083 (Analyze_Procedure_Call): If the call has the form Object.Op, the
1084 analysis of the prefix ends up analyzing the call itself, after which
1085 we are done.
1086 (Has_Interface_Formals): New subprogram subsidiary to analyze
1087 subprogram_specification that returns true if some non
1088 class-wide interface subprogram is found
1089 (New_Overloaded_Entity): Modified to give support to abstract
1090 interface types
1091 (Conforming_Types): In Ada 2005 mode, conformance checking of anonymous
1092 access to subprograms must be recursive.
1093 (Is_Unchecked_Conversion): Improve the test that recognizes
1094 instantiations of Unchecked_Conversion, and allows them in bodies that
1095 are to be inlined by the front-end. When the body comes from an
1096 instantiation, a reference to Unchecked_Conversion will be an
1097 Expanded_Name, even though the body has not been analyzed yet.
1098 Replace Is_Overriding and Not_Overriding in subprogram_indication with
1099 Must_Override and Must_Not_Override, to better express intent of AI.
1100 (Analyze_Subprogram_Body): If an overriding indicator is given, check
1101 that it is consistent with the overrinding status of the subprogram
1102 at this point.
1103 (Analyze_Subprogram_Declaration): Indicate that a null procedure is
1104 always inlined.
1105 If the subprogram is a null procedure, indicate that it does not need
1106 a completion.
1107
1108 * sem_disp.adb (Check_Controlling_Type): Give support to entities
1109 available through limited-with clauses.
1110 (Check_Dispatching_Operation): A stub acts like a body, and therefore is
1111 allowed as the last primitive of a tagged type if it has no previous
1112 spec.
1113 (Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
1114 to give support to abstract interface types
1115
1116 * sem_res.adb (Valid_Conversion): Perform an accessibility level check
1117 in the case where the target type is an anonymous access type of an
1118 object or component (that is, when Is_Local_Anonymous_Access is true).
1119 Prevent the special checks for conversions of access discriminants in
1120 the case where the discriminant belongs to a nonlimited type, since
1121 such discriminants have their accessibility level defined in the same
1122 way as a normal component of an anonymous access type.
1123 (Resolve_Allocator): When an allocator's designated type is a class-wide
1124 type, check that the accessibility level of type given in the
1125 allocator's expression or subtype indication is not statically deeper
1126 than the level of the allocator's access type.
1127 (Check_Discriminant_Use): Diagnose discriminant given by an expanded
1128 name in a discriminant constraint of a record component.
1129 (Resolve_Explicit_Dereference): Do not check whether the type is
1130 incomplete when the dereference is a use of an access discriminant in
1131 an initialization procedure.
1132 (Resolve_Type_Conversion): Handle conversions to abstract interface
1133 types.
1134 (Valid_Tagged_Conversion): The conversion of a tagged type to an
1135 abstract interface type is always valid.
1136 (Valid_Conversion): Modified to give support to abstract interface types
1137 (Resolve_Actuals): Enable full error reporting on view conversions
1138 between unrelated by_reference array types.
1139 The rule for view conversions of arrays with aliased components is
1140 weakened in Ada 2005.
1141 Call to obsolescent subprogram is now considered to be a violation of
1142 pragma Restrictions (No_Obsolescent_Features).
1143 (Check_Direct_Boolean_Operator): If the boolean operation has been
1144 constant-folded, there is nothing to check.
1145 (Resolve_Comparison_Op, Resolve_Equality_Op, Resolve_Boolean_Op): Defer
1146 check on possible violation of restriction No_Direct_Boolean_Operators
1147 until after expansion of operands, to prevent spurious errors when
1148 operation is constant-folded.
1149
1150 * sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
1151 Has_Compatible_Type): Modified to give support to abstract interface
1152 types.
1153 (Interface_Present_In_Ancestor): New function to theck if some ancestor
1154 of a given type implements a given interface
1155
1156 * sem_ch4.adb (Analyze_Call): Handle properly an indirect call whose
1157 prefix is a parameterless function that returns an access_to_procedure.
1158 (Transform_Object_Operation): Handle properly function calls of the
1159 form Obj.Op (X), which prior to analysis appear as indexed components.
1160 (Analyze_One_Call): Complete the error notification to help new Ada
1161 2005 users.
1162 (Analyze_Allocator): For an allocator without an initial value, where
1163 the designated type has a constrained partial view, a discriminant
1164 constraint is illegal.
1165
1166 2005-06-14 Robert Dewar <dewar@adacore.com>
1167
1168 * a-textio.adb (Set_Col): Fix two errors noticed recently, having to
1169 do with treatment of Set_Col when positioned at end of line character.
1170
1171 2005-06-14 Robert Dewar <dewar@adacore.com>
1172
1173 * atree.adb: (Elist*): Protect against uninitialized field
1174
1175 2005-06-14 Ed Schonberg <schonberg@adacore.com>
1176
1177 * checks.adb (Install_Null_Excluding_Check): Do not generate checks
1178 for an attribute reference that returns an access type.
1179 (Apply_Discriminant_Check): No need for check if (designated) type has
1180 constrained partial view.
1181
1182 (Apply_Float_Conversion_Check): Generate a short-circuit expression for
1183 both bound checks, rather than a conjunction.
1184 (Insert_Valid_Check): If the expression is an actual that is an indexed
1185 component of a bit-packed array, force expansion of the packed element
1186 reference, because it is specifically inhibited elsewhere.
1187
1188 2005-06-14 Vincent Celier <celier@adacore.com>
1189
1190 * clean.adb (Clean_Project): Correctly delete executable specified as
1191 absolute path names.
1192
1193 * make.adb (Gnatmake): Allow relative executable path names with
1194 directory information even when project files are used.
1195 (Change_To_Object_Directory): Fail gracefully when unable to change
1196 current working directory to object directory of a project.
1197 (Gnatmake): Remove exception handler that could no longer be exercized
1198 (Compile_Sources.Compile): Use deep copies of arguments, as some of them
1199 may be deallocated by Normalize_Arguments.
1200 (Collect_Arguments): Eliminate empty arguments
1201
1202 * gnatcmd.adb (All_Projects): New Boolean flag, initialized to False,
1203 and set to True when -U is used for GNAT PRETTY or GNAT METRIC.
1204 (Check_Project): Return False when Project is No_Project. Return True
1205 when All_Projects is True.
1206 (GNATCmd): Recognize switch -U for GNAT PRETTY and GNAT METRIC and set
1207 All_Projects to True.
1208 Minor reformatting
1209
1210 2005-06-14 Ed Schonberg <schonberg@adacore.com>
1211 Javier Miranda <miranda@adacore.com>
1212 Thomas Quinot <quinot@adacore.com>
1213 Robert Dewar <dewar@adacore.com>
1214 Hristian Kirtchev <kirtchev@adacore.com>
1215 Gary Dismukes <dismukes@adacore.com>
1216
1217 * einfo.ads, einfo.adb (Is_Local_Anonymous_Access): New flag on
1218 anonymous access types, to indicate that the accessibility level of
1219 the type is determined by that of the enclosing declaration.
1220 (Has_Persistent_BSS): New flag
1221 (Set_Is_Primitive_Wrapper): Upgrade the barrier to allow the usage
1222 of this attribute with functions.
1223 (Is_Primitive_Wrapper): Remove the barrier.
1224 (Has_Specified_Stream_Input, Has_Specified_Stream_Output,
1225 Has_Specified_Stream_Read, Has_Specified_Stream_Write):
1226 New subprograms.
1227 (Set_Has_Specified_Stream_Input, Set_Has_Specified_Stream_Output,
1228 Set_Has_Specified_Stream_Read, Set_Has_Specified_Stream_Write):
1229 New subprograms.
1230 (Is_Pure_Unit_Access_Type): New flag
1231 (Abstract_Interfaces): Complete the assertion to cover all usages.
1232 (Set_Is_Interface): Complete the assertion to cover all usages.
1233 (Is_Primitive_Wrapper): New attribute.
1234 (Is_Obsolescent): Now applies to all entities (though it is only set
1235 for subprograms currently)
1236 New flag: Has_Constrained_Partial_View, to implemente Ada 2005 AI-363,
1237 which solves various problems concerning access subtypes.
1238 (Has_Persistent_BSS): New flag
1239 (Is_Primitive_Wrapper, Set_Primitive_Wrapper): Code cleanup.
1240 Remove these subprograms because this attribute is currently
1241 not used.
1242 New entity flags:
1243 Has_Specified_Stream_Input (Flag190)
1244 Has_Specified_Stream_Output (Flag191)
1245 Has_Specified_Stream_Read (Flag192)
1246 Has_Specified_Stream_Write (Flag193)
1247 Present in all type and subtype entities. Set for a given view if the
1248 corresponding stream-oriented attribute has been defined by an
1249 attribute definition clause. When such a clause occurs, a TSS is set
1250 on the underlying full view; the flags are used to track visibility of
1251 the attribute definition clause for partial or incomplete views.
1252 (Is_Pure_Unit_Access_Type): New flag
1253 Clarify use of Is_Internal.
1254 (Is_Primitive_Wrapper): New attribute present in primitive subprograms
1255 internally generated to wrap the invocation of tasks and protected
1256 types that implement interfaces.
1257 (Implementation_Base_Type): Documentation correction
1258 (Is_Obsolescent): Now applies to all entities (though it is only set
1259 for subprograms currently)
1260 New flag: Has_Constrained_Partial_View, to implement Ada 2005 AI-363,
1261 which solves various problems concerning access subtypes.
1262
1263 * exp_ch9.adb (Type_Conformant_Parameters): Introduce mode conformance
1264 for examined parameters. Identify unequal parameter list lengths as
1265 non-conformant parameters.
1266 (Overriding_Possible): Do not check for "All" qualifier in declaration
1267 of controlling access parameter, following prescription of AI-404.
1268 (Build_Entry_Wrapper_Spec, Build_Entry_Wrapper_Body): New subprograms
1269 that build the procedure body that wraps an entry invocation
1270 (Build_Corresponding_Record, Build_Protected_Sub_Specification,
1271 Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
1272 Expand_N_Task_Body, Expand_N_Task_Type_Declaration): Modified to
1273 give support to abstract interface types
1274
1275 * freeze.adb (Freeze_Entity): Issue error message if
1276 Is_Pure_Unit_Access_Type set, unless we are in Ada 2005 mode and the
1277 type has no storage pool (Ada 2005) AI-366.
1278 Also modified to give support to abstract interface types
1279 (Freeze_Subprogram): Issue an error for a dispatching subprogram with an
1280 Inline_Always pragma.
1281
1282 * par-ch9.adb (P_Task_Items): Reserved words "not" or "overriding" may
1283 now begin an entry declaration.
1284 (P_Entry_Or_Subprogram_With_Indicator): New procedure in
1285 P_Protected_Operation_Declaration_Opt. Parse an entry declaration or
1286 a subprogram declaration preceded by an overriding indicator.
1287 (P_Protected_Operation_Declaration_Opt): Add case for parsing entry
1288 declarations or subprogram declarations preceded by reserved words
1289 "not" or "overriding".
1290 (P_Entry_Declaration): Update comment. Parse and check overriding
1291 indicator, set semantic flags of entry declarations.
1292 (P_Task): New error message in case of private applied
1293 to a task type declaration.
1294 (P_Protected): New error message in case of private applied
1295 to a task type declaration.
1296
1297 * sem_ch7.adb (Preserve_Full_Attributes): Modified to handle the case
1298 in which the full view of a type implementing an interface is a
1299 concurrent type.
1300 (Has_Overriding_Pragma): Remove obsolete implementation of AI-218.
1301 Declare_Inherited_Private_Subprograms): If an explicit operation
1302 overrides an operation that is inherited in the private part, mark the
1303 explicit one as overriding, to enable overriding indicator checks.
1304 (Preserve_Full_Attributes): Propagate Is_Unchecked_Union attribute from
1305 full view to partial view, to simplify handling in back-end.
1306
1307 * sprint.adb: Print interface lists where needed: derived types,
1308 protected types, task types.
1309 output "is null" for null procedures. Part of implementation of
1310
1311 * sem_cat.adb (Validate_Access_Type_Declaration): Implement AI-366
1312 relaxation of rules for access types in pure, shared passive partitions.
1313
1314 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Reorganize to
1315 first read discriminants into temporary objects, performing checks on
1316 the read values, then possibly performing discriminant checks on the
1317 actual (if it is constrained), and only finally reading the components
1318 into a constrained temporary object.
1319 (Build_Elementary_Input_Call): Adjust the specific circuitry for the
1320 case of reading discriminants of a mutable record type to recognize
1321 the new form of the code generated by
1322 Build_Mutable_Record_Read_Procedure.
1323
1324 * exp_tss.ads, exp_tss.adb (Make_Init_Proc_Name): Reimplement in terms
1325 of a simple call to Make_TSS_Name.
1326 (Make_TSS_Name_Local): Add the TSS name as the last thing in the name
1327 buffer, in order for Is_TSS to work correctly on local TSS names.
1328
1329 * sem_attr.ads, sem_attr.adb (Resolve_Attribute, case 'Access): Use flag
1330 Is_Local_Anonymous_Access to check legaliy of attributes in the
1331 context of access components and stand-alone access objects.
1332 (Stream_Attribute_Available): In Ada 95 mode, a stream attribute is
1333 treated as available for a limited private type if there is an
1334 attribute_definition_clause that applies to its full view, but not in
1335 other cases where the attribute is available for the full view
1336 (specifically, the sole fact that the full view is non-limited does not
1337 make the attribute available for the partial view).
1338 (Build_Access_Subprogram_Type): Diagnose attempt to apply 'access to a
1339 non-overloaded intrinsic subprogram.
1340 (Check_Stream_Attribute): Reject an attribute reference for an
1341 unavailable stream attribute even if the prefix is not a limited type
1342 (case of a 'Input attribute reference for an abstract, non-classwide
1343 type)
1344 (Stream_Attribute_Available): New function to determine whether a stream
1345 attribute is available at a place.
1346 (Check_Attribute): Use Stream_Attribute_Available instead of just
1347 testing for TSS presence on the implementation base type.
1348 (Analyze_Attribute): Modified to give support to task interfaces.
1349 (Analyze_Access_Attribute): Add error check for use of an Access (or
1350 Unrestricted_Access) attribute with a subprogram marked as
1351 Inline_Always.
1352 (Analyze_Attribute, case Attribute_Address): Add error check for use of
1353 an Address attribute with a subprogram marked as Inline_Always.
1354 Update Eval_Attribute to handle new value of Width from AI-395
1355
1356 * sem_ch13.adb (Analyze_Stream_TSS_Definition): New subprogram.
1357 (Analyze_Attribute_Definition_Clause, cases Input, Output, Read, Write):
1358 Factor common code across the stream-oriented attribute circcuits into
1359 a new subprogram, Analyze_Stream_TSS_Definition. The new uniform
1360 processing is functionally identical to the previous duplicated one,
1361 except that an expression that denotes an abstract subprogram will now
1362 be rejected, as mandated by AI-195 item 5.
1363
1364 * sem_util.ads, sem_util.adb (Type_Access_Level): Use flag
1365 Is_Local_Anonymous_Access to apply accessibility checks to access
1366 components and stand-alone access objects.
1367 (Has_Discriminant_Dependent_Constraint): Moved to spec for use
1368 elsewhere.
1369 (Is_Potentially_Persistent_Type): New function
1370 (Is_Dependent_Component_Of_Mutable_Object): If the enclosing object is
1371 a heap-object whose type has a constrained partial view, the object is
1372 unconstrained and the component may depend on a discriminant, making its
1373 renaming illegal.
1374
1375 * sinfo.ads, sinfo.adb
1376 (Must_Not_Override): Flag applicable to N_Entry_Declaration.
1377 (Must_Override): Flag applicable to N_Entry_Declaration.
1378 Indicate that interface_list can appear in single task and single
1379 protected declarations.
1380 Replace Is_Overriding and Not_Overriding with Must_Override and
1381 Must_Not_Override, to better express intent of AI.
1382 Is_Overriding, Not_Overriding: Ada2005 flags that indicate the presence
1383 of an overriding indicator in a subprogram or instance.
1384 Ada 2005 (AI-248) Null_Present can appear in a procedure specification.
1385 Add the overriding indicator [[not] overriding] construct to the
1386 following grammar productions:
1387 ENTRY_DECLARATION
1388 GENERIC_INSTANTIATION
1389 SUBPROGRAM_SPECIFICATION
1390
1391 * par-ch10.adb (P_Compilation_Unit): Subprogram declaration or body
1392 can start with an overriding indicator.
1393
1394 * par-ch6.adb (P_Subprogram): Recognize overriding indicator, and set
1395 flags accordingly on subrogram specifications or instances.
1396
1397 * sem_ch8.adb:
1398 (Analyze_Subprogram_Renaming): For a renaming_as_body, verify that the
1399 overriding_indicator, if present, is consistent with status of spec.
1400 Improve error message for null-excluding checks on controlling access
1401 parameters.
1402 (Check_In_Previous_With_Clause): Protect the frontend against
1403 previously reported critical errors in the context clauses.
1404 Save and restore Ada_Version_Explicit, for implementation of AI-362
1405 (Analyze_Subprogram_Renaming): If the new entity is a dispatching
1406 operation verify that controlling formals of the renamed entity that
1407 are access parameters are explicitly non-null.
1408 (Find_Expanded_Name): Improve error message when prefix is an illegal
1409 reference to a private child unit.
1410
1411 * exp_imgv.adb, s-imgwch.ads, s-imgwch.adb, s-valwch.adb,
1412 s-valwch.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdwch.adb:
1413 Rewrite to correspond to new wide character names in AI-395
1414
1415 * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
1416 default procedures.
1417
1418 2005-06-14 Ed Schonberg <schonberg@adacore.com>
1419 Robert Dewar <dewar@adacore.com>
1420
1421 * errout.ads, errout.adb (Error_Msg_NW): Only emit warning on user
1422 code, not on the bodies of predefined operations, to cut down on
1423 spurious noise.
1424
1425 2005-06-14 Ed Schonberg <schonberg@adacore.com>
1426
1427 * exp_aggr.adb (Aggr_Size_OK): An array with no components can always
1428 be expanded in place. The size computation does not require a
1429 subtraction, which would raise an exception on a compiler built with
1430 assertions when the upper bound is Integer'first.
1431 (Flatten): For an array of composite components, take into account the
1432 size of the components to determine whether it is safe to expand the
1433 array into a purely positional representation.
1434
1435 2005-06-14 Thomas Quinot <quinot@adacore.com>
1436
1437 * exp_ch2.adb (Param_Entity): Take the case of an expanded_name
1438 denoting a formal parameter into account.
1439
1440 2005-06-14 Ed Schonberg <schonberg@adacore.com>
1441
1442 * exp_ch7.adb (Find_Node_To_Be_Wrapped): If the node appears within
1443 the entry_call alternative of a conditional entry call, wrap the
1444 conditional entry call itself.
1445
1446 2005-06-14 Nicolas Setton <setton@adacore.com>
1447 Ed Schonberg <schonberg@adacore.com>
1448
1449 * exp_dbug.ads, exp_dbug.adb (Get_Variant_Part): Fix the encoding of
1450 the "simple_choice" member in a variant record, in accordance with the
1451 description in the package spec: the information output for a constant
1452 should be "S number", not "SS number".
1453 (Get_Encoded_Name): Return at once if not generating code. Avoids name
1454 overflow problem when compiling with -gnatct, for ASIS/gnatmetrics.
1455
1456 2005-06-14 Thomas Quinot <quinot@adacore.com>
1457
1458 * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): For an
1459 RACW without any primitives, do not generate the if statement for
1460 dispatching by name in the PolyORB/DSA case, as it would be malformed
1461 (it would have an Elsif_Parts list that is not No_List, but with a
1462 length of 0).
1463
1464 2005-06-14 Robert Dewar <dewar@adacore.com>
1465
1466 * exp_intr.adb, par-ch5.adb: Minor fix to error message text
1467
1468 2005-06-14 Jose Ruiz <ruiz@adacore.com>
1469
1470 * fe.h: Add entry for Opt.Exception_Locations_Suppressed so that gigi
1471 can determine whether pragma Suppress_Exception_Locations is in effect.
1472
1473 * utils2.c (build_call_raise): Do not pass the file name to the
1474 exception handler if pragma Suppress_Exception_Locations is in effect.
1475 (build_allocator): Add and process arg IGNORE_INIT_TYPE.
1476
1477 2005-06-14 Emmanuel Briot <briot@adacore.com>
1478
1479 * g-debpoo.adb (Deallocate, Dereference): Improve output.
1480
1481 2005-06-14 Nicolas Roche <roche@adacore.com>
1482
1483 * g-diopit.adb (Wildcard_Iterator): Return directly if Path is equal
1484 to ""
1485 (Next_Level): Fix minor bug in handling of ../dir case
1486 (Read): Add dir separator to Directory name so that "" is understood as
1487 "/"
1488
1489 2005-06-14 Pascal Obry <obry@adacore.com>
1490
1491 * g-dynhta.ads, g-dynhta.adb (Reset): Free the table itself after
1492 releasing the items.
1493
1494 2005-06-14 Vincent Celier <celier@adacore.com>
1495 Cyrille Comar <comar@adacore.com>
1496
1497 * g-os_lib.ads, g-os_lib.adb (Non_Blocking_Spawn): Two new versions
1498 with output file descriptor and with output file name.
1499 (Dup, Dup2): Now global procedures as they are used by two subprograms
1500 (Copy): Allocate the 200K buffer on the heap rather than on the stack.
1501
1502 2005-06-14 Thomas Quinot <quinot@adacore.com>
1503
1504 PR ada/6717
1505
1506 * g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
1507 broadcast address.
1508 (Create_Selector): Bind listening socket used to create the signalling
1509 socket pair to 127.0.0.1 to limit the scope for 'theft' of connection.
1510 Set listen backlog to 1 to ensure that we detect socket theft by a
1511 failure of our own connect(2) call.
1512 (Check_Selector): Improve documentation of the selector mechanism.
1513 (Broadcast_Inet_Addr): New constant.
1514
1515 2005-06-14 Gary Dismukes <dismukes@adacore.com>
1516
1517 * layout.adb (Discrimify): Remove resetting of Vtype to the underlying
1518 type which turns out to be an incomplete and incorrect fix.
1519 (Layout_Array_Type): Use Underlying_Type when checking whether the scope
1520 of the type is declared in a record (for determination of insertion
1521 type).
1522 (SO_Ref_From_Expr): Test whether Vtype denotes a partial or full view of
1523 a private type and ensure that the primary entity is used for the type
1524 of the newly created function's V formal by taking the Etype of the
1525 view.
1526
1527 2005-06-14 Javier Miranda <miranda@adacore.com>
1528 Jose Ruiz <ruiz@adacore.com>
1529 Robert Dewar <dewar@adacore.com>
1530 Ed Schonberg <schonberg@adacore.com>
1531
1532 * lib-load.ads, lib-load.adb (Load_Unit): Addition of a new parameter
1533 that indicates if we are parsing a compilation unit found in a
1534 limited-with clause.
1535 It is use to avoid the circularity check.
1536
1537 * par.ads, par.adb (Par): Addition of a new parameter to indicate if
1538 we are parsing a compilation unit found in a limited-with clause. This
1539 is use to avoid the circularity check.
1540
1541 * par-load.adb (Load): Indicate Lib.Load_Unit if we are loading the
1542 unit as a consequence of parsing a limited-with clause. This is used
1543 to avoid the circularity check.
1544
1545 * sem_ch10.adb: Suppress Ada 2005 unit warning if -gnatwY used
1546 (Analyze_Context): Limited-with clauses are now allowed
1547 in more compilation units.
1548 (Analyze_Subunit_Context, Check_Parent): Protect the frontend
1549 againts previously reported critical errors in context clauses
1550 (Install_Limited_Withed_Unit): Code cleanup plus static detection
1551 of two further errors: renamed subprograms and renamed packages
1552 are not allowed in limited with clauses.
1553 (Install_Siblings): Do not install private_with_clauses on the package
1554 declaration for a non-private child unit.
1555 (Re_Install_Parents): When a parent of the subunit is reinstalled,
1556 reset visibility of child units properly.
1557 (Install_Withed_Unit): When a child unit appears in a with_clause of its
1558 parent, it is immediately visible.
1559
1560 2005-06-14 Ed Schonberg <schonberg@adacore.com>
1561 Emmanuel Briot <briot@adacore.com>
1562
1563 * lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
1564 declared within an inlined body as referenced, to prevent spurious
1565 warnings.
1566 (Output_One_Ref): If an entity renames an array component, indicate in
1567 the ALI file that this aliases (renames) the array. Capture as well
1568 function renamings that rename predefined operations.
1569 Add information about generic parent for package and subprogram
1570 instances.
1571 (Get_Type_Reference): For a subtype that is the renaming of an actual in
1572 an instantiation, use the first_subtype to ensure that we don't generate
1573 cross-reference information for internal types.
1574 For objects and parameters of a generic private type, retain the '*'
1575 indicator to distinguish such an entity from its type.
1576
1577 * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
1578 to store information about instantiated entities.
1579
1580 * ali.adb (Scan_ALI): Add support for parsing the reference to the
1581 generic parent
1582
1583 * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
1584 (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
1585 information.
1586
1587 2005-06-10 Doug Rupp <rupp@adacore.com>
1588 Arnaud Charlet <charlet@adacore.com>
1589 Olivier Hainque <hainque@adacore.com>
1590 Jose Ruiz <ruiz@adacore.com>
1591
1592 * Make-lang.in: Add initialize.o when needed.
1593 Remove obsolete references to RT_FLAGS.
1594 Add missing dependencies for sdefault.o
1595
1596 * initialize.c: New file.
1597
1598 * init.c [VMS] Declare ADA$ externs weak to fix build problem in IVMS.
1599 [VMS] cond_signal_table: Fix problem in declaration.
1600 [VMS] __gnat_error_handler: rewrite.
1601 Move all __gnat_initialize() routines to initialize.c
1602 Specialize the former "hpux" section to "hppa hpux", as this is what the
1603 section really is here for and we now have other hpux ports that need
1604 different contents.
1605 (__gnat_adjust_context_for_raise) i386-linux: First version of this
1606 function for this target. Adjust PC by one in the machine context. This
1607 adjustment was previously done in the MD_FALLBACK_FRAME_STATE_FOR, but
1608 it is more reliable to do that in the signal handler itself.
1609 (__gnat_install_handler) i386-linux: Set SA_SIGINFO in the sigaction
1610 flags, so that the handler is passed the context structure to adjust
1611 prior to the raise.
1612 (__gnat_error_handler) i386-linux: Adjust the signature to match what a
1613 SA_SIGINFO sigaction should look like. Call
1614 __gnat_adjust_context_for_raise before actually raising. Cleanup unused
1615 Machine_State_Operations stuff.
1616 Add conditional code so that the x86_64 is also supported.
1617
1618 2005-06-14 Pascal Obry <obry@adacore.com>
1619
1620 * mdll.adb (Get_Dll_Name): New routine that returns the DLL name given
1621 the library name.
1622
1623 2005-06-14 Robert Dewar <dewar@adacore.com>
1624
1625 * opt.ads, opt.adb: New flags for persistent_bss mode
1626 Add Ada_Version_Explicit, for implementation of AI-362
1627 Add Assertions_Enabled_Config and associated handling
1628 Needed since setting can be changed with Assertion_Policy pragma
1629 Add new flag Warn_On_Ada_2005_Compatibility
1630
1631 * switch-c.adb: Recognize -gnatwy/Y
1632 Set Ada_Version_Explicit, for implementation of AI-362
1633 The -gnatg switch now includes -gnatyu
1634
1635 * usage.adb: Add -gnatwy/Y
1636 Remove wrong asterisk on -gnatwX line
1637 Add line for -gnatyu switch
1638
1639 2005-06-14 Vincent Celier <celier@adacore.com>
1640
1641 * osint.adb (Add_Default_Search_Dirs): Put source and object
1642 directories of project files before directories coming from
1643 ADA_INCLUDE_PATH and ADA_OBJECTS_PATH.
1644
1645 2005-06-14 Robert Dewar <dewar@adacore.com>
1646
1647 PR ada/15613
1648
1649 * par-ch2.adb (Scan_Pragma_Argument): New procedure
1650 (P_Pragma): Implement RM 2.8(4) check for no pos args after named args
1651
1652 2005-06-14 Vincent Celier <celier@adacore.com>
1653
1654 * prep.adb (Preprocess): Ignore error when scanning the first token of
1655 a line.
1656
1657 2005-06-14 Vincent Celier <celier@adacore.com>
1658
1659 * prj-nmsc.adb (Suffix_For): Change default suffix for C++ to ".cpp"
1660 (Check_Stand_Alone_Library): If the specified reference symbol file does
1661 not exist, only issue a warning when the symbol policy is not
1662 Controlled. And, when symbol policy is Compliant, set the symbol
1663 policy to Autonomous.
1664
1665 2005-06-14 Vincent Celier <celier@adacore.com>
1666
1667 * prj-part.adb (Pre_Parse_Context_Clause): Call Set_Is_Not_Last_In_List
1668 when the project file in a with clause is not the last one, that is the
1669 project file name is followed by a comma.
1670 * prj-pp.adb: (First_With_In_List): New Boolean global variable
1671 (Print): Issue list of project files separated by commas in with clauses
1672 according to the values returned by Is_Not_Last_In_List.
1673 * prj-tree.ads, prj-tree.adb: (Is_Not_Last_In_List): New function
1674 (Set_Is_Not_Last_In_List): New procedure
1675
1676 2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
1677
1678 * s-atacco.ads: Put a pragma No_Strict_Aliasing on Object_Pointer.
1679
1680 2005-06-14 Robert Dewar <dewar@adacore.com>
1681
1682 * scng.adb: Add call to new Check_EOF routine
1683 (Accumulate_Checksum): Properly handle wide wide char >= 2 ** 24
1684 Add some comments regarding wide character handling
1685
1686 * style.ads, styleg.ads, styleg.adb: Implement new style switch -gnatyu
1687
1688 * stylesw.ads, stylesw.adb: Implement new style switch -gnatyu
1689
1690 * g-utf_32.ads, g-utf_32.adb (Is_UTF_32_Non_Graphic): Other_Format
1691 characters are now considered graphic characters and hence yield false
1692 in this call.
1693
1694 * nmake.adt: Modify header so that xnmake does not generate output
1695 files with multiple blank lines.
1696
1697 * treeprs.adt: Remove a blank line so that output from xtreeprs does
1698 not have an extra blank line
1699
1700 2005-06-14 Gary Dismukes <dismukes@adacore.com>
1701
1702 * sem_aggr.adb (Aggregate_Constraint_Checks): Apply a conversion to the
1703 expression when the component type is an anonymous access type to
1704 ensure that appropriate accessibility checks are done.
1705
1706 * sem_ch5.adb (Analyze_Assignment): Apply a implicit conversion to the
1707 expression of an assignment when the target object is of an anonymous
1708 access type. This ensures that required accessibility checks are done.
1709 (One_Bound): Move the check for type Universal_Integer to
1710 Process_Bounds.
1711 (Process_Bounds): Check whether the type of the preanalyzed range is
1712 Universal_Integer, and in that case set Typ to Integer_Type prior
1713 to setting the type of the original range and the calls to One_Bound.
1714
1715 2005-06-14 Ed Schonberg <schonberg@adacore.com>
1716
1717 * sem_case.adb (Expand_Others_Choice): Improve warning.
1718
1719 2005-06-14 Ed Schonberg <schonberg@adacore.com>
1720
1721 * sem_eval.adb (Subtypes_Statically_Match): Use discriminant
1722 constraint of full view if present, when other type is discriminated.
1723 (Eval_Relational_Op): Recognize tests of pointer values against Null,
1724 when the pointer is known to be non-null, and emit appropriate warning.
1725
1726 2005-06-14 Robert Dewar <dewar@adacore.com>
1727 Ed Schonberg <schonberg@adacore.com>
1728
1729 PR ada/10671
1730
1731 * sem_prag.adb: Implement pragma Persistent_BSS
1732 Remove obsolete pragma Persistent_Data, Persistent_Object
1733 Set Ada_Version_Explicit, for implementation of AI-362
1734 Test Ada_Version_Explicit for Preelaborate_05 and Pure_05
1735 Add processing for pragma Pure_05 and Preelaborate_05
1736 Add processing for Assertion_Policy pragma
1737 Add pragma identifiers for Assert
1738 (Analyze_Pragma, case Assert): Check number of arguments
1739 (Process_Inline): Additional guard against an illegal program, where the
1740 argument of the pragma is undefined, and warnings on redundant
1741 constructs are enabled.
1742 (Analyze_Pragma, case Obsolescent): Allow an optional second argument
1743 Ada_05 to this pragma, specifying that the pragma is only active in
1744 Ada_05 mode.
1745 (Check_Arg_Order): New procedure
1746 Add appropriate calls to this procedure throughout
1747 Also throughout, check entity name before doing any other checks
1748
1749 * snames.h snames.ads, snames.adb: Add pragma Persistent_BSS
1750 Remove obsolete pragma Persistent_Data, Persistent_Object
1751 Add entries for pragma Pure_05 and Preelaborate_05
1752 Add entries for Assertion_Policy pragma and associated names
1753 Add some names for pragma argument processing
1754
1755 * tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function
1756
1757 2005-06-14 Ed Schonberg <schonberg@adacore.com>
1758
1759 * sem_warn.adb (Warn_On_Known_Condition): If the constant expression
1760 appears within a negation (either from source or as a rewriting of
1761 inequality) adjust text of warning accordingly.
1762
1763 2005-06-14 Thomas Quinot <quinot@adacore.com>
1764
1765 * s-strxdr.adb: Follow AI95-00132
1766
1767 2005-06-14 Arnaud Charlet <charlet@adacore.com>
1768
1769 * s-tasren.adb (Exceptional_Complete_Rendezvous): Fix race condition.
1770
1771 2005-06-14 Arnaud Charlet <charlet@adacore.com>
1772 Jose Ruiz <ruiz@adacore.com>
1773
1774 * s-tposen.adb, s-tpobop.adb
1775 (Exceptional_Complete_Rendezvous): Save the occurrence and not only
1776 the exception id.
1777 (PO_Do_Or_Queue): Before queuing a task on an entry queue we check that
1778 there is no violation of the Max_Entry_Queue_Length restriction (if it
1779 has been set); Program_Error is raised otherwise.
1780 (Requeue_Call): Before requeuing the task on the target entry queue we
1781 check that there is no violation of the Max_Entry_Queue_Length
1782 restriction (if it has been set); Program_Error is raised otherwise.
1783
1784 2005-06-14 Robert Dewar <dewar@adacore.com>
1785
1786 * styleg.adb: Fix several remaining problems in -gnatyu switch
1787 Blank line count not reset at start
1788 Scanning outside source buffer in some cases
1789 Confusing message for blanks at end of file
1790 Non-empty blank lines not recognized
1791
1792 * nmake.adt: Modify header so that xnmake does not generate output
1793 files with multiple blank lines.
1794
1795 * treeprs.adt: Remove a blank line so that output from xtreeprs does
1796 not have an extra blank line
1797
1798 2005-06-14 Sergey Rybin <rybin@adacore.com>
1799
1800 * styleg-c.adb (Body_With_No_Spec): Remove ':' from warning message.
1801
1802 2005-06-14 Doug Rupp <rupp@adacore.com>
1803 Vincent Celier <celier@adacore.com>
1804
1805 * vms_conv.ads, vms_conv.adb: Remove "Library" command.
1806 Update copyright.
1807
1808 * vms_data.ads: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
1809 Remove "Library" command.
1810 Change keyword for style check -gnatyd from NOCRLF to
1811 DOS_LINE_ENDINGS.
1812 Remove useless second style check keyword NONE
1813 Remove help documentation for inexistent style check keyword
1814 RM_COLUMN_LAYOUT.
1815 Add help documentation for style check keywords DOS_LINE_ENDINGS,
1816 UNNECESSARY_BLANK_LINES and XTRA_PARENS
1817 Add UNNECESSARY_BLANK_LINES for -gnatyu
1818 Add qualifiers /ALL_PROJECTS (-U) for GNAT PRETTY and GNAT METRIC
1819
1820 * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
1821
1822 2005-06-14 Vincent Celier <celier@adacore.com>
1823
1824 * makegpr.adb (Compile_Link_With_Gnatmake): Invoke gnatmake with -d if
1825 gprmake was invoked with -d.
1826 (Compile_Sources): If -d was used, output the "completed ..." message
1827 for each compilation.
1828 (Scan_Arg): Recognize new switch -d
1829 When -c and at least one main is specified, set
1830 Unique_Compile to True to guarantee that no other sources will be
1831 compiled.
1832
1833 2005-06-14 Matthew Heaney <heaney@adacore.com>
1834
1835 * a-swunha.ads, a-swunha.adb: Removed. Replaced by a-swuwha.ad[sb]
1836 * a-swuwha.ads, a-swuwha.adb: New files
1837
1838 * a-szunha.ads, a-szunha.adb: Removed, replaced by a-szuzha.ad[sb]
1839 * a-szuzha.ads, a-szuzha.adb: New files.
1840
1841 * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
1842 a-crbtgk.adb, a-crbltr.ads, a-coorse.ads, a-coorse.adb, a-convec.ads,
1843 a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohata.ads, a-cohama.ads,
1844 a-cohama.adb, a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
1845 a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
1846 a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb,
1847 a-cohase.ads, a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads,
1848 a-swunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb, a-shcain.ads,
1849 a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads, a-stwiha.adb,
1850 a-strhas.adb, a-stzhas.adb: synchronized to the latest version of the
1851 Ada 2005 RM.
1852
1853 2005-06-10 Eric Botcazou <ebotcazou@adacore.com>
1854 Olivier Hainque <hainque@adacore.com>
1855 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1856 Pascal Obry <obry@adacore.com>
1857
1858 * gigi.h: (build_allocator): Add arg IGNORE_INIT_TYPE.
1859
1860 * trans.c (call_to_gnu): Issue a warning for users of Starlet when
1861 making a temporary around a procedure call because of non-addressable
1862 actual parameter.
1863 (process_freeze_entity): If entity is a private type, capture size
1864 information that may have been computed for the full view.
1865 (tree_transform, case N_Allocator): If have initializing expression,
1866 check type for Has_Constrained_Partial_View and pass that to
1867 build_allocator.
1868 (tree_transform, case N_Return_Statement): Pass extra arg to
1869 build_allocator.
1870
1871 * decl.c (annotate_value): Remove early return if -gnatR is not
1872 specified.
1873 (gnat_to_gnu_field): Don't make a packable type for a component clause
1874 if the position is byte aligned, the field is aliased, and the clause
1875 size isn't a multiple of the packable alignment. It serves no useful
1876 purpose packing-wise and would be rejected later on.
1877 (gnat_to_gnu_entity, case object): Pass extra arg to build_allocator.
1878
1879 PR ada/20515
1880 (gnat_to_gnu_entity): Remove use of macro _WIN32 which is wrong in the
1881 context of cross compilers. We use TARGET_DLLIMPORT_DECL_ATTRIBUTES
1882 instead.
1883 (create_concat_name): Idem.
1884
1885 2005-06-10 Robert Dewar <dewar@adacore.com>
1886 Eric Botcazou <ebotcazou@adacore.com>
1887 Ben Brosgol <brosgol@adacore.com>
1888 Cyrille Comar <comar@adacore.com>
1889 Sergey Rybin <rybin@adacore.com>
1890 Pascal Obry <obry@adacore.com>
1891
1892 * gnat_rm.texi: Add documentation for pragma Persistent_BSS
1893 Document second argument (Ada_05) of pragma Obsolescent
1894 Add note that call to subprogram marked with pragma Obsolescent
1895 is now considered to be a violation of program Restrictions
1896 (No_Obsolescent_Features).
1897 (Implementation Defined Pragmas) <Machine_Attribute>: Make it clear
1898 that only machine-dependent attributes are supported.
1899
1900 * gnat_ugn.texi:
1901 Commented out menu lines and empty section for gnatclean examples
1902 Document -gnatwy/Y
1903 Fix some over long lines
1904 Clarify and enhance documentation of ADA_PROJECT_PATH.
1905 Rework section 2.11.2(3) about linking with a non-GNU compiler.
1906 Mention new switch -fcallgraph-info.
1907 Mention new switch -fstack-usage.
1908 For gnatpp, replace '-notab' with '-N' and add this option to Index
1909 Corrected VMS example.
1910 VMS keyword for style check -gnatyd is DOS_LINE_ENDINGS, no NOCRLF
1911 Minor reformatting
1912 Add documentation for -gnatyu switch (unnecessary blank lines)
1913 Document new switch -U for GNAT PRETTY and GNAT METRIC
1914 Add note about Stdcall being handled as C convention on non Windows OS.
1915 Remove some junk typo in description of gnatbind -S switch
1916 Remove reference to Extensions_Allowed pragma
1917 Document the new order of the directories to be searched (source and
1918 object directories of project files before directories in ADA_*_PATH
1919 environment variables.
1920
1921 * g-trasym.ads: Document that IRIX is supported
1922
1923 2005-06-10 Arnaud Charlet <charlet@adacore.com>
1924
1925 * Makefile.in: Add initialize.o when needed.
1926 Adapt to new VMS package body Symbols and subunits
1927 No specialized version of a-sytaco is needed for VxWorks.
1928
1929 * a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files.
1930 * a-zchara.ads, a-widcha.ads: New files.
1931
1932 * system-hpux-ia64.ads: New file.
1933
1934 * i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which
1935 is imported from the VxWorks kernel.
1936
1937 2005-06-14 Robert Dewar <dewar@adacore.com>
1938
1939 * g-soliop-mingw.ads, g-soccon-vms.adb, a-swmwco.ads, exp_smem.adb,
1940 fmap.adb, a-szmzco.ads, s-traent-vms.adb, s-traent-vms.ads,
1941 a-direio.ads, a-exctra.ads, a-exexda.adb, a-exextr.adb, a-stream.ads,
1942 s-restri.ads, s-restri.adb, s-traent.adb, s-traent.ads, a-slcain.adb,
1943 a-stzhas.ads, a-tiinau.adb, comperr.adb, exp_ch11.adb, g-boubuf.adb,
1944 g-calend.adb, g-debpoo.ads, g-moreex.ads, gprep.adb, g-regpat.ads,
1945 i-cexten.ads, i-os2thr.ads, makeutl.ads, memroot.adb, mlib-prj.adb,
1946 namet.adb, namet.ads, prj-makr.adb, prj-proc.adb, sem_dist.adb,
1947 sem_elim.ads, s-valint.adb, s-vallli.adb, s-vallli.adb, s-vallli.ads,
1948 s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, scn.adb,
1949 s-tasinf.adb, targparm.adb, uname.adb, uname.ads, xnmake.adb,
1950 xsinfo.adb, a-direct.ads: Remove extra blank lines. Minor reformatting.
1951
1952 2005-06-14 Thomas Quinot <quinot@adacore.com>
1953
1954 * xeinfo.adb: Fix typo in comment
1955
1956 2005-06-14 Javier Miranda <miranda@adacore.com>
1957
1958 * repinfo.ads: Fix typo in comment
1959
1960 2005-06-14 Gary Dismukes <dismukes@adacore.com>
1961
1962 * s-finimp.adb (Parent_Tag): Delete this imported function (function
1963 Parent_Tag is now in the visible part of Ada.Tags).
1964 (Get_Deep_Controller): Call Ada.Tags.Parent_Tag directly instead of
1965 using imported function.
1966
1967 2005-06-14 Bernard Banner <banner@adacore.com>
1968
1969 * vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should
1970 also apply for handling support for VxSim 653.
1971
1972 2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
1973
1974 * xsnames.adb: Add automatic generation of snames.h.
1975
1976 2005-06-14 Thomas Quinot <quinot@adacore.com>
1977
1978 * gen-soccon.c: Add IP_MULTICAST_IF constant
1979 Minor reformatting and adjustments to prevent warnings.
1980
1981 2005-06-14 Pascal Obry <obry@adacore.com>
1982
1983 * seh_init.c: Do not include <sys/stat.h>. This is not needed.
1984
1985 2005-06-03 Andrew Pinski <pinskia@physics.uc.edu>
1986
1987 * trans.c (gnat_gimplify_expr): Call
1988 recompute_tree_invarant_for_addr_expr when we change
1989 the operand of the ADDR_EXPR.
1990
1991 2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1992
1993 * misc.c: Don't include errors.h.
1994
1995 2005-05-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1996
1997 * raise.c (db): Add ATTRIBUTE_PRINTF_2.
1998
1999 2005-05-29 Kazu Hirata <kazu@cs.umass.edu>
2000
2001 * cal.c, decl.c, init.c, raise.c, trans.c, utils2.c: Fix
2002 comment typos.
2003 * gnat_rm.texi, gnat_ugn.texi: Fix typos.
2004
2005 2005-05-16 Nathanael Nerode <neroden@gcc.gnu.org>
2006
2007 PR ada/20270
2008 * Makefile.in: Make TGT_LIB behave correctly.
2009
2010 2005-04-23 DJ Delorie <dj@redhat.com>
2011
2012 * misc.c: Adjust warning() callers.
2013
2014 2005-04-16 Laurent GUERBY <laurent@guerby.net>
2015
2016 PR ada/18847
2017 * a-nudira.adb (Value): Check for valid string.
2018 * a-nuflra.adb (Value): Likewise.
2019
2020 2005-04-11 Richard Sandiford <rsandifo@redhat.com>
2021
2022 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
2023
2024 2005-04-10 Kazu Hirata <kazu@cs.umass.edu>
2025
2026 * adaint.c, init.c, tracebak.c: Fix comment typos.
2027 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.
2028
2029 2005-04-07 Laurent GUERBY <laurent@guerby.net>
2030 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2031
2032 * Makefile.in: Add make ifeq define for hppa linux tasking support.
2033 * system-hpux.ads: Define Signed_Zeros to be True.
2034 * system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files.
2035
2036 2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
2037
2038 * adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
2039 raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment
2040 typos.
2041
2042 2005-03-30 Tom Tromey <tromey@redhat.com>
2043
2044 * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
2045
2046 2005-03-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2047
2048 * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
2049
2050 2005-03-29 Robert Dewar <dewar@adacore.com>
2051
2052 * sem_res.adb (Resolve_Real_Literal): Generate warning if static
2053 fixed-point expression has value that is not a multiple of the Small
2054 value.
2055
2056 * opt.ads (Warn_On_Bad_Fixed_Value): New flag
2057
2058 * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
2059 nanoseconds.
2060
2061 * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
2062
2063 2005-03-29 Vincent Celier <celier@adacore.com>
2064
2065 * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
2066 (Build_Dynamic_Library.Version_String): Return the empty string when
2067 Lib_Version is empty or when the symbol policy is not Autonomous.
2068
2069 * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
2070 a symbol is not in the reference symbol file, increase the Major ID
2071 and set the Minor ID to 0.
2072 Use gsmatch=lequal instead of gsmatch=equal
2073
2074 2005-03-29 Doug Rupp <rupp@adacore.com>
2075
2076 * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
2077 name and translate.
2078
2079 2005-03-29 Javier Miranda <miranda@adacore.com>
2080
2081 * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
2082 (Inherit_DT): The first formal has been redefined as a Tag.
2083 This allows us the removal of the subprogram Get_TSD.
2084 (TSD): Replace the call to Get_TSD by the actual code.
2085
2086 * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
2087 (Make_DT): Upgrade the call to Inherit_TSD according to the
2088 new interface: the first formal is now a Tag.
2089
2090 * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
2091 redefined as a Tag.
2092 This change allows us to remove the subprogram Get_TSD.
2093 (CPP_Get_TSD): Subprogram removed.
2094 (TSD): Replace the call to CPP_Get_TSD by the actual code.
2095
2096 * rtsfind.ads: Remove support to call the run-time
2097 subprogram Get_TSD
2098
2099 2005-03-29 Robert Dewar <dewar@adacore.com>
2100
2101 * errutil.adb, errout.adb:
2102 Minor comment updates on Line_Terminator references
2103
2104 * par-ch10.adb: Add ??? comment about line terminator
2105
2106 * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
2107 (check dos line terminator).
2108 (Check_Line_Max_Length): New procedure, split off from the existing
2109 Check_Line_Terminator routine. Separating this out allows -gnatyf to
2110 be properly recognized.
2111
2112 * styleg.adb: Add ??? comment for line terminator reference
2113
2114 * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
2115 (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
2116
2117 * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
2118 (check dos line terminator).
2119 (Check_Line_Max_Length): New procedure, split off from the existing
2120 Check_Line_Terminator routine. Separating this out allows -gnatyf to
2121 be properly recognized.
2122
2123 * stylesw.ads, stylesw.adb:
2124 Add handling for new -gnatyd switch (check dos line terminator)
2125
2126 * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
2127 Recognize -gnatwb/-gnatwB switches
2128 Include Warn_On_Bad_Fixed_Value for -gnatg
2129
2130 * usage.adb:
2131 Add line for new -gnatyd switch (check dos line terminator)
2132
2133 * usage.adb: Add lines for -gnatwb/-gnatwB
2134
2135 * vms_data.ads: Add entry for NOCRLF (-gnatyd)
2136
2137 * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
2138
2139 * gnat_ugn.texi: Fix overlong lines
2140 Document new -gnatyd switch
2141 Document new -gnatwb/-gnatwB switches
2142
2143 2005-03-29 Ed Schonberg <schonberg@adacore.com>
2144
2145 * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
2146 order to retrieve the component list of the type, before examining
2147 individual components.
2148
2149 * sem_type.adb (Covers): Types are compatible if one is the base type
2150 of the other, even though their base types might differ when private
2151 views are involved.
2152
2153 2005-03-29 Thomas Quinot <quinot@adacore.com>
2154
2155 * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
2156 To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
2157 of using Set_Renaming_TSS. This ensures that the TSS bodies are not
2158 analyzed if expansion is disabled (which could otherwise cause spurious
2159 error messages if expansion has been disabled due to previous
2160 (unrelated) errors).
2161
2162 * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
2163 is disabled, the entity denoted by the argument is the access type
2164 itself, not an underlying record type, so there is no need to go back
2165 to the Corresponding_Remote_Type.
2166
2167 2005-03-29 Gary Dismukes <dismukes@adacore.com>
2168 Robert Dewar <dewar@adacore.com>
2169
2170 * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
2171 expand a call to an instance of
2172 Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
2173 Constructor actual of the instance. A class-wide membership
2174 check is also generated, to ensure that the tag passed to the instance
2175 denotes a type in the class.
2176 (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
2177 of Name_Generic_Dispatching_Constructor.
2178
2179 * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
2180 05 unit for AI-260-02).
2181
2182 * a-tgdico.ads: New file.
2183
2184 * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
2185 predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
2186
2187 * snames.ads, snames.adb (Preset_Names): Add entry for
2188 Generic_Dispatching_Constructor.
2189
2190 PR ada/20300
2191
2192 * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
2193 character type cases.
2194 (Analyze_Subprogram_Renaming): Add special handling for
2195 the case of renaming of stream attributes when the renaming denotes a
2196 generic formal subprogram association for an abstract formal subprogram.
2197 Check that the attribute is a primitive stream attribute (and not
2198 a class-wide stream attribute) and then rewrite the attribute name
2199 as the name of the appropriate compiler-generated stream primitive.
2200
2201 2005-03-29 Robert Dewar <dewar@adacore.com>
2202
2203 * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
2204 recursive calls.
2205 (Is_Possibly_Unaligned_Object): Correct typo that
2206 resulted in inaccurate result for unaligned scalars within records.
2207
2208 2005-03-29 Ed Schonberg <schonberg@adacore.com>
2209
2210 * freeze.adb (Freeze_Record_Type): If the type of the component is an
2211 itype whose parent is controlled and not yet frozen, do not create a
2212 freeze node for the itype if expansion is disabled.
2213
2214 2005-03-29 Vincent Celier <celier@adacore.com>
2215
2216 * make.adb (Gnatmake): Don't fail if the main project file is declared
2217 as having no Ada sources. Do not display message "no sources to
2218 compile" in quiet output.
2219
2220 2005-03-29 Doug Rupp <rupp@adacore.com>
2221
2222 * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
2223 extra tools.
2224
2225 2005-03-29 Robert Dewar <dewar@adacore.com>
2226
2227 * par-ch12.adb (P_Generic): Give better msg for illegal private generic
2228 child.
2229
2230 2005-03-29 Robert Dewar <dewar@adacore.com>
2231
2232 * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
2233 missing TYPE Improve the error message generated when compiling a
2234 limited interface in Ada83 or Ada95 mode.
2235
2236 2005-03-29 Robert Dewar <dewar@adacore.com>
2237
2238 * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
2239 rather than proceed ahead using a junk attribute name.
2240
2241 2005-03-29 Vincent Celier <celier@adacore.com>
2242
2243 * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
2244
2245 * prj-part.adb (Parse_Single_Project): Set the location of a project
2246 on its defining identifier, rather than on the reserved word "project".
2247
2248 * prj-proc.adb (Expression): Adapt to the fact that default of external
2249 references may be string expressions, not always literal strings.
2250 (Recursive_Process): Set Display_Name equal to Name
2251 when Location is No_Location, that is when there is no actual file.
2252 Get the Display_Name of the project from the source, when it is not a
2253 virtual project.
2254 (Process): Use the Display_Name in error messages
2255
2256 * prj-strt.adb (External_Reference): Allow default to be string
2257 expressions, not only literal strings.
2258
2259 2005-03-29 Vincent Celier <celier@adacore.com>
2260
2261 * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
2262 file and the reference symbol file to be the same file.
2263
2264 2005-03-29 Thomas Quinot <quinot@adacore.com>
2265
2266 * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
2267 forbid conversion of a local access-to-subprogram type to a remote one.
2268
2269 * sem_util.adb (Wrong_Type): For a record type that is the expanded
2270 equivalent type for a remote access-to-subprogram type, go back to the
2271 original RAS entity when displaying an error message, so the casing is
2272 the original source casing.
2273
2274 2005-03-29 Robert Dewar <dewar@adacore.com>
2275
2276 * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
2277 on param update.
2278
2279 2005-03-29 Ed Schonberg <schonberg@adacore.com>
2280
2281 * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
2282 subtype if code is being pre-analyzed, to prevent un-expanded
2283 references to protected formals, among others.
2284 (Analyze_Explicit_Dereference): If the overloaded prefix includes some
2285 interpretation that can be a call, include the result of the call as a
2286 possible interpretation of the dereference.
2287
2288 * sem_ch5.adb (Process_Bounds): Determine type of range by
2289 pre-analyzing a copy of the original range, and then analyze the range
2290 with the expected type.
2291
2292 * sem_res.adb (Check_Parameterless_Call): For an explicit dereference
2293 with an overloaded prefix where not all interpretations yield an
2294 access to subprogram, do not rewrite node as a call.
2295 (Resolve_Explicit_Dereference): Recognize the previous case and rewrite
2296 the node as a call once the context identifies the interpretation of
2297 the prefix whose call yields the context type.
2298 (Valid_Conversion): For the case of a conversion between
2299 local access-to-subprogram types, check subtype conformance using
2300 Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
2301 detailed error message.
2302
2303 2005-03-29 Ed Schonberg <schonberg@adacore.com>
2304
2305 * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
2306 indicator, indicate that the formal can never be null.
2307 (Process_Formals): If a formal has a non_null indicator, insert the
2308 resulting subtype immediately before the enclosing subprogram decl,
2309 and not at the beginning of the corresponding declarative part, to
2310 prevent access before elaboration (Ada2005).
2311
2312 2005-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2313
2314 PR ada/19956
2315 * utils.c (finish_record_type): Use variable_size when setting sizes.
2316
2317 2005-03-29 Robert Dewar <dewar@adacore.com>
2318
2319 * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
2320 guarantee Unix style line terminators for the output files, even when
2321 running on windows.
2322
2323 2005-03-29 Robert Dewar <dewar@adacore.com>
2324
2325 * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
2326 buffer if an exception is raised.
2327
2328 2005-03-29 Ed Falis <falis@adacore.com>
2329
2330 * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
2331 VxWorks 653 1.4
2332
2333 2005-03-29 Robert Dewar <dewar@adacore.com>
2334
2335 * sem_util.ads: Minor reformatting
2336 * gnat_rm.texi: Minor editing.
2337
2338 2005-03-29 Eric Botcazou <ebotcazou@adacore.com>
2339
2340 * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
2341 * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
2342
2343 2005-03-24 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2344
2345 * adaint.c (__gnat_portable_spawn): Adjust cast.
2346
2347 2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
2348
2349 * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
2350
2351 2005-03-17 Pascal Obry <obry@adacore.com>
2352
2353 * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
2354 used.
2355
2356 * expect.c (__gnat_waitpid): Moved here from adaint.c.
2357 Reimplement under Win32 using Win32 API.
2358
2359 (__gnat_kill) [Win32]: Properly close the process handle before leaving
2360 this routine.
2361
2362 2005-03-17 Eric Botcazou <ebotcazou@adacore.com>
2363
2364 * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
2365 (DECL_RENAMED_OBJECT): New accessor macro.
2366 (SET_DECL_RENAMED_OBJECT): New setter macro.
2367
2368 * decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
2369 object in all cases. Attach the renamed object to the VAR_DECL.
2370 (gnat_to_gnu_field): Do not lift the record wrapper if the size of the
2371 field is not prescribed.
2372
2373 * misc.c (gnat_handle_option): Handle -gnatO separately.
2374 (gnat_print_decl) <VAR_DECL>: New case.
2375 Print the DECL_RENAMED_OBJECT node.
2376
2377 * lang.opt: Declare separate -gnatO option.
2378
2379 * trans.c (tree_transform) <N_Identifier>: If the object is a renaming
2380 pointer, replace it with the renamed object.
2381 <N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
2382 pointer type if the source is not a fat pointer type whose underlying
2383 array has the same non-zero alias set as that of the destination array.
2384
2385 2005-03-17 Javier Miranda <miranda@adacore.com>
2386
2387 * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
2388 (Get_Inheritance_Depth): Removed.
2389 (Set_Inheritance_Depth): Removed.
2390
2391 * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
2392 subprogram Get_Expanded_Name because it is not referenced by the
2393 frontend.
2394
2395 * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
2396 (CPP_Get_Inheritance_Depth): Removed.
2397 (CPP_Set_Inheritance_Depth): Removed.
2398
2399 * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
2400
2401 2005-03-17 Robert Dewar <dewar@adacore.com>
2402
2403 * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
2404 3, since we now expect GCC 3 to do all the work.
2405
2406 2005-03-17 Javier Miranda <miranda@adacore.com>
2407
2408 * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
2409 of one barrier to avoid wrong usage of this attribute.
2410
2411 * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
2412 First_Private_Entity.
2413
2414 * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
2415 the subprogram against wrong usage.
2416 Adapt the code to traverse the entities in the
2417 scope of a record_type because in addition to its usage regarding
2418 packages, this subprogram is also called by Expand_N_Freeze_Entity
2419 to install the visible declarations of the enclosing scope of a
2420 record_type_with_private to establish the proper visibility before
2421 freezing the entity and related subprograms.
2422
2423 2005-03-17 Ed Schonberg <schonberg@adacore.com>
2424
2425 * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
2426 entry formals.
2427
2428 2005-03-17 Thomas Quinot <quinot@adacore.com>
2429
2430 * exp_ch3.adb (Check_Attr): New subprogram.
2431 (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
2432 into a new Check_Attr subprogram, in order to provide a more
2433 explanatory error message (including the name of the missing attribute).
2434 (Stream_Operation_OK): Renamed from Stream_Operations_OK. This
2435 subprogram determines whether a default implementation exists for a
2436 given stream attribute.
2437 (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
2438 Determine whether to generate a default implementation for each stream
2439 attribute separately, as this depends on the specific attribute.
2440
2441 * exp_strm.adb (Make_Field_Attribute): For the case of an illegal
2442 limited extension where a stream attribute is missing for a limited
2443 component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
2444 generate a bogus reference to the missing attribute to prevent
2445 cascaded errors. Instead, generate a null statement.
2446
2447 * sem_attr.adb (Check_Stream_Attribute): A stream attribute is
2448 available for a limited type if it has been specified for an ancestor
2449 of the type.
2450
2451 2005-03-17 Ed Schonberg <schonberg@adacore.com>
2452
2453 * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
2454 entity is an operator.
2455
2456 2005-03-17 Thomas Quinot <quinot@adacore.com>
2457
2458 * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
2459 spec, to make this predicate available to other units.
2460
2461 * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
2462 reimplementing it.
2463
2464 * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
2465 when no distribution runtime library is available.
2466
2467 * sem_res.adb, sem_dist.adb: Disable expansion of remote
2468 access-to-subprogram types when no distribution runtime library is
2469 available.
2470 (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
2471 predicate available to other units.
2472
2473 * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
2474 spec, to make this predicate available to other units.
2475
2476 2005-03-17 Vincent Celier <celier@adacore.com>
2477
2478 * make.adb (Insert_Project_Sources): Make sure the Q is always
2479 initialized.
2480
2481 * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
2482 the default for the tree, not the global default naming.
2483
2484 * prj-proc.adb (Recursive_Process): No need to put the default naming
2485 in the project data, it's already there.
2486
2487 2005-03-17 Doug Rupp <rupp@adacore.com>
2488
2489 * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
2490
2491 * 5xcrtl.ads: Renamed to...
2492 * s-crtl-vms64.ads: ...this new file
2493
2494 2005-03-17 Robert Dewar <dewar@adacore.com>
2495
2496 PR ada/19519
2497
2498 * namet.adb (Copy_One_Character): Set proper wide character encoding
2499 for upper half character if we have upper half encoding.
2500
2501 2005-03-17 Robert Dewar <dewar@adacore.com>
2502
2503 * par.adb (Par): Improved msg for attempt to recompile predefined unit
2504
2505 2005-03-17 Thomas Quinot <quinot@adacore.com>
2506
2507 * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
2508 tagged limited type, the TSS is a newly built renaming declaration:
2509 insert it using Set_TSS, not Copy_TSS.
2510
2511 2005-03-17 Javier Miranda <miranda@adacore.com>
2512
2513 * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
2514 Try_Object_Operation): Analyze the object that is accessible
2515 through the prefix of the subprogram call before we apply
2516 the transformation of the object-operation notation.
2517
2518 2005-03-17 Jose Ruiz <ruiz@adacore.com>
2519
2520 * s-taprob.adb (Initialize_Protection): Initialize the protected
2521 object's owner to Null_Task.
2522 (Lock): If pragma Detect_Blocking is in effect and the caller of this
2523 procedure is already the protected object's owner then Program_Error
2524 is raised. In addition the protected object's owner is updated.
2525 (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
2526 of this procedure is already the protected object's owner then
2527 Program_Error is raised.
2528 In addition the protected object's owner is updated.
2529 (Unlock): Remove the ownership of the protected object.
2530
2531 * s-taprob.ads (Protection): Add the field Owner, used to store the
2532 protected object's owner.
2533 This component is needed for detecting one type of potentially blocking
2534 operations (external calls on a protected subprogram with the same
2535 target object as that of the protected action). Document the rest of
2536 the components.
2537
2538 * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
2539 Initialize the protected object's owner to Null_Task.
2540 (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
2541 caller of this procedure is already the protected object's owner then
2542 Program_Error is raised.
2543 Do not raise Program_Error when this procedure is called from a
2544 protected action.
2545 (Unlock_Entries): Remove the ownership of the protected object.
2546 (Lock_Entries): If pragma Detect_Blocking is in effect and the caller
2547 of this procedure is already the protected object's owner then
2548 Program_Error is raised.
2549 Do not raise Program_Error when this procedure is called from
2550 a protected action.
2551
2552 * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
2553 used to store the protected object's owner.
2554
2555 * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
2556 effect and this procedure (a potentially blocking operation) is called
2557 from whithin a protected action, Program_Error is raised.
2558 (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
2559 and this procedure (a potentially blocking operation) is called from
2560 whithin a protected action, Program_Error is raised.
2561
2562 2005-03-17 Vincent Celier <celier@adacore.com>
2563 Nicolas Setton <setton@adacore.com>
2564
2565 * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
2566 switch, not supported by the linker on Darwin. Add '_' before
2567 <library>init, as this character is added unconditionally by the
2568 compiler.
2569 (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
2570 correct one ".dylib". This fixes detection of the archive files when
2571 building library projects.
2572
2573 2005-03-17 Vincent Celier <celier@adacore.com>
2574
2575 * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
2576 -gnat83, -gnat95 and -gnat05.
2577
2578 2005-03-17 Vasiliy Fofanov <fofanov@adacore.com>
2579
2580 * gnat_ugn.texi: Document gnatmem restriction
2581
2582 2005-03-17 Thomas Quinot <quinot@adacore.com>
2583
2584 * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
2585 cleanup
2586
2587 2005-03-17 Robert Dewar <dewar@adacore.com>
2588
2589 * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
2590 a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
2591 s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
2592
2593 * casing.adb: Comment improvements
2594
2595 2005-03-17 Pascal Obry <obry@adacore.com>
2596
2597 * g-expect.adb: Minor reformatting.
2598
2599 2005-03-15 Zack Weinberg <zack@codesourcery.com>
2600
2601 * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
2602 (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
2603 to dependencies.
2604
2605 2005-03-15 Vincent Celier <celier@adacore.com>
2606
2607 * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
2608 Add new parameter In_Tree to specify the project tree: needed
2609 by the project manager. Adapt to changes in project manager
2610 using new parameter In_Tree.
2611
2612 2005-03-15 Jakub Jelinek <jakub@redhat.com>
2613
2614 * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
2615 ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
2616 ada/bldtools to avoid make -jN failures.
2617
2618 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
2619
2620 * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
2621 to NULL_TREE on entry.
2622
2623 2005-03-15 Robert Dewar <dewar@adacore.com>
2624
2625 * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
2626 system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
2627 system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
2628 system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
2629 system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
2630 system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
2631 system-interix.ads, system-solaris-sparc.ads,
2632 system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
2633 system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
2634 system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
2635 system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
2636 system-linux-s390.ads, system-linux-s390x.ads: Add line defining
2637 Compiler_System_Version to be False.
2638
2639 * opt.ads: Add new flag Opt.Address_Is_Private
2640
2641 * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
2642 Add new parameter Compiler_System_Version to avoid checking for
2643 completeness of parameters when compiler is compiling itself.
2644 Allows old versions of GNAT to be compiled with new compiler.
2645
2646 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
2647
2648 * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
2649 (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
2650 calling thread.
2651 (Stack_Base_Available): New flag.
2652 (Get_Page_Size): New overloaded functions imported from C.
2653 (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
2654 PROT_ON, PROT_OFF): New constants.
2655 (mprotect): New function imported from C.
2656 (pthread_teb_t): New record type.
2657
2658 * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
2659 (Create_Task): Account for the Yellow Zone and the guard page.
2660
2661 2005-03-15 Vincent Celier <celier@adacore.com>
2662
2663 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
2664 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
2665 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
2666 mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
2667 Library_File_Name_For): Add new parameter In_Tree
2668 to specify the project tree: needed by the project manager.
2669 Adapt to changes in project manager using new parameter In_Tree.
2670 Remove local imports, use functions in System.CRTL.
2671
2672 * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
2673 to use the project manager.
2674
2675 * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
2676 In_Tree to designate the project tree. Adapt to changes in the project
2677 manager, using In_Tree.
2678
2679 * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
2680 Copy_Interface_Sources): Add new parameter In_Tree to specify the
2681 project tree: needed by the project manager.
2682 (Build_Library): Check that Arg'Length >= 6 before checking if it
2683 contains "--RTS=...".
2684
2685 * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
2686 Library_File_Name_For): Add new parameter In_Tree to specify the
2687 project tree: needed by the project manager.
2688
2689 * prj.ads, prj.adb: Major modifications to allow several project trees
2690 in memory at the same time.
2691 Change tables to dynamic tables and hash tables to dynamic hash
2692 tables. Move tables and hash tables from Prj.Com (in the visible part)
2693 and Prj.Env (in the private part). Move some constants from the visible
2694 part to the private part. Make other constants deferred.
2695 (Project_Empty): Make it a variable, not a function
2696 (Empty_Project): Add parameter Tree. Returns the data with the default
2697 naming data of the project tree Tree.
2698 (Initialize): After updating Std_Naming_Data, copy its value to the
2699 component Naming of Project Empty.
2700 (Register_Default_Naming_Scheme): Use and update the default naming
2701 component of the project tree, instead of the global variable
2702 Std_Naming_Data.
2703 (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
2704 Tree is not defaulted, return the default naming data of the Tree.
2705 (Initial_Buffer_Size): Constant moved from private part
2706 (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
2707 variables initialized in procedure Initialize.
2708 (Add_To_Buffer): Add two in out parameters to replace global variables
2709 Buffer and Buffer_Last.
2710 (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
2711 functions.
2712 Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
2713 hash tables.
2714 (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
2715 for the project tree.
2716 (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
2717 constant at the beginning of the package spec, so that they cane be used
2718 in subprograms before their full declarations.
2719 (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
2720 (Empty_Project): Add parameter of type Project_Node_Ref
2721 (Private_Project_Tree_Data): Add component Default_Naming of type
2722 Naming_Data.
2723 (Buffer, Buffer_Last): remove global variables
2724 (Add_To_Buffer): Add two in out parameters to replace global variables
2725 Buffer and Buffer_Last.
2726 (Current_Packages_To_Check): Remove global variable
2727 (Empty_Name): Move to private part
2728 (No-Symbols): Make it a constant
2729 (Private_Project_Tree_Data): New type for the private part of the
2730 project tree data.
2731 (Project_Tree_Data): New type for the data of a project tree
2732 (Project_Tree_Ref): New type to designate a project tree
2733 (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
2734 for the project tree.
2735
2736 * prj-attr.ads: Add with Table; needed, as package Prj no longer
2737 imports package Table.
2738
2739 * prj-com.adb: Remove empty, no longer needed body
2740
2741 * prj-com.ads: Move most of the content of this package to package Prj.
2742
2743 * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
2744 designate the project node tree and Packages_To_Check to replace
2745 global variable Current_Packages_To_Check.
2746 Add new parameters In_Tree and Packages_To_Check to local subprograms,
2747 when needed. Adapt to changes in project manager with project node tree
2748 In_Tree.
2749
2750 * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
2751 project tree to most subprograms. Move tables and hash tables to
2752 private part of package Prj.
2753 Adapt to changes in project manager using project tree In_Tree.
2754
2755 * prj-makr.adb (Tree): New constant to designate the project node tree
2756 Adapt to change in project manager using project node tree Tree
2757
2758 * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
2759 display the Library_Src_Dir and the Library_Dir.
2760 Add new parameter In_Tree to designate the project node tree to most
2761 subprograms. Adapt to changes in the project manager, using project tree
2762 In_Tree.
2763 (Check_Naming_Scheme): Do not alter the casing on platforms where
2764 the casing of file names is not significant.
2765 (Check): Add new parameter In_Tree to designate the
2766
2767 * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
2768 designate the project tree.
2769 Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
2770
2771 * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
2772 to replace those that were in the private part of package Prj.
2773 Add new parameter In__Tree to designate the project node tree to most
2774 subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
2775 (Post_Parse_Context_Clause): When specifying the project node of a with
2776 clause, indicate that it is a limited with only if there is "limited"
2777 in the with clause, not necessarily when In_Limited is True.
2778 (Parse): Add new parameter In_Tree to designate the project node tree
2779
2780 * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
2781 designate the project node tree. Adapt to change in Prj.Tree with
2782 project node tree In_Tree.
2783
2784 * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
2785 tree In_Tree in the call to function Empty_Process to give its initial
2786 value to the project data Processed_Data.
2787 Add new parameters In_Tree to designate the project tree and
2788 From_Project_Node_Tree to designate the project node tree to several
2789 subprograms. Adapt to change in project manager with project tree
2790 In_Tree and project node tree From_Project_Node_Tree.
2791
2792 * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
2793 to replace those that were in the private part of package Prj.
2794 Add new parameter In_Tree to designate the project node tree to most
2795 subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
2796
2797 * prj-tree.ads, prj-tree.adb: Add new parameter of type
2798 Project_Node_Tree_Ref to most subprograms.
2799 Use this new parameter to store project nodes in the designated project
2800 node tree.
2801 (Project_Node_Tree_Ref): New type to designate a project node tree
2802 (Tree_Private_Part): Change table to dynamic table and hash tables to
2803 dynamic hash tables.
2804
2805 * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
2806 the project tree to most subprograms. Adapt to changes in project
2807 manager using project tree In_Tree.
2808
2809 * makegpr.adb (Project_Tree): New constant needed to use project
2810 manager.
2811
2812 2005-03-15 Olivier Hainque <hainque@adacore.com>
2813
2814 * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
2815 for sigactions with SA_SIGINFO set. Call
2816 __gnat_adjust_context_for_raise before raising, to perform the
2817 potentially required adjustments to the machine context for the GCC
2818 unwinder.
2819
2820 * raise.h (__gnat_adjust_context_for_raise): New prototype.
2821
2822 * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
2823 Adjust PC by one in the provided machine context.
2824 (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
2825 so that the handler is passed the context structure to adjust prior to
2826 the raise.
2827 (__gnat_error_handler) HPUX: Adjust the signature to match what an
2828 SA_SIGINFO sigaction should look like. Call
2829 __gnat_adjust_context_for_raise before actually raising.
2830 (__gnat_adjust_context_for_raise): Default noop to help PC
2831 adjustments before raise from signal handlers.
2832 (__gnat_error_handler): Indirectly call a predicate function to
2833 determine if a condition should be resignaled or not.
2834 (__gnat_set_resignal_predicate): User interface to modify the predicate.
2835 (__gnat_default_resignal_p): Default GNAT predicate.
2836
2837 2005-03-15 Doug Rupp <rupp@adacore.com>
2838
2839 * adaint.c: Prefix #include of VMS system header files with vms/
2840 [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
2841 Do not define a dummy function "convert_addresses" under Darwin,
2842 not needed.
2843
2844 * tb-alvms.c, expect.c: Prefix #include of VMS system header files
2845 with vms/
2846
2847 2005-03-15 Nicolas Setton <setton@adacore.com>
2848
2849 * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
2850 PPC/AIX.
2851
2852 2005-03-15 Robert Dewar <dewar@adacore.com>
2853
2854 * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
2855 AI-386.
2856
2857 * a-retide.ads: Minor comment changes
2858
2859 2005-03-15 Robert Dewar <dewar@adacore.com>
2860
2861 * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
2862 a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
2863 Realloc_For_Chunk to private part of package.
2864 New subprograms for AI-301
2865
2866 * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
2867 Get_Line procedure.
2868 Avoid unnecessary use of Get/Set_Wide_String
2869
2870 2005-03-15 Robert Dewar <dewar@adacore.com>
2871
2872 PR ada/13470
2873
2874 * a-stunau.ads, a-stunau.adb:
2875 Change interface to allow efficient (and correct) implementation
2876 The previous changes to allow extra space in unbounded strings had
2877 left this interface a bit broken.
2878
2879 * a-suteio.adb: Avoid unnecessary use of Get/Set_String
2880
2881 * g-spipat.ads, g-spipat.adb: New interface for Get_String
2882 Minor reformatting (function specs)
2883
2884 * g-spitbo.adb: New interface for Get_String
2885
2886 * g-spitbo.ads: Minor reformatting
2887
2888 * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
2889
2890 * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
2891
2892 2005-03-15 Javier Miranda <miranda@adacore.com>
2893 Robert Dewar <dewar@adacore.com>
2894 Thomas Quinot <quinot@adacore.com>
2895 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2896
2897 * atree.ads, atree.adb: Add support for Elist24 field
2898
2899 * atree.h: Fix wrong definition of Field27
2900 Add support for Elist16 field
2901 Add support for Elist24 field
2902
2903 * einfo.ads, einfo.adb (Abstract_Interfaces,
2904 Set_Abstract_Interfaces): New subprograms.
2905 (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
2906 subprograms.
2907 (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
2908 entities rather than a single node.
2909 (Is_Interface, Set_Is_Interface): New subprogram
2910 (First_Tag_Component): New syntesized attribute
2911 (Next_Tag_Component): New synthesized attribute
2912 (Write_Entity_Flags): Upgraded to write Is_Interface
2913 (Write_Field24_Name): Upgraded to write Abstract_Interfaces
2914 (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
2915 (Task_Body_Procedure): New subprogram to read this attribute.
2916 (Set_Task_Body_Procedure): New subprogram to set this attribute.
2917 (Has_Controlled_Component): Now applies to all entities.
2918 This is only a documentation change, since it always worked to apply
2919 this to other than composite types (yielding false), but now this is
2920 official.
2921 Update documentation on Must_Be_Byte_Aligned for new spec
2922
2923 * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
2924 exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
2925 uses of the Access_Disp_Table attribute to reference the first dispatch
2926 table associated with a tagged type. As
2927 part of the implementation of abstract interface types,
2928 Access_Disp_Table has been redefined to contain a list of dispatch
2929 tables (rather than a single dispatch table).
2930 Similarly, upgrade all the references to Tag_Component by the
2931 new attribute First_Tag_Component.
2932 (Find_Inherited_TSS): Moved to exp_tss.
2933 Clean up test in Expand_N_Object_Declaration for cases
2934 where we need to do a separate assignment of the initial value.
2935 (Expand_N_Object_Declaration): If the expression in the
2936 declaration of a tagged type is an aggregate, no need to generate an
2937 additional tag assignment.
2938 (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
2939 is to be deleted.
2940 Bit packed array ops are only called if operands are known to be
2941 aligned.
2942 (Component_Equality): When returning an N_Raise_Program_Error statement,
2943 ensure that its Etype is set to Empty to avoid confusing GIGI (which
2944 expects that only expressions have a bona fide type).
2945 (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
2946 determine the amount of data to be copied.
2947
2948 * par.adb (P_Interface_Type_Definition): New subprogram that parses the
2949 new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
2950 INTERFACE_TYPE_DEFINITION ::=
2951 [limited | task | protected | synchronized] interface
2952 [AND interface_list]
2953
2954 * par-ch3.adb (P_Type_Declaration): Modified to give support to
2955 interfaces.
2956 (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
2957 interfaces.
2958 (P_Interface_Type_Definition): New subprogram that parses the new
2959 syntax rule of Ada 2005 interfaces
2960 (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
2961 messages by the correct RENAMES (quotes removed).
2962
2963 * sem_prag.adb: Upgrade all the references to Tag_Component by the new
2964 attribute First_Tag_Component.
2965
2966 * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
2967 (Interface_List, Set_Interface_List): New subprograms.
2968 (Interface_Present, Set_Interface_Present): New subprograms.
2969 (Limited_Present, Set_Limited_Present): Available also in derived
2970 type definition nodes.
2971 (Protected_Present, Set_Protected_Present): Available also in
2972 record type definition and
2973 derived type definition nodes.
2974 (Synchronized_Present, Set_Synchronized_Present): New subprograms.
2975 (Task_Present, Set_Task_Present): New subprogram.
2976 (Task_Body_Procedure): Removed.
2977 (Set_Task_Body_Procedure): Removed.
2978 These subprogram have been removed because the attribute
2979 Task_Body_Procedure has been moved to the corresponding task type
2980 or task subtype entity to leave a field free to store the list
2981 of interfaces implemented by a task (for AI-345)
2982 Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
2983 (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
2984 expression flag Do_Range_Check
2985 (Exception_Junk): Change to Flag7 to accomodate above change
2986 (Box_Present, Default_Name, Specification, Set_Box_Present,
2987 Set_Default_Name, Set_Specification): Expand the expression
2988 "X in N_Formal_Subprogram_Declaration" into the corresponding
2989 two comparisons. Required to use the csinfo tool.
2990
2991 * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
2992 "with string" given.
2993
2994 * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
2995 expression given.
2996
2997 * par-ch11.adb (P_Raise_Statement): Recognize with string expression
2998 in 2005 mode
2999
3000 * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
3001 attribute Task_Body_Procedure rather than the old semantic field that
3002 was available in the task_type_declaration node.
3003
3004 * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
3005 interface type definitions.
3006 (P_Formal_Derived_Type_Definition): Modified to handle the list of
3007 interfaces.
3008
3009 * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
3010 task type declaration.
3011 (P_Protected): Modified to handle the list of interfaces in a
3012 protected type declaration.
3013
3014 2005-03-15 Doug Rupp <rupp@adacore.com>
3015 Vincent Celier <celier@adacore.com>
3016
3017 * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
3018 (Gen_Output_File_C): Likewise.
3019 (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
3020
3021 2005-03-15 Thomas Quinot <quinot@adacore.com>
3022
3023 * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
3024 is an N_Raise_Constraint_Error node, create a new copy of it without
3025 going through a call to Duplicate_Subexpr.
3026
3027 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
3028 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3029 Nicolas Setton <setton@adacore.com>
3030 Ed Schonberg <schonberg@adacore.com>
3031
3032 PR ada/19900
3033 PR ada/19408
3034 PR ada/19140
3035 PR ada/20255
3036
3037 * decl.c (gnat_to_gnu_field): Reject aliased components with a
3038 representation clause that prescribes a size not equal to the rounded
3039 size of their types.
3040 (gnat_to_gnu_entity, case E_Component): Always look at
3041 Original_Record_Component if Present and not the entity.
3042 (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
3043 of tagged extension types by not making field for components that are
3044 inside the parent.
3045 (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
3046 (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
3047 expression to the type of the object when the object is constant.
3048 Reverse defer_debug_incomplete_list before traversing it, so that trees
3049 are processed in the order at which they were added to the list. This
3050 order is important when using the stabs debug format.
3051 If we are deferring the output of debug information, also defer this
3052 output for a function return type.
3053 When adding fields to a record, prevent emitting debug information
3054 for incomplete records, emit the information only when the record is
3055 complete.
3056 (components_to_record): New parameter defer_debug.
3057 (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
3058 (gnat_to_gnu_field_decl): New function.
3059 (substitution_list, annotate_rep): Call it.
3060 (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
3061 (gnat_to_gnu_entity, case E_Record_Type): Likewise.
3062 No longer update discriminants to not be a COMPONENT_REF.
3063 (copy_alias_set): Strip padding from input type; also handle
3064 unconstrained arrays properly.
3065
3066 * gigi.h (write_record_type_debug_info): New function.
3067 Convert to use ANSI-style prototypes. Remove unused
3068 declarations for emit_stack_check, elab_all_gnat and
3069 set_second_error_entity.
3070 (gnat_to_gnu_field_decl): New decl.
3071
3072 * utils.c (write_record_type_debug_info): New function.
3073 (finish_record_type): Delegate generation of debug information to
3074 write_record_type_debug_info.
3075 (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
3076 (update_pointer_to): Fix pasto.
3077 (convert) <UNION_TYPE>: Accept slight type variations when
3078 converting to an unchecked union type.
3079
3080 * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
3081 replace the N_Freeze_Entity with a null statement.
3082
3083 * freeze.adb (Freeze_Expression): If the freeze nodes are generated
3084 within a constrained subcomponent of an enclosing record, place the
3085 freeze nodes in the scope stack entry for the enclosing record.
3086 (Undelay_Type): New Subprogram.
3087 (Set_Small_Size): Pass T, the type to modify; all callers changed.
3088 (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
3089 within records; allow them to have freeze nodes if their base types
3090 aren't frozen yet.
3091
3092 * exp_util.adb (Remove_Side_Effects): Properly test for
3093 Expansion_Delayed and handle case when it's inside an
3094 N_Qualified_Expression.
3095
3096 * sem_ch3.adb (Derived_Type_Declaration): New predicate
3097 Comes_From_Generic, to recognize accurately that the parent type in a
3098 derived type declaration can be traced back to a formal type, because
3099 it is one or is derived from one, or because its completion is derived
3100 from one.
3101 (Constrain_Component_Type): If component comes from source and has no
3102 explicit constraint, no need to constrain in in a subtype of the
3103 enclosing record.
3104 (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
3105 Minor change to propagate Is_Ada_2005 flag
3106
3107 * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
3108 Expansion_Delayed is False.
3109 (assoc_to_constructor): Ignore fields that have a
3110 Corresponding_Discriminant.
3111 (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
3112 function returns "by target", dereference the target pointer using the
3113 type of the actual return value.
3114 <all>: Be prepared for a null gnu_result.
3115 (processed_inline_subprograms): Check flag_really_no_inline
3116 instead of flag_no_inline.
3117 (set_second_error_entity): Remove unused function.
3118 (gnat_to_gnu, case N_Selected_Component): Call
3119 gnat_to_gnu_field_decl.
3120 (assoc_to_constructor): Likewise.
3121
3122 2005-03-15 Robert Dewar <dewar@adacore.com>
3123 Ed Schonberg <schonberg@adacore.com>
3124 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3125
3126 * exp_pakd.adb (Create_Packed_Array_Type): Do not set
3127 Must_Be_Byte_Aligned for cases where we do not need to use a
3128 System.Pack_nn unit.
3129
3130 * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
3131 as procedures.
3132 Needed now that we do some processing for IN parameters as well. This
3133 may well fix some unrelated errors.
3134 (Expand_Call): Handle case of unaligned objects (in particular those
3135 that come from packed arrays).
3136 (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
3137 renamed entity is an inherited operation, re-expand the call using the
3138 original operation, which is the one to call.
3139 Detect attempt to inline parameterless recursive subprogram.
3140 (Represented_As_Scalar): Fix to work properly with private types
3141 (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
3142 accurate estimate. Yields True in far fewer cases than before,
3143 improving the quality of code that depends on this test.
3144
3145 * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
3146 over both visible and private declarations to remove them from tree,
3147 and mark subprograms declared in package as eliminated, to prevent
3148 spurious use in subsequent compilation of generic units in the context.
3149
3150 * exp_util.ads: Minor cleanup in variable names
3151
3152 * sem_eval.ads, sem_eval.adb: Minor reformatting
3153 (Compile_Time_Known_Bounds): New function
3154
3155 2005-03-15 Ed Schonberg <schonberg@adacore.com>
3156
3157 * exp_ch7.adb (Convert_View): Use base types of underlying types when
3158 determining whether an unchecked conversion is needed for the argument
3159 of an initialization call.
3160
3161 2005-03-15 Ed Schonberg <schonberg@adacore.com>
3162
3163 * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
3164 that appears in the instantiation rather than the internal subtype
3165 generated in the wrapper package, to avoid anomalies in gigi when the
3166 target is derived from a private type whose full view is an access type.
3167
3168 2005-03-15 Robert Dewar <dewar@adacore.com>
3169
3170 * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
3171 not needed.
3172 Add documentation to replace the use of this flag
3173 Fix kludge for Maximum_Alignment on x86 so that it does not apply to
3174 the x86_64.
3175
3176 2005-03-15 Thomas Quinot <quinot@adacore.com>
3177
3178 * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
3179 here from exp_attr so it can be shared between exp_attr and exp_dist.
3180 (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
3181 all TSS names, not a subset thereof, and the previous name introduced
3182 an unnecessarily confusion that a distinction might exist between
3183 "OK" TSS names and some "not OK" TSS names.
3184
3185 2005-03-15 Doug Rupp <rupp@adacore.com>
3186
3187 * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
3188 Command_Name.
3189
3190 2005-03-15 Pascal Obry <obry@adacore.com>
3191 Eric Botcazou <ebotcazou@adacore.com>
3192
3193 PR ada/20226
3194 PR ada/20344
3195
3196 * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
3197 when IN_RTS. This is to work around a bootstrap path problem.
3198
3199 * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
3200 table and pass it to __gnat_install_SEH_handler().
3201 (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
3202
3203 * lang.opt: Fix specification of -fRTS=.
3204
3205 2005-03-15 Doug Rupp <rupp@adacore.com>
3206 Bernard Banner <banner@adacore.com>
3207 Vincent Celier <celier@adacore.com>
3208 Arnaud Charlet <charlet@adacore.com>
3209
3210 PR ada/6852
3211 This change works fine when gnatlib is built from the gcc directory,
3212 but does not work when using the libada Makefile, since GCC_FOR_TARGET
3213 is not passed to ada/Makefile.in, so more work is needed by a
3214 Makefile/configure expert.
3215
3216 * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
3217 set GMEM_LIB on ia64 linux to add optional support for gnatmem.
3218 Setup gnatlink switch -M for x86_64 linux, as it is already setup
3219 for Linux x86.
3220 (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
3221 Run ranlib on libgccprefix.a
3222 Define PREFIX_OBJS for Darwin, to build libgccprefix.
3223 (ADA_INCLUDE_SRCS): Split Ada packages.
3224
3225 2005-03-15 Robert Dewar <dewar@adacore.com>
3226
3227 * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
3228
3229 * impunit.adb: Add GNAT.UTF_32
3230
3231 * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
3232
3233 * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
3234 now uses GNAT.UTF_32).
3235
3236 * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
3237 capabilities for categorizing characters using Unicode categories
3238
3239 2005-03-15 Ed Schonberg <schonberg@adacore.com>
3240
3241 * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
3242 instantiation that has been rewritten as a package body, retrieve spec
3243 to generate proper name for implicit_with_clause.
3244 (Install_Parents): Recognize a parent that is an instantiation but has
3245 been rewritten as a package declaration during analysis.
3246
3247 2005-03-15 Javier Miranda <miranda@adacore.com>
3248 Ed Schonberg <schonberg@adacore.com>
3249
3250 * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
3251 parameter reported some error we immediately return. This improves the
3252 behaviour of the frontend in case of errors.
3253 (Install_Parent, Remove_Parent): Introduce new flag
3254 Parent_Unit_Visible, to preserve the proper visibility of the ultimate
3255 ancestor of a generic child unit, when the child is being instantiated.
3256 (Inline_Instance_Body): If we are compiling the private
3257 part or the body of a child unit, restore the proper visibility of the
3258 parents after compiling the instance body.
3259
3260 2005-03-15 Ed Schonberg <schonberg@adacore.com>
3261 Javier Miranda <miranda@adacore.com>
3262
3263 PR ada/15608
3264 * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
3265 of a private type, in which case it is underlying_type that denotes
3266 the proper task. Also modified to use the new entity attribute
3267 that is directly available in the task type and task subtype entities
3268 (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
3269 arrays when other dimensions than the first are constrained by
3270 discriminants of an enclosing record.
3271 (Insert_Explicit_Dereference): If the prefix is an indexed component or
3272 a combination of indexed and selected components, find ultimate entity
3273 and generate the appropriate reference for it, to suppress spurious
3274 warnings.
3275 (Note_Possible_Modification): If an entity name has no entity, return.
3276 (Is_Variable): A function call never denotes a variable.
3277 (Requires_Transient_Scope): For record types, recurse only on
3278 components, not on internal subtypes that may have been generated for
3279 constrained components.
3280
3281 2005-03-15 Ed Schonberg <schonberg@adacore.com>
3282
3283 * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
3284 Eliminated as candidates for resolution. Both efficient, and avoids
3285 anomalies with operators declared in deleted code.
3286 (Process_Implicit_Dereference_Prefix): Use this procedure whenever
3287 expansion is disabled (as when compiling a generic) to prevent spurious
3288 warnings on prefixes of selected components.
3289
3290 2005-03-15 Ed Schonberg <schonberg@adacore.com>
3291
3292 * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
3293 attached to a list before checking whether it appears in the private
3294 declarations of the current package.
3295 (Make_Inequality_Operator): Insert declaration in proper declarative
3296 list rather than just setting the Parent field, so that
3297 Is_Private_Declaration can handle it properly.
3298
3299 2005-03-15 Ed Schonberg <schonberg@adacore.com>
3300
3301 * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
3302 a renaming a body, check that the renamed subprogram in not intrinsic.
3303 (Find_Direct_Name): If several use_visible entities hide
3304 each other, and the context is a predefined file compiled through
3305 rtsfind, keep only the entity that comes from a predefined file.
3306
3307 2005-03-15 Geert Bosch <bosch@adacore.com>
3308
3309 * s-fatgen.adb (Valid): Extend special exceptions to account for long
3310 long float padding to also cover AMD64 and IA64.
3311
3312 2005-03-15 Gary Dismukes <dismukes@adacore.com>
3313
3314 * s-imgwch.adb: Add with and use of Interfaces.
3315 (Img_Wide_Character): Change type of Val to Unsigned_16.
3316 (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
3317
3318 2005-03-15 Matthew Gingell <gingell@adacore.com>
3319
3320 * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
3321
3322 2005-03-15 Robert Dewar <dewar@adacore.com>
3323
3324 * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
3325
3326 * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
3327
3328 * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
3329
3330 2005-03-15 Robert Dewar <dewar@adacore.com>
3331
3332 * s-bitops.adb, s-bitops.ads,
3333 s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
3334 s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
3335 tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
3336 s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
3337 s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
3338 s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
3339 s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
3340 s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
3341 reformatting.
3342
3343 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
3344
3345 * utils2.c (build_binary_op): Fix typo.
3346
3347 2005-03-15 Doug Rupp <rupp@adacore.com>
3348
3349 * s-crtl.ads (popen,pclose): New imports.
3350
3351 2005-03-15 Cyrille Comar <comar@adacore.com>
3352
3353 * comperr.adb (Compiler_Abort): remove references to obsolete
3354 procedures in the bug boxes for various GNAT builds.
3355
3356 2005-03-15 Vincent Celier <celier@adacore.com>
3357
3358 * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
3359
3360 2005-03-15 Geert Bosch <bosch@adacore.com>
3361 Arnaud Charlet <charlet@adacore.com>
3362 Robert Dewar <dewar@adacore.com>
3363 Cyrille Comar <comar@adacore.com>
3364 Sergey Rybin <rybin@adacore.com>
3365
3366 * gnat_ugn.texi: Remove extended inline assembly example, as it was far
3367 too specific and long-winded to be appropriate for the GNAT User's
3368 Guide.
3369 Warn about use of GCC switches not documented in the GNAT User's Guide,
3370 as these may cause generated code to not conform to Ada semantics.
3371 Remove mention of -gdwarf-2 for sparc64, since this is now the default.
3372 Add documentation for -gnat95 and -gnat05 switches
3373 Remove paragraph documenting obsolete way to refer to third party
3374 libraries.
3375 Add a few references to Ada_05 that were missing.
3376 Update documentation on -gnatZ/-gnatL.
3377 Document limitation when using -m64 under Solaris.
3378 Change the "Name Casing" subsection of the pretty-printer section
3379 according to the changes in the dictionary processing.
3380
3381 * gnat_rm.texi: Document the Ada_05 pragma.
3382 Section on record representation clauses describes the new more
3383 relaxed rules about placement of large packed bit array components.
3384 Add documentation of GNAT.UTF_32
3385
3386 2005-03-12 Daniel Berlin <dberlin@dberlin.org>
3387
3388 * misc.c (gnat_post_options): Turn off structural
3389 aliasing for now.
3390
3391 2005-03-08 Laurent Guerby <laurent@guerby.net>
3392
3393 * system-linux-sparc.ads: Fix typo in previous commit.
3394
3395 2005-03-07 James A. Morrison <phython@gcc.gnu.org>
3396 Laurent Guerby <laurent@guerby.net>
3397
3398 PR ada/20035
3399 * system-linux-sparc.ads: New.
3400 * Makefile.in: Add sparc linux entry.
3401
3402 2005-02-27 Danny Smith <dannysmith@users.sourceforge.net>
3403
3404 * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
3405 parameters as unused.
3406
3407 2005-02-26 Nathanael Nerode <neroden@gcc.gnu.org>
3408 Partial merge from libada-gnattools-branch:
3409
3410 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
3411 * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
3412 into code in gnattools/Makefile.in. Remove direct dependencies on
3413 stamp-tools by tools clauses.
3414 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
3415 * config-lang.in: Add gnattools to $lang_dirs.
3416
3417 2005-02-13 Andrew Pinski <pinskia@physics.uc.edu>
3418
3419 PR ada/19942
3420 * utils.c (gnat_type_for_mode): Return null instead of ICE because
3421 we asked for an unknown mode.
3422
3423 2005-02-12 Richard Henderson <rth@redhat.com>
3424
3425 * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
3426 validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
3427
3428 2005-02-10 Andreas Jaeger <aj@suse.de>
3429
3430 * init.c (__gnat_initialize): Mark parameter as unused.
3431
3432 2005-02-09 Doug Rupp <rupp@adacore.com>
3433
3434 * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
3435 * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
3436
3437 2005-02-09 Doug Rupp <rupp@adacore.com>
3438
3439 * gnatchop.adb (dup, dup2),
3440 g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
3441
3442 * gnatlbr.adb (mkdir),
3443 mlib-tgt-vms-ia64.adb (popen, plose): Import with decc$ prefix.
3444
3445 * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
3446
3447 2005-02-09 Doug Rupp <rupp@adacore.com>
3448
3449 * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
3450
3451 2005-02-09 Robert Dewar <dewar@adacore.com>
3452 Thomas Quinot <quinot@adacore.com>
3453 Javier Miranda <miranda@adacore.com>
3454 Pascal Obry <obry@adacore.com>
3455 Ed Schonberg <schonberg@adacore.com>
3456 Doug Rupp <rupp@adacore.com>
3457 Gary Dismukes <dismukes@adacore.com>
3458 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3459
3460 * g-zstspl.ads: New file.
3461
3462 * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
3463
3464 * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
3465 Ada 95 mode
3466 Add definition of Wide_Wide_Space for AI-285
3467
3468 * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
3469 interface (to support Ada 95 and Ada 2005 units).
3470 Add Unbounded_IO files
3471 Add entries for Wide_Wide packages for AI-285
3472 Add list of containers packages to Ada 2005 unit list
3473
3474 * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
3475 support new Unbounded_IO package cleanly.
3476
3477 * g-utf_32.ads, g-utf_32.adb: New files.
3478
3479 * Makefile.rtl: Add entry for g-utf_32
3480 Add new files for Unbounded_IO
3481 Adjust make file for new AI-285 wide wide packages
3482 Add AI-302 containers to the run time.
3483
3484 * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
3485 a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
3486 subprograms for AI-301.
3487
3488 * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
3489
3490 * a-stunau.ads: Minor comment correction
3491
3492 * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
3493 etc.
3494 Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
3495 (Check_RPC): Update to match changes in expanded code.
3496 Clean up unused entity.
3497
3498 * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
3499 was not taken into account.
3500 This includes proper initialization with Normalize_Scalars.
3501 (Get_Simple_Init_Val): Major rewrite for initialize scalars and
3502 normalize scalars cases (particularly the latter) to do a better job
3503 of finding invalid representations.
3504
3505 * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
3506
3507 * s-strops.ads, s-strops.adb: Remove string normalize routines, never
3508 used
3509
3510 * exp_dist.adb: Add support for wide wide character type
3511 (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
3512 private part, generate stub bodies at the end of the private part,
3513 not the visible part.
3514 (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
3515 PolyORB support.
3516 (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
3517 generic wrapper to execute final processing after completing the
3518 expansion of the RPC receiver for an RACW.
3519
3520 * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
3521 packages and attributes.
3522 (Preset_Names): Addition of the new reserved words of Ada 2005,
3523 that is interface, overriding and synchronized.
3524 (Get_Pragma_Id): Give support to the use of the new reserved word
3525 "interface" as a pragma name.
3526 (Is_Pragma_Name): Give support to the use of the new reserved word
3527 "interface" as a pragma name.
3528 (Preset_Names): Add stream_size string for the Stream_Size Ada2005
3529 attribute implementation.
3530
3531 * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
3532 checks to entities that are output parameters of Asm operations.
3533 Handle the Stream_Size attribute.
3534 Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
3535
3536 * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
3537
3538 * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
3539 for second parameter being 0.0.
3540 Add support for wide wide character type.
3541 (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
3542
3543 * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
3544 s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
3545 s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
3546 s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
3547 for wide wide character cases.
3548
3549 * cstand.adb: Create entities for Wide_Wide_Character and
3550 Wide_Wide_String.
3551
3552 * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
3553 accordance with AI-258.
3554 Add new declarations for 16/32 bit C character types (Part of AI285)
3555
3556 * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
3557 (Obsolescent_Warning): New field
3558 (Rep_Clause): New local subprogram used to share code. Returns the rep
3559 clause for which the name is given in parameter.
3560 (Has_Stream_Size_Clause): New routine.
3561 (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
3562 (Address_Clause): Implementation is now using Rep_Clause.
3563 (Alignment_Clause): Idem.
3564 (Size_Clause): Idem.
3565
3566 * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
3567 entity in non-Ada 2005 mode and generate warning.
3568
3569 * par-prag.adb: Add handling of one argument form for pragma Ada_05.
3570 (Prag): Code cleanup. Remove old gnat pragma "overriding"
3571
3572 * sem_prag.adb: Add handling of one argument form for pragma Ada_05
3573 (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
3574 on the named unit if the pragma is not in the current compilation unit,
3575 so that elaboration calls in the current unit can set up an elaboration
3576 dependency on the named unit, as needed.
3577 (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
3578 subprogram as well as for subprograms declared within a package.
3579 (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
3580 pragma overriding.
3581
3582 * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
3583 to z) to avoid some instances of duplication for Wide_Wide packages.
3584
3585 * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
3586 characters.
3587
3588 * scn.adb: Char_Literal_Value field is now a Uint
3589
3590 * scng.adb: Significant rewrite to handle new Ada 2005 features
3591 allowing wide and wide wide characters in program text, e.g. for
3592 identifiers, as described in AI-285.
3593 (Set_Reserved): New procedure, makes setting up keywords cleaner.
3594 (Initialize_Scanner): Register the new reserved words of Ada 2005.
3595 (Scan): Give support to the new reserved words.
3596
3597 * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
3598 warning notifying that interface, overriding, and synchronized are
3599 new reserved words.
3600 (P_Pragma): Allow the use of the new reserved word "interface" as
3601 a pragma name.
3602
3603 * gnatls.adb, gnatbind.adb,
3604 ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
3605 identifiers named "interface" to "SAL_Interface".
3606
3607 * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
3608 (Structured Exception handling).
3609 (Gen_Main_C): Idem.
3610
3611 * bindgen.adb:
3612 (Gen_Main_Ada): Set the default exit code if specified.
3613 (Gen_Main_C): Likewise.
3614 Part of *DC20-006.
3615 (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
3616 Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
3617
3618 * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
3619 new -Xnnn switch.
3620
3621 * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
3622 has a collision with the new Ada 2005 "interface" reserved word.
3623
3624 * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
3625 generate a warning notifying that interface, overriding, and
3626 synchronized are new reserved words.
3627
3628 * scans.ads (Token_Type): Addition of the tokens corresponding to the
3629 new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
3630 and Tok_Synchronized.
3631
3632 * sem_res.adb (Resolve_Actuals): Change error messages to refer to
3633 "dispatching" rather than "primitive" operations, since dispatching
3634 calls are now allowed to abstract formal subprograms (which are not
3635 primitive).
3636 Char_Literal_Value field is now a Uint
3637 (Resolve_Slice): If the prefix is an access to an unconstrained array,
3638 compute the actual subtype of the designated object to impose the proper
3639 index constraints.
3640 (Resolve_Selected_Component): Do not insert an access check if the
3641 prefix is an access type: such a node is expanded into an explicit
3642 dereference, on which the access check is performed anyway. Removes
3643 expensive duplicate checks.
3644 (Resolve_Call): Use new flag Is_Obsolescent and field
3645 Obsolescent_Warning so that pragma Obsolescent works on library
3646 subprograms.
3647 Add support for wide wide character type
3648 (Resolve_Allocator): Replace the error message on wrong null-exclusion
3649 value by a warning message.
3650 (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
3651 as fixed-point, and one of the operands is non-static and universal, it
3652 can only be an illegal exponentiation operation, in which case there is
3653 no real value to retrieve.
3654
3655 * exp_strm.adb: Add support for wide wide character type
3656 (Build_Elementary_Input_Call): Compute the size of the stream element by
3657 querying the rep chain to find the Stream_Attribute attribute value.
3658 (Build_Elementary_Write_Call): Ditto.
3659
3660 * sem_aggr.adb: Char_Literal_Value field is now a Uint
3661 Add support for wide wide character type
3662 Replace the error messages on wrong null-exclusion value by warnings
3663 as described in Ada 2005.
3664 (Resolve_Extension_Aggregate): Document the fact that the error
3665 message on class-wide expressions in extensions aggregates.
3666
3667 * sem_case.adb: Add support for wide wide character type
3668
3669 * sem_ch13.adb: Add support for wide wide character type
3670 (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
3671
3672 * sem_ch3.adb: Add support for wide wide character type
3673 (Process_Subtype): If constraint is illegal for the type, set Ekind of
3674 now-useless Itype, to prevent cascaded errors on a compiler built
3675 without -gnatp.
3676
3677 * sem_ch8.adb: Add with and use of Sem_Disp.
3678 (Analyze_Subprogram_Renaming): Replace unclean uses of
3679 Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
3680 of Corresponding_Spec to Empty).
3681 (Attribute_Renaming): Replace use of Corresponding_Spec with
3682 Corresponding_ Formal_Spec and simplify condition.
3683 (Use_One_Package): Check that scope of homonym of identifier is defined,
3684 before checking whether it is a wrapper package.
3685 Add support for wide wide character type
3686
3687 * sem_eval.adb: Add support for wide wide character type.
3688 (Eval_Arithmetic_Op): Check for compile time known signed integer
3689 overflow in the non-static case.
3690 (Subtypes_Statically_Match): A formal scalar type and its base type do
3691 not statically match.
3692
3693 * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
3694 "not in" for test of N_Formal_Subprogram_Declaration (which is now a
3695 subtype).
3696 (Unit_Declaration_Node): Ditto.
3697 (Is_Variable_Prefix): For the case of an indexed component whose prefix
3698 has a packed array type, the prefix has been rewritten into a type
3699 conversion. Determine variable-ness from the converted expression.
3700 Handle wide wide character cases.
3701
3702 * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
3703
3704 * stringt.ads, stringt.adb: Handle full UTF-32 range.
3705 Remove ["0A"] from comment, since it can look like a line terminator.
3706 Currently we don't permit this, but this is under discussion by the
3707 ARG, and it is easy enough to use a different example.
3708
3709 * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
3710 handling UTF-32 encoding for wide wide character.
3711 Implement new brackets coding ["hhhhhhhh"]
3712 Add UTF-8 encodings for full UTF-32 range
3713
3714 * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
3715
3716 * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
3717 bit range Add full UTF-32 support.
3718 (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
3719 notify that constraint error will be raised at run-time
3720 because a null value is assigned to a null-excluding object.
3721 Remove some obsolete declarations and make Char_Code
3722 unsigned.
3723
3724 * a-except.adb (Rcheck_30): New subprogram. Addition of the message
3725 corresponding to CE_Null_Not_Allowed, and adjust the output of all the
3726 Rcheck subprograms.
3727
3728 * checks.adb (Check_Null_Not_Allowed): Replace the error message on
3729 wrong null-exclusion value by a warning message.
3730 (Enable_Range_Check): Do range check if the prefix is an
3731 explicit dereference whose designated object is an unconstrained array.
3732 Current algorithm for removing duplicate checks is over-eager in this
3733 case.
3734
3735 * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
3736 null-exclusion value by a warning message
3737
3738 * atree.h, atree.ads, atree.adb: Remove Char_Code field support
3739 completely. Add support for Uint2 field
3740
3741 sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
3742 exp_prag.adb: Char_Literal_Value field is now a Uint.
3743
3744 * exp_util.adb (Insert_Actions): Replace
3745 N_Formal_Subprogram_Declaration by
3746 N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
3747 Char_Literal_Value field is now a Uint.
3748
3749 * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
3750 defined for subprogram renaming declarations. When set, the field
3751 indicates the defining entity of a corresponding formal subprogram
3752 when the renaming corresponds to a formal subprogram association in an
3753 instantiation.
3754 (Set_Corresponding_Formal_Spec): New procedure to return
3755 Corresponding_Formal_Spec field.
3756 Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
3757 (which is now a subtype).
3758 Char_Literal_Value field is now a Uint
3759
3760 * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
3761 pointer to the base of the dispatch table.
3762 Minor changes to comments.
3763 (Controlling_Type): New function for determining the tagged type
3764 associated with a tagged primitive subprogram.
3765 (Expand_Dispatching_Call): Add support for a controlling actual that is
3766 directly a value of type Ada.Tag rather than a tagged object.
3767
3768 * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
3769 describing the new layout.
3770 (Dispatch_Table): The expander computes the actual array size, allocates
3771 the Dispatch_Table record accordingly, and generates code that displaces
3772 the base of the record after the Typeinfo_Ptr component. The access to
3773 these components is done by means of local functions.
3774 (Offset_To_Top): New function.
3775 (Typeinfo_Ptr): New function.
3776 (Get_TSD): Modified to access the new position of the TSD.
3777 (Set_TSD): Modified to save the TSD in its new position.
3778
3779 * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
3780 case of formal abstract subprograms. Add check and message for -gnat05.
3781 Update comments.
3782
3783 * sem_ch12.adb: Add with and use for Sem_Disp.
3784 (Analyze_Associations): Minor change from "=" to "in" for use of
3785 N_Formal_Subtype_Declaration (which is now a subtype).
3786 (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
3787 N_Formal_Subtype_Declaration (which is now a subtype).
3788 (Analyze_Formal_Subprogram): Add handling for
3789 N_Formal_Abstract_Subprogram, marking the formal as abstract and
3790 dispatching, setting the controlling status of the formal parameters
3791 and result, and issuing an error if there is no controlling type for
3792 the formal subprogram.
3793 (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
3794 which is an unclean use of that field, we set the new field
3795 Corresponding_Formal_Spec to make the formal subprogram available to
3796 processing in Analyze_Subprogram_Declaration.
3797 (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
3798 Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
3799 Constrained, so that it is is does not statically match its anonymous
3800 base type.
3801
3802 * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
3803 abstract formal subprograms in error check for functions returning
3804 abstract types. Set scope of new designator for
3805 a parameterless subprogram, so that it is available when checking the
3806 body for nested subprograms, before full analysis of said body.
3807 (Analyze_Subprogram_Body): Warn on inlining bodies with nested
3808 subprogram only if inner one comes from source.
3809 (Analyze_Function_Call): If the call is given in object notation, the
3810 analysis of the name rewrites the node and analyzes it with the proper
3811 argument list. After analyzing the name, if the call has been rewritten
3812 and the result type is set, no further analysis is needed.
3813 (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
3814 mark in function specification, in a context where the formals are
3815 visible and hide outer homographs.
3816
3817 * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
3818 as the tagged type for the cases of abstract formal subprograms and
3819 renamings of those. Clean up spec comments.
3820 (Check_Dispatching_Context): Add error message to indicate "abstract
3821 procedure", covering the case of a call to a formal abstract procedure
3822 that has statically tagged operands.
3823 (Check_Dispatching_Call): Check for the case of an actual given by
3824 a tag-indeterminate function call whose type is an ancestor of the
3825 containing call's associated tagged type. This situation can occur
3826 for inherited primitives with function defaults. In this case we
3827 use the tagged type's tag directly as the controlling argument for
3828 the calls.
3829 (Expand_Call): Name change on call to Expand_Dispatch_Call.
3830
3831 * sprint.adb (Sprint_Node_Actual): Split
3832 N_Formal_Subprogram_Declaration into two alternatives for the new
3833 cases N_Formal_Abstract_Subprogram_Declaration and
3834 N_Formal_Concrete_Subprogram_Declaration.
3835 Char_Literal_Value field is now a Uint.
3836
3837 * trans.c: Get rid of junk Uint2 reference.
3838 Char_Literal_Value field is now a Uint.
3839 (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
3840 (gigi): Correct third arg to gimplify_body.
3841
3842 * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
3843 (TYPE_LANG_FLAG_0): Check for record or union.
3844
3845 * treepr.adb: Char_Literal_Value field is now a Uint
3846
3847 * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
3848 UI_From_CC.
3849
3850 * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
3851 Add full UTF-32 support
3852 Char_Code is now 32 bits
3853
3854 * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
3855 wide character UTF_32 line terminators.
3856 Initialize Main_Source_File to avoid error when no main
3857 source is loaded.
3858
3859 * errout.adb (Finalize): Do not check Num_SRef_Pragmas
3860 (Main_Source_File) when no main source has been loaded, to avoid
3861 potential crash.
3862
3863 2005-02-09 Robert Dewar <dewar@adacore.com>
3864
3865 * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
3866 Fix name of Set routine
3867
3868 * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
3869 fixed packages.
3870
3871 * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
3872 a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
3873 fixed packages
3874
3875 * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
3876 forms of Get_Line subprograms for AI-301.
3877
3878 * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
3879 a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
3880 a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
3881 a-stwima.ads: Minor reformatting.
3882
3883 2005-02-09 Doug Rupp <rupp@adacore.com>
3884 Thomas Quinot <quinot@adacore.com>
3885
3886 * adaint.c, adaint.h
3887 [VMS] (to_ptr32): New function.
3888 (MAYBE_TO_PTR32): New macro.
3889 (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
3890 for pointer size.
3891 [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
3892 [VMS] (#define fork()): Remove since unneccessary.
3893 (__gnat_set_close_on_exec): New routine to support
3894 GNAT.OS_Lib.Set_Close_On_Exec.
3895
3896 * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
3897 the parent side as close-on-exec so that they are not inherited by the
3898 child.
3899
3900 * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
3901 set or clear the FD_CLOEXEC flag on a file descriptor.
3902
3903 2005-02-09 Eric Botcazou <ebotcazou@adacore.com>
3904 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3905
3906 Fix for c330001 - PR ada/19386
3907
3908 * decl.c:
3909 (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
3910 on the field if Pragma Component_Alignment (Storage_Unit).
3911 (gnat_to_gnu_entity, case object): Do not treat a renaming that has
3912 side-effects as if it were a constant; also make SAVE_EXPR to protect
3913 side-effects.
3914 (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
3915 UNION_TYPE.
3916 (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
3917 (components_to_record): Test it.
3918 Fix improper usage of REFERENCE_CLASS_P.
3919
3920 * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
3921 RECORD_TYPE.
3922
3923 * utils2.c: Minor reformatting.
3924
3925 * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
3926 handle other cases like RECORD_TYPE.
3927
3928 * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
3929
3930 2005-02-09 Ed Schonberg <schonberg@adacore.com>
3931
3932 * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
3933 component of an array of arrays in an assignment context, and the
3934 aggregate has component associations that require sliding on
3935 assignment, force reanalysis of the aggregate to generate a temporary
3936 before the assignment.
3937 (Must_Slide): Make global to the package, for use in Gen_Assign.
3938
3939 2005-02-09 Ed Schonberg <schonberg@adacore.com>
3940
3941 * exp_ch4.adb (Expand_Composite_Equality): If a component is an
3942 unchecked union with no inferable discriminants, return a
3943 Raise_Program_Error node, rather than inserting it at the point the
3944 type is frozen.
3945 (Expand_Record_Equality, Component_Equality): Handle properly the case
3946 where some subcomponent is an unchecked union whose generated equality
3947 code raises program error.
3948
3949 2005-02-09 Doug Rupp <rupp@adacore.com>
3950
3951 * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
3952 [VMS] (#define exit hack): Remove.
3953
3954 2005-02-09 Pascal Obry <obry@adacore.com>
3955 Arnaud Charlet <charlet@adacore.com>
3956
3957 * init.c (__gnat_initialize): Add a new parameter eh which contains the
3958 address of the exception registration. The Win32 version of this
3959 routine calls __gnat_install_SEH_handler() to initialize the SEH
3960 (Structured Exception Handling) handler.
3961 (__gnat_error_handler) [Win32]: Removed. Not needed as we use
3962 SEH (Structured Exception Handling) now.
3963 (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
3964 (__gnat_initialize for ppc-vxworks): Adjust comments and the
3965 preprocessor condition protecting the call to the extra eh setup
3966 subprogram, which is only available for the ppc target.
3967 (__gnat_clear_exception_count): replaced reference to
3968 variable taskIdCurrent by call to taskIdSelf(), cleaner.
3969
3970 * seh_init.c: New file.
3971
3972 * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
3973 (GNATBIND_OBJS): Idem.
3974
3975 * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
3976 routine takes a new parameter (a pointer to the exception registration
3977 for the SEH (Structured Exception Handling) support.
3978
3979 * raise.h: (__gnat_install_SEH_handler): New prototype.
3980 Update copyright notice.
3981
3982 * s-tassta.adb (Task_Wrapper): Declare the exception registration
3983 record and initialize it by calling __gnat_install_SEH_handler.
3984
3985 2005-02-09 Vincent Celier <celier@adacore.com>
3986
3987 * make.adb (Gnatmake): Do not fail when the main project has no object
3988 directory.
3989
3990 2005-02-09 Doug Rupp <rupp@adacore.com>
3991
3992 * Makefile.in [VMS] (LN,LN_S): Define as cp -p
3993 Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
3994 [VMS]: Add translations for g-enblsp.adb.
3995
3996 * s-asthan-vms.adb: Removed.
3997 * s-asthan-vms-alpha.adb: Added.
3998
3999 2005-02-09 Pascal Obry <obry@adacore.com>
4000
4001 * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
4002 (LIBGNAT_OBJS): Add seh_init.o.
4003
4004 2005-02-09 Arnaud Charlet <charlet@adacore.com>
4005
4006 PR ada/16592
4007
4008 * Makefile.in: Link all gnat tools with -static-libgcc, since
4009 -shared-libgcc is now used by default on some systems (e.g. linux with
4010 recent binutils).
4011 Remove references to Makefile.prolog/generic, no longer used.
4012
4013 2005-02-09 Vincent Celier <celier@adacore.com>
4014
4015 * prj-makr.adb (Process_Directory): Put file name in canonical case
4016 before matching against the patterns.
4017 If gnatname has been invoked as <prefix>-gnatname
4018 then invoke the compiler as <prefix>-gcc, not just "gcc".
4019
4020 2005-02-09 Ed Schonberg <schonberg@adacore.com>
4021
4022 * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
4023 with expansion disabled. The actual subtype is needed among other
4024 places when the selected component appears in the context of a loop
4025 bound, and denotes a packed array.
4026 (Operator_Check): Always use the first subtype in the
4027 error message, to avoid the appearance of internal base types.
4028 (Transform_Object_Operation): Copy each actual in full
4029 to the parameter associations of the constructed call, rather than
4030 using the shallow copy mechanism of New_Copy_List. This ensures that
4031 the chaining of named associations is done properly.
4032 (Complete_Object_Operation): Rewrite node, rather than
4033 replacing it, so that we can trace back to the original selected
4034 component.
4035
4036 * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
4037 and calls that use object notation, if the called function is not
4038 declared in a withed unit, place the elaboration constraint on the
4039 unit in the context that makes the function accessible.
4040 (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
4041 imposes an elaboration constraint between two packages.
4042
4043 2005-02-09 Ed Schonberg <schonberg@adacore.com>
4044
4045 * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
4046 views of a private type after handling its private dependents, to
4047 maintain proper stack discipline between entry and exit from the
4048 package.
4049
4050 2005-02-09 Cyrille Comar <comar@adacore.com>
4051
4052 * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
4053 Minor reformatting.
4054
4055 2005-02-09 Arnaud Charlet <charlet@adacore.com>
4056
4057 * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
4058 fields for foreign threads.
4059
4060 2005-02-09 Doug Rupp <rupp@adacore.com>
4061
4062 * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
4063 recursion warnings when compiled with -gnatdm.
4064
4065 2005-02-09 Robert Dewar <dewar@adacore.com>
4066
4067 * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
4068 Slight fix to documentation of -gnaty with no parameters
4069
4070 * xr_tabls.ads: Add ??? comment for missing overall comment
4071
4072 * xsinfo.adb: Make default file name be sinfo.h, since this is what
4073 we now use by default.
4074
4075 * xsnames.adb: Adjust end of file test to look for five space followed
4076 by '#' instead of six spaces. The format of xsnames.adb was modified
4077 in the last update.
4078
4079 * a-numeri.ads: Add reference to AI-388 for greek letter pi
4080 identifier.
4081
4082 * clean.adb: Minor reformatting.
4083
4084 * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
4085 gnatname.adb: Minor reformatting
4086 Add 2005 to copyright output when utility is run
4087
4088 * csets.adb: Eliminate obsolete comment
4089
4090 * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
4091 Update comments.
4092
4093 * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
4094
4095 2005-02-09 Sergey Rybin <rybin@adacore.com>
4096
4097 * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
4098 the difference between compact and incompact layout and add the record
4099 representation clause to the example illustrating different layouts.
4100 Add the description of '-A5' gnatpp option ("align 'AT' keywords in
4101 component clauses").
4102
4103 2005-02-09 Florian Villoing <villoing@adacore.com>
4104
4105 * gnat_ugn.texi: Fix typos.
4106 Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
4107 @file.
4108 Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
4109 in the generated documentation.
4110
4111 2005-02-09 Arnaud Charlet <charlet@adacore.com>
4112
4113 * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
4114 longer supported.
4115 Update linker wrapper when linking with non GNU C++.
4116
4117 2005-02-09 Pascal Obry <obry@adacore.com>
4118
4119 * gnat_ugn.texi:
4120 Document the procedure to debug the DllMain routine on Windows.
4121 Add note about -funwind-tables and mixed Ada and C/C++ programming in
4122 ZCX mode.
4123 Document new BIND qualifer /RETURN_CODES=VMS.
4124
4125 2005-02-09 Ben Brosgol <brosgol@adacore.com>
4126
4127 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
4128 Edited gnatmetric chapter
4129
4130 2005-02-09 Robert Dewar <dewar@adacore.com>
4131
4132 * gnat_rm.texi:
4133 Changes to document new wide wide character support
4134 For AI-285
4135 Update documentation on Normalize_Scalars and Initialize_Scalars
4136
4137 2005-02-09 Pascal Obry <obry@adacore.com>
4138
4139 * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
4140
4141 2005-02-09 Jose Ruiz <ruiz@adacore.com>
4142
4143 * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
4144 from the VxWorks kernel) that is needed for getting the active
4145 priority of the different tasks.
4146
4147 * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
4148 Use a pragma Elaborate_Body in the spec file instead.
4149 Noticed by code reading.
4150
4151 2005-02-09 Thomas Quinot <quinot@adacore.com>
4152
4153 * exp_util.ads: Minor correction in comment.
4154
4155 2005-02-09 Arnaud Charlet <charlet@adacore.com>
4156
4157 * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
4158 since this procedure is now too complex to be worth inlining.
4159
4160 2005-02-09 Richard Henderson <rth@redhat.com>
4161
4162 * utils.c (gnat_define_builtin): Remove.
4163 (gnat_install_builtins): Use build_common_builtin_nodes.
4164
4165 2005-02-09 Arnaud Charlet <charlet@adacore.com>
4166
4167 * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
4168 a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
4169 a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
4170 a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
4171 a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
4172 a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
4173 a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
4174 a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
4175 a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
4176 a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
4177 a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
4178 a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
4179 a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
4180 a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
4181 a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
4182 a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
4183 a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
4184 a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
4185 a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
4186 a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
4187 a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
4188 a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
4189 a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
4190 a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
4191 a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
4192 a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
4193 a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
4194 a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
4195 a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
4196 a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
4197 a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
4198 a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
4199 a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
4200 a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
4201 library.
4202
4203 2005-01-27 Laurent GUERBY <laurent@guerby.net>
4204
4205 * Makefile.in: Fix a-intnam.ads from previous commit,
4206 add 2005 to copyright.
4207 * a-intman-rtems.ads: Renamed to...
4208 * a-intnam-rtems.ads:
4209
4210 2005-01-27 Laurent GUERBY <laurent@guerby.net>
4211
4212 * Makefile.in: Rename GNAT RTEMS specific files.
4213 * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
4214 5rosinte.ads, 5rparame.adb: Replaced by files below.
4215 * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
4216 s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
4217
4218 2005-01-27 Joel Sherrill <joel.sherrill@oarcorp.com>
4219 Laurent GUERBY <laurent@guerby.net>
4220
4221 PR ada/19488
4222 * 5rosinte.ads: Add No_Key constant.
4223 * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
4224 * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
4225
4226 2005-01-26 Laurent GUERBY <laurent@guerby.net>
4227
4228 PR ada/19414
4229 * i-cobol.adb (Valid_Numeric): Handle zero length case.
4230
4231 2005-01-20 Richard Henderson <rth@redhat.com>
4232
4233 * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
4234 a-intnam-linux.ads and system-linux-alpha.ads.
4235 * a-intnam-linux-alpha.ads: Remove file.
4236 * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
4237 * system-linux-alpha.ads: New file.
4238
4239 2005-01-18 Jakub Jelinek <jakub@redhat.com>
4240
4241 PR ada/13470
4242 * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
4243 set to the new string.
4244
4245 2005-01-18 Toon Moene <toon@moene.indiv.nluug.nl>
4246
4247 * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
4248 to True.
4249
4250 2005-01-18 Richard Henderson <rth@redhat.com>
4251
4252 * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
4253 THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
4254 for alpha-linux.
4255 * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
4256
4257 2005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
4258
4259 * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
4260 (GCC_ZCX_Support): Likewise.
4261
4262 2005-01-11 Bastian Blank <waldi@debian.org>
4263
4264 * system-linux-s390.ads: Define Preallocated_Stacks.
4265 * system-linux-s390x.ads: Likewise.
4266
4267 2005-01-04 Arnaud Charlet <charlet@adacore.com>
4268
4269 * gnat_ugn.texi: Fix texi errors with null variables.
4270
4271 2005-01-03 Thomas Quinot <quinot@adacore.com>
4272
4273 * gen-soccon.c: New utility program to generate g-soccon.ads
4274 automatically.
4275
4276 * socket.c, gsocket.h: Split inclusion of system header files into a
4277 gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
4278
4279 * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
4280 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
4281 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
4282 g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
4283 should not be edited by hand anymore, but should be regenerated using
4284 gen-soccon.
4285
4286 2005-01-03 Robert Dewar <dewar@adacore.com>
4287 Ed Schonberg <schonberg@adacore.com>
4288 Vincent Celier <celier@adacore.com>
4289
4290 * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
4291 on/off, since this is an obsolescent feature, for which we now generate
4292 a warning.
4293
4294 * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
4295 warning mode is set and obsolescent usage of this attribute occurs.
4296 (Resolve_Access, case 'Access): Note that GNAT uses the context type to
4297 disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
4298 predates, and partly motivates, the adoption of the AI.
4299 Implement new Ada 2005 attribute Mod
4300
4301 * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
4302 attribute Mod.
4303
4304 * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
4305
4306 * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
4307 pragma restrictions.
4308 New entry for Ada 2005 attribute Mod.
4309
4310 * par-prag.adb:
4311 Add recognition of new pragma Restrictions No_Dependence
4312 Recognize restriction No_Obsolescent_Features at parse time
4313
4314 * bcheck.adb: Add circuitry for checking for consistency of
4315 No_Dependence restrictions.
4316
4317 * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
4318 restrictions.
4319
4320 * restrict.ads, restrict.adb: Add subprograms to deal with
4321 No_Dependence restrictions.
4322
4323 * rtsfind.adb: Check that implicit with's do not violate No_Dependence
4324 restrictions.
4325
4326 * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
4327 sem_attr.adb: Add check for new restriction No_Obsolescent_Features
4328
4329 * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
4330 dummy parameter to scng instantiation.
4331 Needed for new restriction No_Obsolescent_Features
4332
4333 * scn.adb: (Obsolescent_Check): New procedure
4334 Needed for new restriction No_Obsolescent_Features
4335
4336 * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
4337 specified by AI-285, needed for implementation of AI-388 (adding greek
4338 pi to Ada.Numerics).
4339 Add new generic formal to scng, needed for new restriction
4340 No_Obsolescent_Features.
4341
4342 * s-rident.ads: Add new restriction No_Obsolescent_Features.
4343
4344 * ali.ads, ali.adb: Adjustments for reading new No_Dependence
4345 restrictions lines.
4346 (Scan_ALI): When finding an unexpected character on an R line, raise
4347 exception Bad_R_Line, instead of calling Fatal_Error, so that, when
4348 Ignore_Errors is True, default restrictions are set and scanning of the
4349 ALI file continues with the next line. Also, when Bad_R_Line is raised
4350 and Ignore_Errors is True, skip to the end of le line.
4351
4352 * sem_ch10.adb: Check that explicit with's do not violate
4353 No_Dependence restrictions.
4354 (Install_Withed_Unit): Add code to implement AI-377 and diagnose
4355 illegal context clauses containing child units of instance.
4356
4357 * sem_prag.adb: Processing and checking for new No_Dependence
4358 restrictions.
4359 (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
4360 analyze and check the External argument.
4361
4362 * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
4363
4364 2005-01-03 Robert Dewar <dewar@adacore.com>
4365
4366 * atree.adb: Add a fifth component to entities
4367 This allows us to add 32 flags and four new fields
4368
4369 * atree.ads: Add a fifth component to entities
4370 This allows us to add 32 flags and four new fields
4371
4372 * einfo.ads, einfo.adb: Document new fields and new flags now available
4373 Add routines for printing new fields
4374
4375 * treepr.adb: Call routines to print out additional fields if present
4376
4377 2005-01-03 Arnaud Charlet <charlet@adacore.com>
4378
4379 * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
4380 gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
4381
4382 * Makefile.in: Add support to build shared Ada libraries on solaris x86
4383 Remove gpr2make, replaced by gprmake.
4384 Remove references to gnatmem and libaddr2line.
4385 Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
4386 (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
4387 Add support for specialized version of Ada.Numerics.Aux for Darwin: use
4388 a-numaux-darwin.ads and a-numaux-darwin.adb
4389 Enable mlib-tgt-lynxos.adb on lynxos.
4390
4391 * Make-lang.in: Remove rules for gpr2make.
4392 When generating sdefault.adb, do not call Relocate_Path
4393 on S3 for function Target_Name, as it is not a path.
4394 Remove references to gnatmem and libaddr2line.
4395
4396 * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
4397 files.
4398
4399 2005-01-03 Samuel Tardieu <tardieu@adacore.com>
4400
4401 * checks.adb (Apply_Alignment_Check): Generate a warning if an object
4402 address is incompatible with its base type alignment constraints when
4403 this can be decided statically.
4404
4405 2005-01-03 Olivier Hainque <hainque@adacore.com>
4406
4407 * decl.c (compatible_signatures_p): New function. The intended purpose
4408 is to check if two function signatures for a call-site and a callee are
4409 compatible enough for the call to be valid. The underlying purpose is
4410 to check if a call to a mapped builtin is using the right interface.
4411 The current code actually does not check antyhing - this a placeholder
4412 for future refinements.
4413 (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
4414 builtin calls for convention Intrinsic.
4415
4416 * gigi.h (builtin_decl_for): Declare (new function).
4417
4418 * utils.c (gnat_install_builtins): Install the target specific builtins.
4419 (builtin_decl_for): New function, provide a dummy body for now.
4420
4421 2005-01-03 Geert Bosch <bosch@adacore.com>
4422
4423 * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
4424 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
4425 (Pred): Implement in terms of Succ.
4426
4427 * trans.c (convert_with_check): Reimplement conversion of float to
4428 integer.
4429
4430 2005-01-03 Ed Schonberg <schonberg@adacore.com>
4431 Vincent Celier <celier@adacore.com>
4432
4433 * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
4434 bounds can be negative, and must be declared Int, not Nat.
4435
4436 * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
4437 array is checked after using the index in the array.
4438
4439 * makegpr.adb (Add_Switches): Check if there is a package for the
4440 processor. If there is no package, do not look for switches.
4441
4442 2005-01-03 Ed Schonberg <schonberg@adacore.com>
4443
4444 * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
4445 generation of predefined stream operations (specs and bodies) should
4446 proceed. Under various restrictions these subprograms must not be
4447 generated.
4448
4449 2005-01-03 Thomas Quinot <quinot@adacore.com>
4450
4451 * exp_dist.adb:
4452 Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
4453 amount of PCS-specific code in RACW stubs generation.
4454 (Copy_Specification): Set Etype on copied formal parameter entities, as
4455 this information is needed for PolyORB stubs generation.
4456 (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
4457 variable Dynamic_Async.
4458 (Build_Subprogram_Receiving_Stubs): Make PCS-specific
4459 (Build_RPC_Receiver_Specification): Make generic again, as recent
4460 changes have allowed RPC receivers to have the same profile for both
4461 variants of the PCS.
4462 Reorganise RPC receiver generation to reduce differences between the
4463 structure of GARLIC and PolyORB RPC receivers.
4464 (Add_Receiving_Stubs_To_Declarations): Make this subprogram
4465 PCS-specific.
4466 Simplify elaboration code for RCI packages.
4467
4468 * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
4469 generation to reduce differences between the structure of GARLIC and
4470 PolyORB RPC receivers.
4471
4472 * s-stratt.adb: Fix typo in comment.
4473
4474 2005-01-03 Thomas Quinot <quinot@adacore.com>
4475
4476 * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
4477 copied from Make_Init_Call).
4478
4479 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
4480 reads and assignments on a temporary variable declared with appropriate
4481 discriminants.
4482
4483 2005-01-03 Robert Dewar <dewar@adacore.com>
4484
4485 * i-c.adb (To_C): Raise CE if string is null and Append_Null
4486
4487 2005-01-03 Robert Dewar <dewar@adacore.com>
4488
4489 * i-cstrin.adb (Update): Do not append a null in form called with a
4490 String. This avoids unintended behavior.
4491
4492 2005-01-03 Arnaud Charlet <charlet@adacore.com>
4493
4494 PR ada/17527
4495 * init.c: Fix warnings on Free BSD section.
4496
4497 2005-01-03 Arnaud Charlet <charlet@adacore.com>
4498
4499 PR ada/16949
4500 * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
4501 xsinfo.adb).
4502
4503 2005-01-03 Vincent Celier <celier@adacore.com>
4504
4505 * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
4506 libraries when Unique_Compile is True (-u switch).
4507 (Gnatmake): ditto.
4508
4509 2005-01-03 Robert Dewar <dewar@adacore.com>
4510
4511 * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
4512 upper case letter or underscore after W, as allowed by spec.
4513
4514 2005-01-03 Arnaud Charlet <charlet@adacore.com>
4515
4516 * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
4517 darwin port by using proper type definitions from header files.
4518 Use SIGTERM instead of SIGABRT for SIGADAABORT.
4519
4520 2005-01-03 Robert Dewar <dewar@adacore.com>
4521
4522 * par.adb: Enhance error message handling for configuration file
4523 pragmas.
4524
4525 2005-01-03 Robert Dewar <dewar@adacore.com>
4526
4527 * s-arit64.adb (Double_Divide): Put back changes that got accidentally
4528 removed during the previous update (test properly for case of dividing
4529 largest negative number by -1, which generates overflow).
4530
4531 2005-01-03 Ed Schonberg <schonberg@adacore.com>
4532 Sergey Rybin <rybin@adacore.com>
4533
4534 * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
4535 to use as the defining identifier for a formal package.
4536 (Remove_Parent): If the instance takes place within (an instance of)
4537 a sibling, preserve private declarations of common parent.
4538
4539 2005-01-03 Ed Schonberg <schonberg@adacore.com>
4540
4541 * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
4542 to determine whether one of the operands is a fixed-point type for
4543 which a user-defined multiplication or division operation might be
4544 defined.
4545
4546 * sem_res.adb (Valid_Conversion): The legality rules for conversions
4547 of access types are symmetric in Ada 2005: either designated type can
4548 be unconstrained.
4549
4550 2005-01-03 Vincent Celier <celier@adacore.com>
4551
4552 * s-fileio.adb (Temp_File_Record): Change length of string component
4553 Name from L_tmpnam + 1 to max_path_len + 1.
4554
4555 2005-01-03 Arnaud Charlet <charlet@adacore.com>
4556
4557 * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
4558 Self_Id.Deferral_Level = 0.
4559 (Do_Pending_Action): Move this function to the spec.
4560
4561 * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
4562 Do_Pending_Action explicitely when needed, in case we're using
4563 No_Abort restrictions.
4564
4565 * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
4566 deferral level since it will not get changed by the generated code.
4567 Keeping a default value of 1 would prevent some operations (e.g.
4568 select or delay) to proceed successfully.
4569
4570 2005-01-03 Ben Brosgol <brosgol@adacore.com>
4571 Robert Dewar <dewar@adacore.com>
4572 Cyrille Comar <comar@adacore.com>
4573
4574 * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
4575 porting guide chapter (vms version).
4576 Revised doc title (removed "for native platforms") and subtitle.
4577 Add discussion on warning flag for obsolescent features. First we
4578 note that it applies to obsolete GNAT features, which was previously
4579 omitted. Second we contrast the behavior with that of the new
4580 Ada 2005 AI-368 restriction No_Obsolescent_Features.
4581 Preliminary rewriting of GNAT & libraries chapter in order to take
4582 into account default project locations & new project manager
4583 capabilities.
4584
4585 2005-01-03 Robert Dewar <dewar@adacore.com>
4586
4587 * cstand.adb (Create_Operators): Clean up format and documentation of
4588 unary and binary operator result tables. No change in code, just
4589 reformatting and addition of comments.
4590
4591 * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
4592 sem_ch2.adb: Minor reformatting
4593
4594 * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
4595 sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
4596 comments for Tree_Read and Tree_Write.
4597
4598 2005-01-03 Pascal Obry <obry@adacore.com>
4599
4600 * exp_attr.ads: Minor reformatting.
4601
4602 2005-01-03 Romain Berrendonner <berrendo@adacore.com>
4603
4604 * comperr.adb (Compiler_Abort): Add specialized message for GAP
4605 versions.
4606
4607 2005-01-03 Ed Schonberg <schonberg@adacore.com>
4608
4609 * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
4610 whether the ancestor type is private, as may be the case with nested
4611 instantiations.
4612
4613 2004-12-30 Sohail Somani <sohail@sohailsomani.com>
4614
4615 PR ada/19128
4616 * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
4617
4618 2004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
4619
4620 * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
4621 * utils2.c (build_unary_op): Likewise.
4622
4623 2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4624
4625 * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
4626
4627 2004-12-19 Richard Henderson <rth@redhat.com>
4628
4629 * trans.c (gigi): Update gimplify_body call.
4630
4631 2004-12-09 Nathan Sidwell <nathan@codesourcery.com>
4632
4633 * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
4634
4635 2004-12-07 Ed Falis <falis@adacore.com>
4636
4637 * s-intman-vxworks.adb (Notify_Exception): removed useless check for
4638 current task being suspended.
4639
4640 * init.c (__gnat_clear_exception): added to reset VxWorks exception
4641 count.
4642 (__gnat_map_signal): removed test for current task being suspended.
4643
4644 2004-12-07 Gary Dismukes <dismukes@adacore.com>
4645
4646 * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
4647 from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
4648 targets (such as AAMP).
4649
4650 2004-12-07 Ed Schonberg <schonberg@adacore.com>
4651
4652 * atree.adb (Visit_Itype): Create a new name for the generated itype,
4653 because the back-end may otherwise treat it as a redefinition of the
4654 old symbol.
4655
4656 2004-12-07 Eric Botcazou <ebotcazou@adacore.com>
4657
4658 * back_end.adb (Scan_Back_End_Switches): Accept --param.
4659
4660 * lang-specs.h: Accept --param.
4661
4662 2004-12-07 Vincent Celier <celier@adacore.com>
4663
4664 * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
4665 package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
4666 Current_Body_Suffix => Ada_Body_Suffix).
4667 Take into account Externally_Built attribute.
4668
4669 * clean.adb (In_Extension_Chain): Always return False when one of the
4670 parameter is No_Project.
4671 (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
4672 Ada_Language_Index).
4673 (Gnatclean): Adapt to change in package Prj.Pars (no parameter
4674 Process_Languages for procedure Parse).
4675
4676 * gnatcmd.adb (Carg_Switches): New table.
4677 (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
4678 Adapt to name changes in package Prj (Current_Spec_Suffix =>
4679 Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
4680
4681 * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
4682 Header_Num and function Hash are now declared in package Prj,
4683 not Prj.Com.
4684
4685 * prj.adb (Suffix_Of): New function.
4686 (Set (Suffix)): New procedure.
4687 (Hash): One function moved from Prj.Com
4688 (Is_Present, Language_Processing_Data_Of): New functions
4689 (Set): Two new procedures
4690 (Add_Language_Name, Display_Language_Name): New procedures
4691
4692 * prj.ads: (Suffix_Of): New function
4693 (Set (Suffix)): New procedure
4694 Add several types and tables for multi-language support.
4695 (Header_Num): Type moved from Prj.Com
4696 (Hash): Two functions moved from Prj.Com
4697 (Is_Present, Language_Processing_Data_Of): New functions
4698 (Set): Two new procedures
4699 (Add_Language_Name, Display_Language_Name): New procedures
4700 (Naming): Component name changes:
4701 Current_Spec_Suffix => Ada_Spec_Suffix,
4702 Current_Body_Suffix => Ada_Body_Suffix. Add new components:
4703 Impl_Suffixes, Supp_Suffixes.
4704 (Project_Data): New components: Externally_Built, Supp_Languages,
4705 First_Language_Processing, Supp_Language_Processing, Default_Linker,
4706 Default_Linker_Path.
4707
4708 * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
4709 new package Language_Processing with its attributes (Compiler_Driver,
4710 Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
4711 Binder_Driver, Default_Linker).
4712
4713 * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
4714 (Header_Num): Type moved to package Prj
4715
4716 * prj-env.adb: Adapt to name changes in package Prj
4717 (Current_Spec_Suffix => Ada_Spec_Suffix,
4718 Current_Body_Suffix => Ada_Body_Suffix).
4719
4720 * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
4721 default to the project path, except the "-" is one of the directories
4722 in env var ADA_PROJECT_PATH.
4723 (Current_Project_Path): Global variable, replacing Project_Path
4724 that was in the body of Prj.Part.
4725 (Project_Path): New function
4726 (Set_Project_Path): New procedure
4727 Initialize Current_Project_Path during elaboration of the package
4728 Remove dependency on Prj.Com, no longer needed
4729
4730 * prj-ext.ads (Project_Path): New function
4731 (Set_Project_Path): New procedure
4732
4733 * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
4734 suffix is defined for language <lang>.
4735 (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
4736 accessing directly the components of Naming.
4737 (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
4738 Reorganise of this package.
4739 Break procedure Check in several procedures.
4740
4741 * prj-nmsc.ads: Replace all procedures (Ada_Check,
4742 Other_Languages_Check and Language_Independent_Check) with a single
4743 procedure Check.
4744
4745 * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
4746 Process_Languages, no longer needed.
4747
4748 * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
4749 Current_Project_Path.
4750 Remove elaboration code, moved to the body of Prj.Ext
4751 Use new function Prj.Ext.Project_Path instead of old variable
4752 Project_Path.
4753 (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
4754 When comparing with project paths on the stack, first put the resolved
4755 path in canonical case.
4756 (Parse_Single_Project): Set the path name of the project file in the
4757 tree to the normalized path.
4758
4759 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
4760 parameter Process_Languages, no longer needed.
4761 (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
4762 Other_Languages_Check.
4763
4764 * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
4765 to store the resolved canonical path of the project file.
4766 Remove dependency to Prj.Com, no longer needed
4767
4768 * prj-util.adb: Adapt to name changes in package Prj
4769 (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
4770 Ada_Body_Suffix).
4771
4772 * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
4773 Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
4774 Externally_Built, Include_Option, Language_Processing.
4775
4776 * makegpr.adb: Numerous changes due to changes in packages
4777 Prj and Prj.Nmsc.
4778
4779 * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
4780 default to the project path, except whe "-" is one of the directories
4781 in env var ADA_PROJECT_PATH.
4782 (Gnatls): In verbose mode, add the new section "Project Search Path:"
4783
4784 2004-12-07 Robert Dewar <dewar@adacore.com>
4785
4786 * debug.adb: Document that -gnatdA automatically sets -gnatR3m
4787
4788 * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
4789 set -gnatR3m mode.
4790
4791 * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
4792 flag. No longer needed now that we handle this in gnat1drv.adb.
4793
4794 * repinfo.ads: Minor reformatting
4795
4796 2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4797 Olivier Hainque <hainque@adacore.com>
4798 Eric Botcazou <ebotcazou@adacore.com>
4799
4800 * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
4801 TYPE_SIZE_UNIT of result type if SIZE is not specified.
4802 (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
4803 of a bitfield, which we know is useless and causes trouble because of
4804 alignment implications.
4805
4806 * utils.c (create_var_decl): Set DECL_COMMON again on targets without
4807 BSS sections.
4808 (process_attributes): Clear DECL_COMMON again when a section attribute
4809 is present.
4810 (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
4811 SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
4812 (create_field_decl): Special case ADDRESSABLE negative to mean
4813 "no bitfield creation", to be used by make_aligning_type. Don't
4814 restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
4815 fields claimed addressable still have to be bitfields. Use
4816 value_factor_p instead of a raw binop construction to check for the
4817 position's alignment.
4818
4819 2004-12-07 Geert Bosch <bosch@adacore.com>
4820
4821 * eval_fat.adb: Revert previous change.
4822
4823 2004-12-07 Thomas Quinot <quinot@adacore.com>
4824 Ed Schonberg <schonberg@adacore.com>
4825
4826 * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
4827 with an implicit dereference as its prefix, use
4828 Insert_Explicit_Dereference instead of merely rewriting the prefix into
4829 an explicit dereference. This ensures that a reference to the original
4830 prefix is generated, if appropriate.
4831
4832 * sem_util.adb (Insert_Explicit_Dereference): When an implicit
4833 dereference is rewritten to an explicit one, generate a reference to
4834 the entity denoted by its prefix using the original prefix node, so
4835 the dereference can be properly recorded as a read of the denoted
4836 access value, if appropriate.
4837
4838 * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
4839 emitting 'assigned but never read' warning on a variable on the basis
4840 that it has an access type.
4841 (Check_References): Emit unreferenced warning when the scope is a
4842 subprogram body.
4843
4844 2004-12-07 Robert Dewar <dewar@adacore.com>
4845 Ed Schonberg <schonberg@adacore.com>
4846
4847 * exp_ch6.adb (Expand_Call): Add comment on handling of back end
4848 intrinsic
4849
4850 * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
4851 leaving call unchanged.
4852 This deals with the case where the pragma Import specified
4853 an external name, to be handled by the back end.
4854
4855 * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
4856 subprogram which is Imported with convention Intrinsic if an
4857 External_Name argument is specified.
4858 (Process_Import_Or_Interface): Properly diagnose link name argument.
4859 (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
4860 with Sem_Ch6.Cannot_Inline.
4861 (Process_Inline): Provide separate warning for inapplicable inline
4862 pragma.
4863 (Cannot_Inline): Reject subprograms that have an at_end handler, so that
4864 treatment is uniform on different targets.
4865
4866 2004-12-07 Ed Schonberg <schonberg@adacore.com>
4867
4868 * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
4869 construct is rewritten, preserve end label to permit source navigation.
4870
4871 2004-12-07 Thomas Quinot <quinot@adacore.com>
4872
4873 * exp_dist.adb (Specific_Build_General_Calling_Stubs,
4874 Specific_Build_Stub_Target): New subprograms.
4875 (Build_Subprogram_Calling_Stubs): Make this procedure independent from
4876 the PCS implementation used, using the above PCS-customized subprograms.
4877 Minor reformatting.
4878 (PolyORB_Support.Helpers): New subunit containing supporting subprograms
4879 for generation of DSA code targeted to the PolyORB PCS.
4880 (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
4881 implementation of the partition communication subsystem in ancillary
4882 subprograms.
4883 (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
4884 PolyORB_Support.Build_Stub_Type): New subrograms containing the
4885 PCS-specific part of Add_Stub_Type.
4886 (Insert_Partition_Check): Use runtime library function to perform
4887 E.4(19) check.
4888
4889 * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
4890 (RE_Same_Partition): New entity, from s-parint.
4891
4892 * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
4893
4894 2004-12-07 Gary Dismukes <dismukes@adacore.com>
4895
4896 * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
4897 Output the copyright message on a separate line from the version
4898 message.
4899
4900 2004-12-07 Joel Brobecker <brobecker@adacore.com>
4901
4902 * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
4903 compile-time warning.
4904
4905 2004-12-07 Robert Dewar <dewar@adacore.com>
4906
4907 * g-regpat.adb: (Match): Change a misuse of or to or else
4908
4909 2004-12-07 Ed Schonberg <schonberg@adacore.com>
4910
4911 * lib-xref.adb:
4912 (Generate_Reference): Handle properly a reference to an entry formal,
4913 when an accept statement has a pragma Unreferenced for it.
4914
4915 * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
4916 and the Has_Pragma_Unreferenced flag for each formal before analyzing
4917 the body, to ensure that warnings are properly emitted for each accept
4918 statement of a given task entry.
4919
4920 2004-12-07 Vasiliy Fofanov <fofanov@adacore.com>
4921
4922 * Makefile.in: Add support for foreign threads on VMS.
4923
4924 2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4925
4926 * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
4927 Remove.
4928 (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
4929
4930 * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
4931
4932 * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
4933 exception.
4934 (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
4935
4936 2004-12-07 Robert Dewar <dewar@adacore.com>
4937
4938 * nlists.adb (Prepend_Debug): Remove parameters and nest within
4939 Prepend.
4940 (Remove_Next_Debug): Same fix
4941
4942 * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
4943 maintain back pointers now, though we did not used to, and comments
4944 were out of date).
4945 (Prepend): Remove pragma Inline.
4946 (Remove_Next): Same cleanup
4947
4948 2004-12-07 Thomas Quinot <quinot@adacore.com>
4949
4950 * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
4951 used to record an implicit dereference as a read operation on its
4952 prefix when operating under -gnatc. Necessary to avoid spurious
4953 'variable assigned but never read' warnings in that mode.
4954 (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
4955 is a non-overloaded implicit dereference, call the above subprogram to
4956 ensure proper recording of references.
4957
4958 2004-12-07 Gary Dismukes <dismukes@adacore.com>
4959
4960 * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
4961 to be resolved later as part of Analyze_Iteration_Scheme's call to
4962 Make_Index.
4963
4964 2004-12-07 Ed Schonberg <schonberg@adacore.com>
4965
4966 * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
4967 prefix is not a scalar type, place error message on prefix, not on
4968 type entity.
4969
4970 2004-12-07 Bernard Banner <banner@adacore.com>
4971
4972 * vxaddr2line.adb: Add support for x86 vxworks
4973
4974 2004-12-07 Thomas Quinot <quinot@adacore.com>
4975
4976 * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
4977 documentation of the behaviour of these functions when passed an IP
4978 address that has no record in the system hosts database and no reverse
4979 record in the DNS.
4980
4981 * cstand.adb, a-tags.ads: Fix typos in comment.
4982
4983 2004-12-07 Robert Dewar <dewar@adacore.com>
4984
4985 * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
4986 exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
4987 sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
4988 s-poosiz.ads: Minor reformatting
4989
4990 * make.adb: Minor reformatting
4991 Add some ??? comments asking for more comments
4992
4993 * s-poosiz.adb: Minor reformatting
4994 Add comments on alignment requirement
4995
4996 * sinfo.ads: Remove obsolete comment and fix typo.
4997
4998 2004-12-07 Vincent Celier <celier@adacore.com>
4999 Sergey Rybin <rybin@adacore.com>
5000
5001 * gnat_ugn.texi: Update the section "The GNAT Driver and Project
5002 Files" with the new tool and package names.
5003 Reformatting to suppress most of the warnings for line too long
5004 Document the new section "Project Search Path:" in the output of
5005 gnatls -v.
5006 Add gnatmetric section
5007
5008 2004-12-07 Vincent Celier <celier@adacore.com>
5009
5010 * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
5011 -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
5012 and -eit to -ept. Added qualifier
5013 /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
5014
5015 2004-11-27 Andreas Schwab <schwab@suse.de>
5016
5017 * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
5018
5019 2004-11-25 Arnaud Charlet <charlet@adacore.com>
5020
5021 * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
5022 internal implementation unit GNAT.Sockets.Thin,
5023 as their usage for sockets is non-portable (using the read and write
5024 functions from the system runtime library is fine on UNIX but won't
5025 work under Windows).
5026
5027 * mingw32.h: Update copyright notice.
5028
5029 2004-11-25 Arnaud Charlet <charlet@adacore.com>
5030
5031 * ada-tree.h: Minor reformatting of previous change to avoid lines
5032 longer than 79 characters.
5033
5034 2004-11-25 Olivier Hainque <hainque@adacore.com>
5035
5036 * tb-gcc.c: GCC infrastructure based implementation of
5037 __gnat_backtrace.
5038
5039 2004-11-24 Steven Bosscher <stevenb@suse.de>
5040
5041 * misc.c (gnat_post_options): Don't clear
5042 flag_inline_functions.
5043
5044 2004-11-22 Andrew Pinski <pinskia@physics.uc.edu>
5045
5046 PR ada/17986
5047 * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
5048 tree.
5049
5050 2004-11-21 Andreas Jaeger <aj@suse.de>
5051
5052 * stylesw.adb: Change Style_Check_Subprogram_Order to
5053 Style_Check_Order_Subprograms.
5054
5055 2004-11-18 Arnaud Charlet <charlet@adacore.com>
5056
5057 * adaint.h, adaint.c
5058 (__gnat_portable_spawn): Fix cast of spawnvp third parameter
5059 to avoid warnings.
5060 Add also a cast to kill another warning.
5061 (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
5062 parameter with the priority class of the parent process instead of
5063 always using the NORMAL_PRIORITY_CLASS.
5064 (__gnat_dup): New function.
5065 (__gnat_dup2): New function.
5066 (__gnat_is_symbolic_link): Enable the effective body of this
5067 function when __APPLE__ is defined.
5068
5069 * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
5070 Update comments.
5071
5072 2004-11-18 Olivier Hainque <hainque@adacore.com>
5073
5074 * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
5075 address of which may be used to represent "others" and "all others"
5076 choices in exception tables, instead of the current harcoded
5077 (void *)0 and (void *)1.
5078 (Setup_Exception): Do nothing in the GNAT SJLJ case.
5079
5080 * gigi.h (others_decl, all_others_decl): New decls representing the
5081 new Others_Value and All_Others_Value objects.
5082 (struct attrib): Rename "arg" component as "args", since GCC expects a
5083 list of arguments in there.
5084
5085 * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
5086 corresponding objects exported by a-exexpr, instead of hardcoded dummy
5087 addresses.
5088
5089 * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
5090 others_decl and all_others_decl instead of hardcoded dummy addresses
5091 to represent "others" and "all others" choices, which is cleaner and
5092 more flexible with respect to the possible eh pointer encoding policies.
5093
5094 * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
5095 (process_attributes): Account for the naming change of the "args"
5096 attribute list entry component.
5097
5098 * decl.c (build_attr_list): Rename into prepend_attributes to allow
5099 cumulating attributes for different entities into a single list.
5100 (gnat_to_gnu_entity): Use prepend_attributes to build the list of
5101 attributes for the current entity and propagate first subtype
5102 attributes to other subtypes.
5103 <E_Procedure>: Attribute arguments are attr->args and not
5104 attr->arg any more.
5105 (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
5106 argument provided, as this is what GCC expects. Use NULL_TREE instead
5107 of 0 for trees.
5108
5109 2004-11-18 Robert Dewar <dewar@adacore.com>
5110
5111 * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
5112 Minor reformatting througout (including new function specs)
5113 Add ??? comments asking for clarification.
5114
5115 2004-11-18 Thomas Quinot <quinot@adacore.com>
5116
5117 * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
5118 incomplete duplicate implementation of this subprogram from butil.
5119
5120 2004-11-18 Thomas Quinot <quinot@adacore.com>
5121
5122 * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
5123 procedures factors the common processing for building an RPC receiver
5124 for an RCI package or an RACW type.
5125 Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
5126 Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
5127 (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
5128 in use.
5129 (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
5130 Add_RACW_Features.
5131 (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
5132 Add_RAST_Features.
5133 (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
5134 distribution subprogram identifiers that are either subprogram numbers
5135 or strings.
5136 (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
5137 string distribution identifiers assigned to a given subprogram.
5138 (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
5139 (Add_RAS_Dereference_TSS): Add comments.
5140 (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
5141 is not referenced yet because it will be used by the PolyORB DSA
5142 implementation.
5143 (Insert_Partition_Check): Remove fossile code.
5144 (First_RCI_Subprogram_Id): Document this constant.
5145 (Add_RAS_Access_TSS): Correct the setting of the Etype of the
5146 RAS_Access TSS.
5147 (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
5148 replaced with calls to Get_Library_Unit_Name_String. Previously there
5149 were several instances of the same code in different locations in the
5150 compiler; this checkin completes the replacement of all of these
5151 instances with calls to a common subprogram.
5152 Minor reformatting.
5153
5154 * sem_dist.adb: Remove comment noting that RPC receiver generation
5155 should be disabled for RACWs that implement RASs.
5156 (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
5157
5158 * sem_util.ads, sem_util.adb (Has_Stream): New function
5159 (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
5160 qualified name of a library unit into the name buffer.
5161 (Note_Possible_Modification): Generate a reference only
5162 if the context comes from source.
5163
5164 * snames.ads (PCS_Names): New subtype corresponding to names of
5165 supported implementations of the Partition Communication Subsystem
5166 (PCS) (i.e. the runtime library support modules for the distributed
5167 systems annex).
5168
5169 2004-11-18 Robert Dewar <dewar@adacore.com>
5170 Ed Schonberg <schonberg@adacore.com>
5171
5172 * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
5173 (Has_Rep_Pragma): New function
5174 (Has_Attribute_Definition_Clause): New function
5175 (Record_Rep_Pragma): Moved here from sem_ch13.adb
5176 (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
5177
5178 * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
5179
5180 * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
5181 (Expand_Pragma_Psect_Object): New procedure
5182 These procedures contain the revised and cleaned up processing for
5183 these two pragmas. This processing was formerly in Sem_Prag, but
5184 is more appropriately moved here. The cleanup involves making sure
5185 that the pragmas are properly attached to the tree, and that no
5186 nodes are improperly shared.
5187
5188 * sem_prag.adb: Move expansion of Common_Object and Psect_Object
5189 pragmas to Exp_Prag, which is more appropriate.
5190 Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
5191 check for duplicates Remove use of Is_Psected flag, no longer needed.
5192 Use new Make_String_Literal function with string.
5193
5194 * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
5195 that are functions return universal values, that have to be converted
5196 to the context type.
5197 Use new Make_String_Literal function with string.
5198 (Get_Stream_Convert_Pragma): New function, replaces the use of
5199 Get_Rep_Pragma, which had to be kludged to work in this case.
5200
5201 * freeze.adb: Use new Has_Rep_Pragma function
5202
5203 * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
5204 function with string.
5205 Use new Has_Rep_Pragma function.
5206
5207 * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
5208 string argument.
5209
5210 2004-11-18 Robert Dewar <dewar@adacore.com>
5211
5212 * errout.ads, errout.adb: (First_Sloc): New function
5213
5214 * par-ch5.adb (P_Condition): Check for redundant parens is now a style
5215 check (-gnatyx) instead of being included as a redundant construct
5216 warning.
5217
5218 * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
5219 Style_Check_Order_Subprograms.
5220
5221 * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
5222 stylesw.adb: Add Style_Check_Xtra_Parens
5223
5224 * usage.adb: Add line for -gnatyx (check extra parens)
5225
5226 * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
5227
5228 2004-11-18 Ed Schonberg <schonberg@adacore.com>
5229 Robert Dewar <dewar@adacore.com>
5230
5231 * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
5232 discriminant of a constrained subtype, analyze the copy of the
5233 corresponding constraint, because in some cases it may be only
5234 partially analyzed.
5235 Removes long-lived ??? comments.
5236
5237 * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
5238 handled controlled or secondary-stack expressions within the
5239 iteration_scheme of a loop.
5240
5241 * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
5242 bounds that may contain functions calls, to prevent memory leaks when
5243 the bound contains a call to a function that uses the secondary stack.
5244 (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
5245 generate temporaries for loop bounds that might contain function calls
5246 that require secondary stack and/or finalization actions.
5247
5248 * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
5249 selected component and the selector is overloadable (not just a
5250 function) treat as function call, Analyze_Call will disambiguate if
5251 necessary.
5252 (Analyze_Selected_Component): Do not generate an actual subtype for the
5253 selected component if expansion is disabled. The actual subtype is only
5254 needed for constraint checks.
5255 (Analyze_Allocator): If restriction No_Streams is set, then do
5256 not permit objects to be declared of a stream type, or of a
5257 composite type containing a stream.
5258
5259 * restrict.ads: Remove the a-stream entry from Unit_Array, since
5260 No_Streams no longer prohibits with'ing this package.
5261
5262 * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
5263 discriminants, but the parent base has unknown discriminants, there is
5264 no discriminant constraint to inherit. Such a discrepancy can arise
5265 when the actual for a formal type with unknown discriminants is a
5266 similar private type whose full view has discriminants.
5267 (Analyze_Object_Declaration): If restriction No_Streams is set, then
5268 do not permit objects to be declared of a stream type, or of a
5269 composite type containing a stream.
5270
5271 2004-11-18 Ed Schonberg <schonberg@adacore.com>
5272
5273 * exp_dbug.ads: Update documentation to reflect simpler encoding for
5274 protected operations.
5275
5276 * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
5277 generated name, it complicates decoding in gdb and hinders debugging
5278 of protected operations.
5279 (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
5280 flag for the protected entry barrier function.
5281 (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
5282 flag for the protected entry function.
5283
5284 2004-11-18 Nicolas Setton <setton@adacore.com>
5285
5286 * expect.c: Define __unix__ when __APPLE__ is defined.
5287
5288 * Makefile.in: Inform the value of the variable GMEM_LIB in the
5289 Darwin-specific section.
5290
5291 * lang-specs.h: Change the placement of the %1 marker.
5292 Works around the fact that gcc adds -fPIC by default under Darwin.
5293
5294 2004-11-18 Ed Schonberg <schonberg@adacore.com>
5295
5296 * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
5297 type of the object with the packed array type, set the Analyzed flag
5298 on the object if it is an entity or simple indexed component, to avoid
5299 spurious type errors.
5300
5301 2004-11-18 Gary Dismukes <dismukes@adacore.com>
5302
5303 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
5304 gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
5305 separate line from the version message.
5306
5307 2004-11-18 Ed Falis <falis@adacore.com>
5308
5309 * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
5310 vthreads.
5311 (init_float): Eliminate initialization of floating point status for
5312 AE653. The instructions have no effect for vThreads.
5313
5314 2004-11-18 Vincent Celier <celier@adacore.com>
5315
5316 * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
5317 gnatbind is invoked with -shared.
5318
5319 2004-11-18 Jose Ruiz <ruiz@adacore.com>
5320
5321 * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
5322 for Detect_Blocking which is redundant with the check done within the
5323 procedure Protected_Single_Entry_Call.
5324 (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
5325 Detect_Blocking which is redundant with the check done within the
5326 procedure Protected_Single_Entry_Call.
5327
5328 2004-11-18 Vincent Celier <celier@adacore.com>
5329
5330 * makegpr.adb (Compile): Put the compiling switches (in package
5331 Compiler and on the command line) immediately after "-c", instead of
5332 at the end of the command line invocation of the compiler, when
5333 compiling a non-Ada file.
5334 (Build_Global_Archive): When there is no need to rebuild the archive,
5335 set Global_Archive_Exists, so that the archive is passed to the linker
5336 if one is needed.
5337
5338 2004-11-18 Robert Dewar <dewar@adacore.com>
5339 Sergey Rybin <rybin@adacore.com>
5340
5341 * gnat_ugn.texi:
5342 Remove extra paren check from list of checks for redundant constructs
5343 Add documentation of new -gnatyx style check (check extra parens)
5344 Remove paragraph about gnatelim debug options.
5345
5346 * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
5347 objects rather than forbidding dependencies on the package Ada.Streams.
5348
5349 * sinfo.ads: Add ??? note that we should document pragmas passed to
5350 back end.
5351
5352 * g-expect.ads: Fix a few typos in the comments.
5353
5354 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
5355
5356 * misc.c (gnat_handle_option): Use %< and %> for quoting in
5357 warning message.
5358
5359 2004-11-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5360
5361 * a-numaux-x86.adb (Tan): Fix fdivp syntax.
5362
5363 2004-11-07 Andreas Schwab <schwab@suse.de>
5364
5365 * Makefile.in (install-gnatlib): Remove spurious hyphen.
5366
5367 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
5368
5369 PR ada/18228
5370 * Makefile.in (darwin): Set soext to .dylib.
5371
5372 2004-10-26 Vincent Celier <celier@gnat.com>
5373 Thomas Quinot <quinot@act-europe.fr>
5374
5375 * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
5376 (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
5377 there is no use of GNAT.Sockets.Constants.
5378 Remove remaining pragma Import for C_Write
5379 Remove C_Read and C_Write from internal implementation unit
5380 GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
5381 the read and write functions from the system runtime library is fine
5382 on UNIX but won't work under Windows).
5383
5384 * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
5385 (Check_Selector): Use C_Recv instead of C_Read.
5386 Selectors are the GNAT.Sockets abstraction to perform a select()
5387 call on a set of descriptors. To allow abortion of an ongoing
5388 select operation, some data is written to a dedicated socket that
5389 is always monitored.
5390 Under Windows, the write and read library functions cannot operate
5391 on sockets, so we need to use send and recv instead, which is portable
5392 across all supported platforms.
5393
5394 * g-socthi.ads: Remove C_Read and C_Write from internal implementation
5395 unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
5396 (using the read and write functions from the system runtime library is
5397 fine on UNIX but won't work under Windows).
5398
5399 2004-10-26 Nicolas Setton <setton@act-europe.fr>
5400
5401 * mlib-tgt-darwin.adb: New file.
5402
5403 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
5404 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
5405 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
5406 mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
5407 subprogram body.
5408
5409 * Makefile.in: Add support for building shared libraries under Darwin.
5410 (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
5411 the low level EH init subprogram to be called from __gnat_initialize.
5412
5413 * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
5414 indicates which options to pass to the archive indexer.
5415
5416 * mlib-utl.adb: Add support for calling ranlib with additional
5417 options. This is needed for instance under Mac OS X.
5418 (Ranlib_Options): New global variable, used to store the potential
5419 options to pass to ranlib.
5420 (Ar): Use Ranlib_Options when spawning ranlib.
5421 (Initialize): Set the value of ranlib option.
5422
5423 2004-10-26 Olivier Hainque <hainque@act-europe.fr>
5424
5425 * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
5426 instead of 8K, to reflect the real potential needs for stack-checking
5427 in the ZCX case.
5428
5429 2004-10-26 Pascal Obry <obry@gnat.com>
5430
5431 * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
5432
5433 * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
5434 Windows only the initial thread stack size can be set so it is good to
5435 start we a low stack size.
5436 The OS will adjust the size as needed.
5437
5438 2004-10-26 Olivier Hainque <hainque@act-europe.fr>
5439 Nicolas Setton <setton@act-europe.fr>
5440
5441 * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
5442 "__unix__" instead of "unix".
5443 The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
5444 sections were just mistakenly ignored. The former is
5445 implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
5446 Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
5447 of hpux. This prevents an unwanted definition of the symbol
5448 convert_addresses in adaint.o.
5449
5450 2004-10-26 Gary Dismukes <dismukes@gnat.com>
5451
5452 * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
5453 compatibility with type Unwind_Word on 16-bit targets such as AAMP.
5454
5455 2004-10-26 Cyrille Comar <comar@act-europe.fr>
5456
5457 * a-filico.ads, a-filico.adb: fix incorrect header.
5458
5459 2004-10-26 Javier Miranda <miranda@gnat.com>
5460
5461 * a-ststio.ads: Fix typo in identifier
5462
5463 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
5464
5465 * sem_ch4.adb: Minor reformatting.
5466
5467 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5468
5469 * checks.adb (Expr_Known_Valid): If floating-point validity checks are
5470 enabled, check the result of unary and binary operations when the
5471 expression is the right-hand side of an assignment.
5472
5473 2004-10-26 Vincent Celier <celier@gnat.com>
5474
5475 * clean.adb (Delete): Do not output warnings when in quiet output and
5476 not in verbose mode.
5477 (Force_Deletions): New Boolean flag, defaulted to False
5478 (Delete): Only delete a file if it is writable, and when
5479 Force_Deletions is True.
5480 (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
5481 (Usage): Line for new switch -f
5482 (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
5483 own.
5484
5485 2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
5486
5487 * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
5488 JM type only if its size matches that of the wrapper. When a size is
5489 prescribed and the field is not aliased, remove the wrapper of a JM
5490 type only if the size is not greater than that of the packed array.
5491 (gnat_to_gnu_entity): Change the extension of packed array wrappers
5492 from LJM to JM.
5493
5494 2004-10-26 Geert Bosch <bosch@gnat.com>
5495
5496 * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
5497 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
5498 (Pred): Implement in terms of Succ.
5499
5500 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5501
5502 * exp_aggr.adb (Safe_Component): An aggregate component that is an
5503 unchecked conversion is safe for in-place use if the expression of the
5504 conversion is safe.
5505 (Expand_Array_Aggregate): An aggregate that initializes an allocator may
5506 be expandable in place even if the aggregate does not come from source.
5507 (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
5508 designated object of an allocator in place, rather than building it
5509 first on the stack. The previous scheme forces a full copy of the array,
5510 and may be altogether unsusable if the size of the array is too large
5511 for stack allocation.
5512
5513 2004-10-26 Robert Dewar <dewar@gnat.com>
5514
5515 * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
5516 compares if the component is atomic.
5517
5518 * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
5519 array assignment if the component type is atomic.
5520
5521 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5522 Eric Botcazou <ebotcazou@act-europe.fr>
5523
5524 * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
5525 is aliased and is a by_reference type, do not pass by copy.
5526 (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
5527 detect whether the call is in the right side of an assignment or
5528 the expression of an object declaration. Recurse on component
5529 association within aggregates.
5530 Call it in the condition that determines whether the temporary is
5531 necessary for correct stack-checking.
5532
5533 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
5534
5535 * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
5536 RACW_Type, used in the PolyORB version.
5537 Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
5538 version and the GARLIC version.
5539
5540 * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
5541 Rename RCI_Info to RCI_Locator for better consistency between the
5542 GARLIC and PolyORB versions of the distributed systems annex.
5543 (DSA_Implementation_Name): This enumeration lists the possible
5544 implementations of the Partition Communication Subsystem for the
5545 Distributed Systems Annex (DSA). The three available implementations
5546 are the dummy stub implementation (No_DSA), and two versions based on
5547 two different distribution runtime libraries: GARLIC and PolyORB. Both
5548 the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
5549 technology.
5550 Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
5551 that organization.
5552
5553 * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
5554 between the GARLIC and PolyORB versions of the distributed systems
5555 annex.
5556 Remove RE_Unbounded_Reclaim_Pool since it is unused.
5557
5558 2004-10-26 Gary Dismukes <dismukes@gnat.com>
5559
5560 * gnat1drv.adb: Suppress calling the back end when
5561 Frontend_Layout_On_Target is true.
5562
5563 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
5564
5565 * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
5566 Set_Read_Only): New subprograms.
5567 These new routines allow the user to set or unset the Owner execute
5568 and Owner write permission flags on a file.
5569
5570 * makegpr.adb, mlib.adb, mlib-prj.adb: Use
5571 GNAT.OS_Lib.Set_Executable instead of rolling our own.
5572
5573 2004-10-26 Matthew Gingell <gingell@gnat.com>
5574
5575 * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
5576
5577 2004-10-26 Pascal Obry <obry@gnat.com>
5578
5579 * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
5580 memory before the faulting page we properly test the process read
5581 access for this address using appropriate Win32 routine.
5582 (HPUX sections): guard with "__hpux__" instead of "hpux".
5583
5584 2004-10-26 Robert Dewar <dewar@gnat.com>
5585
5586 * lib-xref.adb (Generate_Reference): Don't complain about reference to
5587 entry parameter if pragma Unreferenced set, since we do not properly
5588 handle the case of multiple parameters.
5589
5590 2004-10-26 Vincent Celier <celier@gnat.com>
5591
5592 * prj-env.adb: (Contains_ALI_Files): New Boolean function
5593 (Ada_Objects_Path.Add): For a library project, add to the object path
5594 the library directory only if there is no object directory or if the
5595 library directory contains ALI files.
5596 (Set_Ada_Paths.Add.Recursive_Add): Ditto
5597
5598 2004-10-26 Vincent Celier <celier@gnat.com>
5599
5600 * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
5601 extension of library projects.
5602
5603 * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
5604 path defaults to ".:<prefix>/lib/gnat".
5605 (Parse): For an extending all project, allow direct import of a project
5606 that is virtually extended.
5607
5608 * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
5609 the specified name is directly imported, return its ID. Otherwise, if
5610 an extension of this project is imported, return the ID of the
5611 extension.
5612
5613 2004-10-26 Robert Dewar <dewar@gnat.com>
5614
5615 * s-arit64.adb: (Le3): New function, used by Scaled_Divide
5616 (Sub3): New procedure, used by Scaled_Divide
5617 (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
5618 correct more than one instance of failure to propagate carries
5619 correctly.
5620 (Double_Divide): Handle overflow case of largest negative number
5621 divided by minus one.
5622
5623 * s-arit64.ads (Double_Divide): Document that overflow can occur in
5624 the case of a quotient value out of range.
5625 Fix comments.
5626
5627 2004-10-26 Robert Dewar <dewar@gnat.com>
5628
5629 * s-bitops.adb (Bit_Eq): Remove redundant check.
5630
5631 * s-bitops.ads: Minor comment updates
5632 Change some occurrences of Address to System.Address
5633
5634 * s-carsi8.ads: Fix minor cut-and-paste error in comments
5635
5636 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5637
5638 * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
5639 accessibility check to prefix that is a protected operation.
5640
5641 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5642
5643 * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
5644 empty, post message on stub.
5645
5646 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5647 Javier Miranda <miranda@gnat.com>
5648
5649 * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
5650 current instance appears within a unit that is directly in the context
5651 of the main unit.
5652 Used to determine whether the body of the instance should be analyzed
5653 immediately after its spec, to make its subprogram bodies available
5654 for front-end inlining.
5655 (Analyze_Formal_Array_Type): Cleanup condition that checks that range
5656 constraint is not allowed on the component type (AARM 12.5.3(3))
5657
5658 2004-10-26 Cyrille Comar <comar@act-europe.fr>
5659
5660 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
5661 'Storage_Pool): enhance, document & limit detection of non-sharable
5662 internal pools.
5663
5664 * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
5665
5666 * s-pooglo.ads: Add more documentation now that this pool is properly
5667 documented.
5668
5669 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5670
5671 * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
5672 or protected type with discriminants, do not constrain the
5673 corresponding record type if the subtype declaration has no
5674 discriminant constraints. This can be the case in source code, or in
5675 the subtype declaration created to rename an actual type within an
5676 instantiation.
5677
5678 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5679
5680 * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
5681 different kind of stub (possibly wrong name for file), do not check
5682 for conformance.
5683 (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
5684 includes call to some function that returns an unconstrained type, do
5685 not inline.
5686
5687 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5688
5689 * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
5690 appear in the code for the main unit. Dependencies among units in the
5691 context of the main unit are established when those other units are
5692 compiled. Otherwise spurious elaboration constraints can generate
5693 incorrect elaboration circularities.
5694
5695 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
5696 Ed Schonberg <schonberg@gnat.com>
5697
5698 * sem_util.adb (Is_Aliased_View): Defend against the case where this
5699 subprogram is called with a parameter that is not an object name. This
5700 situation arises for some cases of illegal code, which is diagnosed
5701 later, and in this case it is wrong to call Is_Aliased, as that might
5702 cause a compiler crash.
5703 (Explain_Limited_Type): Refine previous fix to include
5704 inherited components of derived types, to provide complete information.
5705
5706 * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
5707 is the prival for a protected object.
5708 It is necessary to mark this entity as a variable, in addition to
5709 flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
5710 modified to avoid checking the Aliased flag on entities that are not
5711 objects. (Checking that flag for non-objects is erroneous and could
5712 lead to a compiler crash).
5713
5714 2004-10-26 Robert Dewar <dewar@gnat.com>
5715
5716 * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
5717 X_Frac = 0.5, then we know that the number X must be positive.
5718 (Succ): Remove the same redundant test, and also fix the primary test
5719 to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
5720 Minor reformatting
5721 (Decompose): Add fuller comments to spec
5722
5723 2004-10-26 Pascal Obry <obry@gnat.com>
5724
5725 * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
5726 validity (process must have read access). Set to 0 in all other cases.
5727 (STOP_FRAME): Now check for ptr validity to avoid a segmentation
5728 violation on Win32.
5729 (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
5730 segmentation violation.
5731
5732 2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
5733
5734 * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
5735 whose type is a constructed subtype of an aliased object with an
5736 unconstrained nominal subtype, convert the actual to the constructed
5737 subtype before taking its address.
5738
5739 2004-10-26 Vincent Celier <celier@gnat.com>
5740
5741 * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
5742 (Is_Path_Name_Case_Sensitive): New function
5743
5744 * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
5745 (Base_Name, Simple_Name, Current_Directory, Compose,
5746 Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
5747 the result.
5748
5749 2004-10-26 Cyrille Comar <comar@act-europe.fr>
5750 Vasiliy Fofanov <fofanov@act-europe.fr>
5751 Vincent Celier <celier@gnat.com>
5752
5753 * gnat_ugn.texi: Generalize "finding memory problems" section into a
5754 "memory management issues" section and document some of the useful
5755 memory pools provided as part of the GNAT library.
5756 Remove "virtual" from declaration of A::method2 in
5757 the simple example of Ada/C++ mixed system.
5758 Library Projects may be virtually extended: their virtual extensions
5759 are not Library Projects.
5760 Added section on extending project hierarchies.
5761
5762 2004-10-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
5763
5764 * adaint.c (__gnat_get_libraries_from_registry): Cast value
5765 to LPBYTE.
5766 (__gnat_portable_spawn): Remove const.
5767
5768 * mingw32.h (MAXPATHLEN): Check for previous definition.
5769
5770 2004-10-17 Matthias Klose <doko@debian.org>
5771
5772 * gnatvsn.ads: Set gnat library version to 4.0.
5773
5774 2004-10-05 Vincent Celier <celier@gnat.com>
5775
5776 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
5777
5778 2004-10-04 Laurent GUERBY <laurent@guerby.net>
5779
5780 PR ada/15156
5781 * Makefile.in: Define and use RANLIB_FLAGS.
5782
5783 2004-10-04 Pascal Obry <obry@gnat.com>
5784
5785 * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
5786 other x86 platforms).
5787
5788 2004-10-04 Olivier Hainque <hainque@act-europe.fr>
5789
5790 * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
5791 in general and triggers stack alignment adjustment for thread entry
5792 points on targets where this is necessary.
5793
5794 2004-10-04 Bernard Banner <banner@gnat.com>
5795
5796 PR ada/13897
5797
5798 * Makefile.in: Add section for powerpc linux
5799 Add variant i-vxwork-x86.ads
5800
5801 * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
5802
5803 2004-10-04 Olivier Hainque <hainque@act-europe.fr>
5804
5805 * init.c (__gnat_initialize): Call an Ada subprogram to perform the
5806 table registration calls when need be. Ensures no reference to the crt
5807 ctors symbol are issued in the SJLJ case, which avoids possible
5808 undefined symbol errors in the case of modules to be statically linked
5809 with the kernel.
5810
5811 2004-10-04 Javier Miranda <miranda@gnat.com>
5812
5813 * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
5814 in-line the code corresponding to subprogram Analyze_Actuals. In
5815 addition, analyze the actuals only in case of subprogram call.
5816
5817 2004-10-04 Ed Falis <falis@gnat.com>
5818
5819 * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
5820
5821 2004-10-04 Sergey Rybin <rybin@act-europe.fr>
5822
5823 * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
5824 in the documentation.
5825
5826 2004-10-04 Robert Dewar <dewar@gnat.com>
5827
5828 * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
5829 IF and CASE.
5830 (Analyze_Block_Statement): Add circuitry to detect following dead code
5831 (Check_Unreachable_Code): Handle case of block exit
5832
5833 2004-10-04 Robert Dewar <dewar@gnat.com>
5834
5835 * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
5836 (XMatchD): Avoid warning for Logic_Error call
5837
5838 2004-10-04 Robert Dewar <dewar@gnat.com>
5839
5840 * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
5841 consider expressions buried within a procedure actual to be an actual.
5842 This caused some blowups with uses of packed slices within a procedure
5843 actual.
5844
5845 2004-10-04 Robert Dewar <dewar@gnat.com>
5846
5847 * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
5848 longer need to be initialized to zero.
5849 (Get_Simple_Init_Val): Modular packed arrays no longer need to be
5850 initialized to zero.
5851
5852 * checks.adb (Expr_Known_Valid): Packed arrays are now always
5853 considered valid, even if the representation is modular. That's correct
5854 now that we no longer initialize packed modular arrays to zero.
5855
5856 * exp_dbug.ads: Clarify documentation on handling of PAD and JM
5857 suffixes. These are now documented as the only cases in which the
5858 debugger ignores outer records.
5859 Previously, the spec allowed arbitrary suffixes for this purpose.
5860 Change name of LJM to JM for packed array pad records
5861 Create separate section on packed array handling, and add a whole new
5862 set of comments to this section describing the situation with packed
5863 modular types and justification requirements depending on endianness.
5864
5865 2004-10-04 Robert Dewar <dewar@gnat.com>
5866
5867 * a-except.adb: Add a comment for last change
5868
5869 * einfo.ads: Minor spelling correction in comment
5870
5871 * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
5872
5873 * sem_ch11.adb: Fix a case of using | instead of \ for continuation
5874 messages.
5875
5876 * sem_util.ads: Minor comment update
5877
5878 2004-10-04 Ed Schonberg <schonberg@gnat.com>
5879
5880 * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
5881 Inline_Always when in Configurable_Run_Time mode.
5882
5883 * sem_prag.adb (Process_Convention): If entity is an inherited
5884 subprogram, apply convention to parent subprogram if in same scope.
5885 (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
5886 when in Configurable_Run_Time mode.
5887
5888 2004-10-04 Ed Schonberg <schonberg@gnat.com>
5889
5890 * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
5891 class_wide type after component list has been inherited.
5892
5893 2004-10-04 Ed Schonberg <schonberg@gnat.com>
5894
5895 * sem_ch12.adb (Check_Generic_Actuals): New predicate
5896 Denotes_Previous_Actual, to handle properly the case of a private
5897 actual that is also the component type of a subsequent array actual.
5898 The visibility status of the first actual is not affected when the
5899 second is installed.
5900 (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
5901 make fully recursive the treatment of formals of packages declared
5902 with a box.
5903 (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
5904 the above on exit from an instantiation.
5905 (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
5906 current instantiation which is now complete.
5907 (Analyze_Package_Instantiation): No instantiated body is needed if the
5908 main unit is generic. Efficient, and avoid anomalies when a instance
5909 appears in a package accessed through rtsfind.
5910
5911 2004-10-04 Ed Schonberg <schonberg@gnat.com>
5912
5913 * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
5914 do not generate a declaration for a temporary if the call is part of a
5915 library-level instantiation.
5916
5917 2004-10-04 Ed Schonberg <schonberg@gnat.com>
5918
5919 * sem_util.adb (Explain_Limited_Type): Ignore internal components when
5920 searching for a limited component to flag.
5921
5922 * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
5923 expansion of Input, to account for the fact that the implicit call
5924 generated by the attribute reference must freeze the user-defined
5925 stream subprogram. This is only relevant to 'Input, because it can
5926 appear in an object declaration, prior to the body of the subprogram.
5927
5928 * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
5929 expansion can proceed and further errors uncovered.
5930 (Minor clean up): Fix cases of using | instead of \ for continuation
5931 messages.
5932
5933 2004-10-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5934
5935 * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
5936
5937 * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
5938 (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
5939 Use gcc_assert and gcc_unreachable.
5940
5941 * decl.c (gnat_to_gnu_entity, case object): Check and process a
5942 specified alignment before validating size.
5943 (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
5944 stripped-down declaration for the type of the inner field when making
5945 a JM type.
5946
5947 * utils.c (finish_record_type): Do not compute the size in units
5948 incrementally. Instead compute it once for the rep clause case.
5949 Use gcc_assert and gcc_unreachable.
5950
5951 2004-10-04 Vincent Celier <celier@gnat.com>
5952
5953 * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
5954 in file name.
5955 (Is_Valid_Path_Name): Take '/' as a directory separator.
5956
5957 2004-10-04 Vincent Celier <celier@gnat.com>
5958
5959 * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
5960 (Extended_Project) only if Extended_Project is defined, to avoid
5961 assertion error.
5962 (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
5963 resolved path.
5964 (Parse_Single_Project): Ditto.
5965
5966 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
5967 Add_To_Project_Path for virtual projects.
5968
5969 2004-10-04 Vincent Celier <celier@gnat.com>
5970
5971 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
5972 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
5973 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
5974 mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
5975 parameter Options_2.
5976
5977 * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
5978 Build_Dynamic_Library with an empty Options_2.
5979
5980 * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
5981 default anymore.
5982
5983 * makegpr.adb (Get_Imported_Directories.add): Remove trailing
5984 directory separator, if any.
5985 (Gprmake): Do not allow mains on the command line for library projects.
5986 Do not attempt to link when the project is a library project.
5987 (Library_Opts): New table to store Library_Options.
5988 (Build_Library): If Library_Options is specified, pass these options
5989 when building a shared library.
5990
5991 2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
5992
5993 * s-tposen.adb (Service_Entry): The object must be always unlocked at
5994 the end of this procedure now that the unlock operation was inserted
5995 by the expander.
5996
5997 2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
5998
5999 * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
6000 corresponding to the Preallocated_Stacks flags in System.
6001 (Get_Target_Parameters): Including the processing for
6002 Preallocated_Stacks.
6003
6004 * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
6005 system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
6006 system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
6007 system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
6008 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
6009 system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
6010 system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
6011 system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
6012 system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
6013 system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
6014 system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
6015 used to signal whether the compiler creates the required stacks and
6016 descriptors for the different tasks (when True) or it is done by the
6017 underlying operating system at run time (when False).
6018 It is initially set to False in all targets.
6019
6020 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
6021 if it is supported by the target.
6022 (Make_Task_Create_Call): Pass the stack address if it has been
6023 previously created. Otherwise pass a Null_Address.
6024
6025 * snames.adb: Add _stack.
6026
6027 * snames.ads: Add Name_uStack. Required to allow the expander to
6028 statically allocated task stacks.
6029
6030 * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
6031 Stack_Address argument.
6032 Check that its value is equal to Null_Address because this target does
6033 not support the static stack allocation.
6034
6035 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
6036
6037 * usage.adb: Change "pragma inline" to "pragma Inline" in information
6038 and error messages
6039
6040 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
6041
6042 * exp_dist.adb: Split declaration of asynchronous flag out of
6043 Add_RACW_Read_Attribute.
6044 Minor reformatting for better alignment with PolyORB version.
6045 Store the entity for the asynchronous flag of an RACW, rather than the
6046 expression, in the asynchronous flags table. This will allow this flag
6047 to be used in other subprograms beside Add_RACW_Read_Attribute.
6048
6049 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
6050
6051 * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
6052 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
6053 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
6054 g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
6055 g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads: Add new
6056 sockets constant MSG_NOSIGNAL (Linux-specific).
6057 Add new sockets constant MSG_Forced_Flags, list of flags to be set on
6058 all Send operations.
6059 For Linux, set MSG_NOSIGNAL on all send operations to prevent them
6060 from trigerring SIGPIPE.
6061 Rename components to avoid clash with Ada 2005 possible reserved
6062 word 'interface'.
6063 (Check_Selector): When the select system call returns with an error
6064 condition, propagate Socket_Error to the caller.
6065
6066 2004-10-01 Jan Hubicka <jh@suse.cz>
6067
6068 * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
6069
6070 2004-09-23 Robert Dewar <dewar@gnat.com>
6071
6072 PR ada/17540
6073
6074 * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
6075 instead do this at freeze time (we won't do it if there is an address
6076 clause).
6077 Change "pragma inline" to "pragma Inline" in information and error
6078 messages.
6079 Minor reformatting.
6080
6081 * freeze.adb (Check_Address_Clause): Remove previous change, not the
6082 right way of doing things after all.
6083 (Freeze_Entity): For object, set Is_Public for imported entities
6084 unless there is an address clause present.
6085
6086 2004-09-21 Olivier Hainque <hainque@act-europe.fr>
6087
6088 * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
6089 dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
6090 ensures proper handling of types with rep clauses, which might have
6091 their TYPE_SIZE set already.
6092
6093 2004-09-21 Robert Dewar <dewar@gnat.com>
6094
6095 * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
6096 packed array types in both little- and big-endian cases. This change
6097 ensures that we no longer count on the unused bits being initialized
6098 for such types (and in particular ensures that equality testing will
6099 only read the relevant bits).
6100 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
6101 These changes mean that we no longer need to initialize small packed
6102 arrays.
6103 (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
6104 optimization to an LJM field as to its parent field.
6105
6106 * ada-tree.h, trans.c, utils.c, utils2.c:
6107 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
6108
6109 2004-09-20 Jan Hubicka <jh@suse.cz>
6110
6111 * utils.c (gnat_finalize): Remove.
6112 (end_subprog_body): Directly call cgraph_finalize_function;
6113 do not lower the nested functions.
6114
6115 2004-09-20 Robert Dewar <dewar@gnat.com>
6116
6117 PR ada/17540
6118
6119 * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
6120 if an address clause is present, since that means that the Import
6121 should be ignored.
6122
6123 2004-09-20 Arnaud Charlet <charlet@act-europe.fr>
6124
6125 * 5tsystem.ads: Removed, no longer used.
6126
6127 2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
6128 Zack Weinberg <zack@codesourcery.com>
6129
6130 * ada-tree.def: Use tree_code_class enumeration constants
6131 instead of code letters.
6132 * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
6133 Update for new tree-class enumeration constants.
6134
6135 2004-09-17 Vincent Celier <celier@gnat.com>
6136
6137 * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
6138 capabilities of the general project manager.
6139
6140 2004-09-09 Vincent Celier <celier@gnat.com>
6141
6142 * a-direct.ads: Add pragma Ada_05
6143 (Directory_Entry_Type): Give default value to component Kind to avoid
6144 not initialized warnings.
6145
6146 * a-direct.adb (Current_Directory): Remove directory separator at the
6147 end.
6148 (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
6149 an existing directory.
6150 (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
6151 (Size (String)): Function C_Size returns Long_Integer, not File_Size.
6152 Convert the result to File_Size.
6153
6154 * prj.ads: (Project_Error): New exception
6155
6156 * prj-attr.adb: Except in procedure Initialize, Fail comes from
6157 Prj.Com, not from Osint.
6158 (Attrs, Package_Attributes): Tables moved to private part of spec
6159 (Add_Attribute, Add_Unknown_Package): Moved to new child package
6160 Prj.Attr.PM.
6161 (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
6162 Prj.Project_Error after call to Fail.
6163 (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
6164 Fail. Check that package name is not already in use.
6165
6166 * prj-attr.ads: Comment updates to indicate that all subprograms may be
6167 used by tools, not only by the project manager, and to indicate that
6168 exception Prj.Prj_Error may be raised in case of problem.
6169 (Add_Unknown_Package, Add_Attribute): Moved to new child package
6170 Prj.Attr.PM.
6171 (Attrs, Package_Attributes): Table instantiations moved from the body to
6172 the private part to be accessible from Prj.Attr.PM body.
6173
6174 * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
6175 from new package Prj.Attr.PM.
6176 (Parse_Attribute_Declaration): Call Add_Attribute from new package
6177 Prj.Attr.PM.
6178
6179 * Makefile.in: Add prj-attr-pm.o to gnatmake object list
6180
6181 * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
6182 instead of Elaboration_Checks).
6183
6184 * a-calend.adb: Minor reformatting
6185
6186 2004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6187
6188 * gigi.h (maybe_pad_type): New declaration.
6189 (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
6190
6191 * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
6192
6193 * cuintp.c: Convert to use buildN.
6194
6195 * decl.c (maybe_pad_type): No longer static.
6196 (gnat_to_gnu_entity, case E_Function): Handle case of returning by
6197 target pointer.
6198 Convert to use buildN.
6199
6200 * trans.c (call_to_gnu): Add arg GNU_TARGET; support
6201 TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed.
6202 (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
6203 RHS.
6204 (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
6205 (gnat_gimplify_expr, case ADDR_EXPR): New case.
6206 Convert to use buildN.
6207
6208 * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
6209 TREE_READONLY for const.
6210 Convert to use buildN.
6211
6212 * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
6213 (create_var_decl): Refine when TREE_STATIC is set.
6214 Convert to use buildN.
6215
6216 2004-09-09 Gary Dismukes <dismukes@gnat.com>
6217
6218 * gnat_ugn.texi: Delete text relating to checking of ali and object
6219 consistency.
6220
6221 * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
6222 routines.
6223
6224 2004-09-09 Jose Ruiz <ruiz@act-europe.fr>
6225
6226 * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
6227 pragmas recognized by GNAT.
6228
6229 * gnat_rm.texi: Document pragma Detect_Blocking.
6230
6231 * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
6232 raise Program_Error if called from a protected operation.
6233
6234 * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
6235 the protected action nesting level.
6236 (Lock_Read_Only): When pragma Detect_Blocking is active increase the
6237 protected action nesting level.
6238 (Unlock): When pragma Detect_Blocking is active decrease the protected
6239 action nesting level.
6240
6241 * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
6242 Protected_Action_Nesting.
6243
6244 * s-taskin.ads: Adding the field Protected_Action_Nesting to the
6245 Common_ATCB record. It contains the dynamic level of protected action
6246 nesting for each task. It is needed for checking whether potentially
6247 blocking operations are called from protected operations.
6248 (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
6249 Detect_Blocking is active or not in the partition.
6250
6251 * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
6252 raise Program_Error if called from a protected operation.
6253 (Task_Entry_Call): When pragma Detect_Blocking is active, raise
6254 Program_Error if called from a protected operation.
6255 (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
6256 Program_Error if called from a protected operation.
6257
6258 * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
6259 raise Program_Error if called from a protected operation.
6260
6261 * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
6262 raise Program_Error if called from a protected operation, and increase
6263 the protected action nesting level.
6264 (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
6265 Program_Error if called from a protected operation, and increase the
6266 protected action nesting level.
6267 (Unlock_Entries): When pragma Detect_Blocking is active decrease the
6268 protected action nesting level.
6269
6270 * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
6271 raise Program_Error if called from a protected operation, and increase
6272 the protected action nesting level.
6273 (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
6274 Program_Error if called from a protected operation, and increase the
6275 protected action nesting level.
6276 (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
6277 raise Program_Error if called from a protected operation.
6278 (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
6279 active, raise Program_Error if called from a protected operation.
6280 (Unlock_Entry): When pragma Detect_Blocking is active decrease the
6281 protected action nesting level.
6282
6283 * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
6284 insertion of the statement raising Program_Error. The run time
6285 contains the required machinery for handling that.
6286
6287 * sem_util.ads: Change comment associated to procedure
6288 Check_Potentially_Blocking_Operation.
6289 This procedure does not insert a call for raising the exception because
6290 that is currently done by the run time.
6291
6292 * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
6293
6294 * init.c: Add the global variable __gl_detect_blocking that indicates
6295 whether pragma Detect_Blocking is active (1) or not (0). Needed for
6296 making the pragma available at run time.
6297 (__gnat_set_globals): Pass and update the detect_blocking parameter.
6298
6299 * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
6300 pragma Detect_Blocking is active.
6301
6302 * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
6303
6304 * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
6305 DB is found in the ali file. Any unit compiled with pragma
6306 Detect_Blocking active forces its effect in the whole partition.
6307
6308 * a-retide.adb (Delay_Until): Raise Program_Error if pragma
6309 Detect_Blocking is active and delay is called from a protected
6310 operation.
6311
6312 * bindgen.adb (Gen_Adainit_Ada): When generating the call to
6313 __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
6314 Detect_Blocking is active (0 otherwise).
6315 (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
6316 as Detect_Blocking parameter if pragma Detect_Blocking is active (0
6317 otherwise).
6318
6319 2004-09-09 Thomas Quinot <quinot@act-europe.fr>
6320
6321 * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
6322 GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
6323 package.
6324
6325 * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
6326 (Register_Receiving_Stub): Add Subp_Info formal parameter.
6327 Update API in placeholder implemetation of s-parint to reflect changes
6328 in distribution runtime library.
6329
6330 * sem_ch3.adb (Expand_Derived_Record): Rename to
6331 Expand_Record_Extension.
6332
6333 * sem_disp.adb (Check_Controlling_Formals): Improve error message for
6334 primitive operations of potentially distributed object types that have
6335 non-controlling anonymous access formals.
6336
6337 * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
6338 subprogram.
6339 New implementation of expansion for remote access-to-subprogram types,
6340 based on the RACW infrastructure.
6341 This version of sem_dist is compatible with PolyORB/DSA as well as
6342 GLADE.
6343
6344 * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
6345 Asynchrronous that applies to a remote access-to-subprogram type, mark
6346 the underlying RACW type as asynchronous.
6347
6348 * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
6349 __gnat_using_gnu_linker to 1.
6350
6351 * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
6352 g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
6353 GNAT.Perfect_Hash_Generators, and remove the empty
6354 GNAT.Perfect_Hash package.
6355
6356 * atree.adb: Minor reformatting
6357
6358 * exp_ch3.adb (Expand_Derived_Record): Rename to
6359 Expand_Record_Extension.
6360 (Build_Record_Init_Proc.Build_Assignment): The default expression in
6361 a component declaration must remain attached at that point in the
6362 tree so New_Copy_Tree copies it if the enclosing record type is derived.
6363 It is therefore necessary to take a copy of the expression when building
6364 the corresponding assignment statement in the init proc.
6365 As a side effect, in the case of a derived record type, we now see the
6366 original expression, without any rewriting that could have occurred
6367 during expansion of the ancestor type's init proc, and we do not need
6368 to go back to Original_Node.
6369
6370 * exp_ch3.ads (Expand_Derived_Record): Rename to
6371 Expand_Record_Extension.
6372
6373 * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
6374 Returns the RACW type used to implement a remote access-to-subprogram
6375 type.
6376 (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
6377 New subprograms. Used to create a proxy tagged object for a remote
6378 subprogram. The proxy object is used as the designated object
6379 for RAS values on the same partition (unless All_Calls_Remote applies).
6380 (Build_Get_Unique_RP_Call): New subprogram. Build a call to
6381 System.Partition_Interface.Get_Unique_Remote_Pointer.
6382 (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
6383 Renamed from Add_RAS_*_Attribute.
6384 (Add_Receiving_Stubs_To_Declarations): Generate a table of local
6385 subprograms.
6386 New implementation of expansion for remote access-to-subprogram types,
6387 based on the RACW infrastructure.
6388
6389 * exp_dist.ads (Copy_Specification): Update comment to note that this
6390 function can copy the specification from either a subprogram
6391 specification or an access-to-subprogram type definition.
6392
6393 2004-09-09 Ed Schonberg <schonberg@gnat.com>
6394
6395 * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
6396 in an instance, between an explicit subprogram an one inherited from a
6397 type derived from an actual.
6398
6399 * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
6400 add a polling call if the subprogram is to be inlined by the back-end,
6401 to avoid repeated calls with multiple inlinings.
6402
6403 * checks.adb (Apply_Alignment_Check): If the expression in the address
6404 clause is a call whose name is not a static entity (e.g. a dispatching
6405 call), treat as dynamic.
6406
6407 2004-09-09 Robert Dewar <dewar@gnat.com>
6408
6409 * g-trasym.ads: Minor reformatting
6410
6411 * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
6412 packed arrays, since unused bits are expected to be zero for a
6413 comparison.
6414
6415 2004-09-09 Eric Botcazou <ebotcazou@act-europe.fr>
6416
6417 * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
6418 comment.
6419
6420 2004-09-09 Pascal Obry <obry@gnat.com>
6421
6422 * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
6423 enable map file generation. Add the right option to generate the map
6424 file if Map_File is set to True.
6425
6426 * gnatdll.adb (Gen_Map_File): New variable.
6427 (Syntax): Add info about new -m (Map_File) option.
6428 (Parse_Command_Line): Add support for -m option.
6429 (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
6430 Minor reformatting.
6431
6432 2004-09-09 Laurent Pautet <pautet@act-europe.fr>
6433
6434 * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
6435 new gnatdist implementation.
6436 Define a subpackage isolating the output routines specific to this
6437 verbose mode.
6438
6439 2004-09-09 Joel Brobecker <brobecker@gnat.com>
6440
6441 * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
6442
6443 * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
6444
6445 2004-09-09 Cyrille Comar <comar@act-europe.fr>
6446
6447 * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
6448 internal unit.
6449
6450 * opt.ads: Add Ada_Version_Runtime constant used to decide which
6451 version of the language is used to compile the run time.
6452
6453 2004-09-09 Arnaud Charlet <charlet@act-europe.fr>
6454
6455 * sem_util.adb (Requires_Transient_Scope): Re-enable handling
6456 of variable length temporaries for function return now that the
6457 back-end and gigi support it.
6458
6459 2004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6460
6461 * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
6462
6463 * trans.c (struct stmt_group): Delete field GLOBAL.
6464 (gnat_init_stmt_group): Do not initialize it.
6465 (call_to_gnu): Use save_expr, not protect_multiple_eval.
6466 (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
6467 (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
6468 (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
6469 (start_stmt_group): Likewise.
6470 (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
6471
6472 * utils2.c (ggc.h): Include.
6473 (build_call_raise): Call build_int_cst, not build_int_2.
6474
6475 * utils.c (gnat_init_decl_processing): Fix arg to
6476 build_common_tree_nodes.
6477 (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
6478 (gnat_define_builtin): Set built_in_decls.
6479 (init_gigi_decls): Call build_int_cst, not build_int_2.
6480
6481 * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
6482 (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
6483 (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
6484 (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
6485 SET_TYPE_MODULE): Use them.
6486 (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
6487 (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
6488 (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
6489 SET_TYPE_ADA_SIZE): Likewise.
6490 (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
6491 (DECL_CONST_CORRESPONDING_VAR,
6492 SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
6493 (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
6494 (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
6495 (TYPE_RM_SIZE_NUM): New macro.
6496 (TYPE_RM_SIZE): Modified to use above.
6497
6498 * cuintp.c: (build_cst_from_int): New function.
6499 (UI_To_gnu): Use it.
6500
6501 * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
6502 (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
6503 (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
6504 MIN_EXPR for the size, copy it into new.
6505
6506 2004-09-01 Robert Dewar <dewar@gnat.com>
6507
6508 * exp_ch6.adb (Expand_Call): Properly handle validity checks for
6509 packed indexed component where array is an IN OUT formal. This
6510 generated garbage code previously.
6511
6512 * gnat_ugn.texi: Document -fverbose-asm
6513
6514 * gnat-style.texi: Minor updates (note that boolean constants and
6515 variables are joined with AND/OR rather than short circuit forms).
6516
6517 2004-09-01 Ed Schonberg <schonberg@gnat.com>
6518
6519 * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
6520 it is an upward conversion of an untagged type with no representation
6521 change.
6522
6523 2004-09-01 Thomas Quinot <quinot@act-europe.fr>
6524
6525 * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
6526 System.Partition_Interface.
6527
6528 * checks.adb (Apply_Access_Checks): Do not generate checks when
6529 expander is not active (but check for unset reference to prefix of
6530 dereference).
6531
6532 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
6533 pragma Debug as an if statement with a constant condition, for
6534 consistent treatment of entity references contained within the
6535 enclosed procedure call.
6536
6537 2004-09-01 Vincent Celier <celier@gnat.com>
6538
6539 * bindgen.adb: (Set_EA_Last): New procedure
6540 (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
6541 Set_EA_Last.
6542 (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
6543 (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
6544 linked without errors.
6545 (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
6546 ST and EA.
6547 (Gen_Exception_Table_C): Correct same bugs
6548
6549 * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
6550
6551 * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
6552 on Windows, make sure that the drive letter is in upper case.
6553
6554 * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
6555 Windows, when the drive letter is added and Case_Sensitive is True, the
6556 drive letter is forced to upper case.
6557
6558 * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
6559 to Options_2 for the call to MLib.Utl.Gcc.
6560
6561 * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
6562 directory separator when defining BASE_DIR.
6563
6564 2004-09-01 Pascal Obry <obry@gnat.com>
6565
6566 * gprcmd.adb (Extend): Do not output trailing directory separator. This
6567 is not needed and it confuses Windows GNU/make which does not report
6568 directory terminated by a slash as a directory.
6569 (gprcmd): Idem for "pwd" internal command.
6570
6571 * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
6572 target names rewrite to fix regressions with recent version of
6573 GNU/make. Starting with GNU/make 3.80 the pipe character was not
6574 handled properly anymore.
6575
6576 2004-09-01 Andreas Schwab <schwab@suse.de>
6577
6578 * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
6579 * raise.c [!IN_RTS]: Undef abort.
6580
6581 2004-08-27 Nathan Sidwell <nathan@codesourcery.com>
6582
6583 * utils2.c (build_allocator): Use ssize_int.
6584
6585 * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
6586
6587 2004-08-27 Andreas Schwab <schwab@suse.de>
6588
6589 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
6590
6591 2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
6592 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6593
6594 * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
6595
6596 2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
6597
6598 * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
6599 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
6600 * utils.c (init_gigi_decls): Likewise.
6601 * utils2.c (build_call_raise, build_allocator): Likewise.
6602
6603 2004-08-24 Nathan Sidwell <nathan@codesourcery.com>
6604
6605 * utils.c (gnat_init_decl_processing): Adjust
6606 build_common_tree_nodes call.
6607
6608 2004-08-20 Nathan Sidwell <nathan@codesourcery.com>
6609
6610 * utils2.c (build_allocator): Use build_int_cst for negative
6611 size types.
6612
6613 2004-08-18 Richard Henderson <rth@redhat.com>
6614
6615 * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
6616
6617 2004-08-16 Nathan Sidwell <nathan@codesourcery.com>
6618
6619 * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
6620 call.s
6621 * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
6622 (gnat_to_gnu): Likewise.
6623
6624 2004-08-16 Pascal Obry <obry@gnat.com>
6625
6626 * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
6627 backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
6628 option and not mdll anymore. Update comment.
6629
6630 2004-08-16 Pascal Obry <obry@gnat.com>
6631
6632 * bld.adb (Put_Include_Project): Properly handle directory separators
6633 on Windows.
6634
6635 2004-08-16 Ed Schonberg <schonberg@gnat.com>
6636
6637 * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
6638 decreasing the number of allocated junk nodes while searching for the
6639 appropriate subprogram.
6640
6641 2004-08-15 Nathan Sidwell <nathan@codesourcery.com>
6642
6643 * cuintp.c (UI_To_gnu): Use build_int_cst..
6644 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
6645 * utils.c (init_gigi_decls): Likewise.
6646 * utils2.c (build_call_raise): Likewise.
6647
6648 2004-08-13 Olivier Hainque <hainque@act-europe.fr>
6649
6650 * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
6651 for a global aliased object with a variable size and an unconstrained
6652 nominal subtype, pretend there is no initializer if the one we have is
6653 incomplete, and avoid referencing an inexistant component in there. The
6654 part we have will be rebuilt anyway and the reference may confuse
6655 further operations.
6656
6657 2004-08-13 Thomas Quinot <quinot@act-europe.fr>
6658
6659 * einfo.ads: Minor reformatting
6660
6661 * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
6662 restrictions in the ALI if we only want to warn about violations.
6663
6664 2004-08-13 Vincent Celier <celier@gnat.com>
6665
6666 * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
6667 when creating a new Unit_Record in table Units.
6668
6669 * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
6670 that are violated, if any.
6671
6672 * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
6673 add directory separator if path already ends with a directory separator.
6674
6675 2004-08-13 Ed Schonberg <schonberg@gnat.com>
6676
6677 * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
6678 unit, this is an attempt to inline a construct that is not available in
6679 the current restricted mode, so abort rather than trying to continue.
6680
6681 * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
6682 discriminants that rename those of the parent, recover names of
6683 original discriminants for the constraint on the full view of the
6684 parent.
6685 (Complete_Private_Subtype): Do not create a subtype declaration if the
6686 subtype is an itype.
6687
6688 * gnat_rm.texi: Added section on implementation of discriminated
6689 records with default values for discriminants.
6690
6691 2004-08-13 Ed Schonberg <schonberg@gnat.com>
6692
6693 PR ada/15601
6694 * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
6695 the second operand is overloaded.
6696
6697 2004-08-10 Richard Henderson <rth@redhat.com>
6698
6699 * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
6700 add __builtin_alloca.
6701
6702 2004-08-10 Richard Henderson <rth@redhat.com>
6703
6704 * config-lang.in (boot_language): Yes.
6705
6706 2004-08-09 Thomas Quinot <quinot@act-europe.fr>
6707
6708 * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
6709 from complaining on potential uninitialized reference.
6710 Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
6711 new specification and test explicitly for non-zero return value.
6712
6713 * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
6714 returning C.int, to avoid using a derived boolean type.
6715
6716 * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
6717 Duplicate_Subexpr_No_Checks in preference to direct use of
6718 Remove_Side_Effects and New_Copy_Tree.
6719 Clear Comes_From_Source on prefix of 'Size attribute reference.
6720
6721 * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
6722 g-socthi-vxworks.adb: Change calls to
6723 GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
6724 and test explicitly for non-zero return value.
6725
6726 * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
6727 (Is_Socket_In_Set): Declare imported function as returning C.int, to
6728 avoid using a derived boolean type.
6729
6730 2004-08-09 Albert Lee <lee@gnat.com>
6731
6732 * system-irix-n32.ads: Refine tasking priority constants for IRIX.
6733
6734 2004-08-09 Pascal Obry <obry@gnat.com>
6735
6736 * gnat_ugn.texi: Document new way to build DLLs on Windows using
6737 GCC's -shared option.
6738
6739 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
6740 Options_2 parameter (options put after object files).
6741
6742 2004-08-09 Olivier Hainque <hainque@act-europe.fr>
6743
6744 * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
6745 ignore overflows on low and high bounds of an index to also account for
6746 differences in signedness between sizetype and gnu_index_subtype.
6747 These are as legitimate as the ones caused by a lower TYPE_PRECISION
6748 on sizetype.
6749
6750 2004-08-09 Robert Dewar <dewar@gnat.com>
6751
6752 * s-solita.ads, s-solita.adb: Minor reformatting
6753
6754 * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
6755 Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
6756 obsolescent section
6757 Add note that No_Implicit_Conditionals does not suppress
6758 run time constraint checks.
6759
6760 * vms_conv.ads: Minor reformatting
6761
6762 * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
6763 and necessary for following change).
6764 (Mark): Return new format Mark_Id containing sec stack address
6765 (Release): Use sec stack address from Mark_Id avoiding Self call
6766
6767 * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
6768 pointer (cleanup and necessary for following change).
6769 Define Mark_Id as record containing address of secondary stack, that way
6770 Release does not need to find the stack again, decreasing the number of
6771 calls to Self and improving efficiency.
6772
6773 * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
6774
6775 * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
6776 case variable into the individual case branches when possible.
6777
6778 * sem_ch11.adb: Minor reformatting
6779
6780 * prj.ads: Correct spelling of suffixs
6781
6782 * prj-nmsc.adb: Minor reformatting
6783 Correct spelling suffixs throughout (also in identifiers)
6784
6785 * freeze.adb: Minor spelling correction
6786
6787 * exp_ch2.adb: Cleanups to handling of Current_Value
6788 (no functional effect).
6789
6790 * bld.adb: Correct spelling of suffixs
6791
6792 * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
6793
6794 2004-08-09 Ed Schonberg <schonberg@gnat.com>
6795
6796 PR ada/15408
6797
6798 * sem_ch7.adb (Install_Private_Declarations): In the body of the
6799 package or of a child, private entities are both immediately_visible
6800 and not hidden.
6801
6802 2004-08-09 Ed Schonberg <schonberg@gnat.com>
6803
6804 * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
6805 there are no range checks on the value of the literal.
6806
6807 * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
6808 wrapped is the triggering alternative of an asynchronous select, action
6809 statements mustbe inserted before the select itself.
6810
6811 * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
6812 case where the prefix is a protected function call.
6813 (Resolve_Attribute, case 'Access): The attribute reference on a
6814 subprogram is legal in a generic body if the subprogram is declared
6815 elsewhere.
6816
6817 2004-08-09 Vincent Celier <celier@gnat.com>
6818
6819 * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
6820 languages, otherwise building the library may fail with unresolved
6821 symbols.
6822 (Compile_Sources): Do not build libraries if -c switch is used
6823
6824 * gnatlink.adb (Process_Args): New switches -M and -Mmap
6825 (Write_Usage): If map file creation is supported, output new switches
6826 -M and -Mmap.
6827 (Gnatlink): When -M is specified, add the necessary switch(es) to the
6828 gcc call, when supported.
6829
6830 * Makefile.in: Added indepsw.o to the object list for gnatlink
6831 Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
6832
6833 * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
6834 indepsw.adb, indepsw.ads: New files.
6835
6836 2004-08-09 Bernard Banner <banner@gnat.com>
6837
6838 * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
6839
6840 * Makefile.in: add section for vxworks x86
6841
6842 2004-08-09 Hristian Kirtchev <kirtchev@gnat.com>
6843
6844 * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
6845 per-object constrained components where the discriminant is of an
6846 Access type.
6847 (Build_Record_Init_Proc): Add condition to prevent the inheritance of
6848 the parent initialization procedure for derived Unchecked_Unions.
6849 Instead, derived Unchecked_Unions build their own initialization
6850 procedure.
6851 (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
6852 Check the body of the subprogram for details.
6853 (Freeze_Record_Type): Prevent the inheritance of discriminant checking
6854 functions for derived Unchecked_Union types by introducing a condition.
6855 Allow the creation of TSS equality functions for Unchecked_Unions.
6856 (Make_Eq_Case): Rename formal parameter Node to E in function signature.
6857 Add formal parameter Discr to function signature. Discr is used to
6858 control the generated case statement for Unchecked_Union types.
6859 (Make_Eq_If): Rename formal parameter Node to E in function signature.
6860
6861 * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
6862 Unchecked_Unions.
6863 Check the body of the subprogram for details.
6864 (Expand_Composite_Equality): Augment composite type equality to include
6865 correct handling of Unchecked_Union components.
6866 (Expand_N_In): Add condition to detect illegal membership tests when the
6867 subtype mark is a constrained Unchecked_Union and the expression lacks
6868 inferable discriminants, and build a Raise_Program_Error node.
6869 (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
6870 to detect types that contain components of unconstrained Unchecked_Union
6871 subtype. Add condition to detect equality between types that have an
6872 unconstrained Unchecked_Union component, and build a Raise_Program_Error
6873 node. Add condition to detect equality between Unchecked_Union types
6874 that lack inferable discriminants, and build a Raise_Program_Error node.
6875 Otherwise build a TSS equality function call.
6876 (Expand_N_Type_Conversion): Add condition to detect illegal conversions
6877 from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
6878 with the operand lacking inferable discriminants, and build a Raise_
6879 Program_Error node.
6880 (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
6881 composite equality.
6882 (Has_Inferable_Discriminants): Implement new predicate for objects and
6883 expressions of Unchecked_Union type. Check the body of subprogram for
6884 details.
6885 (Has_Unconstrained_UU_Components): Add function
6886 Component_Is_Unconstrained_UU. It is used to detect whether a single
6887 component is of an unconstrained Unchecked_Union subtype. Add function
6888 Variant_Is_Unconstrained_UU. It is used to detect whether a single
6889 component inside a variant is of an unconstrained Unchecked_Union type.
6890
6891 * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
6892 inferred discriminant values. Add condition to generate a case
6893 statement with an inferred discriminant as the switch.
6894 (Make_Component_List_Assign): Introduce a Boolean flag that determines
6895 the behaviour of the subprogram in the presence of an Unchecked_Union.
6896 Add condition to trigger the usage of the inferred discriminant value
6897 as the generated case statement switch.
6898 (Make_Field_Assign): Introduce a Boolean flag that determines the
6899 behaviour of the subprogram in the presence of an Unchecked_Union. Add
6900 condition to trigger the usage of the inferred discriminant value as
6901 the right-hand side of the generated assignment.
6902
6903 * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
6904 parameter generation when dealing with Unchecked_Unions.
6905
6906 * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
6907 checks for Unchecked_Unions.
6908
6909 * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
6910
6911 * exp_attr.adb (Expand_N_Attribute_Reference): Produce
6912 Raise_Program_Error nodes for the execution of Read and Write
6913 attributes of Unchecked_Union types and the execution of Input and
6914 Output attributes of Unchecked_Union types that lack default
6915 discriminant values.
6916
6917 * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
6918 Unchecked_Union. Add procedure Check_Component. It is used to inspect
6919 per-object constrained components of Unchecked_Unions for being
6920 Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
6921 check individual components withing a variant.
6922
6923 * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
6924 comparison of Unchecked_Unions.
6925 (Resolve_Equality_OP): Remove guard that prevents equality between
6926 Unchecked_Unions.
6927
6928 * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
6929 of component subtypes for Unchecked_Union components.
6930 (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
6931 since it is the actual subtype.
6932
6933 * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
6934 pass of Unchecked_Union subtypes as generic actuals to formal types
6935 that lack known_discriminant_parts or that are derived Unchecked_Union
6936 types, and do nothing. In any other case, produce an error message.
6937
6938 * sem_ch3.adb (Analyze_Component_Declaration): Add function
6939 Contains_POC. It determines whether a constraint uses the discriminant
6940 of an enclosing record type.
6941 Add condition to detect per-object constrained component and set the
6942 appropriate flag.
6943 (Derived_Type_Declaration): Remove guard that prevents derivation from
6944 Unchecked_Union types.
6945 (Process_Subtype): Remove quard that prevents the creation of Unchecked_
6946 Union subtypes.
6947
6948 * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
6949 references to Unchecked_Union discriminants.
6950
6951 * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
6952 formal generation when dealing with Unchecked_Unions.
6953 (Set_Actual_Subtypes): Add condition to prevent generation of actual
6954 subtypes for Unchecked_Unions.
6955
6956 * sem_ch7.adb (Analyze_Package_Specification): Add procedure
6957 Inspect_Unchecked_Union_Completion. It is used to detect incorrect
6958 completions of discriminated partial views by Unchecked_Unions and
6959 produce an error message.
6960
6961 2004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6962
6963 * trans.c (struct stmt_group): New field, GLOBAL.
6964 (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
6965 (struct elab_info): New struct.
6966 (elab_info_list, gnu_elab_proc_stack): New variables.
6967 (Compilation_Unit_to_gnu): New procedure.
6968 (gigi): Call it and also handle elaboration procs we've saved.
6969 (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
6970 global field from parent.
6971 (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
6972 (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
6973 (start_stmt_group): Initialize global field from parent.
6974 (add_decl_expr): Set to global for current statement group.
6975 (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
6976 post.
6977
6978 * utils.c (global_bindings_p): True when no current_function_decl; no
6979 longer check current_binding_level.
6980
6981 2004-08-09 Ben Brosgol <brosgol@gnat.com>
6982
6983 * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
6984 choice.
6985
6986 * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
6987
6988 2004-08-06 Andreas Schwab <schwab@suse.de>
6989
6990 * utils.c (gnat_define_builtin): Remove second parameter of
6991 make_decl_rtl.
6992 (begin_subprog_body): Likewise.
6993
6994 2004-07-26 Arnaud Charlet <charlet@act-europe.fr>
6995
6996 * sem_util.adb (Requires_Transient_Scope): Temporarily disable
6997 optimization, not supported by the tree-ssa back-end.
6998
6999 2004-07-26 Olivier Hainque <hainque@act-europe.fr>
7000
7001 * s-mastop-irix.adb: Update comments.
7002
7003 * a-except.adb (Exception_Information): Raise Constraint_Error if
7004 exception Id is Null_Id.
7005 This is required behavior, which is more reliably and clearly checked
7006 at the top level interface level.
7007
7008 2004-07-26 Javier Miranda <miranda@gnat.com>
7009
7010 * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
7011 call if a component has no default_expression and the box is used.
7012
7013 * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
7014 default_expression and you use box, it behaves as if you had declared a
7015 stand-alone object.
7016 (Resolve_Record_Aggregate): If a component has no default_expression and
7017 you use box, it behaves as if you had declared a stand-alone object.
7018
7019 * sem_ch10.adb (Install_Siblings): Do not make visible the private
7020 entities of private-with siblings.
7021
7022 2004-07-26 Ed Schonberg <schonberg@gnat.com>
7023
7024 * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
7025 for a component of an itype, set the parent pointer for analysis,
7026 there is no list in which to insert it.
7027
7028 * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
7029 bona-fide renamings, not for inherited operations.
7030
7031 * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
7032 actual for a formal that is an access parameter, create local
7033 finalization list even if the expression is not an aggregate.
7034
7035 2004-07-26 Ed Schonberg <schonberg@gnat.com>
7036
7037 PR ada/16213
7038 * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
7039 Diagnose properly illegal subprogram renamings that are library units.
7040
7041 2004-07-26 Ed Schonberg <schonberg@gnat.com>
7042
7043 PR ada/15588
7044 * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
7045 conversion rewritten as an unchecked conversion, check that original
7046 expression is a variable.
7047
7048 * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
7049 unchecked_conversion, create new node rather than rewriting in place,
7050 to preserve original construct.
7051
7052 2004-07-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7053
7054 * gigi.h (gnat_expand_body): Deleted.
7055
7056 * Make-lang.in: (trans.o): Depends on function.h.
7057
7058 * misc.c: (gnat_expand_body): Moved to here.
7059
7060 * trans.c (gnat_expand_body_1): Deleted.
7061 (gnat_expand_body): Moved from here.
7062 (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
7063 (add_stmt): Check for marked visited with global_bindings_p.
7064 (gnat_gimplify_expr, case COMPONENT_REF): New case.
7065 (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
7066
7067 * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
7068 VIEW_CONVERT_EXPR if not operation type.
7069
7070 * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
7071 fat pointer.
7072
7073 * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
7074 changes: reformatting of negation operators, removing unneeded
7075 inequality comparison with zero, converting equality comparisons with
7076 zero to negations, changing int/0/1 to bool/false/true, replace calls
7077 to gigi_abort with abort, and various other similar changes.
7078
7079 2004-07-26 Vincent Celier <celier@gnat.com>
7080
7081 * gnatcmd.adb (GNATCmd): Add processing for new built-in command
7082 "setup".
7083
7084 * make.adb (Gnatmake): Fail when a library is not present and there is
7085 no object directory.
7086
7087 * mlib-prj.adb (Check_Library): No need to check if the library needs
7088 to be rebuilt if there is no object directory, hence no object files
7089 to build the library.
7090
7091 * opt.ads (Setup_Projects): New Boolean flag.
7092
7093 * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
7094 Location.
7095 Create directory when Kind /= "" and in "gnat setup". Report error if
7096 directory cannot be created.
7097 (Ada_Check): Create library interface copy dir if it does not exist
7098 and we are in "gnat setup".
7099 (Find_Sources): No error if in "gnat setup" and no Ada sources were
7100 found.
7101 (Language_Independent_Check): Create object directory, exec directory
7102 and/or library directory if they do not exist and we are in
7103 "gnat setup".
7104
7105 * vms_conv.ads: (Command_Type): New command Setup.
7106
7107 * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
7108
7109 * vms_data.ads: Add qualifiers/switches for new built-in command
7110 "setup".
7111
7112 2004-07-25 Richard Henderson <rth@redhat.com>
7113
7114 * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
7115 DECL_IGNORED_P on RESULT_DECL.
7116
7117 2004-07-20 Olivier Hainque <hainque@act-europe.fr>
7118
7119 * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
7120 allocation and potentially overflowing update with
7121 Tailored_Exception_Information. Use the sec-stack free procedural
7122 interface to output Exception_Information instead.
7123
7124 * a-except.adb (To_Stderr): New subprogram for character, and string
7125 version moved from a-exextr to be visible from other separate units.
7126 (Tailored_Exception_Information): Remove the procedural version,
7127 previously used by the default Last_Chance_Handler and not any more.
7128 Adjust various comments.
7129
7130 * a-exexda.adb: Generalize the exception information procedural
7131 interface, to minimize the use of secondary stack and the need for
7132 local buffers when the info is to be output to stderr:
7133 (Address_Image): Removed.
7134 (Append_Info_Character): New subprogram, checking for overflows and
7135 outputing to stderr if buffer to fill is of length 0.
7136 (Append_Info_String): Output to stderr if buffer to fill is of length 0.
7137 (Append_Info_Address, Append_Info_Exception_Name,
7138 Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
7139 Append_Info_Basic_Exception_Traceback,
7140 Append_Info_Exception_Information): New subprograms.
7141 (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
7142 (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
7143 Exception_Info_Maxlength, Exception_Name_Length,
7144 Exception_Message_Length): New subprograms.
7145 (Exception_Information): Use Append_Info_Exception_Information.
7146 (Tailored_Exception_Information): Use
7147 Append_Info_Basic_Exception_Information.
7148 Export services for the default Last_Chance_Handler.
7149
7150 * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
7151 other separate units.
7152
7153 2004-07-20 Vincent Celier <celier@gnat.com>
7154
7155 * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
7156
7157 2004-07-20 Ed Schonberg <schonberg@gnat.com>
7158
7159 * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
7160 emit itype references for the designated types of component types that
7161 are declared outside of the full record declaration, and that may
7162 denote a partial view of that record type.
7163
7164 2004-07-20 Ed Schonberg <schonberg@gnat.com>
7165
7166 PR ada/15607
7167 * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
7168 which is the designated type in an access component declaration, to the
7169 list of incomplete dependents of the parent type, to avoid elaboration
7170 issues with out-of-scope subtypes.
7171 (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
7172 full view of the parent.
7173
7174 2004-07-20 Ed Schonberg <schonberg@gnat.com>
7175
7176 PR ada/15610
7177 * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
7178 entities that are hidden, such as references to generic actuals
7179 outside an instance.
7180
7181 2004-07-20 Javier Miranda <miranda@gnat.com>
7182
7183 * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
7184 support to the new notation.
7185 (Analyze_Selected_Component): Add call to Try_Object_Operation.
7186
7187 2004-07-20 Jose Ruiz <ruiz@act-europe.fr>
7188
7189 * s-taprob.adb: Adding the elaboration code required for initializing
7190 the tasking soft links that are common to the full and the restricted
7191 run times.
7192
7193 * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
7194 restricted run time has been moved to the package
7195 System.Soft_Links.Tasking.
7196
7197 * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
7198 restricted run time has been moved to the package
7199 System.Soft_Links.Tasking.
7200
7201 * Makefile.rtl: Add entry for s-solita.o in run-time library list.
7202
7203 * s-solita.ads, s-solita.adb: New files.
7204
7205 2004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7206
7207 * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
7208 Case_Statement_to_gnu): Split off from gnat_to_gnu.
7209 (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
7210 Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
7211 Exception_Handler_to_gnu_zcx): Likewise.
7212
7213 2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
7214
7215 * gigi.h (builtin_function): Declare.
7216
7217 2004-07-15 Robert Dewar <dewar@gnat.com>
7218
7219 * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
7220 reformatting
7221
7222 * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
7223 access values as an example of a warning.
7224
7225 * gnat_rm.texi: Document new attribute Has_Access_Values
7226
7227 * gnat-style.texi: Document that box comments belong on nested
7228 subprograms
7229
7230 * sem_util.ads (Has_Access_Values): Improved documentation
7231
7232 * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
7233
7234 * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
7235 (Process_Interface_Name): Call to this new procedure
7236 (Set_Extended_Import_Export_External_Name): Call to this new procedure
7237
7238 * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
7239
7240 * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
7241
7242 * einfo.ads: Minor comment typo fixed
7243
7244 2004-07-15 Jose Ruiz <ruiz@act-europe.fr>
7245
7246 * snames.adb: Add _atcb.
7247
7248 * snames.ads: Add Name_uATCB.
7249
7250 * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
7251 (in the expanded code) when using the restricted run time.
7252
7253 * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
7254 a in parameter in order to allow ATCBs to be preallocated (in the
7255 expanded code).
7256
7257 * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
7258 order to allow ATCBs to be preallocated. In case of error, the ATCB is
7259 deallocated in System.Tasking.Stages.
7260
7261 * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
7262 order to allow ATCBs to be preallocated.
7263
7264 * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
7265 here. It was previously done in Initialize_ATCB.
7266
7267 * rtsfind.ads: Make the Ada_Task_Control_Block visible.
7268
7269 * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
7270 Restricted run time.
7271
7272 * exp_ch3.adb: When using the Restricted run time, pass the
7273 preallocated Ada_Task_Control_Block when creating a task.
7274
7275 2004-07-15 Ed Schonberg <schonberg@gnat.com>
7276
7277 * sem_util.adb (Normalize_Actuals): If there are no actuals on a
7278 function call that is itself an actual in an enclosing call, diagnose
7279 problem here rather than assuming that resolution will catch it.
7280
7281 * sem_ch7.adb (Analyze_Package_Specification): If the specification is
7282 the local copy of a generic unit for a formal package, and the generic
7283 is a child unit, install private part of ancestors before compiling
7284 private part of spec.
7285
7286 * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
7287 use scope entities rather than tree structures, to handle properly
7288 parent units that are instances rewritten as bodies for inlining
7289 purposes.
7290
7291 * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
7292 Remove_Parents): Handle properly a parent unit that is an
7293 instantiation, when the unit has been rewritten as a body for inlining
7294 purposes.
7295
7296 * par.adb (Goto_List): Global variable to collect goto statements in a
7297 given unit, for use in detecting natural loops.
7298
7299 * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
7300 use in detecting natural loops.
7301
7302 * par-labl.adb (Find_Natural_Loops): Recognize loops create by
7303 backwards goto's, and rewrite as a infinite loop, to improve locality
7304 of temporaries.
7305
7306 * exp_util.adb (Force_Evaluation): Recognize a left-hand side
7307 subcomponent that includes an indexed reference, to prevent the
7308 generation of copies that would miscompile the desired assignment
7309 statement.
7310 (Build_Task_Image_Decls): Add a numeric suffix to
7311 generated name for string variable, to avoid spurious conflicts with
7312 the name of the type of a single protected object.
7313
7314 * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
7315 loop with an explicit exit statement, to avoid generating an
7316 out-of-range value with 'Succ leading to spurious constraint_errors
7317 when compiling with -gnatVo.
7318
7319 2004-07-15 Thomas Quinot <quinot@act-europe.fr>
7320
7321 * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
7322 might not be analyzed yet, even if its Etype is already set (case of an
7323 unchecked conversion built using Unchecked_Convert_To, for example).
7324 If the prefix has already been analyzed, this will be a nop anyway.
7325
7326 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
7327 controller type, or an assignment of a record type with controlled
7328 components, copy only user data, and leave the finalization chain
7329 pointers untouched.
7330
7331 2004-07-15 Vincent Celier <celier@gnat.com>
7332
7333 * make.adb (Collect_Arguments): Improve error message when attempting
7334 to compile a source not part of any project, when -x is not used.
7335
7336 * prj.ads: (Defined_Variable_Kind): New subtype
7337
7338 * prj-attr.adb (Register_New_Package): Two new procedures to register
7339 a package with or without its attributes.
7340 (Register_New_Attribute): Mew procedure to register a new attribute in a
7341 package.
7342 New attribute oriented subprograms: Attribute_Node_Id_Of,
7343 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
7344 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
7345 Next_Attribute.
7346 New package oriented subprograms: Package_Node_Id_Of,
7347 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
7348
7349 * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
7350 type.
7351 (Package_Node_Id): Now a private, self initialized type
7352 (Register_New_Package): New procedure to register a package with its
7353 attributes.
7354 New attribute oriented subprograms: Attribute_Node_Id_Of,
7355 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
7356 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
7357 Next_Attribute.
7358 New package oriented subprograms: Package_Node_Id_Of,
7359 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
7360
7361 * prj-dect.adb (Parse_Attribute_Declaration,
7362 Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
7363
7364 * prj-makr.adb (Make): Parse existing project file before creating
7365 other files. Fail if there was an error during parsing.
7366
7367 * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
7368 new spec of Prj.Attr.
7369
7370 * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
7371 to new spec of Prj.Attr.
7372
7373 2004-07-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7374
7375 * utils2.c: Fix typo in comment.
7376
7377 2004-07-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7378
7379 * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
7380 * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
7381
7382 2004-07-14 Andreas Schwab <schwab@suse.de>
7383
7384 * trans.c (gnat_init_stmt_group): Remove duplicate definition.
7385
7386 2004-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7387
7388 * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
7389 object type.
7390 (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
7391 TYPE_STUB_DECL.
7392
7393 * misc.c (gnat_types_compatible_p): New function.
7394 (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
7395 (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
7396
7397 * trans.c (gigi): Move processing of main N_Compilation_Unit here.
7398 (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
7399 (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
7400 (mark_visited): Don't mark dummy type.
7401 (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
7402 parameter, we must remove any LJM building from GNU_NAME.
7403 (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
7404 (pos_to_constructor): Use int_const_binop.
7405 (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
7406 PARM_DECL.
7407
7408 * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
7409 (gnat_pushlevel): Set TREE_USE on BLOCK node.
7410 (gnat_install_builtins): Add __builtin_memset.
7411
7412 2004-07-13 Olivier Hainque <hainque@act-europe.fr>
7413
7414 * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
7415 for a renaming, stabilize the initialization expression if we are at a
7416 local level. At the local level, uses of the renaming may be performed
7417 by a direct dereference of the initializing expression, and we don't
7418 want possible variables there to be evaluated for every use.
7419
7420 * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
7421 Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
7422 them on the way. Account for the fact that we may introduce side
7423 effects in the process.
7424
7425 2004-07-13 Richard Henderson <rth@redhat.com>
7426
7427 * misc.c (default_pass_by_ref): Use pass_by_reference.
7428
7429 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
7430
7431 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
7432 LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
7433
7434 2004-07-08 Richard Henderson <rth@redhat.com>
7435
7436 * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
7437 commentary.
7438
7439 2004-07-06 Vincent Celier <celier@gnat.com>
7440
7441 * vms_conv.ads: Minor reformatting.
7442 Alphabetical order for enumerated values of type Command_Type, to have
7443 the command in alphabetical order for the usage.
7444
7445 * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
7446 the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
7447
7448 * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
7449
7450 * makegpr.adb (Global_Archive_Exists): New global Boolean variable
7451 (Add_Archive_Path): Only add the global archive if there is one.
7452 (Build_Global_Archive): Set Global_Archive_Exists depending if there is
7453 or not any object file to put in the global archive, and don't build
7454 a global archive if there is none.
7455 (X_Switches): New table
7456 (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
7457 in the X_Switches table, if any.
7458 (Initialize): Make sure the X_Switches table is empty
7459 (Scan_Arg): Record -X switches in table X_Switches
7460
7461 * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
7462
7463 * make.adb: Minor comment fix
7464
7465 * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
7466 invoked with directory information, add the directory in front of the
7467 path.
7468
7469 * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
7470 invoked with directory information, add the directory in front of the
7471 path.
7472
7473 * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
7474 when Keep_Temporary_Files is False.
7475 (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
7476 directory information, add the directory in front of the path.
7477 When not on VMS, handle new switch -dn before the command to set
7478 Keep_Temporary_Files to True.
7479 (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
7480 everywhere.
7481
7482 * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
7483 invoked with directory information, add the directory in front of the
7484 path.
7485
7486 2004-07-06 Thomas Quinot <quinot@act-europe.fr>
7487
7488 * snames.ads, snames.adb (Name_Stub): New name for the distributed
7489 systems annex.
7490
7491 * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
7492 New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
7493
7494 * g-socket.adb (To_Timeval): Fix incorrect conversion of
7495 Selector_Duration to Timeval for the case of 0.0.
7496
7497 * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
7498 documentation from Evolve_And_Then.
7499
7500 2004-07-06 Jose Ruiz <ruiz@act-europe.fr>
7501
7502 * s-taprop-tru64.adb, s-taprop-os2.adb,
7503 s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
7504
7505 2004-07-06 Robert Dewar <dewar@gnat.com>
7506
7507 * s-osinte-hpux.ads, s-osinte-freebsd.ads,
7508 s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
7509 s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
7510 s-interr-sigaction.adb, s-taprop-irix-athread.adb,
7511 s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
7512 s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
7513 s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
7514 s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
7515 a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
7516 a-tags.ads, bindgen.ads, checks.adb, checks.adb,
7517 csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
7518 exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
7519 g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
7520 i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
7521 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
7522 sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
7523 sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
7524 s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
7525 s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
7526 s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
7527 vms_data.ads: Minor reformatting,
7528 Fix bad box comment format.
7529
7530 * gnat_rm.texi: Fix minor grammatical error
7531
7532 * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
7533
7534 * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
7535 more cases of discriminated records to be recognized as not needing a
7536 secondary stack.
7537 (Has_Access_Values): New function.
7538
7539 * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
7540
7541 * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
7542 Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
7543 with LRM terminology).
7544 Change terminology in comments primitive type => elementary type.
7545
7546 2004-07-06 Ed Schonberg <schonberg@gnat.com>
7547
7548 PR ada/15602
7549 * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
7550 parameters do not impose any requirements on the presence of a body.
7551
7552 2004-07-06 Ed Schonberg <schonberg@gnat.com>
7553
7554 PR ada/15593
7555 * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
7556 compilation unit and is in an open scope at the point of instantiation,
7557 assume that a body may be present later.
7558
7559 2004-07-06 Ed Schonberg <schonberg@gnat.com>
7560
7561 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
7562 Improve error message when specified size is not supported.
7563
7564 * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
7565 is never a primitive operation.
7566
7567 2004-07-05 Andreas Schwab <schwab@suse.de>
7568
7569 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
7570 RECORD_OR_UNION_CHECK.
7571 (TYPE_CONTAINS_TEMPLATE_P): Likewise.
7572
7573 2004-07-04 Kelley Cook <kcook@gcc.gnu.org>
7574
7575 * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
7576 dependency on xgnatugn, instead build it via a submake.
7577 (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
7578
7579 2004-07-04 Richard Henderson <rth@redhat.com>
7580
7581 * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
7582
7583 2004-07-01 Richard Henderson <rth@redhat.com>
7584
7585 * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
7586 * utils.c (max_size): Likewise.
7587
7588 2004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7589
7590 * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
7591 and rest_of_type_compilation; add arg to create_*_decl.
7592 (annotate_decl_with_node): Deleted.
7593 (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
7594 * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
7595 (get_current_block_context, gnat_pushdecl): New declarations.
7596 (gnat_init_stmt_group): Likewise.
7597 (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
7598 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
7599 (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
7600 (gnat_init): Call gnat_init_stmt_group.
7601 * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
7602 (gnu_pending_elaboration_list): Deleted.
7603 (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
7604 (gigi): Rearrange initialization calls and move some to last above.
7605 (gnat_to_gnu): If statement and not in procedure, go into elab proc.
7606 Delete calls to add_decl_expr; add arg to create_*_decl.
7607 (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
7608 (gnat_to_gnu, case N_Subprogram_Body): Move some code to
7609 begin_subprog_body and call it.
7610 Don't push and pop ggc context.
7611 (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
7612 (add_stmt): Remove handling of DECL_EXPR from here.
7613 If not in function, mark visited.
7614 (add_decl_expr): Put global at top level.
7615 Check for cases of DECL_INITIAL we have to handle here.
7616 (process_type): Add extra arg to create_type_decl.
7617 (build_unit_elab): Rework to just gimplify.
7618 * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
7619 (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
7620 (get_pending_elaborations, pending_elaborations_p): Likewise.
7621 (push_pending_elaborations, pop_pending_elaborations): Likewise.
7622 (get_elaboration_location, insert_elaboration_list): Likewise.
7623 (gnat_binding_level): Renamed from ada_binding_level.
7624 (init_gnat_to_gnu): Don't clear pending_elaborations.
7625 (global_bindings_p): Treat as global if no current_binding_level.
7626 (set_current_block_context): New function.
7627 (gnat_pushdecl): Renamed from pushdecl; major rework.
7628 All callers changed.
7629 (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
7630 (finish_record_type): Call call pushdecl for stub decl.
7631 (function_nesting_depth): Deleted.
7632 (begin_subprog_body): Delete obsolete code.
7633 * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
7634
7635 2004-06-28 Robert Dewar <dewar@gnat.com>
7636
7637 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
7638 mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
7639 mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
7640 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
7641 a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
7642
7643 * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
7644 deal with problem of inefficient slices on machines with strict
7645 alignment, when the slice is a component of a composite.
7646
7647 * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
7648 machines, we need the check there as well.
7649
7650 2004-06-28 Ed Schonberg <schonberg@gnat.com>
7651
7652 * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
7653 determine safe copying direction for overlapping slice assignments
7654 when component is controlled.
7655
7656 * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
7657 formal derived type in the actual for a formal package are visible in
7658 the enclosing instance.
7659
7660 2004-06-28 Ed Schonberg <schonberg@gnat.com>
7661
7662 PR ada/15600
7663 * sem_util.adb (Trace_Components): Diagnose properly an illegal
7664 circularity involving a private type whose completion includes a
7665 self-referential component.
7666 (Enter_Name): Use Is_Inherited_Operation to distinguish a source
7667 renaming or an instantiation from an implicit derived operation.
7668
7669 2004-06-28 Pascal Obry <obry@gnat.com>
7670
7671 * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
7672 DLL.
7673 (Library_File_Name_For): Idem.
7674
7675 2004-06-28 Matthew Gingell <gingell@gnat.com>
7676
7677 * g-traceb.ads: Add explanatory note on the format of addresses
7678 expected by addr2line.
7679
7680 2004-06-28 Jerome Guitton <guitton@act-europe.fr>
7681
7682 * Makefile.in: Force debugging information on s-tasdeb.adb,
7683 a-except.adb and s-assert.adb needed by the debugger.
7684
7685 2004-06-28 Vincent Celier <celier@gnat.com>
7686
7687 * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
7688 Need_To_Build_Lib.
7689 (Gnatmake): Ditto.
7690
7691 * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
7692
7693 * prj.adb: Minor reformatting
7694 (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
7695
7696 * prj.ads: Comment updates
7697 Minor reformatting
7698 (Project_Data): Change Flag1 to Need_To_Build_Lib.
7699 Remove Flag2: not used.
7700
7701 * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
7702 declaration.
7703
7704 * gnat_ugn.texi: Put a "null;" declaration in one project file example
7705
7706 * gnat_rm.texi: Document Empty declarations "null;".
7707
7708 * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
7709 front of the linker options.
7710 (Link_Foreign): Put the global archives and the libraries in front of
7711 the linker options.
7712
7713 2004-06-28 Javier Miranda <miranda@gnat.com>
7714
7715 * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
7716 (RTU_Loaded): Code cleanup
7717 (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
7718 withed predefined units.
7719
7720 * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
7721 explicitly withed predefined units.
7722 Fix typo in comment
7723
7724 * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
7725 explicitly withed predefined units.
7726
7727 2004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7728
7729 * ada-tree.def (DECL_STMT): Deleted.
7730 * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
7731 (DECL_STMT_VAR): Deleted.
7732 * decl.c: add_decl_stmt now add_decl_expr.
7733 * gigi.h: Likewise.
7734 * trans.c: Likewise.
7735 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
7736 (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
7737 (add_stmt): Only handle padded type here.
7738 (add_stmt_with_node): Allow gnat_node to not be present.
7739 (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
7740 (gnat_gimplify_stmt, case DECL_STMT): Deleted.
7741 (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
7742 make a SAVE_EXPR for the entire fat pointer.
7743 * utils.c (pushdecl): Walk a DECL_EXPR in global case.
7744 (create_index_type): Make a DECL_EXPR.
7745 (end_subprog_body): Don't call allocate_struct_function here but
7746 do clear cfun.
7747
7748 2004-06-25 Pascal Obry <obry@gnat.com>
7749
7750 * makegpr.adb (Build_Library): Remove parameter Lib_Address and
7751 Relocatable from Build_Dynamic_Library call.
7752
7753 * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
7754 Relocatable are now synonym.
7755
7756 * Makefile.in: Use s-parame-mingw.adb on MingW platform.
7757
7758 * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
7759 Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
7760 call.
7761
7762 * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
7763 Lib_Address and Relocatable.
7764 (Default_DLL_Address): Removed.
7765
7766 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
7767 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
7768 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
7769 (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
7770 (Default_DLL_Address): Removed.
7771
7772 * mlib-tgt-mingw.adb: Ditto.
7773 (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
7774
7775 * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
7776 the initial thread stack size.
7777
7778 * a-strmap.ads: Move package L to private part as it is not used in
7779 the spec. Found while reading code.
7780
7781 2004-06-25 Olivier Hainque <hainque@act-europe.fr>
7782
7783 * tracebak.c: Introduce support for a GCC infrastructure based
7784 implementation of __gnat_backtrace.
7785
7786 * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
7787 any more. Use accessors instead. This eases maintenance and relaxes
7788 some alignment constraints.
7789 (_GNAT_Exception structure): Remove the Ada specific fields
7790 (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
7791 a-exexpr.adb.
7792 (is_handled_by, __gnat_eh_personality): Replace component references to
7793 exception structure by use of the new accessors.
7794
7795 * init.c (__gnat_initialize): Adjust comments to match the just
7796 reverted meaning of the -static link-time option.
7797
7798 * adaint.c (convert_addresses): Arrange not to define a stub for
7799 mips-irix any more, as we now want to rely on a real version from a
7800 recent libaddr2line.
7801
7802 * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
7803 the personality routine can use them and not have to rely on a C
7804 counterpart of the record anymore. This simplifies maintenance and
7805 relaxes the constraint of having Standard'Maximum_Alignment match
7806 BIGGEST_ALIGNMENT.
7807 Update comments, and add a section on the common header alignment issue.
7808
7809 2004-06-25 Geert Bosch <bosch@gnat.com>
7810
7811 * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
7812 polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
7813
7814 2004-06-25 Robert Dewar <dewar@gnat.com>
7815
7816 * gnat_rm.texi: Fix section on component clauses to indicate that the
7817 restriction on byte boundary placement still applies for bit packed
7818 arrays.
7819 Add comment on stack usage from Initialize_Scalars
7820
7821 * gnat_ugn.texi: Add documentation for -gnatyLnnn
7822
7823 * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
7824 limiting nesting level.
7825
7826 * usage.adb: Add line for -gnatyLnnn switch
7827
7828 * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
7829 sem_ch13.adb, exp_aggr.adb: Minor reformatting
7830
7831 * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
7832 type as well as on the subtype. This corrects a problem in freeze in
7833 setting alignments of atomic types.
7834
7835 * sem_eval.ads: Minor comment typo fixed
7836
7837 * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
7838 level. Minor reformatting.
7839
7840 * fname.adb (Is_Predefined_File_Name): Require a letter after the
7841 minus sign. This means that file names like a--b.adb will not be
7842 considered predefined.
7843
7844 * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
7845 record Test new flag and give diagnostic for bad component clause.
7846 (Freeze_Entity): Set alignment of array from component alignment in
7847 cases where this is safe to do.
7848
7849 * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
7850 arrays.
7851
7852 * cstand.adb: (Create_Standard): Set alignment of String to 1
7853
7854 * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
7855
7856 * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
7857 code in the common constrained array cases.
7858
7859 * a-storio.adb: Change implementation to avoid possible alignment
7860 problems on machines requiring strict alignment (data should be moved
7861 as type Buffer, not type Elmt).
7862
7863 * checks.adb (Apply_Array_Size_Check): Improve these checks by
7864 killing the overflow checks which we really do not need (64-bits is
7865 enough).
7866
7867 2004-06-25 Vincent Celier <celier@gnat.com>
7868
7869 * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
7870 (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
7871 inconditionally for the main project.
7872 (Recursive_Add_Archives.Add_Archive_Path): New procedure
7873 (Link_Executables.Check_Time_Stamps): New procedure
7874 (Link_Executables.Link_Foreign): New procedure
7875 Changes made to reduce nesting level of this package
7876 (Check): New procedure
7877 (Add_Switches): When not in quiet output, check that a switch is not
7878 the concatenation of several valid switches. If it is, issue a warning.
7879 (Build_Global_Archive): If the global archive is rebuilt, linking need
7880 to be done.
7881 (Compile_Sources): Rebuilding a library archive does not imply
7882 rebuilding the global archive.
7883 (Build_Global_Archive): New procedure
7884 (Build_Library): New name for Build_Archive, now only for library
7885 project
7886 (Check_Archive_Builder): New procedure
7887 (Create_Global_Archive_Dependency_File): New procedure
7888 (Gprmake): Call Build_Global_Archive before linking
7889 * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
7890 throughout.
7891 (Scan_Arg): Display the Copyright notice when -v is used
7892
7893 * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
7894 for gnatls.
7895
7896 * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
7897 COMPILE.
7898 Add new GNAT LIST qualifier /FILES=
7899 Added qualifier /DIRECTORY= to GNAT METRIC
7900 Added qualifier /FILES= to GNAT METRIC
7901 Added qualifier /FILES to GNAT PRETTY
7902
7903 * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
7904 to take into account both versions of the switch.
7905
7906 * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
7907 always be the last switch to the gcc driver. Disable switch storing so
7908 that switches automatically added by the gcc driver are not put in the
7909 ALI file.
7910
7911 * prj.adb (Project_Empty): Take into account changes in components of
7912 Project_Data.
7913
7914 * prj.ads (Languages_Processed): New enumaration value All_Languages.
7915
7916 * prj.ads (Project_Data): Remove component Lib_Elaboration: never
7917 used. Split Boolean component Ada_Sources_Present in two Boolean
7918 components Ada_Sources_Present and Other_Sources_Present.
7919 Minor reformatting
7920
7921 * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
7922 instead of Sources_Present.
7923 (Set_Ada_Paths.Add.Recursive_Add): Ditto
7924
7925 * prj-nmsc.adb: Minor reformatting
7926 (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
7927 (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
7928 Check_Ada_Naming_Scheme.
7929 Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
7930 throughout.
7931
7932 * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
7933 In_Limited.
7934 Make sure that all cycles where there is at least one "limited with"
7935 are detected.
7936 (Parse_Single_Project): New Boolean parameter In_Limited
7937
7938 * prj-proc.adb (Recursive_Check): When Process_Languages is
7939 All_Languages, call first Prj.Nmsc.Ada_Check, then
7940 Prj.Nmsc.Other_Languages_Check.
7941
7942 * prj-proc.adb (Process): Use Ada_Sources_Present or
7943 Other_Sources_Present (instead of Sources_Present) depending on
7944 Process_Languages.
7945
7946 * lang-specs.h: Keep -g and -m switches in the same order, and as the
7947 last switches.
7948
7949 * lib.adb (Switch_Storing_Enabled): New global Boolean flag
7950 (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
7951 False.
7952 (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
7953 False.
7954
7955 * lib.ads (Disable_Switch_Storing): New procedure.
7956
7957 * make.adb: Modifications to reduce nesting level of this package.
7958 (Check_Standard_Library): New procedure
7959 (Gnatmake.Check_Mains): New procedure
7960 (Gnatmake.Create_Binder_Mapping_File): New procedure
7961 (Compile_Sources.Compile): Add switch -gnatez as the last option
7962 (Display): Never display -gnatez
7963
7964 * Makefile.generic:
7965 When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
7966
7967 * gnatcmd.adb (Check_Project): New function
7968 (Process_Link): New procedure to reduce nesting depth
7969 (Check_Files): New procedure to reduce the nesting depth.
7970 For GNAT METRIC, include the inherited sources in extending projects.
7971 (GNATCmd): When GNAT LS is invoked with a project file and no files,
7972 add the list of files from the sources of the project file. If this list
7973 is too long, put it in a temp text files and use switch -files=
7974 (Delete_Temp_Config_Files): Delete the temp text file that contains
7975 a list of source for gnatpp or gnatmetric, if one has been created.
7976 (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
7977 in the project file is too large, create a temporary text file that
7978 list them and pass it to the tool with "-files=<temp text file>".
7979 (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
7980
7981 * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
7982 generated file is in not in Ada.
7983
7984 * gnatls.adb: Remove all parameters And_Save that are no longer used.
7985 (Scan_Ls_Arg): Add processing for -files=
7986 (Usage): Add line for -files=
7987
7988 * g-os_lib.adb (On_Windows): New global constant Boolean flag
7989 (Normalize_Pathname): When on Windows and the path starts with a
7990 directory separator, make sure that the resulting path will start with
7991 a drive letter.
7992
7993 * clean.adb (Clean_Archive): New procedure
7994 (Clean_Project): When there is non-Ada code, delete the global archive,
7995 the archive dependency files, the object files and their dependency
7996 files, if they exist.
7997 (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
7998
7999 2004-06-25 Thomas Quinot <quinot@act-europe.fr>
8000
8001 * sinfo.ads: Fix typo in comment.
8002
8003 * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
8004 the TSS for remote access-to-subprogram types, since these TSS are
8005 always present once the type has been analyzed.
8006 (RAS_E_Dereference): Same.
8007
8008 * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
8009 reference raises Bad_Attribute, mark the reference as analyzed so the
8010 node (and any children resulting from rewrites that could have occurred
8011 during the analysis that ultimately failed) is not analyzed again.
8012
8013 * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
8014
8015 * exp_dist.adb: Minor comment fix.
8016
8017 * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
8018 type is an anonymous access type, no unchecked deallocation of the
8019 allocated object can occur. If the object is controlled, attach it with
8020 a count of 1. This allows attachment to the Global_Final_List, if
8021 no other relevant list is available.
8022 (Get_Allocator_Final_List): For an anonymous access type that is
8023 the type of a discriminant or record component, the corresponding
8024 finalisation list is the one of the scope of the type.
8025
8026 2004-06-25 Ed Schonberg <schonberg@gnat.com>
8027
8028 * sem_ch3.adb (Replace_Type): When computing the signature of an
8029 inherited subprogram, use the first subtype if the derived type
8030 declaration has no constraint.
8031
8032 * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
8033 before applying previous optimization. Minor code cleanup.
8034
8035 * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
8036 placed at the beginning of an unpacked record without explicit
8037 alignment, a slice of it will be aligned and does not need a copy when
8038 used as an actual.
8039
8040 2004-06-25 Ed Schonberg <schonberg@gnat.com>
8041
8042 PR ada/15591
8043 PR ada/15592
8044 * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
8045 reference is written with expressions mimicking parameters.
8046
8047 2004-06-25 Hristian Kirtchev <kirtchev@gnat.com>
8048
8049 PR ada/15589
8050 * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
8051 STEP 2a. The constraints of a full type declaration of a derived record
8052 type are checked for conformance with those declared in the
8053 corresponding private extension declaration. The message
8054 "not conformant with previous declaration" is emitted if an error is
8055 detected.
8056
8057 2004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr>
8058
8059 * g-traceb.ads: Document the need for -E binder switch in the spec.
8060
8061 * g-trasym.ads: Document the need for -E binder switch in the spec.
8062
8063 2004-06-25 Jose Ruiz <ruiz@act-europe.fr>
8064
8065 * sem_prag.adb: Add handling of pragma Detect_Blocking.
8066
8067 * snames.h, snames.ads, snames.adb: Add entry for pragma
8068 Detect_Blocking.
8069
8070 * s-rident.ads: Change reference to pragma Detect_Blocking.
8071
8072 * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
8073 system.ads.
8074
8075 * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
8076 to indicate whether pragma Detect_Blocking is active.
8077
8078 * par-prag.adb: Add entry for pragma Detect_Blocking.
8079
8080 * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
8081 of not handling WITH.
8082 Note that this replaces the previous update which was incorrect.
8083
8084 2004-06-25 Javier Miranda <miranda@gnat.com>
8085
8086 * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
8087 use-clauses to have a clean environment.
8088
8089 * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
8090 the installation of the use-clauses to stablish a clean environment in
8091 case of compilation of a separate unit; otherwise the call to
8092 use_one_package is protected by the barrier Applicable_Use.
8093
8094 * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
8095 the installation of the use-clauses to stablish a clean environment in
8096 case of compilation of a separate unit.
8097 (End_Use_Clauses): Minor comment cleanup.
8098
8099 2004-06-25 Sergey Rybin <rybin@act-europe.fr>
8100
8101 * gnat_ugn.texi: Add description of the gnatpp 'files' switch
8102
8103 2004-06-23 Richard Henderson <rth@redhat.com>
8104
8105 * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
8106
8107 2004-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8108
8109 * decl.c (elaborate_expression, elaborate_expression_1): Arguments
8110 now bool instead of int.
8111 (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
8112 * trans.c (gnu_switch_label_stack): New function.
8113 (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
8114 elaboration of renamed entity returns.
8115 (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
8116 (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
8117 (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
8118 (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
8119 DECL_SIZE_UNIT and simplify variable-sized case.
8120 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
8121 Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
8122 (gnat_stabilize_reference): Add arg to COMPONENT_REF.
8123 (build_unit_elab): Disable for now.
8124 * utils.c (mark_visited): New function.
8125 (pushdecl): Walk tree to call it for global decl.
8126 (update_pointer_to): Update all variants of pointer and ref types.
8127 Add arg to COMPONENT_REF.
8128 (convert): Likewise.
8129 Move check for converting between variants lower down.
8130 * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
8131 (build_allocator): Don't force type of MODIFY_EXPR.
8132 (gnat_mark_addressable, case VAR_DECL): Unconditionally call
8133 put_var_into_stack.
8134
8135 2004-06-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8136
8137 * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
8138 * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
8139 * decl.c (gnat_to_gnu_entity): Also set force_global for imported
8140 subprograms.
8141 * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
8142 all callers changed.
8143 (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
8144 the way that EXIT_STMT finds the loop label.
8145 (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
8146 (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
8147 (add_stmt): Use annotate_with_locus insted of setting directly.
8148 (pos_to_construct): Set TREE_PURPOSE of each entry to index.
8149 (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
8150 * utils.c (gnat_install_builtins): Install __builtin_memcmp.
8151 (build_vms_descriptor): Add extra args to ARRAY_REF.
8152 (convert): Use VIEW_CONVERT_EXPR between aggregate types.
8153 * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
8154 New cases.
8155 (build_binary_op): Don't make explicit CONVERT_EXPR.
8156 Add extra rgs to ARRAY_REF.
8157
8158 2004-06-14 Pascal Obry <obry@gnat.com>
8159
8160 * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
8161 Windows. Fix minor typo.
8162
8163 * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
8164 which is now supported on Windows. With this implementation using the
8165 Library Project feature is no different on Windows than on UNIX.
8166
8167 2004-06-14 Vincent Celier <celier@gnat.com>
8168
8169 * makegpr.adb (Compile_Sources): Nothing to do when there are no
8170 non-Ada sources.
8171
8172 * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
8173
8174 * prj-part.adb (Parse_Single_Project): When a duplicate project name is
8175 found, show the project name and the path of the previously parsed
8176 project file.
8177
8178 2004-06-14 Ed Schonberg <schonberg@gnat.com>
8179
8180 * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
8181 array, avoid copying the actual before the call.
8182
8183 2004-06-14 Thomas Quinot <quinot@act-europe.fr>
8184
8185 * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
8186 Instead, allocate memory on worst-case alignment assumptions, and then
8187 return an aligned address within the allocated zone.
8188
8189 2004-06-14 Robert Dewar <dewar@gnat.com>
8190
8191 * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
8192 elab entities in predefined units in No_Run_Time_Mode.
8193 (Gen_Adainit_C): Same fix
8194 (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
8195 units in No_Run_Time_Mode
8196 (Gen_Elab_Calls_C): Same fix
8197
8198 * symbols-vms-alpha.adb: Minor reformatting
8199
8200 * g-debpoo.ads: Minor reformatting
8201
8202 * lib.adb (In_Same_Extended_Unit): Version working on node id's
8203
8204 * lib.ads (In_Same_Extended_Unit): Version working on node id's
8205
8206 * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
8207 working on nodes.
8208
8209 * make.adb: Minor reformatting
8210
8211 * par-ch12.adb: Minor reformatting
8212
8213 * par-prag.adb: Add dummy entry for pragma Profile_Warnings
8214
8215 * prj-strt.adb: Minor reformatting
8216
8217 * restrict.ads, restrict.adb: Redo handling of profile restrictions to
8218 be more general.
8219
8220 * sem_attr.adb: Minor reformatting
8221
8222 * sem_ch7.adb: Minor reformatting
8223
8224 * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
8225 for type in the same unit as the object declaration.
8226
8227 * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
8228 static string expressions and not just string literals.
8229 Minor reformatting
8230 (Set_Warning): Reset restriction warning flag for restriction pragma
8231 Implement pragma Profile_Warnings
8232 Implement pragma Profile (Restricted)
8233 Give obolescent messages for old restrictions and pragmas
8234
8235 * snames.h, snames.ads, snames.adb: Add new entry for pragma
8236 Profile_Warnings.
8237
8238 * s-rident.ads: Add declarations for restrictions required by profile
8239 Restricted and profile Ravenscar.
8240
8241 * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
8242
8243 * gnat_ugn.texi: Correct some missing entries in the list of GNAT
8244 configuration pragmas.
8245
8246 2004-06-11 Vincent Celier <celier@gnat.com>
8247
8248 * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
8249 gnatsym, when symbol policy is Restricted.
8250
8251 * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
8252 gnatsym, when symbol policy is Restricted.
8253
8254 * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
8255 read the symbol file.
8256 (Finalize): Fail in symbol policy Restricted if a symbol in the original
8257 symbol file is not in the object files. Do not create a new symbol file
8258 when symbol policy is Restricted.
8259
8260 * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
8261 in Scng.
8262
8263 * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
8264 Restricted.
8265 (Usage): Line for new switch -R
8266
8267 * make.adb (Initialize): When the platform is not VMS, add the
8268 directory where gnatmake is invoked in the front of the path, if
8269 gnatmake is invoked with directory information. Change the Scan_Args
8270 while loop to a for loop.
8271 (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
8272 if Depth is equal or greater than the proposed depth, there is nothing
8273 to do.
8274 (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
8275 instead of 0.
8276
8277 * prj.ads: Add new symbol policy Restricted.
8278
8279 * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
8280 with the new parameters Check_All_Labels and Case_Location.
8281
8282 * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
8283 (Library_Symbol_File needs to be defined).
8284
8285 * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
8286 and Case_Location If Check_All_Labels is True, check that all values of
8287 the string type are used, and output warning(s) if they are not.
8288
8289 * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
8290 and Case_Location.
8291
8292 * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
8293
8294 * gnat_ugn.texi: Update documentation about the library directory in
8295 Library Projects.
8296
8297 * makegpr.adb (Display_Command): In verbose mode, also display the
8298 value of the CPATH env var, when the compiler is gcc.
8299 (Initialize): Change the Scan_Args while loop to a for loop
8300 (Compile_Individual_Sources): Change directory to object directory
8301 before compilations.
8302
8303 * symbols.ads: New symbol policy Restricted.
8304
8305 2004-06-11 Olivier Hainque <hainque@act-europe.fr>
8306
8307 * a-except.adb (Raise_After_Setup family): Remove. The responsibility
8308 is now taken care of internally in the Exception_Propagation package
8309 and does not require clients assistance any more.
8310
8311 * a-exexpr.adb (Is_Setup_And_Not_Propagated,
8312 Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
8313 functions. Helpers to maintain a predicate required in the handling of
8314 occurrence transfer between tasks.
8315 This is now handled internally and does not require clients assistance
8316 for the setup/propagate separation anymore.
8317 (Setup_Exception, Propagate_Exception): Simplify the Private_Data
8318 allocation strategy, handle the Setup_And_Not_Propagated predicate and
8319 document.
8320
8321 * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
8322 raise_after_setup, now that everything is handled internally within the
8323 setup/propagation engine.
8324
8325 2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
8326
8327 * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
8328 Add additional conditions for the case of an actual being a simple
8329 name or literal. Improve inlining by preventing the generation
8330 of temporaries with a short lifetime (one use).
8331
8332 2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
8333
8334 PR ada/15587
8335
8336 * einfo.ads: Minor comment updates for Has_Completion and
8337 E_Constant list of flags.
8338
8339 * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
8340 and constant redeclarations now set the Has_Completion flag of their
8341 defining identifiers.
8342
8343 * sem_ch7.adb (Analyze_Package_Spec): Add procedure
8344 Inspect_Deferred_Constant_Completion.
8345 Used to detect private deferred constants that have not been completed
8346 either by a constant redeclaration or pragma Import. Emits error message
8347 "constant declaration requires initialization expression".
8348
8349 * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
8350 completes a deferred constant.
8351
8352 2004-06-11 Geert Bosch <bosch@gnat.com>
8353
8354 * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
8355
8356 * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
8357 calculating exponent for scaling denormal numbers.
8358 (Leading_Part): Properly raise Constraint_Error for zero or negative
8359 Adjustment.
8360 (Remainder): Properly raise Constraint_Error for zero divisor.
8361
8362 2004-06-11 Thomas Quinot <quinot@act-europe.fr>
8363
8364 * sem_util.adb: Minor reformatting.
8365
8366 * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
8367 dereference when accessing the entry parameter record.
8368 (Check_Array_Type): Always check for possible implicit dereference.
8369 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
8370 Abort if a pointer is still present (denoting that an implicit
8371 dereference was left in the tree by the front-end).
8372
8373 * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
8374 dereference when accessing the entry parameter record.
8375 (Check_Array_Type): Always check for possible implicit dereference.
8376 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
8377 Abort if a pointer is still present (denoting that an implicit
8378 dereference was left in the tree by the front-end).
8379
8380 2004-06-11 Emmanuel Briot <briot@act-europe.fr>
8381
8382 * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
8383 message, like the compiler itself does. Easier to parse the output.
8384
8385 * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
8386
8387 * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
8388 be base names, and not includes directories.
8389
8390 2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
8391
8392 * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
8393 so that dependencies are properly taken into account by make.
8394
8395 2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
8396
8397 PR ada/15622
8398 * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
8399 exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
8400
8401 2004-06-11 Jerome Guitton <guitton@act-europe.fr>
8402
8403 * Makefile.in (install-gnatlib): install target-specific run-time files.
8404
8405 * Make-lang.in: Remove obsolete targets.
8406
8407 2004-06-11 Ed Schonberg <schonberg@gnat.com>
8408
8409 * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
8410 specification, to catch misuses of program unit names.
8411
8412 * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
8413 superfluous conversions in an instance.
8414
8415 2004-06-11 Ed Schonberg <schonberg@gnat.com>
8416
8417 PR ada/15403
8418
8419 * sem_ch12.adb (Save_References): If operator node has been folded to
8420 enumeration literal, associated_node must be discarded.
8421
8422 2004-06-11 Jose Ruiz <ruiz@act-europe.fr>
8423
8424 * s-stchop-vxworks.adb: Add required pragma Convention to
8425 Task_Descriptor because it is updated by a C function.
8426
8427 2004-06-08 Arnaud Charlet <charlet@act-europe.fr>
8428
8429 PR ada/15568
8430
8431 * Makefile.in: Remove target specific SO_OPT on IRIX
8432
8433 2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8434
8435 * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
8436 (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
8437 (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
8438 (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
8439 (STMT_STMT, USE_STMT): New statement codes.
8440 (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
8441 * ada-tree.h: Reflect above changes.
8442 (struct tree_loop_id): Deleted.
8443 (union lang_tree_node, struct lang_decl, struct lang_type):
8444 Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
8445 and DECL_LANGUAGE_SPECIFIC to reflect these changes.
8446 (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
8447 (IS_ADA_STMT): New macro.
8448 * decl.c (annotate_decl_with_node): New function.
8449 (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
8450 (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
8451 Call add_stmt_with_node to do needed assignments.
8452 Add call to update setjmp buffer directly, not via EXPR_STMT.
8453 (maybe_variable): Argment GNAT_NODE deleted.
8454 * gigi.h (maybe_variable): Likewise.
8455 (make_transform, add_stmt_with_node, set_block_for_group): New.
8456 (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
8457 (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
8458 (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
8459 (set_lineno, set_lineno_from_sloc): Likewise.
8460 (record_code_position, insert_code_for): Likewise.
8461 (gnat_poplevel): Now returns void.
8462 (end_subprog_body): Now takes argument.
8463 * misc.c (cgraph.h, tree-inline.h): New includes.
8464 (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
8465 (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
8466 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
8467 (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
8468 (gnat_parse_file): Don't set immediate_size_expand.
8469 Call cgraph functions.
8470 (gnat_expand_expr): Remove most cases.
8471 (record_code_position, insert_code_for): Remove from here.
8472 * trans.c (toplev.h, tree-gimple.h): Now included.
8473 (discard_file_names): Deleted.
8474 (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
8475 (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
8476 (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
8477 (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
8478 (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
8479 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
8480 (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
8481 (set_block_for_group, add_stmt_list): Likewise.
8482 (start_stmt_group): Renamed from start_block_stmt.
8483 (end_stmt_group): Likewise, from end_block_stmt.
8484 (build_stmt_group): Likewise, from build_block_stmt, also add arg.
8485 (gigi): Don't set discard_file_names or call set_lineno.
8486 Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
8487 (tree_transform): Deleted, now renamed to be gnat_to_gnu.
8488 Numerous changes throughout to reflect new names and complete
8489 function-at-a-time implementation.
8490 (gnat_expand_stmt): Delete or comment out all cases.
8491 (process_inlined_subprograms): Use add_stmt.
8492 (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
8493 call set_lineno; also remove unneeded block handling.
8494 (process_type): Remove unneeded block handling.
8495 (build_unit_elab): Remove calls to deleted functions.
8496 * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
8497 (tree-dump.h): Likewise.
8498 (struct ada_binding_level): Add field jmpbuf_decl.
8499 (gnat_define_builtin, gnat_install_builtins): New.
8500 (gnat_gimplify_function, gnat_finalize): Likewise.
8501 (gnat_poplevel): No longer return BLOCK, set it instead.
8502 Remove code dealing with nested functions.
8503 (gnat_init_decl_processing): Also set size_type_node.
8504 Call gnat_install_builtins.
8505 (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
8506 (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
8507 Remove special-case for "main".
8508 (end_subprog_body): Add arg and rework for tree-ssa.
8509 (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
8510 Add case for BOOLEAN_TYPE.
8511 * utils2.c (rtl.h): Now include.
8512 (build_call_raise): Test Debug_Flag_NN directly.
8513 (build_call_alloc_dealloc): Don't use local stack allocation for now.
8514 (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
8515 (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
8516
8517 2004-06-07 Robert Dewar <dewar@gnat.com>
8518
8519 * a-direct.ads, einfo.ads: Minor comment updates
8520
8521 * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
8522 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
8523 s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
8524 s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
8525 s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
8526
8527 * s-interr-sigaction.adb: Remove unreferenced variable
8528 (Attached_Interrupts). Minor reformatting.
8529 Avoid use of variable I (replace by J).
8530
8531 * par-ch10.adb: Fix text of one error message
8532
8533 * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
8534 exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
8535 exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
8536 opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
8537 par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
8538 par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
8539 sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
8540 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
8541 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
8542 sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
8543 snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
8544 2005 support.
8545
8546 2004-06-07 Doug Rupp <rupp@gnat.com>
8547
8548 * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
8549
8550 * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
8551
8552 * mlib-tgt-vms-ia64.adb: New file.
8553
8554 * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
8555 Add mlib-tgt-vms-ia64.adb
8556 Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
8557 Move to alpha specific ifeq section.
8558 Add VMS specific versions of symbols.adb
8559 Renaming of 5q vms files.
8560
8561 * 5qsystem.ads renamed to system-vms_64.ads.
8562
8563 2004-06-07 Vincent Celier <celier@gnat.com>
8564
8565 * a-calend.ads: Add a GNAT Note comment after function Time_Of to
8566 explain that when a time of day corresponding to the non existing hour
8567 on the day switching to DST is specified, Split may return a different
8568 value for Seconds.
8569
8570 * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
8571 to GNAT PRETTY.
8572
8573 * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
8574 (Normalize_Pathname): Only resolve VMS logical names when on VMS.
8575
8576 * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
8577 to False.
8578 If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
8579 the linking options.
8580 (Build_Library.Check_Libs): On VMS, if there is a dependency on
8581 g-trasym.ads, set Gtrasymobj_Needed to True.
8582
8583 * prj-attr.adb: Add new package Metrics for gnatmetric
8584
8585 * prj-nmsc.adb (Record_Other_Sources): Put source file names in
8586 canonical case to take into account files with upper case characters on
8587 Windows.
8588 (Ada_Check): Load the reference symbol file name in the name buffer to
8589 check it, not the symbol file name.
8590
8591 * snames.ads, snames.adb: Add standard name Metrics (name of project
8592 file package for gnatmetric).
8593
8594 * vms_conv.ads: Add Metric to Comment_Type
8595
8596 * vms_conv.adb (Initialize): Add component dor Metric in Command_List
8597
8598 * vms_data.ads: Add qualifiers for GNAT METRIC
8599
8600 * makegpr.adb (Link_Executables): Take into account the switches
8601 specified in package Linker of the main project.
8602
8603 2004-06-07 Thomas Quinot <quinot@act-europe.fr>
8604
8605 * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
8606 the index of the last element is Units.Last, not Units.Table'Last
8607 (which is usually not a valid index within the actually allocated
8608 storage for the table).
8609
8610 * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
8611 determines whether to generate a call to a checked storage pool
8612 Dereference action.
8613 Generate such a call only for a dereference that either comes from
8614 source, or is the result of rewriting a dereference that comes from
8615 source.
8616
8617 2004-06-07 Romain Berrendonner <berrendo@act-europe.fr>
8618
8619 * bindgen.adb (Gen_Output_File): Add support for GAP builds.
8620
8621 2004-06-07 Eric Botcazou <ebotcazou@act-europe.fr>
8622
8623 (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
8624 file level, elaborate the stride for inner dimensions in alignment
8625 units, not bytes.
8626
8627 * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
8628 in a comment.
8629
8630 2004-06-07 Javier Miranda <miranda@gnat.com>
8631
8632 * exp_ch6.adb: Correct wrong modification in previous patch
8633
8634 2004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr>
8635
8636 * g-trasym.ads: Corrected comment to properly reflect level of support
8637 on VMS.
8638
8639 2004-06-07 Hristian Kirtchev <kirtchev@gnat.com>
8640
8641 * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
8642 includes case of a variable referenced on the left hand side of an
8643 assignment, therefore remove redundant code. Variables and prefixes of
8644 indexed or selected components are now marked as referenced on left
8645 hand side. Warnings are now properly emitted when variables or prefixes
8646 are assigned but not read.
8647
8648 * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
8649 left hand side referenced variables. Private access types do not
8650 produce the warning "variable ... is assigned but never read".
8651 Add also additional checks to left hand side referenced variables.
8652 Aliased, renamed objects and access types do not produce the warning
8653 "variable ... is assigned but never read" since other entities may read
8654 the memory location.
8655
8656 2004-06-07 Jerome Guitton <guitton@act-europe.fr>
8657
8658 * Makefile.in: In the powerpc/vxworks-specific section, restore
8659 EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
8660 by mistake).
8661
8662 2004-06-07 Ed Schonberg <schonberg@gnat.com>
8663
8664 * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
8665 predefined operators.
8666 Removes spurious type errors from g-trasym-vms.adb.
8667
8668 * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
8669 distinct from the operator appearing in the source, call appropriate
8670 routine to insert conversions when needed, and complete resolution of
8671 node.
8672 (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
8673 interpretations for rewritten right operand.
8674 (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
8675 the other operand is overloaded and the context is a type conversion.
8676
8677 2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8678
8679 * ada-tree.def (BLOCK_STMT): Now has two operands.
8680 (BREAK_STMT): New.
8681
8682 * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
8683
8684 * gigi.h: (gnat_poplevel): Now returns a tree.
8685
8686 * trans.c (end_block_stmt): Add arg; all callers changed.
8687 (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
8688 (start_block_stmt): Clear BLOCK_STMT_BLOCK.
8689 (add_stmt): Set TREE_TYPE.
8690 (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
8691 (gnat_expand_stmt, case BREAK_STMT): New case.
8692
8693 * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
8694
8695 2004-06-07 Jose Ruiz <ruiz@act-europe.fr>
8696
8697 * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
8698 procedure Set_Stack_Size that is not needed.
8699
8700 2004-06-07 Sergey Rybin <rybin@act-europe.fr>
8701
8702 * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
8703 used for gnatpp input file and for the files upon which it depends
8704
8705 2004-06-07 Ben Brosgol <brosgol@gnat.com>
8706
8707 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
8708
8709 2004-06-07 Arnaud Charlet <charlet@act-europe.fr>
8710
8711 * gnatvsn.ads: Bump version numbers appropriately.
8712 Add new build type.
8713
8714 2004-06-07 Pascal Obry <obry@gnat.com>
8715
8716 * gnat_ugn.texi: Improve comments about imported names and link names
8717 on Windows. Add a note about the requirement to use -k gnatdll's option
8718 when working with a DLL which has stripped stdcall symbols (no @nn
8719 suffix).
8720
8721 2004-05-27 Vincent Celier <celier@gnat.com>
8722
8723 * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
8724 COMMENTS_LAYOUT=UNTOUCHED
8725
8726 * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
8727 symbols-vms-alpha.adb
8728
8729 2004-05-27 Thomas Quinot <quinot@act-europe.fr>
8730
8731 * sem.ads: Clarify documentation on checks suppression.
8732
8733 * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
8734
8735 2004-05-27 Ed Schonberg <schonberg@gnat.com>
8736
8737 * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
8738 the case of multiple derivations.
8739 (Is_Object_Reference): For a selected component, verify that the prefix
8740 is itself an object and not a value.
8741
8742 * sem_ch12.adb (Same_Instantiated_Constant): New name for
8743 Same_Instantiated_Entity.
8744 (Same_Instantiated_Variable): Subsidiary to
8745 Check_Formal_Package_Instance, to recognize actuals for in-out generic
8746 formals that are obtained from a previous formal package.
8747 (Instantiate_Subprogram_Body): Emit proper error when
8748 generating code and the proper body of a stub is missing.
8749
8750 * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
8751 has a universal interpretation, do the disambiguation here.
8752
8753 * exp_ch4.adb (Expand_N_Type_Conversion,
8754 Expand_N_Unchecked_Type_Conversion): Special handling when target type
8755 is Address, to avoid typing anomalies when Address is a visible integer
8756 type.
8757
8758 * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
8759 to determine whether a subprogram should not be marked Pure, even when
8760 declared in a pure package.
8761
8762 2004-05-27 Jose Ruiz <ruiz@act-europe.fr>
8763
8764 * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
8765
8766 * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
8767 Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
8768 Update the documentation about the Ravenscar profile, following the
8769 definition found in AI-249.
8770
8771 * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
8772 setting the Profile (Ravenscar). This must be done in addition to
8773 setting the required restrictions.
8774
8775 * rtsfind.ads: Add the set of operations defined in package
8776 Ada.Interrupts.
8777
8778 * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
8779 restriction.
8780
8781 2004-05-27 Eric Botcazou <ebotcazou@act-europe.fr>
8782
8783 lang-specs.h: Always require -c or -S and always redirect to /dev/null
8784 if -gnatc or -gnats is passed.
8785
8786 2004-05-27 Hristian Kirtchev <kirtchev@gnat.com>
8787
8788 * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
8789 a significant reference. Warnings are now properly emitted when a
8790 discriminated type is not referenced.
8791
8792 * lib-xref.adb (Generate_Reference): A deferred constant completion,
8793 record representation clause or record type discriminant does not
8794 produce a reference to its corresponding entity. Warnings are now
8795 properly emitted when deferred constants and record types are not
8796 referenced.
8797
8798 2004-05-27 Geert Bosch <bosch@gnat.com>
8799
8800 * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
8801 Fixes ACATS Annex G tests.
8802
8803 2004-05-27 Robert Dewar <dewar@gnat.com>
8804
8805 * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
8806 handling WITH
8807
8808 2004-05-27 Arnaud Charlet <charlet@act-europe.fr>
8809
8810 * s-interr.adb (Server_Task): Take into account case of early return
8811 from sigwait under e.g. linux.
8812
8813 2004-05-27 Sergey Rybin <rybin@act-europe.fr>
8814
8815 * gnat_ugn.texi: Add description for the new gnatpp options:
8816 -rnb - replace the original source without creating its backup copy
8817 -c0 - do not format comments
8818
8819 2004-05-24 Geert Bosch <bosch@gnat.com>
8820
8821 * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
8822 with 192 bits of precision, sufficient to reduce a double-extended
8823 arguments X with a maximum relative error of T'Machine_Epsilon, for X
8824 in -2.0**32 .. 2.0**32.
8825 (Cos, Sin): Always reduce arguments of 1/4 Pi or larger, to prevent
8826 reduction by the processor, which only uses a 68-bit approximation of
8827 Pi.
8828 (Tan): Always reduce arguments and compute function either using
8829 the processor's fptan instruction, or by dividing sin and cos as needed.
8830
8831 2004-05-24 Doug Rupp <rupp@gnat.com>
8832
8833 * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
8834 gcc error on 32/64 bit VMS.
8835
8836 2004-05-24 Olivier Hainque <hainque@act-europe.fr>
8837
8838 * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
8839 since this is what we get for stack overflows although not documented
8840 as such.
8841 Document the issues which may require adjustments to our signal
8842 handlers.
8843
8844 2004-05-24 Ed Schonberg <schonberg@gnat.com>
8845
8846 * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
8847 enclosing dynamic scope if the instantiation is within a generic unit.
8848
8849 2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
8850
8851 * exp_dbug.ads: Fix typo.
8852
8853 * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
8854 Rename it to its proper name: system-linux-ia64.ads
8855 (stamp-gnatlib1): Remove extra target specific run time files when
8856 setting up the rts directory.
8857
8858 2004-05-24 Javier Miranda <miranda@gnat.com>
8859
8860 * einfo.ads, einfo.adb (Limited_Views): Removed.
8861 (Limited_View): New attribute that replaces the previous one. It is
8862 now a bona fide package with the limited-view list through the
8863 first_entity and first_private attributes.
8864
8865 * sem_ch10.adb (Install_Private_With_Clauses): Give support to
8866 limited-private-with clause.
8867 (Install_Limited_Withed_Unit): Install the private declarations of a
8868 limited-private-withed package. Update the installation of the shadow
8869 entities according to the new structure (see Build_Limited_Views)
8870 (Build_Limited_Views): Replace the previous implementation of the
8871 limited view by a package entity that references the first shadow
8872 entity plus the first shadow private entity (required for limited-
8873 private-with clause)
8874 (New_Internal_Shadow_Entity): Code cleanup.
8875 (Remove_Limited_With_Clause): Update the implementation to undo the
8876 new work carried out by Build_Limited_Views.
8877 (Build_Chain): Complete documentation.
8878 Replace Ada0Y by Ada 0Y in comments
8879 Minor reformating
8880
8881 * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
8882 types the level of accessibility depends on the enclosing type
8883 declaration.
8884
8885 * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
8886 entities. Complete documentation of previous change.
8887
8888 2004-05-24 Robert Dewar <dewar@gnat.com>
8889
8890 * namet.adb: Minor reformatting
8891 Avoid use of name I (replace by J)
8892 Minor code restructuring
8893
8894 * sem_ch6.adb: Minor reformatting
8895
8896 * lib-writ.adb: Do not set restriction as active if this is a
8897 Restriction_Warning case.
8898
8899 * sem_prag.adb: Reset restriction warning flag if real pragma
8900 restriction encountered.
8901
8902 * s-htable.adb: Minor reformatting
8903 Change rotate count to 3 in Hash (improves hash for small strings)
8904
8905 * 5qsystem.ads: Add comments for type Address (no literals allowed).
8906
8907 * gnat_ugn.texi: Add new section of documentation "Code Generation
8908 Control", which describes the use of -m switches.
8909
8910 2004-05-24 Eric Botcazou <ebotcazou@act-europe.fr>
8911
8912 trans.c (tree_transform) <N_Identifier>: Do the dereference directly
8913 through the DECL_INITIAL for renamed variables.
8914
8915 2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
8916
8917 * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
8918
8919 2004-05-19 Joel Brobecker <brobecker@gnat.com>
8920
8921 * exp_dbug.ads: Correct comments concerning handling of overloading,
8922 since we no longer use $ anymore.
8923
8924 2004-05-19 Sergey Rybin <rybin@act-europe.fr>
8925
8926 * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
8927 ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
8928 with illegal subunits.
8929
8930 2004-05-19 Ed Schonberg <schonberg@gnat.com>
8931
8932 * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
8933 body with front-end inlining enabled, check whether an inline pragma
8934 appears immediately after the body and applies to it.
8935
8936 * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
8937 enabled and the pragma appears after the body of the subprogram.
8938
8939 2004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8940
8941 Part of function-at-a-time conversion
8942
8943 * misc.c (adjust_decl_rtl): Deleted.
8944 (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
8945 Define.
8946
8947 * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
8948 (add_decl_stmt, add_stmt, block_has_vars): New functions.
8949 (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
8950
8951 * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
8952 when making a decl.
8953 (gnat_to_gnu_entity): Likewise.
8954 Use add_stmt to update setjmp buffer.
8955 Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
8956 flush_addressof.
8957 No longer call adjust_decl_rtl.
8958 (DECL_INIT_BY_ASSIGN_P): New macro.
8959 (DECL_STMT_VAR): Likewise.
8960
8961 * trans.c (gigi): Call start_block_stmt to make the outermost
8962 BLOCK_STMT.
8963 (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
8964 Call start_block_stmt and end_block_stmt temporarily.
8965 Use gnat_expand_stmt instead of expand_expr_stmt.
8966 (add_decl_stmt): New function.
8967 (tree_transform): Call it.
8968 (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
8969 (end_block_stmt): Set type and NULL_STMT.
8970 (gnat_expand_stmt): Make recursize call instead of calling
8971 expand_expr_stmt.
8972 (gnat_expand_stmt, case DECL_STMT): New case.
8973 (set_lineno_from_sloc): Do nothing if global.
8974 (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
8975 (start_block_stmt, add_stmt, end_block_stmt): New functions.
8976 (build_block_stmt): Call them.
8977 (gnat_to_code): Don't expand NULL_STMT.
8978 (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
8979 args.
8980 (tree_transform): Likewise.
8981 (tree_transform, case N_Null_Statement): Return NULL_STMT.
8982 (gnat_expand_stmt, case NULL_STMT): New case.
8983 (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
8984 IF_STMT_TRUE.
8985
8986 * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
8987 TREE_ADDRESSABLE.
8988
8989 * utils.c (create_var_decl): Do not call expand_decl or
8990 expand_decl_init.
8991 Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
8992 Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
8993 here.
8994 (struct e_stack): Add chain_next to GTY.
8995 (struct binding_level): Deleted.
8996 (struct ada_binding_level): New struct.
8997 (free_block_chain): New.
8998 (global_binding_level, clear_binding_level): Deleted.
8999 (global_bindings_p): Rework to see if no chain.
9000 (kept_level_p, set_block): Deleted.
9001 (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
9002 new data structure and work directly on BLOCK node.
9003 (gnat_poplevel): Similarly.
9004 (get_decls): Look at BLOCK_VARS.
9005 (insert_block): Work directly on BLOCK node.
9006 (block_has_var): New function.
9007 (pushdecl): Rework for new binding structures.
9008 (gnat_init_decl_processing): Rename and rework calls to pushlevel and
9009 poplevel.
9010 (build_subprog_body): Likewise.
9011 (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
9012
9013 * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
9014
9015 * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
9016 (DECL_STMT_VAR): Likewise.
9017
9018 2004-05-17 Robert Dewar <dewar@gnat.com>
9019
9020 * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
9021 procedure
9022
9023 * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
9024 of restriction synonyums by using
9025 Restrict.Process_Restriction_Synonyms.
9026
9027 * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
9028
9029 * s-restri.ads (Tasking_Allowed): Correct missing comment
9030
9031 * s-rident.ads: Add entries for restriction synonyms
9032
9033 * ali.adb: Fix some problems with badly formatted ALI files that can
9034 result in infinite loops.
9035
9036 * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
9037 s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
9038 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
9039 s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
9040 s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
9041 s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
9042 s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
9043 s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
9044 s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
9045 a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
9046 exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
9047 s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
9048 s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
9049 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
9050 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
9051 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
9052 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
9053 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
9054 s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
9055 s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
9056 to Task_Id (minor cleanup).
9057
9058 2004-05-17 Vincent Celier <celier@gnat.com>
9059
9060 * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
9061 directory separator.
9062
9063 * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
9064 project being extended, if Languages is not declared in extending
9065 project.
9066
9067 2004-05-17 Javier Miranda <miranda@gnat.com>
9068
9069 * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
9070 limited view of a visible sibling.
9071
9072 2004-05-14 Robert Dewar <dewar@gnat.com>
9073
9074 * gnat_ugn.texi: Minor change to -gnatS documentation
9075
9076 * sprint.adb: Remove some instances of Assert (False) and for this
9077 purpose replace them by output of a ??? string.
9078
9079 * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
9080 Assert (False).
9081
9082 * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
9083 flag processing. This was suppressing required dependencies in
9084 No_Run_Time mode and is not needed since the binder does not generate
9085 references for things in libgnat anyway.
9086
9087 * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
9088 warning.
9089
9090 2004-05-14 Thomas Quinot <quinot@act-europe.fr>
9091
9092 * gnat_ugn.texi: Document AIX-specific issue with initialization of
9093 resolver library.
9094
9095 * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
9096 action for the case of an actual parameter in an init proc call.
9097
9098 2004-05-14 Ed Schonberg <schonberg@gnat.com>
9099
9100 * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
9101 subtype, check visible entities in base type.
9102
9103 * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
9104 actions if the object is a renaming.
9105
9106 * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
9107 Check_Formal_Package_Instance, to determine more precisely when the
9108 formal and the actual denote the same entity.
9109
9110 2004-05-14 Javier Miranda <miranda@gnat.com>
9111
9112 * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
9113
9114 * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
9115 corresponding to a private_with must be removed from visibility; it
9116 will be made visible later, just before we analyze the private part of
9117 the package.
9118 (Check_Private_Child_Unit): Allow private_with clauses in public
9119 siblings.
9120 (Install_Siblings): Make visible the private entities of private-withed
9121 siblings.
9122 (Install_Withed_Unit): Do not install the private withed unit if we
9123 are compiling a package declaration and the Private_With_OK flag was
9124 not set by the caller. These declarations will be installed later,
9125 just before we analyze the private part of the package.
9126
9127 * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
9128 during the evaluation of the expression that initializes the object,
9129 decorate it with the expected type to avoid cascade errors.
9130 Code cleanup.
9131
9132 * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
9133 subprogram we have to install the private_with clauses after its
9134 specification has been analyzed (as documented in AI-262.TXT).
9135
9136 * sem_ch8.adb (Has_Private_With): New function. Determines if the
9137 current compilation unit has a private with on a given entity.
9138 (Find_Direct_Name): Detect the Beaujolais problem described in
9139 AI-262.TXT
9140
9141 * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
9142 provides the functionality of the function Is_Ancestor that was
9143 previously available in sem_ch10. It has been renamed to avoid
9144 overloading.
9145
9146 * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
9147
9148 2004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9149
9150 * utils.c (build_vms_descriptor): Use SImode pointers.
9151
9152 2004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr>
9153
9154 * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
9155
9156 2004-05-14 GNAT Script <nobody@gnat.com>
9157
9158 * Make-lang.in: Makefile automatically updated
9159
9160 2004-05-14 Arnaud Charlet <charlet@act-europe.fr>
9161
9162 Renaming of target specific files for clarity
9163
9164 * Makefile.in: Rename GNAT target specific files.
9165
9166 * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
9167 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
9168 3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
9169 3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
9170 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
9171 3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
9172 42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
9173 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
9174 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
9175 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
9176 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
9177 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
9178 51osinte.adb, 51osinte.ads, 51system.ads,
9179 52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
9180 55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
9181 56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
9182 56tpopsp.adb, 57system.ads, 58system.ads,
9183 5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
9184 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
9185 5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
9186 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
9187 5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
9188 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
9189 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
9190 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
9191 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
9192 5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
9193 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
9194 5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
9195 5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
9196 5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
9197 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
9198 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
9199 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
9200 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
9201 5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
9202 5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
9203 5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
9204 5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
9205 5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
9206 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
9207 5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
9208 5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
9209 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
9210 5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
9211 5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
9212 5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
9213 5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
9214 5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
9215 5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
9216 5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
9217 5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
9218 5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
9219 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
9220 7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
9221 7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
9222 7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
9223
9224 * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
9225 a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
9226 a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
9227 a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
9228 a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
9229 a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
9230 a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
9231 a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
9232 a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
9233 a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
9234 g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
9235 g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
9236 g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
9237 g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
9238 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
9239 g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
9240 g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
9241 g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
9242 interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
9243 mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
9244 mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
9245 mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
9246 s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
9247 s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
9248 s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
9249 s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
9250 s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
9251 s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
9252 s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
9253 s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
9254 s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
9255 s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
9256 s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
9257 s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
9258 s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
9259 s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
9260 s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
9261 s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
9262 s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
9263 s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
9264 s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
9265 s-osinte-vms.ads, s-osinte-vxworks.adb,
9266 s-osinte-vxworks.ads, s-osprim-mingw.adb,
9267 s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
9268 s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
9269 s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
9270 s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
9271 s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
9272 s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
9273 s-stchop-vxworks.adb, s-taprop-dummy.adb,
9274 s-taprop-hpux-dce.adb, s-taprop-irix.adb,
9275 s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
9276 s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
9277 s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
9278 s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
9279 s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
9280 s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
9281 s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
9282 s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
9283 s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
9284 s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
9285 s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
9286 s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
9287 s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
9288 s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
9289 s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
9290 s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
9291 s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
9292 symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
9293 system-hpux.ads, system-interix.ads, system-irix-n32.ads,
9294 system-irix-o32.ads, system-linux-x86_64.ads,
9295 system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
9296 system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
9297 system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
9298 system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
9299 system-vxworks-alpha.ads, system-vxworks-m68k.ads,
9300 system-vxworks-mips.ads, system-vxworks-ppc.ads,
9301 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
9302 above.
9303
9304 2004-05-13 Zack Weinberg <zack@codesourcery.com>
9305
9306 * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
9307
9308 2004-05-13 Diego Novillo <dnovillo@redhat.com>
9309
9310 Merge from tree-ssa-20020619-branch.
9311
9312 * config-lang.in (boot_language, build_by_default): Set
9313 to no.
9314 * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
9315 (max_size): Add static chain op for call_expr.
9316
9317 2004-05-12 Richard Sandiford <rsandifo@redhat.com>
9318
9319 PR target/15331
9320 * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
9321
9322 2004-05-11 Roger Sayle <roger@eyesopen.com>
9323
9324 * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
9325 COND_EXPR.
9326
9327 2004-05-10 Doug Rupp <rupp@gnat.com>
9328
9329 * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
9330 system.aux_dec.
9331
9332 * s-auxdec.ads: Add Short_Address subtype (moved here from System).
9333
9334 * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
9335
9336 * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
9337 Fixes undefined symbols in IA64 gnatlib.
9338
9339 * 5vinmaop.adb: Reference s-auxdec for Short_Address.
9340
9341 * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
9342 Short_Address). This will be moved to system.auxdec.
9343
9344 2004-05-10 Thomas Quinot <quinot@act-europe.fr>
9345
9346 * sem_util.adb: Replace test for presence of a node that is always
9347 present with a call to Discard_Node.
9348
9349 * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
9350 Analyze on the library unit node after generation of distribution stub
9351 constructs. The call was a no-op because Unit_Node has already been
9352 Analyzed, and the tree fragments for the distribution stubs are
9353 analyzed as they are inserted in Exp_Dist.
9354 Update comment regarding to distribution stubs to reflect that we
9355 do not generate stub in separate files anymore.
9356
9357 * einfo.ads: Clarify the fact that a tagged private type has the
9358 E_Record_Type_With_Private Ekind.
9359
9360 * erroutc.adb: Minor reformatting
9361
9362 * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
9363 values if line length is increased using -gnatyM (noticed during code
9364 reading).
9365
9366 * eval_fat.adb: Minor reformatting
9367 Put spaces around exponentiation operator
9368
9369 2004-05-10 Ed Schonberg <schonberg@gnat.com>
9370
9371 PR ada/15005
9372 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
9373 has been rewritten as an explicit dereference, retrieve type of
9374 original node to check for possibly unconstrained record type.
9375
9376 2004-05-10 Ed Schonberg <schonberg@gnat.com>
9377
9378 * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
9379 overriding, use the operation of the parent unconditionally.
9380
9381 * sem_ch4.adb (Remove_Address_Interpretations): Remove address
9382 operation when either operand is a literal, to avoid further
9383 ambiguities.
9384
9385 * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
9386 overridden by a previous explicit declaration, mark the previous entity
9387 as overriding.
9388
9389 * sem_disp.adb (Check_Dispatching_Operation): New predicate
9390 Is_Visibly_Controlled, to determine whether a declaration of a
9391 primitive control operation for a derived type overrides an inherited
9392 one. Add warning if the explicit declaration does not override.
9393
9394 2004-05-10 Vincent Celier <celier@gnat.com>
9395
9396 * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
9397 some cases when the sources are no longer present.
9398
9399 * make.adb (Collect_Arguments): Fail if an external source, not part
9400 of any project need to be compiled, when switch -x has not been
9401 specified.
9402
9403 * makeusg.adb: Document new switch -x
9404
9405 * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
9406 defaulted to False.
9407
9408 * switch-m.adb (Scan_Make_Switches): New switch -x
9409
9410 * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
9411 gnatmake switch -x.
9412
9413 * gnat_ugn.texi: Document new gnatmake switch -x
9414
9415 2004-05-10 Eric Botcazou <ebotcazou@act-europe.fr>
9416
9417 * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
9418
9419 * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
9420 (process_attributes): Likewise.
9421
9422 2004-05-10 Joel Brobecker <brobecker@gnat.com>
9423
9424 * s-inmaop.ads: Fix spelling mistake in one of the comments.
9425
9426 2004-05-10 Robert Dewar <dewar@gnat.com>
9427
9428 * gnat_ugn.texi: Document that for config pragma files, the maximum
9429 line length is always 32767.
9430
9431 * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
9432 literals is now allowed.
9433
9434 * gnat-style.texi: Remove statement about splitting long lines before
9435 an operator rather than after, since we do not follow this rule at all.
9436 Clarify rule (really lack of rule) for spaces around exponentiation
9437
9438 * sem_elim.adb: Allow concatenation of string literals as well as a
9439 single string literal for pragma arguments.
9440
9441 * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
9442
9443 * a-textio.adb (Terminate_Line): Do not add line feed if nothing
9444 written for append case.
9445
9446 * frontend.adb: Changes to avoid checking max line length in config
9447 pragma files.
9448
9449 * g-os_lib.ads: Minor reformatting
9450
9451 * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
9452 wrong in any case. Instead use standard value. Noticed during code
9453 reading.
9454
9455 * opt.ads (Max_Line_Length): New field, used to implement removal of
9456 limitation on length of lines when scanning config pragma files.
9457
9458 * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
9459 makeutl.ads, makeutl.adb: Minor reformatting
9460
9461 * scn.adb: Do not check line length while scanning config pragma files
9462 Do not check line length while scanning out license information
9463
9464 * scng.adb: Changes to avoid line length checks while parsing config
9465 pragma files.
9466
9467 2004-05-10 GNAT Script <nobody@gnat.com>
9468
9469 * Make-lang.in: Makefile automatically updated
9470
9471 2004-05-05 Arnaud Charlet <charlet@act-europe.fr>
9472
9473 * osint.adb (Find_Program_Name): Fix handling of VMS version
9474 number.
9475
9476 2004-05-05 Emmanuel Briot <briot@act-europe.fr>
9477
9478 * g-os_lib.ads (Invalid_Time): New constant
9479
9480 * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
9481 return OS_Time instead of time_t to match what is imported by Ada.
9482 Now return -1 if the file doesn't exist, instead of a random value
9483
9484 2004-05-05 Robert Dewar <dewar@gnat.com>
9485
9486 * usage.adb: Add line for -gnatR?s switch
9487
9488 * sem_ch13.adb, exp_ch2.adb: Minor reformatting
9489
9490 * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
9491 and for Match (Data_First, Data_last)
9492
9493 * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
9494 written when we are dealing with multi-unit files.
9495
9496 2004-05-05 Jerome Guitton <guitton@act-europe.fr>
9497
9498 * Makefile.in: Remove unused targets and variables.
9499
9500 2004-05-05 Vincent Celier <celier@gnat.com>
9501
9502 * switch-m.adb: New gnatmake switch -eI
9503
9504 * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
9505 of new gnatmake switch -eInnn.
9506
9507 * makegpr.adb: Take into account new parameters Index and Src_Index in
9508 Prj.Util.
9509
9510 * clean.adb: Implement support for multi-unit sources, including new
9511 switch -i.
9512
9513 * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
9514 Src_Index.
9515
9516 * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
9517 (Extract_From_Q): New out parameter Index
9518 (Mark, Is_Marked): Subprograms moved to Makeutl
9519 (Switches_Of): New parameter Source_Index
9520 (Add_Switch): New parameter Index
9521 (Check): New parameter Source_Index
9522 (Collect_Arguments): New parameter Source_Index
9523 (Collect_Arguments_And_Compile): New parameter Source_Index
9524 (Compile): New parameter Source_Index
9525 Put subprograms in alphabetical order
9526 Add support for multi-source sources, including in project files.
9527
9528 * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
9529 (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
9530 Make.
9531
9532 * makeusg.adb: New gnatmake switch -eInnn
9533
9534 * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
9535 Prj.Util.Value_Of.
9536
9537 * opt.ads (Main_Index): New variable, defaulted to 0.
9538
9539 * osint.ads, osinte.adb (Add_File): New parameter Index
9540 (Current_Source_Index): New function
9541
9542 * prj.adb: Take into account new components Index and Src_Index
9543
9544 * prj.ads (String_Element): New component Index
9545 (Variable_Value): New component Index
9546 (Array_Element): New component Src_Index
9547
9548 * prj-attr.adb: Indicate that optional index may be specified for
9549 attributes Main, Executable, Spec, Body and some of Switches.
9550
9551 * prj-attr.ads (Attribute_Kind): New values for optional indexes
9552 (Attribute_Record): New component Optional_Index
9553
9554 * prj-com.ads (File_Name_Data): New component Index
9555
9556 * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
9557
9558 * prj-env.adb (Put): Output optional index
9559
9560 * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
9561 attributes Spec and Body.
9562
9563 * prj-nmsc.adb: Process optional indexes
9564
9565 * prj-pp.adb: Ouput "at" for optional indexes
9566
9567 * prj-proc.adb: Take into account optional indexes
9568
9569 * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
9570 Optional_Index. For string literal,
9571 process optional index when Optional_Index is True.
9572 (Parse_Expresion): New Boolean parameter Optional_Index
9573
9574 * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
9575 (Set_Source_Index_Of): New procedure
9576
9577 * prj-util.adb (Executable_Of, Value_Of): Take into account optional
9578 index.
9579
9580 * prj-util.ads (Executable_Of): New parameter Index
9581 (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
9582 New parameter Src_Index, defaulted to 0.
9583
9584 2004-05-05 Ed Schonberg <schonberg@gnat.com>
9585
9586 PR ada/15257
9587 * sem_ch3.adb (Access_Definition): If this is an access parameter
9588 whose designated type is imported through a limited_with clause, do
9589 not add the enclosing subprogram to the list of private dependents of
9590 the type.
9591
9592 2004-05-05 Ed Schonberg <schonberg@gnat.com>
9593
9594 PR ada/15258
9595 * sem_ch6.adb (Base_Types_Match): True if one type is imported through
9596 a limited_with clause, and the other is its non-limited view.
9597
9598 2004-05-05 Thomas Quinot <quinot@act-europe.fr>
9599
9600 * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
9601
9602 * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
9603 exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
9604 Stand.Boolean_Literals to produce references to entities
9605 Standard_False and Standard_True from compile-time computed boolean
9606 values.
9607
9608 * stand.ads (Boolean_Literals): New variable, provides the entity
9609 values for False and True, for use by the expander.
9610
9611 2004-05-05 Doug Rupp <rupp@gnat.com>
9612
9613 * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
9614 5vinmaop.adb: Unchecked convert Short_Address vice Address
9615
9616 * adaint.c, raise.c: Caste CRTL function return value
9617 to avoid gcc error on 32/64 bit IVMS.
9618
9619 * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
9620 target = IA64/VMS.
9621
9622 * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
9623
9624 * 5qsystem.ads (Address): Declare as Long_Integer
9625 (Short_Address): Declare as 32 bit subtype of Address
9626 Declare abstract address operations to avoid gratuitous ambiguities.
9627
9628 2004-05-05 Jose Ruiz <ruiz@act-europe.fr>
9629
9630 * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
9631 instead of the old Boolean_Entry_Barriers.
9632 Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
9633
9634 2004-05-05 GNAT Script <nobody@gnat.com>
9635
9636 * Make-lang.in: Makefile automatically updated
9637
9638 2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
9639
9640 * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
9641
9642 2004-05-03 Olivier Hainque <hainque@act-europe.fr>
9643
9644 PR ada/15152
9645
9646 * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
9647 alone. Replacing object references by literals is inappropriate in a
9648 so low level context.
9649
9650 2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
9651
9652 * a-exexpr.adb: Add comments
9653
9654 2004-05-03 Joel Brobecker <brobecker@gnat.com>
9655
9656 * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
9657 declare the Ancestor_Tags array in Type_Specific_Data with a small size
9658 without risking a bounds check error when accessing one of its
9659 components.
9660 (Type_Specific_Data): Define Ancestor_Tags as a small array.
9661 This prevents us from hitting a limitation during the debug info
9662 generation when using stabs.
9663
9664 * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
9665 small array.
9666 This prevents us from hitting a limitation during the debug info
9667 generation when using stabs.
9668
9669 2004-05-03 Eric Botcazou <ebotcazou@act-europe.fr>
9670
9671 lang-specs.h: Remove -gnatz* from specs.
9672
9673 2004-05-03 Vincent Celier <celier@gnat.com>
9674
9675 * gprmake.adb, makegpr.ads, makegpr.adb: New files.
9676
9677 * Make-lang.in, Makefile.in: Add gprmake
9678
9679 2004-05-03 Thomas Quinot <quinot@act-europe.fr>
9680
9681 * sem_aggr.adb: Fix typo in comment.
9682
9683 2004-05-03 Robert Dewar <dewar@gnat.com>
9684
9685 * make.adb: Minor reformatting
9686
9687 * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
9688
9689 * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
9690 so that it works when address is not a private type.
9691
9692 * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
9693 properly with rewritten unchecked conversions. This prevents
9694 order-of-elaboration issues that can otherwise arise.
9695 (Minimum_Size): Don't check size of access types under VMS
9696
9697 * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
9698 interpretations of integer literals as type System.Address.
9699
9700 * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
9701 (Is_Descendent_Of): New function
9702
9703 2004-05-03 Jose Ruiz <ruiz@act-europe.fr>
9704
9705 * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
9706 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
9707 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
9708
9709 * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
9710 of the old Max_Entry_Queue_Depth.
9711
9712 * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
9713 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
9714 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
9715
9716 * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
9717 New entry for proper handling of Max_Entry_Queue_Depth.
9718 New entry for proper handling of No_Dynamic_Interrupts.
9719
9720 * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
9721 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
9722 Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
9723 the GNAT specific restriction Max_Entry_Queue_Depth.
9724 Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
9725 the GNAT specific restriction No_Dynamic_Interrupts.
9726
9727 * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
9728 instead of the old Boolean_Entry_Barriers.
9729 Use the new restriction No_Dynamic_Attachment instead of the old
9730 No_Dynamic_Interrupts.
9731
9732 * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
9733 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
9734
9735 * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
9736 of the old Max_Entry_Queue_Depth.
9737
9738 2004-05-03 GNAT Script <nobody@gnat.com>
9739
9740 * Make-lang.in: Makefile automatically updated
9741
9742 2004-04-29 Ed Schonberg <schonberg@gnat.com>
9743
9744 * checks.adb (Enable_Range_Check): If the prefix of an index component
9745 is an access to an unconstrained array, perform check unconditionally.
9746
9747 2004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9748
9749 * decl.c (gnat_to_gnu_field): Also call make_packable_type if
9750 Component_Clause.
9751
9752 2004-04-29 Olivier Hainque <hainque@act-europe.fr>
9753
9754 * init.c (__gnat_install_handler, __gnat_error_handler): Remove
9755 alternate stack setting. There was no support for the tasking cases
9756 and the changes eventually caused a number of side-effect failures in
9757 the non-tasking case too.
9758
9759 2004-04-29 Eric Botcazou <ebotcazou@act-europe.fr>
9760
9761 lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
9762 -gnats is passed.
9763
9764 2004-04-29 Vincent Celier <celier@gnat.com>
9765
9766 * make.adb (Gnatmake): Increase max size of argument array for
9767 gnatbind for the potential addition of -F.
9768 If there are Stand-Alone Library projects, invoke gnatbind with -F to
9769 be sure that elaboration flags will be checked.
9770
9771 * switch-c.adb: Correct call to Scan_Pos for -gnateI
9772
9773 2004-04-29 Thomas Quinot <quinot@act-europe.fr>
9774
9775 * sem_warn.adb (Check_References): Move '<access-variable> may be
9776 null' warning out of under Warn_On_No_Value_Assigned.
9777
9778 2004-04-29 Ed Falis <falis@gnat.com>
9779
9780 * gnat_ugn.texi: Fixed texi error
9781
9782 2004-04-29 Robert Dewar <dewar@gnat.com>
9783
9784 * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
9785 abstract operations if they come from predefined files.
9786
9787 * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
9788 Dynamic, not RM).
9789
9790 * s-addope.adb: Correct obvious error in mod function
9791
9792 2004-04-28 Andrew W. Reynolds <awreynolds@mac.com>
9793
9794 * Makefile.in: Add target pairs for powerpc darwin*
9795 tasking support.
9796
9797 * a-intnam-darwin.ads, s-osinte-darwin.adb,
9798 s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
9799
9800 2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
9801
9802 * Makefile.in: Add target macro definitions for s390*-linux*.
9803 * system-linux-s390.ads: New file.
9804 * system-linux-s390x.ads: New file.
9805
9806 2004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
9807
9808 * gnat_ugn.texi: Correct argument to @setfilename.
9809
9810 2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
9811
9812 * a-exexpr.adb (Unwind_Word): New data type.
9813 (Unwind_Exception): Use it as type of Private1 and Private2.
9814
9815 * raise.c (db_action_for): Fix debug printf.
9816
9817 2004-04-27 Ed Schonberg <schonberg@gnat.com>
9818
9819 * a-wtmoio.ads: Formal type must be a modular type, not a signed
9820 integer type.
9821
9822 2004-04-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9823
9824 * decl.c (gnat_to_gnu_entity, case object): Call
9825 __builtin_update_setjmp_buf.
9826
9827 * gigi.h (update_setjmp_buf): Deleted.
9828 (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
9829
9830 * misc.c: (update_setjmp_buf): Deleted.
9831
9832 * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
9833 around block of RTL.
9834
9835 * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
9836
9837 2004-04-26 Thomas Quinot <quinot@act-europe.fr>
9838
9839 * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
9840 subprogram for which no pragma All_Calls_Remote applies, store the
9841 address of the real subprogram in the underlying record type, so local
9842 dereferences do not go through the PCS.
9843
9844 2004-04-26 Robert Dewar <dewar@gnat.com>
9845
9846 * i-c.ads: Add some type qualifications to avoid ambiguities when
9847 compiling with s-auxdec.ads and a non-private address type.
9848
9849 2004-04-26 Arnaud Charlet <charlet@act-europe.fr>
9850
9851 * Makefile.rtl: Fix error in previous check-in:
9852 Add s-addope.o to non tasking object list (rather than tasking object
9853 list).
9854
9855 2004-04-26 Javier Miranda <miranda@gnat.com>
9856
9857 * sem_aggr.adb: Fix typo in comments
9858 (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
9859 Required to check the null-exclusion attribute.
9860
9861 * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
9862 case of anonymous access types in record and array components. For a
9863 component definition the level is the same of the enclosing composite
9864 type.
9865
9866 * sem_ch3.adb (Analyze_Component_Declaration): In case of components
9867 that are anonymous access types the level of accessibility depends on
9868 the enclosing type declaration. In order to have this information, set
9869 the scope of the anonymous access type to the enclosing record type
9870 declaration.
9871 (Array_Type_Declaration): In case of components that are anonymous
9872 access types the level of accessibility depends on the enclosing type
9873 declaration. In order to have this information, set the scope of the
9874 anonymous access type to the enclosing array type declaration.
9875
9876 * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
9877 access type.
9878
9879 * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
9880 renaming of anonymous access-to-constant types allowed if and only if
9881 the renamed object is access-to-constant.
9882
9883 * sem_util.adb (Type_Access_Level): In case of anonymous access types
9884 that are component_definition or discriminants of a nonlimited type,
9885 the level is the same as that of the enclosing component type.
9886
9887 2004-04-26 Sergey Rybin <rybin@act-europe.fr>
9888
9889 * sem_elim.adb: Some minor code reorganization from code reading. Fix
9890 misprint in the function name (File_Name_Match).
9891
9892 2004-04-23 Laurent GUERBY <laurent@guerby.net>
9893
9894 * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
9895 install.
9896
9897 2004-04-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9898
9899 * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
9900
9901 2004-04-23 Emmanuel Briot <briot@act-europe.fr>
9902
9903 * adaint.c (__gnat_try_lock): No longer requires that the parent
9904 directory be writable, the directory itself is enough.
9905 (gnat_is_absolute_path): Change profile, so that the call from
9906 GNAT.OS_Lib can be made more efficient.
9907
9908 * adaint.h (gnat_is_absolute_path): Change profile, so that the call
9909 from GNAT.OS_Lib can be made more efficient.
9910
9911 * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
9912 one copy of the file name. Found by code reading.
9913
9914 2004-04-23 Vincent Celier <celier@gnat.com>
9915
9916 * gnat_ugn.texi: Add documentation for gnatmake switch -eL
9917 Correct documentation on gnatmake switches transmitted to the compiler
9918
9919 * ali.ads: Minor comment fix
9920
9921 2004-04-23 Javier Miranda <miranda@gnat.com>
9922
9923 * sem_ch6.adb: (Confirming Types): Code cleanup
9924
9925 * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
9926 subprogram types: E_Anonymous_Access_Subprogram_Type and
9927 E_Anonymous_Access_Protected_Subprogram_Type.
9928
9929 2004-04-23 Thomas Quinot <quinot@act-europe.fr>
9930
9931 * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
9932 whether a pragma All_Calls_Remote applies to the subprogram on which
9933 'Access is taken.
9934 No functional change is introduced by this revision; the new parameter
9935 will be used to allow calls to local RCI subprograms to be optimized
9936 to not use the PCS in the case where no pragma All_Calls_Remote applies,
9937 as is already done in the PolyORB implementation of the DSA.
9938
9939 * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
9940 whether a pragma All_Calls_Remote applies to the subprogram on which
9941 'Access is taken.
9942 No functional change is introduced by this revision; the new parameter
9943 will be used to allow calls to local RCI subprograms to be optimized
9944 to not use the PCS in the case where no pragma All_Calls_Remote applies,
9945 as is already done in the PolyORB implementation of the DSA.
9946
9947 2004-04-23 Robert Dewar <dewar@gnat.com>
9948
9949 * Makefile.rtl: Add entry for s-addope.o in run time library list
9950 * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
9951 * s-addope.ads, s-addope.adb: New files.
9952
9953 * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
9954 s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
9955 s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
9956 System.Address to be non-private and signed.
9957
9958 * sem_elim.adb: Minor reformatting (fairly extensive)
9959 Some minor code reorganization from code reading
9960 Add a couple of ??? comments
9961
9962 2004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9963
9964 * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
9965 (tree_transform, case N_If_Statement): Remove non-determinism.
9966
9967 * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
9968
9969 2004-04-23 Sergey Rybin <rybin@act-europe.fr>
9970
9971 * gnat_rm.texi: Small fixes in the changes made in the 'pragma
9972 Eliminate' section.
9973
9974 * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
9975 no longer used as a parameter name for Eliminate pragma).
9976
9977 2004-04-22 Laurent GUERBY <laurent@guerby.net>
9978
9979 PR optimization/14984
9980 PR optimization/14985
9981 * trans.c (gigi): Fix non determinism leading to bootstrap
9982 comparison failures.
9983
9984 2004-04-21 Pascal Obry <obry@gnat.com>
9985
9986 * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
9987 passed to spawnvp() to properly handle program pathname with spaces on
9988 Win32.
9989
9990 2004-04-21 Emmanuel Briot <briot@act-europe.fr>
9991
9992 * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
9993 (Allocate, Deallocate, Free_Physically): Make sure the tasks are
9994 unlocked in case of exceptions.
9995
9996 2004-04-21 Joel Brobecker <brobecker@gnat.com>
9997
9998 * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
9999 This function does not exist anymore.
10000
10001 2004-04-21 Thomas Quinot <quinot@act-europe.fr>
10002
10003 * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
10004
10005 * link.c: Move variables to the __gnat name space.
10006
10007 * Makefile.in: list link.o explicitly when needed.
10008
10009 * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
10010
10011 2004-04-21 Javier Miranda <miranda@gnat.com>
10012
10013 * einfo.adb (Original_Access_Type): New subprogram
10014 (Set_Original_Access_Type): New subprogram
10015 (Write_Field21_Name): Write the name of the new field
10016
10017 * einfo.ads (Original_Access_Type): New field present in access to
10018 subprogram types.
10019 Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
10020 E_Anonymous_Access_Protected_Subprogram_Type.
10021
10022 * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
10023 subprogram types.
10024
10025 * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
10026 to anonymous access to subprogram types.
10027
10028 * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
10029 to subprogram types.
10030
10031 * sem_ch3.adb (Access_Definition): Complete decoration of entities
10032 corresponding to anonymous access to subprogram types.
10033 (Analyze_Component_Declaration): Add new actual to the call to
10034 subprogram replace_anonymous_access_to_protected_subprogram.
10035 (Array_Type_Declaration): Add new actual to the call to subprogram
10036 replace_anonymous_access_to_protected_subprogram.
10037 (Process_Discriminants): Add new actual to the call to subprogram
10038 replace_anonymous_access_to_protected_subprogram.
10039 (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
10040
10041 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
10042 formal.
10043
10044 * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
10045 access to subprogram types.
10046
10047 * sem_util.adb (Has_Declarations): Addition of package_specification
10048 nodes.
10049
10050 2004-04-21 Ed Schonberg <schonberg@gnat.com>
10051
10052 * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
10053 inlined flags to renamed entity only if in current unit.
10054
10055 2004-04-21 Thomas Quinot <quinot@act-europe.fr>
10056
10057 * s-parint.ads: Add DSA implementation marker.
10058
10059 * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
10060 value of System.Partition_Interface.DSA_Implementation to determine
10061 what version of the distributed systems annex is available (no
10062 implementation, GLADE, or PolyORB).
10063
10064 2004-04-21 Joel Brobecker <brobecker@gnat.com>
10065
10066 * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
10067
10068 2004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10069
10070 * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
10071 with new type if alias sets differ.
10072 Fixes ACATS c41103b.
10073
10074 2004-04-21 Vincent Celier <celier@gnat.com>
10075
10076 * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
10077 Add array Lang_Args for the language specific compiling argument
10078 switches.
10079
10080 * gnat_ugn.texi: Explain in more details when a library is rebuilt.
10081
10082 2004-04-21 Sergey Rybin <rybin@act-europe.fr>
10083
10084 * gnat_rm.texi: Update the descripton of the Eliminate pragma
10085 according to the recent changes in the format of the parameters of the
10086 pragma (replacing Homonym_Number with Source_Location).
10087
10088 2004-04-19 Arnaud Charlet <charlet@act-europe.fr>
10089
10090 * 5isystem.ads: Removed, unused.
10091
10092 * gnat_rm.texi: Redo 1.13 change.
10093
10094 2004-04-19 Robert Dewar <dewar@gnat.com>
10095
10096 * s-stoele.ads: Clean up definition of Storage_Offset (the new
10097 definition is cleaner, avoids the kludge of explicit Standard operator
10098 references, and also is consistent with a visible System.Address with
10099 no visible operations.
10100
10101 * s-geveop.adb: Add declarations to avoid assumption of visible
10102 operations on type System.Address (since these might not be available
10103 if Address is a non-private type for which the operations
10104 are made abstract).
10105
10106 * sem_eval.adb: Minor reformatting
10107
10108 * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
10109 s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
10110 reformatting (new function spec format).
10111
10112 * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
10113 s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
10114 s-caun64.adb: Add declarations to avoid assumption of visible
10115 operations on type System.Address (since these might not be available
10116 if Address is a non-private type for which the operations are made
10117 abstract).
10118
10119 * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
10120
10121 * exp_intr.adb: Minor comment update
10122
10123 * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
10124
10125 * 5omastop.adb: Add declarations to avoid assumption of visible
10126 operations on type System.Address (since these might not be available
10127 if Address is a non-private type for which the operations
10128 are made abstract).
10129
10130 2004-04-19 Vincent Celier <celier@gnat.com>
10131
10132 * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
10133
10134 * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
10135 defaulted to Ada.
10136
10137 * prj-proc.adb (Process): New Boolean parameter Process_Languages,
10138 defaulted to Ada.
10139 Call Check with Process_Languages.
10140 (Check): New Boolean parameter Process_Languages. Call Recursive_Check
10141 with Process_Languages.
10142 (Recursive_Check): New Boolean parameter Process_Languages. Call
10143 Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
10144 Process_Languages.
10145
10146 * prj-proc.ads (Process): New Boolean parameter Process_Languages,
10147
10148 * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
10149 parameter Ada_Main, defaulted to True.
10150 Check for Ada specific characteristics only when Ada_Main is True.
10151
10152 * opt.ads: (Follow_Links): New Boolean flag for gnatmake
10153
10154 * prj.adb: (Project_Empty): Add new Project_Data components.
10155
10156 * prj.ads: New types and tables for non Ada languages.
10157 (Project_Data): New components Languages, Impl_Suffixes,
10158 First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
10159 Include_Path, Include_Data_Set.
10160
10161 * prj-env.ads, prj-env.adb: Minor reformatting
10162
10163 * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
10164 Put subprograms in alphabetical order
10165
10166 * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
10167 defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
10168 Opt.Follow_Links.
10169
10170 * mlib-prj.adb: Back out modification in last version, as they are
10171 incorrect.
10172 (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
10173
10174 * make.adb: (Mains): Moved to package Makeutl
10175 (Linker_Opts): Moved to package Makeutl
10176 (Is_External_Assignment): Moved to package Makeutl
10177 (Test_If_Relative_Path): Moved to package Makeutl
10178 (Gnatmake): Move sorting of linker options to function
10179 Makeutl.Linker_Options_Switches.
10180
10181 * makeutl.ads, makeutl.adb: New files.
10182
10183 * Makefile.in: Add makeutl.o to the object files for gnatmake
10184
10185 * makeusg.adb: Add line for new switch -eL.
10186
10187 * gnatls.adb (Image): New function.
10188 (Output_Unit): If in verbose mode, output the list of restrictions
10189 specified by pragmas Restrictions.
10190
10191 * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
10192 Text_IO.
10193
10194 * a-calend.adb (Split): Shift the date by multiple of 56 years, if
10195 needed, to put it in the range 1970 (included) - 2026 (excluded).
10196 (Time_Of): Do not shift Unix_Min_Year (1970).
10197 Shift the date by multiple of 56 years, if needed, to put it in the
10198 range 1970 (included) - 2026 (excluded).
10199
10200 * adaint.h, adaint.c (__gnat_set_executable): New function.
10201
10202 2004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10203
10204 * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
10205 and pop GC context.
10206 (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
10207 (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
10208 (tree_transform, case N_Procedure_Call_Statement): Build a tree.
10209 (tree_transform, case N_Code_Statement): Likewise.
10210 (gnat_expand_stmt, case LABEL_STMT): Don't look at
10211 LABEL_STMT_FIRST_IN_EH.
10212 (gnat_expand_stmt, case ASM_STMT): New case.
10213
10214 * utils2.c (build_unary_op): Properly set TREE_READONLY of
10215 UNCONSTRAINED_ARRAY_REF.
10216
10217 * utils.c (poplevel): Temporarily push/pop GC context around inline
10218 function expansion.
10219
10220 * decl.c (maybe_variable): Properly set TREE_READONLY of
10221 UNCONSTRAINED_ARRAY_REF.
10222 (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
10223
10224 * ada-tree.def: (ASM_STMT): New.
10225
10226 * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
10227 (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
10228 ASM_STMT_INPUT): New.
10229 (ASM_STMT_CLOBBER): Likewise.
10230
10231 2004-04-19 Thomas Quinot <quinot@act-europe.fr>
10232
10233 * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
10234 general rcheck mechanism to raise Program_Error for E.4(18), instead
10235 of a custom raiser in System.Partition_Interface.
10236 Part of general cleanup work before PolyORB integration.
10237
10238 * snames.ads, snames.adb: Add new runtime library entities and names
10239 for PolyORB DSA.
10240
10241 * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
10242 exp_dist.
10243 (Build_Subprogram_Id): New subprogram provided by exp_dist
10244 Code reorganisation in preparation for PolyORB integration.
10245
10246 * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
10247 exp_dist.
10248 (Build_Subprogram_Id): New subprogram provided by exp_dist
10249
10250 * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
10251 actual parameter types for call to dereference of an
10252 access-to-subprogram type.
10253
10254 * rtsfind.ads: Add new runtime library entities and names for PolyORB
10255 DSA.
10256
10257 * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
10258 instead, which has the same behaviour here since we never pass it a
10259 NULL pointer.
10260
10261 * link.c (run_path_option, Solaris case): Use -Wl, as for other
10262 platforms.
10263
10264 * Makefile.in: adjust object file lists for gnatlink and gnatmake
10265 to account for new dependency upon Interfaces.C.Strings + link.o
10266 For x86 FreeBSD, use 86numaux.
10267
10268 * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
10269 from Mlib.Tgt to Mlib.
10270
10271 * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
10272 target-independent.
10273
10274 * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
10275 target-specific versions of this subprogram, now implemented as a
10276 target-independent function in Mlib.
10277
10278 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
10279 5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
10280 (Linker_Library_Path_Option): Remove target-specific versions of this
10281 subprogram, now implemented as a target-independent function in Mlib.
10282
10283 * atree.adb: (Allocate_Initialize_Node): New subprogram.
10284 Factors out node table slots allocation.
10285 (Fix_Parents): New subprogram.
10286 Encapsulate the pattern of fixing up parent pointers for syntactic
10287 children of a rewritten node.
10288 (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
10289 (Rewrite): Use New_Copy when creating saved copy of original node.
10290 (Replace): Use Copy_Node to copy nodes.
10291
10292 2004-04-19 Javier Miranda <miranda@gnat.com>
10293
10294 * sprint.adb (Sprint_Node_Actual): Give support to the new
10295 Access_To_Subprogram node available in Access_Definition nodes. In
10296 addition, give support to the AI-231 node fields: null-exclusion,
10297 all-present, constant-present.
10298
10299 * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
10300
10301 * sinfo.ads, sinfo.adb:
10302 New field Access_To_Subprogram_Definition in Access_Definition nodes
10303
10304 * sem_ch6.adb (Process_Formals): Move here the code that creates and
10305 decorates internal subtype declaration corresponding to the
10306 null-excluding formal. This code was previously in Set_Actual_Subtypes.
10307 In addition, carry out some code cleanup on this code. In case of
10308 access to protected subprogram call
10309 Replace_Anonymous_Access_To_Protected_Subprogram.
10310 (Set_Actual_Subtypes): Code cleanup.
10311
10312 * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
10313 Find_Type in case of anonymous access renamings. Add warning in case of
10314 null-excluding attribute used in anonymous access renaming.
10315
10316 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
10317 subprogram
10318
10319 * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
10320 subprogram.
10321 (Access_Definition): In case of anonymous access to subprograms call
10322 the corresponding semantic routine to decorate the node.
10323 (Access_Subprogram_Declaration): Addition of some comments indicating
10324 some code that probably should be added here. Detected by comparison
10325 with the access_definition subprogram.
10326 (Analyze_Component_Declaration): In case of access to protected
10327 subprogram call Replace_Anonymous_Access_To_Protected.
10328 (Array_Type_Declaration): In case of access to protected subprogram call
10329 Replace_Anonymous_Access_To_Protected_Subprogram.
10330 (Process_Discriminants): In case of access to protected subprogram call
10331 Replace_Anonymous_Access_To_Protected_Subprogram.
10332
10333 * par.adb (P_Access_Definition): New formal that indicates if the
10334 null-exclusion part was present.
10335 (P_Access_Type_Definition): New formal that indicates if the caller has
10336 already parsed the null-excluding part.
10337
10338 * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
10339 (P_Identifier_Declarations): Code cleanup and give support to renamings
10340 of anonymous access to subprogram types.
10341 (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
10342 (P_Array_Type_Definition): Give support to AI-254.
10343 (P_Component_Items): Give support to AI-254.
10344 (P_Access_Definition): New formal that indicates if the header was
10345 already parsed by the caller.
10346 (P_Access_Type_Definition): New formal that indicates if the caller has
10347 already parsed the null-excluding part.
10348
10349 * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
10350 call to P_Access_Definition.
10351
10352 2004-04-19 Geert Bosch <bosch@gnat.com>
10353
10354 * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
10355 the delicate semantics of floating-point to integer conversion.
10356 (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
10357
10358 * eval_fat.adb (Machine_Mantissa): Moved to spec.
10359 (Machine_Radix): New function.
10360
10361 * eval_fat.ads (Machine_Mantissa): Moved from body for use in
10362 conversion checks.
10363 (Machine_Radix): New function also for use in conversion checks.
10364
10365 2004-04-19 Ed Schonberg <schonberg@gnat.com>
10366
10367 * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
10368
10369 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
10370 to decorate the access-to-protected subprogram and the equivalent type.
10371
10372 * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
10373 to anonymous access to subprogram types.
10374
10375 * exp_ch4.adb (Expand_N_In): Preserve Static flag before
10376 constant-folding, for legality checks in contexts that require an RM
10377 static expression.
10378
10379 * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
10380 temporary but stack checking is not enabled, increment serial number
10381 to so that symbol generation is consistent with and without stack
10382 checking.
10383
10384 * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
10385 independent on whether stack checking is enabled, caller must check
10386 the corresponding flag.
10387
10388 * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
10389 range checks.
10390 (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
10391 parent if it has discriminants.
10392 (Build_Derived_Private_Type): Constructed full view does
10393 not come from source.
10394 (Process_Discriminants): Default discriminants on a tagged type are
10395 legal if this is the internal completion of a private untagged
10396 derivation.
10397
10398 * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
10399 no constraint checks, because it corresponds to an existing object.
10400
10401 * sem_prag.adb (Process_Convention): Pragma applies
10402 only to subprograms in the same declarative part, i.e. the same unit,
10403 not the same scope.
10404
10405 * sem_res.adb (Valid_Conversion): In an instance or inlined body,
10406 ignore type mismatch on a numeric conversion if expression comes from
10407 expansion.
10408
10409 2004-04-19 Sergey Rybin <rybin@act-europe.fr>
10410
10411 * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
10412 Homonym_Number parameter, add processing for Source_Location parameter
10413 corresponding.
10414 (Check_Eliminated): Remove the check for homonym numbers, add the check
10415 for source location traces.
10416
10417 * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
10418 with Arg_Source_Location corresponding to the changes in the format of
10419 the pragma.
10420
10421 * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
10422 Eliminate pragma corresponding to the changes in the format of the
10423 pragma: Homonym_Number is replaced with Source_Location, two ways of
10424 distinguishing homonyms are mutially-exclusive.
10425
10426 2004-04-19 Joel Brobecker <brobecker@gnat.com>
10427
10428 * get_targ.ads (Get_No_Dollar_In_Label): Remove.
10429
10430 * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
10431 No_Dollar_In_Label, no longer necessary, as it is always True.
10432 (Strip_Suffixes): Likewise.
10433
10434 2004-04-19 Gary Dismukes <dismukes@gnat.com>
10435
10436 * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
10437 modulus for compatibility with size clause on targets with 16-bit
10438 Integer.
10439
10440 * layout.adb (Discrimify): In the case of private types, set Vtyp to
10441 full type to fix type mismatches on calls to size functions for
10442 discriminant-dependent array components.
10443
10444 2004-04-19 Jerome Guitton <guitton@act-europe.fr>
10445
10446 * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
10447 lib.
10448
10449 2004-04-19 Pascal Obry <obry@gnat.com>
10450
10451 * mdll-utl.adb (Locate): New version is idempotent.
10452
10453 2004-04-17 Laurent Guerby <laurent@guerby.net>
10454
10455 PR ada/14988 (partial)
10456 * impunit.adb: Fix typo.
10457
10458 2004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
10459
10460 * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
10461 and install-rts-cert targets. Remove all gnatlib and gnattools
10462 targets and all other rts-* targets (moved to libada). Remove (now)
10463 unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
10464 TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
10465
10466 2004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10467
10468 * trans.c (tree_transform): Shortcut returning error_mark_node for
10469 statements in annotate_only_mode.
10470 (tree_transform, case N_Label, case N_Return_Statement,
10471 N_Goto_Statement): Make statement tree instead of generating code.
10472 (tree_transform, case N_Assignment_Statement): No longer check
10473 type_annotate_only.
10474 (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
10475 RETURN_STMT): New.
10476 (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
10477 New fcns.
10478 (gnat_to_gnu): Collect any RTL generated and deal with it.
10479 (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
10480 (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
10481 (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
10482
10483 * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
10484
10485 * ada-tree.def (EXPR_STMT): Fix typo in name.
10486 (BLOCK_STMT, IF_STMT): New nodes.
10487
10488 * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
10489 LABEL_STMT_FIRST_IN_EH): New macros.
10490 (RETURN_STMT_EXPR): Likewise.
10491
10492 * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
10493 IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
10494
10495 2004-04-08 Thomas Quinot <quinot@act-europe.fr>
10496
10497 * atree.ads: Correct documentation on extended nodes.
10498
10499 * link.c: Set run_path_option for FreeBSD.
10500
10501 2004-04-08 Vincent Celier <celier@gnat.com>
10502
10503 * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
10504 one of the ALI file, do not link with DEC lib.
10505
10506 * par.adb Remove the last two characters ("%s" or "%b") when checking
10507 if a language defined unit may be recompiled.
10508
10509 2004-04-08 Ed Schonberg <schonberg@gnat.com>
10510
10511 * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
10512 removal of abstract operation leaves no possible interpretation for
10513 expression.
10514
10515 * sem_eval.adb (Eval_Qualified_Expression): Use
10516 Set_Raises_Constraint_Error on node when needed, so that it does not
10517 get optimized away by subsequent optimizations.
10518
10519 * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
10520 operands even when they are not wrapped in a type conversion.
10521
10522 2004-04-08 Olivier Hainque <hainque@act-europe.fr>
10523
10524 * sem_prag.adb (Set_Exported): Warn about making static as result of
10525 export only when the export is coming from source. This may be not
10526 be true e.g. on VMS where we expand export pragmas for exception codes
10527 together with imported or exported exceptions, and we don't want the
10528 user to be warned about something he didn't write.
10529
10530 2004-04-08 Thomas Quinot <quinot@act-europe.fr>
10531
10532 * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
10533 duplication between normal entities and those declared as renamings.
10534 No functional change.
10535
10536 * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
10537 inline functions returning an unconstrained result.
10538
10539 2004-04-08 Eric Botcazou <ebotcazou@act-europe.fr>
10540
10541 * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
10542 conform to what other front-ends do.
10543
10544 2004-04-08 Doug Rupp <rupp@gnat.com>
10545
10546 * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
10547 libraries.
10548
10549 2004-04-06 Pascal Obry <obry@gnat.com>
10550
10551 * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
10552
10553 * osint.adb (Program_Name): Do not look past a directory separator.
10554
10555 2004-04-06 Thomas Quinot <quinot@act-europe.fr>
10556
10557 * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
10558
10559 * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
10560 requirement for preserving a copy of the original assignment node.
10561
10562 * sinfo.ads: Update comment (Original_Tree -> Original_Node).
10563
10564 2004-04-06 Olivier Hainque <hainque@act-europe.fr>
10565
10566 (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
10567 when supported.
10568
10569 2004-04-06 Ed Schonberg <schonberg@gnat.com>
10570
10571 * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
10572 operator calls in functional notation, and apply
10573 Universal_Interpretation to operands, not to their type.
10574
10575 2004-04-06 Robert Dewar <dewar@gnat.com>
10576
10577 * 5wdirval.adb: Minor reformatting
10578
10579 2004-04-06 Ed Falis <falis@gnat.com>
10580
10581 * gnat_rm.texi: Improve a reference to the GCC manual
10582
10583 2004-04-05 Vincent Celier <celier@gnat.com>
10584
10585 * adaint.h, adaint.c: Add function __gnat_named_file_length
10586
10587 * impunit.adb: Add Ada.Directories to the list
10588
10589 * Makefile.in: Add VMS and Windows versions of
10590 Ada.Directories.Validity package body.
10591
10592 * Makefile.rtl: Add a-direct and a-dirval
10593
10594 * mlib-tgt.ads: Minor comment update.
10595
10596 * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
10597 a-direct.ads, a-direct.adb: New files.
10598
10599 2004-04-05 Vincent Celier <celier@gnat.com>
10600
10601 PR ada/13620
10602 * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
10603 just to the compiler.
10604
10605 2004-04-05 Robert Dewar <dewar@gnat.com>
10606
10607 * a-except.adb (Exception_Name_Simple): Make sure lower bound of
10608 returned string is 1.
10609
10610 * ali-util.adb: Use proper specific form for Warnings (Off, entity)
10611
10612 * eval_fat.ads: Minor reformatting
10613
10614 * g-curexc.ads: Document that lower bound of returned string values
10615 is always one.
10616
10617 * gnatlink.adb: Add ??? comment for previous change
10618 (need to document why this is VMS specific)
10619
10620 * s-stoele.ads: Minor reformatting
10621
10622 * tbuild.ads: Minor reformatting throughout (new function specs)
10623
10624 * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
10625 after WITH.
10626
10627 * scng.adb: Minor reformatting
10628
10629 2004-04-05 Geert Bosch <bosch@gnat.com>
10630
10631 * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
10632 (Leading_Part): Still perform truncation to machine number if the
10633 specified radix_digits is greater or equal to machine_mantissa.
10634
10635 2004-04-05 Javier Miranda <miranda@gnat.com>
10636
10637 * par-ch3.adb: Complete documentation of previous change
10638 Correct wrong syntax documentation of the OBJECT_DECLARATION rule
10639 (aliased must appear before constant).
10640
10641 * par-ch4.adb: Complete documentation of previous change.
10642
10643 * par-ch6.adb: Complete documentation of previous change.
10644
10645 * sinfo.ads: Fix typo in commment.
10646
10647 2004-04-05 Ed Schonberg <schonberg@gnat.com>
10648
10649 * sem_ch3.adb (Inherit_Components): If derived type is private and has
10650 stored discriminants, use its discriminants to constrain parent type,
10651 as is done for non-private derived record types.
10652
10653 * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
10654 Ada 2005 AI-310: an abstract non-dispatching operation is not a
10655 candidate interpretation in an overloaded call.
10656
10657 * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
10658 expression is Null and target type is not an access type (e.g. a
10659 non-private address type).
10660
10661 2004-04-05 Thomas Quinot <quinot@act-europe.fr>
10662
10663 * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
10664 statement whose right-hand side is an inlined call, save a copy of the
10665 original assignment subtree to preserve enough consistency for
10666 Analyze_Assignment to proceed.
10667
10668 * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
10669 complete assignment subtree which is now unnecessary, as the expansion
10670 of inlined call has been improved to preserve a consistent assignment
10671 tree. Note_Possible_Modification must be called only
10672 after checks have been applied, or else unnecessary checks will
10673 be generated.
10674
10675 * sem_util.adb (Note_Possible_Modification): Reorganise the handling
10676 of explicit dereferences that do not Come_From_Source:
10677 - be selective on cases where we must go back to the dereferenced
10678 pointer (an assignment to an implicit dereference must not be
10679 recorded as modifying the pointer);
10680 - do not rely on Original_Node being present (Analyze_Assignment
10681 calls Note_Possible_Modification on a copied tree).
10682
10683 * sem_warn.adb (Check_References): When an unset reference to a pointer
10684 that is never assigned is encountered, prefer '<pointer> may be null'
10685 warning over '<pointer> is never assigned a value'.
10686
10687 2004-04-05 Ramon Fernandez <fernandez@gnat.com>
10688
10689 * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
10690 the ABI.
10691
10692 2004-04-05 Olivier Hainque <hainque@act-europe.fr>
10693
10694 * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
10695 libexc. We currently don't reference anything in this library and
10696 linking it in triggers linker warnings we don't want to see.
10697
10698 * init.c: Update comments.
10699
10700 2004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10701
10702 * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
10703 * utils.c (create_field_decl): Likewise.
10704 * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
10705
10706 2004-04-02 Arnaud Charlet <charlet@act-europe.fr>
10707
10708 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
10709 Replace ifinfo by ifnottex, to make makeinfo --html happy again.
10710 Add info directory entry and category.
10711
10712 2004-04-02 Jan Hubicka <jh@suse.cz>
10713
10714 * utils.c: Include function.h
10715 (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
10716
10717 2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
10718
10719 PR ada/14150
10720 * Make-lang.in: Clean up generation of documentation
10721
10722 * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
10723
10724 * xgnatug.adb: Removed, replaced by xgnatugn.adb
10725
10726 * xgnatugn.adb: Replaces xgnatug.adb
10727
10728 * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
10729
10730 * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
10731
10732 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10733 gnat_ug_wnt.texi: Removed.
10734
10735 2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
10736
10737 * utils2.c: Update copyright notice.
10738
10739 2004-04-01 Robert Dewar <dewar@gnat.com>
10740
10741 * checks.adb: Minor reformatting throughout
10742 Note that prev checkin added RM reference to alignment warning
10743
10744 2004-04-01 Ed Schonberg <schonberg@gnat.com>
10745
10746 * exp_aggr.adb (Get_Component_Val): Treat a string literal as
10747 non-static when building aggregate for bit-packed array.
10748
10749 * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
10750 function call that is itself the actual in a procedure call, build
10751 temporary for it.
10752
10753 * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
10754 a string literal, create a temporary for it, constant folding only
10755 handles scalars here.
10756
10757 2004-04-01 Vincent Celier <celier@gnat.com>
10758
10759 * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
10760 Error_Msg_SP): New empty procedures to instantiate the Scanner.
10761 (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
10762 tokens.
10763 (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
10764 (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
10765 and get the checksum.
10766
10767 * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
10768 already in the Q.
10769 Increase the Marking_Label at the end of the Multiple_Main_Loop,
10770 instead of at the beginning.
10771
10772 * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
10773 directly.
10774 (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
10775 on VMS.
10776
10777 * osint.ads (Multi_Unit_Index_Character): New Character global variable
10778
10779 * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
10780 not '~' directly.
10781
10782 * par.adb: Remove test on file name to detect language defined units.
10783 Add test on unit name, after parsing, to detect language defined units
10784 that are not compiled with -gnatg (except System.RPC and its children)
10785
10786 * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
10787 following units without style checking.
10788
10789 * switch-c.adb: Change -gnatC to -gnateI
10790
10791 * usage.adb: Document new switch -gnateInnn
10792
10793 * scng.adb (Accumulate_Token_Checksum): New procedure
10794 (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
10795 word or literal number.
10796 (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
10797 numbers.
10798
10799 2004-04-01 Thomas Quinot <quinot@act-europe.fr>
10800
10801 * a-tasatt.adb,
10802 g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
10803 switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
10804 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
10805 5vtpopde.adb: Add missing 'constant' keywords.
10806
10807 2004-04-01 Javier Miranda <miranda@gnat.com>
10808
10809 * par-ch4.adb: (P_Allocator): Code cleanup
10810
10811 * sem_ch3.adb (Access_Definition): Properly set the null-excluding
10812 attribute.
10813
10814 * sinfo.ads: Complete documentation of previous change
10815
10816 2004-04-01 Pascal Obry <obry@gnat.com>
10817
10818 * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
10819 only on VMS. This special handling was done because an old GNU/ld bug
10820 on Windows which has been fixed.
10821
10822 2004-04-01 GNAT Script <nobody@gnat.com>
10823
10824 * Make-lang.in: Makefile automatically updated
10825
10826 2004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10827
10828 * decl.c (gnat_to_gnu_entity, make_type_from_size):
10829 Use TYPE_UNSIGNED, not TREE_UNSIGNED.
10830 * trans.c (tree_transform, convert_with_check): Likewise.
10831 * utils.c (gnat_signed_or_unsigned_type): Likewise.
10832 (build_vms_descriptor, unchecked_convert): Likewise.
10833 * utils2.c (nonbinary_modular_operation): Likewise.
10834
10835 2004-03-29 Javier Miranda <miranda@gnat.com>
10836
10837 * checks.adb (Null_Exclusion_Static_Checks): New subprogram
10838 (Install_Null_Excluding_Check): Local subprogram that determines whether
10839 an access node requires a runtime access check and if so inserts the
10840 appropriate run-time check.
10841 (Apply_Access_Check): Call Install_Null_Excluding check if required
10842 (Apply_Constraint_Check): Call Install_Null_Excluding check if required
10843
10844 * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
10845
10846 * einfo.ads: Fix typo in comment
10847
10848 * exp_ch3.adb (Build_Assignment): Generate conversion to the
10849 null-excluding type to force the corresponding run-time check.
10850 (Expand_N_Object_Declaration): Generate conversion to the null-excluding
10851 type to force the corresponding run-time check.
10852
10853 * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
10854 the null-excluding type to force the corresponding run-time check.
10855
10856 * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
10857 case of access types unless they have the null-excluding attribute.
10858
10859 * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
10860 part.
10861
10862 * exp_util.ads: Fix typo in comment
10863
10864 * par.adb (P_Null_Exclusion): New subprogram
10865 (P_Subtype_Indication): New formal that indicates if the null-excluding
10866 part has been scanned-out and it was present
10867
10868 * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
10869
10870 * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
10871 (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
10872 type to force the corresponding run-time check
10873 (Resolve_Aggregate): Propagate the null-excluding attribute to the array
10874 components
10875 (Resolve_Array_Aggregate): Carry out some static checks
10876 (Resolve_Record_Aggregate.Get_Value): Carry out some static check
10877
10878 * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
10879 attribute must be set only if specified by means of the null-excluding
10880 part. In addition, we must also propagate the access-constant attribute
10881 if present.
10882 (Access_Subprogram_Declaration, Access_Type_Declaration,
10883 Analyze_Component_Declaration, Analyze_Object_Declaration,
10884 Array_Type_Declaration, Process_Discriminants,
10885 Analyze_Subtype_Declaration): Propagate the null-excluding attribute
10886 and carry out some static checks.
10887 (Build_Derived_Access_Type): Set the null-excluding attribute
10888 (Derived_Type_Declaration, Process_Subtype): Carry out some static
10889 checks.
10890
10891 * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
10892
10893 * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
10894
10895 * sem_ch6.adb (Process_Formals): Carry out some static checks.
10896 (Set_Actual_Subtypes): Generate null-excluding subtype if the
10897 null-excluding part was present; it is not required to be done here in
10898 case of anonymous access types.
10899 (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
10900 value.
10901
10902 * sem_res.adb (Resolve_Actuals): Carry out some static check
10903 (Resolve_Null): Allow null in anonymous access
10904
10905 * sinfo.adb: New subprogram Null_Exclusion_Present
10906 All_Present and Constant_Present available on access_definition nodes
10907
10908 * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
10909 object_declaration, derived_type_definition, component_definition,
10910 discriminant_specification, access_to_object_definition,
10911 access_function_definition, allocator, access_procedure_definition,
10912 access_definition, parameter_specification, All_Present and
10913 Constant_Present flags available on access_definition nodes.
10914
10915 2004-03-29 Robert Dewar <dewar@gnat.com>
10916
10917 * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
10918 gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
10919 opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
10920 par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
10921 sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
10922 sem_prag.adb: Updates to handle multiple units/file
10923
10924 * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
10925
10926 * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
10927 sem_util.adb: Minor reformatting
10928
10929 * sem_ch12.adb: Add comment for previous change
10930
10931 2004-03-29 Laurent Pautet <pautet@act-europe.fr>
10932
10933 * osint.adb (Executable_Prefix): Set Exec_Name to the current
10934 executable name when not initialized. Otherwise, use its current value.
10935
10936 * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
10937 initialize it to another executable name than the current one. This
10938 allows to configure paths for an executable name (gnatmake) different
10939 from the current one (gnatdist).
10940
10941 2004-03-29 Ed Schonberg <schonberg@gnat.com>
10942
10943 * exp_ch6.adb (Expand_Call): A call to a function declared in the
10944 current unit cannot be inlined if it appears in the body of a withed
10945 unit, to avoid order of elaboration problems in gigi.
10946
10947 * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
10948 information for protected (wrapper) operation as well, to simplify gdb
10949 use.
10950
10951 * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
10952 protected body, indicate that the entity for the generated spec comes
10953 from source, to ensure that references are properly generated for it.
10954 (Build_Body_To_Inline): Do not inline a function that returns a
10955 controlled type.
10956
10957 * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
10958 apply convention to homonyms that are declared explicitly.
10959
10960 * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
10961 that renames an equality operator and the operands are overloaded,
10962 resolve them with the declared formal types, before rewriting as an
10963 operator.
10964
10965 2004-03-29 GNAT Script <nobody@gnat.com>
10966
10967 * Make-lang.in: Makefile automatically updated
10968
10969 2004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr>
10970
10971 * memtrack.adb: Log realloc calls, which are treated as free followed
10972 by alloc.
10973
10974 2004-03-25 Vincent Celier <celier@gnat.com>
10975
10976 * prj-makr.adb (Process_Directories): Detect when a file contains
10977 several units. Do not include such files in the config pragmas or
10978 in the naming scheme.
10979
10980 * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
10981 Resolve links only when not in Trusted_Mode.
10982 (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
10983 Do not resolve links for the display names.
10984
10985 * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
10986 resolve links when computing the display names.
10987
10988 2004-03-25 Thomas Quinot <quinot@act-europe.fr>
10989
10990 * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
10991 attribute reference does not denote a subtype, it can be any
10992 expression that has a classwide type, potentially after an implicit
10993 dereference. In particular, the prefix can be a view conversion for
10994 a classwide type (for which Is_Object_Reference holds), but it can
10995 also be a value conversion for an access-to-classwide type. In the
10996 latter case, there is an implicit dereference, and the original node
10997 for the prefix does not verify Is_Object_Reference.
10998
10999 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
11000 conversion of a discriminant-dependent component of a mutable object
11001 is one itself.
11002
11003 2004-03-25 Ed Schonberg <schonberg@gnat.com>
11004
11005 * freeze.adb (Freeze_Entity): When an inherited subprogram is
11006 inherited, has convention C, and has unconstrained array parameters,
11007 place the corresponding warning on the derived type declaration rather
11008 than the original subprogram.
11009
11010 * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
11011 indication on renaming declaration, if formal has a box and actual
11012 is absent.
11013
11014 * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
11015 determine whether to generate an implicit or explicit reference to
11016 the renamed entity.
11017
11018 * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
11019 subprogram renaming comes from a defaulted formal subprogram in an
11020 instance.
11021
11022 2004-03-25 Gary Dismukes <dismukes@gnat.com>
11023
11024 * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
11025 value expressions to ensure that calls within a component definition
11026 will be checked (since those are evaluated during the record type's
11027 elaboration).
11028
11029 2004-03-25 Arnaud Charlet <charlet@act-europe.fr>
11030
11031 * s-tpobop.adb: Code clean up:
11032 (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
11033 code.
11034 (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
11035
11036 2004-03-25 Jose Ruiz <ruiz@act-europe.fr>
11037
11038 * Makefile.in: Clean up in the ravenscar run time.
11039
11040 2004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11041
11042 * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
11043 of No_Strict_Aliasing to build_pointer_type_for_mode.
11044 * utils.c (update_pointer_to): Walk pointer and ref chains.
11045
11046 2004-03-22 Cyrille Comar <comar@act-europe.fr>
11047
11048 * ali.ads: Fix Comment about Dynamic_Elab.
11049
11050 * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
11051 Has_RACW, Is_Generic, etc.)
11052 (Output_Object, Gnatls): Take into account ALI files not attached to
11053 an object.
11054
11055 2004-03-22 Vincent Celier <celier@gnat.com>
11056
11057 * gprep.adb: Change all String_Access to Name_Id
11058 (Is_ASCII_Letter): new function
11059 (Double_File_Name_Buffer): New procedure
11060 (Preprocess_Infile_Name): New procedure
11061 (Process_Files): New procedure
11062 (Gnatprep): Check if output and input are existing directories.
11063 Call Process_Files to do the real job.
11064
11065 2004-03-22 Robert Dewar <dewar@gnat.com>
11066
11067 * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
11068 s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
11069
11070 2004-03-22 Sergey Rybin <rybin@act-europe.fr>
11071
11072 * scn.adb (Contains): Add check for EOF, is needed for a degenerated
11073 case when the source contains only comments.
11074
11075 2004-03-22 Ed Schonberg <schonberg@gnat.com>
11076
11077 * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
11078 declaration for a child subprogram body that acts as a spec, indicate
11079 that the entity in the declaration needs debugging information.
11080
11081 * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
11082 full view if the subtype is created for a constrained record component;
11083 gigi has enough information to construct the record, and there is no
11084 place in the tree for the declaration.
11085
11086 * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
11087 serial number for the dummy body that is built for analysis, to avoid
11088 inconsistencies in the generation of internal names when compiling
11089 with -gnatN.
11090
11091 2004-03-22 Thomas Quinot <quinot@act-europe.fr>
11092
11093 * sem_util.adb (Is_Object_Reference): A view conversion denotes an
11094 object.
11095
11096 2004-03-22 GNAT Script <nobody@gnat.com>
11097
11098 * Make-lang.in: Makefile automatically updated
11099
11100 2004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11101
11102 * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
11103 * trans.c (tree_transform, emit_index_check): Likewise.
11104 * utils.c (build_template): Likewise.
11105 (max_size, convert): Remove handling of WITH_RECORD_EXPR.
11106 (maybe_unconstrained_array, unchecked_convert): Likewise.
11107 * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
11108 (build_unary_op): Likewise.
11109 (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
11110 (fill_vms_descriptor): Likewise.
11111 (build_call_alloc_dealloc): Likewise.
11112 ALIGN is unsigned.
11113 * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
11114
11115 2004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
11116
11117 PR other/14630
11118 * gnat_ug.texi: Add info directory category and entry.
11119 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
11120 gnat_ug_wnt.texi: Regenerate.
11121
11122 2004-03-19 Arnaud Charlet <charlet@act-europe.fr>
11123
11124 * ada-tree.h: Update copyright notice.
11125 Minor reformatting.
11126
11127 2004-03-19 Olivier Hainque <hainque@act-europe.fr>
11128
11129 * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
11130 as regular exception objects and not as mere integers representing the
11131 condition code. The latter approach required some dynamics to mask off
11132 severity bits, which did not fit well into the GCC table based model.
11133 (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
11134 exception data objects. We don't it and it would conflict with the other
11135 external symbol we have to generate for such exceptions.
11136
11137 * trans.c (tree_transform, case N_Exception_Handler): Remove part of
11138 the special code for VMS exceptions, since these are now represented
11139 as regular exceptions objects.
11140
11141 2004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11142
11143 * decl.c (debug_no_type_hash): Remove.
11144 (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
11145 * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
11146
11147 2004-03-19 Laurent Guerby <laurent@guerby.net>
11148
11149 * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
11150 aggregate, allows bootstrap from 3.3 on powerpc-darwin.
11151
11152 2004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11153
11154 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
11155 (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
11156 (TYPE_RM_SIZE_INT): Directly use type.values.
11157 (TREE_LOOP_ID): Clean up check.
11158 * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
11159 TYPE_VALUES, not TYPE_FIELDS.
11160 * trans.c (convert_with_check): Delay access of bounds of basetype
11161 until sure is numeric.
11162
11163 2004-03-18 Arnaud Charlet <charlet@act-europe.fr>
11164
11165 * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
11166
11167 Code clean up:
11168 * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
11169 5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
11170 Specific.Set instead of direct call to e.g pthread_setspecific.
11171
11172 2004-03-18 Thomas Quinot <quinot@act-europe.fr>
11173
11174 * adaint.c: Update comments.
11175
11176 * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
11177 GNATLIB_SHARED for FreeBSD.
11178
11179 2004-03-18 Jose Ruiz <ruiz@act-europe.fr>
11180
11181 * init.c [VxWorks]: Do not fix the stack size for the environment task.
11182 When needed (stack checking) the stack size is retrieved
11183 from the VxWorks kernel.
11184
11185 * Makefile.in: Flag -nostdinc is required when building the run time
11186 for avoiding looking for files in the base compiler.
11187 Add the VxWorks specific version of the package body for
11188 System.Stack_checking.Operations (5zstchop.adb).
11189
11190 * Make-lang.in: Add the object file for
11191 System.Stack_Checking.Operations.
11192
11193 * Makefile.rtl: Add object file for the package
11194 System.Stack_Checking.Operations.
11195
11196 * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
11197
11198 * s-stache.ads, s-stache.adb: Move the operations related to stack
11199 checking from this package to package System.Stack_Checking.Operations.
11200 This way, stack checking operations are only linked in the final
11201 executable when using the -fstack-check flag.
11202
11203 2004-03-18 Doug Rupp <rupp@gnat.com>
11204
11205 * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
11206 Reorganize ifeq's.
11207
11208 * 5qsystem.ads, 5xcrtl.ads: New files.
11209
11210 2004-03-18 Vincent Celier <celier@gnat.com>
11211
11212 * prj.adb (Reset): Reset hash table Files_Htable
11213
11214 * prj-env.adb (Source_Paths, Object_Paths): New tables.
11215 (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
11216 the procedures Add_To_Path_File.
11217 (Set_Ada_Paths): Accumulate source and object dirs in the tables,
11218 making sure that each directory is present only once and, for object
11219 dirs, when a directory already present is added, the duplicate is
11220 removed and the directory is always put as the last in the table.
11221 Write the path files at the end of these accumulations.
11222
11223 * prj-nmsc.adb (Record_Source): Add source file name in hash table
11224 Files_Htable for all sources.
11225
11226 * prj-proc.adb (Process): Remove restrictions between not directly
11227 related extending projects.
11228
11229 2004-03-18 Emmanuel Briot <briot@act-europe.fr>
11230
11231 * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
11232 (Find_Sources): Minor speed optimization.
11233
11234 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
11235 parameter Trusted_Mode.
11236
11237 2004-03-18 Sergey Rybin <rybin@act-europe.fr>
11238
11239 * scn.adb (Determine_License): Take into account a degenerated case
11240 when the source contains only comments.
11241
11242 2004-03-18 Ed Schonberg <schonberg@gnat.com>
11243
11244 * sem_warn.adb (Check_References): For a warning on a selected
11245 component that does not come from source, locate an uninitialized
11246 component of the record type to produce a more precise error message.
11247
11248 2004-03-15 Jerome Guitton <guitton@act-europe.fr>
11249
11250 * 3zsoccon.ads: Fix multicast options.
11251
11252 * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
11253 in the spec.
11254
11255 2004-03-15 Robert Dewar <dewar@gnat.com>
11256
11257 * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
11258 pragma used for a private type.
11259
11260 * lib-xref.adb (Generate_Reference): Do not generate warning if
11261 reference is in a different unit from the pragma Unreferenced.
11262
11263 * 5vtpopde.adb: Minor reformatting
11264 Fix casing of To_Task_ID
11265
11266 * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
11267 flag if we have an unchecked conversion to an access type in the same
11268 unit.
11269
11270 2004-03-15 Geert Bosch <bosch@gnat.com>
11271
11272 * a-ngcoty.adb (Modulus): In alternate formula for large real or
11273 imaginary parts, use Double precision throughout.
11274
11275 * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
11276 we want to be able to compile run-time with -gnata for testing, but
11277 this may also be instantiated in user code that is compiled with -gnata.
11278
11279 2004-03-15 Olivier Hainque <hainque@act-europe.fr>
11280
11281 * s-stalib.ads (Exception_Code): New type, to represent Import/Export
11282 codes. Having a separate type for this is useful to enforce consistency
11283 throughout the various run-time units.
11284 (Exception_Data): Use Exception_Code for Import_Code.
11285
11286 * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
11287 Natural and Integer in various places.
11288 (Register_VMS_Exception): Use Base_Code_In to compute the exception code
11289 with the severity bits masked off.
11290 (Register_VMS_Exception): Handle the additional exception data pointer
11291 argument.
11292
11293 * raise.c (_GNAT_Exception structure): Remove the handled_by_others
11294 component, now reflected by an exported accessor.
11295 (is_handled_by): New routine to compute whether the propagated
11296 occurrence matches some handler choice specification. Extracted out of
11297 get_action_description_for, and expanded to take care of the VMS
11298 specifities.
11299 (get_action_description_for): Use is_handled_by instead of an explicit
11300 complex condition to decide if the current choice at hand catches the
11301 propagated occurrence.
11302
11303 * raise.h (Exception_Code): New type for C.
11304
11305 * rtsfind.ads (RE_Id, RE_Unit_Table): Add
11306 System.Standard_Library.Exception_Code, to allow references from the
11307 pragma import/export expander.
11308
11309 * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
11310 New accessors to allow easy access to GNAT exception data
11311 characteristics.
11312 (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
11313 redundant Handled_By_Others component, helper for the personality
11314 routine which will now be able to call the appropriate exception data
11315 accessor instead.
11316
11317 * cstand.adb (Create_Standard): Adjust the type of the Import_Code
11318 component of Standard_Exception_Type to be the closest possible to
11319 Exception_Code in System.Standard_Library, that we cannot get at this
11320 point. Expand a ??? comment to notify that this type node should
11321 probably be rewritten later on.
11322
11323 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
11324 registration call to include a pointer to the exception object in the
11325 arguments.
11326
11327 * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
11328 instead of int and explicit bitmasks.
11329
11330 2004-03-15 Vincent Celier <celier@gnat.com>
11331
11332 * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
11333 equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
11334
11335 * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
11336 longer needed now that it is in the spec of
11337 System.Tasking.Task_Attributes.
11338
11339 * adaint.h, adaint.c: (__gnat_create_output_file): New function
11340
11341 * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
11342
11343 * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
11344
11345 * make.adb (Gnatmake): Do not check the executable suffix; it is being
11346 taken care of in Scan_Make_Arg.
11347 (Scan_Make_Arg): Add the executable suffix only if the argument
11348 following -o, in canonical case, does not end with the executable
11349 suffix. When in verbose mode and executable file name does not end
11350 with executable suffix, output the executable name, in canonical case.
11351
11352 * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
11353 to avoid warnings when instantiating Ada.Task_Attributes.
11354 Minor reformating.
11355
11356 * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
11357 in the correct order.
11358
11359 * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
11360 redirect standard output and error to a file for the invocation of the
11361 compiler, then read the file.
11362
11363 * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
11364 directory, instead of the Value.
11365 (Find_Source_Dirs): Remove useless code & comments.
11366
11367 2004-03-15 Ed Schonberg <schonberg@gnat.com>
11368
11369 * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
11370 tagged type is inherited, and the parent operation is not frozen yet,
11371 force generation of a freeze node for the inherited operation, so the
11372 corresponding dispatch entry is properly initialized.
11373 (Make_Predefined_Primitive_Specs): Check that return type is Boolean
11374 when looking for user-defined equality operation.
11375
11376 * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
11377 boolean when locating primitive equality of tagged component.
11378
11379 * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
11380 bit-aligned field and the right-hand side a string literal, introduce
11381 a temporary before expanding assignment into a loop.
11382
11383 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
11384 priority in full, to ensure that any expanded subepxressions of it are
11385 elaborated in the scope of the init_proc.
11386
11387 * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
11388 after object declaration, skipping over code that may have been
11389 generated for validity checks.
11390
11391 * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
11392 discriminants, ignore the known discriminants of its full view, if
11393 any, to check legality.
11394
11395 * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
11396 component if type has unknown discriminants.
11397 (Analyze_Private_Extension_Declaration): Discriminant constraint is
11398 null if type has unknown discriminants.
11399
11400 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
11401 for end label when present.
11402
11403 * s-fileio.adb (Open): When called with a C_Stream, use given name for
11404 temporary file, rather than an empty string.
11405
11406 2004-03-15 Ed Falis <falis@gnat.com>
11407
11408 * s-thread.adb: Removed, no longer used.
11409
11410 2004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11411
11412 * decl.c (target.h): Now include.
11413 (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
11414 in new build_pointer_from_mode calls for non-fat/non-thin pointer.
11415 (validate_size): For POINTER_TYPE, get smallest size permitted on
11416 machine.
11417
11418 * fe.h: Sort Einfo decls and add Set_Mechanism.
11419
11420 * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
11421 (ada/decl.o): Depends on target.h.
11422
11423 * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
11424 FUNCTION_BOUNDARY; always use TYPE_ALIGN.
11425
11426 2004-03-15 Thomas Quinot <quinot@act-europe.fr>
11427
11428 * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
11429
11430 * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
11431 Insert_Dereference_Action when rewriting an implicit dereference into
11432 an explicit one, this will be taken care of during expansion of the
11433 explicit dereference.
11434 (Expand_N_Slice): Same. Always do the rewriting, even for the case
11435 of non-packed slices, since the dereference action generated by
11436 expansion of the explicit dereference is needed in any case.
11437 (Expand_N_Selected_Component): When rewriting an implicit dereference,
11438 analyze and resolve the rewritten explicit dereference so it is seen
11439 by the expander.
11440 (Insert_Dereference_Action): This procedure is now called only for the
11441 expansion of an N_Explcit_Dereference_Node. Do insert a check even for
11442 dereferences that do not come from source (including explicit
11443 dereferences resulting from rewriting implicit ones), but do not
11444 recursively insert a check for the dereference nodes contained within
11445 the check.
11446 (Insert_Dereference_Action): Clarify and correct comment.
11447
11448 2004-03-08 Paolo Bonzini <bonzini@gnu.org>
11449
11450 PR ada/14131
11451 Move language detection to the top level.
11452 * config-lang.in: Build by default.
11453
11454 2004-03-05 Robert Dewar <dewar@gnat.com>
11455
11456 * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
11457
11458 * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
11459 i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
11460 5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
11461 5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
11462 unchecked conversion to spec to avoid warnings.
11463
11464 * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
11465 to Task_ID
11466
11467 * 7stpopsp.adb: Correct casing in To_Task_ID call
11468
11469 * a-strsea.ads, a-strsea.adb: Minor reformatting
11470
11471 * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
11472
11473 * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
11474 Adjust Max_Msg_Length to be clearly large enough.
11475
11476 * fe.h: Define In_Same_Source_Unit
11477
11478 * osint.adb: Add pragma Warnings Off to suppress warnings
11479 * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
11480 aliasing warnings.
11481
11482 * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
11483
11484 * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
11485
11486 * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
11487
11488 * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
11489
11490 * sem_prag.adb: Implement pragma No_Strict_Aliasing.
11491
11492 * sinfo.ads: Remove obsolete comment on validate unchecked conversion
11493 node. We now do generate them for gcc back end.
11494
11495 * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
11496 warning.
11497
11498 * sinput-c.adb: Fix bad name in header.
11499 Add pragma Warnings Off to suppress aliasing warning.
11500
11501 * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
11502
11503 * snames.h, snames.ads, snames.adb: Add entry for pragma
11504 No_Strict_Aliasing.
11505
11506 2004-03-05 Vincent Celier <celier@gnat.com>
11507
11508 * prj-com.ads: Add hash table Files_Htable to check when a file name
11509 is already a source of another project.
11510
11511 * prj-nmsc.adb (Record_Source): Before recording a new source, check
11512 if its file name is not already a source of another project. Report an
11513 error if it is.
11514
11515 * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
11516 source file name, call gnatpp with all the sources of the main project.
11517
11518 * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
11519 of file names.
11520
11521 * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
11522 NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
11523 /RUNTIME_SYSTEM=, converted to --RTS=
11524 /NOTABS, converted to -notabs
11525
11526 2004-03-05 Pascal Obry <obry@gnat.com>
11527
11528 * make.adb: Minor reformatting.
11529
11530 2004-03-05 Ed Schonberg <schonberg@gnat.com>
11531
11532 Part of implemention of AI-262.
11533 * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
11534
11535 * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
11536 procedure.
11537
11538 * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
11539 when component type is a partially constrained class-wide subtype.
11540 (Constrain_Discriminated_Type): If parent type has unknown
11541 discriminants, a constraint is illegal, even if full view has
11542 discriminants.
11543 (Build_Derived_Record_Type): Inherit discriminants when deriving a type
11544 with unknown discriminants whose full view is a discriminated record.
11545
11546 * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
11547 flag, to handle properly derivations of tagged types with unknown
11548 discriminants.
11549 (Analyze_Package_Spec, Analyze_Package_Body): Install
11550 Private_With_Clauses before analyzing private part or body.
11551
11552 * einfo.ads: Indicate that both Has_Unknown_Discriminants and
11553 Has_Discriminants can be true for a given type (documentation).
11554
11555 2004-03-05 Arnaud Charlet <charlet@act-europe.fr>
11556
11557 * s-restri.ads: Fix license (GPL->GMGPL).
11558
11559 * s-tassta.adb: Minor reformatting.
11560
11561 * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
11562 by calls to Exit_One_ATC_Level, since additional clean up is performed
11563 by this function.
11564
11565 * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
11566 by calls to Exit_One_ATC_Level, since additional clean up is performed
11567 by this function.
11568
11569 2004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11570
11571 * trans.c: Reflect GCC changes to fix bootstrap problem.
11572 Add warning for suspicious aliasing unchecked conversion.
11573
11574 2004-03-05 GNAT Script <nobody@gnat.com>
11575
11576 * Make-lang.in: Makefile automatically updated
11577
11578 2004-03-02 Emmanuel Briot <briot@act-europe.fr>
11579
11580 * ali.adb (Read_Instantiation_Instance): Do not modify the
11581 current_file_num when reading information about instantiations, since
11582 this corrupts files in later references.
11583
11584 2004-03-02 Vincent Celier <celier@gnat.com>
11585
11586 * bcheck.adb (Check_Consistency): Get the full path of an ALI file
11587 before checking if it is read-only.
11588
11589 * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
11590 of SRC_DIRS and eliminate duplicates.
11591
11592 * gprcmd.adb: Replace command "path" with command "path_sep" to return
11593 the path separator.
11594 (Usage): Document path_sep
11595
11596 * Makefile.generic: For Ada and GNU C++ cases, link directly with the
11597 C++ compiler. No need for a script.
11598 Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
11599 Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
11600 subst.
11601
11602 * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
11603 where there are Ada sources.
11604 (Set_Ada_Paths): Only add to the include path the source dirs of project
11605 with Ada sources.
11606 (Add_To_Path): Add the Display_Values of the directories, not their
11607 Values.
11608
11609 * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
11610 data.
11611
11612 * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
11613 is not No_Name.
11614 (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
11615 Value is canonicalized.
11616 (Language_Independent_Check): Do not copy Value to Display_Value when
11617 canonicalizing Value.
11618
11619 * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
11620 path to find limited with cycles.
11621 (Parse_Single_Project): Use canonical cased path to find the end of a
11622 with cycle.
11623
11624 2004-03-02 Ed Schonberg <schonberg@gnat.com>
11625
11626 * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
11627 and not a child unit.
11628
11629 * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
11630 appear in a with_clause.
11631
11632 * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
11633 only happen in type_annotate mode, do not try to elaborate it.
11634
11635 * exp_util.adb (Force_Evaluation): If expression is a selected
11636 component on the left of an assignment, use a renaming rather than a
11637 temporary to remove side effects.
11638
11639 * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
11640 inlined instance body, which is analyzed before the end of the
11641 enclosing scope.
11642
11643 2004-03-02 Robert Dewar <dewar@gnat.com>
11644
11645 * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
11646 sem_ch4.adb: Use new feature for substitution of keywords in VMS
11647
11648 * errout.ads, errout.adb: Implement new circuit for substitution of
11649 keywords in VMS.
11650
11651 * sem_case.adb (Analyze_Choices): Place message properly when case is
11652 a subtype reference rather than an explicit range.
11653
11654 * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
11655
11656 2004-03-02 Doug Rupp <rupp@gnat.com>
11657
11658 * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
11659
11660 2004-03-02 Thomas Quinot <quinot@act-europe.fr>
11661
11662 * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
11663
11664 2004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11665
11666 * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
11667 BLKmode bitfield.
11668
11669 2004-02-25 Robert Dewar <dewar@gnat.com>
11670
11671 * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
11672 55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
11673 5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
11674 5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
11675 5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
11676 5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
11677 the defining instance of the type to avoid aliasing problems.
11678 Fix copyright header. Fix bad comments in package header.
11679
11680 * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
11681
11682 2004-02-25 Ed Schonberg <schonberg@gnat.com>
11683
11684 * exp_ch2.adb (Param_Entity): Handle properly formals that have been
11685 rewritten as references when aliased through an address clause.
11686
11687 * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
11688 whether call can be interpreted as an indirect call to the result of a
11689 parameterless function call returning an access subprogram.
11690
11691 2004-02-25 Arnaud Charlet <charlet@act-europe.fr>
11692
11693 Code clean up:
11694 * exp_ch7.adb (Make_Clean): Remove generation of calls to
11695 Unlock[_Entries], since this is now done by Service_Entries directly.
11696
11697 * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
11698
11699 * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
11700 Requeue_Call for better code readability. Change spec and update calls:
11701 PO_Service_Entries now unlock the PO on exit.
11702 (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
11703 PO_Service_Entries.
11704
11705 * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
11706
11707 * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
11708
11709 2004-02-25 Sergey Rybin <rybin@act-europe.fr>
11710
11711 * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
11712 protected subprogram call and analyzing the result of such expanding
11713 in case when the called protected subprogram is eliminated.
11714
11715 * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
11716 names.
11717
11718 2004-02-25 Jerome Guitton <guitton@act-europe.fr>
11719
11720 * Makefile.in: Clean ups.
11721
11722 2004-02-23 Ed Schonberg <schonberg@gnat.com>
11723
11724 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
11725 protected operations if original subprogram is flagged as eliminated.
11726 (Expand_N_Subprogram_Body): For a protected operation, create
11727 discriminals for next operation before checking whether the operation
11728 is eliminated.
11729
11730 * exp_ch9.adb (Expand_N_Protected_Body,
11731 Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
11732 for internal protected operations if the original subprogram is
11733 eliminated.
11734
11735 * sem_elim.adb (Check_Eliminated): Handle properly protected operations
11736 declared in a single protected object.
11737
11738 2004-02-23 Vincent Celier <celier@gnat.com>
11739
11740 * prj-attr.adb: Make attribute Builder'Executable an associative array,
11741 case insensitive if file names are case insensitive, instead of a
11742 standard associative array.
11743
11744 * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
11745 them as case insensitive on platforms where the file names are case
11746 sensitive.
11747
11748 * prj-part.adb (Parse_Single_Project): Make sure, when checking if
11749 project file has already been parsed that canonical path are compared.
11750
11751 2004-02-23 Robert Dewar <dewar@gnat.com>
11752
11753 * sinput-c.ads: Correct bad unit title in header
11754
11755 * freeze.adb: Minor reformatting
11756
11757 2004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11758
11759 * trans.c (tree_transform, case N_Procedure_Call_Statement): For
11760 nonaddressable COMPONENT_REF that is removing padding that we are
11761 taking the address of, take the address of the padded record instead
11762 if item is variable size.
11763
11764 2004-02-20 Robert Dewar <dewar@gnat.com>
11765
11766 * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
11767
11768 2004-02-20 Ed Schonberg <schonberg@gnat.com>
11769
11770 * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
11771 itype references for the constrained designated type of a component
11772 whose base type is already frozen.
11773
11774 2004-02-20 Arnaud Charlet <charlet@act-europe.fr>
11775
11776 * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
11777 avoid GCC warnings.
11778
11779 2004-02-20 Sergey Rybin <rybin@act-europe.fr>
11780
11781 * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
11782 identifier for a phantom package that rewrites the formal package
11783 declaration with a box. The Add semantic decorations for the defining
11784 identifier from the original node (that represents the formal package).
11785
11786 2004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
11787
11788 * Make-lang.in (ada/stamp-sdefault): Use the top level
11789 move-if-change.
11790
11791 2004-02-19 Richard Henderson <rth@redhat.com>
11792
11793 * misc.c (record_code_position): Add third build arg for RTL_EXPR.
11794
11795 2004-02-18 Emmanuel Briot <briot@act-europe.fr>
11796
11797 * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
11798 Scan_ALI can be used for multiple ALI files without reinitializing
11799 between calls.
11800
11801 2004-02-18 Robert Dewar <dewar@gnat.com>
11802
11803 * debug.adb: Minor reformatting.
11804
11805 2004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11806
11807 * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
11808 to zero if there is an address clause.
11809
11810 2004-02-18 Thomas Quinot <quinot@act-europe.fr>
11811
11812 * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
11813
11814 2004-02-18 Gary Dismukes <dismukes@gnat.com>
11815
11816 * layout.adb (Layout_Component_List): Revise generation of call to
11817 discriminant-checking function to pass selections of all of the type's
11818 discriminants rather than just the variant-controlling discriminant.
11819
11820 2004-02-18 Olivier Hainque <hainque@act-europe.fr>
11821
11822 * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
11823 fail in the current setup and triggers spurious system error messages.
11824 Pretend it occurred and failed instead.
11825
11826 2004-02-18 Vincent Celier <celier@gnat.com>
11827
11828 * bld.adb: Mark FLDFLAGS as saved
11829 (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
11830 it is not the root project. Put each directory to be
11831 extended between double quotes to prevent it to be expanded on Windows.
11832 (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
11833 the project file. Set them back to their initial values if they have not
11834 been set in the project file.
11835
11836 * gprcmd.adb: (Gprdebug, Debug): New global variables
11837 (Display_Command): New procedure
11838 (Usage): Document new command "linkopts"
11839 Call Display_Command when env var GPRDEBUG has the value "TRUE"
11840 Implement new command "linkopts"
11841 Remove quotes that may be around arguments for "extend"
11842 Always call Normalize_Pathname with arguments formatted for the platform
11843
11844 * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
11845 Change @echo to @$(display) in target clean to be able to clean silently
11846
11847 * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
11848
11849 * prj-part.adb (Project_Path_Name_Of): Do not put final result in
11850 canonical case.
11851
11852 * prj-part.adb (Parse_Single_Project): Always call with From_Extended
11853 = Extending_All when current project is an extending all project.
11854
11855 * vms_conv.adb (Output_File_Expected): New Boolean global variable,
11856 set to True only for LINK command, after Unix switch -o.
11857 (Process_Arguments): Set Output_File_Expected to True for LINK command
11858 after Unix switch -o. When Output_File_Expected is True, never add an
11859 extension to a file name.
11860
11861 * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
11862 option file name, only to the --for-linker= switch.
11863 (Option_File_Name): If option file name do not end with ".opt", append
11864 "/OPTIONS".
11865
11866 2004-02-18 GNAT Script <nobody@gnat.com>
11867
11868 * Make-lang.in: Makefile automatically updated
11869
11870 2004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
11871
11872 * Make-lang.in (stamp-sdefault): Do not depend on
11873 move-if-change.
11874
11875 2004-02-12 Zack Weinberg <zack@codesourcery.com>
11876
11877 * config-lang.in: Disable Ada by default until probe logic for
11878 a bootstrap Ada compiler can be moved to the top level configure
11879 script.
11880
11881 2004-02-12 Olivier Hainque <hainque@act-europe.fr>
11882
11883 * decl.c (components_to_record): Don't claim that the internal fields
11884 we make to hold the variant parts are semantically addressable, because
11885 they are not.
11886
11887 * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
11888 adjust the comment describing the modular type form when we can use it.
11889 (Install_PAT): Account for the Esiz renaming.
11890
11891 * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
11892 sc_onstack context indication before raising the exception to which
11893 the signal is mapped. Allows better handling of later signals possibly
11894 triggered by the resumed user code if the exception is handled.
11895
11896 2004-02-12 Arnaud Charlet <charlet@act-europe.fr>
11897
11898 * 5zinit.adb: Removed, no longer used.
11899
11900 2004-02-12 Robert Dewar <dewar@gnat.com>
11901
11902 * ali.adb: Remove separating space between parameters on R line. Makes
11903 format consistent with format used by the binder for Set_Globals call.
11904
11905 * atree.ads, atree.adb: Minor reformatting (new function header format)
11906
11907 * bindgen.adb: Add Run-Time Globals documentation section containing
11908 detailed documentation of the globals passed from the binder file to
11909 the run time.
11910
11911 * gnatls.adb: Minor reformatting
11912
11913 * init.c (__gnat_set_globals): Add note pointing to documentation in
11914 bindgen.
11915
11916 * lib-writ.ads, lib-writ.adb: Remove separating space between
11917 parameters on R line.
11918 Makes format consistent with format used by the binder for Set_Globals
11919 call.
11920
11921 * osint.ads: Add 2004 to copyright notice
11922 Minor reformatting
11923
11924 * snames.ads: Correct capitalization of FIFO_Within_Priorities
11925 Noticed during code reading, documentation issue only
11926
11927 * usage.adb: Remove junk line for obsolete C switch
11928 Noticed during code reading
11929
11930 2004-02-12 Vincent Celier <celier@gnat.com>
11931
11932 * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
11933 extend for each directory, so that multiple /** directories are
11934 extended individually.
11935 (Recursive_Process): Set the default for LANGUAGES to ada
11936
11937 * gprcmd.adb: Define new command "ignore", to do nothing.
11938 Implement new comment "path".
11939
11940 * Makefile.generic: Suppress output when SILENT is set
11941 Make sure that when compiler for C/C++ is gcc, the correct -x switch is
11942 used, so that the correct compiler is invoked.
11943 When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
11944 CXX_INCLUDE_PATH, to avoid failure with too long command lines.
11945
11946 2004-02-12 Jerome Guitton <guitton@act-europe.fr>
11947
11948 * Makefile.in: Clean ups and remove obsolete targets.
11949
11950 2004-02-12 Ed Schonberg <schonberg@gnat.com>
11951
11952 * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
11953 predicate declared in exp_util.
11954
11955 * exp_util.adb: Add comments.
11956
11957 * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
11958 visibility before compiling context of the subunit.
11959
11960 * sem_res.adb (Check_Parameterless_Call): If the context expects a
11961 value but the name is a procedure, do not attempt to analyze as a call,
11962 in order to obtain more telling diagnostics.
11963
11964 * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
11965 'Access on parameterless function calls.
11966 (Normalize_Actuals): For a parameterless function call with missing
11967 actuals, defer diagnostic until resolution of enclosing call.
11968
11969 * sem_util.adb (Wrong_Type): If the context type is an access to
11970 subprogram and the expression is a procedure name, suggest a missing
11971 'attribute.
11972
11973 2004-02-10 Arnaud Charlet <charlet@act-europe.fr>,
11974 Nathanael Nerode <neroden@gcc.gnu.org>
11975
11976 PR ada/6637, PR ada/5911
11977 Merge with libada-branch:
11978 * config-lang.in: Build libada only when ada is built.
11979
11980 2004-02-09 Ed Schonberg <schonberg@gnat.com>
11981
11982 * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
11983 for a tagged type, verify that both formals have the same type.
11984
11985 * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
11986 temporary when the formal is an in-parameter and the actual a possibly
11987 unaligned slice.
11988
11989 * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
11990 when expansion is disabled, to ensure proper name capture with
11991 overloaded literals. Condition can be of any boolean type, resolve
11992 accordingly.
11993
11994 * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
11995 renaming is for a formal subprogram with a default operator name, and
11996 there is a usable operator that is visible at the point of
11997 instantiation.
11998
11999 2004-02-09 Robert Dewar <dewar@gnat.com>
12000
12001 * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
12002 rewrite to ignore errors in ali files, intended to allow tools downward
12003 compatibility with new versions of ali files.
12004
12005 * ali.ads: Add new parameter Ignore_Errors
12006
12007 * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
12008 duplicating the error message giving the file with restrictions.
12009
12010 * debug.adb: Add debug flag I for gnatbind
12011
12012 * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
12013 operators for the case where the operator is a defining operator.
12014
12015 * exp_ch3.adb: Minor reformatting (new function spec format).
12016
12017 * exp_ch4.adb: Add comment for previous change, and make minor
12018 adjustment to loop to always check for improper loop termination.
12019 Minor reformatting throughout (new function spec format).
12020
12021 * gnatbind.adb: Implement -di debug flag for gnatbind
12022
12023 * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
12024
12025 * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
12026
12027 * lib-load.adb: Fix bad assertion.
12028 Found by testing and code reading.
12029 Minor reformatting.
12030
12031 * lib-load.ads: Minor reformatting.
12032
12033 * lib-writ.adb: There is only one R line now.
12034
12035 * lib-writ.ads: Add documentation on making downward compatible changes
12036 to ali files so old tools work with new ali files.
12037 There is only one R line now.
12038 Add documentation on format incompatibilities (with special GPS note)
12039
12040 * namet.ads, namet.adb: (Is_Operator_Name): New procedure
12041
12042 * par-load.adb: Minor reformatting
12043
12044 * sem_ch8.adb: Fix to error message from last update
12045 Minor reformatting and restructuring of code from last update
12046
12047 * par-prag.adb, snames.adb, snames.ads, snames.h,
12048 sem_prag.adb: Implement pragma Profile.
12049
12050 * stylesw.adb: Implement -gnatyN switch to turn off all style check
12051 options.
12052
12053 * usage.adb: Add line for -gnatyN switch
12054
12055 * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
12056
12057 2004-02-09 Albert Lee <lee@gnat.com>
12058
12059 * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
12060
12061 2004-02-09 Ed Schonberg <schonberg@gnat.com>
12062
12063 * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
12064 slices.
12065
12066 * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
12067 is nested in an instance that is not frozen yet, to avoid
12068 order-of-elaboration problems in gigi.
12069
12070 * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
12071 body the attribute is legal.
12072
12073 2004-02-09 Robert Dewar <dewar@gnat.com>
12074
12075 * s-rident.ads: Minor comment correction
12076
12077 * targparm.adb: Remove dependence on uintp completely. There was
12078 always a bug in Make in that it called Targparm before initializing
12079 the Uint package. The old code appeared to get away with this, but
12080 the new code did not! This caused an assertion error in gnatmake.
12081
12082 * targparm.ads: Fix bad comment, restriction pragmas with parameters
12083 are indeed fully supported.
12084
12085 2004-02-06 Alan Modra <amodra@bigpond.net.au>
12086
12087 * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
12088
12089 2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
12090
12091 * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
12092 with targetm.calls.promote_prototypes.
12093
12094 2004-02-04 Robert Dewar <dewar@gnat.com>
12095
12096 * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
12097 ali.ads, gprcmd.adb: Minor reformatting
12098
12099 * bindgen.adb: Output restrictions string for new style restrictions
12100 handling
12101
12102 * impunit.adb: Add s-rident.ads (System.Rident) and
12103 s-restri (System.Restrictions)
12104
12105 * lib-writ.adb: Fix bug in writing restrictions string (last few
12106 entries wrong)
12107
12108 * s-restri.ads, s-restri.adb: Change name Restrictions to
12109 Run_Time_Restrictions to avoid conflict with package name.
12110 Add circuit to read and acquire run time restrictions.
12111
12112 2004-02-04 Jose Ruiz <ruiz@act-europe.fr>
12113
12114 * restrict.ads, restrict.adb: Use the new restriction
12115 No_Task_Attributes_Package instead of the old No_Task_Attributes.
12116
12117 * sem_prag.adb: No_Task_Attributes is a synonym of
12118 No_Task_Attributes_Package.
12119
12120 * snames.ads, snames.adb: New entry for proper handling of
12121 No_Task_Attributes.
12122
12123 * s-rident.ads: Adding restriction No_Task_Attributes_Package
12124 (AI-00249) that supersedes the GNAT specific restriction
12125 No_Task_Attributes.
12126
12127 2004-02-04 Ed Schonberg <schonberg@gnat.com>
12128
12129 * sem_prag.adb:
12130 (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
12131 body, an identifier may be wrapped in an unchecked conversion.
12132
12133 2004-02-04 Vincent Celier <celier@gnat.com>
12134
12135 * lib-writ.ads: Comment update for the W lines
12136
12137 * bld.adb: (Expression): An empty string list is static
12138
12139 * fname-uf.adb: Minor comment update
12140
12141 * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
12142
12143 * gnatbind.adb: Initialize Cumulative_Restrictions with the
12144 restrictions on the target.
12145
12146 2004-02-03 Kazu Hirata <kazu@cs.umass.edu>
12147
12148 * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
12149 gen_rtx.
12150
12151 2004-02-02 Arnaud Charlet <charlet@gnat.com>
12152
12153 * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
12154
12155 2004-02-02 Vincent Celier <celier@gnat.com>
12156
12157 * gprcmd.adb (Check_Args): If condition is false, print the invoked
12158 comment before the usage.
12159 Gprcmd: Fail when command is not recognized.
12160 (Usage): Document command "prefix"
12161
12162 * g-md5.adb (Digest): Process last block.
12163 (Update): Do not process last block. Store remaining characters and
12164 length in Context.
12165
12166 * g-md5.ads (Update): Document that several call to update are
12167 equivalent to one call with the concatenated string.
12168 (Context): Add fields to allow new Update behaviour.
12169
12170 * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
12171 defaulted to False.
12172 When May_Fail is True and no existing file can be found, return No_File.
12173
12174 * 6vcstrea.adb: Inlined functions are now wrappers to implementation
12175 functions.
12176
12177 * lib-writ.adb (Write_With_Lines): When body file does not exist, use
12178 spec file name instead on the W line.
12179
12180 2004-02-02 Robert Dewar <dewar@gnat.com>
12181
12182 * ali.adb: Read and acquire info from new format restrictions lines
12183
12184 * bcheck.adb: Add circuits for checking restrictions with parameters
12185
12186 * bindgen.adb: Output dummy restrictions data
12187 To be changed later
12188
12189 * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
12190 exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
12191 freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
12192 sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
12193 sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
12194
12195 * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
12196 the warning message on access to possibly uninitialized variable S)
12197 Minor changes for new restrictions handling.
12198
12199 * gnatbind.adb: Minor reformatting
12200 Minor changes for new restrictions handling
12201 Move circuit for -r processing here from bcheck (cleaner)
12202
12203 * gnatcmd.adb, gnatlink.adb: Minor reformatting
12204
12205 * lib-writ.adb: Output new format restrictions lines
12206
12207 * lib-writ.ads: Document new R format lines for new restrictions
12208 handling.
12209
12210 * s-restri.ads/adb: New files
12211
12212 * Makefile.rtl: Add entry for s-restri.ads/adb
12213
12214 * par-ch3.adb: Fix bad error messages starting with upper case letter
12215 Minor reformatting
12216
12217 * restrict.adb: Major rewrite throughout for new restrictions handling
12218 Major point is to handle restrictions with parameters
12219
12220 * restrict.ads: Major changes in interface to handle restrictions with
12221 parameters. Also generally simplifies setting of restrictions.
12222
12223 * snames.ads/adb: New entry for proper handling of No_Requeue
12224
12225 * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
12226 restriction counting.
12227 Other minor changes for new restrictions handling
12228
12229 * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
12230 Restriction_Warnings now allows full parameter notation
12231 Major rewrite of Restrictions for new restrictions handling
12232
12233 2004-02-02 Javier Miranda <miranda@gnat.com>
12234
12235 * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
12236 syntax rule for object renaming declarations.
12237 (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
12238 component definitions.
12239
12240 * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
12241 components.
12242 (Array_Type_Declaration): Give support to access components. In addition
12243 it was also modified to reflect the name of the object in anonymous
12244 array types. The old code did not take into account that it is possible
12245 to have an unconstrained anonymous array with an initial value.
12246 (Check_Or_Process_Discriminants): Allow access discriminant in
12247 non-limited types.
12248 (Process_Discriminants): Allow access discriminant in non-limited types
12249 Initialize the new Access_Definition field in N_Object_Renaming_Decl
12250 node. Change Ada0Y to Ada 0Y in comments
12251
12252 * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
12253 equality operators.
12254 Change Ada0Y to Ada 0Y in comments
12255
12256 * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
12257 renamings Change Ada0Y to Ada 0Y in comments
12258
12259 * sem_type.adb (Find_Unique_Type): Give support to the equality
12260 operators for universal access types
12261 Change Ada0Y to Ada 0Y in comments
12262
12263 * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
12264
12265 * sinfo.ads (N_Component_Definition): Addition of Access_Definition
12266 field.
12267 (N_Object_Renaming_Declaration): Addition of Access_Definition field
12268 Change Ada0Y to Ada 0Y in comments
12269
12270 * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
12271 component definition and object renaming nodes
12272 Change Ada0Y to Ada 0Y in comments
12273
12274 2004-02-02 Jose Ruiz <ruiz@act-europe.fr>
12275
12276 * restrict.adb: Use the new restriction identifier
12277 No_Requeue_Statements instead of the old No_Requeue for defining the
12278 restricted profile.
12279
12280 * sem_ch9.adb (Analyze_Requeue): Check the new restriction
12281 No_Requeue_Statements.
12282
12283 * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
12284 that supersedes the GNAT specific restriction No_Requeue. The later is
12285 kept for backward compatibility.
12286
12287 2004-02-02 Ed Schonberg <schonberg@gnat.com>
12288
12289 * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
12290 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
12291 pragma and fix incorrect ones.
12292
12293 * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
12294 warning if the pragma is redundant.
12295
12296 2004-02-02 Thomas Quinot <quinot@act-europe.fr>
12297
12298 * 5staprop.adb: Add missing 'constant' keywords.
12299
12300 * Makefile.in: use consistent value for SYMLIB on
12301 platforms where libaddr2line is supported.
12302
12303 2004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12304
12305 * utils.c (end_subprog_body): Do not call rest_of_compilation if just
12306 annotating types.
12307
12308 2004-02-02 Olivier Hainque <hainque@act-europe.fr>
12309
12310 * init.c (__gnat_install_handler): Setup an alternate stack for signal
12311 handlers in the environment thread. This allows proper propagation of
12312 an exception on stack overflows in this thread even when the builtin
12313 ABI stack-checking scheme is used without support for a stack reserve
12314 region.
12315
12316 * utils.c (create_field_decl): Augment the head comment about bitfield
12317 creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
12318 here, because the former is not accurate enough at this point.
12319 Let finish_record_type decide instead.
12320 Don't make a bitfield if the field is to be addressable.
12321 Always set a size for the field if the record is packed, to ensure the
12322 checks for bitfield creation are triggered.
12323 (finish_record_type): During last pass over the fields, clear
12324 DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
12325 not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P
12326 from DECL_BIT_FIELD.
12327
12328 2004-01-30 Kelley Cook <kcook@gcc.gnu.org>
12329
12330 * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
12331 (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
12332 (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
12333
12334 2004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12335
12336 * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
12337
12338 * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
12339 (ZCX_By_Default): Likewise.
12340 (Front_End_ZCX_Support): Likewise.
12341
12342 * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
12343 (Initialize_Lock): Mark Level unreferenced.
12344 (Sleep): Mark Reason unreferenced.
12345 (Timed_Sleep): Likewise.
12346 (Wakeup): Likewise.
12347 (Exit_Task): Use Result.
12348 (Check_No_Locks): Mark Self_ID unreferenced.
12349
12350 * 5gtasinf.adb (New_Sproc): Make Attr constant.
12351 (Bound_Thread_Attributes): Make Sproc constant.
12352 (New_Bound_Thread_Attributes): Likewise.
12353
12354 2004-01-26 Ed Schonberg <schonberg@gnat.com>
12355
12356 * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
12357 one-dimensional array an slice assignments, when component type is
12358 controlled.
12359
12360 * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
12361 component type is controlled, and control_actions are in effect, use
12362 TSS procedure rather than generating inline code.
12363
12364 * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
12365 arrays with controlled components.
12366
12367 2004-01-26 Vincent Celier <celier@gnat.com>
12368
12369 * gnatcmd.adb (GNATCmd): Add specification of argument file on the
12370 command line for the non VMS case.
12371
12372 * gnatlink.adb (Process_Binder_File): When building object file, if
12373 GNU linker is used, put all object paths between quotes, to prevent ld
12374 error when there are unusual characters (such as '!') in the paths.
12375
12376 * Makefile.generic: When there are sources in Ada and the main is in
12377 C/C++, invoke gnatmake with -B, instead of -z.
12378
12379 * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
12380 from VMS_Conversion.
12381 (Process_Argument): New procedure, extracted from VMS_Conversion. Add
12382 specification of argument file on the command line.
12383
12384 2004-01-26 Bernard Banner <banner@gnat.com>
12385
12386 * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
12387
12388 2004-01-26 Ed Schonberg <schonberg@gnat.com>
12389
12390 * snames.adb: Update copyright notice.
12391 Add info on slice assignment for controlled arrays.
12392
12393 2004-01-23 Robert Dewar <dewar@gnat.com>
12394
12395 * exp_aggr.adb: Minor reformatting
12396
12397 * exp_ch9.adb: Minor code clean up
12398 Minor reformatting
12399 Fix bad character in comment
12400
12401 PR ada/13471
12402 * targparm.adb (Get_Target_Parameters): Give clean abort error on
12403 unexpected end of file, along with more detailed message.
12404
12405 2004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12406
12407 * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
12408 PAT.
12409
12410 * decl.c (copy_alias_set): New function.
12411 (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
12412
12413 2004-01-23 Doug Rupp <rupp@gnat.com>
12414
12415 * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
12416 lib$${file} in case subsequent character is not a separator.
12417
12418 2004-01-23 Vincent Celier <celier@gnat.com>
12419
12420 * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
12421 when the GCC version is at least 3.
12422
12423 * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
12424 Remove all "Opt.", to prepare for opt split
12425
12426 * prj-part.adb (Parse_Single_Project): New Boolean out parameter
12427 Extends_All. Set to True when the project parsed is an extending all
12428 project. Fails for importing an extending all project only when the
12429 imported project is an extending all project.
12430 (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
12431 depending on the value of Extends_All returned.
12432
12433 * prj-proc.adb (Process): Check that no project shares its object
12434 directory with a project that extends it, directly or indirectly,
12435 including a virtual project.
12436 Check that no project extended by another project shares its object
12437 directory with another also extended project.
12438
12439 * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
12440 Kind = N_With_Clause
12441
12442 * prj-tree.ads: Minor reformatting
12443 Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
12444
12445 2004-01-23 Ed Schonberg <schonberg@gnat.com>
12446
12447 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
12448 applies to a type with an incomplete view, use full view in Name of
12449 clause, for consistency with uses of Get_Attribute_Definition_Clause.
12450
12451 2004-01-23 Arnaud Charlet <charlet@act-europe.fr>
12452
12453 * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
12454 SCHED_RR, since other values are not supported by this policy.
12455 (Initialize): Move initialization of mutex attribute to package
12456 elaboration, to prevent early access to this variable.
12457
12458 * Makefile.in: Remove mention of Makefile.adalib, unused.
12459
12460 * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
12461 1ssecsta.ads: Removed, unused.
12462
12463 2004-01-21 Javier Miranda <miranda@gnat.com>
12464
12465 * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
12466 entity if already built in the current scope.
12467
12468 * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
12469 reminder in internal scopes. Required for nested limited aggregates.
12470
12471 2004-01-21 Doug Rupp <rupp@gnat.com>
12472
12473 * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
12474 VMS. Replace all occurences of libgnat- and libgnarl- with
12475 libgnat$(hyphen) and libgnarl$(hyphen).
12476 Fixed shared library build problem on VMS.
12477
12478 2004-01-21 Robert Dewar <dewar@gnat.com>
12479
12480 * mlib-prj.adb: Minor reformatting
12481
12482 2004-01-21 Thomas Quinot <quinot@act-europe.fr>
12483
12484 * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
12485 'constant' keywords for declaration of pointers that are not modified.
12486
12487 * exp_pakd.adb: Fix English in comment.
12488
12489 2004-01-21 Ed Schonberg <schonberg@gnat.com>
12490
12491 PR ada/10889
12492 * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
12493 copy all attributes of the parent, including the foreign language
12494 convention.
12495
12496 2004-01-21 Sergey Rybin <rybin@act-europe.fr>
12497
12498 PR ada/10565
12499 * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
12500 for 'delay until' statement.
12501
12502 2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
12503
12504 * Make-lang.in: Replace $(docdir) with doc.
12505 (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
12506 doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
12507 to use consistent MAKEINFO rule.
12508 (ada.man, ada.srcman): Dummy entry.
12509 (ADA_INFOFILES): Define.
12510 (ada.info, ada.srcinfo): New rules.
12511
12512 2004-01-19 Arnaud Charlet <charlet@act-europe.fr>
12513
12514 * utils.c: Update copyright notice, missed in previous change.
12515
12516 2004-01-19 Vincent Celier <celier@gnat.com>
12517
12518 * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
12519 args if Bind is True. Set First_ALI, if not already done.
12520 (Build_Library): For Stand Alone Libraries, extract from one ALI file
12521 an eventual --RTS switch, for gnatbind, and all backend switches +
12522 --RTS, for linking.
12523
12524 2004-01-19 Robert Dewar <dewar@gnat.com>
12525
12526 * sem_attr.adb, memtrack.adb: Minor reformatting
12527
12528 2004-01-19 Ed Schonberg <schonberg@gnat.com>
12529
12530 * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
12531 that rename enumeration literals. This is properly done in sem_eval.
12532
12533 * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
12534 to functions that rename enumeration literals.
12535
12536 * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
12537 functions that rename enumeration literals.
12538
12539 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
12540
12541 * Make-lang.in (utils.o): Depend on target.h.
12542 * utils.c: Include target.h.
12543 (process_attributes): Use targetm.have_named_sections instead
12544 of ASM_OUTPUT_SECTION_NAME.
12545
12546 2004-01-16 Andreas Jaeger <aj@suse.de>
12547
12548 * Makefile.in: Add $(DESTDIR).
12549
12550 2004-01-15 Olivier Hainque <hainque@act-europe.fr>
12551
12552 * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
12553 also when not defining if a Size clause applies. That information is
12554 not to be ignored.
12555
12556 2004-01-15 Arnaud Charlet <charlet@act-europe.fr>
12557
12558 * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
12559 symbolic links for the shared gnat run time when needed.
12560
12561 2004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr>
12562
12563 * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
12564 for writing, and terminate with an error message if not.
12565
12566 2004-01-15 Ed Schonberg <schonberg@gnat.com>
12567
12568 * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
12569 warning on an access to subprogram in an instance, when the target
12570 type is declared in the same generic unit.
12571 (Eval_Attribute): If 'access is known to fail accessibility check,
12572 rewrite as a raise statement.
12573
12574 2004-01-15 GNAT Script <nobody@gnat.com>
12575
12576 * Make-lang.in: Makefile automatically updated
12577
12578 2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
12579
12580 * Make-lang.in (ada.srcextra): Dummy entry.
12581
12582 2004-01-14 Kelley Cook <kcook@gcc.gnu.org>
12583
12584 * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
12585
12586 2004-01-13 Ed Schonberg <schonberg@gnat.com>
12587
12588 * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
12589 components that are initialized with aggregates.
12590
12591 2004-01-13 Vincent Celier <celier@gnat.com>
12592
12593 * gnatlink.adb (Process_Binder_File): To find directory of shared
12594 libgcc, if "gcc-lib" is not a subdirectory, look for the last
12595 subdirectory "lib" in the path of the shared libgnat or libgnarl.
12596
12597 * make.adb (Gnatmake): If GCC version is at least 3, link with
12598 -shared-libgcc, when there is at least one shared library project.
12599
12600 * opt.ads (GCC_Version): New integer constant.
12601
12602 * adaint.c (get_gcc_version): New function.
12603
12604 2004-01-13 Robert Dewar <dewar@gnat.com>
12605
12606 * sem_dist.adb, sem_res.adb, sem_util.adb,
12607 sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
12608 exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
12609
12610 2004-01-13 Thomas Quinot <quinot@act-europe.fr>
12611
12612 * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
12613 g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
12614 declarations.
12615
12616 2004-01-12 Arnaud Charlet <charlet@act-europe.fr>
12617
12618 * misc.c: Remove trailing spaces.
12619 Update copyright notice missed in previous change.
12620
12621 PR ada/13572
12622 * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
12623 prefix/share/make
12624
12625 * Makefile.generic: Update copyright.
12626 Add license notice.
12627
12628 * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
12629 of prefix/share/make.
12630
12631 * Makefile.prolog: Update copyright.
12632 Add license notice.
12633
12634 2004-01-12 Laurent Pautet <pautet@act-europe.fr>
12635
12636 * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
12637 3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
12638 g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
12639 instead of String.
12640
12641 * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
12642 signature.
12643
12644 2004-01-12 Javier Miranda <miranda@gnat.com>
12645
12646 * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
12647 exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
12648 sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
12649 sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
12650 Component_Definition node.
12651
12652 2004-01-12 Ed Falis <falis@gnat.com>
12653
12654 * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
12655
12656 2004-01-12 Thomas Quinot <quinot@act-europe.fr>
12657
12658 * link.c: Change default libgnat kind to STATIC for FreeBSD.
12659
12660 2004-01-12 Bernard Banner <banner@gnat.com>
12661
12662 * Makefile.in: map 86numaux to a-numaux for x86_64
12663
12664 2004-01-12 Ed Schonberg <schonberg@gnat.com>
12665
12666 * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
12667 generated to rename a generic actual, go to the actual itself, the
12668 subtype is not a user-visible entity.
12669
12670 * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
12671 part is a private subtype, reset the visibility of its full view, if
12672 any, to be consistent.
12673
12674 PR ada/13417
12675 * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
12676 to use a generic package G as a formal package for another generic
12677 declared within G.
12678
12679 2004-01-12 Robert Dewar <dewar@gnat.com>
12680
12681 * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
12682
12683 * usage.adb: Remove mention of obsolete -gnatwb switch
12684 Noticed during code reading
12685
12686 2004-01-12 Jerome Guitton <guitton@act-europe.fr>
12687
12688 * 1ssecsta.adb: Minor changes for -gnatwa warnings
12689
12690 2004-01-12 GNAT Script <nobody@gnat.com>
12691
12692 * Make-lang.in: Makefile automatically updated
12693
12694 2004-01-09 Mark Mitchell <mark@codesourcery.com>
12695
12696 * misc.c (gnat_expand_expr): Add alt_rtl parameter.
12697
12698 2004-01-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12699
12700 * link.c [sgi] (shared_libgnat_default): Change to STATIC.
12701
12702 2004-01-05 Kelley Cook <kcook@gcc.gnu.org>
12703
12704 * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
12705 Update comment and copyright date.
12706 * stamp-xgnatug: Delete.
12707
12708 2004-01-05 Robert Dewar <dewar@gnat.com>
12709
12710 * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
12711 be modified by the binder generated main program if the -D switch is
12712 used.
12713
12714 * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
12715 imported functions (since now we expect this to be done for imported
12716 functions)
12717
12718 * 5vtaprop.adb: Add several ??? for sections requiring more comments
12719 Minor reformatting throughout
12720
12721 * 5zinit.adb: Minor reformatting
12722 Add 2004 to copyright date
12723 Minor changes to avoid -gnatwa warnings
12724 Correct some instances of using OR instead of OR ELSE (noted while
12725 doing reformatting)
12726
12727 * sprint.adb: Minor updates to avoid -gnatwa warnings
12728
12729 * s-secsta.ads, s-secsta.adb:
12730 (SS_Get_Max): New function to obtain high water mark for ss stack
12731 Default_Secondary_Stack is not a constant since it may be modified by
12732 the binder generated main program if the -D switch is used.
12733
12734 * switch-b.adb: New -Dnnn switch for binder
12735
12736 * switch-c.adb:
12737 Make -gnatg imply all warnings currently in -gnatwa
12738
12739 * vms_conv.adb: Minor reformatting
12740 Add 2004 to copyright notice
12741 Add 2004 to printed copyright notice
12742
12743 * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
12744 3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
12745 5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
12746 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
12747 5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
12748 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
12749 5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
12750 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
12751 5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
12752 5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
12753 6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
12754 vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
12755 xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
12756 sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
12757 checks.adb, clean.adb, cstand.adb, einfo.ads,
12758 einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
12759 exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
12760 prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
12761 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
12762 g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
12763 lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
12764 Minor reformatting and code clean ups.
12765 Minor changes to prevent -gnatwa warnings
12766
12767 * ali.adb: Minor reformatting and cleanup of code
12768 Acquire new SS indication of secondary stack use from ali files
12769
12770 * a-numaux.ads: Add Pure_Function pragmas for all imported functions
12771 (since now we expect this to be done for imported functions)
12772
12773 * bindgen.adb: Generate call to modify default secondary stack size if
12774 -Dnnn switch given
12775
12776 * bindusg.adb: Add line for new -D switch
12777
12778 * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
12779 replacement name for Type_May_Have_Non_Bit_Aligned_Components!
12780 Add circuitry for both records and arrays to avoid gigi
12781 processing if the type involved has non-bit-aligned components
12782
12783 * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
12784 N_String_Literal node always references an E_String_Literal_Subtype
12785 entity. This may not be true in the future.
12786 (Possible_Bit_Aligned_Component): Move processing of
12787 Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
12788
12789 * exp_ch6.adb (Expand_Thread_Body): Pick up
12790 Default_Secondary_Stack_Size as variable so that we get value modified
12791 by possible -Dnnn binder parameter.
12792
12793 * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
12794 (Type_May_Have_Bit_Aligned_Components): New function.
12795
12796 * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
12797 (Type_May_Have_Bit_Aligned_Components): New function.
12798
12799 * fe.h: (Set_Identifier_Casing): Fix prototype.
12800 Add declaration for Sem_Elim.Eliminate_Error_Msg.
12801 Minor reformatting.
12802
12803 * freeze.adb (Freeze_Entity): Add RM reference to error message about
12804 importing constant atomic/volatile objects.
12805 (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
12806 unless explicit Pure_Function pragma given, to avoid insidious bug of
12807 call to non-pure imported function getting eliminated.
12808
12809 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
12810 gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
12811 gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
12812 Add 2004 to printed copyright notice
12813
12814 * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
12815 stack used.
12816
12817 * Makefile.rtl: Add entry for g-sestin.o
12818 g-sestin.ads: New file.
12819
12820 * mdll.adb: Minor changes to avoid -gnatwa warnings
12821
12822 * mlib-tgt.adb: Minor reformatting
12823
12824 * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
12825 New switch Sec_Stack_Used (GNAT, GNATBIND)
12826 Make Default_Secondary_Stack_Size a variable instead of a constant,
12827 so that it can be modified by the new -Dnnn bind switch.
12828
12829 * rtsfind.adb (Load_Fail): Give full error message in configurable
12830 run-time mode if all_errors mode is set. This was not done in the case
12831 of a file not found, which was an oversight.
12832 Note if secondary stack unit is used by compiler.
12833
12834 * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
12835 ineffective elaborate all pragmas on non-visible packages (this
12836 happened when a renamed subprogram was called). Now the elaborate all
12837 always goes on the package containing the renaming rather than the one
12838 containing the renamed subprogram.
12839
12840 * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
12841 (Process_Eliminate_Pragma): Add parameter to capture pragma location.
12842
12843 * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
12844 has an Etype that references an E_String_Literal.
12845 (Eval_String_Literal): Avoid assumption that N_String_Literal node
12846 always references an E_String_Literal_Subtype entity. This may not
12847 be true in the future.
12848
12849 * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
12850 pragma location.
12851
12852 * sem_res.adb (Resolve): Specialize msg for function name used in proc
12853 call.
12854
12855 2004-01-05 Ed Falis <falis@gnat.com>
12856
12857 * g-debuti.adb: Replaced direct boolean operator with short-circuit
12858 form.
12859
12860 2004-01-05 Vincent Celier <celier@gnat.com>
12861
12862 * bld.adb: Minor comment updates
12863 (Process_Declarative_Items): Correct incorrect name (Index_Name instead
12864 of Item_Name).
12865
12866 * make.adb (Gnatmake): Special process for files to compile/check when
12867 -B is specified. Fail when there are only foreign mains in attribute
12868 Main of the project file and -B is not specified. Do not skip bind/link
12869 steps when -B is specified.
12870
12871 * makeusg.adb: Document new switch -B
12872
12873 * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
12874
12875 * switch-m.adb: (Scan_Make_Switches): Process -B switch
12876
12877 * vms_data.ads: Add new GNAT PRETTY qualifier
12878 /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
12879
12880 2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12881
12882 * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
12883 case.
12884
12885 * misc.c (gnat_printable_name): If VERBOSITY is 2, call
12886 Set_Identifier_Casing.
12887
12888 * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
12889 has size that overflows.
12890
12891 2004-01-05 Gary Dismukes <dismukes@gnat.com>
12892
12893 * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
12894 -gnatwa warning on static condition.
12895
12896 2004-01-05 Doug Rupp <rupp@gnat.com>
12897
12898 * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
12899
12900 2004-01-05 Arnaud Charlet <charlet@act-europe.fr>
12901
12902 * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
12903 all attributes, including read-only attribute.
12904
12905 2004-01-05 Pascal Obry <obry@gnat.com>
12906
12907 * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
12908 library naming scheme.
12909
12910 * mlib-prj.adb (Build_Library): Generate different names for the static
12911 or dynamic version of the GNAT runtime. This is needed to support the
12912 new shared library naming scheme.
12913 (Process_Binder_File): Add detection of shared library in binder file
12914 based on the new naming scheme.
12915
12916 * gnatlink.adb (Process_Binder_File): Properly detect the new naming
12917 scheme for the shared runtime libraries.
12918
12919 * Makefile.in:
12920 (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
12921 scheme.
12922 (install-gnatlib): Do not create symlinks for shared libraries.
12923 (gnatlib-shared-default): Idem.
12924 (gnatlib-shared-dual-win32): New target. Not used for now as the
12925 auto-import feature does not support arrays/records.
12926 (gnatlib-shared-win32): Do not create copy for the shared libraries.
12927 (gnatlib-shared-vms): Fix shared runtime libraries names.
12928
12929 * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
12930 dependent runtime shared library name.
12931
12932 2004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr>
12933
12934 * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
12935 than the object.
12936
12937 2004-01-05 Ed Schonberg <schonberg@gnat.com>
12938
12939 * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
12940 protected objects when allocator has a subtype indication, not a
12941 qualified expression. Note that qualified expressions may have to be
12942 checked when limited aggregates are implemented.
12943
12944 * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
12945 pure, emit warning.
12946 (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
12947 subprogram is imported, remove warning.
12948
12949 2004-01-05 Geert Bosch <bosch@gnat.com>
12950
12951 * s-poosiz.adb: Update copyright notice.
12952 (Allocate): Use Task_Lock to protect against concurrent access.
12953 (Deallocate): Likewise.
12954
12955 2004-01-05 Joel Brobecker <brobecker@gnat.com>
12956
12957 * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
12958 comment.
12959
12960 2003-12-23 Kelley Cook <kcook@gcc.gnu.org>
12961
12962 * gnat_ug.texi: Force a CVS commit by updating copyright.
12963 * gnat_ug_vxw.texi: Regenerate.
12964 * gnat_ug_wnt.texi: Regenerate.
12965 * gnat_ug_vms.texi: Regenerate.
12966 * gnat_ug_unx.texi: Regenerate.
12967
12968 2003-12-20 Kazu Hirata <kazu@cs.umass.edu>
12969
12970 * trans.c: Remove uses of "register" specifier in
12971 declarations of local variables.
12972
12973 2003-12-18 Kelley Cook <kcook@gcc.gnu.org>
12974
12975 * stamp-xgnatug: New stamp file.
12976 * Make-lang.in (stamp-xgnatug): New stamp file and comment.
12977 (ada/doctools/xgnatug): Add $(build_exeext).
12978 (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
12979 ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
12980
12981 2003-12-17 Ed Falis <falis@gnat.com>
12982
12983 * a-elchha.adb (Tailored_Exception_Information): made Info constant to
12984 eliminate warning.
12985
12986 * a-exextr.adb: Add context clause for
12987 Ada.Exceptions.Last_Chance_Handler.
12988
12989 2003-12-17 Sergey Rybin <rybin@act-europe.fr>
12990
12991 * cstand.adb (Create_Standard): Change the way how the declaration of
12992 the Duration type is created (making it the same way as it is for all
12993 the other standard types).
12994
12995 2003-12-17 Robert Dewar <dewar@gnat.com>
12996
12997 * s-crtl.ads: Fix header format
12998 Change Pure to Preelaborate
12999
13000 2003-12-17 Ed Schonberg <schonberg@gnat.com>
13001
13002 * checks.adb (Selected_Length_Checks): Generate an Itype reference for
13003 the expression type only if it is declared in the current unit.
13004
13005 * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
13006 are universal and already analyzed, as can occur in constrained
13007 subcomponents that depend on discriminants, when one constraint is a
13008 subtype mark.
13009
13010 * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
13011 type Any_Fixed is legal as the argument of a conversion, if only one
13012 fixed-point type is in context.
13013
13014 2003-12-17 GNAT Script <nobody@gnat.com>
13015
13016 * Make-lang.in: Makefile automatically updated
13017
13018 2003-12-15 Robert Dewar <dewar@gnat.com>
13019
13020 * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
13021 sec stack size.
13022
13023 2003-12-15 Vincent Celier <celier@gnat.com>
13024
13025 * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
13026 (Gnatchop): Do not set failure status when reporting the number of
13027 warnings.
13028
13029 2003-12-15 Doug Rupp <rupp@gnat.com>
13030
13031 * s-ctrl.ads: New file.
13032
13033 * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
13034
13035 * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
13036 (GNATBIND_OBJS): Add ada/s-crtl.o.
13037
13038 * Makefile.in [VMS]: Clean up ifeq rules.
13039
13040 * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
13041 a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
13042 g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
13043 s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
13044 s-tasdeb.adb: Update copyright.
13045 Import System.CRTL.
13046 Make minor modifications to use System.CRTL declared functions instead
13047 of importing locally.
13048
13049 2003-12-15 GNAT Script <nobody@gnat.com>
13050
13051 * Make-lang.in: Makefile automatically updated
13052
13053 2003-12-11 Ed Falis <falis@gnat.com>
13054
13055 * 5zinit.adb: Clean up.
13056
13057 * 5zintman.adb (Notify_Exception): replaced case statement with a call
13058 to __gnat_map_signal, imported from init.c to support
13059 signal -> exception mappings that depend on the vxWorks version.
13060
13061 * init.c:
13062 Created and exported __gnat_map_signal to support signal -> exception
13063 mapping that is dependent on the VxWorks version.
13064 Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
13065
13066 2003-12-11 Vasiliy Fofanv <fofanov@act-europe.fr>
13067
13068 * 5wosinte.ads: Link with -mthreads switch.
13069
13070 2003-12-11 Arnaud Charlet <charlet@act-europe.fr>
13071
13072 * init.c (__gnat_install_handler [NetBSD]): Set
13073 __gnat_handler_installed, as done on all other platforms.
13074 Remove duplicated code.
13075
13076 2003-12-11 Jerome Guitton <guitton@act-europe.fr>
13077
13078 * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
13079
13080 2003-12-11 Thomas Quinot <quinot@act-europe.fr>
13081
13082 * sinfo.ads: Fix inconsistent example code in comment.
13083
13084 2003-12-11 Robert Dewar <dewar@gnat.com>
13085
13086 * a-tiinau.adb: Add a couple of comments
13087
13088 * sem_ch3.adb: Minor reformatting
13089
13090 * sem_prag.adb:
13091 Fix bad prototype of Same_Base_Type in body (code reading cleanup)
13092 Minor reformatting throughout
13093
13094 2003-12-11 Ed Schonberg <schonberg@gnat.com>
13095
13096 * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
13097 bounds of a loop, create a separate block in order to generate proper
13098 cleanup actions to prevent memory leaks.
13099
13100 * sem_res.adb (Resolve_Call): After a call to
13101 Establish_Transient_Scope, the call may be rewritten and relocated, in
13102 which case no further processing is needed.
13103
13104 * sem_util.adb: (Wrong_Type): Refine previous fix.
13105 Fixes ACATS regressions.
13106
13107 PR ada/13353
13108
13109 * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
13110 be inlined.
13111
13112 2003-12-08 Jerome Guitton <guitton@act-europe.fr>
13113
13114 * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
13115 i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
13116 obsolete files.
13117
13118 * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
13119 (rts-zfp): Ditto.
13120
13121 2003-12-08 Robert Dewar <dewar@gnat.com>
13122
13123 * 7sintman.adb: Minor reformatting
13124
13125 * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
13126 standard linker options to get standard libraries linked. We now plan
13127 to provide dummy versions of these libraries to match the appropriate
13128 configurable run-time (e.g. if a library is not needed at all, provide
13129 a dummy empty library).
13130
13131 * targparm.ads: Configurable_Run_Time mode no longer affects linker
13132 options (-L parameters and standard libraries). What we plan to do is
13133 to provide dummy libraries where the libraries are not required.
13134
13135 * gnatbind.adb: Minor comment improvement
13136
13137 2003-12-08 Javier Miranda <miranda@gnat.com>
13138
13139 * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
13140 aggregate in the parent. Otherwise constants with limited aggregates
13141 are not supported. Add new formal to pass the component type (Ctype).
13142 It is required to call the corresponding IP subprogram in case of
13143 default initialized components.
13144 (Gen_Assign): In case of default-initialized component, generate a
13145 call to the IP subprogram associated with the component.
13146 (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
13147 of aggregate with default initialized components.
13148 (Has_Default_Init_Comps): Improve implementation to recursively check
13149 all the present expressions.
13150
13151 * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
13152 to indicate that the initialization call corresponds to a
13153 default-initialized component of an aggregate.
13154 In case of default initialized aggregate with tasks this parameter is
13155 used to generate a null string (this is just a workaround that must be
13156 improved later). In case of discriminants, this parameter is used to
13157 generate a selected component node that gives access to the discriminant
13158 value.
13159
13160 * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
13161 subprogram, based on Build_Task_Allocate_Block, but adapted to expand
13162 allocated aggregates with default-initialized components.
13163
13164 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
13165 the box notation is used in positional aggregates.
13166
13167 2003-12-08 Samuel Tardieu <tardieu@act-europe.fr>
13168
13169 * lib.ads: Fix typo in comment
13170
13171 2003-12-08 Vincent Celier <celier@gnat.com>
13172
13173 * prj.adb (Project_Empty): New component Unkept_Comments
13174 (Scan): Remove procedure; moved to Prj.Err.
13175
13176 * prj.ads (Project_Data): New Boolean component Unkept_Comments
13177 (Scan): Remove procedure; moved to Prj.Err.
13178
13179 * prj-dect.adb: Manage comments for the different declarations.
13180
13181 * prj-part.adb (With_Record): New component Node
13182 (Parse): New Boolean parameter Store_Comments, defaulted to False.
13183 Set the scanner to return ends of line and comments as tokens, if
13184 Store_Comments is True.
13185 (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
13186 comments are associated with these nodes. Store the node IDs in the
13187 With_Records.
13188 (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
13189 With_Records.
13190 (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
13191 the N_Project node. Call Tree.Save and Tree.Reset before scanning the
13192 current project. Call Tree.Restore afterwards. Set the various nodes
13193 for comment storage (Next_End, End_Of_Line, Previous_Line,
13194 Previous_End).
13195
13196 * prj-part.ads (Parse): New Boolean parameter Store_Comments,
13197 defaulted to False.
13198
13199 * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
13200 to False. When Truncated is True, truncate the string, never go to the
13201 next line.
13202 (Write_End_Of_Line_Comment): New procedure
13203 (Print): Process comments for nodes N_With_Clause,
13204 N_Package_Declaration, N_String_Type_Declaration,
13205 N_Attribute_Declaration, N_Typed_Variable_Declaration,
13206 N_Variable_Declaration, N_Case_Construction, N_Case_Item.
13207 Process nodes N_Comment.
13208
13209 * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
13210 without comments and there are some comments, set the flag
13211 Unkept_Comments to True.
13212 (Scan): If there are comments, set the flag Unkept_Comments to True and
13213 clear the comments.
13214 (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
13215 (Next_End_Nodes: New table
13216 (Comment_Zones_Of): New function
13217 (Scan): New procedure; moved from Prj. Accumulate comments in the
13218 Comments table and set end of line comments, comments after, after end
13219 and before end.
13220 (Add_Comments): New procedure
13221 (Save, Restore, Seset_State): New procedures
13222 (There_Are_Unkept_Comments): New function
13223 (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
13224 (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
13225 procedures.
13226 (First_Comment_After, First_Comment_After_End): New functions
13227 (First_Comment_Before, First_Comment_Before_End): New functions
13228 (Next_Comment): New function
13229 (End_Of_Line_Comment, Follows_Empty_Line,
13230 Is_Followed_By_Empty_Line): New functions
13231 (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
13232 (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
13233 (Set_Next_Comment): New procedure
13234 (Default_Project_Node): Associate comment before if the node can store
13235 comments.
13236
13237 * scans.ads (Token_Type): New enumeration value Tok_Comment
13238 (Comment_Id): New global variable
13239
13240 * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
13241 defaulted to False.
13242 (Scan): Store position of start of comment. If comments are tokens, set
13243 Comment_Id and set Token to Tok_Comment when scanning a comment.
13244 (Set_Comment_As_Token): New procedure
13245
13246 * sinput-p.adb: Update Copyright notice
13247 (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
13248 that no longer exists.
13249
13250 2003-12-08 Javier Miranda <miranda@gnat.com>
13251
13252 * sem_aggr.adb: Add dependence on Exp_Tss package
13253 Correct typo in comment
13254 (Resolve_Aggregate): In case of array aggregates set the estimated
13255 type of the aggregate before calling resolve. This is needed to know
13256 the name of the corresponding IP in case of limited array aggregates.
13257 (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
13258 in case of default initialized array components.
13259
13260 * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
13261 types. Required to give support to limited aggregates in generic
13262 formals.
13263
13264 2003-12-08 Ed Schonberg <schonberg@gnat.com>
13265
13266 * sem_ch3.adb (Check_Initialization): For legality purposes, an
13267 inlined body functions like an instantiation.
13268 (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
13269 until bounds are analyzed, to diagnose premature use of type.
13270
13271 * sem_util.adb (Wrong_Type): Improve error message when the type of
13272 the expression is used prematurely.
13273
13274 2003-12-08 GNAT Script <nobody@gnat.com>
13275
13276 * Make-lang.in: Makefile automatically updated
13277
13278 2003-12-08 Arnaud Charlet <charlet@act-europe.fr>
13279
13280 * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
13281 they are automatically generated by Make-lang.in and cause nothing but
13282 maintenance troubles.
13283
13284 2003-12-05 Thomas Quinot <quinot@act-europe.fr>
13285
13286 * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
13287 version of this unit).
13288
13289 2003-12-05 Olivier Hainque <hainque@act-europe.fr>
13290
13291 * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
13292 5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
13293 5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
13294 the body of System.Interrupt_Management common to several targets.
13295 Update copyright notice when appropriate.
13296
13297 * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
13298 constant.
13299
13300 * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
13301 to ensure that the kernel fills in the interrupted context structure
13302 before calling a signal handler, which is necessary to be able to
13303 unwind past it. Update the copyright notice.
13304
13305 2003-12-05 Jerome Guitton <guitton@act-europe.fr>
13306
13307 * a-elchha.ads: New file.
13308
13309 * a-elchha.adb: New default last chance handler. Contents taken from
13310 Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
13311
13312 * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
13313 is moved to a-elchha.adb to provide a target-independent default last
13314 chance handler.
13315
13316 * Makefile.rtl: Add a-elchha.o
13317
13318 * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
13319
13320 2003-12-05 Ed Schonberg <schonberg@gnat.com>
13321
13322 * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
13323 declared in an instance, do not inline the call if the instance is not
13324 frozen yet, to prevent order of elaboration problems.
13325
13326 * sem_prag.adb: Add comments for previous fix.
13327
13328 2003-12-05 Samuel Tardieu <tardieu@act-europe.fr>
13329
13330 * g-table.adb: Use the right variable in Set_Item.
13331 Update copyright notice.
13332
13333 2003-12-05 Arnaud Charlet <charlet@act-europe.fr>
13334
13335 * Makefile.in: Remove unused rules.
13336
13337 2003-12-05 Vincent Celier <celier@gnat.com>
13338
13339 * switch-c.adb (Scan_Front_End_Switches): Remove processing of
13340 -nostdlib. Not needed here after all.
13341
13342 2003-12-03 Thomas Quinot <quinot@act-europe.fr>
13343
13344 PR ada/11724
13345
13346 * adaint.h, adaint.c, g-os_lib.ads:
13347 Do not assume that the offset argument to lseek(2) is a 32 bit integer,
13348 on some platforms (including FreeBSD), it is a 64 bit value.
13349 Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
13350
13351 2003-12-03 Arnaud Charlet <charlet@act-europe.fr>
13352
13353 * gnatvsn.ads (Library_Version): Now contain only the relevant
13354 version info.
13355 (Verbose_Library_Version): New constant.
13356
13357 * g-spipat.adb, g-awk.adb, g-debpoo.adb,
13358 g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
13359 s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
13360
13361 * gnatlbr.adb: Clean up: replace Library_Version by
13362 Verbose_Library_Version.
13363
13364 * make.adb, lib-writ.adb, exp_attr.adb:
13365 Clean up: replace Library_Version by Verbose_Library_Version.
13366
13367 * 5lintman.adb: Removed.
13368
13369 * Makefile.in:
13370 Update and simplify computation of LIBRARY_VERSION.
13371 Fix computation of GSMATCH_VERSION.
13372 5lintman.adb is no longer used: replaced by 7sintman.adb.
13373
13374 2003-12-03 Robert Dewar <dewar@gnat.com>
13375
13376 * exp_ch5.adb:
13377 (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
13378 name. Modified to consider small non-bit-packed arrays as troublesome
13379 and in need of component-by-component assigment expansion.
13380
13381 2003-12-03 Vincent Celier <celier@gnat.com>
13382
13383 * lang-specs.h: Process nostdlib as nostdinc
13384
13385 * back_end.adb: Update Copyright notice
13386 (Scan_Compiler_Arguments): Process -nostdlib directly.
13387
13388 2003-12-03 Jose Ruiz <ruiz@act-europe.fr>
13389
13390 * Makefile.in:
13391 When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
13392 redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
13393 included in HIE_NONE_TARGET_PAIRS.
13394
13395 2003-12-03 Ed Schonberg <schonberg@gnat.com>
13396
13397 * sem_attr.adb:
13398 (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
13399 is legal in an instance, because legality is cheched in the template.
13400
13401 * sem_prag.adb:
13402 (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
13403 appplied to an unchecked conversion of a formal parameter.
13404
13405 * sem_warn.adb:
13406 (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
13407 variables.
13408
13409 2003-12-03 Olivier Hainque <hainque@act-europe.fr>
13410
13411 * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
13412 routines. The second one is new functionality to deal with backtracing
13413 through signal handlers.
13414 (unwind): Split into the two separate subroutines above.
13415 Update the documentation, and deal properly with sizeof (REG) different
13416 from sizeof (void*).
13417
13418 2003-12-01 Nicolas Setton <setton@act-europe.fr>
13419
13420 * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
13421 so that the debugger can reliably access the value of the parameter,
13422 and therefore is able to display the exception name when an exception
13423 breakpoint is reached.
13424
13425 2003-12-01 Thomas Quinot <quinot@act-europe.fr>
13426
13427 * fmap.adb: Fix typo in warning message.
13428
13429 * g-socket.ads, g-socket.adb: Make Free a visible instance of
13430 Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
13431
13432 2003-12-01 Vincent Celier <celier@gnat.com>
13433
13434 * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
13435 ther is no Afile.
13436 (Build_Library): Get the switches only if Default_Switches is declared
13437 in package Binder.
13438
13439 2003-12-01 Ed Schonberg <schonberg@gnat.com>
13440
13441 * exp_ch6.adb (Expand_Actuals): When applying validity checks to
13442 actuals that are indexed components, reanalyze actual to ensure that
13443 packed array references are properly expanded.
13444
13445 * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
13446 attempted assignment to a discriminant.
13447
13448 2003-12-01 Robert Dewar <dewar@gnat.com>
13449
13450 * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
13451 reformatting.
13452
13453 * switch-c.adb: Minor reformatting of comments
13454
13455 2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
13456
13457 * Makefile.in: Clean ups.
13458
13459 2003-12-01 GNAT Script <nobody@gnat.com>
13460
13461 * Make-lang.in: Makefile automatically updated
13462
13463 2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
13464
13465 * 5wsystem.ads: Disable zero cost exception, not ready yet.
13466
13467 2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
13468
13469 * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
13470 to force serialization.
13471
13472 2003-11-26 Thomas Quinot <quinot@act-europe.fr>
13473
13474 * g-socket.ads, g-socket.adb:
13475 Clarify documentation of function Stream. Introduce a Free procedure
13476 to release the returned Stream once it becomes unused.
13477
13478 * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
13479
13480 2003-11-26 Arnaud Charlet <charlet@act-europe.fr>
13481
13482 (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
13483 since NT 4 cannot handle timeout values that are too large,
13484 e.g. DWORD'Last - 1.
13485
13486 2003-11-26 Ed Schonberg <schonberg@gnat.com>
13487
13488 * exp_ch4.adb:
13489 (Expand_N_Slice): Recognize all cases of slices that appear as actuals
13490 in procedure calls and whose expansion must be deferred.
13491
13492 * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
13493 is in exp_ch4.
13494
13495 * sem_ch3.adb:
13496 (Build_Derived_Array_Type): Create operator for unconstrained type
13497 if ancestor is unconstrained.
13498
13499 2003-11-26 Vincent Celier <celier@gnat.com>
13500
13501 * make.adb (Project_Object_Directory): New global variable
13502 (Change_To_Object_Directory): New procedure
13503 (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
13504 of Change_Dir directly. Do not change working directory to object
13505 directory of main project after each compilation.
13506 (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
13507 directly.
13508 Change to object directory of main project before binding step.
13509 (Initialize): Initialize Project_Object_Directory to No_Project
13510
13511 * mlib-prj.adb:
13512 (Build_Library): Take into account Builder'Default_Switches ("Ada") when
13513 binding a Stand-Alone Library.
13514
13515 * output.adb: Update Copyright notice
13516 (Write_Char): Output buffer when full
13517
13518 2003-11-26 Robert Dewar <dewar@gnat.com>
13519
13520 * sem_ch13.adb: (Check_Size): Reset size if size is too small
13521
13522 * sem_ch13.ads:
13523 (Check_Size): Fix documentation to include bit-packed array case
13524
13525 * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
13526
13527 * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
13528
13529 * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
13530
13531 2003-11-24 Arnaud Charlet <charlet@act-europe.fr>
13532
13533 PR ada/13142
13534 * utils.c (init_gigi_decls): Change name of built-in setjmp to
13535 __builtin_setjmp, since this is apparently needed by recent
13536 non Ada changes.
13537
13538 2003-11-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13539
13540 * adadecode.c: Only include ctype.h if not IN_GCC.
13541 (__gnat_decode): Use ISDIGIT from safe-ctype.h.
13542
13543 2003-11-24 Jose Ruiz <ruiz@act-europe.fr>
13544
13545 * Makefile.in:
13546 Use 5zintman.ads for VxWorks targets. This file avoid confusion between
13547 signals and interrupts.
13548
13549 * 5zintman.ads: New File.
13550
13551 * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
13552 add exception signals to the set of unmasked signals.
13553
13554 * 5ztaprop.adb:
13555 Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
13556 between signals and interrupts.
13557 Add to Unblocked_Signal_Mask the set of signals that are in
13558 Keep_Unmasked.
13559
13560 * 7sinmaop.adb:
13561 Adding a check to see whether the Interrupt_ID we want to unmask is in
13562 the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
13563 reason is that the index type of the Keep_Unmasked array is not always
13564 Interrupt_ID; it may be a subtype of Interrupt_ID.
13565
13566 2003-11-24 Gary Dismukes <dismukes@gnat.com>
13567
13568 * exp_util.adb:
13569 (Remove_Side_Effects): Condition constantness of object created for a
13570 an unchecked type conversion on the constantness of the expression
13571 to ensure the correct value for 'Constrained when passing components
13572 of view-converted class-wide objects.
13573
13574 2003-11-24 Robert Dewar <dewar@gnat.com>
13575
13576 * par-load.adb (Load): Improve handling of misspelled and missing units
13577 Removes several cases of compilation abandoned messages
13578
13579 * lib.adb: (Remove_Unit): New procedure
13580
13581 * lib.ads: (Remove_Unit): New procedure
13582
13583 * lib-load.adb: Minor reformatting
13584
13585 2003-11-24 Vincent Celier <celier@gnat.com>
13586
13587 * make.adb:
13588 (Gnatmake, Initialize): Call Usage instead of Makeusg directly
13589 (Marking_Label): Label to mark processed source files. Incremented for
13590 each executable.
13591 (Gnatmake): Increase Marking_Labet for each executable
13592 (Is_Marked): Compare against marking label
13593 (Mark): Mark with marking label
13594
13595 2003-11-24 Jerome Guitton <guitton@act-europe.fr>
13596
13597 * s-thread.ads:
13598 Move the declaration of the TSD for System.Threads to System.Soft_Links.
13599 Add some comments.
13600
13601 * Makefile.in: Added target pair for s-thread.adb for cert runtime.
13602 (rts-cert): build a single relocatable object for the run-time lib.
13603 Fix perms.
13604
13605 2003-11-24 Vasiliy Fofanov <fofanov@act-europe.fr>
13606
13607 * Make-lang.in:
13608 Use gnatls rather than gcc to obtain the location of GNAT RTL for
13609 crosstools build.
13610
13611 2003-11-24 Sergey Rybin <rybin@act-europe.fr>
13612
13613 * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
13614 can not use it as before (that is, as a variable) when dumping it into
13615 the tree file. Add a local variable to store the result of this
13616 function and to be used as the string to be written into the tree.
13617
13618 * scn.adb (Initialize_Scanner): Add comments explaining the recent
13619 changes.
13620
13621 * sinput.adb (Source_First, Source_Last): In case of
13622 Internal_Source_File, replace returning attributes of
13623 Internal_Source_Ptr (which is wrong) with returning attributes of
13624 Internal_Source.
13625
13626 2003-11-24 Ed Schonberg <schonberg@gnat.com>
13627
13628 * sem_ch3.adb:
13629 (New_Concatenation_Op): Proper name for New_Binary_Operator, only
13630 used for implicit concatenation operators.
13631 Code cleanup.
13632
13633 * sem_elab.adb:
13634 (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
13635 task bodies that are in the scope of a Suppress pragma.
13636 (Check_A Call): Use the flag to prevent spurious elaboration checks.
13637
13638 * sinfo.ads, sinfo.adb:
13639 New flag No_Elaboration_Check on function/procedure calls, to properly
13640 suppress checks on calls in task bodies that are within a local suppress
13641 pragma.
13642
13643 * exp_ch4.adb:
13644 (Expand_Concatenate_Other): Use the proper integer type for the
13645 expression for the upper bound, to avoid universal_integer computations
13646 when possible.
13647
13648 2003-11-21 Kelley Cook <kcook@gcc.gnu.org>
13649
13650 * .cvsignore: Delete.
13651
13652 2003-11-21 Andreas Schwab <schwab@suse.de>
13653
13654 * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
13655
13656 2003-11-21 Vasiliy Fofanov <fofanov@act-europe.fr>
13657
13658 * 5wsystem.ads: Enable zero cost exception.
13659
13660 2003-11-21 Jerome Guitton <guitton@act-europe.fr>
13661
13662 * 5ztiitho.adb: Remove an unreferenced variable.
13663
13664 2003-11-21 Thomas Quinot <quinot@act-europe.fr>
13665
13666 * adaint.c: For FreeBSD, use mkstemp.
13667
13668 2003-11-21 Arnaud Charlet <charlet@act-europe.fr>
13669
13670 * gnatlbr.adb: Now reference Gnat_Static_Version_String.
13671
13672 2003-11-21 Robert Dewar <dewar@gnat.com>
13673
13674 * bld.adb: Remove useless USE of gnatvsn
13675
13676 * gnatchop.adb: Minor reformatting
13677 Clean up version handling to be more consistent
13678
13679 * gnatxref.adb: Minor reformatting
13680
13681 * gprcmd.adb: Minor reformatting
13682 Fix output of copyright to be more consistent with other tools
13683
13684 2003-11-21 Vincent Celier <celier@gnat.com>
13685
13686 * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
13687
13688 2003-11-21 Sergey Rybin <rybin@act-europe.fr>
13689
13690 * atree.adb (Initialize): Add initializations for global variables
13691 used in New_Copy_Tree.
13692
13693 * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
13694 Internal_Source_File as the actual).
13695 Put the set of statements creating Any_Character before the set of
13696 statements creating Any_Array to have Any_Character fully initialized
13697 when it is used in creating Any_Array.
13698
13699 * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
13700 not call Scan in case if the actual is Internal_Source_File
13701 Add 2003 to copyright note.
13702
13703 * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
13704 processing Internal_Source_File.
13705
13706 * types.ads: Add the constant Internal_Source_File representing the
13707 source buffer for artificial source-code-like strings created within
13708 the compiler (the definition of Source_File_Index is changed).
13709
13710 2003-11-20 Arnaud Charlet <charlet@act-europe.fr>
13711
13712 * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
13713 56system.ads: New file, FreeBSD version.
13714
13715 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
13716
13717 * Make-lang.in (ada.extraclean): Delete.
13718
13719 2003-11-19 Arnaud Charlet <charlet@act-europe.fr>
13720
13721 * gnatmem.adb: Clean up verbose output.
13722
13723 * gprcmd.adb: Change copyright to FSF.
13724
13725 2003-11-19 Vincent Celier <celier@gnat.com>
13726
13727 * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
13728 and Version (ignored).
13729
13730 * symbols.ads: (Policy): New type
13731 (Initialize): New parameter Reference, Symbol_Policy and
13732 Library_Version.
13733 Remove parameter Force.
13734 Minor reformatting.
13735
13736 * snames.ads, snames.adbadb: New standard names
13737 Library_Reference_Symbol_File and Library_Symbol_Policy
13738
13739 * mlib-prj.adb:
13740 (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
13741 project.
13742
13743 * mlib-tgt.adb:
13744 (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
13745
13746 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
13747
13748 * prj.adb: (Project_Empty): New component Symbol_Data
13749
13750 * prj.ads: (Policy, Symbol_Record): New types
13751 (Project_Data): New component Symbol_Data
13752
13753 * prj-attr.adb:
13754 New attributes Library_Symbol_File, Library_Symbol_Policy and
13755 Library_Reference_Symbol_File.
13756
13757 * prj-nmsc.adb:
13758 (Ada_Check): When project is a Stand-Alone library project, process
13759 attribute Library_Symbol_File, Library_Symbol_Policy and
13760 Library_Reference_Symbol_File.
13761
13762 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
13763 5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
13764 5sml-tgt.adb (Build_Dynamic_Library): New parameter
13765 Symbol_Data (ignored).
13766
13767 * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
13768 (Build_Dynamic_Library): New parameter Symbol_Data. New internal
13769 functions Option_File_Name and Version_String. Set new options of
13770 gnatsym related to symbol file, symbol policy and reference symbol
13771 file.
13772
13773 * 5vsymbol.adb:
13774 Extensive modifications to take into account the reference symbol file,
13775 the symbol policy, the library version and to put in the symbol file the
13776 minor and major IDs.
13777
13778 * bld.adb (Process_Declarative_Items): Put second argument of
13779 gprcmd to_absolute between single quotes, to avoid problems with
13780 Windows.
13781
13782 * bld-io.adb: Update Copyright notice.
13783 (Flush): Remove last character of a line, if it is a back slash, to
13784 avoid make problems.
13785
13786 * gnatsym.adb:
13787 Implement new scheme with reference symbol file and symbol policy.
13788
13789 * g-os_lib.ads: (Is_Directory): Clarify comment
13790
13791 2003-11-19 Robert Dewar <dewar@gnat.com>
13792
13793 * atree.adb: Move New_Copy_Tree global variables to head of package
13794
13795 * errout.adb: Minor reformatting
13796
13797 2003-11-19 Javier Miranda <miranda@gnat.com>
13798
13799 * sem_ch4.adb: (Diagnose_Call): Improve error message.
13800 Add reference to Ada0Y (AI-50217)
13801
13802 * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
13803 sem_util.adb: Add reference to AI-50217
13804
13805 * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
13806
13807 * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
13808
13809 * sem_aggr.adb: Complete documentation of AI-287 changes
13810
13811 * par-ch4.adb: Document previous changes.
13812
13813 * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
13814 sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
13815 Ada0Y (AI-50217)
13816
13817 * exp_aggr.adb: Add references to AI-287 in previous changes
13818
13819 2003-11-19 Ed Schonberg <schonberg@gnat.com>
13820
13821 * exp_ch6.adb:
13822 (Add_Call_By_Copy_Node): Do not original node of rewritten expression
13823 in the rewriting is the result of an inlined call.
13824
13825 * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
13826 parameter is a type conversion, use original node to construct the
13827 post-call assignment, because expression may have been rewritten, e.g.
13828 if it is a packed array.
13829
13830 * sem_attr.adb:
13831 (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
13832 body, just as it is in an instance.
13833 Categorization routines
13834
13835 * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
13836 Instantiate_Object): Set proper sloc reference for message on missing
13837 actual.
13838
13839 2003-11-19 Thomas Quinot <quinot@act-europe.fr>
13840
13841 * Makefile.in: Add FreeBSD libgnat pairs.
13842
13843 * usage.adb: Fix typo in usage message.
13844
13845 2003-11-19 Jerome Guitton <guitton@act-europe.fr>
13846
13847 * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
13848 s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
13849 pragma Thread_Body.
13850 Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
13851
13852 * s-thread.adb: This file is now a dummy implementation of
13853 System.Thread.
13854
13855 2003-11-19 Sergey Rybin <rybin@act-europe.fr>
13856
13857 * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
13858
13859 2003-11-19 Emmanuel Briot <briot@act-europe.fr>
13860
13861 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
13862 instanciation references in the parent type description.
13863
13864 2003-11-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13865
13866 * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
13867
13868 * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
13869 TYPE_PRECISION directly from esize.
13870
13871 2003-11-18 Thomas Quinot <quinot@act-europe.fr>
13872
13873 * cstreams.c:
13874 Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
13875
13876 * init.c: Initialization routines for FreeBSD
13877
13878 * link.c: Link info for FreeBSD
13879
13880 * sysdep.c: Add the case of FreeBSD
13881
13882 2003-11-17 Jerome Guitton <guitton@act-europe.fr>
13883
13884 * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
13885 already called in System.Threads.
13886
13887 * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
13888 environment task, as it has been moved to System.Threads.Initialization.
13889
13890 2003-11-17 Arnaud Charlet <charlet@act-europe.fr>
13891
13892 * adaint.c (__gnatlib_install_locks): Only reference
13893 __gnat_install_locks on VMS, since other platforms can avoid using
13894 --enable-threads=gnat
13895
13896 2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13897
13898 * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
13899
13900 * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
13901 TYPE_PACKED_ARRAY_TYPE_P.
13902 (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
13903
13904 Part of PR ada/12806
13905 * utils.c (float_type_for_precision): Renamed from float_type_for_size.
13906 Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
13907
13908 2003-11-17 Vincent Celier <celier@gnat.com>
13909
13910 * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
13911 to False.
13912 Do not set exit status to Failure when Warning is True.
13913 (Gnatchop): Make errors "no compilation units found" and
13914 "no source files written" warnings only.
13915
13916 * make.adb (Gnatmake): When using a project file, set
13917 Look_In_Primary_Dir to False.
13918 (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
13919 and Local_Configuration_Pragmas in the project where they are declared
13920 not an extending project which might have inherited them.
13921
13922 * osint.adb (Locate_File): If Name is already an absolute path, do not
13923 look for a directory.
13924
13925 * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
13926 -gnats (Check_Syntax) is used, issue only a warning, not an error.
13927
13928 * prj.adb (Register_Default_Naming_Scheme): Add new component Project
13929 in objects of type Variable_Value.
13930
13931 * prj.ads: (Variable_Value): New component Project
13932
13933 * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
13934 is in a project extended by Project.
13935
13936 * prj-proc.adb (Add_Attributes): New parameter Project. Set component
13937 Project of Variable_Values to this new parameter value.
13938 (Expression): Set component Project of Variable_Values.
13939 (Process_Declarative_Items): Call Add_Attributes with parameter Project.
13940 Set the component Project in array elements.
13941
13942 2003-11-17 Sergey Rybin <rybin@act-europe.fr>
13943
13944 * errout.adb: (Initialize): Add initialization for error nodes.
13945
13946 * sem_ch12.adb (Initialize): Add missing initializations for
13947 Exchanged_Views and Hidden_Entities.
13948
13949 2003-11-17 Ed Schonberg <schonberg@gnat.com>
13950
13951 * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
13952 already instantiated tree for use in subsequent inlining.
13953 (Analyze_Associations, Instantiate_Formal_Subprogram,
13954 Instantiate_Object): improve error message for mismatch in
13955 instantiations.
13956
13957 * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
13958 instantiations of subprograms declared in instances.
13959
13960 2003-11-17 Javier Miranda <miranda@gnat.com>
13961
13962 * sem_ch4.adb (Analyze_Allocator): Previous modification must be
13963 executed only under the Extensions_Allowed flag.
13964
13965 2003-11-17 Robert Dewar <dewar@gnat.com>
13966
13967 * a-exexda.adb (Address_Image): Fix documentation to indicate leading
13968 zeroes suppressed.
13969 (Address_Image): Fix bug of returning 0x instead of 0x0
13970 Minor reformatting (function specs).
13971
13972 * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
13973 (missed case of 33-63)
13974
13975 * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
13976
13977 * s-thread.adb: Add comments for pragma Restriction
13978
13979 * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
13980 sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
13981
13982 2003-11-17 Ed Falis <falis@gnat.com>
13983
13984 * s-thread.adb: Added No_Tasking restriction for this implementation.
13985
13986 2003-11-17 Emmanuel Briot <briot@act-europe.fr>
13987
13988 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
13989 instanciation references in the parent type description.
13990
13991 2003-11-17 GNAT Script <nobody@gnat.com>
13992
13993 * Make-lang.in: Makefile automatically updated
13994
13995 2003-11-16 Jason Merrill <jason@redhat.com>
13996
13997 * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
13998 and TAGS files that include them for each front end.
13999
14000 2003-11-14 Andreas Jaeger <aj@suse.de>
14001
14002 * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
14003 is the canonical version.
14004 * misc.c (gnat_handle_option): Likewise.
14005
14006 * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
14007
14008 * 5nsystem.ads: New file for x86_64-linux-gnu.
14009
14010 2003-11-14 Arnaud Charlet <charlet@act-europe.fr>
14011
14012 * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
14013
14014 * comperr.adb: Fix logic in previous change.
14015
14016 2003-11-13 Vincent Celier <celier@gnat.com>
14017
14018 * 5bml-tgt.adb (Build_Dynamic_Library): Use
14019 Osint.Include_Dir_Default_Prefix instead of
14020 Sdefault.Include_Dir_Default_Name.
14021
14022 * gnatlbr.adb: Update Copyright notice
14023 (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
14024 Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
14025 instead of Sdefault.Object_Dir_Default_Name
14026
14027 * gnatlink.adb:
14028 (Process_Binder_File): Never suppress the option following -Xlinker
14029
14030 * mdll-utl.adb:
14031 (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
14032 Sdefault.Object_Dir_Default_Name.
14033
14034 * osint.ads, osint.adb:
14035 (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
14036 Minor reformatting.
14037
14038 * vms_conv.ads: Minor reformating
14039 Remove GNAT STANDARD and GNAT PSTA
14040
14041 * vms_conv.adb:
14042 Allow GNAT MAKE to have several files on the command line.
14043 (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
14044 Sdefault.Object_Dir_Default_Name.
14045 Minor Reformating
14046 Remove data for GNAT STANDARD
14047
14048 * vms_data.ads:
14049 Add new compiler qualifier /PRINT_STANDARD (-gnatS)
14050 Remove data for GNAT STANDARD
14051 Remove options and documentation for -gnatwb/-gnatwB: these warning
14052 options no longer exist.
14053
14054 2003-11-13 Ed Falis <falis@gnat.com>
14055
14056 * 5zthrini.adb: (Init_RTS): Made visible
14057
14058 * 5zthrini.adb:
14059 (Register): Removed unnecessary call to taskVarGet that checked whether
14060 an ATSD was already set as a task var for the argument thread.
14061
14062 * s-thread.adb:
14063 Updated comment to reflect that this is a VxWorks version
14064 Added context clause for System.Threads.Initialization
14065 Added call to System.Threads.Initialization.Init_RTS
14066
14067 2003-11-13 Jerome Guitton <guitton@act-europe.fr>
14068
14069 * 5zthrini.adb:
14070 (Init_RTS): New procedure, for the initialization of the run-time lib.
14071
14072 * s-thread.adb:
14073 Remove dependancy on System.Init, so that this file can be used in the
14074 AE653 sequential run-time lib.
14075
14076 2003-11-13 Robert Dewar <dewar@gnat.com>
14077
14078 * bindgen.adb: Minor reformatting
14079
14080 2003-11-13 Ed Schonberg <schonberg@gnat.com>
14081
14082 * checks.adb:
14083 (Apply_Discriminant_Check): Do no apply check if target type is derived
14084 from source type with no applicable constraint.
14085
14086 * lib-writ.adb:
14087 (Ensure_System_Dependency): Do not apply the style checks that may have
14088 been specified for the main unit.
14089
14090 * sem_ch8.adb:
14091 (Find_Selected_Component): Further improvement in error message, with
14092 RM reference.
14093
14094 * sem_res.adb:
14095 (Resolve): Handle properly the case of an illegal overloaded protected
14096 procedure.
14097
14098 2003-11-13 Javier Miranda <miranda@gnat.com>
14099
14100 * exp_aggr.adb:
14101 (Has_Default_Init_Comps): New function to check the presence of
14102 default initialization in an aggregate.
14103 (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
14104 extension aggregate of a limited record. In addition, a new formal
14105 was added to do not initialize the record controller (if any) during
14106 this recursive expansion of ancestors.
14107 (Init_Controller): Add support for limited record components.
14108 (Expand_Record_Aggregate): In case of default initialized components
14109 convert the aggregate into a set of assignments.
14110
14111 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
14112 describing the new syntax.
14113 Nothing else needed to be done because this subprogram delegates part of
14114 its work to P_Precord_Or_Array_Component_Association.
14115 (P_Record_Or_Array_Component_Association): Give support to the new
14116 syntax for default initialization of components.
14117
14118 * sem_aggr.adb:
14119 (Resolve_Aggregate): Relax the strictness of the frontend in case of
14120 limited aggregates.
14121 (Resolve_Record_Aggregate): Give support to default initialized
14122 components.
14123 (Get_Value): In case of default initialized components, duplicate
14124 the corresponding default expression (from the record type
14125 declaration). In case of default initialization in the *others*
14126 choice, do not check that all components have the same type.
14127 (Resolve_Extension_Aggregate): Give support to limited extension
14128 aggregates.
14129
14130 * sem_ch3.adb:
14131 (Check_Initialization): Relax the strictness of the front-end in case
14132 of aggregate and extension aggregates. This test is now done in
14133 Get_Value in a per-component manner.
14134
14135 * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
14136 expression corresponds to a limited aggregate. This test is now done
14137 in Get_Value.
14138
14139 * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
14140 Box_Present flag.
14141
14142 * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
14143 present in an N_Component_Association node
14144
14145 2003-11-13 Thomas Quinot <quinot@act-europe.fr>
14146
14147 * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
14148 type-conformant entry only if they are homographs.
14149
14150 2003-11-13 GNAT Script <nobody@gnat.com>
14151
14152 * Make-lang.in: Makefile automatically updated
14153
14154 2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14155
14156 * adadecode.c: Use <> form of include for ctype.h.
14157 * sysdep.c [IN_RTS]: Use <> form of include for time.h.
14158
14159 2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14160
14161 * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
14162 Works around PR middle-end/6552.
14163
14164 2003-11-10 Ed Falis <falis@gnat.com>
14165
14166 * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
14167
14168 * 5zinit.adb: (Install_Handler): Moved back to spec
14169 (Install_Signal_Handlers): Deleted
14170
14171 * 5zthrini.adb: Added context clause for System.Storage_Elements
14172 (Register): Only handles creation of taskVar; initialization moved to
14173 Thread_Body_Enter.
14174 (Reset_TSD): Deleted; replaced by Thread_Body_Enter
14175 Added declaration of environment task secondary stack and
14176 initialization.
14177
14178 * s-thread.adb: Implement bodies for thread body processing
14179
14180 * s-thread.ads:
14181 Added comment identifying supported targets for pragma Thread_Body.
14182
14183 2003-11-10 Pascal Obry <obry@gnat.com>
14184
14185 * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
14186 GNAT_MAX_PATH_LEN.
14187
14188 * s-fileio.adb:
14189 (Open): Properly check for string length before copying into the buffer.
14190 Raises Name_Error if buffer is too small. Note that this was a potential
14191 buffer overflow.
14192
14193 2003-11-10 Romain Berrendonner <berrendo@act-europe.fr>
14194
14195 * bindgen.adb, comperr.adb: Code clean ups.
14196 * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
14197
14198 2003-11-10 Sergey Rybin <rybin@act-europe.fr>
14199
14200 * gnat1drv.adb: Add call to Sem_Elim.Initialize.
14201
14202 2003-11-10 Vincent Celier <celier@gnat.com>
14203
14204 * gprcmd.adb:
14205 (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
14206 installation.
14207
14208 * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
14209
14210 * prj.adb: (Project_Empty): Add new boolean component Virtual
14211
14212 * prj.ads: (Virtual_Prefix): New constant string
14213 (Project_Data): New boolean component Virtual
14214
14215 * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
14216 a library project is extended by a virtual extending project.
14217
14218 * prj-part.adb:
14219 Modifications throughout to implement extending-all project, including:
14220 (Virtual_Hash, Processed_Hash): New hash tables
14221 (Create_Virtual_Extending_Project): New procedure
14222 (Look_For_Virtual_Projects_For): New procedure
14223
14224 * prj-proc.adb:
14225 (Process): After checking the projects, if main project is an
14226 extending-all project, set the object directory of all virtual extending
14227 project to the object directory of the main project.
14228 Adjust error message when a virtual extending project has the same
14229 object directory as an project being extended.
14230 (Recursive_Process): If name starts with the virtual prefix, set Virtual
14231 to True in the project data.
14232
14233 * prj-tree.adb:
14234 (Default_Project_Node): Add new boolean component Extending_All
14235 (Is_Extending_All): New function
14236 (Set_Is_Extending_All): New procedure
14237
14238 * prj-tree.ads: (Is_Extending_All): New function
14239 (Set_Is_Extending_All): New procedure
14240 (Project_Node_Record): New boolean component Extending_All
14241
14242 * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
14243
14244 * vms_data.ads:
14245 Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
14246
14247 * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
14248 "gprcmd prefix" to define it.
14249
14250 2003-11-10 Thomas Quinot <quinot@act-europe.fr>
14251
14252 * einfo.ads: Fix a typo and remove an extraneous word in comments.
14253
14254 * lib-load.adb:
14255 (Create_Dummy_Package_Unit): Set the scope of the entity for the
14256 created dummy package to Standard_Standard, not to itself, to
14257 defend other parts of the front-end against encoutering a cycle in
14258 the scope chain.
14259
14260 * sem_ch10.adb:
14261 (Analyze_With_Clause): When setting the entities for the successive
14262 N_Expanded_Names that constitute the name of a child unit, do not
14263 attempt to go further than Standard_Standard in the chain of scopes.
14264 This case arises from the placeholder units created by
14265 Create_Dummy_Package_Unit in the case of a with_clause for a
14266 nonexistent child unit.
14267
14268 2003-11-10 Ed Schonberg <schonberg@gnat.com>
14269
14270 * exp_ch6.adb:
14271 (Expand_Thread_Body): Place subprogram on scope stack, so that new
14272 declarations are given the proper scope.
14273
14274 * sem_ch13.adb:
14275 (Check_Expr_Constants): Reject an expression that contains a constant
14276 created during expansion, and that appears after the object to which
14277 the address clause applies.
14278
14279 * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
14280 Analyze_Iteration_Scheme, to rewrite a loop parameter specification
14281 that uses 'Range of a function call with controlled components, so
14282 that the function result can be finalized before starting the loop.
14283
14284 * sem_ch8.adb:
14285 (Find_Selected_Component): Improve error message when prefix is
14286 an implicit dereference of an incomplete type.
14287
14288 2003-11-10 Robert Dewar <dewar@gnat.com>
14289
14290 * opt.ads: New Print_Standard flag for -gnatS switch
14291
14292 * sem_ch13.adb: Remove some additional checks for unaligned arrays
14293
14294 * cstand.adb (Create_Standard): Print out package standard if -gnatS
14295 switch set
14296
14297 * debug.adb: Update doc for -gnatds to discuss relationship with new
14298 -gnatS flag
14299
14300 * sinfo.adb: Add new field Entity_Or_Associated_Node
14301
14302 * sinfo.ads: Add new field Entity_Or_Associated_Node
14303 Update documentation for Associated_Node and Entity fields to clarify
14304 relationship and usage.
14305
14306 * sprint.adb:
14307 (Write_Id): Properly process Associated_Node field in generic template
14308
14309 * switch-c.adb:
14310 Recognize new -gnatS switch for printing package Standard
14311 This replaces gnatpsta
14312
14313 * usage.adb:
14314 Add line for new -gnatS switch for printing package Standard
14315 This replaces gnatpsta
14316
14317 2003-11-10 Andreas Jaeger <aj@suse.de>
14318
14319 * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
14320 integer.
14321
14322 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
14323
14324 * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
14325 by gnat1.
14326
14327 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
14328
14329 * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
14330 no longer needed.
14331
14332 * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
14333
14334 * sysdep.c: Add handling of cygwin.
14335
14336 2003-11-10 GNAT Script <nobody@gnat.com>
14337
14338 * Make-lang.in: Makefile automatically updated
14339
14340 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
14341
14342 PR 12950
14343 * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
14344 functions. Used to handle dynamic prefix relocation, via set_std_prefix.
14345 Replace GNAT_ROOT by GCC_ROOT.
14346
14347 * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
14348
14349 2003-11-06 Zack Weinberg <zack@codesourcery.com>
14350
14351 * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
14352 and update for changed meaning of GET_MODE_BITSIZE.
14353
14354 2003-11-04 Doug Rupp <rupp@gnat.com>
14355
14356 * sysdep.c: Problem discovered during IA64 VMS port.
14357 [VMS] #include <unixio.h> to get proper prototypes.
14358
14359 * adaint.c:
14360 Issues discovered/problems fixed during IA64 VMS port.
14361 [VMS] #define _POSIX_EXIT for proper semantics.
14362 [VMS] #include <unixio.h> for proper prototypes.
14363 [VMS] (fork): #define IA64 version.
14364 (__gnat_os_exit): Remove unnecessary VMS specific code.
14365
14366 2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14367
14368 Part of PR ada/12806
14369
14370 * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
14371 tree, not integer.
14372
14373 * decl.c:
14374 (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
14375 not integer.
14376
14377 * targtyps.c, decl.c, misc.c,
14378 gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
14379 routines to work around change in FP sizing semantics in GCC.
14380
14381 * utils.c:
14382 (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
14383
14384 * gigi.h: (enumerate_modes): New function.
14385
14386 * Make-lang.in: (ada/misc.o): Add real.h.
14387
14388 * misc.c: (enumerate_modes): New function.
14389
14390 2003-11-04 Robert Dewar <dewar@gnat.com>
14391
14392 * 3vtrasym.adb: Minor reformatting
14393 Use terminology encoded/decoded name, rather than C++ specific notion
14394 of mangling (this is the terminology used throughout GNAT).
14395
14396 * einfo.h: Regenerated
14397
14398 * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
14399
14400 * exp_ch6.adb:
14401 (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
14402
14403 * par-prag.adb: Add dummy entry for Thread_Body pragma
14404
14405 * rtsfind.ads:
14406 Add entries for System.Threads entities for thread body processing
14407
14408 * sem_attr.adb:
14409 (Analyze_Pragma, Access attributes): Check these are not applied to a
14410 thread body, since this is not permitted
14411
14412 * sem_prag.adb: Add processing for Thread_Body pragma.
14413 Minor comment fix.
14414
14415 * sem_res.adb:
14416 (Resolve_Call): Check for incorrect attempt to call a thread body
14417 procedure with a direct call.
14418
14419 * snames.ads, snames.adb: Add entry for Thread_Body pragma
14420 Add names associated with thread body expansion
14421
14422 * snames.h: Add entry for Thread_Body pragma
14423
14424 * s-thread.adb: Add entries for thread body processing
14425 These are dummy bodies so far
14426
14427 * s-thread.ads: Add documentation on thread body handling.
14428 Add entries for thread body processing.
14429
14430 2003-11-04 Javier Miranda <miranda@gnat.com>
14431
14432 * sem_ch10.adb:
14433 (Build_Limited_Views): Return after posting an error in case of limited
14434 with_clause on subprograms, generics, instances or generic renamings
14435 (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
14436 on subprograms, generics, instances or generic renamings
14437
14438 2003-11-04 Arnaud Charlet <charlet@act-europe.fr>
14439
14440 * raise.c (setup_to_install): Correct mistake in last revision; two
14441 arguments out of order.
14442
14443 * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
14444 gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
14445 notice, missed in previous change.
14446 Remove trailing blanks and other style errors introduced in previous
14447 change.
14448
14449 2003-11-04 Olivier Hainque <hainque@act-europe.fr>
14450
14451 * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
14452 rid of the wrapper for a LJM type, ensuring we don't do that if the
14453 field is addressable. This avoids potential low level type view
14454 mismatches later on, for instance in a by-reference argument passing
14455 process.
14456
14457 2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14458
14459 * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
14460 aligned at byte boundary.
14461
14462 2003-11-04 Joel Brobecker <brobecker@gnat.com>
14463
14464 * decl.c (components_to_record): Do not delete the empty variants from
14465 the end of the union type.
14466
14467 2003-11-04 Ed Schonberg <schonberg@gnat.com>
14468
14469 * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
14470 operation for a derived type, an explicit declaration may use a local
14471 subtype of Boolean.
14472
14473 2003-11-04 Vincent Celier <celier@gnat.com>
14474
14475 * make.adb (Gnatmake): Allow main sources on the command line with a
14476 library project when it is only for compilation (no binding or
14477 linking).
14478
14479 2003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14480
14481 * Makefile.in: Remove many duplicate variables.
14482
14483 2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
14484
14485 * Make-lang.in (dvi): Move targets to $(docobjdir).
14486 (gnat_ug_vms.dvi): Simplify rule and adjust target.
14487 (gnat_ug_wnt.dvi): Likewise.
14488 (gnat_ug_unx.dvi): Likewise.
14489 (gnat_ug_vxw.dvi): Likewise.
14490 (gnat_rm.dvi): Likewise.
14491 (gnat-style.dvi): Likewise.
14492
14493 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
14494
14495 * gigi.h: Missed commit from update for C90.
14496
14497 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
14498
14499 * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
14500
14501 2003-10-31 Andreas Schwab <schwab@suse.de>
14502
14503 * raise.c (get_action_description_for): Fix typo in last change.
14504
14505 2003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
14506
14507 PR ada/12761
14508 * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
14509 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
14510
14511 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
14512
14513 * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
14514 ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
14515 gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
14516 sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
14517 trans.c, utils.c, utils2.c: Convert function prototypes to C90.
14518
14519 2003-10-30 Vasiliy Fofanov <fofanov@act-europe.fr>
14520
14521 * 3vtrasym.adb:
14522 Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
14523 numbers when symbol name is too long.
14524
14525 2003-10-30 Ed Falis <falis@gnat.com>
14526
14527 * g-signal.ads, g-signal.adb: New files
14528
14529 * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
14530
14531 * Makefile.rtl: Introduce GNAT.Signals
14532
14533 2003-10-30 Robert Dewar <dewar@gnat.com>
14534
14535 * freeze.adb: Minor reformatting
14536
14537 * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
14538
14539 * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
14540 par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
14541 New handling of Id_Check parameter to improve recognition of keywords
14542 used as identifiers.
14543 Update copyright notice to include 2003
14544
14545 2003-10-29 Robert Dewar <dewar@gnat.com>
14546
14547 * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
14548 sem_ch10.adb: Minor reformatting
14549
14550 * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
14551 (Expand_Assign_Record): Test right hand side for bit unaligned as well
14552
14553 2003-10-29 Vasiliy Fofanov <fofanov@act-europe.fr>
14554
14555 * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
14556 Support for TBK$SYMBOLIZE-based symbolic traceback.
14557
14558 2003-10-29 Jose Ruiz <ruiz@act-europe.fr>
14559
14560 * exp_disp.adb:
14561 Revert previous change, that did not work well when pragma No_Run_Time
14562 was used in conjunction with a run-time other than ZFP.
14563
14564 2003-10-29 Vincent Celier <celier@gnat.com>
14565
14566 * make.adb:
14567 (Gnatmake): When there are no Ada mains in attribute Main, disable the
14568 bind and link steps only is switch -z is not used.
14569
14570 2003-10-29 Arnaud Charlet <charlet@act-europe.fr>
14571
14572 * Makefile.generic: Remove duplicated setting of CC.
14573
14574 * Makefile.prolog: Set CC to gcc by default, to override make's
14575 default (cc).
14576
14577 * einfo.h: Regenerated.
14578
14579 2003-10-29 Ed Schonberg <schonberg@gnat.com>
14580
14581 * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
14582 current body, after compiling subunit.
14583
14584 * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
14585 when in deleted code, because gigi needs properly ordered freeze
14586 actions to annotate types.
14587
14588 * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
14589 prevent the premature freezing of record type that contains
14590 subcomponents with a private type that does not yet have a completion.
14591
14592 2003-10-29 Javier Miranda <miranda@gnat.com>
14593
14594 * sem_ch12.adb:
14595 (Analyze_Package_Instantiation): Check that instances can not be used in
14596 limited with_clauses.
14597
14598 * sem_ch8.adb:
14599 (Analyze_Package_Renaming): Check that limited withed packages cannot
14600 be renamed. Improve text on error messages related to limited
14601 with_clauses.
14602
14603 * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
14604
14605 * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
14606 Update copyright notice.
14607
14608 * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
14609 (Install_Limited_Context_Clauses): New subprogram that isolates all the
14610 checks required for limited context_clauses and installs the limited
14611 view.
14612 (Install_Limited_Withed_Unit): Complete its documentation.
14613 (Analyze_Context): Check that limited with_clauses are only allowed in
14614 package specs.
14615 (Install_Context): Call Install_Limited_Context_Clauses after the
14616 parents have been installed.
14617 (Install_Limited_Withed_Unit): Add documentation. Mark the installed
14618 package as 'From_With_Type'; this mark indicates that the limited view
14619 is installed. Used to check bad usages of limited with_clauses.
14620 (Build_Limited_Views): Do not add shadow entities to the scope's list
14621 of entities. Do not add real entities to the Non_Limited_Views chain.
14622 Improve error notification.
14623 (Remove_Context_Clauses): Remove context clauses in two phases:
14624 limited views first and regular views later (to maintain the
14625 stack model).
14626 (Remove_Limited_With_Clause): If the package is analyzed then reinstall
14627 its visible entities.
14628
14629 2003-10-29 Thomas Quinot <quinot@act-europe.fr>
14630
14631 * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
14632 with any type that Is_Fixed_Point_Type.
14633
14634 * sinfo.ads: Fix documentation for Associated_Node attribute.
14635
14636 2003-10-29 Sergey Rybin <rybin@act-europe.fr>
14637
14638 * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
14639 both '-gnatc' and '-gnatt' are specified.
14640
14641 * atree.adb (Initialize): Add initialization for Node_Count (set to
14642 zero).
14643
14644 2003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14645
14646 * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
14647 do not consider as Pure.
14648
14649 Part of implementation of function-at-a-time:
14650
14651 * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
14652 (tree_transform): Add new argument to build_component_ref.
14653 (tree_transform, case N_Assignment_Statement): Make and return an
14654 EXPR_STMT.
14655 (tree_transform): If result IS_STMT, set flags and return it.
14656 (gnat_expand_stmt, set_lineno_from_sloc): New functions.
14657
14658 * utils2.c (build_simple_component_ref, build_component_ref): Add new
14659 arg, NO_FOLD_P.
14660 (build_binary_op, case EQ_EXPR): Pass additional arg to it.
14661 (build_allocator): Likewise.
14662
14663 * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
14664 Add new arg to build_component_ref.
14665 (maybe_unconstrained_array, unchecked_convert): Likewise.
14666
14667 * ada-tree.def (EXPR_STMT): New code.
14668
14669 * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
14670
14671 * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
14672 build_component_ref calls.
14673
14674 * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
14675
14676 * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
14677 (build_component_ref): Add new argument, NO_FOLD_P.
14678
14679 2003-10-27 Arnaud Charlet <charlet@act-europe.fr>
14680
14681 * Makefile.generic: Add missing substitution on object_deps handling.
14682
14683 PR ada/5909:
14684 * Make-lang.in (check-ada): Enable ACATS test suite.
14685
14686 2003-10-27 Robert Dewar <dewar@gnat.com>
14687
14688 * exp_ch3.adb:
14689 (Freeze_Array_Type): We do not need an initialization routine for types
14690 derived from String or Wide_String. They should be treated the same
14691 as String and Wide_String themselves. This caused problems with the
14692 use of Initialize_Scalars.
14693
14694 * exp_ch5.adb:
14695 (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
14696 composites. This allows use of component clauses that are not byte
14697 aligned.
14698
14699 * sem_prag.adb:
14700 (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
14701 is an attempt to pack an array of atomic objects.
14702
14703 * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
14704
14705 2003-10-27 Pascal Obry <obry@gnat.com>
14706
14707 * g-dirope.adb:
14708 (Basename): Check for drive letters in a pathname only on DOS based OS.
14709
14710 2003-10-27 Vincent Celier <celier@gnat.com>
14711
14712 * make.adb:
14713 (Gnatmake): When unable to change dir to the object dir, display the
14714 content of the parent dir of the obj dir, to try to understand why this
14715 happens.
14716
14717 2003-10-27 GNAT Script <nobody@gnat.com>
14718
14719 * Make-lang.in: Makefile automatically updated
14720
14721 2003-10-27 Ed Schonberg <schonberg@gnat.com>
14722
14723 * sem_ch12.adb:
14724 (Inline_Instance_Body): Indicate that the save/restore of use_clauses
14725 should not be done in Save/Restore_Scope_Stack, because it is performed
14726 locally.
14727
14728 * sem_ch8.adb:
14729 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
14730 whether use clauses should be removed/restored.
14731
14732 * sem_ch8.ads:
14733 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
14734 whether use clauses should be removed/restored.
14735
14736 2003-10-26 Andreas Jaeger <aj@suse.de>
14737
14738 * Makefile.in: Remove duplicated lines.
14739
14740 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
14741
14742 * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
14743 minimize the differences with ACT tree.
14744
14745 * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
14746 gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
14747 Gnatvsn.Gnat_Static_Version_String to reduce differences between
14748 ACT and FSF trees.
14749
14750 2003-10-24 Pascal Obry <obry@gnat.com>
14751
14752 * adadecode.c (ostrcpy): New function.
14753 (__gnat_decode): Use ostrcpy of strcpy.
14754 (has_prefix): Set first parameter a const.
14755 (has_suffix): Set first parameter a const.
14756 Update copyright notice. Fix source name in header.
14757 Removes a trailing space.
14758 PR ada/12014.
14759
14760 2003-10-24 Jose Ruiz <ruiz@act-europe.fr>
14761
14762 * exp_disp.adb:
14763 Remove the test against being in No_Run_Time_Mode before generating a
14764 call to Register_Tag. It is redundant with the test against the
14765 availability of the function Register_Tag.
14766
14767 2003-10-24 Vincent Celier <celier@gnat.com>
14768
14769 * g-catiio.adb: (Month_Name): Correct spelling of February
14770
14771 * make.adb: (Mains): New package
14772 (Initialize): Call Mains.Delete
14773 (Gnatmake): Check that each main on the command line is a source of a
14774 project file and, if there are several mains, each of them is a source
14775 of the same project file.
14776 (Gnatmake): When a foreign language is specified in attribute Languages,
14777 no main is specified on the command line and attribute Mains is not
14778 empty, only build the Ada main. If there is no Ada main, just compile
14779 the Ada sources and their closure.
14780 (Gnatmake): If a main is specified on the command line with directory
14781 information, check that the source exists and, if it does, that the path
14782 is the actual path of a source of a project.
14783
14784 * prj-env.adb:
14785 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
14786 Full_Path is True, return the full path instead of the simple file name.
14787 (Project_Of): New function
14788
14789 * prj-env.ads:
14790 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
14791 defaulted to False.
14792 (Project_Of): New function
14793
14794 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
14795
14796 * Makefile.generic:
14797 Ensure objects of main project are always checked and rebuilt if needed.
14798 Set CC to gcc by default.
14799 Prepare new handling of link by creating a global archive (not activated
14800 yet).
14801
14802 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
14803 stringt.h: Update copyright notice. Remove trailing blanks.
14804 Fix source name in header.
14805
14806 2003-10-24 Robert Dewar <dewar@gnat.com>
14807
14808 * sem_ch12.adb: Minor reformatting
14809
14810 * sem_ch3.adb:
14811 Minor reformatting (including new function return style throughout)
14812
14813 * sem_ch3.ads:
14814 Minor reformatting (including new function return style throughout)
14815
14816 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
14817
14818 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
14819 stringt.h: Update copyright notice. Remove trailing blanks.
14820 Fix source name in header.
14821
14822 2003-10-24 GNAT Script <nobody@gnat.com>
14823
14824 * Make-lang.in: Makefile automatically updated
14825
14826 2003-10-23 Nathanael Nerode <neroden@gcc.gnu.org>
14827
14828 * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
14829 stringt.h: Convert to ISO C90 declarations and definitions.
14830
14831 2003-10-23 Thomas Quinot <quinot@act-europe.fr>
14832
14833 PR ada/11978:
14834 * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
14835 External_Tag attribute definition clauses.
14836
14837 2003-10-23 Ed Schonberg <schonberg@gnat.com>
14838
14839 PR ada/7613:
14840 * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
14841 child unit, generate a fully qualified name to avoid spurious errors
14842 when the context contains renamings of different child units with
14843 the same simple name.
14844
14845 * exp_dbug.ads: Add documentation on name qualification for renamings
14846 of child units.
14847
14848 2003-10-23 Robert Dewar <dewar@gnat.com>
14849
14850 * g-regpat.ads, g-regpat.adb: Minor reformatting
14851
14852 2003-10-23 Jose Ruiz <ruiz@act-europe.fr>
14853
14854 * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
14855
14856 2003-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14857
14858 * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
14859 Machine call.
14860
14861 * urealp.h: (Machine): Update to proper definition.
14862
14863 2003-10-23 Arnaud Charlet <charlet@act-europe.fr>
14864
14865 * init.c, adaint.c: Minor reformatting.
14866
14867 2003-10-23 Danny Smith <dannysmith@users.sourceforge.net>
14868
14869 * adaint.c (w32_epoch_offset): Define static const at file level.
14870 (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
14871 rather than t_create, t_access in call to GetFileTime. Use union
14872 to convert between FILETIME and unsigned long long.
14873 (__gnat_file_time_name): Test for invalid file handle.
14874 (__gnat_set_filetime_name): Support win32 targets using
14875 w32api SetFileTime.
14876
14877 2003-10-22 Danny Smith <dannysmith@users.sourceforge.net>
14878
14879 * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
14880
14881 * ctrl_c.c (__gnat_int_handler): Remove declaration.
14882
14883 * decl.c (creat_concat_name): Const-ify prefix.
14884
14885 * adaint.c: Include ctype.h if __MINGW32__.
14886 (__gnat_readlink): Mark arguments as possibly unused.
14887 (__gnat_symlink): Likewise.
14888 (__gnat_is_symbolic_link): Likewise.
14889 (__gnat_portable_spawn): Likewise. Cast last arg of spawnvp to match
14890 declaration
14891 (__gnat_file_time_name): Don't declare struct stat statbuf when
14892 not needed.
14893 (__gnat_is_absolute_path): Add parenthesis around condition of
14894 'if' statement to avoid warning.
14895 (__gnat_plist_init): Specify void as parameter.
14896 (plist_enter): Likewise.
14897 (plist_leave): Likewise.
14898 (remove_handle): Make static. Initialize prev.
14899
14900 2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
14901
14902 * Makefile.in: Disable build of gnatpsta. PR ada/10110.
14903 * cstreams.c (__gnat_full_name): Minor improvements and clean up
14904 of previous change.
14905
14906 2003-10-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14907
14908 * tracebak.c (MAX): Avoid redefinition warning.
14909
14910 * init.c [sgi] (__gnat_error_handler): Remove i, unused.
14911 Change msg to const char *.
14912 (__gnat_install_handler): Remove ss, unused.
14913 [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
14914 to const char *.
14915 * cstreams.c (__gnat_full_name): Declare p only when used.
14916 (__gnat_full_name) [sgi] Return buffer.
14917
14918 2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
14919
14920 * mingw32.h: New file.
14921 * gnat_wrapper.adb: New file.
14922
14923 2003-10-22 Jerome Roussel <roussel@act-europe.fr>
14924
14925 * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
14926 string match a pre compiled regular expression (the corresponding
14927 version of the function working on a raw regular expression)
14928 Fix typos in various comments
14929 Update copyright notice in spec
14930
14931 2003-10-21 Gary Dismukes <dismukes@gnat.com>
14932
14933 * exp_ch3.adb:
14934 (Component_Needs_Simple_Initialization): Return False when the type is a
14935 packed bit array. Revise spec comments to document this case.
14936
14937 * exp_prag.adb:
14938 (Expand_Pragma_Import): Set any expression on the imported object to
14939 empty to avoid initializing imported objects (in particular this
14940 covers the case of zero-initialization of bit arrays).
14941 Update copyright notice.
14942
14943 2003-10-21 Ed Schonberg <schonberg@gnat.com>
14944
14945 * sem_ch12.adb:
14946 (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
14947 a subunit is missing.
14948 (Instantiate_Subprogram_Body): If body of function is missing, set type
14949 of return expression explicitly in dummy body, to prevent cascaded
14950 errors when a subunit is missing.
14951 Fixes PR 5677.
14952
14953 * sem_ch3.adb:
14954 (Access_Subprogram_Declaration): Verify that return type is valid.
14955 Fixes PR 8693.
14956
14957 * sem_elab.adb:
14958 (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
14959 generic.
14960 Fixes PR 12318.
14961
14962 * sem_util.adb:
14963 (Corresponding_Discriminant): If the scope of the discriminant is a
14964 private type without discriminant, use its full view.
14965 Fixes PR 8247.
14966
14967 2003-10-21 Arnaud Charlet <charlet@act-europe.fr>
14968
14969 * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
14970 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
14971 3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
14972 55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
14973 56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
14974 59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
14975 5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
14976 5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
14977 5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
14978 5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
14979 5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
14980 5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
14981 5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
14982 5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
14983 7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
14984 a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
14985 a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
14986 a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
14987 bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
14988 erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
14989 err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
14990 g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
14991 g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
14992 g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
14993 g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
14994 g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
14995 g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
14996 gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
14997 g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
14998 g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
14999 i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
15000 prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
15001 prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
15002 s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
15003 s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
15004 s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
15005 s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
15006 s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
15007 s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
15008 s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
15009 s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
15010 socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
15011 s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
15012 s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
15013 s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
15014 styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
15015 s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
15016 tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
15017 vms_conv.ads, vms_conv.adb, vms_data.ads,
15018 vxaddr2line.adb: Files added. Merge with ACT tree.
15019
15020 * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
15021 5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
15022 5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
15023 5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
15024 g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
15025 s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
15026 s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
15027 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
15028 s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
15029 s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
15030
15031 * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
15032 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
15033 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
15034 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
15035 4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
15036 4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
15037 4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
15038 4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
15039 51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
15040 53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
15041 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
15042 5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
15043 5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
15044 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
15045 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
15046 5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
15047 5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
15048 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
15049 5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
15050 5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
15051 5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
15052 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
15053 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
15054 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
15055 5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
15056 5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
15057 5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
15058 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
15059 5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
15060 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
15061 5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
15062 5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
15063 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
15064 5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
15065 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
15066 7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
15067 7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
15068 a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
15069 a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
15070 a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
15071 a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
15072 a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
15073 ali.adb, ali.ads, ali-util.adb, ali-util.ads,
15074 a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
15075 a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
15076 a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
15077 a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
15078 a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
15079 a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
15080 a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
15081 a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
15082 a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
15083 a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
15084 a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
15085 a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
15086 atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
15087 a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
15088 a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
15089 bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
15090 checks.adb, checks.ads, cio.c, comperr.adb,
15091 comperr.ads, csets.adb, cstand.adb, cstreams.c,
15092 debug_a.adb, debug_a.ads, debug.adb, decl.c,
15093 einfo.adb, einfo.ads, errout.adb, errout.ads,
15094 eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
15095 expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
15096 exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
15097 exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
15098 exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
15099 exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
15100 exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
15101 exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
15102 exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
15103 fe.h, fmap.adb, fmap.ads, fname.adb,
15104 fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
15105 freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
15106 g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
15107 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
15108 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
15109 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
15110 g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
15111 g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
15112 g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
15113 g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
15114 g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
15115 g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
15116 g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
15117 g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
15118 gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
15119 gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
15120 gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
15121 gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
15122 gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
15123 g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
15124 g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
15125 g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
15126 g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
15127 g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
15128 g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
15129 g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
15130 g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
15131 i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
15132 i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
15133 inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
15134 itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
15135 layout.adb, lib.adb, lib.ads, lib-list.adb,
15136 lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
15137 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
15138 link.c, live.adb, make.adb, make.ads,
15139 Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
15140 mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
15141 mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
15142 misc.c, mkdir.c, mlib.adb, mlib.ads,
15143 mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
15144 mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
15145 namet.adb, namet.ads, namet.h, nlists.ads,
15146 nlists.h, nmake.adt, opt.adb, opt.ads,
15147 osint.adb, osint.ads, osint-b.adb, osint-c.adb,
15148 par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
15149 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
15150 par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
15151 par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
15152 prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
15153 prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
15154 prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
15155 prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
15156 prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
15157 prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
15158 prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
15159 prj-util.adb, prj-util.ads, raise.c, raise.h,
15160 repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
15161 rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
15162 s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
15163 s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
15164 scans.ads, scn.adb, scn.ads, s-crc32.adb,
15165 s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
15166 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
15167 sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
15168 sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
15169 sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
15170 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
15171 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
15172 sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
15173 sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
15174 sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
15175 sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
15176 sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
15177 s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
15178 s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
15179 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
15180 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
15181 s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
15182 s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
15183 s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
15184 sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
15185 sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
15186 sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
15187 s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
15188 s-memory.adb, s-memory.ads, snames.adb, snames.ads,
15189 snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
15190 s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
15191 s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
15192 s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
15193 s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
15194 s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
15195 s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
15196 s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
15197 s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
15198 s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
15199 s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
15200 s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
15201 s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
15202 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
15203 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
15204 s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
15205 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
15206 stringt.adb, stringt.ads, stringt.h, style.ads,
15207 stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
15208 s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
15209 s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
15210 switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
15211 s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
15212 table.adb, table.ads, targparm.adb, targparm.ads,
15213 targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
15214 trans.c, tree_io.adb, treepr.adb, treeprs.adt,
15215 ttypes.ads, types.ads, types.h, uintp.adb,
15216 uintp.ads, uintp.h, uname.adb, urealp.adb,
15217 urealp.ads, urealp.h, usage.adb, utils2.c,
15218 utils.c, validsw.adb, validsw.ads, widechar.adb,
15219 xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
15220 xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
15221 einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
15222 gnatvsn.ads: Merge with ACT tree.
15223
15224 * gnatvsn.adb: Rewritten in a simpler and more efficient way.
15225
15226 2003-10-20 Mark Mitchell <mark@codesourcery.com>
15227
15228 * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
15229 (gnat_ug_vmx.info): Likewise.
15230 (gnat_ug_vxw.info): Likewise.
15231 (gnat_ug_wnt.info): Likewise.
15232 (gnat_rm.info): Likewise.
15233 (gnat-style.info): Likewise.
15234
15235 * Make-lang.in (ada.install-info): Remove target.
15236 (info): New target.
15237 (install-info): Likewise.
15238 (gnat_ug_unx.info): Simplify rule.
15239 (gnat_ug_vmx.info): Likewise.
15240 (gnat_ug_vxw.info): Likewise.
15241 (gnat_ug_wnt.info): Likewise.
15242 (gnat_rm.info): Likewise.
15243 (gnat-style.info): Likewise.
15244
15245 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
15246
15247 * Make-lang.in: Replace uses of $(target_alias) with
15248 $(target_noncanonical).
15249 * ada/Makefile.in: Remove unused mention of $(target_alias).
15250
15251 2003-10-06 Mark Mitchell <mark@codesourcery.com>
15252
15253 * Make-lang.in (ada.info): Replace with ...
15254 (info): ... this.
15255 (ada.dvi): Replace with ...
15256 (dvi): ... this.
15257
15258 2003-09-29 Zack Weinberg <zack@codesourcery.com>
15259
15260 * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
15261 initialize dconstp5 and dconstmp5.
15262
15263 2003-09-28 Richard Henderson <rth@redhat.com>
15264
15265 * trans.c (tree_transform): Update call to expand_asm_operands.
15266
15267 2003-09-21 Richard Henderson <rth@redhat.com>
15268
15269 * trans.c, utils.c: Revert.
15270
15271 2003-09-21 Richard Henderson <rth@redhat.com>
15272
15273 * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
15274 change to const.
15275
15276 2003-09-04 Michael Matz <matz@suse.de>
15277
15278 * misc.c: Include "target.h".
15279 * Make-lang.in (misc.o): Add dependency on target.h.
15280
15281 2003-09-03 DJ Delorie <dj@redhat.com>
15282
15283 * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
15284 hook.
15285
15286 2003-08-30 Zack Weinberg <zack@codesourcery.com>
15287
15288 * Makefile.in: Update substitutions to match changes to
15289 configure. Use include directives instead of @-insertions
15290 to read in host and target fragments. Add a rule to
15291 regenerate ada/Makefile.
15292
15293 2003-07-18 Neil Booth <neil@daikokuya.co.uk>
15294
15295 * lang-options.h: Remove.
15296 * lang.opt: Add help text.
15297
15298 2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
15299
15300 * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
15301 calls.
15302
15303 2003-07-06 Neil Booth <neil@daikokuya.co.uk>
15304
15305 * misc.c (gnat_handle_option): Don't handle filenames.
15306
15307 2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
15308
15309 * Make-lang.in: Replace PWD with PWD_COMMAND.
15310 * Makefile.adalib: Likewise.
15311 * Makefile.in: Likewise.
15312
15313 2003-07-04 Matt Kraai <kraai@alumni.cmu.edu>
15314
15315 * misc.c (gnat_argv): Revert last change.
15316 (gnat_handle_option, gnat_init_options): Copy arguments.
15317
15318 2003-07-03 Neil Booth <neil@daikokuya.co.uk>
15319
15320 * misc.c (gnat_argv): Make const.
15321
15322 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
15323
15324 * misc.c (save_argc, save_argv): Keep non-static!
15325
15326 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
15327
15328 * misc.c (save_argc, save_argv): Make static.
15329 (gnat_init_options): New prototype.
15330 (gnat_init_options): Update.
15331
15332 2003-07-01 Matt Kraai <kraai@alumni.cmu.edu>
15333
15334 * gnat_ug.texi: Remove unlikely characters from @vars.
15335 * gnat_ug_vms.texi: Regenerate.
15336
15337 2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
15338
15339 * misc.c (record_code_position): Adjust emit_note call.
15340
15341 2003-06-26 Neil Booth <neil@daikokuya.co.uk>
15342
15343 * misc.c (gnat_handle_option): Don't check for missing arguments.
15344
15345 2003-06-20 Nathan Sidwell <nathan@codesourcery.com>
15346
15347 * utils.c (end_subprog_body): Adjust expand_function_end call.
15348
15349 2003-06-16 Matt Kraai <kraai@alumni.cmu.edu>
15350
15351 * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
15352 Bind_Main_Program.
15353
15354 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
15355
15356 * lang.opt: Declare Ada.
15357 * misc.c (gnat_init_options): Update.
15358
15359 2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
15360
15361 * utils.c (begin_subprog_body): Adjust init_function_start call.
15362
15363 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
15364
15365 * Make-lang.in: Update to use options.c and options.h.
15366 * misc.c: Include options.h not aoptions.h.
15367 (gnat_handle_option): Abort on unrecognized switch.
15368 (gnat_init_options): Request Ada switches.
15369
15370 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
15371
15372 * lang.opt: Add -Wall.
15373 * misc.c (gnat_handle_option): Handle it.
15374
15375 2003-06-12 Neil Booth <neil@daikokuya.co.uk>
15376
15377 * misc.c (gnat_handle_option): Fix warnings.
15378
15379 2003-06-11 Matt Kraai <kraai@alumni.cmu.edu>
15380
15381 * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
15382
15383 2003-06-11 Neil Booth <neil@daikokuya.co.uk>
15384
15385 * Make-lang.in: Update to handle command-line options.
15386 * lang.opt: New file.
15387 * misc.c: Include aoptions.h.
15388 (cl_options_count, cl_options): Remove.
15389 (gnat_handle_option): New.
15390 (gnat_decode_option): Remove.
15391 (LANG_HOOKS_DECODE_OPTION): Remove.
15392 (LANG_HOOKS_HANDLE_OPTION): Override.
15393
15394 2003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
15395
15396 * init.c, misc.c, trans.c, utils.c: Remove dead code.
15397
15398 2003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
15399
15400 * Makefile.in: Replace "host_canonical" with "host" for autoconf
15401 substitution.
15402
15403 2003-06-08 Neil Booth <neil@daikokuya.co.uk>
15404
15405 * Make-lang.in: Update.
15406 * misc.c: Include opts.h. Define cl_options_count and cl_options.
15407
15408 2003-06-07 Neil Booth <neil@daikokuya.co.uk>
15409
15410 * misc.c (gnat_init_options): Update.
15411
15412 2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
15413
15414 * Make-lang.in (ada/b_gnatb.o-warn): Remove.
15415 * bindgen.adb (Gen_Main_C): Mark ensure_reference with
15416 __attribute__ ((__unused__)).
15417
15418 2003-06-05 Jan Hubicka <jh@suse.cz>
15419
15420 * Make-lang.in: Add support for stageprofile and stagefeedback
15421
15422 2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
15423
15424 * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
15425 (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
15426
15427 2003-06-04 Matt Kraai <kraai@alumni.cmu.edu>
15428
15429 * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
15430 Remove non-VMS directive.
15431 (Switches for gnatlbr, Optimization Levels): Remove non-VMS
15432 alternatives.
15433 (Examples of gnatls Usage): Remove VMS alternative.
15434
15435 2003-06-04 Olivier Hainque <hainque@act-europe.fr>
15436
15437 PR ada/9953:
15438 * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
15439 and turn ZCX_By_Default back to False since the underlying support
15440 is not quite there yet.
15441
15442 2003-06-01 Andreas Jaeger <aj@suse.de>
15443
15444 * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
15445 and ROUND_TYPE_SIZE_UNIT.
15446
15447 2003-05-22 Geert Bosch <bosch@gnat.com>
15448
15449 * gnat_rm.texi : Remove reference to Ada Core Technologies.
15450
15451 2003-05-03 Nathan Sidwell <nathan@codesourcery.com>
15452
15453 * trans.c (tree_transform): Use location_t and input_location
15454 directly.
15455 (build_unit_elab): Likewise.
15456 * utils.c (create_label_decl): Likewise.
15457
15458 2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
15459
15460 * trans.c (tree_transform, build_unit_elab,
15461 set_lineno): Rename lineno to input_line.
15462 * utils.c (pushdecl, create_label_decl, begin_subprog_body,
15463 end_subprog_body): Likewise.
15464 * utils2.c (build_call_raise): Likewise.
15465
15466 2003-05-01 Laurent Guerby <guerby@acm.org>
15467
15468 PR ada/10546
15469 * 5iosinte.ads: Increase pthread_cond_t size to match recent
15470 LinuxThread and NPTL version, merge from ACT.
15471
15472 2003-04-28 Zack Weinberg <zack@codesourcery.com>
15473
15474 * utils.c (convert): No need to clear TREE_CST_RTL.
15475
15476 2003-04-23 Geert Bosch <bosch@gnat.com>
15477
15478 * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
15479 1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
15480 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
15481 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
15482 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
15483 4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
15484 4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
15485 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
15486 4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
15487 4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
15488 4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
15489 4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
15490 52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
15491 5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
15492 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
15493 5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
15494 5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
15495 5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
15496 5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
15497 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
15498 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
15499 5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
15500 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
15501 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
15502 5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
15503 5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
15504 5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
15505 5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
15506 5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
15507 5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
15508 5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
15509 5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
15510 5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
15511 5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
15512 5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
15513 5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
15514 5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
15515 5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
15516 5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
15517 5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
15518 5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
15519 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
15520 5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
15521 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
15522 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
15523 7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
15524 7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
15525 9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
15526 a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
15527 a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
15528 a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
15529 a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
15530 a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
15531 a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
15532 a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
15533 a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
15534 a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
15535 a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
15536 a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
15537 a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
15538 a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
15539 a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
15540 a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
15541 a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
15542 a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
15543 a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
15544 a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
15545 a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
15546 a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
15547 a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
15548 a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
15549 a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
15550 a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
15551 a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
15552 a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
15553 a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
15554 a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
15555 a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
15556 a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
15557 a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
15558 a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
15559 a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
15560 a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
15561 a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
15562 a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
15563 a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
15564 a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
15565 a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
15566 a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
15567 a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
15568 a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
15569 a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
15570 a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
15571 a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
15572 a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
15573 a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
15574 a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
15575 a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
15576 a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
15577 a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
15578 a-wttest.ads, ada-tree.h, ada.ads, ada.h,
15579 adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
15580 ali.adb, ali.ads, alloc.ads, argv.c,
15581 atree.adb, atree.ads, atree.h, aux-io.c,
15582 back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
15583 binde.adb, binde.ads, binderr.adb, binderr.ads,
15584 bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
15585 butil.adb, butil.ads, cal.c, calendar.ads,
15586 casing.adb, casing.ads, ceinfo.adb, checks.adb,
15587 checks.ads, cio.c, comperr.adb, comperr.ads,
15588 config-lang.in, csets.adb, csets.ads, csinfo.adb,
15589 cstand.adb, cstand.ads, cuintp.c, debug.adb,
15590 debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
15591 dec-io.ads, dec.ads, deftarg.c, directio.ads,
15592 einfo.adb, einfo.ads, elists.adb, elists.ads,
15593 elists.h, errno.c, errout.adb, errout.ads,
15594 eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
15595 exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
15596 exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
15597 exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
15598 exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
15599 exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
15600 exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
15601 exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
15602 exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
15603 exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
15604 exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
15605 exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
15606 exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
15607 exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
15608 exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
15609 fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
15610 fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
15611 freeze.adb, freeze.ads, frontend.adb, frontend.ads,
15612 g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
15613 g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
15614 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
15615 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
15616 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
15617 g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
15618 g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
15619 g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
15620 g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
15621 g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
15622 g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
15623 g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
15624 g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
15625 g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
15626 g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
15627 g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
15628 g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
15629 g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
15630 g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
15631 g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
15632 g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
15633 g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
15634 get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
15635 gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
15636 gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
15637 gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
15638 gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
15639 gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
15640 gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
15641 gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
15642 hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
15643 i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
15644 i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
15645 i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
15646 i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
15647 i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
15648 i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
15649 inline.adb, inline.ads, interfac.ads, ioexcept.ads,
15650 itypes.adb, itypes.ads, krunch.adb, krunch.ads,
15651 layout.adb, layout.ads, lib-list.adb, lib-load.adb,
15652 lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
15653 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
15654 lib.adb, lib.ads, live.adb, live.ads,
15655 machcode.ads, make.adb, make.ads, makeusg.adb,
15656 makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
15657 mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
15658 memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
15659 mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
15660 mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
15661 mlib.ads, namet.adb, namet.ads, nlists.adb,
15662 nlists.ads, opt.adb, opt.ads, osint-b.adb,
15663 osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
15664 osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
15665 osint.ads, output.adb, output.ads, par-ch10.adb,
15666 par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
15667 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
15668 par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
15669 par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
15670 par-tchk.adb, par-util.adb, par.adb, par.ads,
15671 prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
15672 prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
15673 prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
15674 prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
15675 prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
15676 prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
15677 prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
15678 prj.adb, prj.ads, repinfo.adb, repinfo.ads,
15679 restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
15680 rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
15681 s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
15682 s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
15683 s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
15684 s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
15685 s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
15686 s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
15687 s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
15688 s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
15689 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
15690 s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
15691 s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
15692 s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
15693 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
15694 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
15695 s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
15696 s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
15697 s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
15698 s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
15699 s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
15700 s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
15701 s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
15702 s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
15703 s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
15704 s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
15705 s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
15706 s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
15707 s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
15708 s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
15709 s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
15710 s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
15711 s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
15712 s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
15713 s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
15714 s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
15715 s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
15716 s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
15717 s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
15718 s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
15719 s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
15720 s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
15721 s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
15722 s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
15723 s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
15724 s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
15725 s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
15726 s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
15727 s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
15728 s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
15729 s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
15730 s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
15731 s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
15732 s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
15733 s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
15734 s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
15735 s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
15736 s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
15737 s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
15738 s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
15739 s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
15740 s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
15741 s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
15742 s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
15743 s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
15744 s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
15745 s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
15746 s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
15747 s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
15748 s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
15749 s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
15750 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
15751 s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
15752 s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
15753 s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
15754 s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
15755 s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
15756 s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
15757 s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
15758 s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
15759 s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
15760 s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
15761 s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
15762 s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
15763 s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
15764 s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
15765 s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
15766 s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
15767 s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
15768 s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
15769 s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
15770 s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
15771 s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
15772 s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
15773 s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
15774 scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
15775 sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
15776 sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
15777 sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
15778 sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
15779 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
15780 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
15781 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
15782 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
15783 sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
15784 sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
15785 sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
15786 sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
15787 sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
15788 sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
15789 sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
15790 sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
15791 sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
15792 sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
15793 sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
15794 sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
15795 snames.ads, sprint.adb, sprint.ads, stand.adb,
15796 stand.ads, stringt.adb, stringt.ads, style.adb,
15797 style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
15798 switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
15799 switch-m.ads, switch.adb, switch.ads, system.ads,
15800 table.adb, table.ads, targparm.adb, targparm.ads,
15801 tbuild.adb, tbuild.ads, text_io.ads, trans.c,
15802 tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
15803 tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
15804 ttypef.ads, ttypes.ads, types.adb, types.ads,
15805 uintp.adb, uintp.ads, uname.adb, uname.ads,
15806 unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
15807 usage.adb, usage.ads, validsw.adb, validsw.ads,
15808 widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
15809 xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
15810 xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
15811 formatting and other trivial changes from ACT.
15812
15813 2003-04-12 Zack Weinberg <zack@codesourcery.com>
15814
15815 * gigi.h, utils2.c (build_constructor):
15816 Rename gnat_build_constructor. Use build_constructor.
15817 * decl.c (gnat_to_gnu_entity)
15818 * trans.c (tree_transform, pos_to_constructor, extract_values)
15819 * ada/utils.c (build_template, convert_to_fat_pointer, convert)
15820 (unchecked_convert)
15821 * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
15822 (fill_vms_descriptor):
15823 Update to match.
15824
15825 2003-04-06 Zack Weinberg <zack@codesourcery.com>
15826
15827 * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
15828 * misc.c (gnat_tree_size): New function.
15829 (LANG_HOOKS_TREE_SIZE): Override.
15830
15831 2003-04-03 Jason Merrill <jason@redhat.com>
15832
15833 * misc.c (gnat_adjust_rli): #if 0.
15834
15835 2003-03-31 Geert Bosch <bosch@gnat.com>
15836
15837 PR ada/10020
15838 * link.c : Fix misspelled "const" keyword
15839
15840 2003-03-23 Mark Mitchell <mark@codesourcery.com>
15841
15842 PR c++/7086
15843 * utils2.c: Adjust calls to put_var_into_stack.
15844
15845 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
15846
15847 * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
15848
15849 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
15850
15851 * misc.c (gnat_init): Update for new prototype.
15852
15853 2003-03-05 Olivier Hainque <hainque@gnat.com>
15854
15855 ada/9961
15856 * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
15857 warning, and fix return type for the IN_RTS && !SJLJ case.
15858
15859 2003-03-04 Tom Tromey <tromey@redhat.com>
15860
15861 * Make-lang.in (ada.tags): New target.
15862
15863 2003-03-04 Olivier Hainque <hainque@act-europe.fr>
15864
15865 ada/9911
15866 * a-except.adb (Unwind_RaiseException): Import a GNAT specific
15867 wrapper, which name remains constant whatever underlying GCC
15868 scheme.
15869
15870 * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
15871 the stable interface needed for a-except.
15872
15873 2003-03-02 Andreas Jaeger <aj@suse.de>
15874
15875 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
15876 gnat_ug_wnt.texi: Regenerate.
15877
15878 2003-03-02 Laurent Guerby <guerby@acm.org>
15879
15880 * Makefile.in (install-gnatlib): Match previous change there
15881 so it works.
15882
15883 2003-02-28 Andreas Schwab <schwab@suse.de>
15884
15885 * Make-lang.in (install-gnatlib): Change to ada directory before
15886 running make instead of using ada/Makefile directly.
15887
15888 2003-02-18 Ben Elliston <bje@redhat.com>
15889
15890 Part of fix for PR ada/9406
15891 * gnat_ug.texi (Binder output file): Grammar fix.
15892
15893 2003-02-18 Ben Elliston <bje@redhat.com>
15894
15895 PR other/7350
15896 * 5qtaprop.adb (Sleep): Fix typo in comment.
15897
15898 2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
15899
15900 * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
15901 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
15902 gnat_ug_wnt.texi: Regenerate.
15903
15904 2003-02-03 Christian Cornelssen <ccorn@cs.tu-berlin.de>
15905
15906 * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
15907 be created if necessary.
15908 (ada.install-common): Let $(DESTDIR)$(bindir) be created
15909 if necessary. Remove erroneous and redundant gnatchop
15910 installation commands. Test for gnatdll before attempting
15911 to install it.
15912 (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
15913 and gnatdll from all plausible locations.
15914
15915 2003-02-01 Richard Sandiford <rsandifo@redhat.com>
15916
15917 * utils2.c (build_unary_op): Don't check flag_volatile.
15918 * gnat_ug.texi: Remove -fvolatile from example.
15919 * gnat_ug_vxw.texi: Likewise.
15920
15921 2003-01-29 Laurent Guerby <guerby@acm.org>
15922
15923 PR ada/8344
15924 * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
15925 * Makefile.in: match previous change.
15926 * Make-lang.in: match previous change.
15927
15928 2003-01-29 Joel Sherrill <joel@OARcorp.com>
15929
15930 * 5rosinte.ads: Add SIGXCPU.
15931 * 5rtpopsp.adb: New file.
15932 * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
15933 * Makefile.in: Recognize more RTEMS targets and add the RTEMS
15934 specific file 5rtpopsp.adb.
15935 * adaint.h: Add include of <stdio.h> when target is RTEMS. This
15936 is likely needed for all newlib targets.
15937 * init.c: Add RTEMS specific version of __gnat_initialize().
15938
15939 2003-01-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15940
15941 * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
15942
15943 2003-01-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15944
15945 * init.c (__gnat_error_handler): Make msg const.
15946
15947 * gmem.c (convert_addresses): Move declaration ...
15948 * adaint.h: ... here.
15949 * adaint.c (convert_addresses): Adapt addrs type to match
15950 prototype.
15951
15952 * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
15953
15954 2003-01-24 Andreas Schwab <schwab@suse.de>
15955
15956 * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
15957 size_t to avoid warning.
15958
15959 2003-01-21 Zack Weinberg <zack@codesourcery.com>
15960
15961 * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
15962
15963 2003-01-09 Geoffrey Keating <geoffk@apple.com>
15964
15965 * gnat_rm.texi: Remove RCS version number.
15966
15967 * ada-tree.h (union lang_tree_node): Add chain_next option.
15968
15969 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
15970
15971 * Make-lang.in (ada.install-info, ada.install-common,
15972 ada.uninstall): Prepend $(DESTDIR) to the destination
15973 directory in all (un)installation commands.
15974 * Makefile.in (install-gnatlib, install-rts): Ditto.
15975
15976 2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
15977
15978 * gnat_rm.texi, gnat_ug.texi: Use @copying.
15979 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
15980 gnat_ug_wnt.texi: Regenerate.
15981
15982 2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
15983
15984 * gnat_rm.texi: Include gcc-common.texi. Use GCC version number
15985 only.
15986 * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
15987 $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
15988 $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
15989 ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
15990 ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
15991 $(srcdir)/doc/include/gcc-common.texi.
15992
15993 2002-12-15 Geert Bosch <bosch@gnat.com>
15994
15995 * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
15996
15997 2002-12-14 Geert Bosch <bosch@gnat.com>
15998
15999 * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
16000 case of a body created for a Renaming_As_Body, on which
16001 conformance checks are not performed. Fixes PR ada/5690.
16002
16003 2002-11-30 Zack Weinberg <zack@codesourcery.com>
16004
16005 * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
16006 utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
16007 not already included.
16008 * Make-lang.in: Update dependencies.
16009
16010 2002-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
16011 * adaint.c (__gnat_tmp_name): Better, but good enough for now,
16012 solution to buffer overflow bug on GNU/Linux.
16013
16014 2002-11-14 Nathanael Nerode <neroden@gcc.gnu.org>
16015 Closes PR ada/5856 and PR ada/6919 !
16016 * bindgen.adb: Remove all references to Public_Version.
16017 * comperr.adb: Remove all references to Public_Version and
16018 GNATPRO_Version; correct bug reporting instructions.
16019 * comperr.ads: Change to match bug box.
16020 * gnatvsn.ads: Remove all references to Public version and
16021 GNATPRO version.
16022
16023 2002-11-13 Nathanael Nerode <neroden@gcc.gnu.org>
16024 PR ada/6919
16025 * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
16026 GNU/Linux.
16027
16028 PR ada/6558
16029 * config-lang.in: Remove diff_excludes.
16030
16031 2002-11-05 Graham Stott <graham.stott@btinternet.com>
16032 PR ada/8358
16033 * trans.c (gnu_pending_elaboration_lists): New GC root.
16034 (build_unit_elab): Use..
16035
16036 2002-10-30 Geert Bosch <bosch@gnat.com>
16037 PR ada/6558
16038 * misc.c : Include optabs.h
16039
16040 * Make-lang.in (misc.o): Add dependency on optabs.h
16041
16042 2002-10-29 Geert Bosch <bosch@gnat.com>
16043 PR ada/6558
16044 * Make-lang.in (gnatbind): Depend on CONFIG_H
16045
16046 2002-10-29 Geert bosch <bosch@gnat.com>
16047 PR ada/6558
16048 * misc.c: Unrevert misc.c (1.13)
16049
16050 2002-10-28 Nathanael Nerode <neroden@gcc.gnu.org>
16051
16052 * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
16053 maintainership comments.
16054
16055 2002-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
16056 PR ada/5904
16057 * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
16058 5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
16059 5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
16060 7staprop.adb: Correct statements in comments about
16061 maintainership of GNAT.
16062
16063 PR ada/5904
16064 * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
16065 gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
16066 osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
16067 osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
16068 s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
16069 s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
16070 sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
16071 switch-c.ads switch-m.adb switch-m.ads: Correct statements in
16072 comments about maintainership of GNAT.
16073
16074 PR ada/6919 (forward port of patch for PR ada/5904)
16075 * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
16076 4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
16077 4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
16078 4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
16079 4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
16080 4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
16081 4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
16082 52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
16083 5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
16084 5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
16085 5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
16086 5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
16087 5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
16088 5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
16089 5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
16090 5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
16091 5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
16092 5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
16093 5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
16094 5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
16095 5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
16096 5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
16097 5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
16098 5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
16099 5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
16100 5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
16101 5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
16102 5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
16103 7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
16104 a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
16105 a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
16106 a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
16107 a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
16108 a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
16109 a-except.adb a-except.ads a-excpol.adb a-exctra.adb
16110 a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
16111 a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
16112 a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
16113 a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
16114 a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
16115 a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
16116 a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
16117 a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
16118 a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
16119 a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
16120 a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
16121 a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
16122 a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
16123 a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
16124 a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
16125 a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
16126 a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
16127 a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
16128 a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
16129 a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
16130 a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
16131 a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
16132 a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
16133 a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
16134 a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
16135 a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
16136 a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
16137 a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
16138 a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
16139 a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
16140 a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
16141 a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
16142 a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
16143 adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
16144 alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
16145 back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
16146 binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
16147 bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
16148 ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
16149 csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
16150 cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
16151 debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
16152 einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
16153 errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
16154 exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
16155 exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
16156 exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
16157 exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
16158 exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
16159 exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
16160 exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
16161 exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
16162 exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
16163 exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
16164 exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
16165 exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
16166 exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
16167 final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
16168 fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
16169 freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
16170 g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
16171 g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
16172 gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
16173 gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
16174 gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
16175 gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
16176 gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
16177 gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
16178 i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
16179 i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
16180 i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
16181 i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
16182 impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
16183 itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
16184 lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
16185 lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
16186 lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
16187 lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
16188 makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
16189 namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
16190 nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
16191 osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
16192 par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
16193 par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
16194 par-endh.adb par-labl.adb par-load.adb par-prag.adb
16195 par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
16196 prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
16197 prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
16198 prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
16199 prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
16200 prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
16201 prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
16202 repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
16203 rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
16204 s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
16205 s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
16206 s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
16207 s-direio.adb s-direio.ads s-except.ads s-exctab.adb
16208 s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
16209 s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
16210 s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
16211 s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
16212 s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
16213 s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
16214 s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
16215 s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
16216 s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
16217 s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
16218 s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
16219 s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
16220 s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
16221 s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
16222 s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
16223 s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
16224 s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
16225 s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
16226 s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
16227 s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
16228 s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
16229 s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
16230 s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
16231 s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
16232 s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
16233 s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
16234 s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
16235 s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
16236 s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
16237 s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
16238 s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
16239 s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
16240 s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
16241 s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
16242 s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
16243 s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
16244 s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
16245 s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
16246 s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
16247 s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
16248 s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
16249 s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
16250 s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
16251 s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
16252 s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
16253 s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
16254 s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
16255 s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
16256 s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
16257 s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
16258 s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
16259 s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
16260 s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
16261 s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
16262 s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
16263 s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
16264 s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
16265 s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
16266 s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
16267 s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
16268 s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
16269 s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
16270 s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
16271 s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
16272 s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
16273 s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
16274 s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
16275 s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
16276 s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
16277 s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
16278 s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
16279 s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
16280 s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
16281 s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
16282 s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
16283 s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
16284 s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
16285 s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
16286 scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
16287 sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
16288 sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
16289 sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
16290 sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
16291 sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
16292 sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
16293 sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
16294 sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
16295 sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
16296 sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
16297 sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
16298 sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
16299 sem_type.adb sem_type.ads sem_util.adb sem_util.ads
16300 sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
16301 sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
16302 sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
16303 sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
16304 snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
16305 stringt.ads stringt.h style.adb style.ads stylesw.adb
16306 stylesw.ads switch.adb switch.ads sysdep.c system.ads
16307 table.adb table.ads targparm.adb targparm.ads targtyps.c
16308 tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
16309 tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
16310 treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
16311 types.adb types.ads types.h uintp.adb uintp.ads uintp.h
16312 uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
16313 usage.ads utils.c utils2.c validsw.adb validsw.ads
16314 widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
16315 xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
16316 xtreeprs.adb: Correct statements in comments about maintainership
16317 of GNAT.
16318
16319 2002-09-23 Zack Weinberg <zack@codesourcery.com>
16320
16321 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
16322 * Makefile.in (TOOLS_LIBS): Add ../../version.o.
16323 * gnatvsn.ads: Gnat_Version_String is now a function.
16324 * gnatvsn.adb: New file. When asked for Gnat_Version_String,
16325 copy the C version_string into a String and return it.
16326 * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
16327 gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
16328 Remove pragma Ident (Gnat_Version_String). If this was the
16329 sole use of package Gnatvsn, remove the with statement too.
16330 * gnat1drv.adb: Tweak -gnatv output.
16331
16332 2002-09-17 Richard Henderson <rth@redhat.com>
16333
16334 * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
16335 * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
16336 * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
16337 (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
16338 * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
16339 and real_2expN instead of a loop.
16340 * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
16341 (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
16342
16343 2002-08-25 Andre Leis <a.leis@gmx.net>
16344 David Billinghurst (David.Billinghurst@riotinto.com>
16345
16346 * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
16347
16348 2002-08-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16349
16350 * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
16351 Remove $(CONFIG_H) dependency.
16352
16353 2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
16354
16355 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
16356
16357 2002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16358
16359 * adadecode.c (ada_demangle): Use xstrdup in lieu of
16360 xmalloc/strcpy.
16361 * misc.c (gnat_decode_option): Likewise.
16362
16363 2002-07-15 Florian Weimer <fw@deneb.enyo.de>
16364
16365 * make.adb (Add_Switch): Make Generic_Position a procedure. The
16366 function approach did not work well because of a side effect (the
16367 function call could reallocate the table which was being indexed
16368 using its result). Fixes ada/4851. [RESURRECTED]
16369
16370 2002-07-01 Roger Sayle <roger@eyesopen.com>
16371
16372 * ada/utils.c (builtin_function): Accept an additional parameter.
16373
16374 2002-06-28 Andreas Jaeger <aj@suse.de>
16375
16376 PR ada/7144
16377 * Makefile.in: Fix typo in comment, patch by Adrian Knoth
16378 <adi@thur.de>.
16379
16380 2002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16381
16382 * Makefile.in (SHELL): Set to @SHELL@.
16383
16384 2002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16385
16386 * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
16387 array size calculation.
16388
16389 2002-06-04 Andreas Jaeger <aj@suse.de>
16390
16391 * Make-lang.in (gnatbind): Readd rule that has been lost in last
16392 patch.
16393
16394 2002-06-03 Geoffrey Keating <geoffk@redhat.com>
16395
16396 Merge from pch-branch:
16397
16398 * config-lang.in (gtfiles): Add ada-tree.h.
16399 * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
16400 (SET_TYPE_MODULUS): New.
16401 (SET_TYPE_INDEX): New.
16402 (SET_TYPE_DIGITS_VALUE): New.
16403 (SET_TYPE_RM_SIZE): New.
16404 (SET_TYPE_UNCONSTRAINED_ARRAY): New.
16405 (SET_TYPE_ADA_SIZE): New.
16406 (SET_TYPE_ACTUAL_BOUNDS): New.
16407 (SET_DECL_CONST_CORRESPONDING_VAR): New.
16408 (SET_DECL_ORIGINAL_FIELD): New.
16409 (TREE_LOOP_ID): Correct typo.
16410 * decl.c: Use new macros.
16411 * utils.c: Include debug.h, use new macros.
16412 * utils2.c: Use new macros.
16413
16414 * ada-tree.h: Update all macros for new tree description.
16415 (struct tree_loop_id): New.
16416 (union lang_tree_node): New.
16417 (struct lang_decl): New.
16418 (struct lang_type): New.
16419 * misc.c (gnat_mark_tree): Delete.
16420 (LANG_HOOKS_MARK_TREE): Delete.
16421 * trans.c (tree_transform): No longer any need to cast
16422 for TREE_LOOP_ID.
16423
16424 * utils.c (struct language_function): New dummy structure.
16425
16426 * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
16427 (misc.o): Likewise.
16428 (utils.o): Likewise; also gtype-ada.h.
16429 * Make-lang.in (gnat1): Add dependency on s-gtype.
16430 (gnatbind): Add dependency on $(CONFIG_H).
16431 * utils.c: Correct last #include.
16432 (stuct e_stack): Remove unnecessary 'static'.
16433 (mark_e_stack): Remove unused prototype.
16434
16435 * scn-nlit.adb: Remove whitespace after version number to
16436 keep lines under 80 chars.
16437 * snames.adb: Likewise.
16438 * treepr.ads: Likewise.
16439
16440 * Makefile.in (decl.o): Include gt-ada-<filename>.h.
16441 (misc.o): Likewise.
16442 (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
16443 * config-lang.in (gtfiles): New.
16444 * decl.c: Use gengtype for roots.
16445 * gigi.h: Use gengtype for roots.
16446 * trans.c: Use gengtype for roots.
16447 * utils.c: Use gengtype for roots, marking. Include gtype-ada.h.
16448
16449 2002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
16450
16451 * misc.c (gnat_init): Adjust setting of internal_error_function.
16452
16453 2002-06-01 Joseph S. Myers <jsm28@cam.ac.uk>
16454
16455 * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
16456 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
16457 gnat_ug_wnt.texi: Regenerate.
16458
16459 2002-05-31 Florian Weimer <fw@deneb.enyo.de>
16460
16461 * 5ntaprop.adb (with System.OS_Primitives): Remove.
16462
16463 * cstreams.c (max_path_len): Move from here ...
16464 * adaint.c (__gnat_max_path_len): ... to here.
16465 * adaint.c (__gnat_max_path_len): Declare.
16466 * g-dirope.adb (Max_Path): Adjust.
16467 * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
16468 * i-cstrea.ads (max_path_len): Adjust.
16469 * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
16470 * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
16471
16472 * Makefile.in, Make-lang.in: Documentation is now built in
16473 Make-lang.in. Store Info and generated Texinfo files in the
16474 source directory.
16475 * gnat_ug.texi: Remove CVS keywords, correct version number.
16476 Set file name correctly.
16477
16478 * gnat_ug_*.texi: Add.
16479 * .cvsignore: Ignore generated Texinfo files.
16480
16481 2002-05-30 Zack Weinberg <zack@codesourcery.com>
16482
16483 * ada.h: Add MI guard macro.
16484 (SUBTYPE): Define constants with an anonymous enum, not static
16485 const variables.
16486 (IN): Cast constants to appropriate type before use.
16487
16488 2002-05-26 Joseph S. Myers <jsm28@cam.ac.uk>
16489
16490 * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
16491 (experimental)".
16492
16493 2002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16494
16495 * Make-lang.in (CP, ECHO): Copy from Makefile.in.
16496 (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
16497 (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
16498 (ALL_ADA_CFLAGS): Likewise.
16499 (ADA_INCLUDES): Likewise.
16500 Adapt for new working dir.
16501 (GNATBIND): Use Makefile.in version.
16502 (.SUFFIXES): Copy from Makefile.in.
16503 (ada-warn): Define.
16504 (.adb.o, .ads.o): Copy from Makefile.in.
16505 Added $(OUTPUT_OPTION).
16506 (GNAT1_C_OBJS): Moved from Makefile.in.
16507 Prefix with ada subdir.
16508 (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
16509 (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
16510 Adapt for new working dir.
16511 (EXTRA_GNATBIND_OBJS): Likewise.
16512 (ADA_BACKEND): Moved from Makefile.in.
16513 Renamed to avoid conflict with global BACKEND.
16514 Use that one.
16515 (TARGET_ADA_SRCS): Moved from Makefile.in.
16516 (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
16517 Use ADA_BACKEND.
16518 (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
16519 (ada_extra_files): Moved from Makefile.in.
16520 Prefix with ada subdir.
16521 (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
16522 (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
16523 (ada/nmake.ads): Likewise.
16524 (update-sources): Moved from Makefile.in.
16525 Prefix with ada subdir.
16526 (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
16527 (ADA_TREE_H): Likewise.
16528 (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
16529 (ada/memtrack.o): Likewise.
16530 (ada/adadecode.o): Likewise.
16531 Update dependencies.
16532 (ada/adaint.o): New.
16533 (ada/argv.o): Moved from Makefile.in.
16534 Prefix with ada subdir.
16535 Update dependencies.
16536 (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
16537 (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
16538 (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
16539 Prefix with ada subdir.
16540 (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
16541 (GNAT DEPENDENCIES): Regenerate.
16542 * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
16543 toplevel Makefile.in.
16544 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
16545 (TARGET_ADA_SRCS): Removed.
16546 (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
16547 (GNATBIND_OBJS): Likewise.
16548 (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
16549 (BACKEND): Removed.
16550 (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
16551 (TREE_H): Likewise.
16552 (ada_extra_files): Likewise.
16553 (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
16554 (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
16555 (update-sources): Likewise.
16556 (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
16557 (ADA_TREE_H): Likewise.
16558 (adadecoce.o): Likewise.
16559 (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
16560 (GNAT DEPENDENCIES): Likewise.
16561
16562 2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16563
16564 * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
16565 * Makefile.in: Likewise.
16566
16567 2002-05-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16568
16569 * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
16570 Restore $(CONFIG_H) and prefix.o dependencies.
16571 (ada.stage[1-4]): Depend on stage?-start.
16572
16573 * Makefile.in (b_gnatb.c): Depend on interfac.o.
16574
16575 2002-05-02 Jim Wilson <wilson@redhat.com>
16576
16577 * utils.c (finish_record_type): Change record_size to record_type.
16578
16579 2001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
16580
16581 * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
16582 (ALL_ADA_CFLAGS): Define. Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
16583 ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
16584
16585 2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
16586
16587 * misc.c (gnat_parse_file): Update.
16588
16589 2002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
16590
16591 * misc.c (gnat_init): Don't set lang_attribute_common.
16592
16593 2002-04-21 Joseph S. Myers <jsm28@cam.ac.uk>
16594
16595 * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
16596
16597 2002-04-21 Florian Weimer <fw@deneb.enyo.de>
16598
16599 * gnat_ug.texi: New file.
16600
16601 * gnat_rm.texi: Do not include texiplus.texi. Include fdl.texi
16602 instead of gfdl.texi
16603
16604 * xgnatug.adb, ug_words: New files.
16605
16606 * Makefile.in (doc, dvi): New targets. Build gnat_ug_*,
16607 gnat_rm and gnat-style manuals.
16608
16609 2002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
16610
16611 * gigi.h (incomplete_type_error): Remove.
16612 * utils.c (incomplete_type_error): Remove.
16613
16614 2002-04-16 Mark Mitchell <mark@codesourcery.com>
16615
16616 * trans.c (tree_transform): Add has_scope argument to
16617 expand_start_stmt_expr.
16618
16619 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
16620
16621 * gigi.h (truthvalue_conversion): Rename.
16622 * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
16623 * trans.c (tree_transform): Update.
16624 * utils2.c (truthvalue_conversion): Rename, update.
16625 (build_binary_op, build_unary_op): Update.
16626
16627 2002-04-04 Laurent Guerby <guerby@acm.org>
16628
16629 * make.adb: Implement -margs, remove restriction about file name placement.
16630 * makeusg.adb: Documentation update.
16631 * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
16632 * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
16633
16634 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
16635
16636 * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
16637 (builtin_function): Similarly.
16638
16639 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
16640
16641 * decl.c (gnat_to_gnu_entity): Update.
16642 * gigi.h (mark_addressable): Rename.
16643 * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
16644 * trans.c (tree_transform): Update.
16645 * utils.c (create_var_decl): Update.
16646 * util2.c (build_binary_op, build_unary_op,
16647 fill_vms_descriptor): Update.
16648 (mark_addressable): Rename, update.
16649
16650 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
16651
16652 * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
16653 Rename.
16654 * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
16655 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
16656 * trans.c (tree_transform, convert_with_check): Update.
16657 * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
16658 Rename.
16659
16660 2002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
16661
16662 * gigi.h (finish_incomplete_decl): Rename.
16663 * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
16664 * utils.c (gnat_init_decl_processing): Don't set hook.
16665 (finish_incomplete_decl): Rename.
16666
16667 2002-03-29 Andreas Schwab <schwab@suse.de>
16668
16669 * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
16670 directory.
16671
16672 2001-03-28 Robert Dewar <dewar@gnat.com>
16673
16674 * checks.ads:
16675 (Remove_Checks): New procedure
16676
16677 * checks.adb:
16678 (Remove_Checks): New procedure
16679
16680 * exp_util.adb:
16681 Use new Duplicate_Subexpr functions
16682 (Duplicate_Subexpr_No_Checks): New procedure
16683 (Duplicate_Subexpr_No_Checks_Orig): New procedure
16684 (Duplicate_Subexpr): Restore original form (checks duplicated)
16685 (Duplicate_Subexpr): Call Remove_Checks
16686
16687 * exp_util.ads:
16688 (Duplicate_Subexpr_No_Checks): New procedure
16689 (Duplicate_Subexpr_No_Checks_Orig): New procedure
16690 Add 2002 to copyright notice
16691
16692 * sem_util.adb: Use new Duplicate_Subexpr functions
16693
16694 * sem_eval.adb:
16695 (Eval_Indexed_Component): This is the place to call
16696 Constant_Array_Ref and to replace the value. We simply merge
16697 the code of this function in here, since it is now no longer
16698 used elsewhere. This fixes the problem of the back end not
16699 realizing we were clever enough to see that this was
16700 constant.
16701 (Expr_Val): Remove call to Constant_Array_Ref
16702 (Expr_Rep_Val): Remove call to Constant_Array_Ref
16703 Minor reformatting
16704 (Constant_Array_Ref): Deal with string literals (patch
16705 suggested by Zack Weinberg on the gcc list)
16706
16707 2001-03-28 Ed Schonberg <schonber@gnat.com>
16708
16709 * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
16710 Duplicate_Subexpr_Move_Checks.
16711
16712 * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
16713 Duplicate_Subexpr_Move_Checks.
16714
16715 * sem_eval.adb: (Constant_Array_Ref): Verify that constant
16716 value of array exists before retrieving it (it may a private
16717 protected component in a function).
16718
16719 2002-03-28 Geert Bosch <bosch@gnat.com>
16720
16721 * prj-pp.adb : New file.
16722
16723 * prj-pp.ads : New file.
16724
16725 2002-03-28 Andreas Jaeger <aj@suse.de>
16726
16727 * Makefile.in (stamp-sdefault): Fix path for Makefile.
16728
16729 2002-03-28 Neil Booth <neil@daikokuya.demon.co.uk>
16730
16731 * misc.c (gnat_expand_expr): Move prototype.
16732
16733 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
16734
16735 * misc.c (insert_default_attributes): Remove.
16736
16737 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
16738
16739 * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
16740 (gnat_init): Don't set hook.
16741 (gnat_expand_expr): Fix prototype.
16742
16743 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
16744
16745 * misc.c (ggc_p): Remove.
16746
16747 2002-03-27 Geert Bosch <bosch@gnat.com>
16748
16749 * prj-makr.ads, prj-makr.adb : New files.
16750
16751 2002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
16752
16753 * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
16754 (lang_mark_tree): Make static, rename.
16755
16756 2002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
16757
16758 * misc.c (maybe_build_cleanup): Remove.
16759
16760 2002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
16761
16762 * gigi.h (yyparse): Remove.
16763
16764 2002-03-23 Florian Weimer <fw@deneb.enyo.de>
16765
16766 * gnat_rm.texi: Sync with ACT version.
16767 (From Ben Brosgol <brosgol@gnat.com>)
16768
16769 2002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
16770
16771 * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
16772 (gnat_init): Remove old hook.
16773
16774 2002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
16775
16776 * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
16777 (yyparse): Rename gnat_parse_file.
16778
16779 2002-03-14 Geoffrey Keating <geoffk@redhat.com>
16780
16781 Delete all lines containing "$Revision:".
16782 * xeinfo.adb: Don't look for revision numbers.
16783 * xnmake.adb: Likewise.
16784 * xsinfo.adb: Likewise.
16785 * xsnames.adb: Likewise.
16786 * xtreeprs.adb: Likewise.
16787
16788 2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16789
16790 * misc.c (gnat_tree_code_type, gnat_tree_code_length,
16791 gnat_tree_code_name): Delete.
16792 (tree_code_type, tree_code_length, tree_code_name): Define.
16793 (gnat_init): Don't try to copy into the various tree_code
16794 arrays.
16795
16796 2002-03-11 Richard Henderson <rth@redhat.com>
16797
16798 * Makefile.in (.NOTPARALLEL): Add fake tag.
16799
16800 2002-03-07 Geert Bosch <bosch@gnat.com>
16801
16802 * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
16803 s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
16804 switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
16805 switch-m.adb, switch-m.ads : New files.
16806
16807 2002-03-07 Geert Bosch <bosch@gnat.com>
16808
16809 * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
16810 4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
16811 4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
16812 4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
16813 5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
16814 5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
16815 5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
16816 5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
16817 5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
16818 5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
16819 5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
16820 5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
16821 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
16822 5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
16823 5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
16824 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
16825 5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
16826 5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
16827 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
16828 5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
16829 7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
16830 Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
16831 a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
16832 a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
16833 a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
16834 a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
16835 a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
16836 a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
16837 a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
16838 adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
16839 atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
16840 bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
16841 csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
16842 einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
16843 eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
16844 exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
16845 exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
16846 exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
16847 exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
16848 exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
16849 expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
16850 freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
16851 g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
16852 g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
16853 g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
16854 g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
16855 g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
16856 g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
16857 gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
16858 gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
16859 gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
16860 i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
16861 impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
16862 lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
16863 lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
16864 memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
16865 mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
16866 nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
16867 output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
16868 par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
16869 prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
16870 prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
16871 prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
16872 rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
16873 s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
16874 s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
16875 s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
16876 s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
16877 s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
16878 s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
16879 s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
16880 s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
16881 s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
16882 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
16883 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
16884 s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
16885 s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
16886 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
16887 s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
16888 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
16889 sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
16890 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
16891 sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
16892 sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
16893 sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
16894 sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
16895 sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
16896 sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
16897 sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
16898 snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
16899 stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
16900 table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
16901 tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
16902 treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
16903 types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
16904 utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
16905 xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
16906
16907 * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
16908 g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
16909 mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
16910 osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
16911
16912 * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
16913 5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
16914
16915 * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
16916 to mdll-fil.ad[bs] and mdll-util.ad[bs]
16917
16918 * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
16919 from mdllfile.ad[bs] and mdlltool.ad[bs]
16920
16921 2002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16922
16923 * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
16924 lieu of explicit sizeof/sizeof.
16925
16926 2002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
16927
16928 * misc.c (copy_lang_decl): Remove.
16929
16930 2002-02-27 Zack Weinberg <zack@codesourcery.com>
16931
16932 * misc.c: Delete traditional-mode-related code copied from the
16933 C front end but not used, or used only to permit the compiler
16934 to link.
16935
16936 2002-02-07 Richard Henderson <rth@redhat.com>
16937
16938 * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
16939 * adaint.h (__gnat_to_gm_time): Update prototype.
16940
16941 2002-01-30 Richard Henderson <rth@redhat.com>
16942
16943 * trans.c (tree_transform) [N_Loop_Statement]: Use
16944 expand_exit_loop_top_cond.
16945
16946 2001-12-23 Richard Henderson <rth@redhat.com>
16947
16948 * utils.c (end_subprog_body): Push GC context around
16949 rest_of_compilation for nested functions.
16950
16951 2001-12-23 Richard Henderson <rth@redhat.com>
16952
16953 * 5nosinte.ads: Get definition of "int" from Interfaces.C.
16954
16955 2001-12-23 Florian Weimer <fw@deneb.enyo.de>
16956
16957 * gnat-style.texi (Declarations and Types): Remove ancient style
16958 rule which was mandated by code generation issues.
16959
16960 * gnat-style.texi (header): Add @dircategory, @direntry.
16961 (title page): Remove date.
16962 (general) Add @./@: where approriate, and two spaces after the
16963 full stop at the end of a sentence. Use @samp markup when
16964 referring concrete lexical entities (keywords, attribute names
16965 etc.), and @syntax for ARM grammar elements. Use @r for English
16966 text in comments. Use @emph for emphasis. Change "if-statements"
16967 etc. to "if statements" (without @samp). Break long lines. Make
16968 casing of section names consistent.
16969 (Identifiers): Use @samp markup for variable names.
16970 (Comments): Use @samp markup for comment characters. Line-end
16971 comments may follow any Ada code, not just statements. Fix
16972 misspelling of "Integer" as "integer".
16973 (Loop statements): Do not use variable name "I", use "J".
16974 (Subprogram Declarations): Document alignment.
16975 (Subprogram Bodies, Block statements): Document empty line before
16976 "begin".
16977
16978 2001-12-22 Florian Weimer <fw@deneb.enyo.de>
16979
16980 * make.adb (Add_Switch): Make Generic_Position a procedure. The
16981 function approach did not work well because of a side effect (the
16982 function call could reallocate the table which was being indexed
16983 using its result). Fixes ada/4851.
16984
16985 2001-12-19 Robert Dewar <dewar@gnat.com>
16986
16987 * bindgen.adb: Minor reformatting
16988
16989 * cstand.adb: Minor reformatting
16990
16991 * fmap.adb: Minor reformatting
16992 Change name from Add for Add_To_File_Map (Add is much too generic)
16993 Change Path_Name_Of to Mapped_Path_Name
16994 Change File_Name_Of to Mapped_File_Name
16995 Fix copyright dates in header
16996
16997 * fmap.ads:
16998 Change name from Add for Add_To_File_Map (Add is much too generic)
16999 Change Path_Name_Of to Mapped_Path_Name
17000 Change File_Name_Of to Mapped_File_Name
17001 Fix copyright dates in header
17002
17003 * fname-uf.adb: Minor reformatting. New names of stuff in Fmap.
17004 Add use clause for Fmap.
17005
17006 * make.adb: Minor reformatting
17007
17008 * osint.adb: Minor reformatting. Change of names in Fmap.
17009 Add use clause for Fmap.
17010
17011 * prj-env.adb: Minor reformatting
17012
17013 * prj-env.ads: Minor reformatting
17014
17015 * switch.adb: Minor reformatting. Do proper raise of Bad_Switch if
17016 error found (there were odd exceptions to this general rule in
17017 -gnatec/-gnatem processing)
17018
17019 2001-12-19 Olivier Hainque <hainque@gnat.com>
17020
17021 * raise.c (__gnat_eh_personality): Exception handling personality
17022 routine for Ada. Still in rough state, inspired from the C++ version
17023 and still containing a bunch of debugging artifacts.
17024 (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
17025 inspired from the C++ library.
17026
17027 * raise.c (eh_personality): Add comments. Part of work for the GCC 3
17028 exception handling integration.
17029
17030 2001-12-19 Arnaud Charlet <charlet@gnat.com>
17031
17032 * Makefile.in: Remove use of 5smastop.adb which is obsolete.
17033 (HIE_SOURCES): Add s-secsta.ad{s,b}.
17034 (HIE_OBJS): Add s-fat*.o
17035 (RAVEN_SOURCES): Remove files that are no longer required. Add
17036 interrupt handling files.
17037 (RAVEN_MOD): Removed, no longer needed.
17038
17039 2001-12-19 Robert Dewar <dewar@gnat.com>
17040
17041 * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
17042 Add 2001 to copyright date
17043
17044 * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
17045 need to force universal inlining for these cases.
17046
17047 2001-12-19 Arnaud Charlet <charlet@gnat.com>
17048
17049 * s-taprob.adb: Minor clean ups so that this unit can be used in
17050 Ravenscar HI.
17051
17052 * exp_ch7.adb: Allow use of secondary stack in HI mode.
17053 Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
17054
17055 2001-12-19 Vincent Celier <celier@gnat.com>
17056
17057 * prj-tree.ads (Project_Node_Record): Add comments for components
17058 Pkg_Id and Case_Insensitive.
17059
17060 2001-12-19 Pascal Obry <obry@gnat.com>
17061
17062 * g-socket.adb: Minor reformatting. Found while reading code.
17063
17064 2001-12-19 Robert Dewar <dewar@gnat.com>
17065
17066 * prj-tree.ads: Minor reformatting
17067
17068 2001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
17069
17070 * config-lang.in (diff_excludes): Remove.
17071
17072 2001-12-17 Ed Schonberg <schonber@gnat.com>
17073
17074 * sem_res.adb (Resolve_Selected_Component): do not generate a
17075 discriminant check if the selected component is a component of
17076 the argument of an initialization procedure.
17077
17078 * trans.c (tree_transform, case of arithmetic operators): If result
17079 type is private, the gnu_type is the base type of the full view,
17080 given that the full view itself may be a subtype.
17081
17082 2001-12-17 Robert Dewar <dewar@gnat.com>
17083
17084 * sem_res.adb: Minor reformatting
17085
17086 * trans.c (tree_transform, case N_Real_Literal): Add missing third
17087 parameter in call to Machine (unknown horrible effects from this
17088 omission).
17089
17090 * urealp.h: Add definition of Round_Even for call to Machine
17091 Add third parameter for Machine
17092
17093 2001-12-17 Ed Schonberg <schonber@gnat.com>
17094
17095 * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
17096 predefined units in No_Run_Time mode.
17097
17098 2001-12-17 Richard Kenner <kenner@gnat.com>
17099
17100 * misc.c (insn-codes.h): Now include.
17101
17102 2001-12-17 Olivier Hainque <hainque@gnat.com>
17103
17104 * a-except.adb: Preparation work for future integration of the GCC 3
17105 exception handling mechanism
17106 (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
17107 to factorize previous code sequences and make them externally callable,
17108 e.g. for the Ada personality routine when the GCC 3 mechanism is used.
17109 (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
17110 Use the new notification routines.
17111
17112 2001-12-17 Emmanuel Briot <briot@gnat.com>
17113
17114 * prj-tree.ads (First_Choice_Of): Document the when others case
17115
17116 2001-12-17 Arnaud Charlet <charlet@gnat.com>
17117
17118 * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
17119 HI-E mode, in order to support Ravenscar profile properly.
17120
17121 * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
17122 mode on 32 bits targets.
17123
17124 2001-12-17 Vincent Celier <celier@gnat.com>
17125
17126 * fmap.adb: Initial version.
17127
17128 * fmap.ads: Initial version.
17129
17130 * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
17131 If search is successfully done, add to mapping.
17132
17133 * frontend.adb: Initialize the mapping if a -gnatem switch was used.
17134
17135 * make.adb:
17136 (Gnatmake): Add new local variable Mapping_File_Name.
17137 Create mapping file when using project file(s).
17138 Delete mapping file before exiting.
17139
17140 * opt.ads (Mapping_File_Name): New variable
17141
17142 * osint.adb (Find_File): Use path name found in mapping, if any.
17143
17144 * prj-env.adb (Create_Mapping_File): New procedure
17145
17146 * prj-env.ads (Create_Mapping_File): New procedure.
17147
17148 * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
17149 (Mapping_File)
17150
17151 * usage.adb: Add entry for new switch -gnatem.
17152
17153 * Makefile.in: Add dependencies for fmap.o.
17154
17155 2001-12-17 Ed Schonberg <schonber@gnat.com>
17156
17157 * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
17158 is a package instantiation rewritten as a package body.
17159 (Install_Withed_Unit): Undo previous change, now redundant.
17160
17161 2001-12-17 Gary Dismukes <dismukes@gnat.com>
17162
17163 * layout.adb:
17164 (Compute_Length): Move conversion to Unsigned to callers.
17165 (Get_Max_Size): Convert Len expression to Unsigned after calls to
17166 Compute_Length and Determine_Range.
17167 (Layout_Array_Type): Convert Len expression to Unsigned after calls to
17168 Compute_Length and Determine_Range.
17169 Above changes fix problem with length computation for supernull arrays
17170 where Max (Len, 0) wasn't getting applied due to the Unsigned
17171 conversion used by Compute_Length.
17172
17173 2001-12-17 Arnaud Charlet <charlet@gnat.com>
17174
17175 * rtsfind.ads:
17176 (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
17177 System.Secondary_Stack.
17178 (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
17179 in HI-E mode.
17180 Remove unused entity RE_Exception_Data.
17181
17182 * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
17183
17184 * rident.ads (No_Secondary_Stack): New restriction.
17185
17186 2001-12-17 Joel Brobecker <brobecke@gnat.com>
17187
17188 * gnat_rm.texi: Fix minor typos. Found while reading the section
17189 regarding "Bit_Order Clauses" that was sent to a customer.
17190 Very interesting documentation!
17191
17192 2001-12-17 Robert Dewar <dewar@gnat.com>
17193
17194 * sem_case.adb (Choice_Image): Avoid creating improper character
17195 literal names by using the routine Set_Character_Literal_Name. This
17196 fixes bombs in certain error message cases.
17197
17198 2001-12-17 Arnaud Charlet <charlet@gnat.com>
17199
17200 * a-reatim.adb: Minor reformatting.
17201
17202 2001-12-17 Ed Schonberg <schonber@gnat.com>
17203
17204 * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
17205 case where the formal is an extension of another formal in the current
17206 unit or in a parent generic unit.
17207
17208 2001-12-17 Arnaud Charlet <charlet@gnat.com>
17209
17210 * s-tposen.adb: Update comments. Minor reformatting.
17211 Minor code clean up.
17212
17213 * s-tarest.adb: Update comments. Minor code reorganization.
17214
17215 2001-12-17 Gary Dismukes <dismukes@gnat.com>
17216
17217 * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
17218 when Java_VM.
17219
17220 2001-12-17 Robert Dewar <dewar@gnat.com>
17221
17222 * exp_attr.adb: Minor reformatting
17223
17224 2001-12-17 Ed Schonberg <schonber@gnat.com>
17225
17226 * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
17227 derivations nested within a child unit: verify that the parent
17228 type is declared in an outer scope.
17229
17230 2001-12-17 Robert Dewar <dewar@gnat.com>
17231
17232 * sem_ch12.adb: Minor reformatting
17233
17234 2001-12-17 Ed Schonberg <schonber@gnat.com>
17235
17236 * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
17237 warning if current unit is a predefined one, from which bodies may
17238 have been deleted.
17239
17240 2001-12-17 Robert Dewar <dewar@gnat.com>
17241
17242 * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
17243 Fix header format. Add 2001 to copyright date.
17244
17245 * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
17246 which caused CE during compilation if checks were enabled.
17247
17248 2001-12-17 Vincent Celier <celier@gnat.com>
17249
17250 * make.adb:
17251 (Switches_Of): New function
17252 (Test_If_Relative_Path): New procedure
17253 (Add_Switches): Use new function Switches_Of
17254 (Collect_Arguments_And_Compile): Use new function Switches_Of.
17255 When using a project file, test if there are any relative
17256 search path. Fail if there are any.
17257 (Gnatmake): Only add switches for the primary directory when not using
17258 a project file. When using a project file, change directory to the
17259 object directory of the main project file. When using a project file,
17260 test if there are any relative search path. Fail if there are any.
17261 When using a project file, fail if specified executable is relative
17262 path with directory information, and prepend executable, if not
17263 specified as an absolute path, with the exec directory. Make sure
17264 that only one -o switch is transmitted to the linker.
17265
17266 * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
17267
17268 * prj-nmsc.adb:
17269 (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
17270 when using a non standard naming scheme.
17271 (Check_Ada_Naming_Scheme): Make sure that error messages
17272 do not raise exceptions.
17273 (Is_Illegal_Append): Return True if there is no dot in the suffix.
17274 (Language_Independent_Check): Check the exec directory.
17275
17276 * prj.adb (Project_Empty): Add new component Exec_Directory
17277
17278 * prj.ads:
17279 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
17280 (Project_Data): Add component Exec_Directory
17281
17282 * snames.adb: Updated to match snames.ads revision 1.215
17283
17284 * snames.ads: Added Exec_Dir
17285
17286 2001-12-17 Robert Dewar <dewar@gnat.com>
17287
17288 * make.adb: Minor reformatting
17289
17290 * prj-nmsc.adb: Minor reformatting
17291
17292 * snames.adb: Updated to match snames.ads
17293
17294 * snames.ads: Alphebetize entries for project file
17295
17296 2001-12-17 Ed Schonberg <schonber@gnat.com>
17297
17298 * trans.c (process_freeze_entity): Do nothing if the entity is a
17299 subprogram that was already elaborated.
17300
17301 2001-12-17 Richard Kenner <kenner@gnat.com>
17302
17303 * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
17304 and Esize if object is referenced via pointer.
17305
17306 2001-12-17 Ed Schonberg <schonber@gnat.com>
17307
17308 * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
17309 is discrete before analyzing choices.
17310
17311 2001-12-17 Joel Brobecker <brobecke@gnat.com>
17312
17313 * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
17314 containing the name of the Ada Main Program. This string is mainly
17315 intended for the debugger.
17316 (Gen_Output_File_C): Do the equivalent change when generating a C file.
17317
17318 2001-12-17 Robert Dewar <dewar@gnat.com>
17319
17320 * ali.adb: Set new Dummy_Entry field in dependency entry
17321
17322 * ali.ads: Add Dummy_Entry field to source dependency table
17323
17324 * bcheck.adb (Check_Consistency): Ignore dummy D lines
17325
17326 * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
17327
17328 * lib-writ.ads: Document dummy D lines for missing files.
17329
17330 * types.ads: (Dummy_Time_Stamp): New value for non-existant files
17331
17332 2001-12-17 Robert Dewar <dewar@gnat.com>
17333
17334 * ali.adb: Type reference does not reset current file.
17335
17336 * ali.adb: Recognize and scan renaming reference
17337
17338 * ali.ads: Add spec for storing renaming references.
17339
17340 * lib-xref.ads: Add documentation for handling of renaming references
17341
17342 * lib-xref.adb: Implement output of renaming reference.
17343
17344 * checks.adb:
17345 (Determine_Range): Document local variables
17346 (Determine_Range): Make sure Hbound is initialized. It looks as though
17347 there could be a real problem here with an uninitialized reference
17348 to Hbound, but no actual example of failure has been found.
17349
17350 2001-12-17 Laurent Pautet <pautet@gnat.com>
17351
17352 * g-socket.ads:
17353 Fix comment of Shutdown_Socket and Close_Socket. These functions
17354 should not fail silently because if they are called twice, this
17355 probably means that there is a race condition in the user program.
17356 Anyway, this behaviour is consistent with the rest of this unit.
17357 When an error occurs, an exception is raised with the error message
17358 as exception message.
17359
17360 2001-12-17 Robert Dewar <dewar@gnat.com>
17361
17362 * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
17363 that it happens before modification of Sloc values for -gnatD.
17364
17365 * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
17366 so that it happens before modification of Sloc values for -gnatD.
17367
17368 * switch.adb: Minor reformatting
17369
17370 2001-12-15 Richard Henderson <rth@redhat.com>
17371
17372 * sem_ch7.adb: Wrap comment.
17373
17374 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
17375
17376 * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
17377 5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
17378 5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
17379 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
17380 5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
17381 7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
17382 a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
17383 a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
17384 cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
17385 exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
17386 exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
17387 g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
17388 gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
17389 make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
17390 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
17391 repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
17392 s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
17393 s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
17394 s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
17395 s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
17396 sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
17397 sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
17398 sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
17399 sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
17400 spelling errors.
17401
17402 2001-12-14 Vincent Celier <celier@gnat.com>
17403
17404 * osint.adb(Create_Debug_File): When an object file is specified,
17405 put the .dg file in the same directory as the object file.
17406
17407 2001-12-14 Robert Dewar <dewar@gnat.com>
17408
17409 * osint.adb: Minor reformatting
17410
17411 * lib-xref.adb (Output_Instantiation): New procedure to generate
17412 instantiation references.
17413
17414 * lib-xref.ads: Add documentation of handling of generic references.
17415
17416 * ali.adb (Read_Instantiation_Ref): New procedure to read
17417 instantiation references
17418
17419 * ali.ads: Add spec for storing instantiation references
17420
17421 * bindusg.adb: Minor reformatting
17422
17423 * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
17424
17425 * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
17426
17427 * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
17428
17429 * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
17430
17431 * csets.ads:
17432 Fix header format
17433 Add 2001 to copyright date
17434 Add entry for Latin-5 (Cyrillic ISO-8859-5)
17435
17436 2001-12-14 Matt Gingell <gingell@gnat.com>
17437
17438 * adaint.c: mktemp is a macro on Lynx and can not be used as an
17439 expression.
17440
17441 2001-12-14 Richard Kenner <kenner@gnat.com>
17442
17443 * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
17444 if operand is CONSTRUCTOR.
17445
17446 2001-12-14 Ed Schonberg <schonber@gnat.com>
17447
17448 * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
17449 before emiting check on right-hand side, so that exception information
17450 is correct.
17451
17452 2001-12-14 Richard Kenner <kenner@gnat.com>
17453
17454 * utils.c (create_var_decl): Throw away initializing expression
17455 if just annotating types and non-constant.
17456
17457 2001-12-14 Vincent Celier <celier@gnat.com>
17458
17459 * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
17460 Default_Ada_...
17461
17462 * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
17463 Remove functions.
17464 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
17465
17466 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
17467 Remove functions.
17468 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
17469
17470 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
17471
17472 * ChangeLog: Remove piece of diff output.
17473
17474 2001-12-14 Geert Bosch <bosch@gnat.com>
17475
17476 * config-lang.in: Update copyright notice
17477
17478 * layout.adb: Remove commented out code.
17479
17480 * mdllfile.ads: Update copyright notice. Fix header format.
17481
17482 * sem_case.ads: Likewise.
17483
17484 * sem_ch3.adb: Minor reformatting.
17485
17486 2001-12-12 Geert Bosch <bosch@gnat.com>
17487
17488 * freeze.ads: Update copyright date.
17489
17490 * g-comlin.ads: Minor reformatting.
17491
17492 * gnat-style.texi: Fix typo.
17493
17494 2001-12-12 Geert Bosch <bosch@gnat.com>
17495
17496 * einfo.h: Regenerate.
17497
17498 2001-12-12 Ed Schonberg <schonber@gnat.com>
17499
17500 * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
17501 on known node types, rather than untyped fields. Further cleanups.
17502
17503 2001-12-12 Robert Dewar <dewar@gnat.com>
17504
17505 * sem_ch12.adb:
17506 (Save_Entity_Descendant): Minor comment update.
17507 (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
17508 of an N_Attribute_Reference node. As per note below, this does not
17509 eliminate need for Associated_Node in attribute ref nodes.
17510 (Associated_Node): Documentation explicitly mentions attribute
17511 reference nodes, since this field is used in such nodes.
17512
17513 * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
17514
17515 2001-12-12 Robert Dewar <dewar@gnat.com>
17516
17517 * s-stalib.adb: Add more comments on with statements being needed
17518
17519 * par-ch12.adb: Minor reformatting
17520
17521 * prj-dect.ads: Fix copyright header
17522
17523 * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
17524 inputs fit in 32 bits, but the result still overflows.
17525
17526 * s-fatgen.ads: Minor comment improvement
17527
17528 2001-12-12 Ed Schonberg <schonber@gnat.com>
17529
17530 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
17531 formal derived type, look for an inherited component from the full
17532 view of the parent, if any.
17533
17534 2001-12-12 Robert Dewar <dewar@gnat.com>
17535
17536 * checks.ads (Apply_Alignment_Check): New procedure.
17537
17538 * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
17539 ensure that the alignment of objects with address clauses is
17540 appropriate, and raise PE if not.
17541
17542 * exp_util.ads (Must_Be_Aligned): Removed, replaced by
17543 Exp_Pakd.Known_Aligned_Enough
17544
17545 * mdllfile.ads: Minor reformatting
17546
17547 * mlib-fil.ads: Minor reformatting
17548
17549 2001-12-12 Ed Schonberg <schonber@gnat.com>
17550
17551 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
17552 fix to any component reference if enclosing record has non-standard
17553 representation.
17554
17555 2001-12-12 Vincent Celier <celier@gnat.com>
17556
17557 * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
17558 Iteration
17559
17560 2001-12-12 Ed Schonberg <schonber@gnat.com>
17561
17562 * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
17563 sem_attr.
17564
17565 2001-12-12 Robert Dewar <dewar@gnat.com>
17566
17567 * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
17568
17569 2001-12-12 Emmanuel Briot <briot@gnat.com>
17570
17571 * g-regexp.adb: Remove all debug code, since it isn't required anymore,
17572 and it adds dependencies to system.io.
17573
17574 2001-12-12 Pascal Obry <obry@gnat.com>
17575
17576 * g-dirope.adb (Expand_Path.Var): Correctly detect end of
17577 variable name.
17578
17579 2001-12-11 Ed Schonberg <schonber@gnat.com>
17580
17581 * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
17582 that is the parent of other generics, the instance body replaces the
17583 instance node. Retrieve the instance of the spec, which is the one
17584 that is visible in clients and within the body.
17585
17586 2001-12-11 Vincent Celier <celier@gnat.com>
17587
17588 * gnatmain.adb: Initial version.
17589
17590 * gnatmain.ads: Initial version.
17591
17592 * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
17593
17594 * snames.adb: Updated to match snames.ads.
17595
17596 * snames.ads: Added Gnatstub.
17597
17598 2001-12-11 Vincent Celier <celier@gnat.com>
17599
17600 * prj-attr.adb (Initialization_Data): Change name from
17601 Initialisation_Data.
17602
17603 2001-12-11 Emmanuel Briot <briot@gnat.com>
17604
17605 * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
17606 + and * applied to backslashed expressions like \r.
17607
17608 2001-12-11 Vasiliy Fofanov <fofanov@gnat.com>
17609
17610 * g-os_lib.ads: String_List type added, Argument_List type is now
17611 subtype of String_List.
17612
17613 2001-12-11 Robert Dewar <dewar@gnat.com>
17614
17615 * g-os_lib.ads: Change copyright to FSF
17616 Add comments for String_List type
17617
17618 2001-12-11 Vincent Celier <celier@gnat.com>
17619
17620 * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
17621 string to the buffer).
17622
17623 2001-12-11 Ed Schonberg <schonber@gnat.com>
17624
17625 * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
17626 sem_attr.
17627
17628 * sem_attr.adb: Simplify previous fix for Address.
17629 (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
17630 to avoid anomalies where the bound of the type appears to raise
17631 constraint error.
17632
17633 2001-12-11 Robert Dewar <dewar@gnat.com>
17634
17635 * lib-xref.adb (Output_Refs): Make sure pointers are always properly
17636 handled.
17637
17638 2001-12-11 Ed Schonberg <schonber@gnat.com>
17639
17640 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
17641 renamed unit before checking for recursive instantiations.
17642
17643 2001-12-11 Emmanuel Briot <briot@gnat.com>
17644
17645 * prj.ads: Add comments for some of the fields.
17646
17647 2001-12-11 Robert Dewar <dewar@gnat.com>
17648
17649 * lib-xref.adb (Output_Refs): Don't output type references outside
17650 the main unit if they are not otherwise referenced.
17651
17652 2001-12-11 Ed Schonberg <schonber@gnat.com>
17653
17654 * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
17655 code and diagnose additional illegal uses
17656
17657 * sem_util.adb (Is_Object_Reference): An indexed component is an
17658 object only if the prefix is.
17659
17660 2001-12-11 Vincent Celier <celier@gnat.com>
17661
17662 * g-diopit.adb: Initial version.
17663
17664 * g-diopit.ads: Initial version.
17665
17666 * g-dirope.adb:
17667 (Expand_Path): Avoid use of Unbounded_String
17668 (Find, Wildcard_Iterator): Moved to child package Iteration
17669
17670 * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
17671
17672 2001-12-11 Robert Dewar <dewar@gnat.com>
17673
17674 * sem_attr.adb: Minor reformatting
17675
17676 2001-12-11 Ed Schonberg <schonber@gnat.com>
17677
17678 * sem_ch3.adb: Clarify some ???.
17679
17680 2001-12-11 Robert Dewar <dewar@gnat.com>
17681
17682 * exp_util.adb (Must_Be_Aligned): Removed, replaced by
17683 Exp_Pakd.Known_Aligned_Enough
17684
17685 * sem_ch13.adb (Check_Address_Alignment): Removed, extended
17686 version is moved to Exp_Ch13.
17687
17688 2001-12-11 Robert Dewar <dewar@gnat.com>
17689
17690 * einfo.ads: Minor reformatting
17691
17692 * exp_ch5.adb: Add comment for previous.change
17693
17694 * ali.adb: New interface for extended typeref stuff.
17695
17696 * ali.ads: New interface for typeref stuff.
17697
17698 * checks.adb (Apply_Alignment_Check): New procedure.
17699
17700 * debug.adb: Add -gnatdM for modified ALI output
17701
17702 * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
17703
17704 * lib-xref.adb: Extend generation of <..> notation to cover
17705 subtype/object types. Note that this is a complete rewrite,
17706 getting rid of the very nasty quadratic algorithm previously
17707 used for derived type output.
17708
17709 * lib-xref.ads: Extend description of <..> notation to cover
17710 subtype/object types. Uses {..} for these other cases.
17711 Also use (..) for pointer types.
17712
17713 * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
17714
17715 * exp_pakd.adb: Minor reformatting. Note that prevous RH should say:
17716 (Known_Aligned_Enough): Replaces Must_Be_Aligned.
17717
17718 2001-12-11 Vincent Celier <celier@gnat.com>
17719
17720 * gnatcmd.adb:
17721 Changed /COMPILE_ONLY to /ACTIONS=COMPILE
17722 Changed /BIND_ONLY to /ACTIONS=BIND
17723 Changed /LINK_ONLY to /ACTIONS=LINK
17724
17725 2001-12-11 Ed Schonberg <schonber@gnat.com>
17726
17727 * sem_ch8.adb (Find_Selected_Component): improved search for a
17728 candidate package in case of error.
17729
17730 * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
17731 chain back on scope stack before reinstalling use clauses.
17732
17733 * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
17734 is enabled, do not kill the code for the condition, to preserve
17735 warning.
17736
17737 2001-12-11 Robert Dewar <dewar@gnat.com>
17738
17739 * checks.adb (Insert_Valid_Check): Apply validity check to expression
17740 of conversion, not to result of conversion.
17741
17742 2001-12-11 Ed Schonberg <schonber@gnat.com>
17743
17744 * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
17745 before freezing parent. If the declarations are mutually recursive,
17746 an access to the current record type may be frozen before the
17747 derivation is complete.
17748
17749 2001-12-05 Vincent Celier <celier@gnat.com>
17750
17751 * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
17752 -c /COMPILE_ONLY, -l /LINK_ONLY
17753
17754 * opt.ads:
17755 (Bind_Only): New Flag
17756 (Link_Only): New flag
17757
17758 * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
17759 and -l (Link_Only)
17760
17761 * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
17762
17763 * make.adb:
17764 (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
17765 (Gnatmake): Set the step flags. Only perform a step if the
17766 corresponding step flag is True.
17767 (Scan_Make_Arg): Reset the bind and link step flags when -u
17768 or -gnatc has been specified.
17769
17770 2001-12-05 Ed Schonberg <schonber@gnat.com>
17771
17772 * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
17773 get bounds from right operand.
17774
17775 * sem_eval.adb: Minor reformatting
17776
17777 * exp_util.adb (Make_Literal_Range): use bound of literal rather
17778 than Index'First, its lower bound may be different from 1.
17779
17780 * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
17781 and C48009J
17782
17783 2001-12-05 Vincent Celier <celier@gnat.com>
17784
17785 * prj-nmsc.adb Minor reformatting
17786
17787 * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
17788 set and libraries are not supported.
17789
17790 2001-12-05 Ed Schonberg <schonber@gnat.com>
17791
17792 * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
17793 private view explicitly, so the back-end can treat as a global
17794 when appropriate.
17795
17796 2001-12-05 Ed Schonberg <schonber@gnat.com>
17797
17798 * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
17799 unit, always replace instance node with new body, for ASIS use.
17800
17801 2001-12-05 Vincent Celier <celier@gnat.com>
17802
17803 * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
17804 libraries are not supported and both attributes Library_Name and
17805 Library_Dir are specified.
17806
17807 * prj-proc.adb (Expression): Set location of Result to location of
17808 first term.
17809
17810 * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
17811 (prj-nmsc is now importing MLib.Tgt)
17812
17813 * prj-proc.adb: Put the change indicated above that was forgotten.
17814
17815 2001-12-05 Robert Dewar <dewar@gnat.com>
17816
17817 * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
17818
17819 2001-12-05 Ed Schonberg <schonber@gnat.com>
17820
17821 * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
17822 constraint, introduce explicit subtype declaration and derive from it.
17823
17824 * sem_ch3.adb: Minor reformatting
17825
17826 2001-12-05 Robert Dewar <dewar@gnat.com>
17827
17828 * checks.adb (Determine_Range): Increase cache size for checks.
17829 Minor reformatting
17830
17831 * exp_ch6.adb: Minor reformatting
17832 (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
17833 a parameter whose root type is System.Address, since treating such
17834 subprograms as pure in the code generator is almost surely a mistake
17835 that will lead to unexpected results.
17836
17837 * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
17838 change handling of conversions.
17839
17840 * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
17841
17842 2001-12-05 Ed Schonberg <schonber@gnat.com>
17843
17844 * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
17845 aggregate with static wrong size, attach generated Raise node to
17846 declaration.
17847
17848 2001-12-05 Robert Dewar <dewar@gnat.com>
17849
17850 * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
17851 Fixes compilation abandoned bomb in B24009B.
17852
17853 2001-12-05 Ed Schonberg <schonber@gnat.com>
17854
17855 * sem_ch12.adb:
17856 Document use of Associated_Node on Selected_Components.
17857 (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
17858 to clarify use of untyped descendant fields.
17859
17860 2001-12-05 Robert Dewar <dewar@gnat.com>
17861
17862 * prj-dect.ads: Add ??? comment
17863 Add 2001 to copyright notice (was not done in after all)
17864
17865 * prj-part.adb: Minor reformatting. Reword one awkward error message.
17866
17867 * prj.ads: Minor reformatting throughout, and add some ??? comments
17868
17869 * snames.ads: Minor reformatting
17870
17871 2001-12-05 Geert Bosch <bosch@gnat.com>
17872
17873 * snames.adb: Autoupdate
17874
17875 2001-12-05 Vincent Celier <celier@gnat.com>
17876
17877 * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
17878
17879 * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
17880
17881 * prj-env.adb: Minor comment changes (modifying -> extends).
17882
17883 * prj-nmsc.adb: Minor comment changes (modifying -> extends).
17884
17885 * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
17886 Tok_Extends.
17887
17888 * prj.adb (Initialize): Change Modifying to Extends.
17889
17890 * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
17891
17892 * prj.ads: Minor comment change (Modifying -> extending).
17893
17894 * snames.ads: Change modifying to extends.
17895
17896 2001-12-05 Robert Dewar <dewar@gnat.com>
17897
17898 * sem_warn.adb: Remove stuff for conditionals, we are not going to
17899 do this after all.
17900
17901 * sem_warn.ads: Remove stuff for conditionals, we are not going to
17902 do this after all. Add 2001 to copyright notice
17903
17904 2001-12-04 Geert Bosch <bosch@gnat.com>
17905
17906 * einfo.h, sinfo.h, treeprs.ads: Regenerate.
17907
17908 2001-12-04 Robert Dewar <dewar@gnat.com>
17909
17910 * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
17911 location if we already have errors. Stops some cases of cascaded
17912 errors.
17913
17914 * errout.adb: Improve comment.
17915
17916 2001-12-04 Robert Dewar <dewar@gnat.com>
17917
17918 * sem_ch12.adb:
17919 (Analyze_Formal_Type_Definition): Defend against Error.
17920 (Analyze_Formal_Subprogram): Defend against Error.
17921
17922 * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
17923 remove following semicolon if present. Removes cascaded error.
17924
17925 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
17926
17927 * bindgen.adb:
17928 (Gen_Exception_Table_Ada): Write "begin" and then return if Num
17929 exceptions equals 0.
17930 (Gen_Exception_Table_C): Return if Num exceptions equals 0.
17931 Fixes PIWG E tests (which have to be run with -gnatL).
17932
17933 2001-12-04 Robert Dewar <dewar@gnat.com>
17934
17935 * einfo.ads: Minor reformatting
17936
17937 2001-12-04 Ed Schonberg <schonber@gnat.com>
17938
17939 * einfo.ads: Block_Node points to the identifier of the block, not to
17940 the block node itself, to preserve the link when the block is
17941 rewritten, e.g. within an if-statement with a static condition.
17942
17943 * inline.adb (Cleanup_Scopes): recover block statement from block
17944 entity using new meaning of Block_Node.
17945
17946 * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
17947 identifier of block node, rather than to node itself.
17948
17949 2001-12-04 Gary Dismukes <dismukes@gnat.com>
17950
17951 * layout.adb:
17952 (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
17953 (Discrimify): Go back to setting the Etypes of the selected component
17954 because the Vname component does not exist at this point and will
17955 fail name resolution. Also set Analyzed.
17956 Remove with and use of Sem_Res.
17957
17958 2001-12-04 Arnaud Charlet <charlet@gnat.com>
17959
17960 * Makefile.in: (HIE_SOURCES): add s-fat*.
17961
17962 2001-12-04 Robert Dewar <dewar@gnat.com>
17963
17964 * sem_attr.adb:
17965 (Compile_Time_Known_Attribute): New procedure.
17966 (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
17967 proper range check.
17968
17969 2001-12-04 Ed Schonberg <schonber@gnat.com>
17970
17971 * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
17972 processing discriminants to diagnose illegal default values.
17973
17974 2001-12-04 Ed Schonberg <schonber@gnat.com>
17975
17976 * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
17977 access discriminant within a type extension that constrains its
17978 parent discriminants.
17979
17980 2001-12-04 Ed Schonberg <schonber@gnat.com>
17981
17982 * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
17983 is malformed, use instance of Any_Id to allow analysis to proceed.
17984
17985 * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
17986 type definition is illegal.
17987 (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
17988 misplaced.
17989
17990 2001-12-04 Ed Schonberg <schonber@gnat.com>
17991
17992 * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
17993 constants.
17994
17995 2001-12-04 Robert Dewar <dewar@gnat.com>
17996
17997 * errout.adb: Minor reformatting
17998
17999 2001-12-04 Robert Dewar <dewar@gnat.com>
18000
18001 * exp_util.adb: Minor reformatting from last change
18002
18003 * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
18004 which is a rewriting of an expression, traverse the original
18005 expression to remove warnings that may have been posted on it.
18006
18007 2001-12-04 Ed Schonberg <schonber@gnat.com>
18008
18009 * exp_util.adb (Must_Be_Aligned): Return false for a component of a
18010 record that has other packed components.
18011
18012 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
18013
18014 * adaint.c: Minor cleanups.
18015
18016 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
18017
18018 * adaint.c: Do not use utime.h on vxworks.
18019
18020 2001-12-04 Arnaud Charlet <charlet@gnat.com>
18021
18022 * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
18023 more confusion than it solves.
18024
18025 2001-12-04 Geert bosch <bosch@gnat.com>
18026
18027 * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
18028
18029 2001-12-04 Geert Bosch <bosch@gnat.com>
18030
18031 * Makefile.in (update-sources): New target.
18032 For use by gcc_release script.
18033
18034 2001-12-04 Ed Schonberg <schonber@gnat.com>
18035
18036 * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
18037 a configuration pragma, it is now legal wherever a pragma can appear.
18038
18039 2001-12-04 Zack Weinberg <zack@codesourcery.com>
18040
18041 * Makefile.in: Don't set ALL. Delete @cross_defines@,
18042 @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS
18043 is now @CROSS@ -DIN_GCC; update comment.
18044
18045 2001-12-04 Robert Dewar <dewar@gnat.com>
18046
18047 * einfo.adb (Has_Pragma_Pure_Function): New flag.
18048 Fix problem that stopped ceinfo from working
18049
18050 * einfo.ads (Has_Pragma_Pure_Function): New flag.
18051
18052 * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
18053
18054 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
18055
18056 * gnatchop.adb:
18057 (File_Time_Stamp): New procedure.
18058 (Preserve_Mode): New boolean.
18059 (Write_Unit): Pass time stamp.
18060 Implement -p switch (preserve time stamps).
18061
18062 * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
18063
18064 * gnatchop.adb: Do usage info for -p switch
18065
18066 * adaint.h (__gnat_set_file_time_name): New function
18067
18068 * adaint.c (__gnat_set_file_time_name): Implement
18069
18070 * adaint.h: Fix typo
18071
18072 2001-12-03 Robert Dewar <dewar@gnat.com>
18073
18074 * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
18075 have Associated_Node.
18076
18077 2001-12-03 Robert Dewar <dewar@gnat.com>
18078
18079 * prj-proc.adb: Minor reformatting
18080
18081 * make.adb: Minor reformatting
18082
18083 2001-12-03 Geert Bosch <bosch@gnat.com>
18084
18085 * make.adb: Minor reformatting.
18086
18087 2001-12-03 Robert Dewar <dewar@gnat.com>
18088
18089 * sem_ch12.adb: Minor reformatting
18090
18091 2001-12-03 Ed Schonberg <schonber@gnat.com>
18092
18093 * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
18094 push Standard on the stack before analyzing the instance body,
18095 in order to have a clean visibility environment.
18096
18097 * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
18098
18099 2001-12-03 Ed Schonberg <schonber@gnat.com>
18100
18101 * sem_ch12.adb (Instantiate_Package_Body): Protect against double
18102 instantiation of a body that contains an inlined body.
18103
18104 2001-12-03 Ed Schonberg <schonber@gnat.com>
18105
18106 * sem_ch12.adb:
18107 (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
18108 to prevent freezing within formal packages.
18109 (Freeze_Subprogram_Body): If body comes from another instance that
18110 appeared before its own body, place freeze node at end of current
18111 declarative part, to prevent a back-end crash.
18112 (Inline_Instance_Body): Handle properly a package instance within
18113 a subprogram instance that is a child unit.
18114
18115 2001-12-01 Graham Stott <grahams@redhat.com>
18116
18117 * Makefile.in (misc.o): Add missing $(srcdir) prefix
18118 and add optabs.h dependency.
18119
18120 * misc.c: Include optabs.h
18121 (gnat_tree_code_type): Make static and const.
18122 (gnat_tree_code_length): Likewise.
18123 (gnat_tree_code_name): Likewise.
18124 (update_setjmp_buf): Obtain operands mode from insn_data.
18125
18126 2001-11-29 Richard Henderson <rth@redhat.com>
18127
18128 * init.c: Remove obsolete dwarf2 frame.h section.
18129
18130 2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
18131
18132 * Make-lang.in (ada.generated-manpages): New dummy target.
18133
18134 2001-11-29 Ed Schonberg <schonber@gnat.com>
18135
18136 * g-os_lib.adb (Add_To_Command): use explicit loop to move string
18137 into Command, an array conversion is illegal here. Uncovered by
18138 ACATS B460005.
18139
18140 2001-11-28 Geert Bosch <bosch@gnat.com>
18141
18142 * init.c: Minor whitespace changes.
18143
18144 2001-11-28 Doug Rupp <rupp@gnat.com>
18145
18146 * init.c: (__gnat_install_handler,VMS): Increase size of alternate
18147 signal stack.
18148
18149 2001-11-28 Zack Weinberg <zack@codesourcery.com>
18150
18151 * misc.c (gnat_expand_constant): Move declaration above
18152 definition of lang_hooks.
18153 (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
18154 (gnat_init): lang_expand_constant no longer exists.
18155
18156 (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
18157 always have vprintf.
18158 (gnat_init): Always call set_internal_error_function.
18159
18160 2001-11-27 Andreas Jaeger <aj@suse.de>
18161
18162 * Makefile.in (stamp-tool_src_dir): Use symbolic link.
18163
18164 2001-11-27 Laurent Guerby <guerby@acm.org>
18165
18166 * Makefile.in: Regenerate Ada dependencies.
18167
18168 2001-11-26 Richard Henderson <rth@redhat.com>
18169
18170 * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
18171 gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
18172 gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
18173
18174 2001-11-25 Laurent Guerby <guerby@acm.org>
18175
18176 * sysdep.c (rts_get_*): Fix style.
18177
18178 2001-11-19 Laurent Guerby <guerby@acm.org>
18179
18180 * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
18181 since it is of no apparent use and cause warnings.
18182
18183 2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
18184
18185 * misc.c (gnat_decode_option, gnat_init_options): Make definitions
18186 static too.
18187 (gnat_init): Don't return NULL.
18188 (finish_parse): Remove.
18189
18190 2001-11-17 Laurent Guerby <guerby@acm.org>
18191
18192 * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
18193 * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
18194 * io-aux.c: Provide K&R prototypes to all functions, reformat code.
18195 * lang-spec.h: Add missing struct field to silence warnings.
18196 * sysdep.c (rts_get_*): Provide K&R prototype.
18197 * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
18198 * traceback.c (Unlock_Task, Lock_Task): Likewise.
18199 * tracebak.c (__gnat_backtrace): Remove unused variable.
18200 * utils.c (end_subprog_body): Move to K&R style.
18201
18202 Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18203
18204 * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
18205
18206 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
18207
18208 * misc.c (gnat_init): Change prototype. Include the
18209 functionality of the old init_parse and init_decl_processing.
18210 (gnat_init_decl_processing): New prototype.
18211 (init_parse): Remove.
18212 * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
18213
18214 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
18215
18216 * misc.c (gnat_print_decl, gnat_print_type): Renamed.
18217 (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
18218 (print_lang_statistics, lang_print_xnode, print_lang_identifier,
18219 set_yydebug): Remove.
18220
18221 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
18222
18223 * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
18224 (struct lang_hooks): Constify.
18225 (language_string, lang_identify): Remove.
18226 * utils.c (init_decl_processing): Update.
18227
18228 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
18229
18230 * misc.c: Include langhooks-def.h.
18231 * Makefile.in: Update.
18232
18233 2001-10-30 Robert Dewar <dewar@gnat.com>
18234
18235 * style.adb:
18236 (Check_Identifier): Rewrite circuit to be compatible with use of letters
18237 in the upper half of ASCII.
18238 (Check_Identifier): Minor reformatting
18239
18240 2001-10-30 Geert Bosch <bosch@gnat.com>
18241
18242 * (Associated_Node, Set_Associated_Node): Do not check for
18243 Freeze_Entity.
18244
18245 2001-10-30 Robert Dewar <dewar@gnat.com>
18246
18247 * a-reatim.ads: Minor reformatting
18248
18249 2001-10-30 Robert Dewar <dewar@gnat.com>
18250
18251 * gnatdll.adb: Minor reformatting throughout. Many ??? added for
18252 undocumented declarations.
18253
18254 2001-10-30 Pascal Obry <obry@gnat.com>
18255
18256 * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
18257 to the binder and linker.
18258 Minor style fix.
18259
18260 * mdll.ads: Fix layout. Update copyright notice.
18261
18262 * mdll.adb: Fix layout. Update copyright notice.
18263
18264 2001-10-30 Robert Dewar <dewar@gnat.com>
18265
18266 * usage.adb: Minor fix to output for -gnaty.
18267
18268 2001-10-30 Ed Schonberg <schonber@gnat.com>
18269
18270 * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
18271 to accommodate all its possible values.
18272
18273 * a-reatim.adb (Split): Special-case handling of Time_Span_First
18274 and of small absolute values of T.
18275
18276 2001-10-30 Richard Kenner <kenner@gnat.com>
18277
18278 * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
18279 set_mem_attributes since not needed and wrong if RESULT if a REG;
18280 fixes ACATS failures.
18281
18282 2001-10-30 Geert Bosch <bosch@gnat.com>
18283
18284 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
18285 s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
18286
18287 2001-10-30 Robert Dewar <dewar@gnat.com>
18288
18289 * bindusg.adb: Undocument -f switch.
18290
18291 * gnatcmd.adb: Remove /FULL_ELABORATION.
18292
18293 * opt.ads (Force_RM_Elaboration_Order): Document that this is
18294 obsolescent.
18295
18296 * gnatbind.adb: Output new warning for use of obsolescent -f switch.
18297
18298 * gnatbind.adb: Minor update of warning msg.
18299
18300 2001-10-30 Vincent Celier <celier@gnat.com>
18301
18302 * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
18303 for project file switches (-P (/PROJECT_FILE=),
18304 -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
18305 or MEDIUM or HIGH)
18306
18307 2001-10-30 Geert Bosch <bosch@gnat.com>
18308
18309 * decl.c: Minor whitespace fixes.
18310
18311 2001-10-30 Richard Kenner <kenner@gnat.com>
18312
18313 * utils2.c (build_allocator): Test for SIZE overflow in array case too
18314
18315 2001-10-30 Geert Bosch <bosch@gnat.com>
18316
18317 * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
18318 Found due to GCC 3.0 warning of using uninitialized value.
18319
18320 * layout.adb:
18321 (Get_Max_Size): Use variant record for tracking value/expression.
18322 Makes logic clearer and prevents warnings for uninitialized variables.
18323 (Layout_Array_Type): Use variant record for tracking value/expression.
18324 Makes logic clearer and prevents warnings for uninitialized variables.
18325
18326 2001-10-30 Robert Dewar <dewar@gnat.com>
18327
18328 * lib.adb: Minor reformatting
18329
18330 * s-taprop.ads: Minor reformatting
18331
18332 2001-10-29 Laurent Guerby <guerby@acm.org>
18333
18334 * init.c:
18335 (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
18336 const.
18337 (_gnat_error_handler): Make MSG const.
18338
18339 2001-10-29 Richard Kenner <kenner@gnat.com>
18340
18341 * sysdep.c: Fix localtime_r problem on LynxOS.
18342 Also remove #elif to avoid warnings.
18343
18344 * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
18345 used by this.
18346
18347 * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
18348
18349 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
18350
18351 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
18352 exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
18353 g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
18354 g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
18355 layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
18356 s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
18357 sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
18358 sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
18359 sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
18360 types.ads, urealp.adb: Fix spelling errors.
18361
18362 2001-10-27 Laurent Guerby <guerby@acm.org>
18363
18364 * trans.c (gigi): Fix non determinism leading to bootstrap
18365 comparison failures for debugging information.
18366
18367 2001-10-26 Florian Weimer <fw@deneb.enyo.de>
18368
18369 * gnat_rm.texi: Use @./@: where appropriate.
18370
18371 2001-10-26 Robert Dewar <dewar@gnat.com>
18372
18373 * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
18374
18375 2001-10-26 Richard Kenner <kenner@gnat.com>
18376
18377 * gmem.c (__gnat_gmem_read_next): Properly check for EOF
18378
18379 2001-10-26 Richard Kenner <kenner@gnat.com>
18380
18381 * decl.c (validate_size): Modify message for bad size to avoid
18382 implication that compiler is modifying the size.
18383
18384 2001-10-26 Robert Dewar <dewar@gnat.com>
18385
18386 * prj-util.adb: Minor reformatting. Fix bad header format.
18387
18388 2001-10-26 Robert Dewar <dewar@gnat.com>
18389
18390 * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
18391
18392 * sinfo.ads: Clarify use of Associated_Node (documentation only).
18393
18394 * sem_ch12.adb: Change Node4 to Associated_Node. Change
18395 Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
18396 much more narrowly in places where needed. These are cleanups.
18397
18398 2001-10-26 Joel Brobecker <brobecke@gnat.com>
18399
18400 * 5zosinte.ads (null_pthread): new constant.
18401
18402 * 5ztaprop.adb:
18403 (Initialize_TCB): Initialize thread ID to null, to be able to verify
18404 later that this field has been set.
18405 (Finalize_TCB): ditto.
18406 (Suspend_Task): Verify that the thread ID is not null before using it.
18407 (Resume_Task): ditto.
18408
18409 * s-tasdeb.adb:
18410 (Resume_All_Tasks): Lock the tasks list before using it.
18411 (Suspend_All_Tasks): ditto.
18412
18413 2001-10-26 Richard Kenner <kenner@gnat.com>
18414
18415 * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
18416 Make constant variant of designated type for Is_Access_Constant.
18417 Call update_pointer_to with main variant.
18418
18419 * trans.c (process_freeze_entity, process_type):
18420 Call update_pointer_to on main variant.
18421
18422 * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
18423 If main variant, update all other variants.
18424
18425 * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
18426 TREE_STATIC.
18427
18428 2001-10-26 Robert Dewar <dewar@gnat.com>
18429
18430 * prj-util.adb: Minor reformatting
18431
18432 2001-10-26 Robert Dewar <dewar@gnat.com>
18433
18434 * prj-util.adb: Minor reformatting
18435
18436 2001-10-26 Robert Dewar <dewar@gnat.com>
18437
18438 * prj-attr.adb: Minor reformatting throughout
18439
18440 2001-10-26 Robert Dewar <dewar@gnat.com>
18441
18442 * prj-attr.ads: Minor reformatting
18443 Add ??? comment (this whole spec has almost no comments)
18444
18445 2001-10-26 Vincent Celier <celier@gnat.com>
18446
18447 * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
18448 ("//") that precede the drive letter on Interix.
18449
18450 2001-10-26 Geert Bosch <bosch@gnat.com>
18451
18452 * gnat_rm.texi: Add GNAT Reference Manual.
18453
18454 2001-10-25 Robert Dewar <dewar@gnat.com>
18455
18456 * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
18457 is Error. Similar change for other renaming cases.
18458
18459 2001-10-25 Robert Dewar <dewar@gnat.com>
18460
18461 * s-atacco.ads: Add pragma Inline_Always for functions.
18462 Fix header format. Add copyright 2001
18463
18464 2001-10-25 Ed Schonberg <schonber@gnat.com>
18465
18466 * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
18467 return Error rather than Empty so that analysis can proceed.
18468
18469 2001-10-25 Ed Schonberg <schonber@gnat.com>
18470
18471 * sem_util.adb (Enter_Name): better handling of cascaded error
18472 messages when a unit appears in its own context.
18473
18474 2001-10-25 Ed Schonberg <schonber@gnat.com>
18475
18476 * sem_util.adb (Defining_Entity): in case of error, attach created
18477 entity to specification, so that semantic analysis can proceed.
18478
18479 2001-10-25 Robert Dewar <dewar@gnat.com>
18480
18481 * sem_util.adb
18482 (Defining_Entity): Deal with Error.
18483 (Process_End_Label): Deal with bad end label for.
18484
18485 2001-10-25 Ed Schonberg <schonber@gnat.com>
18486
18487 * sem_elab.adb (Check_A_Call): refine message when call is in an
18488 instance but callee is not declared in the generic unit.
18489
18490 2001-10-25 Ed Schonberg <schonber@gnat.com>
18491
18492 * sem_elab.adb (Check_A_Call): check for renaming before finding the
18493 enclosing unit, which may already be different from the calling unit.
18494
18495 2001-10-25 Geert Bosch <bosch@gnat.com>
18496
18497 * 4gintnam.ads: fix header format.
18498
18499 2001-10-25 Ed Schonberg <schonber@gnat.com>
18500
18501 * sem_res.adb (Resolve_Call): if the call is actually an indexing
18502 operation on the result of a parameterless call, perform elaboration
18503 check after the node has been properly rewritten.
18504
18505 * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
18506 inlined within the generic tree, the defining identifier is not a
18507 compilation_unit.
18508
18509 2001-10-25 Ed Schonberg <schonber@gnat.com>
18510
18511 * sem_res.adb (Resolve): special-case resolution of Null in an
18512 instance or an inlined body to avoid view conflicts.
18513
18514 * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
18515 compatibility by retrieving the access type of the generic copy.
18516
18517 2001-10-25 Robert Dewar <dewar@gnat.com>
18518
18519 * sem_ch3.adb:
18520 (Analyze_Number_Declaration): Handle error expression.
18521 (Signed_Integer_Type_Declaration): Handle error bound.
18522 (Analyze_Subtype_Indication): Handle error range.
18523
18524 * sem_util.adb (Get_Index_Bounds): Check for Error.
18525
18526 2001-10-25 Robert Dewar <dewar@gnat.com>
18527
18528 * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
18529 in no run time mode.
18530
18531 2001-10-25 Pascal Obry <obry@gnat.com>
18532
18533 * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
18534 mode case for ALLOC case.
18535
18536 * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
18537 all platforms. Improvement of last change.
18538
18539 2001-10-25 Robert Dewar <dewar@gnat.com>
18540
18541 * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
18542
18543 2001-10-25 Geert Bosch <bosch@gnat.com>
18544
18545 * osint.adb (Is_Relative): Remove duplicate.
18546
18547 2001-10-25 Pascal Obry <obry@gnat.com>
18548
18549 * osint.adb (Read_Default_Search_Dirs): correctly detect relative
18550 pathnames in UNIX and DOS style with drive letter.
18551 (Is_Relative): new routine.
18552
18553 * osint.adb: Minor reformatting
18554
18555 * osint.adb (Is_Relative): implementation using
18556 GNAT.OS_Lib.Is_Absolute_Path. Better fix.
18557
18558 2001-10-25 Pascal Obry <obry@gnat.com>
18559
18560 * g-dirope.adb (Basename): correctly compute offset between the
18561 original Path and the translated one.
18562
18563 * g-dirope.adb: (Base_Name): add some comments.
18564
18565 2001-10-25 Robert Dewar <dewar@gnat.com>
18566
18567 * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
18568 in HIE mode, avoids compilation abandoned message
18569
18570 * exp_imgv.adb: Correct typo in previous change
18571
18572 * exp_imgv.adb: Correct typo in previous change (not my day!)
18573
18574 2001-10-25 Robert Dewar <dewar@gnat.com>
18575
18576 * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
18577
18578 2001-10-25 Pascal Obry <obry@gnat.com>
18579
18580 * g-awk.ads: Move all pragma inlines next to the routine
18581 declarations. This is more uniform with other GNAT spec.
18582
18583 2001-10-22 Geert Bosch <bosch@gnat.com>
18584
18585 * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
18586
18587 2001-10-19 Geert Bosch <bosch@gnat.com>
18588
18589 * Makefile.in (tools, gnattools): Remove gnatmem.
18590
18591 2001-10-17 Richard Henderson <rth@redhat.com>
18592
18593 * Makefile.in (misc.o): Depend on langhooks.h.
18594 * misc.c: Include it.
18595 (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
18596 (LANG_HOOKS_DECODE_OPTION): New.
18597 (lang_hooks): Use LANG_HOOKS_INITIALIZER.
18598
18599 2001-10-16 Florian Weimer <fw@deneb.enyo.de>
18600
18601 * trans.c (tree_transform): Adjust to recent change in
18602 expand_asm_operands to implement named asm operands.
18603
18604 2001-10-11 Ed Schonberg <schonber@gnat.com>
18605
18606 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
18607 renaming of discriminant for mutable record type.
18608
18609 2001-10-11 Robert Dewar <dewar@gnat.com>
18610
18611 * validsw.adb: Properly save -gnatVn status.
18612
18613 2001-10-11 Robert Dewar <dewar@gnat.com>
18614
18615 * usage.adb: Add lines for V switch.
18616
18617 * gnatcmd.adb (COMPILE): Revise translations for -gnatV
18618 (/VALIDITY_CHECKING).
18619
18620 2001-10-11 Ed Schonberg <schonber@gnat.com>
18621
18622 * sem_type.adb (Add_One_Interp): an operator for a type declared in
18623 an extension of System is known to be visible.
18624
18625 2001-10-11 Ed Schonberg <schonber@gnat.com>
18626
18627 * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
18628 properly. Fixes regression on ACATS C34005G.
18629
18630 2001-10-11 Robert Dewar <dewar@gnat.com>
18631
18632 * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
18633 loop in generic instance, since this is likely not very useful.
18634
18635 2001-10-11 Robert Dewar <dewar@gnat.com>
18636
18637 * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
18638 the error message for high integrity mode.
18639
18640 * rtsfind.adb (RTE): Give message if we try to find an entity that
18641 is not available in high integrity mode.
18642
18643 * rtsfind.ads:
18644 (OK_To_Use_In_HIE_Mode): New array.
18645 (RTE): May return Empty in high integrity mode.
18646
18647 * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
18648 OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
18649
18650 * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
18651 unit if not inlined always and in no runtime mode. Fixes problem
18652 caused by new Rtsfind changes.
18653
18654 * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
18655 body is deleted.
18656
18657 * rtsfind.adb (RTE): Make sure we do not try to load unit after
18658 giving message for entity not available in high integrity mode.
18659
18660 2001-10-11 Pascal Obry <obry@gnat.com>
18661
18662 * impunit.adb: Add GNAT.CRC32.
18663
18664 2001-10-11 Ed Schonberg <schonber@gnat.com>
18665
18666 * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
18667 properly the case where one universal operand in a non-static
18668 exponentiation of a real literal.
18669
18670 2001-10-11 Ed Schonberg <schonber@gnat.com>
18671
18672 * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
18673 clause, return the gobal finalization list, for lack of anthing else.
18674
18675 2001-10-11 Ed Schonberg <schonber@gnat.com>
18676
18677 * exp_ch7.adb (Make_Transient_Block): if statement is within
18678 exception handler, always use new transient scope to place Clean
18679 procedure.
18680
18681 2001-10-11 Pascal Obry <obry@gnat.com>
18682
18683 * Makefile.in:
18684 (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
18685 (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
18686 (GNATLS_RTL_OBJS): add g-crc32.o
18687 (GNATMAKE_RTL_OBJS): add g-crc32.o
18688
18689 * ali-util.adb:
18690 (CRC_Match): new function.
18691 (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
18692 instead of the previous simple checksum algorithm.
18693 (Time_Stamp_Mismatch): use CRC_Match for comparison.
18694 (Set_Source_Table): idem.
18695
18696 * ali-util.ads:
18697 (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
18698 instead of simple checksum.
18699 (CRC_Match): new function.
18700 (CRC_Error): new constant.
18701
18702 * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
18703 a CRC now and not a simple checksum. A CRC uses lower-case hex
18704 letters, fixes ambiguity in parsing.
18705
18706 * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
18707 is what this variable will store.
18708
18709 * bcheck.adb: Change reference to chechsum in comments by CRC.
18710 (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
18711 rename All_Checksum_Match to All_CRC_Match. Change due to API
18712 renaming since now GNAT does not use a simple checksum but a
18713 CRC using GNAT.CRC32.
18714
18715 * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
18716 now and not anymore a simple checksum.
18717
18718 * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
18719 places.
18720
18721 * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
18722
18723 * scans.adb:
18724 (Restore_Scan_State): rename Checksum to CRC.
18725 (Save_Scan_State): idem.
18726
18727 * scans.ads:
18728 With GNAT.CRC32.
18729 (Checksum): rename to CRC.
18730 (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
18731
18732 * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
18733 GNAT.CRC32). Update copyright notice.
18734
18735 * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
18736 GNAT.CRC32). Update copyright notice.
18737
18738 * scn.adb:
18739 (Accumulate_Checksum): removed.
18740 (Update): new procedure. Add a wide-character into the CRC.
18741
18742 * sinput-l.adb:
18743 (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
18744 (Load_File): fix initialization of S (change Source_Checksum to
18745 Source_CRC)
18746
18747 * sinput-p.adb (Load_Project_File): rename Source_Checksum to
18748 Source_CRC in S initialization.
18749
18750 * sinput.adb (Source_Checksum): renamed to Source_CRC.
18751
18752 * sinput.ads (Source_Checksum): renamed to Source_CRC.
18753 Update comments for the CRC.
18754
18755 * types.adb (Hex): Use lowercase for the letter part.
18756
18757 * types.ads (Get_Hex_String): Returns the hexadecimal representation
18758 for a word. This is currently used only for CRC. In previous version,
18759 the checksum was using a representation with all letter being
18760 upper-case. With the new implementation (using CRC) we do not remove
18761 the 32th bit of the CRC, so we can have an upper-case starting letter
18762 in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
18763 It is ambigous since the CRC was optional and could be followed by
18764 options like EB, EE. So now this routines uses lower-case letter for
18765 the hexadecimal representation. Strange enough only lower case letters
18766 where checked in Scan_ALI (even if this was not a possible case).
18767
18768 * gnatvsn.ads (Library_Version): changed to 3.15a.
18769
18770 * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
18771 for the compiler.
18772
18773 * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
18774 for the compiler.
18775
18776 * ali-util.adb: Redo previous change to avoid using word CRC everywhere
18777 Add 2001 to copyright notice
18778 (Accumulate_Checksum): Modify to use System.CRC32.
18779
18780 * ali-util.ads: Redo changes of previous revision to continue to use
18781 the word Checksum. Add 2001 to copyright notice.
18782
18783 * ali.adb: Undo some of previous changes, not needed.
18784 Keep the change for lower case letters in the checksum.
18785
18786 * ali.ads: Undo previous change not needed.
18787
18788 * bcheck.adb: Undo most of previous change, not needed.
18789 But do use Checksums_Match for checksum comparison.
18790
18791 * gnatls.adb: Undo most of previous change, not needed.
18792 But do use Checksums_Match for comparing checksums.
18793
18794 * lib-load.adb: Undo previous change, not needed.
18795
18796 * lib-writ.adb: Undo previous change, not needed.
18797
18798 * lib-writ.ads: Document that checksums use lower case,
18799 not upper case letters.
18800
18801 * scans.adb: Undo previous change, not needed
18802
18803 * scans.ads: Undo previous change, not needed.
18804
18805 * scn-nlit.adb: Undo previous changes, not needed.
18806
18807 * scn-slit.adb: Undo previous change, not needed. Fix header format.
18808
18809 * scn.adb:
18810 (Accumulate_Checksum): Use System.CRC32.
18811 (Initialize_Checksum): New procedure.
18812 Remove other changes of previous revision.
18813
18814 * sinput-p.adb: Undo previous change, not needed.
18815
18816 * sinput.adb: Undo previous change, not needed.
18817
18818 * sinput-l.adb: Undo previous change, not needed.
18819
18820 * sinput.ads: Undo previous change, not needed. Keep only comment
18821 on new checksum algorithm
18822
18823 * Makefile.in: Add s-crc32 as needed, remove g-crc32.
18824 Also remove a-tags and a-stream from GNAT sources.
18825
18826 * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
18827
18828 * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
18829
18830 2001-10-11 Geert Bosch <bosch@gnat.com>
18831
18832 * einfo.h: Regenerate.
18833
18834 * nmake.ads: Regenerate.
18835
18836 * nmake.adb: Regenerate.
18837
18838 * sinfo.h: Regenerate.
18839
18840 * treeprs.adb: Regenerate.
18841
18842 2001-10-10 Geert Bosch <bosch@gnat.com>
18843
18844 * gnat-style.texi: New file describing coding guidelines for Ada.
18845
18846 2001-10-10 Ed Schonberg <schonber@gnat.com>
18847
18848 * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
18849 is Flag174.
18850
18851 2001-10-10 Geert Bosch <bosch@gnat.com>
18852
18853 * snames.ads: Add new names for project facility.
18854
18855 * snames.adb: Update to reflect snames.ads changes.
18856
18857 * snames.h: Update to reflect snames.ads changes.
18858
18859 2001-10-10 Vincent Celier <celier@gnat.com>
18860
18861 * make.adb:
18862 (Add_Switches): reflect the changes for the switches attributes
18863 Default_Switches indexed by the programming language,
18864 Switches indexed by the file name.
18865 (Collect_Arguments_And_Compile): Idem.
18866 Reflect the attribute name changes.
18867
18868 * prj-attr.adb:
18869 (Initialisation_Data): Change the names of some packages and
18870 attributes.
18871 (Initialize): process case insensitive associative arrays.
18872
18873 * prj-attr.ads:
18874 (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
18875
18876 * prj-dect.adb:
18877 (Parse_Attribute_Declaration): For case insensitive associative
18878 arrays, set the index string to lower case.
18879
18880 * prj-env.adb:
18881 Reflect the changes of the project attributes.
18882
18883 * prj-nmsc.adb:
18884 Replace Check_Naming_Scheme by Ada_Check and
18885 Language_Independent_Check.
18886
18887 * prj-nmsc.ads:
18888 Replaced Check_Naming_Scheme by 2 procedures:
18889 Ada_Check and Language_Independent_Check.
18890
18891 * prj-proc.adb:
18892 (Process_Declarative_Items): For case-insensitive associative
18893 arrays, set the index string to lower case.
18894 (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
18895 Prj.Nmsc.Check_Naming_Scheme.
18896
18897 * prj-tree.adb:
18898 (Case_Insensitive): New function
18899 (Set_Case_Insensitive): New procedure
18900
18901 * prj-tree.ads:
18902 (Case_Insensitive): New function
18903 (Set_Case_Insensitive): New procedure
18904 (Project_Node_Record): New flag Case_Insensitive.
18905
18906 * prj-util.adb:
18907 (Value_Of): new function to get the string value of a single
18908 string variable or attribute.
18909
18910 * prj-util.ads:
18911 (Value_Of): new function to get the string value of a single
18912 string variable or attribute.
18913
18914 * prj.adb:
18915 (Ada_Default_Spec_Suffix): New function
18916 (Ada_Default_Impl_Suffix): New function
18917 Change definitions of several constants to reflect
18918 new components of record types.
18919
18920 * prj.ads:
18921 (Naming_Data): Change several components to reflect new
18922 elements of naming schemes.
18923 (Project_Data): New flags Sources_Present and
18924 Language_Independent_Checked.
18925 (Ada_Default_Spec_Suffix): New function.
18926 (Ada_Default_Impl_Suffix): New function.
18927
18928 * snames.ads:
18929 Modification of predefined names for project manager: added
18930 Implementation, Specification_Exceptions, Implementation_Exceptions,
18931 Specification_Suffix, Implementation_Suffix, Separate_Suffix,
18932 Default_Switches, _Languages, Builder, Cross_Reference,
18933 Finder. Removed Body_Part, Specification_Append, Body_Append,
18934 Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
18935 Gnatlink.
18936
18937 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
18938 Add comments.
18939
18940 * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
18941 not that it is Nil_Variable_Value.
18942
18943 * prj.ads: Add ??? for uncommented declarations
18944
18945 2001-10-10 Ed Schonberg <schonber@gnat.com>
18946
18947 * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
18948 constant, do not indicate possible modification, so that gigi can
18949 treat it as a bona fide constant.
18950
18951 2001-10-10 Robert Dewar <dewar@gnat.com>
18952
18953 * sem_prag.adb: Add processing for pragma External.
18954
18955 * snames.ads: Add entry for pragma External.
18956
18957 * par-prag.adb: Add pragma External.
18958
18959 * snames.adb: Updated to match snames.ads.
18960
18961 2001-10-10 Ed Schonberg <schonber@gnat.com>
18962
18963 * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
18964 a dynamic task if the allocator appears in an indexed assignment
18965 or selected component assignment.
18966
18967 * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
18968 For a dynamic task in an assignment statement, use target of
18969 assignment to generate meaningful name.
18970
18971 2001-10-10 Ed Schonberg <schonber@gnat.com>
18972
18973 * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
18974 a generic package.
18975
18976 * einfo.ads: Body_Entity is also defined for generic package.
18977 Documentation change only
18978
18979 * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
18980 others_choice for a discriminated component initialization,
18981 convert discriminant references into the corresponding discriminals.
18982
18983 * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
18984 only if original type is private and expression has to be wrapped
18985 in a conversion.
18986
18987 * checks.adb:
18988 (Apply_Constraint_Check): Do not perform length check
18989 if expression is an aggregate with only an others_choice.
18990 (Length_N_Cond): two references to the same in_parameter
18991 (typically the discriminal in an init_proc) denote the same value.
18992 Two useful optimization uncovered by bugfixes above.
18993
18994 2001-10-10 Robert Dewar <dewar@gnat.com>
18995
18996 * xeinfo.adb: Change int to char in translation of enumeration types.
18997 This fixes a problem in the C representation of component alignment.
18998 Add 2001 to copyright notice
18999
19000 2001-10-10 Richard Kenner <kenner@gnat.com>
19001
19002 * decl.c: (validate_size): Do check size of object of integral type
19003 if it is a packed array type.
19004
19005 2001-10-10 Richard Kenner <kenner@gnat.com>
19006
19007 * decl.c: (gnat_to_gnu_entity, case object): Also materialize
19008 VAR_DECL for constant if not Is_Public but -O0.
19009
19010 2001-10-10 Richard Kenner <kenner@gnat.com>
19011
19012 * misc.c (struct lang_hooks): Add new initializer to match GCC change.
19013
19014 2001-10-10 Geert Bosch <bosch@gnat.com>
19015
19016 * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
19017 use '/' as switch character, allowing for absolute file names.
19018
19019 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
19020
19021 * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
19022 FSF address.
19023
19024 2001-10-08 Geert Bosch <bosch@gnat.com>
19025
19026 * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
19027 Automatically build utilities when files need to be regenerated.
19028
19029 2001-10-08 Geert Bosch <bosch@gnat.com>
19030
19031 * xsnames.adb: New utility for updating snames.ads and snames.adb
19032
19033 2001-10-08 Zack Weinberg <zack@codesourcery.com>
19034
19035 * Make-lang.in (ADAFLAGS): Add -W -Wall.
19036 (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
19037 (gnat1): Also depend on attribs.o.
19038 (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
19039 * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
19040 (ADAC): Set to @ADAC@ in stage1, $(CC) later.
19041 (ADAFLAGS): Add -W -Wall.
19042 (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
19043 take out CFLAGS.
19044
19045 (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
19046 s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
19047 s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
19048 Use $(ADAC), not $(CC), as compilation command.
19049
19050 (gnattools): Depend directly on tools to build, don't use
19051 recursive make.
19052 (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
19053
19054 * einfo.h, sinfo.h: New files (autogenerated).
19055
19056 2001-10-08 Richard Henderson <rth@redhat.com>
19057
19058 * comperr.adb (Abort_In_Progress): New.
19059 (Compiler_Abort): Use it to prevent recursion.
19060
19061 2001-10-08 Robert Dewar <dewar@gnat.com>
19062
19063 * atree.adb: Set Error_Posted in Error node, helps error recovery.
19064
19065 * par-endh.adb (Output_End_Expected): We should also not test
19066 Error_Posted on the Error node, since now it is always set.
19067
19068 * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
19069 to help error recovery. Part of general work on 9407-004.
19070
19071 * par.adb: Add ??? for misuse of error
19072
19073 * sem_res.adb:
19074 (Resolve): Defend against Error, fixes 9407-003.
19075 (Resolve_Discrete_Subtype_Indication): Defend against Error.
19076
19077 * sinfo.ads (N_Error): Now has Etype field (which will be set
19078 to Any_Type to help error recovery).
19079
19080 2001-10-08 Richard Kenner (kenner@gnat.com)
19081
19082 * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
19083 Consistently set MEM attributes from expression; fixes
19084 bootstrap failure on x86.
19085
19086 2001-10-08 Geert Bosch (bosch@gnat.com)
19087
19088 * 5oosinte.adb: Add 2001 to copyright notice.
19089
19090 2001-10-08 Geert Bosch (bosch@gnat.com)
19091
19092 * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
19093
19094 * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
19095
19096 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
19097
19098 * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
19099
19100 2001-10-05 Geert Bosch (bosch@gnat.com)
19101
19102 * adaint.h: Small formatting fix.
19103
19104 2001-10-04 Geert Bosch <bosch@gnat.com>
19105
19106 * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
19107 Arg is int, not FILE *, in dummy version of functions.
19108
19109 * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
19110 Arg is int, not FILE *.
19111
19112 2001-10-04 Geert Bosch <bosch@gnat.com>
19113
19114 * 3lsoccon.ads: Added file, missed with initial check ins.
19115
19116 * 4lintnam.ads: Fix header format.
19117 Change Linux to GNU/Linux.
19118
19119 * 5iosinte.adb: Change Linux to GNU/Linux.
19120
19121 * 5iosinte.ads: Change Linux to GNU/Linux.
19122
19123 * 5itaprop.adb: Change Linux to GNU/Linux.
19124
19125 * 5itaspri.ads: Change Linux to GNU/Linux.
19126 Update copyright notice.
19127
19128 * 5lintman.adb: Change Linux to GNU/Linux.
19129
19130 * 5lml-tgt.adb: Change Linux to GNU/Linux.
19131
19132 * 5losinte.ads: Change Linux to GNU/Linux.
19133
19134 * 5lsystem.ads: Change Linux to GNU/Linux.
19135
19136 * 5qosinte.adb: Change Linux to GNU/Linux.
19137
19138 * 5qosinte.ads: Change Linux to GNU/Linux.
19139
19140 * 5qparame.ads: Change Linux to GNU/Linux.
19141
19142 * 5qtaprop.adb: Change Linux to GNU/Linux.
19143
19144 * 5qtaspri.ads: Change Linux to GNU/Linux.
19145 Add 2001 to copyright notice.
19146
19147 * 5vintman.ads: Change Linux to GNU/Linux.
19148 Fix header format. Add 2001 to copyright notice.
19149
19150 * g-soccon.ads: Change Linux to GNU/Linux.
19151
19152 * g-trasym.ads: Change Linux to GNU/Linux.
19153 Add 2001 to copyright notice.
19154
19155 * memtrack.adb: Change Linux to GNU/Linux.
19156
19157 * s-intman.ads: Change Linux to GNU/Linux.
19158 Add 2001 to copyright notice. Fix header format.
19159
19160 * s-stache.adb: Change Linux to GNU/Linux.
19161
19162 * adaint.c: Change Linux to GNU/Linux.
19163
19164 * cio.c: Change Linux to GNU/Linux.
19165
19166 * cstreams.c: Change Linux to GNU/Linux.
19167
19168 * init.c: Change Linux to GNU/Linux.
19169
19170 * gmem.c: Change Linux to GNU/Linux.
19171
19172 * tracebak.c: Change Linux to GNU/Linux.
19173
19174
19175 2001-10-02 Geert Bosch <bosch@gnat.com>
19176
19177 * misc.c (insert_default_attributes): Add dummy version.
This page took 0.786407 seconds and 6 git commands to generate.