1 2005-07-07 Pascal Obry <obry@adacore.com>
3 * g-socthi-mingw.adb (C_Inet_Addr): New body used to convert the
4 returned type on Windows.
6 * g-socthi-mingw.ads (C_Inet_Addr): Remove pragma Import for this
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".
13 2005-07-07 Vincent Celier <celier@adacore.com>
15 * bindgen.adb (Gen_Output_File_C): When switch -a was specified, put
16 the destructor/constructor attributes for <lib>final/<lib>init.
18 * gnatbind.adb (Gnatbind): Allow -a to be used in conjunction with -C
20 2005-07-07 Eric Botcazou <ebotcazou@adacore.com>
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.
25 2005-07-07 Javier Miranda <miranda@adacore.com>
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.
31 * exp_ch6.adb (Freeze_Subprogram): Reimplementation of the support for
32 abstract interface types in order to leave the code clearer and easier
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
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.
46 2005-07-07 Javier Miranda <miranda@adacore.com>
48 * freeze.adb (Freeze_Entity): Check wrong uses of tag incomplete types.
50 * par-ch3.adb (P_Type_Declaration): Give support to tagged incomplete
53 type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
56 * sem_attr.adb (Check_Not_Incomplete_Type): Additional checks for wrong
57 use of tag incomplete types.
59 * sem_ch3.adb (Analyze_Incomplete_Type): Add mininum decoration to
60 give support to tagged incomplete types.
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.
68 * sem_ch6.adb (Process_Formals): Allow the use of tagged incomplete
71 * sem_res.adb (Resolve_Explicit_Dereference): Allow the use of tagged
74 * sinfo.adb (Taggged_Present/Set_Taggged_Present): Applicable to
75 N_Incomplete_Type_Declaration nodes.
77 * sinfo.ads (N_Incomplete_Type_Declaration): Addition of attribute
78 Tag_Present to give support to tagged incomplete types:
80 type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
83 2005-07-07 Olivier Hainque <hainque@adacore.com>
87 * raise.c: Only include unwind.h if IN_RTS, and provide dummy type
88 definitions for the Unwind wrappers in the compiler case.
90 2005-07-07 Ed Schonberg <schonberg@adacore.com>
91 Javier Miranda <miranda@adacore.com>
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.
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
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.
115 * sem_ch4.adb (Analyze_Selected_Component): Check wrong use of
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.
122 2005-07-07 Ed Schonberg <schonberg@adacore.com>
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.
128 2005-07-07 Bernard Banner <banner@adacore.com>
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.
134 2005-07-07 Thomas Quinot <quinot@adacore.com>
136 * expect.c: Minor reformatting
138 2005-07-07 Sergey Rybin <rybin@adacore.com>
140 * vms_data.ads: Add VMS qualifiers for new gnatpp switch
143 * gnat_ugn.texi: Add description for new gnatpp option
146 2005-07-04 Thomas Quinot <quinot@adacore.com>
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.
152 2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
153 Olivier Hainque <hainque@adacore.com>
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.
160 * init.c (Tru64 section): New function __gnat_set_code_loc.
162 2005-07-04 Vincent Celier <celier@adacore.com>
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.
170 * adaint.h, adaint.c (__gnat_binder_supports_auto_init,
171 __gnat_sals_init_using_constructors): New functions.
173 * bindgen.adb (Gen_Output_File_Ada): Generate pragmas
174 Linker_Constructor and Linker_Destructor when switch -a is used.
176 * bindusg.adb: Add line for new switch -a
178 * gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
179 (Gnatbind): When switch -a is used, check if it is allowed
181 * switch-b.adb (Scan_Binder_Switches): Process new switch -a
183 2005-07-04 Joel Brobecker <brobecker@adacore.com>
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.
190 2005-07-04 Gary Dismukes <dismukes@adacore.com>
191 Ed Schonberg <schonberg@adacore.com>
192 Javier Miranda <miranda@adacore.com>
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.
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.
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
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.
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.
217 2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
219 * decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
220 <Pragma_Linker_Destructor>: Likewise.
222 * einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
223 Pragma_Linker_Destructor.
225 * gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
226 ATTR_LINK_DESTRUCTOR.
227 (static_ctors, static_dtors): New variables.
229 * misc.c (gnat_expand_body): Output current function as constructor
230 and destructor if requested.
232 * par-prag.adb: Add processing for pragma Linker_Constructor and
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.
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.
247 * trans.c: Include cgraph.h.
248 (build_global_cdtor): New function.
249 (Compilation_Unit_to_gnu): Build global constructor and destructor if
251 (tree_transform) <N_Identifier>: Substitute renaming of view-conversions
253 (addressable_p) <COMPONENT_REF>: Unconditionally test
254 DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.
256 * utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
257 variable if it is external.
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
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
271 2005-07-04 Ed Schonberg <schonberg@adacore.com>
273 * exp_attr.adb (Mod): Evaluate condition expression with checks off,
274 to prevent spurious warnings.
276 2005-07-04 Thomas Quinot <quinot@adacore.com>
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
284 2005-07-04 Ed Schonberg <schonberg@adacore.com>
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.
292 2005-07-04 Vincent Celier <celier@adacore.com>
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
298 2005-07-04 Matthew Gingell <gingell@adacore.com>
300 * Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adb
302 * indepsw-linux.adb: Replace by...
304 * indepsw-gnu.adb: ...this new file
306 2005-07-04 Vincent Celier <celier@adacore.com>
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.
313 * mlib-tgt.ads: Minor reformatting
315 * mlib-utl.ads: Minor reformatting
317 * opt.ads: (Use_Pragma_Linker_Constructor): New Boolean flag
319 2005-07-04 Ed Schonberg <schonberg@adacore.com>
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
327 2005-07-04 Javier Miranda <miranda@adacore.com>
329 * par-load.adb: Load the context items in two rounds.
331 2005-07-04 Robert Dewar <dewar@adacore.com>
333 * scng.adb: Do not consider Mod used as an attribute to be a keyword
335 2005-07-04 Ed Schonberg <schonberg@adacore.com>
336 Javier Miranda <miranda@adacore.com>
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.
346 2005-07-04 Thomas Quinot <quinot@adacore.com>
348 * sem_ch4.adb (Transform_Object_Operation): For an actual that is an
349 overloaded function call, carry interpretations from the original tree
352 2005-07-04 Ed Schonberg <schonberg@adacore.com>
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.
358 2005-07-04 Gary Dismukes <dismukes@adacore.com>
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.
364 2005-07-04 Thomas Quinot <quinot@adacore.com>
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.
369 2005-07-04 Ed Schonberg <schonberg@adacore.com>
371 * sem_type.adb (Covers): Verify that Corresponding_Record_Type is
372 present before checking whether an interface type covers a synchronized
375 2005-07-04 Ed Schonberg <schonberg@adacore.com>
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.
381 2005-07-04 Robert Dewar <dewar@adacore.com>
385 * s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix
387 2005-07-04 Matthew Gingell <gingell@adacore.com>
389 * tracebak.c: Enable tracebacks on ia64 platforms
391 2005-07-04 Vincent Celier <celier@adacore.com>
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.
397 2005-07-04 Vincent Celier <celier@adacore.com>
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
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.
406 2005-07-04 Matthew Heaney <heaney@adacore.com>
408 * a-convec.ads, a-coinve.ads: Declaration of subtype Extended_Index
410 * a-coinve.adb: Perform constraint checks explicitly.
412 2005-07-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
413 Thomas Quinot <quinot@adacore.com>
415 * Make-lang.in: (ada/targtyps.o): Add missing TREE_H dependency.
416 new target gen-soccon.
418 2005-07-04 Robert Dewar <dewar@adacore.com>
420 * s-mastop-irix.adb, s-mastop-vms.adb: Minor reformatting
422 2005-07-04 Thomas Quinot <quinot@adacore.com>
424 * g-socket.ads (Check_Selector): Minor rewording of comment.
426 2005-07-04 Vincent Celier <celier@adacore.com>
428 * vms_data.ads: Add VMS qualifiers for new gnatpp switch --eol=
430 2005-07-04 Thomas Quinot <quinot@adacore.com>
432 * gen-soccon.c: Add constants SO_SNDTIMEO and SO_RCVTIMEO.
434 2005-07-04 Sergey Rybin <rybin@adacore.com>
436 * gnat_ugn.texi: Add description of --eol gnatpp option
438 2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
439 Thomas Quinot <quinot@adacore.com>
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
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.
450 2005-07-04 Arnaud Charlet <charlet@adacore.com>
452 * s-stausa.ads, s-stausa.adb: New files.
454 2005-06-30 Kelley Cook
456 * all files: Update FSF address in copyright headers.
457 * gen-soccon.co (main): Output new FSF address in generated files.
459 2005-06-28 Paul Brook <paul@codesourcery.com>
461 * misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
463 2005-06-14 Olivier Hainque <hainque@adacore.com>
464 Eric Botcazou <ebotcazou@adacore.com>
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
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
476 2005-06-14 Doug Rupp <rupp@adacore.com>
478 * g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
480 * g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb: New files
482 2005-06-14 Pascal Obry <obry@adacore.com>
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
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.
623 2005-06-14 Jose Ruiz <ruiz@adacore.com>
624 Arnaud Charlet <charlet@adacore.com>
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.
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.
641 * s-osinte-mingw.ads (pCRITICAL_SECTION): Remove this type which is no
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.
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
656 (Set_False): Add this procedure that sets the state of the suspension
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
667 (Finalize): Add this procedure for finalizing the suspension object,
668 destroying the mutex and the condition variable.
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.
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.
687 * s-inmaop-posix.adb, s-inmaop-vms.adb, s-inmaop-dummy.adb,
688 (Setup_Interrupt_Mask): New procedure.
690 * s-intman-vxworks.ads, s-intman-vxworks.adb: Update comments.
692 * s-inmaop.ads (Setup_Interrupt_Mask): New procedure
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.
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
702 2005-06-14 Robert Dewar <dewar@adacore.com>
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).
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
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
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
733 * a-ztenau.adb: Add with of Ada.Characters.Conversions
735 * a-chacon.ads, a-chacon.adb: New files.
737 * a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
738 categorization violations.
740 * a-strmap.ads: Add pragma Pure_05 for AI-362
741 * a-strmap.ads: Add note on implicit categorization for AI-362
743 * a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
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
750 * sem.adb: Make sure predefined units are compiled with GNAT_Mode true
751 when needed for proper processing of categorization stuff
754 For several cases, make errors in preealborate units warnings,
755 instead of errors, if GNAT_Mode is set. For AI-362.
757 * sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
758 preelaborate unit is now warning if in GNAT mode
760 * s-stoele.ads: Document AI-362 for pragma preelaborate
762 2005-06-14 Doug Rupp <rupp@adacore.com>
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.
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
773 2005-06-14 Vincent Celier <celier@adacore.com>
775 * gnatsym.adb: Adapt to modification of package Symbols: procedure
776 Process is now in package Processing.
778 * symbols.ads, symbols.adb:
779 (Processing): New package, containing procedure Process
781 * symbols-vms-alpha.adb:
782 Replaced by symbols-vms.adb and symbols-processing-vms-alpha.adb
784 * symbols-vms.adb, symbols-processing-vms-alpha.adb,
785 symbols-processing-vms-ia64.adb: New files.
787 2005-06-14 Pascal Obry <obry@adacore.com>
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.
794 2005-06-14 Doug Rupp <rupp@adacore.com>
795 Pascal Obry <obry@adacore.com>
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.
806 2005-06-14 Robert Dewar <dewar@adacore.com>
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
812 2005-06-14 Robert Dewar <dewar@adacore.com>
814 * ali-util.adb, gnatbind.adb: Remove references to
815 Force_RM_Elaboration_Order.
817 * switch-b.adb: Remove recognition of -f switch
819 2005-06-14 Pascal Obry <obry@adacore.com>
821 * a-stzunb.adb, a-stwiun.adb, a-strunb.adb (Realloc_For_Chunk): New
822 implementation which is slightly more efficient.
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>
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.
835 (Tagged_Membership): Modified to gives support to abstract interface
838 * a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
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
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.
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.
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).
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
896 (Collect_All_Interfaces): New subprogram that collects the whole list
897 of interfaces that are directly or indirectly implemented by a tagged
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
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
917 * rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
918 RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
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
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
934 (Check_Anonymous_Access_Types): Before full analysis of a record type
935 declaration, create anonymous access types for each self-referential
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
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
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
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
987 * debug.adb: Complete documentation of flag "-gnatdZ"
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
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
1001 (Expand_N_Object_Declaration): Do not generate an initialization for
1002 a scalar temporary marked as internal.
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
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.
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
1027 (Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
1028 previous ones that return the corresponding tag and access_disp_table
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.
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
1041 * par-ch3.adb (P_Identifier_Declarations): Give an error for use of
1042 "constant access" and "aliased [constant] access" when not compiling
1044 Suppress Ada 2005 keyword warning if -gnatwY used
1045 (P_Identifier_Declarations): Add support for object declarations with
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.
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
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.
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
1075 (Check_Overriding_Indicator): Check consistency of overriding indicator
1076 on subprogram stubs as well.
1077 (Analyze_Subprogram_Declaration): Diagnose null procedures declared at
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
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
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
1103 (Analyze_Subprogram_Declaration): Indicate that a null procedure is
1105 If the subprogram is a null procedure, indicate that it does not need
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
1113 (Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
1114 to give support to abstract interface types
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
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.
1150 * sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
1151 Has_Compatible_Type): Modified to give support to abstract interface
1153 (Interface_Present_In_Ancestor): New function to theck if some ancestor
1154 of a given type implements a given interface
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
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.
1166 2005-06-14 Robert Dewar <dewar@adacore.com>
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.
1171 2005-06-14 Robert Dewar <dewar@adacore.com>
1173 * atree.adb: (Elist*): Protect against uninitialized field
1175 2005-06-14 Ed Schonberg <schonberg@adacore.com>
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.
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.
1188 2005-06-14 Vincent Celier <celier@adacore.com>
1190 * clean.adb (Clean_Project): Correctly delete executable specified as
1191 absolute path names.
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
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.
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>
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):
1227 (Set_Has_Specified_Stream_Input, Set_Has_Specified_Stream_Output,
1228 Set_Has_Specified_Stream_Read, Set_Has_Specified_Stream_Write):
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
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.
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
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.
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.
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
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.
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
1311 * sem_cat.adb (Validate_Access_Type_Declaration): Implement AI-366
1312 relaxation of rules for access types in pure, shared passive partitions.
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.
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.
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
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
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
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.
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
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
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:
1388 GENERIC_INSTANTIATION
1389 SUBPROGRAM_SPECIFICATION
1391 * par-ch10.adb (P_Compilation_Unit): Subprogram declaration or body
1392 can start with an overriding indicator.
1394 * par-ch6.adb (P_Subprogram): Recognize overriding indicator, and set
1395 flags accordingly on subrogram specifications or instances.
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
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.
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
1415 * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
1418 2005-06-14 Ed Schonberg <schonberg@adacore.com>
1419 Robert Dewar <dewar@adacore.com>
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
1425 2005-06-14 Ed Schonberg <schonberg@adacore.com>
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.
1435 2005-06-14 Thomas Quinot <quinot@adacore.com>
1437 * exp_ch2.adb (Param_Entity): Take the case of an expanded_name
1438 denoting a formal parameter into account.
1440 2005-06-14 Ed Schonberg <schonberg@adacore.com>
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.
1446 2005-06-14 Nicolas Setton <setton@adacore.com>
1447 Ed Schonberg <schonberg@adacore.com>
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.
1456 2005-06-14 Thomas Quinot <quinot@adacore.com>
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
1464 2005-06-14 Robert Dewar <dewar@adacore.com>
1466 * exp_intr.adb, par-ch5.adb: Minor fix to error message text
1468 2005-06-14 Jose Ruiz <ruiz@adacore.com>
1470 * fe.h: Add entry for Opt.Exception_Locations_Suppressed so that gigi
1471 can determine whether pragma Suppress_Exception_Locations is in effect.
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.
1477 2005-06-14 Emmanuel Briot <briot@adacore.com>
1479 * g-debpoo.adb (Deallocate, Dereference): Improve output.
1481 2005-06-14 Nicolas Roche <roche@adacore.com>
1483 * g-diopit.adb (Wildcard_Iterator): Return directly if Path is equal
1485 (Next_Level): Fix minor bug in handling of ../dir case
1486 (Read): Add dir separator to Directory name so that "" is understood as
1489 2005-06-14 Pascal Obry <obry@adacore.com>
1491 * g-dynhta.ads, g-dynhta.adb (Reset): Free the table itself after
1492 releasing the items.
1494 2005-06-14 Vincent Celier <celier@adacore.com>
1495 Cyrille Comar <comar@adacore.com>
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.
1502 2005-06-14 Thomas Quinot <quinot@adacore.com>
1506 * g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
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.
1515 2005-06-14 Gary Dismukes <dismukes@adacore.com>
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
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
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>
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.
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.
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.
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.
1560 2005-06-14 Ed Schonberg <schonberg@adacore.com>
1561 Emmanuel Briot <briot@adacore.com>
1563 * lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
1564 declared within an inlined body as referenced, to prevent spurious
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
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.
1577 * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
1578 to store information about instantiated entities.
1580 * ali.adb (Scan_ALI): Add support for parsing the reference to the
1583 * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
1584 (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
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>
1592 * Make-lang.in: Add initialize.o when needed.
1593 Remove obsolete references to RT_FLAGS.
1594 Add missing dependencies for sdefault.o
1596 * initialize.c: New file.
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
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
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.
1618 2005-06-14 Pascal Obry <obry@adacore.com>
1620 * mdll.adb (Get_Dll_Name): New routine that returns the DLL name given
1623 2005-06-14 Robert Dewar <dewar@adacore.com>
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
1631 * switch-c.adb: Recognize -gnatwy/Y
1632 Set Ada_Version_Explicit, for implementation of AI-362
1633 The -gnatg switch now includes -gnatyu
1635 * usage.adb: Add -gnatwy/Y
1636 Remove wrong asterisk on -gnatwX line
1637 Add line for -gnatyu switch
1639 2005-06-14 Vincent Celier <celier@adacore.com>
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.
1645 2005-06-14 Robert Dewar <dewar@adacore.com>
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
1652 2005-06-14 Vincent Celier <celier@adacore.com>
1654 * prep.adb (Preprocess): Ignore error when scanning the first token of
1657 2005-06-14 Vincent Celier <celier@adacore.com>
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.
1665 2005-06-14 Vincent Celier <celier@adacore.com>
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
1676 2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
1678 * s-atacco.ads: Put a pragma No_Strict_Aliasing on Object_Pointer.
1680 2005-06-14 Robert Dewar <dewar@adacore.com>
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
1686 * style.ads, styleg.ads, styleg.adb: Implement new style switch -gnatyu
1688 * stylesw.ads, stylesw.adb: Implement new style switch -gnatyu
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
1694 * nmake.adt: Modify header so that xnmake does not generate output
1695 files with multiple blank lines.
1697 * treeprs.adt: Remove a blank line so that output from xtreeprs does
1698 not have an extra blank line
1700 2005-06-14 Gary Dismukes <dismukes@adacore.com>
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.
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
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.
1715 2005-06-14 Ed Schonberg <schonberg@adacore.com>
1717 * sem_case.adb (Expand_Others_Choice): Improve warning.
1719 2005-06-14 Ed Schonberg <schonberg@adacore.com>
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.
1726 2005-06-14 Robert Dewar <dewar@adacore.com>
1727 Ed Schonberg <schonberg@adacore.com>
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
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
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
1755 * tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function
1757 2005-06-14 Ed Schonberg <schonberg@adacore.com>
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.
1763 2005-06-14 Thomas Quinot <quinot@adacore.com>
1765 * s-strxdr.adb: Follow AI95-00132
1767 2005-06-14 Arnaud Charlet <charlet@adacore.com>
1769 * s-tasren.adb (Exceptional_Complete_Rendezvous): Fix race condition.
1771 2005-06-14 Arnaud Charlet <charlet@adacore.com>
1772 Jose Ruiz <ruiz@adacore.com>
1774 * s-tposen.adb, s-tpobop.adb
1775 (Exceptional_Complete_Rendezvous): Save the occurrence and not only
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.
1784 2005-06-14 Robert Dewar <dewar@adacore.com>
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
1792 * nmake.adt: Modify header so that xnmake does not generate output
1793 files with multiple blank lines.
1795 * treeprs.adt: Remove a blank line so that output from xtreeprs does
1796 not have an extra blank line
1798 2005-06-14 Sergey Rybin <rybin@adacore.com>
1800 * styleg-c.adb (Body_With_No_Spec): Remove ':' from warning message.
1802 2005-06-14 Doug Rupp <rupp@adacore.com>
1803 Vincent Celier <celier@adacore.com>
1805 * vms_conv.ads, vms_conv.adb: Remove "Library" command.
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
1812 Remove useless second style check keyword NONE
1813 Remove help documentation for inexistent style check keyword
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
1820 * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
1822 2005-06-14 Vincent Celier <celier@adacore.com>
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
1833 2005-06-14 Matthew Heaney <heaney@adacore.com>
1835 * a-swunha.ads, a-swunha.adb: Removed. Replaced by a-swuwha.ad[sb]
1836 * a-swuwha.ads, a-swuwha.adb: New files
1838 * a-szunha.ads, a-szunha.adb: Removed, replaced by a-szuzha.ad[sb]
1839 * a-szuzha.ads, a-szuzha.adb: New files.
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
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>
1858 * gigi.h: (build_allocator): Add arg IGNORE_INIT_TYPE.
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
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
1868 (tree_transform, case N_Return_Statement): Pass extra arg to
1871 * decl.c (annotate_value): Remove early return if -gnatR is not
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.
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
1883 (create_concat_name): Idem.
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>
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.
1901 Commented out menu lines and empty section for gnatclean examples
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
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.
1921 * g-trasym.ads: Document that IRIX is supported
1923 2005-06-10 Arnaud Charlet <charlet@adacore.com>
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.
1929 * a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files.
1930 * a-zchara.ads, a-widcha.ads: New files.
1932 * system-hpux-ia64.ads: New file.
1934 * i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which
1935 is imported from the VxWorks kernel.
1937 2005-06-14 Robert Dewar <dewar@adacore.com>
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.
1952 2005-06-14 Thomas Quinot <quinot@adacore.com>
1954 * xeinfo.adb: Fix typo in comment
1956 2005-06-14 Javier Miranda <miranda@adacore.com>
1958 * repinfo.ads: Fix typo in comment
1960 2005-06-14 Gary Dismukes <dismukes@adacore.com>
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.
1967 2005-06-14 Bernard Banner <banner@adacore.com>
1969 * vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should
1970 also apply for handling support for VxSim 653.
1972 2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
1974 * xsnames.adb: Add automatic generation of snames.h.
1976 2005-06-14 Thomas Quinot <quinot@adacore.com>
1978 * gen-soccon.c: Add IP_MULTICAST_IF constant
1979 Minor reformatting and adjustments to prevent warnings.
1981 2005-06-14 Pascal Obry <obry@adacore.com>
1983 * seh_init.c: Do not include <sys/stat.h>. This is not needed.
1985 2005-06-03 Andrew Pinski <pinskia@physics.uc.edu>
1987 * trans.c (gnat_gimplify_expr): Call
1988 recompute_tree_invarant_for_addr_expr when we change
1989 the operand of the ADDR_EXPR.
1991 2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1993 * misc.c: Don't include errors.h.
1995 2005-05-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1997 * raise.c (db): Add ATTRIBUTE_PRINTF_2.
1999 2005-05-29 Kazu Hirata <kazu@cs.umass.edu>
2001 * cal.c, decl.c, init.c, raise.c, trans.c, utils2.c: Fix
2003 * gnat_rm.texi, gnat_ugn.texi: Fix typos.
2005 2005-05-16 Nathanael Nerode <neroden@gcc.gnu.org>
2008 * Makefile.in: Make TGT_LIB behave correctly.
2010 2005-04-23 DJ Delorie <dj@redhat.com>
2012 * misc.c: Adjust warning() callers.
2014 2005-04-16 Laurent GUERBY <laurent@guerby.net>
2017 * a-nudira.adb (Value): Check for valid string.
2018 * a-nuflra.adb (Value): Likewise.
2020 2005-04-11 Richard Sandiford <rsandifo@redhat.com>
2022 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
2024 2005-04-10 Kazu Hirata <kazu@cs.umass.edu>
2026 * adaint.c, init.c, tracebak.c: Fix comment typos.
2027 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.
2029 2005-04-07 Laurent GUERBY <laurent@guerby.net>
2030 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
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.
2036 2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
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
2042 2005-03-30 Tom Tromey <tromey@redhat.com>
2044 * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
2046 2005-03-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2048 * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
2050 2005-03-29 Robert Dewar <dewar@adacore.com>
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
2056 * opt.ads (Warn_On_Bad_Fixed_Value): New flag
2058 * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
2061 * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
2063 2005-03-29 Vincent Celier <celier@adacore.com>
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.
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
2074 2005-03-29 Doug Rupp <rupp@adacore.com>
2076 * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
2079 2005-03-29 Javier Miranda <miranda@adacore.com>
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.
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.
2090 * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
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.
2096 * rtsfind.ads: Remove support to call the run-time
2099 2005-03-29 Robert Dewar <dewar@adacore.com>
2101 * errutil.adb, errout.adb:
2102 Minor comment updates on Line_Terminator references
2104 * par-ch10.adb: Add ??? comment about line terminator
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.
2112 * styleg.adb: Add ??? comment for line terminator reference
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)
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.
2123 * stylesw.ads, stylesw.adb:
2124 Add handling for new -gnatyd switch (check dos line terminator)
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
2131 Add line for new -gnatyd switch (check dos line terminator)
2133 * usage.adb: Add lines for -gnatwb/-gnatwB
2135 * vms_data.ads: Add entry for NOCRLF (-gnatyd)
2137 * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
2139 * gnat_ugn.texi: Fix overlong lines
2140 Document new -gnatyd switch
2141 Document new -gnatwb/-gnatwB switches
2143 2005-03-29 Ed Schonberg <schonberg@adacore.com>
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.
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
2153 2005-03-29 Thomas Quinot <quinot@adacore.com>
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).
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.
2167 2005-03-29 Gary Dismukes <dismukes@adacore.com>
2168 Robert Dewar <dewar@adacore.com>
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.
2179 * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
2180 05 unit for AI-260-02).
2182 * a-tgdico.ads: New file.
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.
2187 * snames.ads, snames.adb (Preset_Names): Add entry for
2188 Generic_Dispatching_Constructor.
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.
2201 2005-03-29 Robert Dewar <dewar@adacore.com>
2203 * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
2205 (Is_Possibly_Unaligned_Object): Correct typo that
2206 resulted in inaccurate result for unaligned scalars within records.
2208 2005-03-29 Ed Schonberg <schonberg@adacore.com>
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.
2214 2005-03-29 Vincent Celier <celier@adacore.com>
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.
2220 2005-03-29 Doug Rupp <rupp@adacore.com>
2222 * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
2225 2005-03-29 Robert Dewar <dewar@adacore.com>
2227 * par-ch12.adb (P_Generic): Give better msg for illegal private generic
2230 2005-03-29 Robert Dewar <dewar@adacore.com>
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.
2236 2005-03-29 Robert Dewar <dewar@adacore.com>
2238 * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
2239 rather than proceed ahead using a junk attribute name.
2241 2005-03-29 Vincent Celier <celier@adacore.com>
2243 * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
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".
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
2254 (Process): Use the Display_Name in error messages
2256 * prj-strt.adb (External_Reference): Allow default to be string
2257 expressions, not only literal strings.
2259 2005-03-29 Vincent Celier <celier@adacore.com>
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.
2264 2005-03-29 Thomas Quinot <quinot@adacore.com>
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.
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.
2274 2005-03-29 Robert Dewar <dewar@adacore.com>
2276 * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
2279 2005-03-29 Ed Schonberg <schonberg@adacore.com>
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.
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.
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.
2303 2005-03-29 Ed Schonberg <schonberg@adacore.com>
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).
2312 2005-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2315 * utils.c (finish_record_type): Use variable_size when setting sizes.
2317 2005-03-29 Robert Dewar <dewar@adacore.com>
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
2323 2005-03-29 Robert Dewar <dewar@adacore.com>
2325 * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
2326 buffer if an exception is raised.
2328 2005-03-29 Ed Falis <falis@adacore.com>
2330 * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
2333 2005-03-29 Robert Dewar <dewar@adacore.com>
2335 * sem_util.ads: Minor reformatting
2336 * gnat_rm.texi: Minor editing.
2338 2005-03-29 Eric Botcazou <ebotcazou@adacore.com>
2340 * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
2341 * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
2343 2005-03-24 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2345 * adaint.c (__gnat_portable_spawn): Adjust cast.
2347 2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
2349 * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
2351 2005-03-17 Pascal Obry <obry@adacore.com>
2353 * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
2356 * expect.c (__gnat_waitpid): Moved here from adaint.c.
2357 Reimplement under Win32 using Win32 API.
2359 (__gnat_kill) [Win32]: Properly close the process handle before leaving
2362 2005-03-17 Eric Botcazou <ebotcazou@adacore.com>
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.
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.
2373 * misc.c (gnat_handle_option): Handle -gnatO separately.
2374 (gnat_print_decl) <VAR_DECL>: New case.
2375 Print the DECL_RENAMED_OBJECT node.
2377 * lang.opt: Declare separate -gnatO option.
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.
2385 2005-03-17 Javier Miranda <miranda@adacore.com>
2387 * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
2388 (Get_Inheritance_Depth): Removed.
2389 (Set_Inheritance_Depth): Removed.
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
2395 * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
2396 (CPP_Get_Inheritance_Depth): Removed.
2397 (CPP_Set_Inheritance_Depth): Removed.
2399 * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
2401 2005-03-17 Robert Dewar <dewar@adacore.com>
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.
2406 2005-03-17 Javier Miranda <miranda@adacore.com>
2408 * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
2409 of one barrier to avoid wrong usage of this attribute.
2411 * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
2412 First_Private_Entity.
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.
2423 2005-03-17 Ed Schonberg <schonberg@adacore.com>
2425 * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
2428 2005-03-17 Thomas Quinot <quinot@adacore.com>
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.
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.
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
2451 2005-03-17 Ed Schonberg <schonberg@adacore.com>
2453 * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
2454 entity is an operator.
2456 2005-03-17 Thomas Quinot <quinot@adacore.com>
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.
2461 * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
2464 * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
2465 when no distribution runtime library is available.
2467 * sem_res.adb, sem_dist.adb: Disable expansion of remote
2468 access-to-subprogram types when no distribution runtime library is
2470 (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
2471 predicate available to other units.
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.
2476 2005-03-17 Vincent Celier <celier@adacore.com>
2478 * make.adb (Insert_Project_Sources): Make sure the Q is always
2481 * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
2482 the default for the tree, not the global default naming.
2484 * prj-proc.adb (Recursive_Process): No need to put the default naming
2485 in the project data, it's already there.
2487 2005-03-17 Doug Rupp <rupp@adacore.com>
2489 * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
2491 * 5xcrtl.ads: Renamed to...
2492 * s-crtl-vms64.ads: ...this new file
2494 2005-03-17 Robert Dewar <dewar@adacore.com>
2498 * namet.adb (Copy_One_Character): Set proper wide character encoding
2499 for upper half character if we have upper half encoding.
2501 2005-03-17 Robert Dewar <dewar@adacore.com>
2503 * par.adb (Par): Improved msg for attempt to recompile predefined unit
2505 2005-03-17 Thomas Quinot <quinot@adacore.com>
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.
2511 2005-03-17 Javier Miranda <miranda@adacore.com>
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.
2518 2005-03-17 Jose Ruiz <ruiz@adacore.com>
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.
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
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
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
2552 * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
2553 used to store the protected object's owner.
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.
2562 2005-03-17 Vincent Celier <celier@adacore.com>
2563 Nicolas Setton <setton@adacore.com>
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
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.
2573 2005-03-17 Vincent Celier <celier@adacore.com>
2575 * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
2576 -gnat83, -gnat95 and -gnat05.
2578 2005-03-17 Vasiliy Fofanov <fofanov@adacore.com>
2580 * gnat_ugn.texi: Document gnatmem restriction
2582 2005-03-17 Thomas Quinot <quinot@adacore.com>
2584 * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
2587 2005-03-17 Robert Dewar <dewar@adacore.com>
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
2593 * casing.adb: Comment improvements
2595 2005-03-17 Pascal Obry <obry@adacore.com>
2597 * g-expect.adb: Minor reformatting.
2599 2005-03-15 Zack Weinberg <zack@codesourcery.com>
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
2605 2005-03-15 Vincent Celier <celier@adacore.com>
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.
2612 2005-03-15 Jakub Jelinek <jakub@redhat.com>
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.
2618 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
2620 * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
2621 to NULL_TREE on entry.
2623 2005-03-15 Robert Dewar <dewar@adacore.com>
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.
2639 * opt.ads: Add new flag Opt.Address_Is_Private
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.
2646 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
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
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.
2658 * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
2659 (Create_Task): Account for the Yellow Zone and the guard page.
2661 2005-03-15 Vincent Celier <celier@adacore.com>
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.
2672 * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
2673 to use the project manager.
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.
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=...".
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.
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
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
2712 Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
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
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
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.
2736 * prj-attr.ads: Add with Table; needed, as package Prj no longer
2737 imports package Table.
2739 * prj-com.adb: Remove empty, no longer needed body
2741 * prj-com.ads: Move most of the content of this package to package Prj.
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
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.
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
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
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
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
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
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.
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.
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.
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
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.
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.
2809 * makegpr.adb (Project_Tree): New constant needed to use project
2812 2005-03-15 Olivier Hainque <hainque@adacore.com>
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
2820 * raise.h (__gnat_adjust_context_for_raise): New prototype.
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
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.
2837 2005-03-15 Doug Rupp <rupp@adacore.com>
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,
2844 * tb-alvms.c, expect.c: Prefix #include of VMS system header files
2847 2005-03-15 Nicolas Setton <setton@adacore.com>
2849 * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
2852 2005-03-15 Robert Dewar <dewar@adacore.com>
2854 * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
2857 * a-retide.ads: Minor comment changes
2859 2005-03-15 Robert Dewar <dewar@adacore.com>
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
2866 * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
2868 Avoid unnecessary use of Get/Set_Wide_String
2870 2005-03-15 Robert Dewar <dewar@adacore.com>
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.
2879 * a-suteio.adb: Avoid unnecessary use of Get/Set_String
2881 * g-spipat.ads, g-spipat.adb: New interface for Get_String
2882 Minor reformatting (function specs)
2884 * g-spitbo.adb: New interface for Get_String
2886 * g-spitbo.ads: Minor reformatting
2888 * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
2890 * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
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>
2897 * atree.ads, atree.adb: Add support for Elist24 field
2899 * atree.h: Fix wrong definition of Field27
2900 Add support for Elist16 field
2901 Add support for Elist24 field
2903 * einfo.ads, einfo.adb (Abstract_Interfaces,
2904 Set_Abstract_Interfaces): New subprograms.
2905 (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
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
2921 Update documentation on Must_Be_Byte_Aligned for new spec
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
2940 Bit packed array ops are only called if operands are known to be
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.
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]
2954 * par-ch3.adb (P_Type_Declaration): Modified to give support to
2956 (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
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).
2963 * sem_prag.adb: Upgrade all the references to Tag_Component by the new
2964 attribute First_Tag_Component.
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.
2991 * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
2992 "with string" given.
2994 * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
2997 * par-ch11.adb (P_Raise_Statement): Recognize with string expression
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.
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
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.
3014 2005-03-15 Doug Rupp <rupp@adacore.com>
3015 Vincent Celier <celier@adacore.com>
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
3021 2005-03-15 Thomas Quinot <quinot@adacore.com>
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.
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>
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
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
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.
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.
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.
3080 * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
3081 replace the N_Freeze_Entity with a null statement.
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
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.
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
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
3104 (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
3105 Minor change to propagate Is_Ada_2005 flag
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.
3122 2005-03-15 Robert Dewar <dewar@adacore.com>
3123 Ed Schonberg <schonberg@adacore.com>
3124 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
3130 * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
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.
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.
3150 * exp_util.ads: Minor cleanup in variable names
3152 * sem_eval.ads, sem_eval.adb: Minor reformatting
3153 (Compile_Time_Known_Bounds): New function
3155 2005-03-15 Ed Schonberg <schonberg@adacore.com>
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.
3161 2005-03-15 Ed Schonberg <schonberg@adacore.com>
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.
3168 2005-03-15 Robert Dewar <dewar@adacore.com>
3170 * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
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
3176 2005-03-15 Thomas Quinot <quinot@adacore.com>
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.
3185 2005-03-15 Doug Rupp <rupp@adacore.com>
3187 * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
3190 2005-03-15 Pascal Obry <obry@adacore.com>
3191 Eric Botcazou <ebotcazou@adacore.com>
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.
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.
3203 * lang.opt: Fix specification of -fRTS=.
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>
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.
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
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.
3225 2005-03-15 Robert Dewar <dewar@adacore.com>
3227 * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
3229 * impunit.adb: Add GNAT.UTF_32
3231 * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
3233 * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
3234 now uses GNAT.UTF_32).
3236 * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
3237 capabilities for categorizing characters using Unicode categories
3239 2005-03-15 Ed Schonberg <schonberg@adacore.com>
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.
3247 2005-03-15 Javier Miranda <miranda@adacore.com>
3248 Ed Schonberg <schonberg@adacore.com>
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.
3260 2005-03-15 Ed Schonberg <schonberg@adacore.com>
3261 Javier Miranda <miranda@adacore.com>
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
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.
3281 2005-03-15 Ed Schonberg <schonberg@adacore.com>
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.
3290 2005-03-15 Ed Schonberg <schonberg@adacore.com>
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.
3299 2005-03-15 Ed Schonberg <schonberg@adacore.com>
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.
3307 2005-03-15 Geert Bosch <bosch@adacore.com>
3309 * s-fatgen.adb (Valid): Extend special exceptions to account for long
3310 long float padding to also cover AMD64 and IA64.
3312 2005-03-15 Gary Dismukes <dismukes@adacore.com>
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.
3318 2005-03-15 Matthew Gingell <gingell@adacore.com>
3320 * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
3322 2005-03-15 Robert Dewar <dewar@adacore.com>
3324 * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
3326 * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
3328 * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
3330 2005-03-15 Robert Dewar <dewar@adacore.com>
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
3343 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
3345 * utils2.c (build_binary_op): Fix typo.
3347 2005-03-15 Doug Rupp <rupp@adacore.com>
3349 * s-crtl.ads (popen,pclose): New imports.
3351 2005-03-15 Cyrille Comar <comar@adacore.com>
3353 * comperr.adb (Compiler_Abort): remove references to obsolete
3354 procedures in the bug boxes for various GNAT builds.
3356 2005-03-15 Vincent Celier <celier@adacore.com>
3358 * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
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>
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
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
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.
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
3386 2005-03-12 Daniel Berlin <dberlin@dberlin.org>
3388 * misc.c (gnat_post_options): Turn off structural
3391 2005-03-08 Laurent Guerby <laurent@guerby.net>
3393 * system-linux-sparc.ads: Fix typo in previous commit.
3395 2005-03-07 James A. Morrison <phython@gcc.gnu.org>
3396 Laurent Guerby <laurent@guerby.net>
3399 * system-linux-sparc.ads: New.
3400 * Makefile.in: Add sparc linux entry.
3402 2005-02-27 Danny Smith <dannysmith@users.sourceforge.net>
3404 * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
3405 parameters as unused.
3407 2005-02-26 Nathanael Nerode <neroden@gcc.gnu.org>
3408 Partial merge from libada-gnattools-branch:
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.
3417 2005-02-13 Andrew Pinski <pinskia@physics.uc.edu>
3420 * utils.c (gnat_type_for_mode): Return null instead of ICE because
3421 we asked for an unknown mode.
3423 2005-02-12 Richard Henderson <rth@redhat.com>
3425 * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
3426 validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
3428 2005-02-10 Andreas Jaeger <aj@suse.de>
3430 * init.c (__gnat_initialize): Mark parameter as unused.
3432 2005-02-09 Doug Rupp <rupp@adacore.com>
3434 * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
3435 * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
3437 2005-02-09 Doug Rupp <rupp@adacore.com>
3439 * gnatchop.adb (dup, dup2),
3440 g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
3442 * gnatlbr.adb (mkdir),
3443 mlib-tgt-vms-ia64.adb (popen, plose): Import with decc$ prefix.
3445 * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
3447 2005-02-09 Doug Rupp <rupp@adacore.com>
3449 * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
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>
3460 * g-zstspl.ads: New file.
3462 * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
3464 * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
3466 Add definition of Wide_Wide_Space for AI-285
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
3474 * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
3475 support new Unbounded_IO package cleanly.
3477 * g-utf_32.ads, g-utf_32.adb: New files.
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.
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.
3488 * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
3490 * a-stunau.ads: Minor comment correction
3492 * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
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.
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.
3505 * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
3507 * s-strops.ads, s-strops.adb: Remove string normalize routines, never
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
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.
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.
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
3536 * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
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.
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.
3549 * cstand.adb: Create entities for Wide_Wide_Character and
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)
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.
3566 * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
3567 entity in non-Ada 2005 mode and generate warning.
3569 * par-prag.adb: Add handling of one argument form for pragma Ada_05.
3570 (Prag): Code cleanup. Remove old gnat pragma "overriding"
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
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.
3585 * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
3588 * scn.adb: Char_Literal_Value field is now a Uint
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.
3597 * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
3598 warning notifying that interface, overriding, and synchronized are
3600 (P_Pragma): Allow the use of the new reserved word "interface" as
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".
3607 * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
3608 (Structured Exception handling).
3612 (Gen_Main_Ada): Set the default exit code if specified.
3613 (Gen_Main_C): Likewise.
3615 (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
3616 Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
3618 * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
3621 * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
3622 has a collision with the new Ada 2005 "interface" reserved word.
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.
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.
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
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
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
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.
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.
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.
3667 * sem_case.adb: Add support for wide wide character type
3669 * sem_ch13.adb: Add support for wide wide character type
3670 (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
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
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
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.
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
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.
3702 * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
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.
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
3714 * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
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
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
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
3735 * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
3736 null-exclusion value by a warning message
3738 * atree.h, atree.ads, atree.adb: Remove Char_Code field support
3739 completely. Add support for Uint2 field
3741 sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
3742 exp_prag.adb: Char_Literal_Value field is now a Uint.
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.
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
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
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.
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.
3779 * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
3780 case of formal abstract subprograms. Add check and message for -gnat05.
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
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.
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
3829 (Expand_Call): Name change on call to Expand_Dispatch_Call.
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.
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.
3842 * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
3843 (TYPE_LANG_FLAG_0): Check for record or union.
3845 * treepr.adb: Char_Literal_Value field is now a Uint
3847 * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
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
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
3859 * errout.adb (Finalize): Do not check Num_SRef_Pragmas
3860 (Main_Source_File) when no main source has been loaded, to avoid
3863 2005-02-09 Robert Dewar <dewar@adacore.com>
3865 * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
3866 Fix name of Set routine
3868 * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
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
3875 * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
3876 forms of Get_Line subprograms for AI-301.
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.
3883 2005-02-09 Doug Rupp <rupp@adacore.com>
3884 Thomas Quinot <quinot@adacore.com>
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
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.
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
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.
3903 2005-02-09 Eric Botcazou <ebotcazou@adacore.com>
3904 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3906 Fix for c330001 - PR ada/19386
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
3914 (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
3916 (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
3917 (components_to_record): Test it.
3918 Fix improper usage of REFERENCE_CLASS_P.
3920 * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
3923 * utils2.c: Minor reformatting.
3925 * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
3926 handle other cases like RECORD_TYPE.
3928 * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
3930 2005-02-09 Ed Schonberg <schonberg@adacore.com>
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.
3939 2005-02-09 Ed Schonberg <schonberg@adacore.com>
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
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.
3949 2005-02-09 Doug Rupp <rupp@adacore.com>
3951 * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
3952 [VMS] (#define exit hack): Remove.
3954 2005-02-09 Pascal Obry <obry@adacore.com>
3955 Arnaud Charlet <charlet@adacore.com>
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.
3970 * seh_init.c: New file.
3972 * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
3973 (GNATBIND_OBJS): Idem.
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.
3979 * raise.h: (__gnat_install_SEH_handler): New prototype.
3980 Update copyright notice.
3982 * s-tassta.adb (Task_Wrapper): Declare the exception registration
3983 record and initialize it by calling __gnat_install_SEH_handler.
3985 2005-02-09 Vincent Celier <celier@adacore.com>
3987 * make.adb (Gnatmake): Do not fail when the main project has no object
3990 2005-02-09 Doug Rupp <rupp@adacore.com>
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.
3996 * s-asthan-vms.adb: Removed.
3997 * s-asthan-vms-alpha.adb: Added.
3999 2005-02-09 Pascal Obry <obry@adacore.com>
4001 * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
4002 (LIBGNAT_OBJS): Add seh_init.o.
4004 2005-02-09 Arnaud Charlet <charlet@adacore.com>
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
4011 Remove references to Makefile.prolog/generic, no longer used.
4013 2005-02-09 Vincent Celier <celier@adacore.com>
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".
4020 2005-02-09 Ed Schonberg <schonberg@adacore.com>
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
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.
4043 2005-02-09 Ed Schonberg <schonberg@adacore.com>
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
4050 2005-02-09 Cyrille Comar <comar@adacore.com>
4052 * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
4055 2005-02-09 Arnaud Charlet <charlet@adacore.com>
4057 * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
4058 fields for foreign threads.
4060 2005-02-09 Doug Rupp <rupp@adacore.com>
4062 * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
4063 recursion warnings when compiled with -gnatdm.
4065 2005-02-09 Robert Dewar <dewar@adacore.com>
4067 * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
4068 Slight fix to documentation of -gnaty with no parameters
4070 * xr_tabls.ads: Add ??? comment for missing overall comment
4072 * xsinfo.adb: Make default file name be sinfo.h, since this is what
4073 we now use by default.
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
4079 * a-numeri.ads: Add reference to AI-388 for greek letter pi
4082 * clean.adb: Minor reformatting.
4084 * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
4085 gnatname.adb: Minor reformatting
4086 Add 2005 to copyright output when utility is run
4088 * csets.adb: Eliminate obsolete comment
4090 * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
4093 * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
4095 2005-02-09 Sergey Rybin <rybin@adacore.com>
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").
4103 2005-02-09 Florian Villoing <villoing@adacore.com>
4105 * gnat_ugn.texi: Fix typos.
4106 Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
4108 Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
4109 in the generated documentation.
4111 2005-02-09 Arnaud Charlet <charlet@adacore.com>
4113 * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
4115 Update linker wrapper when linking with non GNU C++.
4117 2005-02-09 Pascal Obry <obry@adacore.com>
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
4123 Document new BIND qualifer /RETURN_CODES=VMS.
4125 2005-02-09 Ben Brosgol <brosgol@adacore.com>
4127 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
4128 Edited gnatmetric chapter
4130 2005-02-09 Robert Dewar <dewar@adacore.com>
4133 Changes to document new wide wide character support
4135 Update documentation on Normalize_Scalars and Initialize_Scalars
4137 2005-02-09 Pascal Obry <obry@adacore.com>
4139 * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
4141 2005-02-09 Jose Ruiz <ruiz@adacore.com>
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.
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.
4151 2005-02-09 Thomas Quinot <quinot@adacore.com>
4153 * exp_util.ads: Minor correction in comment.
4155 2005-02-09 Arnaud Charlet <charlet@adacore.com>
4157 * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
4158 since this procedure is now too complex to be worth inlining.
4160 2005-02-09 Richard Henderson <rth@redhat.com>
4162 * utils.c (gnat_define_builtin): Remove.
4163 (gnat_install_builtins): Use build_common_builtin_nodes.
4165 2005-02-09 Arnaud Charlet <charlet@adacore.com>
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
4203 2005-01-27 Laurent GUERBY <laurent@guerby.net>
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:
4210 2005-01-27 Laurent GUERBY <laurent@guerby.net>
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.
4218 2005-01-27 Joel Sherrill <joel.sherrill@oarcorp.com>
4219 Laurent GUERBY <laurent@guerby.net>
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.
4226 2005-01-26 Laurent GUERBY <laurent@guerby.net>
4229 * i-cobol.adb (Valid_Numeric): Handle zero length case.
4231 2005-01-20 Richard Henderson <rth@redhat.com>
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.
4239 2005-01-18 Jakub Jelinek <jakub@redhat.com>
4242 * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
4243 set to the new string.
4245 2005-01-18 Toon Moene <toon@moene.indiv.nluug.nl>
4247 * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
4250 2005-01-18 Richard Henderson <rth@redhat.com>
4252 * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
4253 THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
4255 * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
4257 2005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
4259 * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
4260 (GCC_ZCX_Support): Likewise.
4262 2005-01-11 Bastian Blank <waldi@debian.org>
4264 * system-linux-s390.ads: Define Preallocated_Stacks.
4265 * system-linux-s390x.ads: Likewise.
4267 2005-01-04 Arnaud Charlet <charlet@adacore.com>
4269 * gnat_ugn.texi: Fix texi errors with null variables.
4271 2005-01-03 Thomas Quinot <quinot@adacore.com>
4273 * gen-soccon.c: New utility program to generate g-soccon.ads
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.
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
4286 2005-01-03 Robert Dewar <dewar@adacore.com>
4287 Ed Schonberg <schonberg@adacore.com>
4288 Vincent Celier <celier@adacore.com>
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
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
4301 * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
4304 * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
4306 * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
4307 pragma restrictions.
4308 New entry for Ada 2005 attribute Mod.
4311 Add recognition of new pragma Restrictions No_Dependence
4312 Recognize restriction No_Obsolescent_Features at parse time
4314 * bcheck.adb: Add circuitry for checking for consistency of
4315 No_Dependence restrictions.
4317 * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
4320 * restrict.ads, restrict.adb: Add subprograms to deal with
4321 No_Dependence restrictions.
4323 * rtsfind.adb: Check that implicit with's do not violate No_Dependence
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
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
4333 * scn.adb: (Obsolescent_Check): New procedure
4334 Needed for new restriction No_Obsolescent_Features
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.
4342 * s-rident.ads: Add new restriction No_Obsolescent_Features.
4344 * ali.ads, ali.adb: Adjustments for reading new No_Dependence
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.
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.
4357 * sem_prag.adb: Processing and checking for new No_Dependence
4359 (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
4360 analyze and check the External argument.
4362 * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
4364 2005-01-03 Robert Dewar <dewar@adacore.com>
4366 * atree.adb: Add a fifth component to entities
4367 This allows us to add 32 flags and four new fields
4369 * atree.ads: Add a fifth component to entities
4370 This allows us to add 32 flags and four new fields
4372 * einfo.ads, einfo.adb: Document new fields and new flags now available
4373 Add routines for printing new fields
4375 * treepr.adb: Call routines to print out additional fields if present
4377 2005-01-03 Arnaud Charlet <charlet@adacore.com>
4379 * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
4380 gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
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.
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.
4396 * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
4399 2005-01-03 Samuel Tardieu <tardieu@adacore.com>
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.
4405 2005-01-03 Olivier Hainque <hainque@adacore.com>
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.
4416 * gigi.h (builtin_decl_for): Declare (new function).
4418 * utils.c (gnat_install_builtins): Install the target specific builtins.
4419 (builtin_decl_for): New function, provide a dummy body for now.
4421 2005-01-03 Geert Bosch <bosch@adacore.com>
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.
4427 * trans.c (convert_with_check): Reimplement conversion of float to
4430 2005-01-03 Ed Schonberg <schonberg@adacore.com>
4431 Vincent Celier <celier@adacore.com>
4433 * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
4434 bounds can be negative, and must be declared Int, not Nat.
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.
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.
4442 2005-01-03 Ed Schonberg <schonberg@adacore.com>
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
4449 2005-01-03 Thomas Quinot <quinot@adacore.com>
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
4466 Simplify elaboration code for RCI packages.
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.
4472 * s-stratt.adb: Fix typo in comment.
4474 2005-01-03 Thomas Quinot <quinot@adacore.com>
4476 * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
4477 copied from Make_Init_Call).
4479 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
4480 reads and assignments on a temporary variable declared with appropriate
4483 2005-01-03 Robert Dewar <dewar@adacore.com>
4485 * i-c.adb (To_C): Raise CE if string is null and Append_Null
4487 2005-01-03 Robert Dewar <dewar@adacore.com>
4489 * i-cstrin.adb (Update): Do not append a null in form called with a
4490 String. This avoids unintended behavior.
4492 2005-01-03 Arnaud Charlet <charlet@adacore.com>
4495 * init.c: Fix warnings on Free BSD section.
4497 2005-01-03 Arnaud Charlet <charlet@adacore.com>
4500 * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
4503 2005-01-03 Vincent Celier <celier@adacore.com>
4505 * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
4506 libraries when Unique_Compile is True (-u switch).
4509 2005-01-03 Robert Dewar <dewar@adacore.com>
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.
4514 2005-01-03 Arnaud Charlet <charlet@adacore.com>
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.
4520 2005-01-03 Robert Dewar <dewar@adacore.com>
4522 * par.adb: Enhance error message handling for configuration file
4525 2005-01-03 Robert Dewar <dewar@adacore.com>
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).
4531 2005-01-03 Ed Schonberg <schonberg@adacore.com>
4532 Sergey Rybin <rybin@adacore.com>
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.
4539 2005-01-03 Ed Schonberg <schonberg@adacore.com>
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
4546 * sem_res.adb (Valid_Conversion): The legality rules for conversions
4547 of access types are symmetric in Ada 2005: either designated type can
4550 2005-01-03 Vincent Celier <celier@adacore.com>
4552 * s-fileio.adb (Temp_File_Record): Change length of string component
4553 Name from L_tmpnam + 1 to max_path_len + 1.
4555 2005-01-03 Arnaud Charlet <charlet@adacore.com>
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.
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.
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.
4570 2005-01-03 Ben Brosgol <brosgol@adacore.com>
4571 Robert Dewar <dewar@adacore.com>
4572 Cyrille Comar <comar@adacore.com>
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
4585 2005-01-03 Robert Dewar <dewar@adacore.com>
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.
4591 * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
4592 sem_ch2.adb: Minor reformatting
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.
4598 2005-01-03 Pascal Obry <obry@adacore.com>
4600 * exp_attr.ads: Minor reformatting.
4602 2005-01-03 Romain Berrendonner <berrendo@adacore.com>
4604 * comperr.adb (Compiler_Abort): Add specialized message for GAP
4607 2005-01-03 Ed Schonberg <schonberg@adacore.com>
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
4613 2004-12-30 Sohail Somani <sohail@sohailsomani.com>
4616 * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
4618 2004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
4620 * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
4621 * utils2.c (build_unary_op): Likewise.
4623 2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4625 * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
4627 2004-12-19 Richard Henderson <rth@redhat.com>
4629 * trans.c (gigi): Update gimplify_body call.
4631 2004-12-09 Nathan Sidwell <nathan@codesourcery.com>
4633 * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
4635 2004-12-07 Ed Falis <falis@adacore.com>
4637 * s-intman-vxworks.adb (Notify_Exception): removed useless check for
4638 current task being suspended.
4640 * init.c (__gnat_clear_exception): added to reset VxWorks exception
4642 (__gnat_map_signal): removed test for current task being suspended.
4644 2004-12-07 Gary Dismukes <dismukes@adacore.com>
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).
4650 2004-12-07 Ed Schonberg <schonberg@adacore.com>
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
4656 2004-12-07 Eric Botcazou <ebotcazou@adacore.com>
4658 * back_end.adb (Scan_Back_End_Switches): Accept --param.
4660 * lang-specs.h: Accept --param.
4662 2004-12-07 Vincent Celier <celier@adacore.com>
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.
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).
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).
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,
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
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.
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).
4713 * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
4714 (Header_Num): Type moved to package Prj
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).
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
4730 * prj-ext.ads (Project_Path): New function
4731 (Set_Project_Path): New procedure
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.
4741 * prj-nmsc.ads: Replace all procedures (Ada_Check,
4742 Other_Languages_Check and Language_Independent_Check) with a single
4745 * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
4746 Process_Languages, no longer needed.
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
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.
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.
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
4768 * prj-util.adb: Adapt to name changes in package Prj
4769 (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
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.
4776 * makegpr.adb: Numerous changes due to changes in packages
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:"
4784 2004-12-07 Robert Dewar <dewar@adacore.com>
4786 * debug.adb: Document that -gnatdA automatically sets -gnatR3m
4788 * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
4791 * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
4792 flag. No longer needed now that we handle this in gnat1drv.adb.
4794 * repinfo.ads: Minor reformatting
4796 2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4797 Olivier Hainque <hainque@adacore.com>
4798 Eric Botcazou <ebotcazou@adacore.com>
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.
4806 * utils.c (create_var_decl): Set DECL_COMMON again on targets without
4808 (process_attributes): Clear DECL_COMMON again when a section attribute
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.
4819 2004-12-07 Geert Bosch <bosch@adacore.com>
4821 * eval_fat.adb: Revert previous change.
4823 2004-12-07 Thomas Quinot <quinot@adacore.com>
4824 Ed Schonberg <schonberg@adacore.com>
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.
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.
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
4844 2004-12-07 Robert Dewar <dewar@adacore.com>
4845 Ed Schonberg <schonberg@adacore.com>
4847 * exp_ch6.adb (Expand_Call): Add comment on handling of back end
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.
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
4863 (Cannot_Inline): Reject subprograms that have an at_end handler, so that
4864 treatment is uniform on different targets.
4866 2004-12-07 Ed Schonberg <schonberg@adacore.com>
4868 * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
4869 construct is rewritten, preserve end label to permit source navigation.
4871 2004-12-07 Thomas Quinot <quinot@adacore.com>
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.
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
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
4889 * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
4890 (RE_Same_Partition): New entity, from s-parint.
4892 * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
4894 2004-12-07 Gary Dismukes <dismukes@adacore.com>
4896 * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
4897 Output the copyright message on a separate line from the version
4900 2004-12-07 Joel Brobecker <brobecker@adacore.com>
4902 * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
4903 compile-time warning.
4905 2004-12-07 Robert Dewar <dewar@adacore.com>
4907 * g-regpat.adb: (Match): Change a misuse of or to or else
4909 2004-12-07 Ed Schonberg <schonberg@adacore.com>
4912 (Generate_Reference): Handle properly a reference to an entry formal,
4913 when an accept statement has a pragma Unreferenced for it.
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.
4920 2004-12-07 Vasiliy Fofanov <fofanov@adacore.com>
4922 * Makefile.in: Add support for foreign threads on VMS.
4924 2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4926 * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
4928 (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
4930 * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
4932 * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
4934 (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
4936 2004-12-07 Robert Dewar <dewar@adacore.com>
4938 * nlists.adb (Prepend_Debug): Remove parameters and nest within
4940 (Remove_Next_Debug): Same fix
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
4945 (Prepend): Remove pragma Inline.
4946 (Remove_Next): Same cleanup
4948 2004-12-07 Thomas Quinot <quinot@adacore.com>
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.
4958 2004-12-07 Gary Dismukes <dismukes@adacore.com>
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
4964 2004-12-07 Ed Schonberg <schonberg@adacore.com>
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
4970 2004-12-07 Bernard Banner <banner@adacore.com>
4972 * vxaddr2line.adb: Add support for x86 vxworks
4974 2004-12-07 Thomas Quinot <quinot@adacore.com>
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
4981 * cstand.adb, a-tags.ads: Fix typos in comment.
4983 2004-12-07 Robert Dewar <dewar@adacore.com>
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
4990 * make.adb: Minor reformatting
4991 Add some ??? comments asking for more comments
4993 * s-poosiz.adb: Minor reformatting
4994 Add comments on alignment requirement
4996 * sinfo.ads: Remove obsolete comment and fix typo.
4998 2004-12-07 Vincent Celier <celier@adacore.com>
4999 Sergey Rybin <rybin@adacore.com>
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
5006 Add gnatmetric section
5008 2004-12-07 Vincent Celier <celier@adacore.com>
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.
5015 2004-11-27 Andreas Schwab <schwab@suse.de>
5017 * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
5019 2004-11-25 Arnaud Charlet <charlet@adacore.com>
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).
5027 * mingw32.h: Update copyright notice.
5029 2004-11-25 Arnaud Charlet <charlet@adacore.com>
5031 * ada-tree.h: Minor reformatting of previous change to avoid lines
5032 longer than 79 characters.
5034 2004-11-25 Olivier Hainque <hainque@adacore.com>
5036 * tb-gcc.c: GCC infrastructure based implementation of
5039 2004-11-24 Steven Bosscher <stevenb@suse.de>
5041 * misc.c (gnat_post_options): Don't clear
5042 flag_inline_functions.
5044 2004-11-22 Andrew Pinski <pinskia@physics.uc.edu>
5047 * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
5050 2004-11-21 Andreas Jaeger <aj@suse.de>
5052 * stylesw.adb: Change Style_Check_Subprogram_Order to
5053 Style_Check_Order_Subprograms.
5055 2004-11-18 Arnaud Charlet <charlet@adacore.com>
5057 * adaint.h, adaint.c
5058 (__gnat_portable_spawn): Fix cast of spawnvp third parameter
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.
5069 * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
5072 2004-11-18 Olivier Hainque <hainque@adacore.com>
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.
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.
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
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.
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.
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
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
5109 2004-11-18 Robert Dewar <dewar@adacore.com>
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.
5115 2004-11-18 Thomas Quinot <quinot@adacore.com>
5117 * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
5118 incomplete duplicate implementation of this subprogram from butil.
5120 2004-11-18 Thomas Quinot <quinot@adacore.com>
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
5129 (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
5131 (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
5133 (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
5134 distribution subprogram identifiers that are either subprogram numbers
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
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
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.
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.
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.
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
5169 2004-11-18 Robert Dewar <dewar@adacore.com>
5170 Ed Schonberg <schonberg@adacore.com>
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
5178 * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
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.
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.
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.
5201 * freeze.adb: Use new Has_Rep_Pragma function
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.
5207 * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
5210 2004-11-18 Robert Dewar <dewar@adacore.com>
5212 * errout.ads, errout.adb: (First_Sloc): New function
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
5218 * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
5219 Style_Check_Order_Subprograms.
5221 * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
5222 stylesw.adb: Add Style_Check_Xtra_Parens
5224 * usage.adb: Add line for -gnatyx (check extra parens)
5226 * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
5228 2004-11-18 Ed Schonberg <schonberg@adacore.com>
5229 Robert Dewar <dewar@adacore.com>
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
5235 Removes long-lived ??? comments.
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.
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.
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
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.
5259 * restrict.ads: Remove the a-stream entry from Unit_Array, since
5260 No_Streams no longer prohibits with'ing this package.
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.
5271 2004-11-18 Ed Schonberg <schonberg@adacore.com>
5273 * exp_dbug.ads: Update documentation to reflect simpler encoding for
5274 protected operations.
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.
5284 2004-11-18 Nicolas Setton <setton@adacore.com>
5286 * expect.c: Define __unix__ when __APPLE__ is defined.
5288 * Makefile.in: Inform the value of the variable GMEM_LIB in the
5289 Darwin-specific section.
5291 * lang-specs.h: Change the placement of the %1 marker.
5292 Works around the fact that gcc adds -fPIC by default under Darwin.
5294 2004-11-18 Ed Schonberg <schonberg@adacore.com>
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.
5301 2004-11-18 Gary Dismukes <dismukes@adacore.com>
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.
5307 2004-11-18 Ed Falis <falis@adacore.com>
5309 * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
5311 (init_float): Eliminate initialization of floating point status for
5312 AE653. The instructions have no effect for vThreads.
5314 2004-11-18 Vincent Celier <celier@adacore.com>
5316 * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
5317 gnatbind is invoked with -shared.
5319 2004-11-18 Jose Ruiz <ruiz@adacore.com>
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.
5328 2004-11-18 Vincent Celier <celier@adacore.com>
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
5338 2004-11-18 Robert Dewar <dewar@adacore.com>
5339 Sergey Rybin <rybin@adacore.com>
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.
5346 * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
5347 objects rather than forbidding dependencies on the package Ada.Streams.
5349 * sinfo.ads: Add ??? note that we should document pragmas passed to
5352 * g-expect.ads: Fix a few typos in the comments.
5354 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
5356 * misc.c (gnat_handle_option): Use %< and %> for quoting in
5359 2004-11-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5361 * a-numaux-x86.adb (Tan): Fix fdivp syntax.
5363 2004-11-07 Andreas Schwab <schwab@suse.de>
5365 * Makefile.in (install-gnatlib): Remove spurious hyphen.
5367 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
5370 * Makefile.in (darwin): Set soext to .dylib.
5372 2004-10-26 Vincent Celier <celier@gnat.com>
5373 Thomas Quinot <quinot@act-europe.fr>
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).
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.
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).
5399 2004-10-26 Nicolas Setton <setton@act-europe.fr>
5401 * mlib-tgt-darwin.adb: New file.
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
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.
5413 * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
5414 indicates which options to pass to the archive indexer.
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.
5423 2004-10-26 Olivier Hainque <hainque@act-europe.fr>
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
5429 2004-10-26 Pascal Obry <obry@gnat.com>
5431 * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
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.
5438 2004-10-26 Olivier Hainque <hainque@act-europe.fr>
5439 Nicolas Setton <setton@act-europe.fr>
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.
5450 2004-10-26 Gary Dismukes <dismukes@gnat.com>
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.
5455 2004-10-26 Cyrille Comar <comar@act-europe.fr>
5457 * a-filico.ads, a-filico.adb: fix incorrect header.
5459 2004-10-26 Javier Miranda <miranda@gnat.com>
5461 * a-ststio.ads: Fix typo in identifier
5463 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
5465 * sem_ch4.adb: Minor reformatting.
5467 2004-10-26 Ed Schonberg <schonberg@gnat.com>
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.
5473 2004-10-26 Vincent Celier <celier@gnat.com>
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
5485 2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
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
5494 2004-10-26 Geert Bosch <bosch@gnat.com>
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.
5500 2004-10-26 Ed Schonberg <schonberg@gnat.com>
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
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.
5513 2004-10-26 Robert Dewar <dewar@gnat.com>
5515 * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
5516 compares if the component is atomic.
5518 * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
5519 array assignment if the component type is atomic.
5521 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5522 Eric Botcazou <ebotcazou@act-europe.fr>
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.
5533 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
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.
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
5550 Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
5553 * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
5554 between the GARLIC and PolyORB versions of the distributed systems
5556 Remove RE_Unbounded_Reclaim_Pool since it is unused.
5558 2004-10-26 Gary Dismukes <dismukes@gnat.com>
5560 * gnat1drv.adb: Suppress calling the back end when
5561 Frontend_Layout_On_Target is true.
5563 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
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.
5570 * makegpr.adb, mlib.adb, mlib-prj.adb: Use
5571 GNAT.OS_Lib.Set_Executable instead of rolling our own.
5573 2004-10-26 Matthew Gingell <gingell@gnat.com>
5575 * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
5577 2004-10-26 Pascal Obry <obry@gnat.com>
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".
5584 2004-10-26 Robert Dewar <dewar@gnat.com>
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.
5590 2004-10-26 Vincent Celier <celier@gnat.com>
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
5598 2004-10-26 Vincent Celier <celier@gnat.com>
5600 * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
5601 extension of library projects.
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.
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
5613 2004-10-26 Robert Dewar <dewar@gnat.com>
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
5620 (Double_Divide): Handle overflow case of largest negative number
5621 divided by minus one.
5623 * s-arit64.ads (Double_Divide): Document that overflow can occur in
5624 the case of a quotient value out of range.
5627 2004-10-26 Robert Dewar <dewar@gnat.com>
5629 * s-bitops.adb (Bit_Eq): Remove redundant check.
5631 * s-bitops.ads: Minor comment updates
5632 Change some occurrences of Address to System.Address
5634 * s-carsi8.ads: Fix minor cut-and-paste error in comments
5636 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5638 * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
5639 accessibility check to prefix that is a protected operation.
5641 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5643 * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
5644 empty, post message on stub.
5646 2004-10-26 Ed Schonberg <schonberg@gnat.com>
5647 Javier Miranda <miranda@gnat.com>
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
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))
5658 2004-10-26 Cyrille Comar <comar@act-europe.fr>
5660 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
5661 'Storage_Pool): enhance, document & limit detection of non-sharable
5664 * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
5666 * s-pooglo.ads: Add more documentation now that this pool is properly
5669 2004-10-26 Ed Schonberg <schonberg@gnat.com>
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
5678 2004-10-26 Ed Schonberg <schonberg@gnat.com>
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
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
5687 2004-10-26 Ed Schonberg <schonberg@gnat.com>
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.
5695 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
5696 Ed Schonberg <schonberg@gnat.com>
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.
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).
5714 2004-10-26 Robert Dewar <dewar@gnat.com>
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.
5721 (Decompose): Add fuller comments to spec
5723 2004-10-26 Pascal Obry <obry@gnat.com>
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
5729 (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
5730 segmentation violation.
5732 2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
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.
5739 2004-10-26 Vincent Celier <celier@gnat.com>
5741 * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
5742 (Is_Path_Name_Case_Sensitive): New function
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
5749 2004-10-26 Cyrille Comar <comar@act-europe.fr>
5750 Vasiliy Fofanov <fofanov@act-europe.fr>
5751 Vincent Celier <celier@gnat.com>
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.
5762 2004-10-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
5764 * adaint.c (__gnat_get_libraries_from_registry): Cast value
5766 (__gnat_portable_spawn): Remove const.
5768 * mingw32.h (MAXPATHLEN): Check for previous definition.
5770 2004-10-17 Matthias Klose <doko@debian.org>
5772 * gnatvsn.ads: Set gnat library version to 4.0.
5774 2004-10-05 Vincent Celier <celier@gnat.com>
5776 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
5778 2004-10-04 Laurent GUERBY <laurent@guerby.net>
5781 * Makefile.in: Define and use RANLIB_FLAGS.
5783 2004-10-04 Pascal Obry <obry@gnat.com>
5785 * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
5786 other x86 platforms).
5788 2004-10-04 Olivier Hainque <hainque@act-europe.fr>
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.
5794 2004-10-04 Bernard Banner <banner@gnat.com>
5798 * Makefile.in: Add section for powerpc linux
5799 Add variant i-vxwork-x86.ads
5801 * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
5803 2004-10-04 Olivier Hainque <hainque@act-europe.fr>
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
5811 2004-10-04 Javier Miranda <miranda@gnat.com>
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.
5817 2004-10-04 Ed Falis <falis@gnat.com>
5819 * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
5821 2004-10-04 Sergey Rybin <rybin@act-europe.fr>
5823 * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
5824 in the documentation.
5826 2004-10-04 Robert Dewar <dewar@gnat.com>
5828 * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
5830 (Analyze_Block_Statement): Add circuitry to detect following dead code
5831 (Check_Unreachable_Code): Handle case of block exit
5833 2004-10-04 Robert Dewar <dewar@gnat.com>
5835 * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
5836 (XMatchD): Avoid warning for Logic_Error call
5838 2004-10-04 Robert Dewar <dewar@gnat.com>
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
5845 2004-10-04 Robert Dewar <dewar@gnat.com>
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.
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.
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.
5865 2004-10-04 Robert Dewar <dewar@gnat.com>
5867 * a-except.adb: Add a comment for last change
5869 * einfo.ads: Minor spelling correction in comment
5871 * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
5873 * sem_ch11.adb: Fix a case of using | instead of \ for continuation
5876 * sem_util.ads: Minor comment update
5878 2004-10-04 Ed Schonberg <schonberg@gnat.com>
5880 * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
5881 Inline_Always when in Configurable_Run_Time mode.
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.
5888 2004-10-04 Ed Schonberg <schonberg@gnat.com>
5890 * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
5891 class_wide type after component list has been inherited.
5893 2004-10-04 Ed Schonberg <schonberg@gnat.com>
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
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.
5911 2004-10-04 Ed Schonberg <schonberg@gnat.com>
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.
5917 2004-10-04 Ed Schonberg <schonberg@gnat.com>
5919 * sem_util.adb (Explain_Limited_Type): Ignore internal components when
5920 searching for a limited component to flag.
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.
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
5933 2004-10-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5935 * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
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.
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
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.
5951 2004-10-04 Vincent Celier <celier@gnat.com>
5953 * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
5955 (Is_Valid_Path_Name): Take '/' as a directory separator.
5957 2004-10-04 Vincent Celier <celier@gnat.com>
5959 * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
5960 (Extended_Project) only if Extended_Project is defined, to avoid
5962 (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
5964 (Parse_Single_Project): Ditto.
5966 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
5967 Add_To_Project_Path for virtual projects.
5969 2004-10-04 Vincent Celier <celier@gnat.com>
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.
5977 * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
5978 Build_Dynamic_Library with an empty Options_2.
5980 * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
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.
5991 2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
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
5997 2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
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.
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.
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.
6025 * snames.adb: Add _stack.
6027 * snames.ads: Add Name_uStack. Required to allow the expander to
6028 statically allocated task stacks.
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.
6035 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
6037 * usage.adb: Change "pragma inline" to "pragma Inline" in information
6040 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
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.
6049 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
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
6063 (Check_Selector): When the select system call returns with an error
6064 condition, propagate Socket_Error to the caller.
6066 2004-10-01 Jan Hubicka <jh@suse.cz>
6068 * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
6070 2004-09-23 Robert Dewar <dewar@gnat.com>
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
6077 Change "pragma inline" to "pragma Inline" in information and error
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.
6086 2004-09-21 Olivier Hainque <hainque@act-europe.fr>
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.
6093 2004-09-21 Robert Dewar <dewar@gnat.com>
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
6103 (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
6104 optimization to an LJM field as to its parent field.
6106 * ada-tree.h, trans.c, utils.c, utils2.c:
6107 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
6109 2004-09-20 Jan Hubicka <jh@suse.cz>
6111 * utils.c (gnat_finalize): Remove.
6112 (end_subprog_body): Directly call cgraph_finalize_function;
6113 do not lower the nested functions.
6115 2004-09-20 Robert Dewar <dewar@gnat.com>
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
6123 2004-09-20 Arnaud Charlet <charlet@act-europe.fr>
6125 * 5tsystem.ads: Removed, no longer used.
6127 2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
6128 Zack Weinberg <zack@codesourcery.com>
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.
6135 2004-09-17 Vincent Celier <celier@gnat.com>
6137 * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
6138 capabilities of the general project manager.
6140 2004-09-09 Vincent Celier <celier@gnat.com>
6142 * a-direct.ads: Add pragma Ada_05
6143 (Directory_Entry_Type): Give default value to component Kind to avoid
6144 not initialized warnings.
6146 * a-direct.adb (Current_Directory): Remove directory separator at the
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.
6154 * prj.ads: (Project_Error): New exception
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
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.
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
6171 (Attrs, Package_Attributes): Table instantiations moved from the body to
6172 the private part to be accessible from Prj.Attr.PM body.
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
6179 * Makefile.in: Add prj-attr-pm.o to gnatmake object list
6181 * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
6182 instead of Elaboration_Checks).
6184 * a-calend.adb: Minor reformatting
6186 2004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6188 * gigi.h (maybe_pad_type): New declaration.
6189 (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
6191 * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
6193 * cuintp.c: Convert to use buildN.
6195 * decl.c (maybe_pad_type): No longer static.
6196 (gnat_to_gnu_entity, case E_Function): Handle case of returning by
6198 Convert to use buildN.
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
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.
6208 * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
6209 TREE_READONLY for const.
6210 Convert to use buildN.
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.
6216 2004-09-09 Gary Dismukes <dismukes@gnat.com>
6218 * gnat_ugn.texi: Delete text relating to checking of ali and object
6221 * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
6224 2004-09-09 Jose Ruiz <ruiz@act-europe.fr>
6226 * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
6227 pragmas recognized by GNAT.
6229 * gnat_rm.texi: Document pragma Detect_Blocking.
6231 * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
6232 raise Program_Error if called from a protected operation.
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.
6241 * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
6242 Protected_Action_Nesting.
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.
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.
6258 * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
6259 raise Program_Error if called from a protected operation.
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.
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.
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.
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.
6292 * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
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.
6299 * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
6300 pragma Detect_Blocking is active.
6302 * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
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.
6308 * a-retide.adb (Delay_Until): Raise Program_Error if pragma
6309 Detect_Blocking is active and delay is called from a protected
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
6319 2004-09-09 Thomas Quinot <quinot@act-europe.fr>
6321 * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
6322 GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
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.
6330 * sem_ch3.adb (Expand_Derived_Record): Rename to
6331 Expand_Record_Extension.
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.
6337 * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
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
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.
6348 * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
6349 __gnat_using_gnu_linker to 1.
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.
6356 * atree.adb: Minor reformatting
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.
6370 * exp_ch3.ads (Expand_Derived_Record): Rename to
6371 Expand_Record_Extension.
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
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
6386 New implementation of expansion for remote access-to-subprogram types,
6387 based on the RACW infrastructure.
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.
6393 2004-09-09 Ed Schonberg <schonberg@gnat.com>
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.
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.
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.
6407 2004-09-09 Robert Dewar <dewar@gnat.com>
6409 * g-trasym.ads: Minor reformatting
6411 * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
6412 packed arrays, since unused bits are expected to be zero for a
6415 2004-09-09 Eric Botcazou <ebotcazou@act-europe.fr>
6417 * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
6420 2004-09-09 Pascal Obry <obry@gnat.com>
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.
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.
6432 2004-09-09 Laurent Pautet <pautet@act-europe.fr>
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
6439 2004-09-09 Joel Brobecker <brobecker@gnat.com>
6441 * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
6443 * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
6445 2004-09-09 Cyrille Comar <comar@act-europe.fr>
6447 * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
6450 * opt.ads: Add Ada_Version_Runtime constant used to decide which
6451 version of the language is used to compile the run time.
6453 2004-09-09 Arnaud Charlet <charlet@act-europe.fr>
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.
6459 2004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6461 * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
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.
6472 * utils2.c (ggc.h): Include.
6473 (build_call_raise): Call build_int_cst, not build_int_2.
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.
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.
6498 * cuintp.c: (build_cst_from_int): New function.
6499 (UI_To_gnu): Use it.
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.
6506 2004-09-01 Robert Dewar <dewar@gnat.com>
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.
6512 * gnat_ugn.texi: Document -fverbose-asm
6514 * gnat-style.texi: Minor updates (note that boolean constants and
6515 variables are joined with AND/OR rather than short circuit forms).
6517 2004-09-01 Ed Schonberg <schonberg@gnat.com>
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
6523 2004-09-01 Thomas Quinot <quinot@act-europe.fr>
6525 * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
6526 System.Partition_Interface.
6528 * checks.adb (Apply_Access_Checks): Do not generate checks when
6529 expander is not active (but check for unset reference to prefix of
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.
6537 2004-09-01 Vincent Celier <celier@gnat.com>
6539 * bindgen.adb: (Set_EA_Last): New procedure
6540 (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
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
6547 (Gen_Exception_Table_C): Correct same bugs
6549 * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
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.
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.
6558 * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
6559 to Options_2 for the call to MLib.Utl.Gcc.
6561 * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
6562 directory separator when defining BASE_DIR.
6564 2004-09-01 Pascal Obry <obry@gnat.com>
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.
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.
6576 2004-09-01 Andreas Schwab <schwab@suse.de>
6578 * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
6579 * raise.c [!IN_RTS]: Undef abort.
6581 2004-08-27 Nathan Sidwell <nathan@codesourcery.com>
6583 * utils2.c (build_allocator): Use ssize_int.
6585 * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
6587 2004-08-27 Andreas Schwab <schwab@suse.de>
6589 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
6591 2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
6592 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6594 * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
6596 2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
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.
6603 2004-08-24 Nathan Sidwell <nathan@codesourcery.com>
6605 * utils.c (gnat_init_decl_processing): Adjust
6606 build_common_tree_nodes call.
6608 2004-08-20 Nathan Sidwell <nathan@codesourcery.com>
6610 * utils2.c (build_allocator): Use build_int_cst for negative
6613 2004-08-18 Richard Henderson <rth@redhat.com>
6615 * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
6617 2004-08-16 Nathan Sidwell <nathan@codesourcery.com>
6619 * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
6621 * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
6622 (gnat_to_gnu): Likewise.
6624 2004-08-16 Pascal Obry <obry@gnat.com>
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.
6630 2004-08-16 Pascal Obry <obry@gnat.com>
6632 * bld.adb (Put_Include_Project): Properly handle directory separators
6635 2004-08-16 Ed Schonberg <schonberg@gnat.com>
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.
6641 2004-08-15 Nathan Sidwell <nathan@codesourcery.com>
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.
6648 2004-08-13 Olivier Hainque <hainque@act-europe.fr>
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
6657 2004-08-13 Thomas Quinot <quinot@act-europe.fr>
6659 * einfo.ads: Minor reformatting
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.
6664 2004-08-13 Vincent Celier <celier@gnat.com>
6666 * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
6667 when creating a new Unit_Record in table Units.
6669 * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
6670 that are violated, if any.
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.
6675 2004-08-13 Ed Schonberg <schonberg@gnat.com>
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.
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
6685 (Complete_Private_Subtype): Do not create a subtype declaration if the
6686 subtype is an itype.
6688 * gnat_rm.texi: Added section on implementation of discriminated
6689 records with default values for discriminants.
6691 2004-08-13 Ed Schonberg <schonberg@gnat.com>
6694 * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
6695 the second operand is overloaded.
6697 2004-08-10 Richard Henderson <rth@redhat.com>
6699 * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
6700 add __builtin_alloca.
6702 2004-08-10 Richard Henderson <rth@redhat.com>
6704 * config-lang.in (boot_language): Yes.
6706 2004-08-09 Thomas Quinot <quinot@act-europe.fr>
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.
6713 * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
6714 returning C.int, to avoid using a derived boolean type.
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.
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.
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.
6730 2004-08-09 Albert Lee <lee@gnat.com>
6732 * system-irix-n32.ads: Refine tasking priority constants for IRIX.
6734 2004-08-09 Pascal Obry <obry@gnat.com>
6736 * gnat_ugn.texi: Document new way to build DLLs on Windows using
6737 GCC's -shared option.
6739 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
6740 Options_2 parameter (options put after object files).
6742 2004-08-09 Olivier Hainque <hainque@act-europe.fr>
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
6750 2004-08-09 Robert Dewar <dewar@gnat.com>
6752 * s-solita.ads, s-solita.adb: Minor reformatting
6754 * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
6755 Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
6757 Add note that No_Implicit_Conditionals does not suppress
6758 run time constraint checks.
6760 * vms_conv.ads: Minor reformatting
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
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.
6773 * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
6775 * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
6776 case variable into the individual case branches when possible.
6778 * sem_ch11.adb: Minor reformatting
6780 * prj.ads: Correct spelling of suffixs
6782 * prj-nmsc.adb: Minor reformatting
6783 Correct spelling suffixs throughout (also in identifiers)
6785 * freeze.adb: Minor spelling correction
6787 * exp_ch2.adb: Cleanups to handling of Current_Value
6788 (no functional effect).
6790 * bld.adb: Correct spelling of suffixs
6792 * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
6794 2004-08-09 Ed Schonberg <schonberg@gnat.com>
6798 * sem_ch7.adb (Install_Private_Declarations): In the body of the
6799 package or of a child, private entities are both immediately_visible
6802 2004-08-09 Ed Schonberg <schonberg@gnat.com>
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.
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.
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
6817 2004-08-09 Vincent Celier <celier@gnat.com>
6819 * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
6820 languages, otherwise building the library may fail with unresolved
6822 (Compile_Sources): Do not build libraries if -c switch is used
6824 * gnatlink.adb (Process_Args): New switches -M and -Mmap
6825 (Write_Usage): If map file creation is supported, output new switches
6827 (Gnatlink): When -M is specified, add the necessary switch(es) to the
6828 gcc call, when supported.
6830 * Makefile.in: Added indepsw.o to the object list for gnatlink
6831 Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
6833 * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
6834 indepsw.adb, indepsw.ads: New files.
6836 2004-08-09 Bernard Banner <banner@gnat.com>
6838 * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
6840 * Makefile.in: add section for vxworks x86
6842 2004-08-09 Hristian Kirtchev <kirtchev@gnat.com>
6844 * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
6845 per-object constrained components where the discriminant is of an
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
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.
6861 * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
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_
6880 (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
6882 (Has_Inferable_Discriminants): Implement new predicate for objects and
6883 expressions of Unchecked_Union type. Check the body of subprogram for
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.
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.
6903 * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
6904 parameter generation when dealing with Unchecked_Unions.
6906 * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
6907 checks for Unchecked_Unions.
6909 * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
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.
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.
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
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.
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.
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
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_
6948 * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
6949 references to Unchecked_Union discriminants.
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.
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.
6961 2004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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
6978 * utils.c (global_bindings_p): True when no current_function_decl; no
6979 longer check current_binding_level.
6981 2004-08-09 Ben Brosgol <brosgol@gnat.com>
6983 * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
6986 * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
6988 2004-08-06 Andreas Schwab <schwab@suse.de>
6990 * utils.c (gnat_define_builtin): Remove second parameter of
6992 (begin_subprog_body): Likewise.
6994 2004-07-26 Arnaud Charlet <charlet@act-europe.fr>
6996 * sem_util.adb (Requires_Transient_Scope): Temporarily disable
6997 optimization, not supported by the tree-ssa back-end.
6999 2004-07-26 Olivier Hainque <hainque@act-europe.fr>
7001 * s-mastop-irix.adb: Update comments.
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.
7008 2004-07-26 Javier Miranda <miranda@gnat.com>
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.
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
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.
7019 * sem_ch10.adb (Install_Siblings): Do not make visible the private
7020 entities of private-with siblings.
7022 2004-07-26 Ed Schonberg <schonberg@gnat.com>
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.
7028 * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
7029 bona-fide renamings, not for inherited operations.
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.
7035 2004-07-26 Ed Schonberg <schonberg@gnat.com>
7038 * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
7039 Diagnose properly illegal subprogram renamings that are library units.
7041 2004-07-26 Ed Schonberg <schonberg@gnat.com>
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.
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.
7052 2004-07-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7054 * gigi.h (gnat_expand_body): Deleted.
7056 * Make-lang.in: (trans.o): Depends on function.h.
7058 * misc.c: (gnat_expand_body): Moved to here.
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.
7067 * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
7068 VIEW_CONVERT_EXPR if not operation type.
7070 * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
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.
7079 2004-07-26 Vincent Celier <celier@gnat.com>
7081 * gnatcmd.adb (GNATCmd): Add processing for new built-in command
7084 * make.adb (Gnatmake): Fail when a library is not present and there is
7085 no object directory.
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.
7091 * opt.ads (Setup_Projects): New Boolean flag.
7093 * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
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
7101 (Language_Independent_Check): Create object directory, exec directory
7102 and/or library directory if they do not exist and we are in
7105 * vms_conv.ads: (Command_Type): New command Setup.
7107 * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
7109 * vms_data.ads: Add qualifiers/switches for new built-in command
7112 2004-07-25 Richard Henderson <rth@redhat.com>
7114 * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
7115 DECL_IGNORED_P on RESULT_DECL.
7117 2004-07-20 Olivier Hainque <hainque@act-europe.fr>
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.
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.
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.
7150 * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
7151 other separate units.
7153 2004-07-20 Vincent Celier <celier@gnat.com>
7155 * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
7157 2004-07-20 Ed Schonberg <schonberg@gnat.com>
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.
7164 2004-07-20 Ed Schonberg <schonberg@gnat.com>
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.
7174 2004-07-20 Ed Schonberg <schonberg@gnat.com>
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.
7181 2004-07-20 Javier Miranda <miranda@gnat.com>
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.
7187 2004-07-20 Jose Ruiz <ruiz@act-europe.fr>
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
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.
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.
7201 * Makefile.rtl: Add entry for s-solita.o in run-time library list.
7203 * s-solita.ads, s-solita.adb: New files.
7205 2004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
7213 2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
7215 * gigi.h (builtin_function): Declare.
7217 2004-07-15 Robert Dewar <dewar@gnat.com>
7219 * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
7222 * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
7223 access values as an example of a warning.
7225 * gnat_rm.texi: Document new attribute Has_Access_Values
7227 * gnat-style.texi: Document that box comments belong on nested
7230 * sem_util.ads (Has_Access_Values): Improved documentation
7232 * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
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
7238 * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
7240 * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
7242 * einfo.ads: Minor comment typo fixed
7244 2004-07-15 Jose Ruiz <ruiz@act-europe.fr>
7246 * snames.adb: Add _atcb.
7248 * snames.ads: Add Name_uATCB.
7250 * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
7251 (in the expanded code) when using the restricted run time.
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
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.
7261 * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
7262 order to allow ATCBs to be preallocated.
7264 * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
7265 here. It was previously done in Initialize_ATCB.
7267 * rtsfind.ads: Make the Ada_Task_Control_Block visible.
7269 * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
7270 Restricted run time.
7272 * exp_ch3.adb: When using the Restricted run time, pass the
7273 preallocated Ada_Task_Control_Block when creating a task.
7275 2004-07-15 Ed Schonberg <schonberg@gnat.com>
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.
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.
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
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
7296 * par.adb (Goto_List): Global variable to collect goto statements in a
7297 given unit, for use in detecting natural loops.
7299 * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
7300 use in detecting natural loops.
7302 * par-labl.adb (Find_Natural_Loops): Recognize loops create by
7303 backwards goto's, and rewrite as a infinite loop, to improve locality
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
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.
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.
7319 2004-07-15 Thomas Quinot <quinot@act-europe.fr>
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.
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
7331 2004-07-15 Vincent Celier <celier@gnat.com>
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.
7336 * prj.ads: (Defined_Variable_Kind): New subtype
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
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,
7346 New package oriented subprograms: Package_Node_Id_Of,
7347 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
7349 * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
7351 (Package_Node_Id): Now a private, self initialized type
7352 (Register_New_Package): New procedure to register a package with its
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,
7358 New package oriented subprograms: Package_Node_Id_Of,
7359 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
7361 * prj-dect.adb (Parse_Attribute_Declaration,
7362 Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
7364 * prj-makr.adb (Make): Parse existing project file before creating
7365 other files. Fail if there was an error during parsing.
7367 * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
7368 new spec of Prj.Attr.
7370 * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
7371 to new spec of Prj.Attr.
7373 2004-07-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7375 * utils2.c: Fix typo in comment.
7377 2004-07-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
7382 2004-07-14 Andreas Schwab <schwab@suse.de>
7384 * trans.c (gnat_init_stmt_group): Remove duplicate definition.
7386 2004-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7388 * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
7390 (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
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.
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
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.
7412 2004-07-13 Olivier Hainque <hainque@act-europe.fr>
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.
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.
7425 2004-07-13 Richard Henderson <rth@redhat.com>
7427 * misc.c (default_pass_by_ref): Use pass_by_reference.
7429 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
7431 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
7432 LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
7434 2004-07-08 Richard Henderson <rth@redhat.com>
7436 * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
7439 2004-07-06 Vincent Celier <celier@gnat.com>
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.
7445 * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
7446 the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
7448 * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
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
7461 * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
7463 * make.adb: Minor comment fix
7465 * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
7466 invoked with directory information, add the directory in front of the
7469 * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
7470 invoked with directory information, add the directory in front of the
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
7482 * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
7483 invoked with directory information, add the directory in front of the
7486 2004-07-06 Thomas Quinot <quinot@act-europe.fr>
7488 * snames.ads, snames.adb (Name_Stub): New name for the distributed
7491 * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
7492 New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
7494 * g-socket.adb (To_Timeval): Fix incorrect conversion of
7495 Selector_Duration to Timeval for the case of 0.0.
7497 * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
7498 documentation from Evolve_And_Then.
7500 2004-07-06 Jose Ruiz <ruiz@act-europe.fr>
7502 * s-taprop-tru64.adb, s-taprop-os2.adb,
7503 s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
7505 2004-07-06 Robert Dewar <dewar@gnat.com>
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.
7530 * gnat_rm.texi: Fix minor grammatical error
7532 * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
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
7537 (Has_Access_Values): New function.
7539 * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
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.
7546 2004-07-06 Ed Schonberg <schonberg@gnat.com>
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.
7552 2004-07-06 Ed Schonberg <schonberg@gnat.com>
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.
7559 2004-07-06 Ed Schonberg <schonberg@gnat.com>
7561 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
7562 Improve error message when specified size is not supported.
7564 * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
7565 is never a primitive operation.
7567 2004-07-05 Andreas Schwab <schwab@suse.de>
7569 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
7570 RECORD_OR_UNION_CHECK.
7571 (TYPE_CONTAINS_TEMPLATE_P): Likewise.
7573 2004-07-04 Kelley Cook <kcook@gcc.gnu.org>
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.
7579 2004-07-04 Richard Henderson <rth@redhat.com>
7581 * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
7583 2004-07-01 Richard Henderson <rth@redhat.com>
7585 * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
7586 * utils.c (max_size): Likewise.
7588 2004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
7635 2004-06-28 Robert Dewar <dewar@gnat.com>
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
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.
7647 * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
7648 machines, we need the check there as well.
7650 2004-06-28 Ed Schonberg <schonberg@gnat.com>
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.
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.
7660 2004-06-28 Ed Schonberg <schonberg@gnat.com>
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.
7669 2004-06-28 Pascal Obry <obry@gnat.com>
7671 * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
7673 (Library_File_Name_For): Idem.
7675 2004-06-28 Matthew Gingell <gingell@gnat.com>
7677 * g-traceb.ads: Add explanatory note on the format of addresses
7678 expected by addr2line.
7680 2004-06-28 Jerome Guitton <guitton@act-europe.fr>
7682 * Makefile.in: Force debugging information on s-tasdeb.adb,
7683 a-except.adb and s-assert.adb needed by the debugger.
7685 2004-06-28 Vincent Celier <celier@gnat.com>
7687 * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
7691 * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
7693 * prj.adb: Minor reformatting
7694 (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
7696 * prj.ads: Comment updates
7698 (Project_Data): Change Flag1 to Need_To_Build_Lib.
7699 Remove Flag2: not used.
7701 * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
7704 * gnat_ugn.texi: Put a "null;" declaration in one project file example
7706 * gnat_rm.texi: Document Empty declarations "null;".
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
7713 2004-06-28 Javier Miranda <miranda@gnat.com>
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.
7720 * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
7721 explicitly withed predefined units.
7724 * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
7725 explicitly withed predefined units.
7727 2004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
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
7748 2004-06-25 Pascal Obry <obry@gnat.com>
7750 * makegpr.adb (Build_Library): Remove parameter Lib_Address and
7751 Relocatable from Build_Dynamic_Library call.
7753 * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
7754 Relocatable are now synonym.
7756 * Makefile.in: Use s-parame-mingw.adb on MingW platform.
7758 * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
7759 Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
7762 * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
7763 Lib_Address and Relocatable.
7764 (Default_DLL_Address): Removed.
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.
7772 * mlib-tgt-mingw.adb: Ditto.
7773 (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
7775 * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
7776 the initial thread stack size.
7778 * a-strmap.ads: Move package L to private part as it is not used in
7779 the spec. Found while reading code.
7781 2004-06-25 Olivier Hainque <hainque@act-europe.fr>
7783 * tracebak.c: Introduce support for a GCC infrastructure based
7784 implementation of __gnat_backtrace.
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
7792 (is_handled_by, __gnat_eh_personality): Replace component references to
7793 exception structure by use of the new accessors.
7795 * init.c (__gnat_initialize): Adjust comments to match the just
7796 reverted meaning of the -static link-time option.
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.
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
7807 Update comments, and add a section on the common header alignment issue.
7809 2004-06-25 Geert Bosch <bosch@gnat.com>
7811 * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
7812 polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
7814 2004-06-25 Robert Dewar <dewar@gnat.com>
7816 * gnat_rm.texi: Fix section on component clauses to indicate that the
7817 restriction on byte boundary placement still applies for bit packed
7819 Add comment on stack usage from Initialize_Scalars
7821 * gnat_ugn.texi: Add documentation for -gnatyLnnn
7823 * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
7824 limiting nesting level.
7826 * usage.adb: Add line for -gnatyLnnn switch
7828 * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
7829 sem_ch13.adb, exp_aggr.adb: Minor reformatting
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.
7835 * sem_eval.ads: Minor comment typo fixed
7837 * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
7838 level. Minor reformatting.
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.
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.
7849 * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
7852 * cstand.adb: (Create_Standard): Set alignment of String to 1
7854 * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
7856 * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
7857 code in the common constrained array cases.
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).
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
7867 2004-06-25 Vincent Celier <celier@gnat.com>
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
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
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
7891 (Scan_Arg): Display the Copyright notice when -v is used
7893 * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
7896 * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
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
7903 * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
7904 to take into account both versions of the switch.
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
7911 * prj.adb (Project_Empty): Take into account changes in components of
7914 * prj.ads (Languages_Processed): New enumaration value All_Languages.
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.
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
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
7932 * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
7934 Make sure that all cycles where there is at least one "limited with"
7936 (Parse_Single_Project): New Boolean parameter In_Limited
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.
7942 * prj-proc.adb (Process): Use Ada_Sources_Present or
7943 Other_Sources_Present (instead of Sources_Present) depending on
7946 * lang-specs.h: Keep -g and -m switches in the same order, and as the
7949 * lib.adb (Switch_Storing_Enabled): New global Boolean flag
7950 (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
7952 (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
7955 * lib.ads (Disable_Switch_Storing): New procedure.
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
7965 When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
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
7981 * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
7982 generated file is in not in Ada.
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=
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
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.
7999 2004-06-25 Thomas Quinot <quinot@act-europe.fr>
8001 * sinfo.ads: Fix typo in comment.
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.
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.
8013 * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
8015 * exp_dist.adb: Minor comment fix.
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.
8026 2004-06-25 Ed Schonberg <schonberg@gnat.com>
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.
8032 * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
8033 before applying previous optimization. Minor code cleanup.
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
8040 2004-06-25 Ed Schonberg <schonberg@gnat.com>
8044 * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
8045 reference is written with expressions mimicking parameters.
8047 2004-06-25 Hristian Kirtchev <kirtchev@gnat.com>
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
8057 2004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr>
8059 * g-traceb.ads: Document the need for -E binder switch in the spec.
8061 * g-trasym.ads: Document the need for -E binder switch in the spec.
8063 2004-06-25 Jose Ruiz <ruiz@act-europe.fr>
8065 * sem_prag.adb: Add handling of pragma Detect_Blocking.
8067 * snames.h, snames.ads, snames.adb: Add entry for pragma
8070 * s-rident.ads: Change reference to pragma Detect_Blocking.
8072 * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
8075 * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
8076 to indicate whether pragma Detect_Blocking is active.
8078 * par-prag.adb: Add entry for pragma Detect_Blocking.
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.
8084 2004-06-25 Javier Miranda <miranda@gnat.com>
8086 * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
8087 use-clauses to have a clean environment.
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.
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.
8099 2004-06-25 Sergey Rybin <rybin@act-europe.fr>
8101 * gnat_ugn.texi: Add description of the gnatpp 'files' switch
8103 2004-06-23 Richard Henderson <rth@redhat.com>
8105 * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
8107 2004-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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
8135 2004-06-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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
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):
8155 (build_binary_op): Don't make explicit CONVERT_EXPR.
8156 Add extra rgs to ARRAY_REF.
8158 2004-06-14 Pascal Obry <obry@gnat.com>
8160 * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
8161 Windows. Fix minor typo.
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.
8167 2004-06-14 Vincent Celier <celier@gnat.com>
8169 * makegpr.adb (Compile_Sources): Nothing to do when there are no
8172 * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
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
8178 2004-06-14 Ed Schonberg <schonberg@gnat.com>
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.
8183 2004-06-14 Thomas Quinot <quinot@act-europe.fr>
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.
8189 2004-06-14 Robert Dewar <dewar@gnat.com>
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
8198 * symbols-vms-alpha.adb: Minor reformatting
8200 * g-debpoo.ads: Minor reformatting
8202 * lib.adb (In_Same_Extended_Unit): Version working on node id's
8204 * lib.ads (In_Same_Extended_Unit): Version working on node id's
8206 * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
8209 * make.adb: Minor reformatting
8211 * par-ch12.adb: Minor reformatting
8213 * par-prag.adb: Add dummy entry for pragma Profile_Warnings
8215 * prj-strt.adb: Minor reformatting
8217 * restrict.ads, restrict.adb: Redo handling of profile restrictions to
8220 * sem_attr.adb: Minor reformatting
8222 * sem_ch7.adb: Minor reformatting
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.
8227 * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
8228 static string expressions and not just string literals.
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
8235 * snames.h, snames.ads, snames.adb: Add new entry for pragma
8238 * s-rident.ads: Add declarations for restrictions required by profile
8239 Restricted and profile Ravenscar.
8241 * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
8243 * gnat_ugn.texi: Correct some missing entries in the list of GNAT
8244 configuration pragmas.
8246 2004-06-11 Vincent Celier <celier@gnat.com>
8248 * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
8249 gnatsym, when symbol policy is Restricted.
8251 * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
8252 gnatsym, when symbol policy is Restricted.
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.
8260 * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
8263 * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
8265 (Usage): Line for new switch -R
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
8274 (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
8277 * prj.ads: Add new symbol policy Restricted.
8279 * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
8280 with the new parameters Check_All_Labels and Case_Location.
8282 * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
8283 (Library_Symbol_File needs to be defined).
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.
8289 * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
8292 * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
8294 * gnat_ugn.texi: Update documentation about the library directory in
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.
8303 * symbols.ads: New symbol policy Restricted.
8305 2004-06-11 Olivier Hainque <hainque@act-europe.fr>
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.
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
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.
8325 2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
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).
8332 2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
8336 * einfo.ads: Minor comment updates for Has_Completion and
8337 E_Constant list of flags.
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.
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".
8349 * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
8350 completes a deferred constant.
8352 2004-06-11 Geert Bosch <bosch@gnat.com>
8354 * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
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
8360 (Remainder): Properly raise Constraint_Error for zero divisor.
8362 2004-06-11 Thomas Quinot <quinot@act-europe.fr>
8364 * sem_util.adb: Minor reformatting.
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).
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).
8380 2004-06-11 Emmanuel Briot <briot@act-europe.fr>
8382 * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
8383 message, like the compiler itself does. Easier to parse the output.
8385 * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
8387 * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
8388 be base names, and not includes directories.
8390 2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
8392 * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
8393 so that dependencies are properly taken into account by make.
8395 2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
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
8401 2004-06-11 Jerome Guitton <guitton@act-europe.fr>
8403 * Makefile.in (install-gnatlib): install target-specific run-time files.
8405 * Make-lang.in: Remove obsolete targets.
8407 2004-06-11 Ed Schonberg <schonberg@gnat.com>
8409 * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
8410 specification, to catch misuses of program unit names.
8412 * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
8413 superfluous conversions in an instance.
8415 2004-06-11 Ed Schonberg <schonberg@gnat.com>
8419 * sem_ch12.adb (Save_References): If operator node has been folded to
8420 enumeration literal, associated_node must be discarded.
8422 2004-06-11 Jose Ruiz <ruiz@act-europe.fr>
8424 * s-stchop-vxworks.adb: Add required pragma Convention to
8425 Task_Descriptor because it is updated by a C function.
8427 2004-06-08 Arnaud Charlet <charlet@act-europe.fr>
8431 * Makefile.in: Remove target specific SO_OPT on IRIX
8433 2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
8517 2004-06-07 Robert Dewar <dewar@gnat.com>
8519 * a-direct.ads, einfo.ads: Minor comment updates
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.
8527 * s-interr-sigaction.adb: Remove unreferenced variable
8528 (Attached_Interrupts). Minor reformatting.
8529 Avoid use of variable I (replace by J).
8531 * par-ch10.adb: Fix text of one error message
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
8546 2004-06-07 Doug Rupp <rupp@gnat.com>
8548 * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
8550 * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
8552 * mlib-tgt-vms-ia64.adb: New file.
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.
8561 * 5qsystem.ads renamed to system-vms_64.ads.
8563 2004-06-07 Vincent Celier <celier@gnat.com>
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
8570 * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
8573 * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
8574 (Normalize_Pathname): Only resolve VMS logical names when on VMS.
8576 * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
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.
8583 * prj-attr.adb: Add new package Metrics for gnatmetric
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
8588 (Ada_Check): Load the reference symbol file name in the name buffer to
8589 check it, not the symbol file name.
8591 * snames.ads, snames.adb: Add standard name Metrics (name of project
8592 file package for gnatmetric).
8594 * vms_conv.ads: Add Metric to Comment_Type
8596 * vms_conv.adb (Initialize): Add component dor Metric in Command_List
8598 * vms_data.ads: Add qualifiers for GNAT METRIC
8600 * makegpr.adb (Link_Executables): Take into account the switches
8601 specified in package Linker of the main project.
8603 2004-06-07 Thomas Quinot <quinot@act-europe.fr>
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).
8610 * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
8611 determines whether to generate a call to a checked storage pool
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
8617 2004-06-07 Romain Berrendonner <berrendo@act-europe.fr>
8619 * bindgen.adb (Gen_Output_File): Add support for GAP builds.
8621 2004-06-07 Eric Botcazou <ebotcazou@act-europe.fr>
8623 (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
8624 file level, elaborate the stride for inner dimensions in alignment
8627 * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
8630 2004-06-07 Javier Miranda <miranda@gnat.com>
8632 * exp_ch6.adb: Correct wrong modification in previous patch
8634 2004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr>
8636 * g-trasym.ads: Corrected comment to properly reflect level of support
8639 2004-06-07 Hristian Kirtchev <kirtchev@gnat.com>
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.
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.
8656 2004-06-07 Jerome Guitton <guitton@act-europe.fr>
8658 * Makefile.in: In the powerpc/vxworks-specific section, restore
8659 EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
8662 2004-06-07 Ed Schonberg <schonberg@gnat.com>
8664 * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
8665 predefined operators.
8666 Removes spurious type errors from g-trasym-vms.adb.
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
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.
8677 2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8679 * ada-tree.def (BLOCK_STMT): Now has two operands.
8682 * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
8684 * gigi.h: (gnat_poplevel): Now returns a tree.
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.
8693 * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
8695 2004-06-07 Jose Ruiz <ruiz@act-europe.fr>
8697 * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
8698 procedure Set_Stack_Size that is not needed.
8700 2004-06-07 Sergey Rybin <rybin@act-europe.fr>
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
8705 2004-06-07 Ben Brosgol <brosgol@gnat.com>
8707 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
8709 2004-06-07 Arnaud Charlet <charlet@act-europe.fr>
8711 * gnatvsn.ads: Bump version numbers appropriately.
8714 2004-06-07 Pascal Obry <obry@gnat.com>
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
8721 2004-05-27 Vincent Celier <celier@gnat.com>
8723 * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
8724 COMMENTS_LAYOUT=UNTOUCHED
8726 * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
8727 symbols-vms-alpha.adb
8729 2004-05-27 Thomas Quinot <quinot@act-europe.fr>
8731 * sem.ads: Clarify documentation on checks suppression.
8733 * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
8735 2004-05-27 Ed Schonberg <schonberg@gnat.com>
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.
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.
8750 * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
8751 has a universal interpretation, do the disambiguation here.
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
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.
8762 2004-05-27 Jose Ruiz <ruiz@act-europe.fr>
8764 * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
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.
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.
8775 * rtsfind.ads: Add the set of operations defined in package
8778 * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
8781 2004-05-27 Eric Botcazou <ebotcazou@act-europe.fr>
8783 lang-specs.h: Always require -c or -S and always redirect to /dev/null
8784 if -gnatc or -gnats is passed.
8786 2004-05-27 Hristian Kirtchev <kirtchev@gnat.com>
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.
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
8798 2004-05-27 Geert Bosch <bosch@gnat.com>
8800 * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
8801 Fixes ACATS Annex G tests.
8803 2004-05-27 Robert Dewar <dewar@gnat.com>
8805 * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
8808 2004-05-27 Arnaud Charlet <charlet@act-europe.fr>
8810 * s-interr.adb (Server_Task): Take into account case of early return
8811 from sigwait under e.g. linux.
8813 2004-05-27 Sergey Rybin <rybin@act-europe.fr>
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
8819 2004-05-24 Geert Bosch <bosch@gnat.com>
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
8828 (Tan): Always reduce arguments and compute function either using
8829 the processor's fptan instruction, or by dividing sin and cos as needed.
8831 2004-05-24 Doug Rupp <rupp@gnat.com>
8833 * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
8834 gcc error on 32/64 bit VMS.
8836 2004-05-24 Olivier Hainque <hainque@act-europe.fr>
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
8841 Document the issues which may require adjustments to our signal
8844 2004-05-24 Ed Schonberg <schonberg@gnat.com>
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.
8849 2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
8851 * exp_dbug.ads: Fix typo.
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.
8858 2004-05-24 Javier Miranda <miranda@gnat.com>
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.
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
8881 * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
8882 types the level of accessibility depends on the enclosing type
8885 * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
8886 entities. Complete documentation of previous change.
8888 2004-05-24 Robert Dewar <dewar@gnat.com>
8890 * namet.adb: Minor reformatting
8891 Avoid use of name I (replace by J)
8892 Minor code restructuring
8894 * sem_ch6.adb: Minor reformatting
8896 * lib-writ.adb: Do not set restriction as active if this is a
8897 Restriction_Warning case.
8899 * sem_prag.adb: Reset restriction warning flag if real pragma
8900 restriction encountered.
8902 * s-htable.adb: Minor reformatting
8903 Change rotate count to 3 in Hash (improves hash for small strings)
8905 * 5qsystem.ads: Add comments for type Address (no literals allowed).
8907 * gnat_ugn.texi: Add new section of documentation "Code Generation
8908 Control", which describes the use of -m switches.
8910 2004-05-24 Eric Botcazou <ebotcazou@act-europe.fr>
8912 trans.c (tree_transform) <N_Identifier>: Do the dereference directly
8913 through the DECL_INITIAL for renamed variables.
8915 2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
8917 * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
8919 2004-05-19 Joel Brobecker <brobecker@gnat.com>
8921 * exp_dbug.ads: Correct comments concerning handling of overloading,
8922 since we no longer use $ anymore.
8924 2004-05-19 Sergey Rybin <rybin@act-europe.fr>
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.
8930 2004-05-19 Ed Schonberg <schonberg@gnat.com>
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.
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.
8939 2004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8941 Part of function-at-a-time conversion
8943 * misc.c (adjust_decl_rtl): Deleted.
8944 (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
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.
8951 * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
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
8957 No longer call adjust_decl_rtl.
8958 (DECL_INIT_BY_ASSIGN_P): New macro.
8959 (DECL_STMT_VAR): Likewise.
8961 * trans.c (gigi): Call start_block_stmt to make the outermost
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
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
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
8986 * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
8989 * utils.c (create_var_decl): Do not call expand_decl or
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
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
9010 (build_subprog_body): Likewise.
9011 (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
9013 * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
9015 * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
9016 (DECL_STMT_VAR): Likewise.
9018 2004-05-17 Robert Dewar <dewar@gnat.com>
9020 * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
9023 * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
9024 of restriction synonyums by using
9025 Restrict.Process_Restriction_Synonyms.
9027 * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
9029 * s-restri.ads (Tasking_Allowed): Correct missing comment
9031 * s-rident.ads: Add entries for restriction synonyms
9033 * ali.adb: Fix some problems with badly formatted ALI files that can
9034 result in infinite loops.
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).
9058 2004-05-17 Vincent Celier <celier@gnat.com>
9060 * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
9061 directory separator.
9063 * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
9064 project being extended, if Languages is not declared in extending
9067 2004-05-17 Javier Miranda <miranda@gnat.com>
9069 * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
9070 limited view of a visible sibling.
9072 2004-05-14 Robert Dewar <dewar@gnat.com>
9074 * gnat_ugn.texi: Minor change to -gnatS documentation
9076 * sprint.adb: Remove some instances of Assert (False) and for this
9077 purpose replace them by output of a ??? string.
9079 * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
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.
9087 * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
9090 2004-05-14 Thomas Quinot <quinot@act-europe.fr>
9092 * gnat_ugn.texi: Document AIX-specific issue with initialization of
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.
9098 2004-05-14 Ed Schonberg <schonberg@gnat.com>
9100 * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
9101 subtype, check visible entities in base type.
9103 * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
9104 actions if the object is a renaming.
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.
9110 2004-05-14 Javier Miranda <miranda@gnat.com>
9112 * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
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
9118 (Check_Private_Child_Unit): Allow private_with clauses in public
9120 (Install_Siblings): Make visible the private entities of private-withed
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.
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.
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).
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
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
9146 * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
9148 2004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9150 * utils.c (build_vms_descriptor): Use SImode pointers.
9152 2004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr>
9154 * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
9156 2004-05-14 GNAT Script <nobody@gnat.com>
9158 * Make-lang.in: Makefile automatically updated
9160 2004-05-14 Arnaud Charlet <charlet@act-europe.fr>
9162 Renaming of target specific files for clarity
9164 * Makefile.in: Rename GNAT target specific files.
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.
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
9304 2004-05-13 Zack Weinberg <zack@codesourcery.com>
9306 * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
9308 2004-05-13 Diego Novillo <dnovillo@redhat.com>
9310 Merge from tree-ssa-20020619-branch.
9312 * config-lang.in (boot_language, build_by_default): Set
9314 * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
9315 (max_size): Add static chain op for call_expr.
9317 2004-05-12 Richard Sandiford <rsandifo@redhat.com>
9320 * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
9322 2004-05-11 Roger Sayle <roger@eyesopen.com>
9324 * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
9327 2004-05-10 Doug Rupp <rupp@gnat.com>
9329 * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
9332 * s-auxdec.ads: Add Short_Address subtype (moved here from System).
9334 * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
9336 * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
9337 Fixes undefined symbols in IA64 gnatlib.
9339 * 5vinmaop.adb: Reference s-auxdec for Short_Address.
9341 * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
9342 Short_Address). This will be moved to system.auxdec.
9344 2004-05-10 Thomas Quinot <quinot@act-europe.fr>
9346 * sem_util.adb: Replace test for presence of a node that is always
9347 present with a call to Discard_Node.
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.
9357 * einfo.ads: Clarify the fact that a tagged private type has the
9358 E_Record_Type_With_Private Ekind.
9360 * erroutc.adb: Minor reformatting
9362 * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
9363 values if line length is increased using -gnatyM (noticed during code
9366 * eval_fat.adb: Minor reformatting
9367 Put spaces around exponentiation operator
9369 2004-05-10 Ed Schonberg <schonberg@gnat.com>
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.
9376 2004-05-10 Ed Schonberg <schonberg@gnat.com>
9378 * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
9379 overriding, use the operation of the parent unconditionally.
9381 * sem_ch4.adb (Remove_Address_Interpretations): Remove address
9382 operation when either operand is a literal, to avoid further
9385 * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
9386 overridden by a previous explicit declaration, mark the previous entity
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.
9394 2004-05-10 Vincent Celier <celier@gnat.com>
9396 * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
9397 some cases when the sources are no longer present.
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
9403 * makeusg.adb: Document new switch -x
9405 * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
9408 * switch-m.adb (Scan_Make_Switches): New switch -x
9410 * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
9413 * gnat_ugn.texi: Document new gnatmake switch -x
9415 2004-05-10 Eric Botcazou <ebotcazou@act-europe.fr>
9417 * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
9419 * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
9420 (process_attributes): Likewise.
9422 2004-05-10 Joel Brobecker <brobecker@gnat.com>
9424 * s-inmaop.ads: Fix spelling mistake in one of the comments.
9426 2004-05-10 Robert Dewar <dewar@gnat.com>
9428 * gnat_ugn.texi: Document that for config pragma files, the maximum
9429 line length is always 32767.
9431 * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
9432 literals is now allowed.
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
9438 * sem_elim.adb: Allow concatenation of string literals as well as a
9439 single string literal for pragma arguments.
9441 * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
9443 * a-textio.adb (Terminate_Line): Do not add line feed if nothing
9444 written for append case.
9446 * frontend.adb: Changes to avoid checking max line length in config
9449 * g-os_lib.ads: Minor reformatting
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
9455 * opt.ads (Max_Line_Length): New field, used to implement removal of
9456 limitation on length of lines when scanning config pragma files.
9458 * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
9459 makeutl.ads, makeutl.adb: Minor reformatting
9461 * scn.adb: Do not check line length while scanning config pragma files
9462 Do not check line length while scanning out license information
9464 * scng.adb: Changes to avoid line length checks while parsing config
9467 2004-05-10 GNAT Script <nobody@gnat.com>
9469 * Make-lang.in: Makefile automatically updated
9471 2004-05-05 Arnaud Charlet <charlet@act-europe.fr>
9473 * osint.adb (Find_Program_Name): Fix handling of VMS version
9476 2004-05-05 Emmanuel Briot <briot@act-europe.fr>
9478 * g-os_lib.ads (Invalid_Time): New constant
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
9484 2004-05-05 Robert Dewar <dewar@gnat.com>
9486 * usage.adb: Add line for -gnatR?s switch
9488 * sem_ch13.adb, exp_ch2.adb: Minor reformatting
9490 * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
9491 and for Match (Data_First, Data_last)
9493 * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
9494 written when we are dealing with multi-unit files.
9496 2004-05-05 Jerome Guitton <guitton@act-europe.fr>
9498 * Makefile.in: Remove unused targets and variables.
9500 2004-05-05 Vincent Celier <celier@gnat.com>
9502 * switch-m.adb: New gnatmake switch -eI
9504 * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
9505 of new gnatmake switch -eInnn.
9507 * makegpr.adb: Take into account new parameters Index and Src_Index in
9510 * clean.adb: Implement support for multi-unit sources, including new
9513 * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
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.
9528 * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
9529 (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
9532 * makeusg.adb: New gnatmake switch -eInnn
9534 * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
9537 * opt.ads (Main_Index): New variable, defaulted to 0.
9539 * osint.ads, osinte.adb (Add_File): New parameter Index
9540 (Current_Source_Index): New function
9542 * prj.adb: Take into account new components Index and Src_Index
9544 * prj.ads (String_Element): New component Index
9545 (Variable_Value): New component Index
9546 (Array_Element): New component Src_Index
9548 * prj-attr.adb: Indicate that optional index may be specified for
9549 attributes Main, Executable, Spec, Body and some of Switches.
9551 * prj-attr.ads (Attribute_Kind): New values for optional indexes
9552 (Attribute_Record): New component Optional_Index
9554 * prj-com.ads (File_Name_Data): New component Index
9556 * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
9558 * prj-env.adb (Put): Output optional index
9560 * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
9561 attributes Spec and Body.
9563 * prj-nmsc.adb: Process optional indexes
9565 * prj-pp.adb: Ouput "at" for optional indexes
9567 * prj-proc.adb: Take into account optional indexes
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
9574 * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
9575 (Set_Source_Index_Of): New procedure
9577 * prj-util.adb (Executable_Of, Value_Of): Take into account optional
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.
9584 2004-05-05 Ed Schonberg <schonberg@gnat.com>
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
9592 2004-05-05 Ed Schonberg <schonberg@gnat.com>
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.
9598 2004-05-05 Thomas Quinot <quinot@act-europe.fr>
9600 * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
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
9608 * stand.ads (Boolean_Literals): New variable, provides the entity
9609 values for False and True, for use by the expander.
9611 2004-05-05 Doug Rupp <rupp@gnat.com>
9613 * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
9614 5vinmaop.adb: Unchecked convert Short_Address vice Address
9616 * adaint.c, raise.c: Caste CRTL function return value
9617 to avoid gcc error on 32/64 bit IVMS.
9619 * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
9622 * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
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.
9628 2004-05-05 Jose Ruiz <ruiz@act-europe.fr>
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.
9634 2004-05-05 GNAT Script <nobody@gnat.com>
9636 * Make-lang.in: Makefile automatically updated
9638 2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
9640 * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
9642 2004-05-03 Olivier Hainque <hainque@act-europe.fr>
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.
9650 2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
9652 * a-exexpr.adb: Add comments
9654 2004-05-03 Joel Brobecker <brobecker@gnat.com>
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
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.
9664 * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
9666 This prevents us from hitting a limitation during the debug info
9667 generation when using stabs.
9669 2004-05-03 Eric Botcazou <ebotcazou@act-europe.fr>
9671 lang-specs.h: Remove -gnatz* from specs.
9673 2004-05-03 Vincent Celier <celier@gnat.com>
9675 * gprmake.adb, makegpr.ads, makegpr.adb: New files.
9677 * Make-lang.in, Makefile.in: Add gprmake
9679 2004-05-03 Thomas Quinot <quinot@act-europe.fr>
9681 * sem_aggr.adb: Fix typo in comment.
9683 2004-05-03 Robert Dewar <dewar@gnat.com>
9685 * make.adb: Minor reformatting
9687 * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
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.
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
9697 * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
9698 interpretations of integer literals as type System.Address.
9700 * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
9701 (Is_Descendent_Of): New function
9703 2004-05-03 Jose Ruiz <ruiz@act-europe.fr>
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.
9709 * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
9710 of the old Max_Entry_Queue_Depth.
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
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.
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.
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.
9732 * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
9733 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
9735 * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
9736 of the old Max_Entry_Queue_Depth.
9738 2004-05-03 GNAT Script <nobody@gnat.com>
9740 * Make-lang.in: Makefile automatically updated
9742 2004-04-29 Ed Schonberg <schonberg@gnat.com>
9744 * checks.adb (Enable_Range_Check): If the prefix of an index component
9745 is an access to an unconstrained array, perform check unconditionally.
9747 2004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9749 * decl.c (gnat_to_gnu_field): Also call make_packable_type if
9752 2004-04-29 Olivier Hainque <hainque@act-europe.fr>
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.
9759 2004-04-29 Eric Botcazou <ebotcazou@act-europe.fr>
9761 lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
9764 2004-04-29 Vincent Celier <celier@gnat.com>
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.
9771 * switch-c.adb: Correct call to Scan_Pos for -gnateI
9773 2004-04-29 Thomas Quinot <quinot@act-europe.fr>
9775 * sem_warn.adb (Check_References): Move '<access-variable> may be
9776 null' warning out of under Warn_On_No_Value_Assigned.
9778 2004-04-29 Ed Falis <falis@gnat.com>
9780 * gnat_ugn.texi: Fixed texi error
9782 2004-04-29 Robert Dewar <dewar@gnat.com>
9784 * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
9785 abstract operations if they come from predefined files.
9787 * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
9790 * s-addope.adb: Correct obvious error in mod function
9792 2004-04-28 Andrew W. Reynolds <awreynolds@mac.com>
9794 * Makefile.in: Add target pairs for powerpc darwin*
9797 * a-intnam-darwin.ads, s-osinte-darwin.adb,
9798 s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
9800 2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
9802 * Makefile.in: Add target macro definitions for s390*-linux*.
9803 * system-linux-s390.ads: New file.
9804 * system-linux-s390x.ads: New file.
9806 2004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
9808 * gnat_ugn.texi: Correct argument to @setfilename.
9810 2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
9812 * a-exexpr.adb (Unwind_Word): New data type.
9813 (Unwind_Exception): Use it as type of Private1 and Private2.
9815 * raise.c (db_action_for): Fix debug printf.
9817 2004-04-27 Ed Schonberg <schonberg@gnat.com>
9819 * a-wtmoio.ads: Formal type must be a modular type, not a signed
9822 2004-04-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9824 * decl.c (gnat_to_gnu_entity, case object): Call
9825 __builtin_update_setjmp_buf.
9827 * gigi.h (update_setjmp_buf): Deleted.
9828 (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
9830 * misc.c: (update_setjmp_buf): Deleted.
9832 * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
9833 around block of RTL.
9835 * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
9837 2004-04-26 Thomas Quinot <quinot@act-europe.fr>
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.
9844 2004-04-26 Robert Dewar <dewar@gnat.com>
9846 * i-c.ads: Add some type qualifications to avoid ambiguities when
9847 compiling with s-auxdec.ads and a non-private address type.
9849 2004-04-26 Arnaud Charlet <charlet@act-europe.fr>
9851 * Makefile.rtl: Fix error in previous check-in:
9852 Add s-addope.o to non tasking object list (rather than tasking object
9855 2004-04-26 Javier Miranda <miranda@gnat.com>
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.
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
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
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.
9876 * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
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.
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.
9887 2004-04-26 Sergey Rybin <rybin@act-europe.fr>
9889 * sem_elim.adb: Some minor code reorganization from code reading. Fix
9890 misprint in the function name (File_Name_Match).
9892 2004-04-23 Laurent GUERBY <laurent@guerby.net>
9894 * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
9897 2004-04-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9899 * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
9901 2004-04-23 Emmanuel Briot <briot@act-europe.fr>
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.
9908 * adaint.h (gnat_is_absolute_path): Change profile, so that the call
9909 from GNAT.OS_Lib can be made more efficient.
9911 * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
9912 one copy of the file name. Found by code reading.
9914 2004-04-23 Vincent Celier <celier@gnat.com>
9916 * gnat_ugn.texi: Add documentation for gnatmake switch -eL
9917 Correct documentation on gnatmake switches transmitted to the compiler
9919 * ali.ads: Minor comment fix
9921 2004-04-23 Javier Miranda <miranda@gnat.com>
9923 * sem_ch6.adb: (Confirming Types): Code cleanup
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.
9929 2004-04-23 Thomas Quinot <quinot@act-europe.fr>
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
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.
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
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.
9947 2004-04-23 Robert Dewar <dewar@gnat.com>
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.
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.
9958 * sem_elim.adb: Minor reformatting (fairly extensive)
9959 Some minor code reorganization from code reading
9960 Add a couple of ??? comments
9962 2004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9964 * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
9965 (tree_transform, case N_If_Statement): Remove non-determinism.
9967 * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
9969 2004-04-23 Sergey Rybin <rybin@act-europe.fr>
9971 * gnat_rm.texi: Small fixes in the changes made in the 'pragma
9974 * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
9975 no longer used as a parameter name for Eliminate pragma).
9977 2004-04-22 Laurent GUERBY <laurent@guerby.net>
9979 PR optimization/14984
9980 PR optimization/14985
9981 * trans.c (gigi): Fix non determinism leading to bootstrap
9982 comparison failures.
9984 2004-04-21 Pascal Obry <obry@gnat.com>
9986 * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
9987 passed to spawnvp() to properly handle program pathname with spaces on
9990 2004-04-21 Emmanuel Briot <briot@act-europe.fr>
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.
9996 2004-04-21 Joel Brobecker <brobecker@gnat.com>
9998 * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
9999 This function does not exist anymore.
10001 2004-04-21 Thomas Quinot <quinot@act-europe.fr>
10003 * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
10005 * link.c: Move variables to the __gnat name space.
10007 * Makefile.in: list link.o explicitly when needed.
10009 * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
10011 2004-04-21 Javier Miranda <miranda@gnat.com>
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
10017 * einfo.ads (Original_Access_Type): New field present in access to
10019 Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
10020 E_Anonymous_Access_Protected_Subprogram_Type.
10022 * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
10025 * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
10026 to anonymous access to subprogram types.
10028 * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
10029 to subprogram types.
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.
10041 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
10044 * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
10045 access to subprogram types.
10047 * sem_util.adb (Has_Declarations): Addition of package_specification
10050 2004-04-21 Ed Schonberg <schonberg@gnat.com>
10052 * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
10053 inlined flags to renamed entity only if in current unit.
10055 2004-04-21 Thomas Quinot <quinot@act-europe.fr>
10057 * s-parint.ads: Add DSA implementation marker.
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).
10064 2004-04-21 Joel Brobecker <brobecker@gnat.com>
10066 * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
10068 2004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10070 * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
10071 with new type if alias sets differ.
10072 Fixes ACATS c41103b.
10074 2004-04-21 Vincent Celier <celier@gnat.com>
10076 * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
10077 Add array Lang_Args for the language specific compiling argument
10080 * gnat_ugn.texi: Explain in more details when a library is rebuilt.
10082 2004-04-21 Sergey Rybin <rybin@act-europe.fr>
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).
10088 2004-04-19 Arnaud Charlet <charlet@act-europe.fr>
10090 * 5isystem.ads: Removed, unused.
10092 * gnat_rm.texi: Redo 1.13 change.
10094 2004-04-19 Robert Dewar <dewar@gnat.com>
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.
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).
10106 * sem_eval.adb: Minor reformatting
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).
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
10119 * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
10121 * exp_intr.adb: Minor comment update
10123 * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
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).
10130 2004-04-19 Vincent Celier <celier@gnat.com>
10132 * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
10134 * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
10137 * prj-proc.adb (Process): New Boolean parameter Process_Languages,
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
10146 * prj-proc.ads (Process): New Boolean parameter Process_Languages,
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.
10152 * opt.ads: (Follow_Links): New Boolean flag for gnatmake
10154 * prj.adb: (Project_Empty): Add new Project_Data components.
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.
10161 * prj-env.ads, prj-env.adb: Minor reformatting
10163 * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
10164 Put subprograms in alphabetical order
10166 * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
10167 defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
10170 * mlib-prj.adb: Back out modification in last version, as they are
10172 (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
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.
10181 * makeutl.ads, makeutl.adb: New files.
10183 * Makefile.in: Add makeutl.o to the object files for gnatmake
10185 * makeusg.adb: Add line for new switch -eL.
10187 * gnatls.adb (Image): New function.
10188 (Output_Unit): If in verbose mode, output the list of restrictions
10189 specified by pragmas Restrictions.
10191 * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
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).
10200 * adaint.h, adaint.c (__gnat_set_executable): New function.
10202 2004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
10214 * utils2.c (build_unary_op): Properly set TREE_READONLY of
10215 UNCONSTRAINED_ARRAY_REF.
10217 * utils.c (poplevel): Temporarily push/pop GC context around inline
10218 function expansion.
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.
10224 * ada-tree.def: (ASM_STMT): New.
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.
10231 2004-04-19 Thomas Quinot <quinot@act-europe.fr>
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.
10238 * snames.ads, snames.adb: Add new runtime library entities and names
10241 * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
10243 (Build_Subprogram_Id): New subprogram provided by exp_dist
10244 Code reorganisation in preparation for PolyORB integration.
10246 * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
10248 (Build_Subprogram_Id): New subprogram provided by exp_dist
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.
10254 * rtsfind.ads: Add new runtime library entities and names for PolyORB
10257 * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
10258 instead, which has the same behaviour here since we never pass it a
10261 * link.c (run_path_option, Solaris case): Use -Wl, as for other
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.
10268 * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
10269 from Mlib.Tgt to Mlib.
10271 * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
10272 target-independent.
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.
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.
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.
10292 2004-04-19 Javier Miranda <miranda@gnat.com>
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.
10299 * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
10301 * sinfo.ads, sinfo.adb:
10302 New field Access_To_Subprogram_Definition in Access_Definition nodes
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.
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.
10316 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
10319 * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
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.
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.
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.
10349 * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
10350 call to P_Access_Definition.
10352 2004-04-19 Geert Bosch <bosch@gnat.com>
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.
10358 * eval_fat.adb (Machine_Mantissa): Moved to spec.
10359 (Machine_Radix): New function.
10361 * eval_fat.ads (Machine_Mantissa): Moved from body for use in
10363 (Machine_Radix): New function also for use in conversion checks.
10365 2004-04-19 Ed Schonberg <schonberg@gnat.com>
10367 * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
10369 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
10370 to decorate the access-to-protected subprogram and the equivalent type.
10372 * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
10373 to anonymous access to subprogram types.
10375 * exp_ch4.adb (Expand_N_In): Preserve Static flag before
10376 constant-folding, for legality checks in contexts that require an RM
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
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.
10388 * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
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
10398 * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
10399 no constraint checks, because it corresponds to an existing object.
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.
10405 * sem_res.adb (Valid_Conversion): In an instance or inlined body,
10406 ignore type mismatch on a numeric conversion if expression comes from
10409 2004-04-19 Sergey Rybin <rybin@act-europe.fr>
10411 * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
10412 Homonym_Number parameter, add processing for Source_Location parameter
10414 (Check_Eliminated): Remove the check for homonym numbers, add the check
10415 for source location traces.
10417 * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
10418 with Arg_Source_Location corresponding to the changes in the format of
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.
10426 2004-04-19 Joel Brobecker <brobecker@gnat.com>
10428 * get_targ.ads (Get_No_Dollar_In_Label): Remove.
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.
10434 2004-04-19 Gary Dismukes <dismukes@gnat.com>
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
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.
10444 2004-04-19 Jerome Guitton <guitton@act-europe.fr>
10446 * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
10449 2004-04-19 Pascal Obry <obry@gnat.com>
10451 * mdll-utl.adb (Locate): New version is idempotent.
10453 2004-04-17 Laurent Guerby <laurent@guerby.net>
10455 PR ada/14988 (partial)
10456 * impunit.adb: Fix typo.
10458 2004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
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.
10466 2004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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
10476 (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
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.
10483 * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
10485 * ada-tree.def (EXPR_STMT): Fix typo in name.
10486 (BLOCK_STMT, IF_STMT): New nodes.
10488 * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
10489 LABEL_STMT_FIRST_IN_EH): New macros.
10490 (RETURN_STMT_EXPR): Likewise.
10492 * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
10493 IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
10495 2004-04-08 Thomas Quinot <quinot@act-europe.fr>
10497 * atree.ads: Correct documentation on extended nodes.
10499 * link.c: Set run_path_option for FreeBSD.
10501 2004-04-08 Vincent Celier <celier@gnat.com>
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.
10506 * par.adb Remove the last two characters ("%s" or "%b") when checking
10507 if a language defined unit may be recompiled.
10509 2004-04-08 Ed Schonberg <schonberg@gnat.com>
10511 * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
10512 removal of abstract operation leaves no possible interpretation for
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.
10519 * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
10520 operands even when they are not wrapped in a type conversion.
10522 2004-04-08 Olivier Hainque <hainque@act-europe.fr>
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.
10530 2004-04-08 Thomas Quinot <quinot@act-europe.fr>
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.
10536 * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
10537 inline functions returning an unconstrained result.
10539 2004-04-08 Eric Botcazou <ebotcazou@act-europe.fr>
10541 * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
10542 conform to what other front-ends do.
10544 2004-04-08 Doug Rupp <rupp@gnat.com>
10546 * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
10549 2004-04-06 Pascal Obry <obry@gnat.com>
10551 * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
10553 * osint.adb (Program_Name): Do not look past a directory separator.
10555 2004-04-06 Thomas Quinot <quinot@act-europe.fr>
10557 * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
10559 * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
10560 requirement for preserving a copy of the original assignment node.
10562 * sinfo.ads: Update comment (Original_Tree -> Original_Node).
10564 2004-04-06 Olivier Hainque <hainque@act-europe.fr>
10566 (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
10569 2004-04-06 Ed Schonberg <schonberg@gnat.com>
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.
10575 2004-04-06 Robert Dewar <dewar@gnat.com>
10577 * 5wdirval.adb: Minor reformatting
10579 2004-04-06 Ed Falis <falis@gnat.com>
10581 * gnat_rm.texi: Improve a reference to the GCC manual
10583 2004-04-05 Vincent Celier <celier@gnat.com>
10585 * adaint.h, adaint.c: Add function __gnat_named_file_length
10587 * impunit.adb: Add Ada.Directories to the list
10589 * Makefile.in: Add VMS and Windows versions of
10590 Ada.Directories.Validity package body.
10592 * Makefile.rtl: Add a-direct and a-dirval
10594 * mlib-tgt.ads: Minor comment update.
10596 * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
10597 a-direct.ads, a-direct.adb: New files.
10599 2004-04-05 Vincent Celier <celier@gnat.com>
10602 * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
10603 just to the compiler.
10605 2004-04-05 Robert Dewar <dewar@gnat.com>
10607 * a-except.adb (Exception_Name_Simple): Make sure lower bound of
10608 returned string is 1.
10610 * ali-util.adb: Use proper specific form for Warnings (Off, entity)
10612 * eval_fat.ads: Minor reformatting
10614 * g-curexc.ads: Document that lower bound of returned string values
10617 * gnatlink.adb: Add ??? comment for previous change
10618 (need to document why this is VMS specific)
10620 * s-stoele.ads: Minor reformatting
10622 * tbuild.ads: Minor reformatting throughout (new function specs)
10624 * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
10627 * scng.adb: Minor reformatting
10629 2004-04-05 Geert Bosch <bosch@gnat.com>
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.
10635 2004-04-05 Javier Miranda <miranda@gnat.com>
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).
10641 * par-ch4.adb: Complete documentation of previous change.
10643 * par-ch6.adb: Complete documentation of previous change.
10645 * sinfo.ads: Fix typo in commment.
10647 2004-04-05 Ed Schonberg <schonberg@gnat.com>
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.
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.
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).
10661 2004-04-05 Thomas Quinot <quinot@act-europe.fr>
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.
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
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).
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'.
10687 2004-04-05 Ramon Fernandez <fernandez@gnat.com>
10689 * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
10692 2004-04-05 Olivier Hainque <hainque@act-europe.fr>
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.
10698 * init.c: Update comments.
10700 2004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
10706 2004-04-02 Arnaud Charlet <charlet@act-europe.fr>
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.
10712 2004-04-02 Jan Hubicka <jh@suse.cz>
10714 * utils.c: Include function.h
10715 (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
10717 2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
10720 * Make-lang.in: Clean up generation of documentation
10722 * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
10724 * xgnatug.adb: Removed, replaced by xgnatugn.adb
10726 * xgnatugn.adb: Replaces xgnatug.adb
10728 * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
10730 * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
10732 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10733 gnat_ug_wnt.texi: Removed.
10735 2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
10737 * utils2.c: Update copyright notice.
10739 2004-04-01 Robert Dewar <dewar@gnat.com>
10741 * checks.adb: Minor reformatting throughout
10742 Note that prev checkin added RM reference to alignment warning
10744 2004-04-01 Ed Schonberg <schonberg@gnat.com>
10746 * exp_aggr.adb (Get_Component_Val): Treat a string literal as
10747 non-static when building aggregate for bit-packed array.
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
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.
10757 2004-04-01 Vincent Celier <celier@gnat.com>
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
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.
10767 * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
10769 Increase the Marking_Label at the end of the Multiple_Main_Loop,
10770 instead of at the beginning.
10772 * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
10774 (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
10777 * osint.ads (Multi_Unit_Index_Character): New Character global variable
10779 * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
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)
10786 * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
10787 following units without style checking.
10789 * switch-c.adb: Change -gnatC to -gnateI
10791 * usage.adb: Document new switch -gnateInnn
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
10799 2004-04-01 Thomas Quinot <quinot@act-europe.fr>
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.
10807 2004-04-01 Javier Miranda <miranda@gnat.com>
10809 * par-ch4.adb: (P_Allocator): Code cleanup
10811 * sem_ch3.adb (Access_Definition): Properly set the null-excluding
10814 * sinfo.ads: Complete documentation of previous change
10816 2004-04-01 Pascal Obry <obry@gnat.com>
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.
10822 2004-04-01 GNAT Script <nobody@gnat.com>
10824 * Make-lang.in: Makefile automatically updated
10826 2004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
10835 2004-03-29 Javier Miranda <miranda@gnat.com>
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
10844 * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
10846 * einfo.ads: Fix typo in comment
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.
10853 * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
10854 the null-excluding type to force the corresponding run-time check.
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.
10859 * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
10862 * exp_util.ads: Fix typo in comment
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
10868 * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
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
10875 (Resolve_Array_Aggregate): Carry out some static checks
10876 (Resolve_Record_Aggregate.Get_Value): Carry out some static check
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
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
10891 * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
10893 * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
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
10902 * sem_res.adb (Resolve_Actuals): Carry out some static check
10903 (Resolve_Null): Allow null in anonymous access
10905 * sinfo.adb: New subprogram Null_Exclusion_Present
10906 All_Present and Constant_Present available on access_definition nodes
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.
10915 2004-03-29 Robert Dewar <dewar@gnat.com>
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
10924 * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
10926 * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
10927 sem_util.adb: Minor reformatting
10929 * sem_ch12.adb: Add comment for previous change
10931 2004-03-29 Laurent Pautet <pautet@act-europe.fr>
10933 * osint.adb (Executable_Prefix): Set Exec_Name to the current
10934 executable name when not initialized. Otherwise, use its current value.
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).
10941 2004-03-29 Ed Schonberg <schonberg@gnat.com>
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.
10947 * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
10948 information for protected (wrapper) operation as well, to simplify gdb
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
10957 * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
10958 apply convention to homonyms that are declared explicitly.
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
10965 2004-03-29 GNAT Script <nobody@gnat.com>
10967 * Make-lang.in: Makefile automatically updated
10969 2004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr>
10971 * memtrack.adb: Log realloc calls, which are treated as free followed
10974 2004-03-25 Vincent Celier <celier@gnat.com>
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.
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.
10985 * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
10986 resolve links when computing the display names.
10988 2004-03-25 Thomas Quinot <quinot@act-europe.fr>
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.
10999 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
11000 conversion of a discriminant-dependent component of a mutable object
11003 2004-03-25 Ed Schonberg <schonberg@gnat.com>
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.
11010 * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
11011 indication on renaming declaration, if formal has a box and actual
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.
11018 * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
11019 subprogram renaming comes from a defaulted formal subprogram in an
11022 2004-03-25 Gary Dismukes <dismukes@gnat.com>
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
11029 2004-03-25 Arnaud Charlet <charlet@act-europe.fr>
11031 * s-tpobop.adb: Code clean up:
11032 (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
11034 (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
11036 2004-03-25 Jose Ruiz <ruiz@act-europe.fr>
11038 * Makefile.in: Clean up in the ravenscar run time.
11040 2004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
11046 2004-03-22 Cyrille Comar <comar@act-europe.fr>
11048 * ali.ads: Fix Comment about Dynamic_Elab.
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
11055 2004-03-22 Vincent Celier <celier@gnat.com>
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.
11065 2004-03-22 Robert Dewar <dewar@gnat.com>
11067 * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
11068 s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
11070 2004-03-22 Sergey Rybin <rybin@act-europe.fr>
11072 * scn.adb (Contains): Add check for EOF, is needed for a degenerated
11073 case when the source contains only comments.
11075 2004-03-22 Ed Schonberg <schonberg@gnat.com>
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.
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.
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
11091 2004-03-22 Thomas Quinot <quinot@act-europe.fr>
11093 * sem_util.adb (Is_Object_Reference): A view conversion denotes an
11096 2004-03-22 GNAT Script <nobody@gnat.com>
11098 * Make-lang.in: Makefile automatically updated
11100 2004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
11113 * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
11115 2004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
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.
11122 2004-03-19 Arnaud Charlet <charlet@act-europe.fr>
11124 * ada-tree.h: Update copyright notice.
11125 Minor reformatting.
11127 2004-03-19 Olivier Hainque <hainque@act-europe.fr>
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.
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.
11141 2004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
11147 2004-03-19 Laurent Guerby <laurent@guerby.net>
11149 * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
11150 aggregate, allows bootstrap from 3.3 on powerpc-darwin.
11152 2004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
11163 2004-03-18 Arnaud Charlet <charlet@act-europe.fr>
11165 * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
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.
11172 2004-03-18 Thomas Quinot <quinot@act-europe.fr>
11174 * adaint.c: Update comments.
11176 * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
11177 GNATLIB_SHARED for FreeBSD.
11179 2004-03-18 Jose Ruiz <ruiz@act-europe.fr>
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.
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).
11190 * Make-lang.in: Add the object file for
11191 System.Stack_Checking.Operations.
11193 * Makefile.rtl: Add object file for the package
11194 System.Stack_Checking.Operations.
11196 * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
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.
11203 2004-03-18 Doug Rupp <rupp@gnat.com>
11205 * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
11208 * 5qsystem.ads, 5xcrtl.ads: New files.
11210 2004-03-18 Vincent Celier <celier@gnat.com>
11212 * prj.adb (Reset): Reset hash table Files_Htable
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.
11223 * prj-nmsc.adb (Record_Source): Add source file name in hash table
11224 Files_Htable for all sources.
11226 * prj-proc.adb (Process): Remove restrictions between not directly
11227 related extending projects.
11229 2004-03-18 Emmanuel Briot <briot@act-europe.fr>
11231 * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
11232 (Find_Sources): Minor speed optimization.
11234 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
11235 parameter Trusted_Mode.
11237 2004-03-18 Sergey Rybin <rybin@act-europe.fr>
11239 * scn.adb (Determine_License): Take into account a degenerated case
11240 when the source contains only comments.
11242 2004-03-18 Ed Schonberg <schonberg@gnat.com>
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.
11248 2004-03-15 Jerome Guitton <guitton@act-europe.fr>
11250 * 3zsoccon.ads: Fix multicast options.
11252 * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
11255 2004-03-15 Robert Dewar <dewar@gnat.com>
11257 * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
11258 pragma used for a private type.
11260 * lib-xref.adb (Generate_Reference): Do not generate warning if
11261 reference is in a different unit from the pragma Unreferenced.
11263 * 5vtpopde.adb: Minor reformatting
11264 Fix casing of To_Task_ID
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
11270 2004-03-15 Geert Bosch <bosch@gnat.com>
11272 * a-ngcoty.adb (Modulus): In alternate formula for large real or
11273 imaginary parts, use Double precision throughout.
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.
11279 2004-03-15 Olivier Hainque <hainque@act-europe.fr>
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.
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
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
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.
11303 * raise.h (Exception_Code): New type for C.
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.
11309 * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
11310 New accessors to allow easy access to GNAT exception data
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
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.
11323 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
11324 registration call to include a pointer to the exception object in the
11327 * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
11328 instead of int and explicit bitmasks.
11330 2004-03-15 Vincent Celier <celier@gnat.com>
11332 * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
11333 equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
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.
11339 * adaint.h, adaint.c: (__gnat_create_output_file): New function
11341 * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
11343 * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
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.
11352 * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
11353 to avoid warnings when instantiating Ada.Task_Attributes.
11356 * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
11357 in the correct order.
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.
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.
11367 2004-03-15 Ed Schonberg <schonberg@gnat.com>
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.
11376 * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
11377 boolean when locating primitive equality of tagged component.
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.
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.
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.
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.
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.
11400 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
11401 for end label when present.
11403 * s-fileio.adb (Open): When called with a C_Stream, use given name for
11404 temporary file, rather than an empty string.
11406 2004-03-15 Ed Falis <falis@gnat.com>
11408 * s-thread.adb: Removed, no longer used.
11410 2004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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
11418 * fe.h: Sort Einfo decls and add Set_Mechanism.
11420 * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
11421 (ada/decl.o): Depends on target.h.
11423 * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
11424 FUNCTION_BOUNDARY; always use TYPE_ALIGN.
11426 2004-03-15 Thomas Quinot <quinot@act-europe.fr>
11428 * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
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
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
11446 (Insert_Dereference_Action): Clarify and correct comment.
11448 2004-03-08 Paolo Bonzini <bonzini@gnu.org>
11451 Move language detection to the top level.
11452 * config-lang.in: Build by default.
11454 2004-03-05 Robert Dewar <dewar@gnat.com>
11456 * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
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.
11464 * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
11467 * 7stpopsp.adb: Correct casing in To_Task_ID call
11469 * a-strsea.ads, a-strsea.adb: Minor reformatting
11471 * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
11473 * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
11474 Adjust Max_Msg_Length to be clearly large enough.
11476 * fe.h: Define In_Same_Source_Unit
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
11482 * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
11484 * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
11486 * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
11488 * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
11490 * sem_prag.adb: Implement pragma No_Strict_Aliasing.
11492 * sinfo.ads: Remove obsolete comment on validate unchecked conversion
11493 node. We now do generate them for gcc back end.
11495 * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
11498 * sinput-c.adb: Fix bad name in header.
11499 Add pragma Warnings Off to suppress aliasing warning.
11501 * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
11503 * snames.h, snames.ads, snames.adb: Add entry for pragma
11504 No_Strict_Aliasing.
11506 2004-03-05 Vincent Celier <celier@gnat.com>
11508 * prj-com.ads: Add hash table Files_Htable to check when a file name
11509 is already a source of another project.
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
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.
11518 * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
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
11526 2004-03-05 Pascal Obry <obry@gnat.com>
11528 * make.adb: Minor reformatting.
11530 2004-03-05 Ed Schonberg <schonberg@gnat.com>
11532 Part of implemention of AI-262.
11533 * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
11535 * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
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
11543 (Build_Derived_Record_Type): Inherit discriminants when deriving a type
11544 with unknown discriminants whose full view is a discriminated record.
11546 * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
11547 flag, to handle properly derivations of tagged types with unknown
11549 (Analyze_Package_Spec, Analyze_Package_Body): Install
11550 Private_With_Clauses before analyzing private part or body.
11552 * einfo.ads: Indicate that both Has_Unknown_Discriminants and
11553 Has_Discriminants can be true for a given type (documentation).
11555 2004-03-05 Arnaud Charlet <charlet@act-europe.fr>
11557 * s-restri.ads: Fix license (GPL->GMGPL).
11559 * s-tassta.adb: Minor reformatting.
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
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
11569 2004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11571 * trans.c: Reflect GCC changes to fix bootstrap problem.
11572 Add warning for suspicious aliasing unchecked conversion.
11574 2004-03-05 GNAT Script <nobody@gnat.com>
11576 * Make-lang.in: Makefile automatically updated
11578 2004-03-02 Emmanuel Briot <briot@act-europe.fr>
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.
11584 2004-03-02 Vincent Celier <celier@gnat.com>
11586 * bcheck.adb (Check_Consistency): Get the full path of an ALI file
11587 before checking if it is read-only.
11589 * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
11590 of SRC_DIRS and eliminate duplicates.
11592 * gprcmd.adb: Replace command "path" with command "path_sep" to return
11593 the path separator.
11594 (Usage): Document path_sep
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
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
11606 (Add_To_Path): Add the Display_Values of the directories, not their
11609 * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
11612 * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
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.
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
11624 2004-03-02 Ed Schonberg <schonberg@gnat.com>
11626 * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
11627 and not a child unit.
11629 * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
11630 appear in a with_clause.
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.
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.
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
11643 2004-03-02 Robert Dewar <dewar@gnat.com>
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
11648 * errout.ads, errout.adb: Implement new circuit for substitution of
11651 * sem_case.adb (Analyze_Choices): Place message properly when case is
11652 a subtype reference rather than an explicit range.
11654 * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
11656 2004-03-02 Doug Rupp <rupp@gnat.com>
11658 * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
11660 2004-03-02 Thomas Quinot <quinot@act-europe.fr>
11662 * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
11664 2004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11666 * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
11669 2004-02-25 Robert Dewar <dewar@gnat.com>
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.
11680 * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
11682 2004-02-25 Ed Schonberg <schonberg@gnat.com>
11684 * exp_ch2.adb (Param_Entity): Handle properly formals that have been
11685 rewritten as references when aliased through an address clause.
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.
11691 2004-02-25 Arnaud Charlet <charlet@act-europe.fr>
11694 * exp_ch7.adb (Make_Clean): Remove generation of calls to
11695 Unlock[_Entries], since this is now done by Service_Entries directly.
11697 * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
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.
11705 * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
11707 * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
11709 2004-02-25 Sergey Rybin <rybin@act-europe.fr>
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.
11715 * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
11718 2004-02-25 Jerome Guitton <guitton@act-europe.fr>
11720 * Makefile.in: Clean ups.
11722 2004-02-23 Ed Schonberg <schonberg@gnat.com>
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
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
11735 * sem_elim.adb (Check_Eliminated): Handle properly protected operations
11736 declared in a single protected object.
11738 2004-02-23 Vincent Celier <celier@gnat.com>
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.
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
11748 * prj-part.adb (Parse_Single_Project): Make sure, when checking if
11749 project file has already been parsed that canonical path are compared.
11751 2004-02-23 Robert Dewar <dewar@gnat.com>
11753 * sinput-c.ads: Correct bad unit title in header
11755 * freeze.adb: Minor reformatting
11757 2004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
11764 2004-02-20 Robert Dewar <dewar@gnat.com>
11766 * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
11768 2004-02-20 Ed Schonberg <schonberg@gnat.com>
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.
11774 2004-02-20 Arnaud Charlet <charlet@act-europe.fr>
11776 * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
11777 avoid GCC warnings.
11779 2004-02-20 Sergey Rybin <rybin@act-europe.fr>
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).
11786 2004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
11788 * Make-lang.in (ada/stamp-sdefault): Use the top level
11791 2004-02-19 Richard Henderson <rth@redhat.com>
11793 * misc.c (record_code_position): Add third build arg for RTL_EXPR.
11795 2004-02-18 Emmanuel Briot <briot@act-europe.fr>
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
11801 2004-02-18 Robert Dewar <dewar@gnat.com>
11803 * debug.adb: Minor reformatting.
11805 2004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11807 * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
11808 to zero if there is an address clause.
11810 2004-02-18 Thomas Quinot <quinot@act-europe.fr>
11812 * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
11814 2004-02-18 Gary Dismukes <dismukes@gnat.com>
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.
11820 2004-02-18 Olivier Hainque <hainque@act-europe.fr>
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.
11826 2004-02-18 Vincent Celier <celier@gnat.com>
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.
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
11844 * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
11845 Change @echo to @$(display) in target clean to be able to clean silently
11847 * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
11849 * prj-part.adb (Project_Path_Name_Of): Do not put final result in
11852 * prj-part.adb (Parse_Single_Project): Always call with From_Extended
11853 = Extending_All when current project is an extending all project.
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.
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
11866 2004-02-18 GNAT Script <nobody@gnat.com>
11868 * Make-lang.in: Makefile automatically updated
11870 2004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
11872 * Make-lang.in (stamp-sdefault): Do not depend on
11875 2004-02-12 Zack Weinberg <zack@codesourcery.com>
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
11881 2004-02-12 Olivier Hainque <hainque@act-europe.fr>
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
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.
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.
11896 2004-02-12 Arnaud Charlet <charlet@act-europe.fr>
11898 * 5zinit.adb: Removed, no longer used.
11900 2004-02-12 Robert Dewar <dewar@gnat.com>
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.
11905 * atree.ads, atree.adb: Minor reformatting (new function header format)
11907 * bindgen.adb: Add Run-Time Globals documentation section containing
11908 detailed documentation of the globals passed from the binder file to
11911 * gnatls.adb: Minor reformatting
11913 * init.c (__gnat_set_globals): Add note pointing to documentation in
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
11921 * osint.ads: Add 2004 to copyright notice
11924 * snames.ads: Correct capitalization of FIFO_Within_Priorities
11925 Noticed during code reading, documentation issue only
11927 * usage.adb: Remove junk line for obsolete C switch
11928 Noticed during code reading
11930 2004-02-12 Vincent Celier <celier@gnat.com>
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
11937 * gprcmd.adb: Define new command "ignore", to do nothing.
11938 Implement new comment "path".
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.
11946 2004-02-12 Jerome Guitton <guitton@act-europe.fr>
11948 * Makefile.in: Clean ups and remove obsolete targets.
11950 2004-02-12 Ed Schonberg <schonberg@gnat.com>
11952 * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
11953 predicate declared in exp_util.
11955 * exp_util.adb: Add comments.
11957 * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
11958 visibility before compiling context of the subunit.
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.
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.
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
11973 2004-02-10 Arnaud Charlet <charlet@act-europe.fr>,
11974 Nathanael Nerode <neroden@gcc.gnu.org>
11976 PR ada/6637, PR ada/5911
11977 Merge with libada-branch:
11978 * config-lang.in: Build libada only when ada is built.
11980 2004-02-09 Ed Schonberg <schonberg@gnat.com>
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.
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
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
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
11999 2004-02-09 Robert Dewar <dewar@gnat.com>
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.
12005 * ali.ads: Add new parameter Ignore_Errors
12007 * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
12008 duplicating the error message giving the file with restrictions.
12010 * debug.adb: Add debug flag I for gnatbind
12012 * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
12013 operators for the case where the operator is a defining operator.
12015 * exp_ch3.adb: Minor reformatting (new function spec format).
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).
12021 * gnatbind.adb: Implement -di debug flag for gnatbind
12023 * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
12025 * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
12027 * lib-load.adb: Fix bad assertion.
12028 Found by testing and code reading.
12029 Minor reformatting.
12031 * lib-load.ads: Minor reformatting.
12033 * lib-writ.adb: There is only one R line now.
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)
12040 * namet.ads, namet.adb: (Is_Operator_Name): New procedure
12042 * par-load.adb: Minor reformatting
12044 * sem_ch8.adb: Fix to error message from last update
12045 Minor reformatting and restructuring of code from last update
12047 * par-prag.adb, snames.adb, snames.ads, snames.h,
12048 sem_prag.adb: Implement pragma Profile.
12050 * stylesw.adb: Implement -gnatyN switch to turn off all style check
12053 * usage.adb: Add line for -gnatyN switch
12055 * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
12057 2004-02-09 Albert Lee <lee@gnat.com>
12059 * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
12061 2004-02-09 Ed Schonberg <schonberg@gnat.com>
12063 * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
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.
12070 * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
12071 body the attribute is legal.
12073 2004-02-09 Robert Dewar <dewar@gnat.com>
12075 * s-rident.ads: Minor comment correction
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.
12082 * targparm.ads: Fix bad comment, restriction pragmas with parameters
12083 are indeed fully supported.
12085 2004-02-06 Alan Modra <amodra@bigpond.net.au>
12087 * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
12089 2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
12091 * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
12092 with targetm.calls.promote_prototypes.
12094 2004-02-04 Robert Dewar <dewar@gnat.com>
12096 * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
12097 ali.ads, gprcmd.adb: Minor reformatting
12099 * bindgen.adb: Output restrictions string for new style restrictions
12102 * impunit.adb: Add s-rident.ads (System.Rident) and
12103 s-restri (System.Restrictions)
12105 * lib-writ.adb: Fix bug in writing restrictions string (last few
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.
12112 2004-02-04 Jose Ruiz <ruiz@act-europe.fr>
12114 * restrict.ads, restrict.adb: Use the new restriction
12115 No_Task_Attributes_Package instead of the old No_Task_Attributes.
12117 * sem_prag.adb: No_Task_Attributes is a synonym of
12118 No_Task_Attributes_Package.
12120 * snames.ads, snames.adb: New entry for proper handling of
12121 No_Task_Attributes.
12123 * s-rident.ads: Adding restriction No_Task_Attributes_Package
12124 (AI-00249) that supersedes the GNAT specific restriction
12125 No_Task_Attributes.
12127 2004-02-04 Ed Schonberg <schonberg@gnat.com>
12130 (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
12131 body, an identifier may be wrapped in an unchecked conversion.
12133 2004-02-04 Vincent Celier <celier@gnat.com>
12135 * lib-writ.ads: Comment update for the W lines
12137 * bld.adb: (Expression): An empty string list is static
12139 * fname-uf.adb: Minor comment update
12141 * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
12143 * gnatbind.adb: Initialize Cumulative_Restrictions with the
12144 restrictions on the target.
12146 2004-02-03 Kazu Hirata <kazu@cs.umass.edu>
12148 * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
12151 2004-02-02 Arnaud Charlet <charlet@gnat.com>
12153 * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
12155 2004-02-02 Vincent Celier <celier@gnat.com>
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"
12162 * g-md5.adb (Digest): Process last block.
12163 (Update): Do not process last block. Store remaining characters and
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.
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.
12174 * 6vcstrea.adb: Inlined functions are now wrappers to implementation
12177 * lib-writ.adb (Write_With_Lines): When body file does not exist, use
12178 spec file name instead on the W line.
12180 2004-02-02 Robert Dewar <dewar@gnat.com>
12182 * ali.adb: Read and acquire info from new format restrictions lines
12184 * bcheck.adb: Add circuits for checking restrictions with parameters
12186 * bindgen.adb: Output dummy restrictions data
12187 To be changed later
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.
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.
12199 * gnatbind.adb: Minor reformatting
12200 Minor changes for new restrictions handling
12201 Move circuit for -r processing here from bcheck (cleaner)
12203 * gnatcmd.adb, gnatlink.adb: Minor reformatting
12205 * lib-writ.adb: Output new format restrictions lines
12207 * lib-writ.ads: Document new R format lines for new restrictions
12210 * s-restri.ads/adb: New files
12212 * Makefile.rtl: Add entry for s-restri.ads/adb
12214 * par-ch3.adb: Fix bad error messages starting with upper case letter
12217 * restrict.adb: Major rewrite throughout for new restrictions handling
12218 Major point is to handle restrictions with parameters
12220 * restrict.ads: Major changes in interface to handle restrictions with
12221 parameters. Also generally simplifies setting of restrictions.
12223 * snames.ads/adb: New entry for proper handling of No_Requeue
12225 * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
12226 restriction counting.
12227 Other minor changes for new restrictions handling
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
12233 2004-02-02 Javier Miranda <miranda@gnat.com>
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.
12240 * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
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
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
12252 * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
12253 equality operators.
12254 Change Ada0Y to Ada 0Y in comments
12256 * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
12257 renamings Change Ada0Y to Ada 0Y in comments
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
12263 * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
12265 * sinfo.ads (N_Component_Definition): Addition of Access_Definition
12267 (N_Object_Renaming_Declaration): Addition of Access_Definition field
12268 Change Ada0Y to Ada 0Y in comments
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
12274 2004-02-02 Jose Ruiz <ruiz@act-europe.fr>
12276 * restrict.adb: Use the new restriction identifier
12277 No_Requeue_Statements instead of the old No_Requeue for defining the
12278 restricted profile.
12280 * sem_ch9.adb (Analyze_Requeue): Check the new restriction
12281 No_Requeue_Statements.
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.
12287 2004-02-02 Ed Schonberg <schonberg@gnat.com>
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.
12293 * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
12294 warning if the pragma is redundant.
12296 2004-02-02 Thomas Quinot <quinot@act-europe.fr>
12298 * 5staprop.adb: Add missing 'constant' keywords.
12300 * Makefile.in: use consistent value for SYMLIB on
12301 platforms where libaddr2line is supported.
12303 2004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12305 * utils.c (end_subprog_body): Do not call rest_of_compilation if just
12308 2004-02-02 Olivier Hainque <hainque@act-europe.fr>
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
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.
12328 2004-01-30 Kelley Cook <kcook@gcc.gnu.org>
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.
12334 2004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12336 * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
12338 * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
12339 (ZCX_By_Default): Likewise.
12340 (Front_End_ZCX_Support): Likewise.
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.
12350 * 5gtasinf.adb (New_Sproc): Make Attr constant.
12351 (Bound_Thread_Attributes): Make Sproc constant.
12352 (New_Bound_Thread_Attributes): Likewise.
12354 2004-01-26 Ed Schonberg <schonberg@gnat.com>
12356 * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
12357 one-dimensional array an slice assignments, when component type is
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.
12364 * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
12365 arrays with controlled components.
12367 2004-01-26 Vincent Celier <celier@gnat.com>
12369 * gnatcmd.adb (GNATCmd): Add specification of argument file on the
12370 command line for the non VMS case.
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.
12376 * Makefile.generic: When there are sources in Ada and the main is in
12377 C/C++, invoke gnatmake with -B, instead of -z.
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.
12384 2004-01-26 Bernard Banner <banner@gnat.com>
12386 * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
12388 2004-01-26 Ed Schonberg <schonberg@gnat.com>
12390 * snames.adb: Update copyright notice.
12391 Add info on slice assignment for controlled arrays.
12393 2004-01-23 Robert Dewar <dewar@gnat.com>
12395 * exp_aggr.adb: Minor reformatting
12397 * exp_ch9.adb: Minor code clean up
12399 Fix bad character in comment
12402 * targparm.adb (Get_Target_Parameters): Give clean abort error on
12403 unexpected end of file, along with more detailed message.
12405 2004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12407 * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
12410 * decl.c (copy_alias_set): New function.
12411 (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
12413 2004-01-23 Doug Rupp <rupp@gnat.com>
12415 * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
12416 lib$${file} in case subsequent character is not a separator.
12418 2004-01-23 Vincent Celier <celier@gnat.com>
12420 * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
12421 when the GCC version is at least 3.
12423 * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
12424 Remove all "Opt.", to prepare for opt split
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.
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.
12439 * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
12440 Kind = N_With_Clause
12442 * prj-tree.ads: Minor reformatting
12443 Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
12445 2004-01-23 Ed Schonberg <schonberg@gnat.com>
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.
12451 2004-01-23 Arnaud Charlet <charlet@act-europe.fr>
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.
12458 * Makefile.in: Remove mention of Makefile.adalib, unused.
12460 * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
12461 1ssecsta.ads: Removed, unused.
12463 2004-01-21 Javier Miranda <miranda@gnat.com>
12465 * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
12466 entity if already built in the current scope.
12468 * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
12469 reminder in internal scopes. Required for nested limited aggregates.
12471 2004-01-21 Doug Rupp <rupp@gnat.com>
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.
12478 2004-01-21 Robert Dewar <dewar@gnat.com>
12480 * mlib-prj.adb: Minor reformatting
12482 2004-01-21 Thomas Quinot <quinot@act-europe.fr>
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.
12487 * exp_pakd.adb: Fix English in comment.
12489 2004-01-21 Ed Schonberg <schonberg@gnat.com>
12492 * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
12493 copy all attributes of the parent, including the foreign language
12496 2004-01-21 Sergey Rybin <rybin@act-europe.fr>
12499 * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
12500 for 'delay until' statement.
12502 2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
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.
12512 2004-01-19 Arnaud Charlet <charlet@act-europe.fr>
12514 * utils.c: Update copyright notice, missed in previous change.
12516 2004-01-19 Vincent Celier <celier@gnat.com>
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.
12524 2004-01-19 Robert Dewar <dewar@gnat.com>
12526 * sem_attr.adb, memtrack.adb: Minor reformatting
12528 2004-01-19 Ed Schonberg <schonberg@gnat.com>
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.
12533 * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
12534 to functions that rename enumeration literals.
12536 * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
12537 functions that rename enumeration literals.
12539 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
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.
12546 2004-01-16 Andreas Jaeger <aj@suse.de>
12548 * Makefile.in: Add $(DESTDIR).
12550 2004-01-15 Olivier Hainque <hainque@act-europe.fr>
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
12556 2004-01-15 Arnaud Charlet <charlet@act-europe.fr>
12558 * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
12559 symbolic links for the shared gnat run time when needed.
12561 2004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr>
12563 * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
12564 for writing, and terminate with an error message if not.
12566 2004-01-15 Ed Schonberg <schonberg@gnat.com>
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.
12574 2004-01-15 GNAT Script <nobody@gnat.com>
12576 * Make-lang.in: Makefile automatically updated
12578 2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
12580 * Make-lang.in (ada.srcextra): Dummy entry.
12582 2004-01-14 Kelley Cook <kcook@gcc.gnu.org>
12584 * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
12586 2004-01-13 Ed Schonberg <schonberg@gnat.com>
12588 * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
12589 components that are initialized with aggregates.
12591 2004-01-13 Vincent Celier <celier@gnat.com>
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.
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.
12600 * opt.ads (GCC_Version): New integer constant.
12602 * adaint.c (get_gcc_version): New function.
12604 2004-01-13 Robert Dewar <dewar@gnat.com>
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
12610 2004-01-13 Thomas Quinot <quinot@act-europe.fr>
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
12616 2004-01-12 Arnaud Charlet <charlet@act-europe.fr>
12618 * misc.c: Remove trailing spaces.
12619 Update copyright notice missed in previous change.
12622 * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
12625 * Makefile.generic: Update copyright.
12626 Add license notice.
12628 * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
12629 of prefix/share/make.
12631 * Makefile.prolog: Update copyright.
12632 Add license notice.
12634 2004-01-12 Laurent Pautet <pautet@act-europe.fr>
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
12641 * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
12644 2004-01-12 Javier Miranda <miranda@gnat.com>
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.
12652 2004-01-12 Ed Falis <falis@gnat.com>
12654 * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
12656 2004-01-12 Thomas Quinot <quinot@act-europe.fr>
12658 * link.c: Change default libgnat kind to STATIC for FreeBSD.
12660 2004-01-12 Bernard Banner <banner@gnat.com>
12662 * Makefile.in: map 86numaux to a-numaux for x86_64
12664 2004-01-12 Ed Schonberg <schonberg@gnat.com>
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.
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.
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
12679 2004-01-12 Robert Dewar <dewar@gnat.com>
12681 * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
12683 * usage.adb: Remove mention of obsolete -gnatwb switch
12684 Noticed during code reading
12686 2004-01-12 Jerome Guitton <guitton@act-europe.fr>
12688 * 1ssecsta.adb: Minor changes for -gnatwa warnings
12690 2004-01-12 GNAT Script <nobody@gnat.com>
12692 * Make-lang.in: Makefile automatically updated
12694 2004-01-09 Mark Mitchell <mark@codesourcery.com>
12696 * misc.c (gnat_expand_expr): Add alt_rtl parameter.
12698 2004-01-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12700 * link.c [sgi] (shared_libgnat_default): Change to STATIC.
12702 2004-01-05 Kelley Cook <kcook@gcc.gnu.org>
12704 * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
12705 Update comment and copyright date.
12706 * stamp-xgnatug: Delete.
12708 2004-01-05 Robert Dewar <dewar@gnat.com>
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
12714 * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
12715 imported functions (since now we expect this to be done for imported
12718 * 5vtaprop.adb: Add several ??? for sections requiring more comments
12719 Minor reformatting throughout
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)
12727 * sprint.adb: Minor updates to avoid -gnatwa warnings
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.
12734 * switch-b.adb: New -Dnnn switch for binder
12737 Make -gnatg imply all warnings currently in -gnatwa
12739 * vms_conv.adb: Minor reformatting
12740 Add 2004 to copyright notice
12741 Add 2004 to printed copyright notice
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
12767 * ali.adb: Minor reformatting and cleanup of code
12768 Acquire new SS indication of secondary stack use from ali files
12770 * a-numaux.ads: Add Pure_Function pragmas for all imported functions
12771 (since now we expect this to be done for imported functions)
12773 * bindgen.adb: Generate call to modify default secondary stack size if
12776 * bindusg.adb: Add line for new -D switch
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
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
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.
12793 * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
12794 (Type_May_Have_Bit_Aligned_Components): New function.
12796 * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
12797 (Type_May_Have_Bit_Aligned_Components): New function.
12799 * fe.h: (Set_Identifier_Casing): Fix prototype.
12800 Add declaration for Sem_Elim.Eliminate_Error_Msg.
12801 Minor reformatting.
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.
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
12814 * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
12817 * Makefile.rtl: Add entry for g-sestin.o
12818 g-sestin.ads: New file.
12820 * mdll.adb: Minor changes to avoid -gnatwa warnings
12822 * mlib-tgt.adb: Minor reformatting
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.
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.
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.
12840 * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
12841 (Process_Eliminate_Pragma): Add parameter to capture pragma location.
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.
12849 * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
12852 * sem_res.adb (Resolve): Specialize msg for function name used in proc
12855 2004-01-05 Ed Falis <falis@gnat.com>
12857 * g-debuti.adb: Replaced direct boolean operator with short-circuit
12860 2004-01-05 Vincent Celier <celier@gnat.com>
12862 * bld.adb: Minor comment updates
12863 (Process_Declarative_Items): Correct incorrect name (Index_Name instead
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.
12871 * makeusg.adb: Document new switch -B
12873 * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
12875 * switch-m.adb: (Scan_Make_Switches): Process -B switch
12877 * vms_data.ads: Add new GNAT PRETTY qualifier
12878 /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
12880 2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12882 * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
12885 * misc.c (gnat_printable_name): If VERBOSITY is 2, call
12886 Set_Identifier_Casing.
12888 * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
12889 has size that overflows.
12891 2004-01-05 Gary Dismukes <dismukes@gnat.com>
12893 * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
12894 -gnatwa warning on static condition.
12896 2004-01-05 Doug Rupp <rupp@gnat.com>
12898 * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
12900 2004-01-05 Arnaud Charlet <charlet@act-europe.fr>
12902 * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
12903 all attributes, including read-only attribute.
12905 2004-01-05 Pascal Obry <obry@gnat.com>
12907 * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
12908 library naming scheme.
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.
12916 * gnatlink.adb (Process_Binder_File): Properly detect the new naming
12917 scheme for the shared runtime libraries.
12920 (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
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.
12929 * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
12930 dependent runtime shared library name.
12932 2004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr>
12934 * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
12937 2004-01-05 Ed Schonberg <schonberg@gnat.com>
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.
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.
12949 2004-01-05 Geert Bosch <bosch@gnat.com>
12951 * s-poosiz.adb: Update copyright notice.
12952 (Allocate): Use Task_Lock to protect against concurrent access.
12953 (Deallocate): Likewise.
12955 2004-01-05 Joel Brobecker <brobecker@gnat.com>
12957 * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
12960 2003-12-23 Kelley Cook <kcook@gcc.gnu.org>
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.
12968 2003-12-20 Kazu Hirata <kazu@cs.umass.edu>
12970 * trans.c: Remove uses of "register" specifier in
12971 declarations of local variables.
12973 2003-12-18 Kelley Cook <kcook@gcc.gnu.org>
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.
12981 2003-12-17 Ed Falis <falis@gnat.com>
12983 * a-elchha.adb (Tailored_Exception_Information): made Info constant to
12986 * a-exextr.adb: Add context clause for
12987 Ada.Exceptions.Last_Chance_Handler.
12989 2003-12-17 Sergey Rybin <rybin@act-europe.fr>
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).
12995 2003-12-17 Robert Dewar <dewar@gnat.com>
12997 * s-crtl.ads: Fix header format
12998 Change Pure to Preelaborate
13000 2003-12-17 Ed Schonberg <schonberg@gnat.com>
13002 * checks.adb (Selected_Length_Checks): Generate an Itype reference for
13003 the expression type only if it is declared in the current unit.
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
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.
13014 2003-12-17 GNAT Script <nobody@gnat.com>
13016 * Make-lang.in: Makefile automatically updated
13018 2003-12-15 Robert Dewar <dewar@gnat.com>
13020 * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
13023 2003-12-15 Vincent Celier <celier@gnat.com>
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
13029 2003-12-15 Doug Rupp <rupp@gnat.com>
13031 * s-ctrl.ads: New file.
13033 * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
13035 * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
13036 (GNATBIND_OBJS): Add ada/s-crtl.o.
13038 * Makefile.in [VMS]: Clean up ifeq rules.
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.
13049 2003-12-15 GNAT Script <nobody@gnat.com>
13051 * Make-lang.in: Makefile automatically updated
13053 2003-12-11 Ed Falis <falis@gnat.com>
13055 * 5zinit.adb: Clean up.
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.
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
13066 2003-12-11 Vasiliy Fofanv <fofanov@act-europe.fr>
13068 * 5wosinte.ads: Link with -mthreads switch.
13070 2003-12-11 Arnaud Charlet <charlet@act-europe.fr>
13072 * init.c (__gnat_install_handler [NetBSD]): Set
13073 __gnat_handler_installed, as done on all other platforms.
13074 Remove duplicated code.
13076 2003-12-11 Jerome Guitton <guitton@act-europe.fr>
13078 * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
13080 2003-12-11 Thomas Quinot <quinot@act-europe.fr>
13082 * sinfo.ads: Fix inconsistent example code in comment.
13084 2003-12-11 Robert Dewar <dewar@gnat.com>
13086 * a-tiinau.adb: Add a couple of comments
13088 * sem_ch3.adb: Minor reformatting
13091 Fix bad prototype of Same_Base_Type in body (code reading cleanup)
13092 Minor reformatting throughout
13094 2003-12-11 Ed Schonberg <schonberg@gnat.com>
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.
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.
13104 * sem_util.adb: (Wrong_Type): Refine previous fix.
13105 Fixes ACATS regressions.
13109 * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
13112 2003-12-08 Jerome Guitton <guitton@act-europe.fr>
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
13118 * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
13121 2003-12-08 Robert Dewar <dewar@gnat.com>
13123 * 7sintman.adb: Minor reformatting
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).
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.
13135 * gnatbind.adb: Minor comment improvement
13137 2003-12-08 Javier Miranda <miranda@gnat.com>
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.
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
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.
13164 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
13165 the box notation is used in positional aggregates.
13167 2003-12-08 Samuel Tardieu <tardieu@act-europe.fr>
13169 * lib.ads: Fix typo in comment
13171 2003-12-08 Vincent Celier <celier@gnat.com>
13173 * prj.adb (Project_Empty): New component Unkept_Comments
13174 (Scan): Remove procedure; moved to Prj.Err.
13176 * prj.ads (Project_Data): New Boolean component Unkept_Comments
13177 (Scan): Remove procedure; moved to Prj.Err.
13179 * prj-dect.adb: Manage comments for the different declarations.
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
13188 (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
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,
13196 * prj-part.ads (Parse): New Boolean parameter Store_Comments,
13197 defaulted to False.
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
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.
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
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
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
13237 * scans.ads (Token_Type): New enumeration value Tok_Comment
13238 (Comment_Id): New global variable
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
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.
13250 2003-12-08 Javier Miranda <miranda@gnat.com>
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.
13260 * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
13261 types. Required to give support to limited aggregates in generic
13264 2003-12-08 Ed Schonberg <schonberg@gnat.com>
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.
13271 * sem_util.adb (Wrong_Type): Improve error message when the type of
13272 the expression is used prematurely.
13274 2003-12-08 GNAT Script <nobody@gnat.com>
13276 * Make-lang.in: Makefile automatically updated
13278 2003-12-08 Arnaud Charlet <charlet@act-europe.fr>
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.
13284 2003-12-05 Thomas Quinot <quinot@act-europe.fr>
13286 * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
13287 version of this unit).
13289 2003-12-05 Olivier Hainque <hainque@act-europe.fr>
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.
13297 * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
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.
13305 2003-12-05 Jerome Guitton <guitton@act-europe.fr>
13307 * a-elchha.ads: New file.
13309 * a-elchha.adb: New default last chance handler. Contents taken from
13310 Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
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
13316 * Makefile.rtl: Add a-elchha.o
13318 * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
13320 2003-12-05 Ed Schonberg <schonberg@gnat.com>
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.
13326 * sem_prag.adb: Add comments for previous fix.
13328 2003-12-05 Samuel Tardieu <tardieu@act-europe.fr>
13330 * g-table.adb: Use the right variable in Set_Item.
13331 Update copyright notice.
13333 2003-12-05 Arnaud Charlet <charlet@act-europe.fr>
13335 * Makefile.in: Remove unused rules.
13337 2003-12-05 Vincent Celier <celier@gnat.com>
13339 * switch-c.adb (Scan_Front_End_Switches): Remove processing of
13340 -nostdlib. Not needed here after all.
13342 2003-12-03 Thomas Quinot <quinot@act-europe.fr>
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.
13351 2003-12-03 Arnaud Charlet <charlet@act-europe.fr>
13353 * gnatvsn.ads (Library_Version): Now contain only the relevant
13355 (Verbose_Library_Version): New constant.
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.
13361 * gnatlbr.adb: Clean up: replace Library_Version by
13362 Verbose_Library_Version.
13364 * make.adb, lib-writ.adb, exp_attr.adb:
13365 Clean up: replace Library_Version by Verbose_Library_Version.
13367 * 5lintman.adb: Removed.
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.
13374 2003-12-03 Robert Dewar <dewar@gnat.com>
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.
13381 2003-12-03 Vincent Celier <celier@gnat.com>
13383 * lang-specs.h: Process nostdlib as nostdinc
13385 * back_end.adb: Update Copyright notice
13386 (Scan_Compiler_Arguments): Process -nostdlib directly.
13388 2003-12-03 Jose Ruiz <ruiz@act-europe.fr>
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.
13395 2003-12-03 Ed Schonberg <schonberg@gnat.com>
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.
13402 (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
13403 appplied to an unchecked conversion of a formal parameter.
13406 (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
13409 2003-12-03 Olivier Hainque <hainque@act-europe.fr>
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*).
13418 2003-12-01 Nicolas Setton <setton@act-europe.fr>
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.
13425 2003-12-01 Thomas Quinot <quinot@act-europe.fr>
13427 * fmap.adb: Fix typo in warning message.
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).
13432 2003-12-01 Vincent Celier <celier@gnat.com>
13434 * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
13436 (Build_Library): Get the switches only if Default_Switches is declared
13439 2003-12-01 Ed Schonberg <schonberg@gnat.com>
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.
13445 * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
13446 attempted assignment to a discriminant.
13448 2003-12-01 Robert Dewar <dewar@gnat.com>
13450 * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
13453 * switch-c.adb: Minor reformatting of comments
13455 2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
13457 * Makefile.in: Clean ups.
13459 2003-12-01 GNAT Script <nobody@gnat.com>
13461 * Make-lang.in: Makefile automatically updated
13463 2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
13465 * 5wsystem.ads: Disable zero cost exception, not ready yet.
13467 2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
13469 * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
13470 to force serialization.
13472 2003-11-26 Thomas Quinot <quinot@act-europe.fr>
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.
13478 * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
13480 2003-11-26 Arnaud Charlet <charlet@act-europe.fr>
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.
13486 2003-11-26 Ed Schonberg <schonberg@gnat.com>
13489 (Expand_N_Slice): Recognize all cases of slices that appear as actuals
13490 in procedure calls and whose expansion must be deferred.
13492 * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
13496 (Build_Derived_Array_Type): Create operator for unconstrained type
13497 if ancestor is unconstrained.
13499 2003-11-26 Vincent Celier <celier@gnat.com>
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
13508 Change to object directory of main project before binding step.
13509 (Initialize): Initialize Project_Object_Directory to No_Project
13512 (Build_Library): Take into account Builder'Default_Switches ("Ada") when
13513 binding a Stand-Alone Library.
13515 * output.adb: Update Copyright notice
13516 (Write_Char): Output buffer when full
13518 2003-11-26 Robert Dewar <dewar@gnat.com>
13520 * sem_ch13.adb: (Check_Size): Reset size if size is too small
13523 (Check_Size): Fix documentation to include bit-packed array case
13525 * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
13527 * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
13529 * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
13531 2003-11-24 Arnaud Charlet <charlet@act-europe.fr>
13534 * utils.c (init_gigi_decls): Change name of built-in setjmp to
13535 __builtin_setjmp, since this is apparently needed by recent
13538 2003-11-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13540 * adadecode.c: Only include ctype.h if not IN_GCC.
13541 (__gnat_decode): Use ISDIGIT from safe-ctype.h.
13543 2003-11-24 Jose Ruiz <ruiz@act-europe.fr>
13546 Use 5zintman.ads for VxWorks targets. This file avoid confusion between
13547 signals and interrupts.
13549 * 5zintman.ads: New File.
13551 * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
13552 add exception signals to the set of unmasked signals.
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
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.
13566 2003-11-24 Gary Dismukes <dismukes@gnat.com>
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.
13574 2003-11-24 Robert Dewar <dewar@gnat.com>
13576 * par-load.adb (Load): Improve handling of misspelled and missing units
13577 Removes several cases of compilation abandoned messages
13579 * lib.adb: (Remove_Unit): New procedure
13581 * lib.ads: (Remove_Unit): New procedure
13583 * lib-load.adb: Minor reformatting
13585 2003-11-24 Vincent Celier <celier@gnat.com>
13588 (Gnatmake, Initialize): Call Usage instead of Makeusg directly
13589 (Marking_Label): Label to mark processed source files. Incremented for
13591 (Gnatmake): Increase Marking_Labet for each executable
13592 (Is_Marked): Compare against marking label
13593 (Mark): Mark with marking label
13595 2003-11-24 Jerome Guitton <guitton@act-europe.fr>
13598 Move the declaration of the TSD for System.Threads to System.Soft_Links.
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.
13605 2003-11-24 Vasiliy Fofanov <fofanov@act-europe.fr>
13608 Use gnatls rather than gcc to obtain the location of GNAT RTL for
13611 2003-11-24 Sergey Rybin <rybin@act-europe.fr>
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.
13618 * scn.adb (Initialize_Scanner): Add comments explaining the recent
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
13626 2003-11-24 Ed Schonberg <schonberg@gnat.com>
13629 (New_Concatenation_Op): Proper name for New_Binary_Operator, only
13630 used for implicit concatenation operators.
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.
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
13644 (Expand_Concatenate_Other): Use the proper integer type for the
13645 expression for the upper bound, to avoid universal_integer computations
13648 2003-11-21 Kelley Cook <kcook@gcc.gnu.org>
13650 * .cvsignore: Delete.
13652 2003-11-21 Andreas Schwab <schwab@suse.de>
13654 * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
13656 2003-11-21 Vasiliy Fofanov <fofanov@act-europe.fr>
13658 * 5wsystem.ads: Enable zero cost exception.
13660 2003-11-21 Jerome Guitton <guitton@act-europe.fr>
13662 * 5ztiitho.adb: Remove an unreferenced variable.
13664 2003-11-21 Thomas Quinot <quinot@act-europe.fr>
13666 * adaint.c: For FreeBSD, use mkstemp.
13668 2003-11-21 Arnaud Charlet <charlet@act-europe.fr>
13670 * gnatlbr.adb: Now reference Gnat_Static_Version_String.
13672 2003-11-21 Robert Dewar <dewar@gnat.com>
13674 * bld.adb: Remove useless USE of gnatvsn
13676 * gnatchop.adb: Minor reformatting
13677 Clean up version handling to be more consistent
13679 * gnatxref.adb: Minor reformatting
13681 * gprcmd.adb: Minor reformatting
13682 Fix output of copyright to be more consistent with other tools
13684 2003-11-21 Vincent Celier <celier@gnat.com>
13686 * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
13688 2003-11-21 Sergey Rybin <rybin@act-europe.fr>
13690 * atree.adb (Initialize): Add initializations for global variables
13691 used in New_Copy_Tree.
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.
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.
13703 * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
13704 processing Internal_Source_File.
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).
13710 2003-11-20 Arnaud Charlet <charlet@act-europe.fr>
13712 * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
13713 56system.ads: New file, FreeBSD version.
13715 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
13717 * Make-lang.in (ada.extraclean): Delete.
13719 2003-11-19 Arnaud Charlet <charlet@act-europe.fr>
13721 * gnatmem.adb: Clean up verbose output.
13723 * gprcmd.adb: Change copyright to FSF.
13725 2003-11-19 Vincent Celier <celier@gnat.com>
13727 * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
13728 and Version (ignored).
13730 * symbols.ads: (Policy): New type
13731 (Initialize): New parameter Reference, Symbol_Policy and
13733 Remove parameter Force.
13734 Minor reformatting.
13736 * snames.ads, snames.adbadb: New standard names
13737 Library_Reference_Symbol_File and Library_Symbol_Policy
13740 (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
13744 (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
13746 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
13748 * prj.adb: (Project_Empty): New component Symbol_Data
13750 * prj.ads: (Policy, Symbol_Record): New types
13751 (Project_Data): New component Symbol_Data
13754 New attributes Library_Symbol_File, Library_Symbol_Policy and
13755 Library_Reference_Symbol_File.
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.
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).
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
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.
13778 * bld.adb (Process_Declarative_Items): Put second argument of
13779 gprcmd to_absolute between single quotes, to avoid problems with
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.
13787 Implement new scheme with reference symbol file and symbol policy.
13789 * g-os_lib.ads: (Is_Directory): Clarify comment
13791 2003-11-19 Robert Dewar <dewar@gnat.com>
13793 * atree.adb: Move New_Copy_Tree global variables to head of package
13795 * errout.adb: Minor reformatting
13797 2003-11-19 Javier Miranda <miranda@gnat.com>
13799 * sem_ch4.adb: (Diagnose_Call): Improve error message.
13800 Add reference to Ada0Y (AI-50217)
13802 * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
13803 sem_util.adb: Add reference to AI-50217
13805 * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
13807 * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
13809 * sem_aggr.adb: Complete documentation of AI-287 changes
13811 * par-ch4.adb: Document previous changes.
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
13817 * exp_aggr.adb: Add references to AI-287 in previous changes
13819 2003-11-19 Ed Schonberg <schonberg@gnat.com>
13822 (Add_Call_By_Copy_Node): Do not original node of rewritten expression
13823 in the rewriting is the result of an inlined call.
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.
13831 (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
13832 body, just as it is in an instance.
13833 Categorization routines
13835 * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
13836 Instantiate_Object): Set proper sloc reference for message on missing
13839 2003-11-19 Thomas Quinot <quinot@act-europe.fr>
13841 * Makefile.in: Add FreeBSD libgnat pairs.
13843 * usage.adb: Fix typo in usage message.
13845 2003-11-19 Jerome Guitton <guitton@act-europe.fr>
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.
13852 * s-thread.adb: This file is now a dummy implementation of
13855 2003-11-19 Sergey Rybin <rybin@act-europe.fr>
13857 * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
13859 2003-11-19 Emmanuel Briot <briot@act-europe.fr>
13861 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
13862 instanciation references in the parent type description.
13864 2003-11-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13866 * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
13868 * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
13869 TYPE_PRECISION directly from esize.
13871 2003-11-18 Thomas Quinot <quinot@act-europe.fr>
13874 Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
13876 * init.c: Initialization routines for FreeBSD
13878 * link.c: Link info for FreeBSD
13880 * sysdep.c: Add the case of FreeBSD
13882 2003-11-17 Jerome Guitton <guitton@act-europe.fr>
13884 * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
13885 already called in System.Threads.
13887 * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
13888 environment task, as it has been moved to System.Threads.Initialization.
13890 2003-11-17 Arnaud Charlet <charlet@act-europe.fr>
13892 * adaint.c (__gnatlib_install_locks): Only reference
13893 __gnat_install_locks on VMS, since other platforms can avoid using
13894 --enable-threads=gnat
13896 2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13898 * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
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.
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.
13908 2003-11-17 Vincent Celier <celier@gnat.com>
13910 * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
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.
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.
13922 * osint.adb (Locate_File): If Name is already an absolute path, do not
13923 look for a directory.
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.
13928 * prj.adb (Register_Default_Naming_Scheme): Add new component Project
13929 in objects of type Variable_Value.
13931 * prj.ads: (Variable_Value): New component Project
13933 * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
13934 is in a project extended by Project.
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.
13942 2003-11-17 Sergey Rybin <rybin@act-europe.fr>
13944 * errout.adb: (Initialize): Add initialization for error nodes.
13946 * sem_ch12.adb (Initialize): Add missing initializations for
13947 Exchanged_Views and Hidden_Entities.
13949 2003-11-17 Ed Schonberg <schonberg@gnat.com>
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
13957 * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
13958 instantiations of subprograms declared in instances.
13960 2003-11-17 Javier Miranda <miranda@gnat.com>
13962 * sem_ch4.adb (Analyze_Allocator): Previous modification must be
13963 executed only under the Extensions_Allowed flag.
13965 2003-11-17 Robert Dewar <dewar@gnat.com>
13967 * a-exexda.adb (Address_Image): Fix documentation to indicate leading
13969 (Address_Image): Fix bug of returning 0x instead of 0x0
13970 Minor reformatting (function specs).
13972 * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
13973 (missed case of 33-63)
13975 * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
13977 * s-thread.adb: Add comments for pragma Restriction
13979 * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
13980 sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
13982 2003-11-17 Ed Falis <falis@gnat.com>
13984 * s-thread.adb: Added No_Tasking restriction for this implementation.
13986 2003-11-17 Emmanuel Briot <briot@act-europe.fr>
13988 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
13989 instanciation references in the parent type description.
13991 2003-11-17 GNAT Script <nobody@gnat.com>
13993 * Make-lang.in: Makefile automatically updated
13995 2003-11-16 Jason Merrill <jason@redhat.com>
13997 * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
13998 and TAGS files that include them for each front end.
14000 2003-11-14 Andreas Jaeger <aj@suse.de>
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.
14006 * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
14008 * 5nsystem.ads: New file for x86_64-linux-gnu.
14010 2003-11-14 Arnaud Charlet <charlet@act-europe.fr>
14012 * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
14014 * comperr.adb: Fix logic in previous change.
14016 2003-11-13 Vincent Celier <celier@gnat.com>
14018 * 5bml-tgt.adb (Build_Dynamic_Library): Use
14019 Osint.Include_Dir_Default_Prefix instead of
14020 Sdefault.Include_Dir_Default_Name.
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
14028 (Process_Binder_File): Never suppress the option following -Xlinker
14031 (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
14032 Sdefault.Object_Dir_Default_Name.
14034 * osint.ads, osint.adb:
14035 (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
14036 Minor reformatting.
14038 * vms_conv.ads: Minor reformating
14039 Remove GNAT STANDARD and GNAT PSTA
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.
14046 Remove data for GNAT STANDARD
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.
14054 2003-11-13 Ed Falis <falis@gnat.com>
14056 * 5zthrini.adb: (Init_RTS): Made visible
14059 (Register): Removed unnecessary call to taskVarGet that checked whether
14060 an ATSD was already set as a task var for the argument thread.
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
14067 2003-11-13 Jerome Guitton <guitton@act-europe.fr>
14070 (Init_RTS): New procedure, for the initialization of the run-time lib.
14073 Remove dependancy on System.Init, so that this file can be used in the
14074 AE653 sequential run-time lib.
14076 2003-11-13 Robert Dewar <dewar@gnat.com>
14078 * bindgen.adb: Minor reformatting
14080 2003-11-13 Ed Schonberg <schonberg@gnat.com>
14083 (Apply_Discriminant_Check): Do no apply check if target type is derived
14084 from source type with no applicable constraint.
14087 (Ensure_System_Dependency): Do not apply the style checks that may have
14088 been specified for the main unit.
14091 (Find_Selected_Component): Further improvement in error message, with
14095 (Resolve): Handle properly the case of an illegal overloaded protected
14098 2003-11-13 Javier Miranda <miranda@gnat.com>
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.
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.
14119 (Resolve_Aggregate): Relax the strictness of the frontend in case of
14120 limited aggregates.
14121 (Resolve_Record_Aggregate): Give support to default initialized
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
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.
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
14139 * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
14142 * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
14143 present in an N_Component_Association node
14145 2003-11-13 Thomas Quinot <quinot@act-europe.fr>
14147 * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
14148 type-conformant entry only if they are homographs.
14150 2003-11-13 GNAT Script <nobody@gnat.com>
14152 * Make-lang.in: Makefile automatically updated
14154 2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14156 * adadecode.c: Use <> form of include for ctype.h.
14157 * sysdep.c [IN_RTS]: Use <> form of include for time.h.
14159 2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14161 * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
14162 Works around PR middle-end/6552.
14164 2003-11-10 Ed Falis <falis@gnat.com>
14166 * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
14168 * 5zinit.adb: (Install_Handler): Moved back to spec
14169 (Install_Signal_Handlers): Deleted
14171 * 5zthrini.adb: Added context clause for System.Storage_Elements
14172 (Register): Only handles creation of taskVar; initialization moved to
14174 (Reset_TSD): Deleted; replaced by Thread_Body_Enter
14175 Added declaration of environment task secondary stack and
14178 * s-thread.adb: Implement bodies for thread body processing
14181 Added comment identifying supported targets for pragma Thread_Body.
14183 2003-11-10 Pascal Obry <obry@gnat.com>
14185 * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
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
14193 2003-11-10 Romain Berrendonner <berrendo@act-europe.fr>
14195 * bindgen.adb, comperr.adb: Code clean ups.
14196 * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
14198 2003-11-10 Sergey Rybin <rybin@act-europe.fr>
14200 * gnat1drv.adb: Add call to Sem_Elim.Initialize.
14202 2003-11-10 Vincent Celier <celier@gnat.com>
14205 (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
14208 * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
14210 * prj.adb: (Project_Empty): Add new boolean component Virtual
14212 * prj.ads: (Virtual_Prefix): New constant string
14213 (Project_Data): New boolean component Virtual
14215 * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
14216 a library project is extended by a virtual extending project.
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
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.
14234 (Default_Project_Node): Add new boolean component Extending_All
14235 (Is_Extending_All): New function
14236 (Set_Is_Extending_All): New procedure
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
14242 * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
14245 Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
14247 * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
14248 "gprcmd prefix" to define it.
14250 2003-11-10 Thomas Quinot <quinot@act-europe.fr>
14252 * einfo.ads: Fix a typo and remove an extraneous word in comments.
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
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.
14268 2003-11-10 Ed Schonberg <schonberg@gnat.com>
14271 (Expand_Thread_Body): Place subprogram on scope stack, so that new
14272 declarations are given the proper scope.
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.
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.
14285 (Find_Selected_Component): Improve error message when prefix is
14286 an implicit dereference of an incomplete type.
14288 2003-11-10 Robert Dewar <dewar@gnat.com>
14290 * opt.ads: New Print_Standard flag for -gnatS switch
14292 * sem_ch13.adb: Remove some additional checks for unaligned arrays
14294 * cstand.adb (Create_Standard): Print out package standard if -gnatS
14297 * debug.adb: Update doc for -gnatds to discuss relationship with new
14300 * sinfo.adb: Add new field Entity_Or_Associated_Node
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.
14307 (Write_Id): Properly process Associated_Node field in generic template
14310 Recognize new -gnatS switch for printing package Standard
14311 This replaces gnatpsta
14314 Add line for new -gnatS switch for printing package Standard
14315 This replaces gnatpsta
14317 2003-11-10 Andreas Jaeger <aj@suse.de>
14319 * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
14322 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
14324 * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
14327 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
14329 * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
14332 * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
14334 * sysdep.c: Add handling of cygwin.
14336 2003-11-10 GNAT Script <nobody@gnat.com>
14338 * Make-lang.in: Makefile automatically updated
14340 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
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.
14347 * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
14349 2003-11-06 Zack Weinberg <zack@codesourcery.com>
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.
14354 2003-11-04 Doug Rupp <rupp@gnat.com>
14356 * sysdep.c: Problem discovered during IA64 VMS port.
14357 [VMS] #include <unixio.h> to get proper prototypes.
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.
14366 2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14368 Part of PR ada/12806
14370 * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
14374 (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
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.
14382 (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
14384 * gigi.h: (enumerate_modes): New function.
14386 * Make-lang.in: (ada/misc.o): Add real.h.
14388 * misc.c: (enumerate_modes): New function.
14390 2003-11-04 Robert Dewar <dewar@gnat.com>
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).
14396 * einfo.h: Regenerated
14398 * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
14401 (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
14403 * par-prag.adb: Add dummy entry for Thread_Body pragma
14406 Add entries for System.Threads entities for thread body processing
14409 (Analyze_Pragma, Access attributes): Check these are not applied to a
14410 thread body, since this is not permitted
14412 * sem_prag.adb: Add processing for Thread_Body pragma.
14416 (Resolve_Call): Check for incorrect attempt to call a thread body
14417 procedure with a direct call.
14419 * snames.ads, snames.adb: Add entry for Thread_Body pragma
14420 Add names associated with thread body expansion
14422 * snames.h: Add entry for Thread_Body pragma
14424 * s-thread.adb: Add entries for thread body processing
14425 These are dummy bodies so far
14427 * s-thread.ads: Add documentation on thread body handling.
14428 Add entries for thread body processing.
14430 2003-11-04 Javier Miranda <miranda@gnat.com>
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
14438 2003-11-04 Arnaud Charlet <charlet@act-europe.fr>
14440 * raise.c (setup_to_install): Correct mistake in last revision; two
14441 arguments out of order.
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
14449 2003-11-04 Olivier Hainque <hainque@act-europe.fr>
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
14457 2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14459 * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
14460 aligned at byte boundary.
14462 2003-11-04 Joel Brobecker <brobecker@gnat.com>
14464 * decl.c (components_to_record): Do not delete the empty variants from
14465 the end of the union type.
14467 2003-11-04 Ed Schonberg <schonberg@gnat.com>
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.
14473 2003-11-04 Vincent Celier <celier@gnat.com>
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
14479 2003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14481 * Makefile.in: Remove many duplicate variables.
14483 2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
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.
14493 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
14495 * gigi.h: Missed commit from update for C90.
14497 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
14499 * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
14501 2003-10-31 Andreas Schwab <schwab@suse.de>
14503 * raise.c (get_action_description_for): Fix typo in last change.
14505 2003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
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.
14511 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
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.
14519 2003-10-30 Vasiliy Fofanov <fofanov@act-europe.fr>
14522 Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
14523 numbers when symbol name is too long.
14525 2003-10-30 Ed Falis <falis@gnat.com>
14527 * g-signal.ads, g-signal.adb: New files
14529 * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
14531 * Makefile.rtl: Introduce GNAT.Signals
14533 2003-10-30 Robert Dewar <dewar@gnat.com>
14535 * freeze.adb: Minor reformatting
14537 * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
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
14545 2003-10-29 Robert Dewar <dewar@gnat.com>
14547 * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
14548 sem_ch10.adb: Minor reformatting
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
14553 2003-10-29 Vasiliy Fofanov <fofanov@act-europe.fr>
14555 * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
14556 Support for TBK$SYMBOLIZE-based symbolic traceback.
14558 2003-10-29 Jose Ruiz <ruiz@act-europe.fr>
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.
14564 2003-10-29 Vincent Celier <celier@gnat.com>
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.
14570 2003-10-29 Arnaud Charlet <charlet@act-europe.fr>
14572 * Makefile.generic: Remove duplicated setting of CC.
14574 * Makefile.prolog: Set CC to gcc by default, to override make's
14577 * einfo.h: Regenerated.
14579 2003-10-29 Ed Schonberg <schonberg@gnat.com>
14581 * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
14582 current body, after compiling subunit.
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.
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.
14592 2003-10-29 Javier Miranda <miranda@gnat.com>
14595 (Analyze_Package_Instantiation): Check that instances can not be used in
14596 limited with_clauses.
14599 (Analyze_Package_Renaming): Check that limited withed packages cannot
14600 be renamed. Improve text on error messages related to limited
14603 * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
14605 * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
14606 Update copyright notice.
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
14612 (Install_Limited_Withed_Unit): Complete its documentation.
14613 (Analyze_Context): Check that limited with_clauses are only allowed in
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
14626 (Remove_Limited_With_Clause): If the package is analyzed then reinstall
14627 its visible entities.
14629 2003-10-29 Thomas Quinot <quinot@act-europe.fr>
14631 * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
14632 with any type that Is_Fixed_Point_Type.
14634 * sinfo.ads: Fix documentation for Associated_Node attribute.
14636 2003-10-29 Sergey Rybin <rybin@act-europe.fr>
14638 * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
14639 both '-gnatc' and '-gnatt' are specified.
14641 * atree.adb (Initialize): Add initialization for Node_Count (set to
14644 2003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14646 * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
14647 do not consider as Pure.
14649 Part of implementation of function-at-a-time:
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
14655 (tree_transform): If result IS_STMT, set flags and return it.
14656 (gnat_expand_stmt, set_lineno_from_sloc): New functions.
14658 * utils2.c (build_simple_component_ref, build_component_ref): Add new
14660 (build_binary_op, case EQ_EXPR): Pass additional arg to it.
14661 (build_allocator): Likewise.
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.
14667 * ada-tree.def (EXPR_STMT): New code.
14669 * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
14671 * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
14672 build_component_ref calls.
14674 * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
14676 * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
14677 (build_component_ref): Add new argument, NO_FOLD_P.
14679 2003-10-27 Arnaud Charlet <charlet@act-europe.fr>
14681 * Makefile.generic: Add missing substitution on object_deps handling.
14684 * Make-lang.in (check-ada): Enable ACATS test suite.
14686 2003-10-27 Robert Dewar <dewar@gnat.com>
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.
14695 (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
14696 composites. This allows use of component clauses that are not byte
14700 (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
14701 is an attempt to pack an array of atomic objects.
14703 * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
14705 2003-10-27 Pascal Obry <obry@gnat.com>
14708 (Basename): Check for drive letters in a pathname only on DOS based OS.
14710 2003-10-27 Vincent Celier <celier@gnat.com>
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
14717 2003-10-27 GNAT Script <nobody@gnat.com>
14719 * Make-lang.in: Makefile automatically updated
14721 2003-10-27 Ed Schonberg <schonberg@gnat.com>
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
14729 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
14730 whether use clauses should be removed/restored.
14733 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
14734 whether use clauses should be removed/restored.
14736 2003-10-26 Andreas Jaeger <aj@suse.de>
14738 * Makefile.in: Remove duplicated lines.
14740 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
14742 * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
14743 minimize the differences with ACT tree.
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
14750 2003-10-24 Pascal Obry <obry@gnat.com>
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.
14760 2003-10-24 Jose Ruiz <ruiz@act-europe.fr>
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.
14767 2003-10-24 Vincent Celier <celier@gnat.com>
14769 * g-catiio.adb: (Month_Name): Correct spelling of February
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.
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
14790 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
14791 defaulted to False.
14792 (Project_Of): New function
14794 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
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
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.
14806 2003-10-24 Robert Dewar <dewar@gnat.com>
14808 * sem_ch12.adb: Minor reformatting
14811 Minor reformatting (including new function return style throughout)
14814 Minor reformatting (including new function return style throughout)
14816 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
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.
14822 2003-10-24 GNAT Script <nobody@gnat.com>
14824 * Make-lang.in: Makefile automatically updated
14826 2003-10-23 Nathanael Nerode <neroden@gcc.gnu.org>
14828 * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
14829 stringt.h: Convert to ISO C90 declarations and definitions.
14831 2003-10-23 Thomas Quinot <quinot@act-europe.fr>
14834 * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
14835 External_Tag attribute definition clauses.
14837 2003-10-23 Ed Schonberg <schonberg@gnat.com>
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.
14845 * exp_dbug.ads: Add documentation on name qualification for renamings
14848 2003-10-23 Robert Dewar <dewar@gnat.com>
14850 * g-regpat.ads, g-regpat.adb: Minor reformatting
14852 2003-10-23 Jose Ruiz <ruiz@act-europe.fr>
14854 * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
14856 2003-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14858 * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
14861 * urealp.h: (Machine): Update to proper definition.
14863 2003-10-23 Arnaud Charlet <charlet@act-europe.fr>
14865 * init.c, adaint.c: Minor reformatting.
14867 2003-10-23 Danny Smith <dannysmith@users.sourceforge.net>
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.
14877 2003-10-22 Danny Smith <dannysmith@users.sourceforge.net>
14879 * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
14881 * ctrl_c.c (__gnat_int_handler): Remove declaration.
14883 * decl.c (creat_concat_name): Const-ify prefix.
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
14891 (__gnat_file_time_name): Don't declare struct stat statbuf when
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.
14900 2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
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.
14906 2003-10-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14908 * tracebak.c (MAX): Avoid redefinition warning.
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
14915 * cstreams.c (__gnat_full_name): Declare p only when used.
14916 (__gnat_full_name) [sgi] Return buffer.
14918 2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
14920 * mingw32.h: New file.
14921 * gnat_wrapper.adb: New file.
14923 2003-10-22 Jerome Roussel <roussel@act-europe.fr>
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
14931 2003-10-21 Gary Dismukes <dismukes@gnat.com>
14934 (Component_Needs_Simple_Initialization): Return False when the type is a
14935 packed bit array. Revise spec comments to document this case.
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.
14943 2003-10-21 Ed Schonberg <schonberg@gnat.com>
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.
14954 (Access_Subprogram_Declaration): Verify that return type is valid.
14958 (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
14963 (Corresponding_Discriminant): If the scope of the discriminant is a
14964 private type without discriminant, use its full view.
14967 2003-10-21 Arnaud Charlet <charlet@act-europe.fr>
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.
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.
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.
15224 * gnatvsn.adb: Rewritten in a simpler and more efficient way.
15226 2003-10-20 Mark Mitchell <mark@codesourcery.com>
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.
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.
15245 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
15247 * Make-lang.in: Replace uses of $(target_alias) with
15248 $(target_noncanonical).
15249 * ada/Makefile.in: Remove unused mention of $(target_alias).
15251 2003-10-06 Mark Mitchell <mark@codesourcery.com>
15253 * Make-lang.in (ada.info): Replace with ...
15255 (ada.dvi): Replace with ...
15258 2003-09-29 Zack Weinberg <zack@codesourcery.com>
15260 * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
15261 initialize dconstp5 and dconstmp5.
15263 2003-09-28 Richard Henderson <rth@redhat.com>
15265 * trans.c (tree_transform): Update call to expand_asm_operands.
15267 2003-09-21 Richard Henderson <rth@redhat.com>
15269 * trans.c, utils.c: Revert.
15271 2003-09-21 Richard Henderson <rth@redhat.com>
15273 * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
15276 2003-09-04 Michael Matz <matz@suse.de>
15278 * misc.c: Include "target.h".
15279 * Make-lang.in (misc.o): Add dependency on target.h.
15281 2003-09-03 DJ Delorie <dj@redhat.com>
15283 * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
15286 2003-08-30 Zack Weinberg <zack@codesourcery.com>
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.
15293 2003-07-18 Neil Booth <neil@daikokuya.co.uk>
15295 * lang-options.h: Remove.
15296 * lang.opt: Add help text.
15298 2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
15300 * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
15303 2003-07-06 Neil Booth <neil@daikokuya.co.uk>
15305 * misc.c (gnat_handle_option): Don't handle filenames.
15307 2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
15309 * Make-lang.in: Replace PWD with PWD_COMMAND.
15310 * Makefile.adalib: Likewise.
15311 * Makefile.in: Likewise.
15313 2003-07-04 Matt Kraai <kraai@alumni.cmu.edu>
15315 * misc.c (gnat_argv): Revert last change.
15316 (gnat_handle_option, gnat_init_options): Copy arguments.
15318 2003-07-03 Neil Booth <neil@daikokuya.co.uk>
15320 * misc.c (gnat_argv): Make const.
15322 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
15324 * misc.c (save_argc, save_argv): Keep non-static!
15326 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
15328 * misc.c (save_argc, save_argv): Make static.
15329 (gnat_init_options): New prototype.
15330 (gnat_init_options): Update.
15332 2003-07-01 Matt Kraai <kraai@alumni.cmu.edu>
15334 * gnat_ug.texi: Remove unlikely characters from @vars.
15335 * gnat_ug_vms.texi: Regenerate.
15337 2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
15339 * misc.c (record_code_position): Adjust emit_note call.
15341 2003-06-26 Neil Booth <neil@daikokuya.co.uk>
15343 * misc.c (gnat_handle_option): Don't check for missing arguments.
15345 2003-06-20 Nathan Sidwell <nathan@codesourcery.com>
15347 * utils.c (end_subprog_body): Adjust expand_function_end call.
15349 2003-06-16 Matt Kraai <kraai@alumni.cmu.edu>
15351 * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
15354 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
15356 * lang.opt: Declare Ada.
15357 * misc.c (gnat_init_options): Update.
15359 2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
15361 * utils.c (begin_subprog_body): Adjust init_function_start call.
15363 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
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.
15370 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
15372 * lang.opt: Add -Wall.
15373 * misc.c (gnat_handle_option): Handle it.
15375 2003-06-12 Neil Booth <neil@daikokuya.co.uk>
15377 * misc.c (gnat_handle_option): Fix warnings.
15379 2003-06-11 Matt Kraai <kraai@alumni.cmu.edu>
15381 * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
15383 2003-06-11 Neil Booth <neil@daikokuya.co.uk>
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.
15394 2003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
15396 * init.c, misc.c, trans.c, utils.c: Remove dead code.
15398 2003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
15400 * Makefile.in: Replace "host_canonical" with "host" for autoconf
15403 2003-06-08 Neil Booth <neil@daikokuya.co.uk>
15405 * Make-lang.in: Update.
15406 * misc.c: Include opts.h. Define cl_options_count and cl_options.
15408 2003-06-07 Neil Booth <neil@daikokuya.co.uk>
15410 * misc.c (gnat_init_options): Update.
15412 2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
15414 * Make-lang.in (ada/b_gnatb.o-warn): Remove.
15415 * bindgen.adb (Gen_Main_C): Mark ensure_reference with
15416 __attribute__ ((__unused__)).
15418 2003-06-05 Jan Hubicka <jh@suse.cz>
15420 * Make-lang.in: Add support for stageprofile and stagefeedback
15422 2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
15424 * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
15425 (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
15427 2003-06-04 Matt Kraai <kraai@alumni.cmu.edu>
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
15433 (Examples of gnatls Usage): Remove VMS alternative.
15435 2003-06-04 Olivier Hainque <hainque@act-europe.fr>
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.
15442 2003-06-01 Andreas Jaeger <aj@suse.de>
15444 * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
15445 and ROUND_TYPE_SIZE_UNIT.
15447 2003-05-22 Geert Bosch <bosch@gnat.com>
15449 * gnat_rm.texi : Remove reference to Ada Core Technologies.
15451 2003-05-03 Nathan Sidwell <nathan@codesourcery.com>
15453 * trans.c (tree_transform): Use location_t and input_location
15455 (build_unit_elab): Likewise.
15456 * utils.c (create_label_decl): Likewise.
15458 2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
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.
15466 2003-05-01 Laurent Guerby <guerby@acm.org>
15469 * 5iosinte.ads: Increase pthread_cond_t size to match recent
15470 LinuxThread and NPTL version, merge from ACT.
15472 2003-04-28 Zack Weinberg <zack@codesourcery.com>
15474 * utils.c (convert): No need to clear TREE_CST_RTL.
15476 2003-04-23 Geert Bosch <bosch@gnat.com>
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.
15813 2003-04-12 Zack Weinberg <zack@codesourcery.com>
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):
15825 2003-04-06 Zack Weinberg <zack@codesourcery.com>
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.
15831 2003-04-03 Jason Merrill <jason@redhat.com>
15833 * misc.c (gnat_adjust_rli): #if 0.
15835 2003-03-31 Geert Bosch <bosch@gnat.com>
15838 * link.c : Fix misspelled "const" keyword
15840 2003-03-23 Mark Mitchell <mark@codesourcery.com>
15843 * utils2.c: Adjust calls to put_var_into_stack.
15845 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
15847 * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
15849 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
15851 * misc.c (gnat_init): Update for new prototype.
15853 2003-03-05 Olivier Hainque <hainque@gnat.com>
15856 * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
15857 warning, and fix return type for the IN_RTS && !SJLJ case.
15859 2003-03-04 Tom Tromey <tromey@redhat.com>
15861 * Make-lang.in (ada.tags): New target.
15863 2003-03-04 Olivier Hainque <hainque@act-europe.fr>
15866 * a-except.adb (Unwind_RaiseException): Import a GNAT specific
15867 wrapper, which name remains constant whatever underlying GCC
15870 * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
15871 the stable interface needed for a-except.
15873 2003-03-02 Andreas Jaeger <aj@suse.de>
15875 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
15876 gnat_ug_wnt.texi: Regenerate.
15878 2003-03-02 Laurent Guerby <guerby@acm.org>
15880 * Makefile.in (install-gnatlib): Match previous change there
15883 2003-02-28 Andreas Schwab <schwab@suse.de>
15885 * Make-lang.in (install-gnatlib): Change to ada directory before
15886 running make instead of using ada/Makefile directly.
15888 2003-02-18 Ben Elliston <bje@redhat.com>
15890 Part of fix for PR ada/9406
15891 * gnat_ug.texi (Binder output file): Grammar fix.
15893 2003-02-18 Ben Elliston <bje@redhat.com>
15896 * 5qtaprop.adb (Sleep): Fix typo in comment.
15898 2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
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.
15904 2003-02-03 Christian Cornelssen <ccorn@cs.tu-berlin.de>
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
15912 (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
15913 and gnatdll from all plausible locations.
15915 2003-02-01 Richard Sandiford <rsandifo@redhat.com>
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.
15921 2003-01-29 Laurent Guerby <guerby@acm.org>
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.
15928 2003-01-29 Joel Sherrill <joel@OARcorp.com>
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().
15939 2003-01-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15941 * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
15943 2003-01-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15945 * init.c (__gnat_error_handler): Make msg const.
15947 * gmem.c (convert_addresses): Move declaration ...
15948 * adaint.h: ... here.
15949 * adaint.c (convert_addresses): Adapt addrs type to match
15952 * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
15954 2003-01-24 Andreas Schwab <schwab@suse.de>
15956 * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
15957 size_t to avoid warning.
15959 2003-01-21 Zack Weinberg <zack@codesourcery.com>
15961 * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
15963 2003-01-09 Geoffrey Keating <geoffk@apple.com>
15965 * gnat_rm.texi: Remove RCS version number.
15967 * ada-tree.h (union lang_tree_node): Add chain_next option.
15969 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
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.
15976 2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
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.
15982 2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
15984 * gnat_rm.texi: Include gcc-common.texi. Use GCC version number
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.
15993 2002-12-15 Geert Bosch <bosch@gnat.com>
15995 * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
15997 2002-12-14 Geert Bosch <bosch@gnat.com>
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.
16003 2002-11-30 Zack Weinberg <zack@codesourcery.com>
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.
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.
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
16023 2002-11-13 Nathanael Nerode <neroden@gcc.gnu.org>
16025 * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
16029 * config-lang.in: Remove diff_excludes.
16031 2002-11-05 Graham Stott <graham.stott@btinternet.com>
16033 * trans.c (gnu_pending_elaboration_lists): New GC root.
16034 (build_unit_elab): Use..
16036 2002-10-30 Geert Bosch <bosch@gnat.com>
16038 * misc.c : Include optabs.h
16040 * Make-lang.in (misc.o): Add dependency on optabs.h
16042 2002-10-29 Geert Bosch <bosch@gnat.com>
16044 * Make-lang.in (gnatbind): Depend on CONFIG_H
16046 2002-10-29 Geert bosch <bosch@gnat.com>
16048 * misc.c: Unrevert misc.c (1.13)
16050 2002-10-28 Nathanael Nerode <neroden@gcc.gnu.org>
16052 * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
16053 maintainership comments.
16055 2002-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
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.
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.
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
16319 2002-09-23 Zack Weinberg <zack@codesourcery.com>
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.
16332 2002-09-17 Richard Henderson <rth@redhat.com>
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.
16343 2002-08-25 Andre Leis <a.leis@gmx.net>
16344 David Billinghurst (David.Billinghurst@riotinto.com>
16346 * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
16348 2002-08-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16350 * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
16351 Remove $(CONFIG_H) dependency.
16353 2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
16355 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
16357 2002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16359 * adadecode.c (ada_demangle): Use xstrdup in lieu of
16361 * misc.c (gnat_decode_option): Likewise.
16363 2002-07-15 Florian Weimer <fw@deneb.enyo.de>
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]
16370 2002-07-01 Roger Sayle <roger@eyesopen.com>
16372 * ada/utils.c (builtin_function): Accept an additional parameter.
16374 2002-06-28 Andreas Jaeger <aj@suse.de>
16377 * Makefile.in: Fix typo in comment, patch by Adrian Knoth
16380 2002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16382 * Makefile.in (SHELL): Set to @SHELL@.
16384 2002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16386 * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
16387 array size calculation.
16389 2002-06-04 Andreas Jaeger <aj@suse.de>
16391 * Make-lang.in (gnatbind): Readd rule that has been lost in last
16394 2002-06-03 Geoffrey Keating <geoffk@redhat.com>
16396 Merge from pch-branch:
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.
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
16424 * utils.c (struct language_function): New dummy structure.
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.
16435 * scn-nlit.adb: Remove whitespace after version number to
16436 keep lines under 80 chars.
16437 * snames.adb: Likewise.
16438 * treepr.ads: Likewise.
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.
16449 2002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
16451 * misc.c (gnat_init): Adjust setting of internal_error_function.
16453 2002-06-01 Joseph S. Myers <jsm28@cam.ac.uk>
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.
16459 2002-05-31 Florian Weimer <fw@deneb.enyo.de>
16461 * 5ntaprop.adb (with System.OS_Primitives): Remove.
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.
16472 * Makefile.in, Make-lang.in: Documentation is now built in
16473 Make-lang.in. Store Info and generated Texinfo files in the
16475 * gnat_ug.texi: Remove CVS keywords, correct version number.
16476 Set file name correctly.
16478 * gnat_ug_*.texi: Add.
16479 * .cvsignore: Ignore generated Texinfo files.
16481 2002-05-30 Zack Weinberg <zack@codesourcery.com>
16483 * ada.h: Add MI guard macro.
16484 (SUBTYPE): Define constants with an anonymous enum, not static
16486 (IN): Cast constants to appropriate type before use.
16488 2002-05-26 Joseph S. Myers <jsm28@cam.ac.uk>
16490 * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
16493 2002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
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.
16515 (TARGET_ADA_SRCS): Moved from Makefile.in.
16516 (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
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.
16562 2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16564 * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
16565 * Makefile.in: Likewise.
16567 2002-05-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
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.
16573 * Makefile.in (b_gnatb.c): Depend on interfac.o.
16575 2002-05-02 Jim Wilson <wilson@redhat.com>
16577 * utils.c (finish_record_type): Change record_size to record_type.
16579 2001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
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.
16585 2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
16587 * misc.c (gnat_parse_file): Update.
16589 2002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
16591 * misc.c (gnat_init): Don't set lang_attribute_common.
16593 2002-04-21 Joseph S. Myers <jsm28@cam.ac.uk>
16595 * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
16597 2002-04-21 Florian Weimer <fw@deneb.enyo.de>
16599 * gnat_ug.texi: New file.
16601 * gnat_rm.texi: Do not include texiplus.texi. Include fdl.texi
16602 instead of gfdl.texi
16604 * xgnatug.adb, ug_words: New files.
16606 * Makefile.in (doc, dvi): New targets. Build gnat_ug_*,
16607 gnat_rm and gnat-style manuals.
16609 2002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
16611 * gigi.h (incomplete_type_error): Remove.
16612 * utils.c (incomplete_type_error): Remove.
16614 2002-04-16 Mark Mitchell <mark@codesourcery.com>
16616 * trans.c (tree_transform): Add has_scope argument to
16617 expand_start_stmt_expr.
16619 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
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.
16627 2002-04-04 Laurent Guerby <guerby@acm.org>
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.
16634 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
16636 * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
16637 (builtin_function): Similarly.
16639 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
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.
16650 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
16652 * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
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):
16660 2002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
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.
16667 2002-03-29 Andreas Schwab <schwab@suse.de>
16669 * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
16672 2001-03-28 Robert Dewar <dewar@gnat.com>
16675 (Remove_Checks): New procedure
16678 (Remove_Checks): New procedure
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
16688 (Duplicate_Subexpr_No_Checks): New procedure
16689 (Duplicate_Subexpr_No_Checks_Orig): New procedure
16690 Add 2002 to copyright notice
16692 * sem_util.adb: Use new Duplicate_Subexpr functions
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
16701 (Expr_Val): Remove call to Constant_Array_Ref
16702 (Expr_Rep_Val): Remove call to Constant_Array_Ref
16704 (Constant_Array_Ref): Deal with string literals (patch
16705 suggested by Zack Weinberg on the gcc list)
16707 2001-03-28 Ed Schonberg <schonber@gnat.com>
16709 * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
16710 Duplicate_Subexpr_Move_Checks.
16712 * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
16713 Duplicate_Subexpr_Move_Checks.
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).
16719 2002-03-28 Geert Bosch <bosch@gnat.com>
16721 * prj-pp.adb : New file.
16723 * prj-pp.ads : New file.
16725 2002-03-28 Andreas Jaeger <aj@suse.de>
16727 * Makefile.in (stamp-sdefault): Fix path for Makefile.
16729 2002-03-28 Neil Booth <neil@daikokuya.demon.co.uk>
16731 * misc.c (gnat_expand_expr): Move prototype.
16733 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
16735 * misc.c (insert_default_attributes): Remove.
16737 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
16739 * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
16740 (gnat_init): Don't set hook.
16741 (gnat_expand_expr): Fix prototype.
16743 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
16745 * misc.c (ggc_p): Remove.
16747 2002-03-27 Geert Bosch <bosch@gnat.com>
16749 * prj-makr.ads, prj-makr.adb : New files.
16751 2002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
16753 * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
16754 (lang_mark_tree): Make static, rename.
16756 2002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
16758 * misc.c (maybe_build_cleanup): Remove.
16760 2002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
16762 * gigi.h (yyparse): Remove.
16764 2002-03-23 Florian Weimer <fw@deneb.enyo.de>
16766 * gnat_rm.texi: Sync with ACT version.
16767 (From Ben Brosgol <brosgol@gnat.com>)
16769 2002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
16771 * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
16772 (gnat_init): Remove old hook.
16774 2002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
16776 * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
16777 (yyparse): Rename gnat_parse_file.
16779 2002-03-14 Geoffrey Keating <geoffk@redhat.com>
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.
16788 2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
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
16796 2002-03-11 Richard Henderson <rth@redhat.com>
16798 * Makefile.in (.NOTPARALLEL): Add fake tag.
16800 2002-03-07 Geert Bosch <bosch@gnat.com>
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.
16807 2002-03-07 Geert Bosch <bosch@gnat.com>
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.
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
16912 * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
16913 5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
16915 * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
16916 to mdll-fil.ad[bs] and mdll-util.ad[bs]
16918 * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
16919 from mdllfile.ad[bs] and mdlltool.ad[bs]
16921 2002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16923 * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
16924 lieu of explicit sizeof/sizeof.
16926 2002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
16928 * misc.c (copy_lang_decl): Remove.
16930 2002-02-27 Zack Weinberg <zack@codesourcery.com>
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
16936 2002-02-07 Richard Henderson <rth@redhat.com>
16938 * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
16939 * adaint.h (__gnat_to_gm_time): Update prototype.
16941 2002-01-30 Richard Henderson <rth@redhat.com>
16943 * trans.c (tree_transform) [N_Loop_Statement]: Use
16944 expand_exit_loop_top_cond.
16946 2001-12-23 Richard Henderson <rth@redhat.com>
16948 * utils.c (end_subprog_body): Push GC context around
16949 rest_of_compilation for nested functions.
16951 2001-12-23 Richard Henderson <rth@redhat.com>
16953 * 5nosinte.ads: Get definition of "int" from Interfaces.C.
16955 2001-12-23 Florian Weimer <fw@deneb.enyo.de>
16957 * gnat-style.texi (Declarations and Types): Remove ancient style
16958 rule which was mandated by code generation issues.
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
16978 2001-12-22 Florian Weimer <fw@deneb.enyo.de>
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.
16985 2001-12-19 Robert Dewar <dewar@gnat.com>
16987 * bindgen.adb: Minor reformatting
16989 * cstand.adb: Minor reformatting
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
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
17003 * fname-uf.adb: Minor reformatting. New names of stuff in Fmap.
17004 Add use clause for Fmap.
17006 * make.adb: Minor reformatting
17008 * osint.adb: Minor reformatting. Change of names in Fmap.
17009 Add use clause for Fmap.
17011 * prj-env.adb: Minor reformatting
17013 * prj-env.ads: Minor reformatting
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)
17019 2001-12-19 Olivier Hainque <hainque@gnat.com>
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.
17027 * raise.c (eh_personality): Add comments. Part of work for the GCC 3
17028 exception handling integration.
17030 2001-12-19 Arnaud Charlet <charlet@gnat.com>
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.
17039 2001-12-19 Robert Dewar <dewar@gnat.com>
17041 * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
17042 Add 2001 to copyright date
17044 * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
17045 need to force universal inlining for these cases.
17047 2001-12-19 Arnaud Charlet <charlet@gnat.com>
17049 * s-taprob.adb: Minor clean ups so that this unit can be used in
17052 * exp_ch7.adb: Allow use of secondary stack in HI mode.
17053 Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
17055 2001-12-19 Vincent Celier <celier@gnat.com>
17057 * prj-tree.ads (Project_Node_Record): Add comments for components
17058 Pkg_Id and Case_Insensitive.
17060 2001-12-19 Pascal Obry <obry@gnat.com>
17062 * g-socket.adb: Minor reformatting. Found while reading code.
17064 2001-12-19 Robert Dewar <dewar@gnat.com>
17066 * prj-tree.ads: Minor reformatting
17068 2001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
17070 * config-lang.in (diff_excludes): Remove.
17072 2001-12-17 Ed Schonberg <schonber@gnat.com>
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.
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.
17082 2001-12-17 Robert Dewar <dewar@gnat.com>
17084 * sem_res.adb: Minor reformatting
17086 * trans.c (tree_transform, case N_Real_Literal): Add missing third
17087 parameter in call to Machine (unknown horrible effects from this
17090 * urealp.h: Add definition of Round_Even for call to Machine
17091 Add third parameter for Machine
17093 2001-12-17 Ed Schonberg <schonber@gnat.com>
17095 * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
17096 predefined units in No_Run_Time mode.
17098 2001-12-17 Richard Kenner <kenner@gnat.com>
17100 * misc.c (insn-codes.h): Now include.
17102 2001-12-17 Olivier Hainque <hainque@gnat.com>
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.
17112 2001-12-17 Emmanuel Briot <briot@gnat.com>
17114 * prj-tree.ads (First_Choice_Of): Document the when others case
17116 2001-12-17 Arnaud Charlet <charlet@gnat.com>
17118 * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
17119 HI-E mode, in order to support Ravenscar profile properly.
17121 * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
17122 mode on 32 bits targets.
17124 2001-12-17 Vincent Celier <celier@gnat.com>
17126 * fmap.adb: Initial version.
17128 * fmap.ads: Initial version.
17130 * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
17131 If search is successfully done, add to mapping.
17133 * frontend.adb: Initialize the mapping if a -gnatem switch was used.
17136 (Gnatmake): Add new local variable Mapping_File_Name.
17137 Create mapping file when using project file(s).
17138 Delete mapping file before exiting.
17140 * opt.ads (Mapping_File_Name): New variable
17142 * osint.adb (Find_File): Use path name found in mapping, if any.
17144 * prj-env.adb (Create_Mapping_File): New procedure
17146 * prj-env.ads (Create_Mapping_File): New procedure.
17148 * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
17151 * usage.adb: Add entry for new switch -gnatem.
17153 * Makefile.in: Add dependencies for fmap.o.
17155 2001-12-17 Ed Schonberg <schonber@gnat.com>
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.
17161 2001-12-17 Gary Dismukes <dismukes@gnat.com>
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.
17173 2001-12-17 Arnaud Charlet <charlet@gnat.com>
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
17180 Remove unused entity RE_Exception_Data.
17182 * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
17184 * rident.ads (No_Secondary_Stack): New restriction.
17186 2001-12-17 Joel Brobecker <brobecke@gnat.com>
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!
17192 2001-12-17 Robert Dewar <dewar@gnat.com>
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.
17198 2001-12-17 Arnaud Charlet <charlet@gnat.com>
17200 * a-reatim.adb: Minor reformatting.
17202 2001-12-17 Ed Schonberg <schonber@gnat.com>
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.
17208 2001-12-17 Arnaud Charlet <charlet@gnat.com>
17210 * s-tposen.adb: Update comments. Minor reformatting.
17211 Minor code clean up.
17213 * s-tarest.adb: Update comments. Minor code reorganization.
17215 2001-12-17 Gary Dismukes <dismukes@gnat.com>
17217 * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
17220 2001-12-17 Robert Dewar <dewar@gnat.com>
17222 * exp_attr.adb: Minor reformatting
17224 2001-12-17 Ed Schonberg <schonber@gnat.com>
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.
17230 2001-12-17 Robert Dewar <dewar@gnat.com>
17232 * sem_ch12.adb: Minor reformatting
17234 2001-12-17 Ed Schonberg <schonber@gnat.com>
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
17240 2001-12-17 Robert Dewar <dewar@gnat.com>
17242 * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
17243 Fix header format. Add 2001 to copyright date.
17245 * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
17246 which caused CE during compilation if checks were enabled.
17248 2001-12-17 Vincent Celier <celier@gnat.com>
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.
17266 * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
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.
17276 * prj.adb (Project_Empty): Add new component Exec_Directory
17279 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
17280 (Project_Data): Add component Exec_Directory
17282 * snames.adb: Updated to match snames.ads revision 1.215
17284 * snames.ads: Added Exec_Dir
17286 2001-12-17 Robert Dewar <dewar@gnat.com>
17288 * make.adb: Minor reformatting
17290 * prj-nmsc.adb: Minor reformatting
17292 * snames.adb: Updated to match snames.ads
17294 * snames.ads: Alphebetize entries for project file
17296 2001-12-17 Ed Schonberg <schonber@gnat.com>
17298 * trans.c (process_freeze_entity): Do nothing if the entity is a
17299 subprogram that was already elaborated.
17301 2001-12-17 Richard Kenner <kenner@gnat.com>
17303 * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
17304 and Esize if object is referenced via pointer.
17306 2001-12-17 Ed Schonberg <schonber@gnat.com>
17308 * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
17309 is discrete before analyzing choices.
17311 2001-12-17 Joel Brobecker <brobecke@gnat.com>
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.
17318 2001-12-17 Robert Dewar <dewar@gnat.com>
17320 * ali.adb: Set new Dummy_Entry field in dependency entry
17322 * ali.ads: Add Dummy_Entry field to source dependency table
17324 * bcheck.adb (Check_Consistency): Ignore dummy D lines
17326 * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
17328 * lib-writ.ads: Document dummy D lines for missing files.
17330 * types.ads: (Dummy_Time_Stamp): New value for non-existant files
17332 2001-12-17 Robert Dewar <dewar@gnat.com>
17334 * ali.adb: Type reference does not reset current file.
17336 * ali.adb: Recognize and scan renaming reference
17338 * ali.ads: Add spec for storing renaming references.
17340 * lib-xref.ads: Add documentation for handling of renaming references
17342 * lib-xref.adb: Implement output of renaming reference.
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.
17350 2001-12-17 Laurent Pautet <pautet@gnat.com>
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.
17360 2001-12-17 Robert Dewar <dewar@gnat.com>
17362 * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
17363 that it happens before modification of Sloc values for -gnatD.
17365 * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
17366 so that it happens before modification of Sloc values for -gnatD.
17368 * switch.adb: Minor reformatting
17370 2001-12-15 Richard Henderson <rth@redhat.com>
17372 * sem_ch7.adb: Wrap comment.
17374 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
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
17402 2001-12-14 Vincent Celier <celier@gnat.com>
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.
17407 2001-12-14 Robert Dewar <dewar@gnat.com>
17409 * osint.adb: Minor reformatting
17411 * lib-xref.adb (Output_Instantiation): New procedure to generate
17412 instantiation references.
17414 * lib-xref.ads: Add documentation of handling of generic references.
17416 * ali.adb (Read_Instantiation_Ref): New procedure to read
17417 instantiation references
17419 * ali.ads: Add spec for storing instantiation references
17421 * bindusg.adb: Minor reformatting
17423 * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
17425 * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
17427 * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
17429 * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
17433 Add 2001 to copyright date
17434 Add entry for Latin-5 (Cyrillic ISO-8859-5)
17436 2001-12-14 Matt Gingell <gingell@gnat.com>
17438 * adaint.c: mktemp is a macro on Lynx and can not be used as an
17441 2001-12-14 Richard Kenner <kenner@gnat.com>
17443 * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
17444 if operand is CONSTRUCTOR.
17446 2001-12-14 Ed Schonberg <schonber@gnat.com>
17448 * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
17449 before emiting check on right-hand side, so that exception information
17452 2001-12-14 Richard Kenner <kenner@gnat.com>
17454 * utils.c (create_var_decl): Throw away initializing expression
17455 if just annotating types and non-constant.
17457 2001-12-14 Vincent Celier <celier@gnat.com>
17459 * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
17462 * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
17464 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
17466 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
17468 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
17470 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
17472 * ChangeLog: Remove piece of diff output.
17474 2001-12-14 Geert Bosch <bosch@gnat.com>
17476 * config-lang.in: Update copyright notice
17478 * layout.adb: Remove commented out code.
17480 * mdllfile.ads: Update copyright notice. Fix header format.
17482 * sem_case.ads: Likewise.
17484 * sem_ch3.adb: Minor reformatting.
17486 2001-12-12 Geert Bosch <bosch@gnat.com>
17488 * freeze.ads: Update copyright date.
17490 * g-comlin.ads: Minor reformatting.
17492 * gnat-style.texi: Fix typo.
17494 2001-12-12 Geert Bosch <bosch@gnat.com>
17496 * einfo.h: Regenerate.
17498 2001-12-12 Ed Schonberg <schonber@gnat.com>
17500 * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
17501 on known node types, rather than untyped fields. Further cleanups.
17503 2001-12-12 Robert Dewar <dewar@gnat.com>
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.
17513 * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
17515 2001-12-12 Robert Dewar <dewar@gnat.com>
17517 * s-stalib.adb: Add more comments on with statements being needed
17519 * par-ch12.adb: Minor reformatting
17521 * prj-dect.ads: Fix copyright header
17523 * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
17524 inputs fit in 32 bits, but the result still overflows.
17526 * s-fatgen.ads: Minor comment improvement
17528 2001-12-12 Ed Schonberg <schonber@gnat.com>
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.
17534 2001-12-12 Robert Dewar <dewar@gnat.com>
17536 * checks.ads (Apply_Alignment_Check): New procedure.
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.
17542 * exp_util.ads (Must_Be_Aligned): Removed, replaced by
17543 Exp_Pakd.Known_Aligned_Enough
17545 * mdllfile.ads: Minor reformatting
17547 * mlib-fil.ads: Minor reformatting
17549 2001-12-12 Ed Schonberg <schonber@gnat.com>
17551 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
17552 fix to any component reference if enclosing record has non-standard
17555 2001-12-12 Vincent Celier <celier@gnat.com>
17557 * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
17560 2001-12-12 Ed Schonberg <schonber@gnat.com>
17562 * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
17565 2001-12-12 Robert Dewar <dewar@gnat.com>
17567 * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
17569 2001-12-12 Emmanuel Briot <briot@gnat.com>
17571 * g-regexp.adb: Remove all debug code, since it isn't required anymore,
17572 and it adds dependencies to system.io.
17574 2001-12-12 Pascal Obry <obry@gnat.com>
17576 * g-dirope.adb (Expand_Path.Var): Correctly detect end of
17579 2001-12-11 Ed Schonberg <schonber@gnat.com>
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.
17586 2001-12-11 Vincent Celier <celier@gnat.com>
17588 * gnatmain.adb: Initial version.
17590 * gnatmain.ads: Initial version.
17592 * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
17594 * snames.adb: Updated to match snames.ads.
17596 * snames.ads: Added Gnatstub.
17598 2001-12-11 Vincent Celier <celier@gnat.com>
17600 * prj-attr.adb (Initialization_Data): Change name from
17601 Initialisation_Data.
17603 2001-12-11 Emmanuel Briot <briot@gnat.com>
17605 * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
17606 + and * applied to backslashed expressions like \r.
17608 2001-12-11 Vasiliy Fofanov <fofanov@gnat.com>
17610 * g-os_lib.ads: String_List type added, Argument_List type is now
17611 subtype of String_List.
17613 2001-12-11 Robert Dewar <dewar@gnat.com>
17615 * g-os_lib.ads: Change copyright to FSF
17616 Add comments for String_List type
17618 2001-12-11 Vincent Celier <celier@gnat.com>
17620 * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
17621 string to the buffer).
17623 2001-12-11 Ed Schonberg <schonber@gnat.com>
17625 * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
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
17633 2001-12-11 Robert Dewar <dewar@gnat.com>
17635 * lib-xref.adb (Output_Refs): Make sure pointers are always properly
17638 2001-12-11 Ed Schonberg <schonber@gnat.com>
17640 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
17641 renamed unit before checking for recursive instantiations.
17643 2001-12-11 Emmanuel Briot <briot@gnat.com>
17645 * prj.ads: Add comments for some of the fields.
17647 2001-12-11 Robert Dewar <dewar@gnat.com>
17649 * lib-xref.adb (Output_Refs): Don't output type references outside
17650 the main unit if they are not otherwise referenced.
17652 2001-12-11 Ed Schonberg <schonber@gnat.com>
17654 * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
17655 code and diagnose additional illegal uses
17657 * sem_util.adb (Is_Object_Reference): An indexed component is an
17658 object only if the prefix is.
17660 2001-12-11 Vincent Celier <celier@gnat.com>
17662 * g-diopit.adb: Initial version.
17664 * g-diopit.ads: Initial version.
17667 (Expand_Path): Avoid use of Unbounded_String
17668 (Find, Wildcard_Iterator): Moved to child package Iteration
17670 * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
17672 2001-12-11 Robert Dewar <dewar@gnat.com>
17674 * sem_attr.adb: Minor reformatting
17676 2001-12-11 Ed Schonberg <schonber@gnat.com>
17678 * sem_ch3.adb: Clarify some ???.
17680 2001-12-11 Robert Dewar <dewar@gnat.com>
17682 * exp_util.adb (Must_Be_Aligned): Removed, replaced by
17683 Exp_Pakd.Known_Aligned_Enough
17685 * sem_ch13.adb (Check_Address_Alignment): Removed, extended
17686 version is moved to Exp_Ch13.
17688 2001-12-11 Robert Dewar <dewar@gnat.com>
17690 * einfo.ads: Minor reformatting
17692 * exp_ch5.adb: Add comment for previous.change
17694 * ali.adb: New interface for extended typeref stuff.
17696 * ali.ads: New interface for typeref stuff.
17698 * checks.adb (Apply_Alignment_Check): New procedure.
17700 * debug.adb: Add -gnatdM for modified ALI output
17702 * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
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.
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.
17713 * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
17715 * exp_pakd.adb: Minor reformatting. Note that prevous RH should say:
17716 (Known_Aligned_Enough): Replaces Must_Be_Aligned.
17718 2001-12-11 Vincent Celier <celier@gnat.com>
17721 Changed /COMPILE_ONLY to /ACTIONS=COMPILE
17722 Changed /BIND_ONLY to /ACTIONS=BIND
17723 Changed /LINK_ONLY to /ACTIONS=LINK
17725 2001-12-11 Ed Schonberg <schonber@gnat.com>
17727 * sem_ch8.adb (Find_Selected_Component): improved search for a
17728 candidate package in case of error.
17730 * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
17731 chain back on scope stack before reinstalling use clauses.
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
17737 2001-12-11 Robert Dewar <dewar@gnat.com>
17739 * checks.adb (Insert_Valid_Check): Apply validity check to expression
17740 of conversion, not to result of conversion.
17742 2001-12-11 Ed Schonberg <schonber@gnat.com>
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.
17749 2001-12-05 Vincent Celier <celier@gnat.com>
17751 * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
17752 -c /COMPILE_ONLY, -l /LINK_ONLY
17755 (Bind_Only): New Flag
17756 (Link_Only): New flag
17758 * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
17761 * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
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.
17770 2001-12-05 Ed Schonberg <schonber@gnat.com>
17772 * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
17773 get bounds from right operand.
17775 * sem_eval.adb: Minor reformatting
17777 * exp_util.adb (Make_Literal_Range): use bound of literal rather
17778 than Index'First, its lower bound may be different from 1.
17780 * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
17783 2001-12-05 Vincent Celier <celier@gnat.com>
17785 * prj-nmsc.adb Minor reformatting
17787 * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
17788 set and libraries are not supported.
17790 2001-12-05 Ed Schonberg <schonber@gnat.com>
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
17796 2001-12-05 Ed Schonberg <schonber@gnat.com>
17798 * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
17799 unit, always replace instance node with new body, for ASIS use.
17801 2001-12-05 Vincent Celier <celier@gnat.com>
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.
17807 * prj-proc.adb (Expression): Set location of Result to location of
17810 * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
17811 (prj-nmsc is now importing MLib.Tgt)
17813 * prj-proc.adb: Put the change indicated above that was forgotten.
17815 2001-12-05 Robert Dewar <dewar@gnat.com>
17817 * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
17819 2001-12-05 Ed Schonberg <schonber@gnat.com>
17821 * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
17822 constraint, introduce explicit subtype declaration and derive from it.
17824 * sem_ch3.adb: Minor reformatting
17826 2001-12-05 Robert Dewar <dewar@gnat.com>
17828 * checks.adb (Determine_Range): Increase cache size for checks.
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.
17837 * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
17838 change handling of conversions.
17840 * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
17842 2001-12-05 Ed Schonberg <schonber@gnat.com>
17844 * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
17845 aggregate with static wrong size, attach generated Raise node to
17848 2001-12-05 Robert Dewar <dewar@gnat.com>
17850 * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
17851 Fixes compilation abandoned bomb in B24009B.
17853 2001-12-05 Ed Schonberg <schonber@gnat.com>
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.
17860 2001-12-05 Robert Dewar <dewar@gnat.com>
17862 * prj-dect.ads: Add ??? comment
17863 Add 2001 to copyright notice (was not done in after all)
17865 * prj-part.adb: Minor reformatting. Reword one awkward error message.
17867 * prj.ads: Minor reformatting throughout, and add some ??? comments
17869 * snames.ads: Minor reformatting
17871 2001-12-05 Geert Bosch <bosch@gnat.com>
17873 * snames.adb: Autoupdate
17875 2001-12-05 Vincent Celier <celier@gnat.com>
17877 * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
17879 * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
17881 * prj-env.adb: Minor comment changes (modifying -> extends).
17883 * prj-nmsc.adb: Minor comment changes (modifying -> extends).
17885 * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
17888 * prj.adb (Initialize): Change Modifying to Extends.
17890 * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
17892 * prj.ads: Minor comment change (Modifying -> extending).
17894 * snames.ads: Change modifying to extends.
17896 2001-12-05 Robert Dewar <dewar@gnat.com>
17898 * sem_warn.adb: Remove stuff for conditionals, we are not going to
17901 * sem_warn.ads: Remove stuff for conditionals, we are not going to
17902 do this after all. Add 2001 to copyright notice
17904 2001-12-04 Geert Bosch <bosch@gnat.com>
17906 * einfo.h, sinfo.h, treeprs.ads: Regenerate.
17908 2001-12-04 Robert Dewar <dewar@gnat.com>
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
17914 * errout.adb: Improve comment.
17916 2001-12-04 Robert Dewar <dewar@gnat.com>
17919 (Analyze_Formal_Type_Definition): Defend against Error.
17920 (Analyze_Formal_Subprogram): Defend against Error.
17922 * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
17923 remove following semicolon if present. Removes cascaded error.
17925 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
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).
17933 2001-12-04 Robert Dewar <dewar@gnat.com>
17935 * einfo.ads: Minor reformatting
17937 2001-12-04 Ed Schonberg <schonber@gnat.com>
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.
17943 * inline.adb (Cleanup_Scopes): recover block statement from block
17944 entity using new meaning of Block_Node.
17946 * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
17947 identifier of block node, rather than to node itself.
17949 2001-12-04 Gary Dismukes <dismukes@gnat.com>
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.
17958 2001-12-04 Arnaud Charlet <charlet@gnat.com>
17960 * Makefile.in: (HIE_SOURCES): add s-fat*.
17962 2001-12-04 Robert Dewar <dewar@gnat.com>
17965 (Compile_Time_Known_Attribute): New procedure.
17966 (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
17967 proper range check.
17969 2001-12-04 Ed Schonberg <schonber@gnat.com>
17971 * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
17972 processing discriminants to diagnose illegal default values.
17974 2001-12-04 Ed Schonberg <schonber@gnat.com>
17976 * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
17977 access discriminant within a type extension that constrains its
17978 parent discriminants.
17980 2001-12-04 Ed Schonberg <schonber@gnat.com>
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.
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
17990 2001-12-04 Ed Schonberg <schonber@gnat.com>
17992 * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
17995 2001-12-04 Robert Dewar <dewar@gnat.com>
17997 * errout.adb: Minor reformatting
17999 2001-12-04 Robert Dewar <dewar@gnat.com>
18001 * exp_util.adb: Minor reformatting from last change
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.
18007 2001-12-04 Ed Schonberg <schonber@gnat.com>
18009 * exp_util.adb (Must_Be_Aligned): Return false for a component of a
18010 record that has other packed components.
18012 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
18014 * adaint.c: Minor cleanups.
18016 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
18018 * adaint.c: Do not use utime.h on vxworks.
18020 2001-12-04 Arnaud Charlet <charlet@gnat.com>
18022 * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
18023 more confusion than it solves.
18025 2001-12-04 Geert bosch <bosch@gnat.com>
18027 * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
18029 2001-12-04 Geert Bosch <bosch@gnat.com>
18031 * Makefile.in (update-sources): New target.
18032 For use by gcc_release script.
18034 2001-12-04 Ed Schonberg <schonber@gnat.com>
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.
18039 2001-12-04 Zack Weinberg <zack@codesourcery.com>
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.
18045 2001-12-04 Robert Dewar <dewar@gnat.com>
18047 * einfo.adb (Has_Pragma_Pure_Function): New flag.
18048 Fix problem that stopped ceinfo from working
18050 * einfo.ads (Has_Pragma_Pure_Function): New flag.
18052 * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
18054 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
18057 (File_Time_Stamp): New procedure.
18058 (Preserve_Mode): New boolean.
18059 (Write_Unit): Pass time stamp.
18060 Implement -p switch (preserve time stamps).
18062 * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
18064 * gnatchop.adb: Do usage info for -p switch
18066 * adaint.h (__gnat_set_file_time_name): New function
18068 * adaint.c (__gnat_set_file_time_name): Implement
18070 * adaint.h: Fix typo
18072 2001-12-03 Robert Dewar <dewar@gnat.com>
18074 * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
18075 have Associated_Node.
18077 2001-12-03 Robert Dewar <dewar@gnat.com>
18079 * prj-proc.adb: Minor reformatting
18081 * make.adb: Minor reformatting
18083 2001-12-03 Geert Bosch <bosch@gnat.com>
18085 * make.adb: Minor reformatting.
18087 2001-12-03 Robert Dewar <dewar@gnat.com>
18089 * sem_ch12.adb: Minor reformatting
18091 2001-12-03 Ed Schonberg <schonber@gnat.com>
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.
18097 * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
18099 2001-12-03 Ed Schonberg <schonber@gnat.com>
18101 * sem_ch12.adb (Instantiate_Package_Body): Protect against double
18102 instantiation of a body that contains an inlined body.
18104 2001-12-03 Ed Schonberg <schonber@gnat.com>
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.
18115 2001-12-01 Graham Stott <grahams@redhat.com>
18117 * Makefile.in (misc.o): Add missing $(srcdir) prefix
18118 and add optabs.h dependency.
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.
18126 2001-11-29 Richard Henderson <rth@redhat.com>
18128 * init.c: Remove obsolete dwarf2 frame.h section.
18130 2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
18132 * Make-lang.in (ada.generated-manpages): New dummy target.
18134 2001-11-29 Ed Schonberg <schonber@gnat.com>
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
18140 2001-11-28 Geert Bosch <bosch@gnat.com>
18142 * init.c: Minor whitespace changes.
18144 2001-11-28 Doug Rupp <rupp@gnat.com>
18146 * init.c: (__gnat_install_handler,VMS): Increase size of alternate
18149 2001-11-28 Zack Weinberg <zack@codesourcery.com>
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.
18156 (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
18157 always have vprintf.
18158 (gnat_init): Always call set_internal_error_function.
18160 2001-11-27 Andreas Jaeger <aj@suse.de>
18162 * Makefile.in (stamp-tool_src_dir): Use symbolic link.
18164 2001-11-27 Laurent Guerby <guerby@acm.org>
18166 * Makefile.in: Regenerate Ada dependencies.
18168 2001-11-26 Richard Henderson <rth@redhat.com>
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.
18174 2001-11-25 Laurent Guerby <guerby@acm.org>
18176 * sysdep.c (rts_get_*): Fix style.
18178 2001-11-19 Laurent Guerby <guerby@acm.org>
18180 * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
18181 since it is of no apparent use and cause warnings.
18183 2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
18185 * misc.c (gnat_decode_option, gnat_init_options): Make definitions
18187 (gnat_init): Don't return NULL.
18188 (finish_parse): Remove.
18190 2001-11-17 Laurent Guerby <guerby@acm.org>
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.
18202 Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18204 * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
18206 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
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.
18214 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
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.
18221 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
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.
18228 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
18230 * misc.c: Include langhooks-def.h.
18231 * Makefile.in: Update.
18233 2001-10-30 Robert Dewar <dewar@gnat.com>
18236 (Check_Identifier): Rewrite circuit to be compatible with use of letters
18237 in the upper half of ASCII.
18238 (Check_Identifier): Minor reformatting
18240 2001-10-30 Geert Bosch <bosch@gnat.com>
18242 * (Associated_Node, Set_Associated_Node): Do not check for
18245 2001-10-30 Robert Dewar <dewar@gnat.com>
18247 * a-reatim.ads: Minor reformatting
18249 2001-10-30 Robert Dewar <dewar@gnat.com>
18251 * gnatdll.adb: Minor reformatting throughout. Many ??? added for
18252 undocumented declarations.
18254 2001-10-30 Pascal Obry <obry@gnat.com>
18256 * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
18257 to the binder and linker.
18260 * mdll.ads: Fix layout. Update copyright notice.
18262 * mdll.adb: Fix layout. Update copyright notice.
18264 2001-10-30 Robert Dewar <dewar@gnat.com>
18266 * usage.adb: Minor fix to output for -gnaty.
18268 2001-10-30 Ed Schonberg <schonber@gnat.com>
18270 * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
18271 to accommodate all its possible values.
18273 * a-reatim.adb (Split): Special-case handling of Time_Span_First
18274 and of small absolute values of T.
18276 2001-10-30 Richard Kenner <kenner@gnat.com>
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.
18282 2001-10-30 Geert Bosch <bosch@gnat.com>
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.
18287 2001-10-30 Robert Dewar <dewar@gnat.com>
18289 * bindusg.adb: Undocument -f switch.
18291 * gnatcmd.adb: Remove /FULL_ELABORATION.
18293 * opt.ads (Force_RM_Elaboration_Order): Document that this is
18296 * gnatbind.adb: Output new warning for use of obsolescent -f switch.
18298 * gnatbind.adb: Minor update of warning msg.
18300 2001-10-30 Vincent Celier <celier@gnat.com>
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
18307 2001-10-30 Geert Bosch <bosch@gnat.com>
18309 * decl.c: Minor whitespace fixes.
18311 2001-10-30 Richard Kenner <kenner@gnat.com>
18313 * utils2.c (build_allocator): Test for SIZE overflow in array case too
18315 2001-10-30 Geert Bosch <bosch@gnat.com>
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.
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.
18326 2001-10-30 Robert Dewar <dewar@gnat.com>
18328 * lib.adb: Minor reformatting
18330 * s-taprop.ads: Minor reformatting
18332 2001-10-29 Laurent Guerby <guerby@acm.org>
18335 (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
18337 (_gnat_error_handler): Make MSG const.
18339 2001-10-29 Richard Kenner <kenner@gnat.com>
18341 * sysdep.c: Fix localtime_r problem on LynxOS.
18342 Also remove #elif to avoid warnings.
18344 * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
18347 * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
18349 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
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.
18362 2001-10-27 Laurent Guerby <guerby@acm.org>
18364 * trans.c (gigi): Fix non determinism leading to bootstrap
18365 comparison failures for debugging information.
18367 2001-10-26 Florian Weimer <fw@deneb.enyo.de>
18369 * gnat_rm.texi: Use @./@: where appropriate.
18371 2001-10-26 Robert Dewar <dewar@gnat.com>
18373 * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
18375 2001-10-26 Richard Kenner <kenner@gnat.com>
18377 * gmem.c (__gnat_gmem_read_next): Properly check for EOF
18379 2001-10-26 Richard Kenner <kenner@gnat.com>
18381 * decl.c (validate_size): Modify message for bad size to avoid
18382 implication that compiler is modifying the size.
18384 2001-10-26 Robert Dewar <dewar@gnat.com>
18386 * prj-util.adb: Minor reformatting. Fix bad header format.
18388 2001-10-26 Robert Dewar <dewar@gnat.com>
18390 * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
18392 * sinfo.ads: Clarify use of Associated_Node (documentation only).
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.
18398 2001-10-26 Joel Brobecker <brobecke@gnat.com>
18400 * 5zosinte.ads (null_pthread): new constant.
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.
18410 (Resume_All_Tasks): Lock the tasks list before using it.
18411 (Suspend_All_Tasks): ditto.
18413 2001-10-26 Richard Kenner <kenner@gnat.com>
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.
18419 * trans.c (process_freeze_entity, process_type):
18420 Call update_pointer_to on main variant.
18422 * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
18423 If main variant, update all other variants.
18425 * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
18428 2001-10-26 Robert Dewar <dewar@gnat.com>
18430 * prj-util.adb: Minor reformatting
18432 2001-10-26 Robert Dewar <dewar@gnat.com>
18434 * prj-util.adb: Minor reformatting
18436 2001-10-26 Robert Dewar <dewar@gnat.com>
18438 * prj-attr.adb: Minor reformatting throughout
18440 2001-10-26 Robert Dewar <dewar@gnat.com>
18442 * prj-attr.ads: Minor reformatting
18443 Add ??? comment (this whole spec has almost no comments)
18445 2001-10-26 Vincent Celier <celier@gnat.com>
18447 * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
18448 ("//") that precede the drive letter on Interix.
18450 2001-10-26 Geert Bosch <bosch@gnat.com>
18452 * gnat_rm.texi: Add GNAT Reference Manual.
18454 2001-10-25 Robert Dewar <dewar@gnat.com>
18456 * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
18457 is Error. Similar change for other renaming cases.
18459 2001-10-25 Robert Dewar <dewar@gnat.com>
18461 * s-atacco.ads: Add pragma Inline_Always for functions.
18462 Fix header format. Add copyright 2001
18464 2001-10-25 Ed Schonberg <schonber@gnat.com>
18466 * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
18467 return Error rather than Empty so that analysis can proceed.
18469 2001-10-25 Ed Schonberg <schonber@gnat.com>
18471 * sem_util.adb (Enter_Name): better handling of cascaded error
18472 messages when a unit appears in its own context.
18474 2001-10-25 Ed Schonberg <schonber@gnat.com>
18476 * sem_util.adb (Defining_Entity): in case of error, attach created
18477 entity to specification, so that semantic analysis can proceed.
18479 2001-10-25 Robert Dewar <dewar@gnat.com>
18482 (Defining_Entity): Deal with Error.
18483 (Process_End_Label): Deal with bad end label for.
18485 2001-10-25 Ed Schonberg <schonber@gnat.com>
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.
18490 2001-10-25 Ed Schonberg <schonber@gnat.com>
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.
18495 2001-10-25 Geert Bosch <bosch@gnat.com>
18497 * 4gintnam.ads: fix header format.
18499 2001-10-25 Ed Schonberg <schonber@gnat.com>
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.
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
18509 2001-10-25 Ed Schonberg <schonber@gnat.com>
18511 * sem_res.adb (Resolve): special-case resolution of Null in an
18512 instance or an inlined body to avoid view conflicts.
18514 * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
18515 compatibility by retrieving the access type of the generic copy.
18517 2001-10-25 Robert Dewar <dewar@gnat.com>
18520 (Analyze_Number_Declaration): Handle error expression.
18521 (Signed_Integer_Type_Declaration): Handle error bound.
18522 (Analyze_Subtype_Indication): Handle error range.
18524 * sem_util.adb (Get_Index_Bounds): Check for Error.
18526 2001-10-25 Robert Dewar <dewar@gnat.com>
18528 * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
18529 in no run time mode.
18531 2001-10-25 Pascal Obry <obry@gnat.com>
18533 * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
18534 mode case for ALLOC case.
18536 * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
18537 all platforms. Improvement of last change.
18539 2001-10-25 Robert Dewar <dewar@gnat.com>
18541 * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
18543 2001-10-25 Geert Bosch <bosch@gnat.com>
18545 * osint.adb (Is_Relative): Remove duplicate.
18547 2001-10-25 Pascal Obry <obry@gnat.com>
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.
18553 * osint.adb: Minor reformatting
18555 * osint.adb (Is_Relative): implementation using
18556 GNAT.OS_Lib.Is_Absolute_Path. Better fix.
18558 2001-10-25 Pascal Obry <obry@gnat.com>
18560 * g-dirope.adb (Basename): correctly compute offset between the
18561 original Path and the translated one.
18563 * g-dirope.adb: (Base_Name): add some comments.
18565 2001-10-25 Robert Dewar <dewar@gnat.com>
18567 * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
18568 in HIE mode, avoids compilation abandoned message
18570 * exp_imgv.adb: Correct typo in previous change
18572 * exp_imgv.adb: Correct typo in previous change (not my day!)
18574 2001-10-25 Robert Dewar <dewar@gnat.com>
18576 * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
18578 2001-10-25 Pascal Obry <obry@gnat.com>
18580 * g-awk.ads: Move all pragma inlines next to the routine
18581 declarations. This is more uniform with other GNAT spec.
18583 2001-10-22 Geert Bosch <bosch@gnat.com>
18585 * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
18587 2001-10-19 Geert Bosch <bosch@gnat.com>
18589 * Makefile.in (tools, gnattools): Remove gnatmem.
18591 2001-10-17 Richard Henderson <rth@redhat.com>
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.
18599 2001-10-16 Florian Weimer <fw@deneb.enyo.de>
18601 * trans.c (tree_transform): Adjust to recent change in
18602 expand_asm_operands to implement named asm operands.
18604 2001-10-11 Ed Schonberg <schonber@gnat.com>
18606 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
18607 renaming of discriminant for mutable record type.
18609 2001-10-11 Robert Dewar <dewar@gnat.com>
18611 * validsw.adb: Properly save -gnatVn status.
18613 2001-10-11 Robert Dewar <dewar@gnat.com>
18615 * usage.adb: Add lines for V switch.
18617 * gnatcmd.adb (COMPILE): Revise translations for -gnatV
18618 (/VALIDITY_CHECKING).
18620 2001-10-11 Ed Schonberg <schonber@gnat.com>
18622 * sem_type.adb (Add_One_Interp): an operator for a type declared in
18623 an extension of System is known to be visible.
18625 2001-10-11 Ed Schonberg <schonber@gnat.com>
18627 * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
18628 properly. Fixes regression on ACATS C34005G.
18630 2001-10-11 Robert Dewar <dewar@gnat.com>
18632 * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
18633 loop in generic instance, since this is likely not very useful.
18635 2001-10-11 Robert Dewar <dewar@gnat.com>
18637 * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
18638 the error message for high integrity mode.
18640 * rtsfind.adb (RTE): Give message if we try to find an entity that
18641 is not available in high integrity mode.
18644 (OK_To_Use_In_HIE_Mode): New array.
18645 (RTE): May return Empty in high integrity mode.
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.
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.
18654 * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
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.
18660 2001-10-11 Pascal Obry <obry@gnat.com>
18662 * impunit.adb: Add GNAT.CRC32.
18664 2001-10-11 Ed Schonberg <schonber@gnat.com>
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.
18670 2001-10-11 Ed Schonberg <schonber@gnat.com>
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.
18675 2001-10-11 Ed Schonberg <schonber@gnat.com>
18677 * exp_ch7.adb (Make_Transient_Block): if statement is within
18678 exception handler, always use new transient scope to place Clean
18681 2001-10-11 Pascal Obry <obry@gnat.com>
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
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.
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.
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.
18706 * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
18707 is what this variable will store.
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.
18715 * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
18716 now and not anymore a simple checksum.
18718 * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
18721 * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
18724 (Restore_Scan_State): rename Checksum to CRC.
18725 (Save_Scan_State): idem.
18729 (Checksum): rename to CRC.
18730 (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
18732 * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
18733 GNAT.CRC32). Update copyright notice.
18735 * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
18736 GNAT.CRC32). Update copyright notice.
18739 (Accumulate_Checksum): removed.
18740 (Update): new procedure. Add a wide-character into the CRC.
18743 (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
18744 (Load_File): fix initialization of S (change Source_Checksum to
18747 * sinput-p.adb (Load_Project_File): rename Source_Checksum to
18748 Source_CRC in S initialization.
18750 * sinput.adb (Source_Checksum): renamed to Source_CRC.
18752 * sinput.ads (Source_Checksum): renamed to Source_CRC.
18753 Update comments for the CRC.
18755 * types.adb (Hex): Use lowercase for the letter part.
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).
18768 * gnatvsn.ads (Library_Version): changed to 3.15a.
18770 * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
18773 * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
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.
18780 * ali-util.ads: Redo changes of previous revision to continue to use
18781 the word Checksum. Add 2001 to copyright notice.
18783 * ali.adb: Undo some of previous changes, not needed.
18784 Keep the change for lower case letters in the checksum.
18786 * ali.ads: Undo previous change not needed.
18788 * bcheck.adb: Undo most of previous change, not needed.
18789 But do use Checksums_Match for checksum comparison.
18791 * gnatls.adb: Undo most of previous change, not needed.
18792 But do use Checksums_Match for comparing checksums.
18794 * lib-load.adb: Undo previous change, not needed.
18796 * lib-writ.adb: Undo previous change, not needed.
18798 * lib-writ.ads: Document that checksums use lower case,
18799 not upper case letters.
18801 * scans.adb: Undo previous change, not needed
18803 * scans.ads: Undo previous change, not needed.
18805 * scn-nlit.adb: Undo previous changes, not needed.
18807 * scn-slit.adb: Undo previous change, not needed. Fix header format.
18810 (Accumulate_Checksum): Use System.CRC32.
18811 (Initialize_Checksum): New procedure.
18812 Remove other changes of previous revision.
18814 * sinput-p.adb: Undo previous change, not needed.
18816 * sinput.adb: Undo previous change, not needed.
18818 * sinput-l.adb: Undo previous change, not needed.
18820 * sinput.ads: Undo previous change, not needed. Keep only comment
18821 on new checksum algorithm
18823 * Makefile.in: Add s-crc32 as needed, remove g-crc32.
18824 Also remove a-tags and a-stream from GNAT sources.
18826 * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
18828 * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
18830 2001-10-11 Geert Bosch <bosch@gnat.com>
18832 * einfo.h: Regenerate.
18834 * nmake.ads: Regenerate.
18836 * nmake.adb: Regenerate.
18838 * sinfo.h: Regenerate.
18840 * treeprs.adb: Regenerate.
18842 2001-10-10 Geert Bosch <bosch@gnat.com>
18844 * gnat-style.texi: New file describing coding guidelines for Ada.
18846 2001-10-10 Ed Schonberg <schonber@gnat.com>
18848 * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
18851 2001-10-10 Geert Bosch <bosch@gnat.com>
18853 * snames.ads: Add new names for project facility.
18855 * snames.adb: Update to reflect snames.ads changes.
18857 * snames.h: Update to reflect snames.ads changes.
18859 2001-10-10 Vincent Celier <celier@gnat.com>
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.
18869 (Initialisation_Data): Change the names of some packages and
18871 (Initialize): process case insensitive associative arrays.
18874 (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
18877 (Parse_Attribute_Declaration): For case insensitive associative
18878 arrays, set the index string to lower case.
18881 Reflect the changes of the project attributes.
18884 Replace Check_Naming_Scheme by Ada_Check and
18885 Language_Independent_Check.
18888 Replaced Check_Naming_Scheme by 2 procedures:
18889 Ada_Check and Language_Independent_Check.
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.
18898 (Case_Insensitive): New function
18899 (Set_Case_Insensitive): New procedure
18902 (Case_Insensitive): New function
18903 (Set_Case_Insensitive): New procedure
18904 (Project_Node_Record): New flag Case_Insensitive.
18907 (Value_Of): new function to get the string value of a single
18908 string variable or attribute.
18911 (Value_Of): new function to get the string value of a single
18912 string variable or attribute.
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.
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.
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,
18937 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
18940 * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
18941 not that it is Nil_Variable_Value.
18943 * prj.ads: Add ??? for uncommented declarations
18945 2001-10-10 Ed Schonberg <schonber@gnat.com>
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.
18951 2001-10-10 Robert Dewar <dewar@gnat.com>
18953 * sem_prag.adb: Add processing for pragma External.
18955 * snames.ads: Add entry for pragma External.
18957 * par-prag.adb: Add pragma External.
18959 * snames.adb: Updated to match snames.ads.
18961 2001-10-10 Ed Schonberg <schonber@gnat.com>
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.
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.
18971 2001-10-10 Ed Schonberg <schonber@gnat.com>
18973 * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
18976 * einfo.ads: Body_Entity is also defined for generic package.
18977 Documentation change only
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.
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
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.
18994 2001-10-10 Robert Dewar <dewar@gnat.com>
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
19000 2001-10-10 Richard Kenner <kenner@gnat.com>
19002 * decl.c: (validate_size): Do check size of object of integral type
19003 if it is a packed array type.
19005 2001-10-10 Richard Kenner <kenner@gnat.com>
19007 * decl.c: (gnat_to_gnu_entity, case object): Also materialize
19008 VAR_DECL for constant if not Is_Public but -O0.
19010 2001-10-10 Richard Kenner <kenner@gnat.com>
19012 * misc.c (struct lang_hooks): Add new initializer to match GCC change.
19014 2001-10-10 Geert Bosch <bosch@gnat.com>
19016 * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
19017 use '/' as switch character, allowing for absolute file names.
19019 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
19021 * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
19024 2001-10-08 Geert Bosch <bosch@gnat.com>
19026 * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
19027 Automatically build utilities when files need to be regenerated.
19029 2001-10-08 Geert Bosch <bosch@gnat.com>
19031 * xsnames.adb: New utility for updating snames.ads and snames.adb
19033 2001-10-08 Zack Weinberg <zack@codesourcery.com>
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;
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.
19050 (gnattools): Depend directly on tools to build, don't use
19052 (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
19054 * einfo.h, sinfo.h: New files (autogenerated).
19056 2001-10-08 Richard Henderson <rth@redhat.com>
19058 * comperr.adb (Abort_In_Progress): New.
19059 (Compiler_Abort): Use it to prevent recursion.
19061 2001-10-08 Robert Dewar <dewar@gnat.com>
19063 * atree.adb: Set Error_Posted in Error node, helps error recovery.
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.
19068 * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
19069 to help error recovery. Part of general work on 9407-004.
19071 * par.adb: Add ??? for misuse of error
19074 (Resolve): Defend against Error, fixes 9407-003.
19075 (Resolve_Discrete_Subtype_Indication): Defend against Error.
19077 * sinfo.ads (N_Error): Now has Etype field (which will be set
19078 to Any_Type to help error recovery).
19080 2001-10-08 Richard Kenner (kenner@gnat.com)
19082 * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
19083 Consistently set MEM attributes from expression; fixes
19084 bootstrap failure on x86.
19086 2001-10-08 Geert Bosch (bosch@gnat.com)
19088 * 5oosinte.adb: Add 2001 to copyright notice.
19090 2001-10-08 Geert Bosch (bosch@gnat.com)
19092 * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
19094 * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
19096 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
19098 * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
19100 2001-10-05 Geert Bosch (bosch@gnat.com)
19102 * adaint.h: Small formatting fix.
19104 2001-10-04 Geert Bosch <bosch@gnat.com>
19106 * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
19107 Arg is int, not FILE *, in dummy version of functions.
19109 * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
19110 Arg is int, not FILE *.
19112 2001-10-04 Geert Bosch <bosch@gnat.com>
19114 * 3lsoccon.ads: Added file, missed with initial check ins.
19116 * 4lintnam.ads: Fix header format.
19117 Change Linux to GNU/Linux.
19119 * 5iosinte.adb: Change Linux to GNU/Linux.
19121 * 5iosinte.ads: Change Linux to GNU/Linux.
19123 * 5itaprop.adb: Change Linux to GNU/Linux.
19125 * 5itaspri.ads: Change Linux to GNU/Linux.
19126 Update copyright notice.
19128 * 5lintman.adb: Change Linux to GNU/Linux.
19130 * 5lml-tgt.adb: Change Linux to GNU/Linux.
19132 * 5losinte.ads: Change Linux to GNU/Linux.
19134 * 5lsystem.ads: Change Linux to GNU/Linux.
19136 * 5qosinte.adb: Change Linux to GNU/Linux.
19138 * 5qosinte.ads: Change Linux to GNU/Linux.
19140 * 5qparame.ads: Change Linux to GNU/Linux.
19142 * 5qtaprop.adb: Change Linux to GNU/Linux.
19144 * 5qtaspri.ads: Change Linux to GNU/Linux.
19145 Add 2001 to copyright notice.
19147 * 5vintman.ads: Change Linux to GNU/Linux.
19148 Fix header format. Add 2001 to copyright notice.
19150 * g-soccon.ads: Change Linux to GNU/Linux.
19152 * g-trasym.ads: Change Linux to GNU/Linux.
19153 Add 2001 to copyright notice.
19155 * memtrack.adb: Change Linux to GNU/Linux.
19157 * s-intman.ads: Change Linux to GNU/Linux.
19158 Add 2001 to copyright notice. Fix header format.
19160 * s-stache.adb: Change Linux to GNU/Linux.
19162 * adaint.c: Change Linux to GNU/Linux.
19164 * cio.c: Change Linux to GNU/Linux.
19166 * cstreams.c: Change Linux to GNU/Linux.
19168 * init.c: Change Linux to GNU/Linux.
19170 * gmem.c: Change Linux to GNU/Linux.
19172 * tracebak.c: Change Linux to GNU/Linux.
19175 2001-10-02 Geert Bosch <bosch@gnat.com>
19177 * misc.c (insert_default_attributes): Add dummy version.