]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ada/ChangeLog
resync.
[thirdparty/gcc.git] / gcc / ada / ChangeLog
1 2005-03-15 Robert Dewar <dewar@adacore.com>
2
3 * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
4 system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
5 system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
6 system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
7 system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
8 system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
9 system-interix.ads, system-solaris-sparc.ads,
10 system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
11 system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
12 system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
13 system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
14 system-linux-s390.ads, system-linux-s390x.ads: Add line defining
15 Compiler_System_Version to be False.
16
17 * opt.ads: Add new flag Opt.Address_Is_Private
18
19 * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
20 Add new parameter Compiler_System_Version to avoid checking for
21 completeness of parameters when compiler is compiling itself.
22 Allows old versions of GNAT to be compiled with new compiler.
23
24 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
25
26 * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
27 (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
28 calling thread.
29 (Stack_Base_Available): New flag.
30 (Get_Page_Size): New overloaded functions imported from C.
31 (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
32 PROT_ON, PROT_OFF): New constants.
33 (mprotect): New function imported from C.
34 (pthread_teb_t): New record type.
35
36 * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
37 (Create_Task): Account for the Yellow Zone and the guard page.
38
39 2005-03-15 Vincent Celier <celier@adacore.com>
40
41 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
42 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
43 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
44 mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
45 Library_File_Name_For): Add new parameter In_Tree
46 to specify the project tree: needed by the project manager.
47 Adapt to changes in project manager using new parameter In_Tree.
48 Remove local imports, use functions in System.CRTL.
49
50 * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
51 to use the project manager.
52
53 * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
54 In_Tree to designate the project tree. Adapt to changes in the project
55 manager, using In_Tree.
56
57 * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
58 Copy_Interface_Sources): Add new parameter In_Tree to specify the
59 project tree: needed by the project manager.
60 (Build_Library): Check that Arg'Length >= 6 before checking if it
61 contains "--RTS=...".
62
63 * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
64 Library_File_Name_For): Add new parameter In_Tree to specify the
65 project tree: needed by the project manager.
66
67 * prj.ads, prj.adb: Major modifications to allow several project trees
68 in memory at the same time.
69 Change tables to dynamic tables and hash tables to dynamic hash
70 tables. Move tables and hash tables from Prj.Com (in the visible part)
71 and Prj.Env (in the private part). Move some constants from the visible
72 part to the private part. Make other constants deferred.
73 (Project_Empty): Make it a variable, not a function
74 (Empty_Project): Add parameter Tree. Returns the data with the default
75 naming data of the project tree Tree.
76 (Initialize): After updating Std_Naming_Data, copy its value to the
77 component Naming of Project Empty.
78 (Register_Default_Naming_Scheme): Use and update the default naming
79 component of the project tree, instead of the global variable
80 Std_Naming_Data.
81 (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
82 Tree is not defaulted, return the default naming data of the Tree.
83 (Initial_Buffer_Size): Constant moved from private part
84 (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
85 variables initialized in procedure Initialize.
86 (Add_To_Buffer): Add two in out parameters to replace global variables
87 Buffer and Buffer_Last.
88 (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
89 functions.
90 Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
91 hash tables.
92 (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
93 for the project tree.
94 (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
95 constant at the beginning of the package spec, so that they cane be used
96 in subprograms before their full declarations.
97 (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
98 (Empty_Project): Add parameter of type Project_Node_Ref
99 (Private_Project_Tree_Data): Add component Default_Naming of type
100 Naming_Data.
101 (Buffer, Buffer_Last): remove global variables
102 (Add_To_Buffer): Add two in out parameters to replace global variables
103 Buffer and Buffer_Last.
104 (Current_Packages_To_Check): Remove global variable
105 (Empty_Name): Move to private part
106 (No-Symbols): Make it a constant
107 (Private_Project_Tree_Data): New type for the private part of the
108 project tree data.
109 (Project_Tree_Data): New type for the data of a project tree
110 (Project_Tree_Ref): New type to designate a project tree
111 (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
112 for the project tree.
113
114 * prj-attr.ads: Add with Table; needed, as package Prj no longer
115 imports package Table.
116
117 * prj-com.adb: Remove empty, no longer needed body
118
119 * prj-com.ads: Move most of the content of this package to package Prj.
120
121 * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
122 designate the project node tree and Packages_To_Check to replace
123 global variable Current_Packages_To_Check.
124 Add new parameters In_Tree and Packages_To_Check to local subprograms,
125 when needed. Adapt to changes in project manager with project node tree
126 In_Tree.
127
128 * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
129 project tree to most subprograms. Move tables and hash tables to
130 private part of package Prj.
131 Adapt to changes in project manager using project tree In_Tree.
132
133 * prj-makr.adb (Tree): New constant to designate the project node tree
134 Adapt to change in project manager using project node tree Tree
135
136 * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
137 display the Library_Src_Dir and the Library_Dir.
138 Add new parameter In_Tree to designate the project node tree to most
139 subprograms. Adapt to changes in the project manager, using project tree
140 In_Tree.
141 (Check_Naming_Scheme): Do not alter the casing on platforms where
142 the casing of file names is not significant.
143 (Check): Add new parameter In_Tree to designate the
144
145 * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
146 designate the project tree.
147 Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
148
149 * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
150 to replace those that were in the private part of package Prj.
151 Add new parameter In__Tree to designate the project node tree to most
152 subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
153 (Post_Parse_Context_Clause): When specifying the project node of a with
154 clause, indicate that it is a limited with only if there is "limited"
155 in the with clause, not necessarily when In_Limited is True.
156 (Parse): Add new parameter In_Tree to designate the project node tree
157
158 * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
159 designate the project node tree. Adapt to change in Prj.Tree with
160 project node tree In_Tree.
161
162 * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
163 tree In_Tree in the call to function Empty_Process to give its initial
164 value to the project data Processed_Data.
165 Add new parameters In_Tree to designate the project tree and
166 From_Project_Node_Tree to designate the project node tree to several
167 subprograms. Adapt to change in project manager with project tree
168 In_Tree and project node tree From_Project_Node_Tree.
169
170 * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
171 to replace those that were in the private part of package Prj.
172 Add new parameter In_Tree to designate the project node tree to most
173 subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
174
175 * prj-tree.ads, prj-tree.adb: Add new parameter of type
176 Project_Node_Tree_Ref to most subprograms.
177 Use this new parameter to store project nodes in the designated project
178 node tree.
179 (Project_Node_Tree_Ref): New type to designate a project node tree
180 (Tree_Private_Part): Change table to dynamic table and hash tables to
181 dynamic hash tables.
182
183 * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
184 the project tree to most subprograms. Adapt to changes in project
185 manager using project tree In_Tree.
186
187 * makegpr.adb (Project_Tree): New constant needed to use project
188 manager.
189
190 2005-03-15 Olivier Hainque <hainque@adacore.com>
191
192 * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
193 for sigactions with SA_SIGINFO set. Call
194 __gnat_adjust_context_for_raise before raising, to perform the
195 potentially required adjustments to the machine context for the GCC
196 unwinder.
197
198 * raise.h (__gnat_adjust_context_for_raise): New prototype.
199
200 * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
201 Adjust PC by one in the provided machine context.
202 (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
203 so that the handler is passed the context structure to adjust prior to
204 the raise.
205 (__gnat_error_handler) HPUX: Adjust the signature to match what an
206 SA_SIGINFO sigaction should look like. Call
207 __gnat_adjust_context_for_raise before actually raising.
208 (__gnat_adjust_context_for_raise): Default noop to help PC
209 adjustments before raise from signal handlers.
210 (__gnat_error_handler): Indirectly call a predicate function to
211 determine if a condition should be resignaled or not.
212 (__gnat_set_resignal_predicate): User interface to modify the predicate.
213 (__gnat_default_resignal_p): Default GNAT predicate.
214
215 2005-03-15 Doug Rupp <rupp@adacore.com>
216
217 * adaint.c: Prefix #include of VMS system header files with vms/
218 [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
219 Do not define a dummy function "convert_addresses" under Darwin,
220 not needed.
221
222 * tb-alvms.c, expect.c: Prefix #include of VMS system header files
223 with vms/
224
225 2005-03-15 Nicolas Setton <setton@adacore.com>
226
227 * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
228 PPC/AIX.
229
230 2005-03-15 Robert Dewar <dewar@adacore.com>
231
232 * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
233 AI-386.
234
235 * a-retide.ads: Minor comment changes
236
237 2005-03-15 Robert Dewar <dewar@adacore.com>
238
239 * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
240 a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
241 Realloc_For_Chunk to private part of package.
242 New subprograms for AI-301
243
244 * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
245 Get_Line procedure.
246 Avoid unnecessary use of Get/Set_Wide_String
247
248 2005-03-15 Robert Dewar <dewar@adacore.com>
249
250 PR ada/13470
251
252 * a-stunau.ads, a-stunau.adb:
253 Change interface to allow efficient (and correct) implementation
254 The previous changes to allow extra space in unbounded strings had
255 left this interface a bit broken.
256
257 * a-suteio.adb: Avoid unnecessary use of Get/Set_String
258
259 * g-spipat.ads, g-spipat.adb: New interface for Get_String
260 Minor reformatting (function specs)
261
262 * g-spitbo.adb: New interface for Get_String
263
264 * g-spitbo.ads: Minor reformatting
265
266 * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
267
268 * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
269
270 2005-03-15 Javier Miranda <miranda@adacore.com>
271 Robert Dewar <dewar@adacore.com>
272 Thomas Quinot <quinot@adacore.com>
273 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
274
275 * atree.ads, atree.adb: Add support for Elist24 field
276
277 * atree.h: Fix wrong definition of Field27
278 Add support for Elist16 field
279 Add support for Elist24 field
280
281 * einfo.ads, einfo.adb (Abstract_Interfaces,
282 Set_Abstract_Interfaces): New subprograms.
283 (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
284 subprograms.
285 (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
286 entities rather than a single node.
287 (Is_Interface, Set_Is_Interface): New subprogram
288 (First_Tag_Component): New syntesized attribute
289 (Next_Tag_Component): New synthesized attribute
290 (Write_Entity_Flags): Upgraded to write Is_Interface
291 (Write_Field24_Name): Upgraded to write Abstract_Interfaces
292 (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
293 (Task_Body_Procedure): New subprogram to read this attribute.
294 (Set_Task_Body_Procedure): New subprogram to set this attribute.
295 (Has_Controlled_Component): Now applies to all entities.
296 This is only a documentation change, since it always worked to apply
297 this to other than composite types (yielding false), but now this is
298 official.
299 Update documentation on Must_Be_Byte_Aligned for new spec
300
301 * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
302 exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
303 uses of the Access_Disp_Table attribute to reference the first dispatch
304 table associated with a tagged type. As
305 part of the implementation of abstract interface types,
306 Access_Disp_Table has been redefined to contain a list of dispatch
307 tables (rather than a single dispatch table).
308 Similarly, upgrade all the references to Tag_Component by the
309 new attribute First_Tag_Component.
310 (Find_Inherited_TSS): Moved to exp_tss.
311 Clean up test in Expand_N_Object_Declaration for cases
312 where we need to do a separate assignment of the initial value.
313 (Expand_N_Object_Declaration): If the expression in the
314 declaration of a tagged type is an aggregate, no need to generate an
315 additional tag assignment.
316 (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
317 is to be deleted.
318 Bit packed array ops are only called if operands are known to be
319 aligned.
320 (Component_Equality): When returning an N_Raise_Program_Error statement,
321 ensure that its Etype is set to Empty to avoid confusing GIGI (which
322 expects that only expressions have a bona fide type).
323 (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
324 determine the amount of data to be copied.
325
326 * par.adb (P_Interface_Type_Definition): New subprogram that parses the
327 new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
328 INTERFACE_TYPE_DEFINITION ::=
329 [limited | task | protected | synchronized] interface
330 [AND interface_list]
331
332 * par-ch3.adb (P_Type_Declaration): Modified to give support to
333 interfaces.
334 (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
335 interfaces.
336 (P_Interface_Type_Definition): New subprogram that parses the new
337 syntax rule of Ada 2005 interfaces
338 (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
339 messages by the correct RENAMES (quotes removed).
340
341 * sem_prag.adb: Upgrade all the references to Tag_Component by the new
342 attribute First_Tag_Component.
343
344 * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
345 (Interface_List, Set_Interface_List): New subprograms.
346 (Interface_Present, Set_Interface_Present): New subprograms.
347 (Limited_Present, Set_Limited_Present): Available also in derived
348 type definition nodes.
349 (Protected_Present, Set_Protected_Present): Available also in
350 record type definition and
351 derived type definition nodes.
352 (Synchronized_Present, Set_Synchronized_Present): New subprograms.
353 (Task_Present, Set_Task_Present): New subprogram.
354 (Task_Body_Procedure): Removed.
355 (Set_Task_Body_Procedure): Removed.
356 These subprogram have been removed because the attribute
357 Task_Body_Procedure has been moved to the corresponding task type
358 or task subtype entity to leave a field free to store the list
359 of interfaces implemented by a task (for AI-345)
360 Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
361 (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
362 expression flag Do_Range_Check
363 (Exception_Junk): Change to Flag7 to accomodate above change
364 (Box_Present, Default_Name, Specification, Set_Box_Present,
365 Set_Default_Name, Set_Specification): Expand the expression
366 "X in N_Formal_Subprogram_Declaration" into the corresponding
367 two comparisons. Required to use the csinfo tool.
368
369 * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
370 "with string" given.
371
372 * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
373 expression given.
374
375 * par-ch11.adb (P_Raise_Statement): Recognize with string expression
376 in 2005 mode
377
378 * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
379 attribute Task_Body_Procedure rather than the old semantic field that
380 was available in the task_type_declaration node.
381
382 * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
383 interface type definitions.
384 (P_Formal_Derived_Type_Definition): Modified to handle the list of
385 interfaces.
386
387 * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
388 task type declaration.
389 (P_Protected): Modified to handle the list of interfaces in a
390 protected type declaration.
391
392 2005-03-15 Doug Rupp <rupp@adacore.com>
393 Vincent Celier <celier@adacore.com>
394
395 * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
396 (Gen_Output_File_C): Likewise.
397 (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
398
399 2005-03-15 Thomas Quinot <quinot@adacore.com>
400
401 * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
402 is an N_Raise_Constraint_Error node, create a new copy of it without
403 going through a call to Duplicate_Subexpr.
404
405 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
406 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
407 Nicolas Setton <setton@adacore.com>
408 Ed Schonberg <schonberg@adacore.com>
409
410 PR ada/19900
411 PR ada/19408
412 PR ada/19140
413 PR ada/20255
414
415 * decl.c (gnat_to_gnu_field): Reject aliased components with a
416 representation clause that prescribes a size not equal to the rounded
417 size of their types.
418 (gnat_to_gnu_entity, case E_Component): Always look at
419 Original_Record_Component if Present and not the entity.
420 (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
421 of tagged extension types by not making field for components that are
422 inside the parent.
423 (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
424 (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
425 expression to the type of the object when the object is constant.
426 Reverse defer_debug_incomplete_list before traversing it, so that trees
427 are processed in the order at which they were added to the list. This
428 order is important when using the stabs debug format.
429 If we are deferring the output of debug information, also defer this
430 output for a function return type.
431 When adding fields to a record, prevent emitting debug information
432 for incomplete records, emit the information only when the record is
433 complete.
434 (components_to_record): New parameter defer_debug.
435 (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
436 (gnat_to_gnu_field_decl): New function.
437 (substitution_list, annotate_rep): Call it.
438 (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
439 (gnat_to_gnu_entity, case E_Record_Type): Likewise.
440 No longer update discriminants to not be a COMPONENT_REF.
441 (copy_alias_set): Strip padding from input type; also handle
442 unconstrained arrays properly.
443
444 * gigi.h (write_record_type_debug_info): New function.
445 Convert to use ANSI-style prototypes. Remove unused
446 declarations for emit_stack_check, elab_all_gnat and
447 set_second_error_entity.
448 (gnat_to_gnu_field_decl): New decl.
449
450 * utils.c (write_record_type_debug_info): New function.
451 (finish_record_type): Delegate generation of debug information to
452 write_record_type_debug_info.
453 (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
454 (update_pointer_to): Fix pasto.
455 (convert) <UNION_TYPE>: Accept slight type variations when
456 converting to an unchecked union type.
457
458 * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
459 replace the N_Freeze_Entity with a null statement.
460
461 * freeze.adb (Freeze_Expression): If the freeze nodes are generated
462 within a constrained subcomponent of an enclosing record, place the
463 freeze nodes in the scope stack entry for the enclosing record.
464 (Undelay_Type): New Subprogram.
465 (Set_Small_Size): Pass T, the type to modify; all callers changed.
466 (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
467 within records; allow them to have freeze nodes if their base types
468 aren't frozen yet.
469
470 * sem_ch3.adb (Derived_Type_Declaration): New predicate
471 Comes_From_Generic, to recognize accurately that the parent type in a
472 derived type declaration can be traced back to a formal type, because
473 it is one or is derived from one, or because its completion is derived
474 from one.
475 (Constrain_Component_Type): If component comes from source and has no
476 explicit constraint, no need to constrain in in a subtype of the
477 enclosing record.
478 (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
479 Minor change to propagate Is_Ada_2005 flag
480
481 * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
482 Expansion_Delayed is False.
483 (assoc_to_constructor): Ignore fields that have a
484 Corresponding_Discriminant.
485 (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
486 function returns "by target", dereference the target pointer using the
487 type of the actual return value.
488 <all>: Be prepared for a null gnu_result.
489 (processed_inline_subprograms): Check flag_really_no_inline
490 instead of flag_no_inline.
491 (set_second_error_entity): Remove unused function.
492 (gnat_to_gnu, case N_Selected_Component): Call
493 gnat_to_gnu_field_decl.
494 (assoc_to_constructor): Likewise.
495
496 2005-03-15 Robert Dewar <dewar@adacore.com>
497 Ed Schonberg <schonberg@adacore.com>
498 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
499
500 PR ada/19900
501
502 * exp_pakd.adb (Create_Packed_Array_Type): Do not set
503 Must_Be_Byte_Aligned for cases where we do not need to use a
504 System.Pack_nn unit.
505
506 * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
507 as procedures.
508 Needed now that we do some processing for IN parameters as well. This
509 may well fix some unrelated errors.
510 (Expand_Call): Handle case of unaligned objects (in particular those
511 that come from packed arrays).
512 (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
513 renamed entity is an inherited operation, re-expand the call using the
514 original operation, which is the one to call.
515 Detect attempt to inline parameterless recursive subprogram.
516 (Represented_As_Scalar): Fix to work properly with private types
517 (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
518 accurate estimate. Yields True in far fewer cases than before,
519 improving the quality of code that depends on this test.
520 (Remove_Side_Effects): Properly test for Expansion_Delayed and handle
521 case when it's inside an N_Qualified_Expression.
522
523 * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
524 over both visible and private declarations to remove them from tree,
525 and mark subprograms declared in package as eliminated, to prevent
526 spurious use in subsequent compilation of generic units in the context.
527
528 * exp_util.ads: Minor cleanup in variable names
529
530 * sem_eval.ads, sem_eval.adb: Minor reformatting
531 (Compile_Time_Known_Bounds): New function
532
533 2005-03-15 Ed Schonberg <schonberg@adacore.com>
534
535 * exp_ch7.adb (Convert_View): Use base types of underlying types when
536 determining whether an unchecked conversion is needed for the argument
537 of an initialization call.
538
539 2005-03-15 Ed Schonberg <schonberg@adacore.com>
540
541 * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
542 that appears in the instantiation rather than the internal subtype
543 generated in the wrapper package, to avoid anomalies in gigi when the
544 target is derived from a private type whose full view is an access type.
545
546 2005-03-15 Robert Dewar <dewar@adacore.com>
547
548 * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
549 not needed.
550 Add documentation to replace the use of this flag
551 Fix kludge for Maximum_Alignment on x86 so that it does not apply to
552 the x86_64.
553
554 2005-03-15 Thomas Quinot <quinot@adacore.com>
555
556 * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
557 here from exp_attr so it can be shared between exp_attr and exp_dist.
558 (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
559 all TSS names, not a subset thereof, and the previous name introduced
560 an unnecessarily confusion that a distinction might exist between
561 "OK" TSS names and some "not OK" TSS names.
562
563 2005-03-15 Doug Rupp <rupp@adacore.com>
564
565 * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
566 Command_Name.
567
568 2005-03-15 Pascal Obry <obry@adacore.com>
569 Eric Botcazou <ebotcazou@adacore.com>
570
571 PR ada/20226
572 PR ada/20344
573
574 * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
575 when IN_RTS. This is to work around a bootstrap path problem.
576
577 * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
578 table and pass it to __gnat_install_SEH_handler().
579 (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
580
581 * lang.opt: Fix specification of -fRTS=.
582
583 2005-03-15 Doug Rupp <rupp@adacore.com>
584 Bernard Banner <banner@adacore.com>
585 Vincent Celier <celier@adacore.com>
586 Arnaud Charlet <charlet@adacore.com>
587
588 PR ada/6852
589 This change works fine when gnatlib is built from the gcc directory,
590 but does not work when using the libada Makefile, since GCC_FOR_TARGET
591 is not passed to ada/Makefile.in, so more work is needed by a
592 Makefile/configure expert.
593
594 * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
595 set GMEM_LIB on ia64 linux to add optional support for gnatmem.
596 Setup gnatlink switch -M for x86_64 linux, as it is already setup
597 for Linux x86.
598 (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
599 Run ranlib on libgccprefix.a
600 Define PREFIX_OBJS for Darwin, to build libgccprefix.
601 (ADA_INCLUDE_SRCS): Split Ada packages.
602
603 2005-03-15 Robert Dewar <dewar@adacore.com>
604
605 * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
606
607 * impunit.adb: Add GNAT.UTF_32
608
609 * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
610
611 * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
612 now uses GNAT.UTF_32).
613
614 * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
615 capabilities for categorizing characters using Unicode categories
616
617 2005-03-15 Ed Schonberg <schonberg@adacore.com>
618
619 * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
620 instantiation that has been rewritten as a package body, retrieve spec
621 to generate proper name for implicit_with_clause.
622 (Install_Parents): Recognize a parent that is an instantiation but has
623 been rewritten as a package declaration during analysis.
624
625 2005-03-15 Javier Miranda <miranda@adacore.com>
626 Ed Schonberg <schonberg@adacore.com>
627
628 * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
629 parameter reported some error we immediately return. This improves the
630 behaviour of the frontend in case of errors.
631 (Install_Parent, Remove_Parent): Introduce new flag
632 Parent_Unit_Visible, to preserve the proper visibility of the ultimate
633 ancestor of a generic child unit, when the child is being instantiated.
634 (Inline_Instance_Body): If we are compiling the private
635 part or the body of a child unit, restore the proper visibility of the
636 parents after compiling the instance body.
637
638 2005-03-15 Ed Schonberg <schonberg@adacore.com>
639 Javier Miranda <miranda@adacore.com>
640
641 PR ada/15608
642 * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
643 of a private type, in which case it is underlying_type that denotes
644 the proper task. Also modified to use the new entity attribute
645 that is directly available in the task type and task subtype entities
646 (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
647 arrays when other dimensions than the first are constrained by
648 discriminants of an enclosing record.
649 (Insert_Explicit_Dereference): If the prefix is an indexed component or
650 a combination of indexed and selected components, find ultimate entity
651 and generate the appropriate reference for it, to suppress spurious
652 warnings.
653 (Note_Possible_Modification): If an entity name has no entity, return.
654 (Is_Variable): A function call never denotes a variable.
655 (Requires_Transient_Scope): For record types, recurse only on
656 components, not on internal subtypes that may have been generated for
657 constrained components.
658
659 2005-03-15 Ed Schonberg <schonberg@adacore.com>
660
661 * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
662 Eliminated as candidates for resolution. Both efficient, and avoids
663 anomalies with operators declared in deleted code.
664 (Process_Implicit_Dereference_Prefix): Use this procedure whenever
665 expansion is disabled (as when compiling a generic) to prevent spurious
666 warnings on prefixes of selected components.
667
668 2005-03-15 Ed Schonberg <schonberg@adacore.com>
669
670 * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
671 attached to a list before checking whether it appears in the private
672 declarations of the current package.
673 (Make_Inequality_Operator): Insert declaration in proper declarative
674 list rather than just setting the Parent field, so that
675 Is_Private_Declaration can handle it properly.
676
677 2005-03-15 Ed Schonberg <schonberg@adacore.com>
678
679 * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
680 a renaming a body, check that the renamed subprogram in not intrinsic.
681 (Find_Direct_Name): If several use_visible entities hide
682 each other, and the context is a predefined file compiled through
683 rtsfind, keep only the entity that comes from a predefined file.
684
685 2005-03-15 Geert Bosch <bosch@adacore.com>
686
687 * s-fatgen.adb (Valid): Extend special exceptions to account for long
688 long float padding to also cover AMD64 and IA64.
689
690 2005-03-15 Gary Dismukes <dismukes@adacore.com>
691
692 * s-imgwch.adb: Add with and use of Interfaces.
693 (Img_Wide_Character): Change type of Val to Unsigned_16.
694 (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
695
696 2005-03-15 Matthew Gingell <gingell@adacore.com>
697
698 * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
699
700 2005-03-15 Robert Dewar <dewar@adacore.com>
701
702 * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
703
704 * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
705
706 * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
707
708 2005-03-15 Robert Dewar <dewar@adacore.com>
709
710 * s-bitops.adb, s-bitops.ads,
711 s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
712 s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
713 tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
714 s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
715 s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
716 s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
717 s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
718 s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
719 reformatting.
720
721 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
722
723 * utils2.c (build_binary_op): Fix typo.
724
725 2005-03-15 Doug Rupp <rupp@adacore.com>
726
727 * s-crtl.ads (popen,pclose): New imports.
728
729 2005-03-15 Cyrille Comar <comar@adacore.com>
730
731 * comperr.adb (Compiler_Abort): remove references to obsolete
732 procedures in the bug boxes for various GNAT builds.
733
734 2005-03-15 Vincent Celier <celier@adacore.com>
735
736 * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
737
738 2005-03-15 Geert Bosch <bosch@adacore.com>
739 Arnaud Charlet <charlet@adacore.com>
740 Robert Dewar <dewar@adacore.com>
741 Cyrille Comar <comar@adacore.com>
742 Sergey Rybin <rybin@adacore.com>
743
744 * gnat_ugn.texi: Remove extended inline assembly example, as it was far
745 too specific and long-winded to be appropriate for the GNAT User's
746 Guide.
747 Warn about use of GCC switches not documented in the GNAT User's Guide,
748 as these may cause generated code to not conform to Ada semantics.
749 Remove mention of -gdwarf-2 for sparc64, since this is now the default.
750 Add documentation for -gnat95 and -gnat05 switches
751 Remove paragraph documenting obsolete way to refer to third party
752 libraries.
753 Add a few references to Ada_05 that were missing.
754 Update documentation on -gnatZ/-gnatL.
755 Document limitation when using -m64 under Solaris.
756 Change the "Name Casing" subsection of the pretty-printer section
757 according to the changes in the dictionary processing.
758
759 * gnat_rm.texi: Document the Ada_05 pragma.
760 Section on record representation clauses describes the new more
761 relaxed rules about placement of large packed bit array components.
762 Add documentation of GNAT.UTF_32
763
764 2005-03-12 Daniel Berlin <dberlin@dberlin.org>
765
766 * misc.c (gnat_post_options): Turn off structural
767 aliasing for now.
768
769 2005-03-08 Laurent Guerby <laurent@guerby.net>
770
771 * system-linux-sparc.ads: Fix typo in previous commit.
772
773 2005-03-07 James A. Morrison <phython@gcc.gnu.org>
774 Laurent Guerby <laurent@guerby.net>
775
776 PR ada/20035
777 * system-linux-sparc.ads: New.
778 * Makefile.in: Add sparc linux entry.
779
780 2005-02-27 Danny Smith <dannysmith@users.sourceforge.net>
781
782 * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
783 parameters as unused.
784
785 2005-02-26 Nathanael Nerode <neroden@gcc.gnu.org>
786 Partial merge from libada-gnattools-branch:
787
788 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
789 * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
790 into code in gnattools/Makefile.in. Remove direct dependencies on
791 stamp-tools by tools clauses.
792 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
793 * config-lang.in: Add gnattools to $lang_dirs.
794
795 2005-02-13 Andrew Pinski <pinskia@physics.uc.edu>
796
797 PR ada/19942
798 * utils.c (gnat_type_for_mode): Return null instead of ICE because we asked
799 for an unknown mode.
800
801 2005-02-12 Richard Henderson <rth@redhat.com>
802
803 * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
804 validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
805
806 2005-02-10 Andreas Jaeger <aj@suse.de>
807
808 * init.c (__gnat_initialize): Mark parameter as unused.
809
810 2005-02-09 Doug Rupp <rupp@adacore.com>
811
812 * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
813 * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
814
815 2005-02-09 Doug Rupp <rupp@adacore.com>
816
817 * gnatchop.adb (dup, dup2),
818 g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
819
820 * gnatlbr.adb (mkdir),
821 mlib-tgt-vms-ia64.adb (popen, plose): Import with decc$ prefix.
822
823 * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
824
825 2005-02-09 Doug Rupp <rupp@adacore.com>
826
827 * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
828
829 2005-02-09 Robert Dewar <dewar@adacore.com>
830 Thomas Quinot <quinot@adacore.com>
831 Javier Miranda <miranda@adacore.com>
832 Pascal Obry <obry@adacore.com>
833 Ed Schonberg <schonberg@adacore.com>
834 Doug Rupp <rupp@adacore.com>
835 Gary Dismukes <dismukes@adacore.com>
836 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
837
838 * g-zstspl.ads: New file.
839
840 * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
841
842 * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
843 Ada 95 mode
844 Add definition of Wide_Wide_Space for AI-285
845
846 * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
847 interface (to support Ada 95 and Ada 2005 units).
848 Add Unbounded_IO files
849 Add entries for Wide_Wide packages for AI-285
850 Add list of containers packages to Ada 2005 unit list
851
852 * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
853 support new Unbounded_IO package cleanly.
854
855 * g-utf_32.ads, g-utf_32.adb: New files.
856
857 * Makefile.rtl: Add entry for g-utf_32
858 Add new files for Unbounded_IO
859 Adjust make file for new AI-285 wide wide packages
860 Add AI-302 containers to the run time.
861
862 * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
863 a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
864 subprograms for AI-301.
865
866 * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
867
868 * a-stunau.ads: Minor comment correction
869
870 * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
871 etc.
872 Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
873 (Check_RPC): Update to match changes in expanded code.
874 Clean up unused entity.
875
876 * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
877 was not taken into account.
878 This includes proper initialization with Normalize_Scalars.
879 (Get_Simple_Init_Val): Major rewrite for initialize scalars and
880 normalize scalars cases (particularly the latter) to do a better job
881 of finding invalid representations.
882
883 * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
884
885 * s-strops.ads, s-strops.adb: Remove string normalize routines, never
886 used
887
888 * exp_dist.adb: Add support for wide wide character type
889 (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
890 private part, generate stub bodies at the end of the private part,
891 not the visible part.
892 (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
893 PolyORB support.
894 (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
895 generic wrapper to execute final processing after completing the
896 expansion of the RPC receiver for an RACW.
897
898 * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
899 packages and attributes.
900 (Preset_Names): Addition of the new reserved words of Ada 2005,
901 that is interface, overriding and synchronized.
902 (Get_Pragma_Id): Give support to the use of the new reserved word
903 "interface" as a pragma name.
904 (Is_Pragma_Name): Give support to the use of the new reserved word
905 "interface" as a pragma name.
906 (Preset_Names): Add stream_size string for the Stream_Size Ada2005
907 attribute implementation.
908
909 * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
910 checks to entities that are output parameters of Asm operations.
911 Handle the Stream_Size attribute.
912 Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
913
914 * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
915
916 * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
917 for second parameter being 0.0.
918 Add support for wide wide character type.
919 (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
920
921 * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
922 s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
923 s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
924 s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
925 for wide wide character cases.
926
927 * cstand.adb: Create entities for Wide_Wide_Character and
928 Wide_Wide_String.
929
930 * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
931 accordance with AI-258.
932 Add new declarations for 16/32 bit C character types (Part of AI285)
933
934 * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
935 (Obsolescent_Warning): New field
936 (Rep_Clause): New local subprogram used to share code. Returns the rep
937 clause for which the name is given in parameter.
938 (Has_Stream_Size_Clause): New routine.
939 (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
940 (Address_Clause): Implementation is now using Rep_Clause.
941 (Alignment_Clause): Idem.
942 (Size_Clause): Idem.
943
944 * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
945 entity in non-Ada 2005 mode and generate warning.
946
947 * par-prag.adb: Add handling of one argument form for pragma Ada_05.
948 (Prag): Code cleanup. Remove old gnat pragma "overriding"
949
950 * sem_prag.adb: Add handling of one argument form for pragma Ada_05
951 (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
952 on the named unit if the pragma is not in the current compilation unit,
953 so that elaboration calls in the current unit can set up an elaboration
954 dependency on the named unit, as needed.
955 (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
956 subprogram as well as for subprograms declared within a package.
957 (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
958 pragma overriding.
959
960 * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
961 to z) to avoid some instances of duplication for Wide_Wide packages.
962
963 * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
964 characters.
965
966 * scn.adb: Char_Literal_Value field is now a Uint
967
968 * scng.adb: Significant rewrite to handle new Ada 2005 features
969 allowing wide and wide wide characters in program text, e.g. for
970 identifiers, as described in AI-285.
971 (Set_Reserved): New procedure, makes setting up keywords cleaner.
972 (Initialize_Scanner): Register the new reserved words of Ada 2005.
973 (Scan): Give support to the new reserved words.
974
975 * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
976 warning notifying that interface, overriding, and synchronized are
977 new reserved words.
978 (P_Pragma): Allow the use of the new reserved word "interface" as
979 a pragma name.
980
981 * gnatls.adb, gnatbind.adb,
982 ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
983 identifiers named "interface" to "SAL_Interface".
984
985 * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
986 (Structured Exception handling).
987 (Gen_Main_C): Idem.
988
989 * bindgen.adb:
990 (Gen_Main_Ada): Set the default exit code if specified.
991 (Gen_Main_C): Likewise.
992 Part of *DC20-006.
993 (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
994 Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
995
996 * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
997 new -Xnnn switch.
998
999 * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
1000 has a collision with the new Ada 2005 "interface" reserved word.
1001
1002 * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
1003 generate a warning notifying that interface, overriding, and
1004 synchronized are new reserved words.
1005
1006 * scans.ads (Token_Type): Addition of the tokens corresponding to the
1007 new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
1008 and Tok_Synchronized.
1009
1010 * sem_res.adb (Resolve_Actuals): Change error messages to refer to
1011 "dispatching" rather than "primitive" operations, since dispatching
1012 calls are now allowed to abstract formal subprograms (which are not
1013 primitive).
1014 Char_Literal_Value field is now a Uint
1015 (Resolve_Slice): If the prefix is an access to an unconstrained array,
1016 compute the actual subtype of the designated object to impose the proper
1017 index constraints.
1018 (Resolve_Selected_Component): Do not insert an access check if the
1019 prefix is an access type: such a node is expanded into an explicit
1020 dereference, on which the access check is performed anyway. Removes
1021 expensive duplicate checks.
1022 (Resolve_Call): Use new flag Is_Obsolescent and field
1023 Obsolescent_Warning so that pragma Obsolescent works on library
1024 subprograms.
1025 Add support for wide wide character type
1026 (Resolve_Allocator): Replace the error message on wrong null-exclusion
1027 value by a warning message.
1028 (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
1029 as fixed-point, and one of the operands is non-static and universal, it
1030 can only be an illegal exponentiation operation, in which case there is
1031 no real value to retrieve.
1032
1033 * exp_strm.adb: Add support for wide wide character type
1034 (Build_Elementary_Input_Call): Compute the size of the stream element by
1035 querying the rep chain to find the Stream_Attribute attribute value.
1036 (Build_Elementary_Write_Call): Ditto.
1037
1038 * sem_aggr.adb: Char_Literal_Value field is now a Uint
1039 Add support for wide wide character type
1040 Replace the error messages on wrong null-exclusion value by warnings
1041 as described in Ada 2005.
1042 (Resolve_Extension_Aggregate): Document the fact that the error
1043 message on class-wide expressions in extensions aggregates.
1044
1045 * sem_case.adb: Add support for wide wide character type
1046
1047 * sem_ch13.adb: Add support for wide wide character type
1048 (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
1049
1050 * sem_ch3.adb: Add support for wide wide character type
1051 (Process_Subtype): If constraint is illegal for the type, set Ekind of
1052 now-useless Itype, to prevent cascaded errors on a compiler built
1053 without -gnatp.
1054
1055 * sem_ch8.adb: Add with and use of Sem_Disp.
1056 (Analyze_Subprogram_Renaming): Replace unclean uses of
1057 Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
1058 of Corresponding_Spec to Empty).
1059 (Attribute_Renaming): Replace use of Corresponding_Spec with
1060 Corresponding_ Formal_Spec and simplify condition.
1061 (Use_One_Package): Check that scope of homonym of identifier is defined,
1062 before checking whether it is a wrapper package.
1063 Add support for wide wide character type
1064
1065 * sem_eval.adb: Add support for wide wide character type.
1066 (Eval_Arithmetic_Op): Check for compile time known signed integer
1067 overflow in the non-static case.
1068 (Subtypes_Statically_Match): A formal scalar type and its base type do
1069 not statically match.
1070
1071 * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
1072 "not in" for test of N_Formal_Subprogram_Declaration (which is now a
1073 subtype).
1074 (Unit_Declaration_Node): Ditto.
1075 (Is_Variable_Prefix): For the case of an indexed component whose prefix
1076 has a packed array type, the prefix has been rewritten into a type
1077 conversion. Determine variable-ness from the converted expression.
1078 Handle wide wide character cases.
1079
1080 * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
1081
1082 * stringt.ads, stringt.adb: Handle full UTF-32 range.
1083 Remove ["0A"] from comment, since it can look like a line terminator.
1084 Currently we don't permit this, but this is under discussion by the
1085 ARG, and it is easy enough to use a different example.
1086
1087 * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
1088 handling UTF-32 encoding for wide wide character.
1089 Implement new brackets coding ["hhhhhhhh"]
1090 Add UTF-8 encodings for full UTF-32 range
1091
1092 * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
1093
1094 * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
1095 bit range Add full UTF-32 support.
1096 (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
1097 notify that constraint error will be raised at run-time
1098 because a null value is assigned to a null-excluding object.
1099 Remove some obsolete declarations and make Char_Code
1100 unsigned.
1101
1102 * a-except.adb (Rcheck_30): New subprogram. Addition of the message
1103 corresponding to CE_Null_Not_Allowed, and adjust the output of all the
1104 Rcheck subprograms.
1105
1106 * checks.adb (Check_Null_Not_Allowed): Replace the error message on
1107 wrong null-exclusion value by a warning message.
1108 (Enable_Range_Check): Do range check if the prefix is an
1109 explicit dereference whose designated object is an unconstrained array.
1110 Current algorithm for removing duplicate checks is over-eager in this
1111 case.
1112
1113 * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
1114 null-exclusion value by a warning message
1115
1116 * atree.h, atree.ads, atree.adb: Remove Char_Code field support
1117 completely. Add support for Uint2 field
1118
1119 sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
1120 exp_prag.adb: Char_Literal_Value field is now a Uint.
1121
1122 * exp_util.adb (Insert_Actions): Replace
1123 N_Formal_Subprogram_Declaration by
1124 N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
1125 Char_Literal_Value field is now a Uint.
1126
1127 * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
1128 defined for subprogram renaming declarations. When set, the field
1129 indicates the defining entity of a corresponding formal subprogram
1130 when the renaming corresponds to a formal subprogram association in an
1131 instantiation.
1132 (Set_Corresponding_Formal_Spec): New procedure to return
1133 Corresponding_Formal_Spec field.
1134 Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
1135 (which is now a subtype).
1136 Char_Literal_Value field is now a Uint
1137
1138 * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
1139 pointer to the base of the dispatch table.
1140 Minor changes to comments.
1141 (Controlling_Type): New function for determining the tagged type
1142 associated with a tagged primitive subprogram.
1143 (Expand_Dispatching_Call): Add support for a controlling actual that is
1144 directly a value of type Ada.Tag rather than a tagged object.
1145
1146 * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
1147 describing the new layout.
1148 (Dispatch_Table): The expander computes the actual array size, allocates
1149 the Dispatch_Table record accordingly, and generates code that displaces
1150 the base of the record after the Typeinfo_Ptr component. The access to
1151 these components is done by means of local functions.
1152 (Offset_To_Top): New function.
1153 (Typeinfo_Ptr): New function.
1154 (Get_TSD): Modified to access the new position of the TSD.
1155 (Set_TSD): Modified to save the TSD in its new position.
1156
1157 * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
1158 case of formal abstract subprograms. Add check and message for -gnat05.
1159 Update comments.
1160
1161 * sem_ch12.adb: Add with and use for Sem_Disp.
1162 (Analyze_Associations): Minor change from "=" to "in" for use of
1163 N_Formal_Subtype_Declaration (which is now a subtype).
1164 (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
1165 N_Formal_Subtype_Declaration (which is now a subtype).
1166 (Analyze_Formal_Subprogram): Add handling for
1167 N_Formal_Abstract_Subprogram, marking the formal as abstract and
1168 dispatching, setting the controlling status of the formal parameters
1169 and result, and issuing an error if there is no controlling type for
1170 the formal subprogram.
1171 (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
1172 which is an unclean use of that field, we set the new field
1173 Corresponding_Formal_Spec to make the formal subprogram available to
1174 processing in Analyze_Subprogram_Declaration.
1175 (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
1176 Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
1177 Constrained, so that it is is does not statically match its anonymous
1178 base type.
1179
1180 * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
1181 abstract formal subprograms in error check for functions returning
1182 abstract types. Set scope of new designator for
1183 a parameterless subprogram, so that it is available when checking the
1184 body for nested subprograms, before full analysis of said body.
1185 (Analyze_Subprogram_Body): Warn on inlining bodies with nested
1186 subprogram only if inner one comes from source.
1187 (Analyze_Function_Call): If the call is given in object notation, the
1188 analysis of the name rewrites the node and analyzes it with the proper
1189 argument list. After analyzing the name, if the call has been rewritten
1190 and the result type is set, no further analysis is needed.
1191 (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
1192 mark in function specification, in a context where the formals are
1193 visible and hide outer homographs.
1194
1195 * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
1196 as the tagged type for the cases of abstract formal subprograms and
1197 renamings of those. Clean up spec comments.
1198 (Check_Dispatching_Context): Add error message to indicate "abstract
1199 procedure", covering the case of a call to a formal abstract procedure
1200 that has statically tagged operands.
1201 (Check_Dispatching_Call): Check for the case of an actual given by
1202 a tag-indeterminate function call whose type is an ancestor of the
1203 containing call's associated tagged type. This situation can occur
1204 for inherited primitives with function defaults. In this case we
1205 use the tagged type's tag directly as the controlling argument for
1206 the calls.
1207 (Expand_Call): Name change on call to Expand_Dispatch_Call.
1208
1209 * sprint.adb (Sprint_Node_Actual): Split
1210 N_Formal_Subprogram_Declaration into two alternatives for the new
1211 cases N_Formal_Abstract_Subprogram_Declaration and
1212 N_Formal_Concrete_Subprogram_Declaration.
1213 Char_Literal_Value field is now a Uint.
1214
1215 * trans.c: Get rid of junk Uint2 reference.
1216 Char_Literal_Value field is now a Uint.
1217 (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
1218 (gigi): Correct third arg to gimplify_body.
1219
1220 * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
1221 (TYPE_LANG_FLAG_0): Check for record or union.
1222
1223 * treepr.adb: Char_Literal_Value field is now a Uint
1224
1225 * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
1226 UI_From_CC.
1227
1228 * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
1229 Add full UTF-32 support
1230 Char_Code is now 32 bits
1231
1232 * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
1233 wide character UTF_32 line terminators.
1234 Initialize Main_Source_File to avoid error when no main
1235 source is loaded.
1236
1237 * errout.adb (Finalize): Do not check Num_SRef_Pragmas
1238 (Main_Source_File) when no main source has been loaded, to avoid
1239 potential crash.
1240
1241 2005-02-09 Robert Dewar <dewar@adacore.com>
1242
1243 * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
1244 Fix name of Set routine
1245
1246 * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
1247 fixed packages.
1248
1249 * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
1250 a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
1251 fixed packages
1252
1253 * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
1254 forms of Get_Line subprograms for AI-301.
1255
1256 * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
1257 a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
1258 a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
1259 a-stwima.ads: Minor reformatting.
1260
1261 2005-02-09 Doug Rupp <rupp@adacore.com>
1262 Thomas Quinot <quinot@adacore.com>
1263
1264 * adaint.c, adaint.h
1265 [VMS] (to_ptr32): New function.
1266 (MAYBE_TO_PTR32): New macro.
1267 (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
1268 for pointer size.
1269 [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
1270 [VMS] (#define fork()): Remove since unneccessary.
1271 (__gnat_set_close_on_exec): New routine to support
1272 GNAT.OS_Lib.Set_Close_On_Exec.
1273
1274 * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
1275 the parent side as close-on-exec so that they are not inherited by the
1276 child.
1277
1278 * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
1279 set or clear the FD_CLOEXEC flag on a file descriptor.
1280
1281 2005-02-09 Eric Botcazou <ebotcazou@adacore.com>
1282 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1283
1284 Fix for c330001 - PR ada/19386
1285
1286 * decl.c:
1287 (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
1288 on the field if Pragma Component_Alignment (Storage_Unit).
1289 (gnat_to_gnu_entity, case object): Do not treat a renaming that has
1290 side-effects as if it were a constant; also make SAVE_EXPR to protect
1291 side-effects.
1292 (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
1293 UNION_TYPE.
1294 (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
1295 (components_to_record): Test it.
1296 Fix improper usage of REFERENCE_CLASS_P.
1297
1298 * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
1299 RECORD_TYPE.
1300
1301 * utils2.c: Minor reformatting.
1302
1303 * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
1304 handle other cases like RECORD_TYPE.
1305
1306 * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
1307
1308 2005-02-09 Ed Schonberg <schonberg@adacore.com>
1309
1310 * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
1311 component of an array of arrays in an assignment context, and the
1312 aggregate has component associations that require sliding on
1313 assignment, force reanalysis of the aggregate to generate a temporary
1314 before the assignment.
1315 (Must_Slide): Make global to the package, for use in Gen_Assign.
1316
1317 2005-02-09 Ed Schonberg <schonberg@adacore.com>
1318
1319 * exp_ch4.adb (Expand_Composite_Equality): If a component is an
1320 unchecked union with no inferable discriminants, return a
1321 Raise_Program_Error node, rather than inserting it at the point the
1322 type is frozen.
1323 (Expand_Record_Equality, Component_Equality): Handle properly the case
1324 where some subcomponent is an unchecked union whose generated equality
1325 code raises program error.
1326
1327 2005-02-09 Doug Rupp <rupp@adacore.com>
1328
1329 * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
1330 [VMS] (#define exit hack): Remove.
1331
1332 2005-02-09 Pascal Obry <obry@adacore.com>
1333 Arnaud Charlet <charlet@adacore.com>
1334
1335 * init.c (__gnat_initialize): Add a new parameter eh which contains the
1336 address of the exception registration. The Win32 version of this
1337 routine calls __gnat_install_SEH_handler() to initialize the SEH
1338 (Structured Exception Handling) handler.
1339 (__gnat_error_handler) [Win32]: Removed. Not needed as we use
1340 SEH (Structured Exception Handling) now.
1341 (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
1342 (__gnat_initialize for ppc-vxworks): Adjust comments and the
1343 preprocessor condition protecting the call to the extra eh setup
1344 subprogram, which is only available for the ppc target.
1345 (__gnat_clear_exception_count): replaced reference to
1346 variable taskIdCurrent by call to taskIdSelf(), cleaner.
1347
1348 * seh_init.c: New file.
1349
1350 * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
1351 (GNATBIND_OBJS): Idem.
1352
1353 * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
1354 routine takes a new parameter (a pointer to the exception registration
1355 for the SEH (Structured Exception Handling) support.
1356
1357 * raise.h: (__gnat_install_SEH_handler): New prototype.
1358 Update copyright notice.
1359
1360 * s-tassta.adb (Task_Wrapper): Declare the exception registration
1361 record and initialize it by calling __gnat_install_SEH_handler.
1362
1363 2005-02-09 Vincent Celier <celier@adacore.com>
1364
1365 * make.adb (Gnatmake): Do not fail when the main project has no object
1366 directory.
1367
1368 2005-02-09 Doug Rupp <rupp@adacore.com>
1369
1370 * Makefile.in [VMS] (LN,LN_S): Define as cp -p
1371 Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
1372 [VMS]: Add translations for g-enblsp.adb.
1373
1374 * s-asthan-vms.adb: Removed.
1375 * s-asthan-vms-alpha.adb: Added.
1376
1377 2005-02-09 Pascal Obry <obry@adacore.com>
1378
1379 * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
1380 (LIBGNAT_OBJS): Add seh_init.o.
1381
1382 2005-02-09 Arnaud Charlet <charlet@adacore.com>
1383
1384 PR ada/16592
1385
1386 * Makefile.in: Link all gnat tools with -static-libgcc, since
1387 -shared-libgcc is now used by default on some systems (e.g. linux with
1388 recent binutils).
1389 Remove references to Makefile.prolog/generic, no longer used.
1390
1391 2005-02-09 Vincent Celier <celier@adacore.com>
1392
1393 * prj-makr.adb (Process_Directory): Put file name in canonical case
1394 before matching against the patterns.
1395 If gnatname has been invoked as <prefix>-gnatname
1396 then invoke the compiler as <prefix>-gcc, not just "gcc".
1397
1398 2005-02-09 Ed Schonberg <schonberg@adacore.com>
1399
1400 * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
1401 with expansion disabled. The actual subtype is needed among other
1402 places when the selected component appears in the context of a loop
1403 bound, and denotes a packed array.
1404 (Operator_Check): Always use the first subtype in the
1405 error message, to avoid the appearance of internal base types.
1406 (Transform_Object_Operation): Copy each actual in full
1407 to the parameter associations of the constructed call, rather than
1408 using the shallow copy mechanism of New_Copy_List. This ensures that
1409 the chaining of named associations is done properly.
1410 (Complete_Object_Operation): Rewrite node, rather than
1411 replacing it, so that we can trace back to the original selected
1412 component.
1413
1414 * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
1415 and calls that use object notation, if the called function is not
1416 declared in a withed unit, place the elaboration constraint on the
1417 unit in the context that makes the function accessible.
1418 (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
1419 imposes an elaboration constraint between two packages.
1420
1421 2005-02-09 Ed Schonberg <schonberg@adacore.com>
1422
1423 * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
1424 views of a private type after handling its private dependents, to
1425 maintain proper stack discipline between entry and exit from the
1426 package.
1427
1428 2005-02-09 Cyrille Comar <comar@adacore.com>
1429
1430 * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
1431 Minor reformatting.
1432
1433 2005-02-09 Arnaud Charlet <charlet@adacore.com>
1434
1435 * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
1436 fields for foreign threads.
1437
1438 2005-02-09 Doug Rupp <rupp@adacore.com>
1439
1440 * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
1441 recursion warnings when compiled with -gnatdm.
1442
1443 2005-02-09 Robert Dewar <dewar@adacore.com>
1444
1445 * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
1446 Slight fix to documentation of -gnaty with no parameters
1447
1448 * xr_tabls.ads: Add ??? comment for missing overall comment
1449
1450 * xsinfo.adb: Make default file name be sinfo.h, since this is what
1451 we now use by default.
1452
1453 * xsnames.adb: Adjust end of file test to look for five space followed
1454 by '#' instead of six spaces. The format of xsnames.adb was modified
1455 in the last update.
1456
1457 * a-numeri.ads: Add reference to AI-388 for greek letter pi
1458 identifier.
1459
1460 * clean.adb: Minor reformatting.
1461
1462 * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
1463 gnatname.adb: Minor reformatting
1464 Add 2005 to copyright output when utility is run
1465
1466 * csets.adb: Eliminate obsolete comment
1467
1468 * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
1469 Update comments.
1470
1471 * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
1472
1473 2005-02-09 Sergey Rybin <rybin@adacore.com>
1474
1475 * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
1476 the difference between compact and incompact layout and add the record
1477 representation clause to the example illustrating different layouts.
1478 Add the description of '-A5' gnatpp option ("align 'AT' keywords in
1479 component clauses").
1480
1481 2005-02-09 Florian Villoing <villoing@adacore.com>
1482
1483 * gnat_ugn.texi: Fix typos.
1484 Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
1485 @file.
1486 Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
1487 in the generated documentation.
1488
1489 2005-02-09 Arnaud Charlet <charlet@adacore.com>
1490
1491 * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
1492 longer supported.
1493 Update linker wrapper when linking with non GNU C++.
1494
1495 2005-02-09 Pascal Obry <obry@adacore.com>
1496
1497 * gnat_ugn.texi:
1498 Document the procedure to debug the DllMain routine on Windows.
1499 Add note about -funwind-tables and mixed Ada and C/C++ programming in
1500 ZCX mode.
1501 Document new BIND qualifer /RETURN_CODES=VMS.
1502
1503 2005-02-09 Ben Brosgol <brosgol@adacore.com>
1504
1505 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
1506 Edited gnatmetric chapter
1507
1508 2005-02-09 Robert Dewar <dewar@adacore.com>
1509
1510 * gnat_rm.texi:
1511 Changes to document new wide wide character support
1512 For AI-285
1513 Update documentation on Normalize_Scalars and Initialize_Scalars
1514
1515 2005-02-09 Pascal Obry <obry@adacore.com>
1516
1517 * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
1518
1519 2005-02-09 Jose Ruiz <ruiz@adacore.com>
1520
1521 * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
1522 from the VxWorks kernel) that is needed for getting the active
1523 priority of the different tasks.
1524
1525 * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
1526 Use a pragma Elaborate_Body in the spec file instead.
1527 Noticed by code reading.
1528
1529 2005-02-09 Thomas Quinot <quinot@adacore.com>
1530
1531 * exp_util.ads: Minor correction in comment.
1532
1533 2005-02-09 Arnaud Charlet <charlet@adacore.com>
1534
1535 * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
1536 since this procedure is now too complex to be worth inlining.
1537
1538 2005-02-09 Richard Henderson <rth@redhat.com>
1539
1540 * utils.c (gnat_define_builtin): Remove.
1541 (gnat_install_builtins): Use build_common_builtin_nodes.
1542
1543 2005-02-09 Arnaud Charlet <charlet@adacore.com>
1544
1545 * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
1546 a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
1547 a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
1548 a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
1549 a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
1550 a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
1551 a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
1552 a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
1553 a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
1554 a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
1555 a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
1556 a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
1557 a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
1558 a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
1559 a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
1560 a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
1561 a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
1562 a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
1563 a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
1564 a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
1565 a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
1566 a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
1567 a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
1568 a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
1569 a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
1570 a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
1571 a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
1572 a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
1573 a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
1574 a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
1575 a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
1576 a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
1577 a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
1578 a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
1579 library.
1580
1581 2005-01-27 Laurent GUERBY <laurent@guerby.net>
1582
1583 * Makefile.in: Fix a-intnam.ads from previous commit,
1584 add 2005 to copyright.
1585 * a-intman-rtems.ads: Renamed to...
1586 * a-intnam-rtems.ads:
1587
1588 2005-01-27 Laurent GUERBY <laurent@guerby.net>
1589
1590 * Makefile.in: Rename GNAT RTEMS specific files.
1591 * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
1592 5rosinte.ads, 5rparame.adb: Replaced by files below.
1593 * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
1594 s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
1595
1596 2005-01-27 Joel Sherrill <joel.sherrill@oarcorp.com>
1597 Laurent GUERBY <laurent@guerby.net>
1598
1599 PR ada/19488
1600 * 5rosinte.ads: Add No_Key constant.
1601 * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
1602 * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
1603
1604 2005-01-26 Laurent GUERBY <laurent@guerby.net>
1605
1606 PR ada/19414
1607 * i-cobol.adb (Valid_Numeric): Handle zero length case.
1608
1609 2005-01-20 Richard Henderson <rth@redhat.com>
1610
1611 * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
1612 a-intnam-linux.ads and system-linux-alpha.ads.
1613 * a-intnam-linux-alpha.ads: Remove file.
1614 * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
1615 * system-linux-alpha.ads: New file.
1616
1617 2005-01-18 Jakub Jelinek <jakub@redhat.com>
1618
1619 PR ada/13470
1620 * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
1621 set to the new string.
1622
1623 2005-01-18 Toon Moene <toon@moene.indiv.nluug.nl>
1624
1625 * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
1626 to True.
1627
1628 2005-01-18 Richard Henderson <rth@redhat.com>
1629
1630 * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
1631 THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
1632 for alpha-linux.
1633 * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
1634
1635 2005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
1636
1637 * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
1638 (GCC_ZCX_Support): Likewise.
1639
1640 2005-01-11 Bastian Blank <waldi@debian.org>
1641
1642 * system-linux-s390.ads: Define Preallocated_Stacks.
1643 * system-linux-s390x.ads: Likewise.
1644
1645 2005-01-04 Arnaud Charlet <charlet@adacore.com>
1646
1647 * gnat_ugn.texi: Fix texi errors with null variables.
1648
1649 2005-01-03 Thomas Quinot <quinot@adacore.com>
1650
1651 * gen-soccon.c: New utility program to generate g-soccon.ads
1652 automatically.
1653
1654 * socket.c, gsocket.h: Split inclusion of system header files into a
1655 gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
1656
1657 * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
1658 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
1659 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
1660 g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
1661 should not be edited by hand anymore, but should be regenerated using
1662 gen-soccon.
1663
1664 2005-01-03 Robert Dewar <dewar@adacore.com>
1665 Ed Schonberg <schonberg@adacore.com>
1666 Vincent Celier <celier@adacore.com>
1667
1668 * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
1669 on/off, since this is an obsolescent feature, for which we now generate
1670 a warning.
1671
1672 * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
1673 warning mode is set and obsolescent usage of this attribute occurs.
1674 (Resolve_Access, case 'Access): Note that GNAT uses the context type to
1675 disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
1676 predates, and partly motivates, the adoption of the AI.
1677 Implement new Ada 2005 attribute Mod
1678
1679 * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
1680 attribute Mod.
1681
1682 * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
1683
1684 * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
1685 pragma restrictions.
1686 New entry for Ada 2005 attribute Mod.
1687
1688 * par-prag.adb:
1689 Add recognition of new pragma Restrictions No_Dependence
1690 Recognize restriction No_Obsolescent_Features at parse time
1691
1692 * bcheck.adb: Add circuitry for checking for consistency of
1693 No_Dependence restrictions.
1694
1695 * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
1696 restrictions.
1697
1698 * restrict.ads, restrict.adb: Add subprograms to deal with
1699 No_Dependence restrictions.
1700
1701 * rtsfind.adb: Check that implicit with's do not violate No_Dependence
1702 restrictions.
1703
1704 * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
1705 sem_attr.adb: Add check for new restriction No_Obsolescent_Features
1706
1707 * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
1708 dummy parameter to scng instantiation.
1709 Needed for new restriction No_Obsolescent_Features
1710
1711 * scn.adb: (Obsolescent_Check): New procedure
1712 Needed for new restriction No_Obsolescent_Features
1713
1714 * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
1715 specified by AI-285, needed for implementation of AI-388 (adding greek
1716 pi to Ada.Numerics).
1717 Add new generic formal to scng, needed for new restriction
1718 No_Obsolescent_Features.
1719
1720 * s-rident.ads: Add new restriction No_Obsolescent_Features.
1721
1722 * ali.ads, ali.adb: Adjustments for reading new No_Dependence
1723 restrictions lines.
1724 (Scan_ALI): When finding an unexpected character on an R line, raise
1725 exception Bad_R_Line, instead of calling Fatal_Error, so that, when
1726 Ignore_Errors is True, default restrictions are set and scanning of the
1727 ALI file continues with the next line. Also, when Bad_R_Line is raised
1728 and Ignore_Errors is True, skip to the end of le line.
1729
1730 * sem_ch10.adb: Check that explicit with's do not violate
1731 No_Dependence restrictions.
1732 (Install_Withed_Unit): Add code to implement AI-377 and diagnose
1733 illegal context clauses containing child units of instance.
1734
1735 * sem_prag.adb: Processing and checking for new No_Dependence
1736 restrictions.
1737 (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
1738 analyze and check the External argument.
1739
1740 * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
1741
1742 2005-01-03 Robert Dewar <dewar@adacore.com>
1743
1744 * atree.adb: Add a fifth component to entities
1745 This allows us to add 32 flags and four new fields
1746
1747 * atree.ads: Add a fifth component to entities
1748 This allows us to add 32 flags and four new fields
1749
1750 * einfo.ads, einfo.adb: Document new fields and new flags now available
1751 Add routines for printing new fields
1752
1753 * treepr.adb: Call routines to print out additional fields if present
1754
1755 2005-01-03 Arnaud Charlet <charlet@adacore.com>
1756
1757 * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
1758 gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
1759
1760 * Makefile.in: Add support to build shared Ada libraries on solaris x86
1761 Remove gpr2make, replaced by gprmake.
1762 Remove references to gnatmem and libaddr2line.
1763 Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
1764 (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
1765 Add support for specialized version of Ada.Numerics.Aux for Darwin: use
1766 a-numaux-darwin.ads and a-numaux-darwin.adb
1767 Enable mlib-tgt-lynxos.adb on lynxos.
1768
1769 * Make-lang.in: Remove rules for gpr2make.
1770 When generating sdefault.adb, do not call Relocate_Path
1771 on S3 for function Target_Name, as it is not a path.
1772 Remove references to gnatmem and libaddr2line.
1773
1774 * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
1775 files.
1776
1777 2005-01-03 Samuel Tardieu <tardieu@adacore.com>
1778
1779 * checks.adb (Apply_Alignment_Check): Generate a warning if an object
1780 address is incompatible with its base type alignment constraints when
1781 this can be decided statically.
1782
1783 2005-01-03 Olivier Hainque <hainque@adacore.com>
1784
1785 * decl.c (compatible_signatures_p): New function. The intended purpose
1786 is to check if two function signatures for a call-site and a callee are
1787 compatible enough for the call to be valid. The underlying purpose is
1788 to check if a call to a mapped builtin is using the right interface.
1789 The current code actually does not check antyhing - this a placeholder
1790 for future refinements.
1791 (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
1792 builtin calls for convention Intrinsic.
1793
1794 * gigi.h (builtin_decl_for): Declare (new function).
1795
1796 * utils.c (gnat_install_builtins): Install the target specific builtins.
1797 (builtin_decl_for): New function, provide a dummy body for now.
1798
1799 2005-01-03 Geert Bosch <bosch@adacore.com>
1800
1801 * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
1802 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
1803 (Pred): Implement in terms of Succ.
1804
1805 * trans.c (convert_with_check): Reimplement conversion of float to
1806 integer.
1807
1808 2005-01-03 Ed Schonberg <schonberg@adacore.com>
1809 Vincent Celier <celier@adacore.com>
1810
1811 * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
1812 bounds can be negative, and must be declared Int, not Nat.
1813
1814 * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
1815 array is checked after using the index in the array.
1816
1817 * makegpr.adb (Add_Switches): Check if there is a package for the
1818 processor. If there is no package, do not look for switches.
1819
1820 2005-01-03 Ed Schonberg <schonberg@adacore.com>
1821
1822 * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
1823 generation of predefined stream operations (specs and bodies) should
1824 proceed. Under various restrictions these subprograms must not be
1825 generated.
1826
1827 2005-01-03 Thomas Quinot <quinot@adacore.com>
1828
1829 * exp_dist.adb:
1830 Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
1831 amount of PCS-specific code in RACW stubs generation.
1832 (Copy_Specification): Set Etype on copied formal parameter entities, as
1833 this information is needed for PolyORB stubs generation.
1834 (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
1835 variable Dynamic_Async.
1836 (Build_Subprogram_Receiving_Stubs): Make PCS-specific
1837 (Build_RPC_Receiver_Specification): Make generic again, as recent
1838 changes have allowed RPC receivers to have the same profile for both
1839 variants of the PCS.
1840 Reorganise RPC receiver generation to reduce differences between the
1841 structure of GARLIC and PolyORB RPC receivers.
1842 (Add_Receiving_Stubs_To_Declarations): Make this subprogram
1843 PCS-specific.
1844 Simplify elaboration code for RCI packages.
1845
1846 * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
1847 generation to reduce differences between the structure of GARLIC and
1848 PolyORB RPC receivers.
1849
1850 * s-stratt.adb: Fix typo in comment.
1851
1852 2005-01-03 Thomas Quinot <quinot@adacore.com>
1853
1854 * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
1855 copied from Make_Init_Call).
1856
1857 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
1858 reads and assignments on a temporary variable declared with appropriate
1859 discriminants.
1860
1861 2005-01-03 Robert Dewar <dewar@adacore.com>
1862
1863 * i-c.adb (To_C): Raise CE if string is null and Append_Null
1864
1865 2005-01-03 Robert Dewar <dewar@adacore.com>
1866
1867 * i-cstrin.adb (Update): Do not append a null in form called with a
1868 String. This avoids unintended behavior.
1869
1870 2005-01-03 Arnaud Charlet <charlet@adacore.com>
1871
1872 PR ada/17527
1873 * init.c: Fix warnings on Free BSD section.
1874
1875 2005-01-03 Arnaud Charlet <charlet@adacore.com>
1876
1877 PR ada/16949
1878 * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
1879 xsinfo.adb).
1880
1881 2005-01-03 Vincent Celier <celier@adacore.com>
1882
1883 * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
1884 libraries when Unique_Compile is True (-u switch).
1885 (Gnatmake): ditto.
1886
1887 2005-01-03 Robert Dewar <dewar@adacore.com>
1888
1889 * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
1890 upper case letter or underscore after W, as allowed by spec.
1891
1892 2005-01-03 Arnaud Charlet <charlet@adacore.com>
1893
1894 * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
1895 darwin port by using proper type definitions from header files.
1896 Use SIGTERM instead of SIGABRT for SIGADAABORT.
1897
1898 2005-01-03 Robert Dewar <dewar@adacore.com>
1899
1900 * par.adb: Enhance error message handling for configuration file
1901 pragmas.
1902
1903 2005-01-03 Robert Dewar <dewar@adacore.com>
1904
1905 * s-arit64.adb (Double_Divide): Put back changes that got accidentally
1906 removed during the previous update (test properly for case of dividing
1907 largest negative number by -1, which generates overflow).
1908
1909 2005-01-03 Ed Schonberg <schonberg@adacore.com>
1910 Sergey Rybin <rybin@adacore.com>
1911
1912 * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
1913 to use as the defining identifier for a formal package.
1914 (Remove_Parent): If the instance takes place within (an instance of)
1915 a sibling, preserve private declarations of common parent.
1916
1917 2005-01-03 Ed Schonberg <schonberg@adacore.com>
1918
1919 * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
1920 to determine whether one of the operands is a fixed-point type for
1921 which a user-defined multiplication or division operation might be
1922 defined.
1923
1924 * sem_res.adb (Valid_Conversion): The legality rules for conversions
1925 of access types are symmetric in Ada 2005: either designated type can
1926 be unconstrained.
1927
1928 2005-01-03 Vincent Celier <celier@adacore.com>
1929
1930 * s-fileio.adb (Temp_File_Record): Change length of string component
1931 Name from L_tmpnam + 1 to max_path_len + 1.
1932
1933 2005-01-03 Arnaud Charlet <charlet@adacore.com>
1934
1935 * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
1936 Self_Id.Deferral_Level = 0.
1937 (Do_Pending_Action): Move this function to the spec.
1938
1939 * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
1940 Do_Pending_Action explicitely when needed, in case we're using
1941 No_Abort restrictions.
1942
1943 * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
1944 deferral level since it will not get changed by the generated code.
1945 Keeping a default value of 1 would prevent some operations (e.g.
1946 select or delay) to proceed successfully.
1947
1948 2005-01-03 Ben Brosgol <brosgol@adacore.com>
1949 Robert Dewar <dewar@adacore.com>
1950 Cyrille Comar <comar@adacore.com>
1951
1952 * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
1953 porting guide chapter (vms version).
1954 Revised doc title (removed "for native platforms") and subtitle.
1955 Add discussion on warning flag for obsolescent features. First we
1956 note that it applies to obsolete GNAT features, which was previously
1957 omitted. Second we contrast the behavior with that of the new
1958 Ada 2005 AI-368 restriction No_Obsolescent_Features.
1959 Preliminary rewriting of GNAT & libraries chapter in order to take
1960 into account default project locations & new project manager
1961 capabilities.
1962
1963 2005-01-03 Robert Dewar <dewar@adacore.com>
1964
1965 * cstand.adb (Create_Operators): Clean up format and documentation of
1966 unary and binary operator result tables. No change in code, just
1967 reformatting and addition of comments.
1968
1969 * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
1970 sem_ch2.adb: Minor reformatting
1971
1972 * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
1973 sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
1974 comments for Tree_Read and Tree_Write.
1975
1976 2005-01-03 Pascal Obry <obry@adacore.com>
1977
1978 * exp_attr.ads: Minor reformatting.
1979
1980 2005-01-03 Romain Berrendonner <berrendo@adacore.com>
1981
1982 * comperr.adb (Compiler_Abort): Add specialized message for GAP
1983 versions.
1984
1985 2005-01-03 Ed Schonberg <schonberg@adacore.com>
1986
1987 * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
1988 whether the ancestor type is private, as may be the case with nested
1989 instantiations.
1990
1991 2004-12-30 Sohail Somani <sohail@sohailsomani.com>
1992
1993 PR ada/19128
1994 * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
1995
1996 2004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
1997
1998 * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
1999 * utils2.c (build_unary_op): Likewise.
2000
2001 2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2002
2003 * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
2004
2005 2004-12-19 Richard Henderson <rth@redhat.com>
2006
2007 * trans.c (gigi): Update gimplify_body call.
2008
2009 2004-12-09 Nathan Sidwell <nathan@codesourcery.com>
2010
2011 * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
2012
2013 2004-12-07 Ed Falis <falis@adacore.com>
2014
2015 * s-intman-vxworks.adb (Notify_Exception): removed useless check for
2016 current task being suspended.
2017
2018 * init.c (__gnat_clear_exception): added to reset VxWorks exception
2019 count.
2020 (__gnat_map_signal): removed test for current task being suspended.
2021
2022 2004-12-07 Gary Dismukes <dismukes@adacore.com>
2023
2024 * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
2025 from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
2026 targets (such as AAMP).
2027
2028 2004-12-07 Ed Schonberg <schonberg@adacore.com>
2029
2030 * atree.adb (Visit_Itype): Create a new name for the generated itype,
2031 because the back-end may otherwise treat it as a redefinition of the
2032 old symbol.
2033
2034 2004-12-07 Eric Botcazou <ebotcazou@adacore.com>
2035
2036 * back_end.adb (Scan_Back_End_Switches): Accept --param.
2037
2038 * lang-specs.h: Accept --param.
2039
2040 2004-12-07 Vincent Celier <celier@adacore.com>
2041
2042 * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
2043 package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
2044 Current_Body_Suffix => Ada_Body_Suffix).
2045 Take into account Externally_Built attribute.
2046
2047 * clean.adb (In_Extension_Chain): Always return False when one of the
2048 parameter is No_Project.
2049 (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
2050 Ada_Language_Index).
2051 (Gnatclean): Adapt to change in package Prj.Pars (no parameter
2052 Process_Languages for procedure Parse).
2053
2054 * gnatcmd.adb (Carg_Switches): New table.
2055 (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
2056 Adapt to name changes in package Prj (Current_Spec_Suffix =>
2057 Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
2058
2059 * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
2060 Header_Num and function Hash are now declared in package Prj,
2061 not Prj.Com.
2062
2063 * prj.adb (Suffix_Of): New function.
2064 (Set (Suffix)): New procedure.
2065 (Hash): One function moved from Prj.Com
2066 (Is_Present, Language_Processing_Data_Of): New functions
2067 (Set): Two new procedures
2068 (Add_Language_Name, Display_Language_Name): New procedures
2069
2070 * prj.ads: (Suffix_Of): New function
2071 (Set (Suffix)): New procedure
2072 Add several types and tables for multi-language support.
2073 (Header_Num): Type moved from Prj.Com
2074 (Hash): Two functions moved from Prj.Com
2075 (Is_Present, Language_Processing_Data_Of): New functions
2076 (Set): Two new procedures
2077 (Add_Language_Name, Display_Language_Name): New procedures
2078 (Naming): Component name changes:
2079 Current_Spec_Suffix => Ada_Spec_Suffix,
2080 Current_Body_Suffix => Ada_Body_Suffix. Add new components:
2081 Impl_Suffixes, Supp_Suffixes.
2082 (Project_Data): New components: Externally_Built, Supp_Languages,
2083 First_Language_Processing, Supp_Language_Processing, Default_Linker,
2084 Default_Linker_Path.
2085
2086 * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
2087 new package Language_Processing with its attributes (Compiler_Driver,
2088 Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
2089 Binder_Driver, Default_Linker).
2090
2091 * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
2092 (Header_Num): Type moved to package Prj
2093
2094 * prj-env.adb: Adapt to name changes in package Prj
2095 (Current_Spec_Suffix => Ada_Spec_Suffix,
2096 Current_Body_Suffix => Ada_Body_Suffix).
2097
2098 * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
2099 default to the project path, except the "-" is one of the directories
2100 in env var ADA_PROJECT_PATH.
2101 (Current_Project_Path): Global variable, replacing Project_Path
2102 that was in the body of Prj.Part.
2103 (Project_Path): New function
2104 (Set_Project_Path): New procedure
2105 Initialize Current_Project_Path during elaboration of the package
2106 Remove dependency on Prj.Com, no longer needed
2107
2108 * prj-ext.ads (Project_Path): New function
2109 (Set_Project_Path): New procedure
2110
2111 * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
2112 suffix is defined for language <lang>.
2113 (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
2114 accessing directly the components of Naming.
2115 (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
2116 Reorganise of this package.
2117 Break procedure Check in several procedures.
2118
2119 * prj-nmsc.ads: Replace all procedures (Ada_Check,
2120 Other_Languages_Check and Language_Independent_Check) with a single
2121 procedure Check.
2122
2123 * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
2124 Process_Languages, no longer needed.
2125
2126 * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
2127 Current_Project_Path.
2128 Remove elaboration code, moved to the body of Prj.Ext
2129 Use new function Prj.Ext.Project_Path instead of old variable
2130 Project_Path.
2131 (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
2132 When comparing with project paths on the stack, first put the resolved
2133 path in canonical case.
2134 (Parse_Single_Project): Set the path name of the project file in the
2135 tree to the normalized path.
2136
2137 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
2138 parameter Process_Languages, no longer needed.
2139 (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
2140 Other_Languages_Check.
2141
2142 * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
2143 to store the resolved canonical path of the project file.
2144 Remove dependency to Prj.Com, no longer needed
2145
2146 * prj-util.adb: Adapt to name changes in package Prj
2147 (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
2148 Ada_Body_Suffix).
2149
2150 * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
2151 Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
2152 Externally_Built, Include_Option, Language_Processing.
2153
2154 * makegpr.adb: Numerous changes due to changes in packages
2155 Prj and Prj.Nmsc.
2156
2157 * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
2158 default to the project path, except whe "-" is one of the directories
2159 in env var ADA_PROJECT_PATH.
2160 (Gnatls): In verbose mode, add the new section "Project Search Path:"
2161
2162 2004-12-07 Robert Dewar <dewar@adacore.com>
2163
2164 * debug.adb: Document that -gnatdA automatically sets -gnatR3m
2165
2166 * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
2167 set -gnatR3m mode.
2168
2169 * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
2170 flag. No longer needed now that we handle this in gnat1drv.adb.
2171
2172 * repinfo.ads: Minor reformatting
2173
2174 2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2175 Olivier Hainque <hainque@adacore.com>
2176 Eric Botcazou <ebotcazou@adacore.com>
2177
2178 * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
2179 TYPE_SIZE_UNIT of result type if SIZE is not specified.
2180 (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
2181 of a bitfield, which we know is useless and causes trouble because of
2182 alignment implications.
2183
2184 * utils.c (create_var_decl): Set DECL_COMMON again on targets without
2185 BSS sections.
2186 (process_attributes): Clear DECL_COMMON again when a section attribute
2187 is present.
2188 (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
2189 SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
2190 (create_field_decl): Special case ADDRESSABLE negative to mean
2191 "no bitfield creation", to be used by make_aligning_type. Don't
2192 restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
2193 fields claimed addressable still have to be bitfields. Use
2194 value_factor_p instead of a raw binop construction to check for the
2195 position's alignment.
2196
2197 2004-12-07 Geert Bosch <bosch@adacore.com>
2198
2199 * eval_fat.adb: Revert previous change.
2200
2201 2004-12-07 Thomas Quinot <quinot@adacore.com>
2202 Ed Schonberg <schonberg@adacore.com>
2203
2204 * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
2205 with an implicit dereference as its prefix, use
2206 Insert_Explicit_Dereference instead of merely rewriting the prefix into
2207 an explicit dereference. This ensures that a reference to the original
2208 prefix is generated, if appropriate.
2209
2210 * sem_util.adb (Insert_Explicit_Dereference): When an implicit
2211 dereference is rewritten to an explicit one, generate a reference to
2212 the entity denoted by its prefix using the original prefix node, so
2213 the dereference can be properly recorded as a read of the denoted
2214 access value, if appropriate.
2215
2216 * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
2217 emitting 'assigned but never read' warning on a variable on the basis
2218 that it has an access type.
2219 (Check_References): Emit unreferenced warning when the scope is a
2220 subprogram body.
2221
2222 2004-12-07 Robert Dewar <dewar@adacore.com>
2223 Ed Schonberg <schonberg@adacore.com>
2224
2225 * exp_ch6.adb (Expand_Call): Add comment on handling of back end
2226 intrinsic
2227
2228 * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
2229 leaving call unchanged.
2230 This deals with the case where the pragma Import specified
2231 an external name, to be handled by the back end.
2232
2233 * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
2234 subprogram which is Imported with convention Intrinsic if an
2235 External_Name argument is specified.
2236 (Process_Import_Or_Interface): Properly diagnose link name argument.
2237 (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
2238 with Sem_Ch6.Cannot_Inline.
2239 (Process_Inline): Provide separate warning for inapplicable inline
2240 pragma.
2241 (Cannot_Inline): Reject subprograms that have an at_end handler, so that
2242 treatment is uniform on different targets.
2243
2244 2004-12-07 Ed Schonberg <schonberg@adacore.com>
2245
2246 * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
2247 construct is rewritten, preserve end label to permit source navigation.
2248
2249 2004-12-07 Thomas Quinot <quinot@adacore.com>
2250
2251 * exp_dist.adb (Specific_Build_General_Calling_Stubs,
2252 Specific_Build_Stub_Target): New subprograms.
2253 (Build_Subprogram_Calling_Stubs): Make this procedure independent from
2254 the PCS implementation used, using the above PCS-customized subprograms.
2255 Minor reformatting.
2256 (PolyORB_Support.Helpers): New subunit containing supporting subprograms
2257 for generation of DSA code targeted to the PolyORB PCS.
2258 (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
2259 implementation of the partition communication subsystem in ancillary
2260 subprograms.
2261 (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
2262 PolyORB_Support.Build_Stub_Type): New subrograms containing the
2263 PCS-specific part of Add_Stub_Type.
2264 (Insert_Partition_Check): Use runtime library function to perform
2265 E.4(19) check.
2266
2267 * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
2268 (RE_Same_Partition): New entity, from s-parint.
2269
2270 * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
2271
2272 2004-12-07 Gary Dismukes <dismukes@adacore.com>
2273
2274 * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
2275 Output the copyright message on a separate line from the version
2276 message.
2277
2278 2004-12-07 Joel Brobecker <brobecker@adacore.com>
2279
2280 * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
2281 compile-time warning.
2282
2283 2004-12-07 Robert Dewar <dewar@adacore.com>
2284
2285 * g-regpat.adb: (Match): Change a misuse of or to or else
2286
2287 2004-12-07 Ed Schonberg <schonberg@adacore.com>
2288
2289 * lib-xref.adb:
2290 (Generate_Reference): Handle properly a reference to an entry formal,
2291 when an accept statement has a pragma Unreferenced for it.
2292
2293 * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
2294 and the Has_Pragma_Unreferenced flag for each formal before analyzing
2295 the body, to ensure that warnings are properly emitted for each accept
2296 statement of a given task entry.
2297
2298 2004-12-07 Vasiliy Fofanov <fofanov@adacore.com>
2299
2300 * Makefile.in: Add support for foreign threads on VMS.
2301
2302 2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2303
2304 * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
2305 Remove.
2306 (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
2307
2308 * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
2309
2310 * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
2311 exception.
2312 (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
2313
2314 2004-12-07 Robert Dewar <dewar@adacore.com>
2315
2316 * nlists.adb (Prepend_Debug): Remove parameters and nest within
2317 Prepend.
2318 (Remove_Next_Debug): Same fix
2319
2320 * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
2321 maintain back pointers now, though we did not used to, and comments
2322 were out of date).
2323 (Prepend): Remove pragma Inline.
2324 (Remove_Next): Same cleanup
2325
2326 2004-12-07 Thomas Quinot <quinot@adacore.com>
2327
2328 * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
2329 used to record an implicit dereference as a read operation on its
2330 prefix when operating under -gnatc. Necessary to avoid spurious
2331 'variable assigned but never read' warnings in that mode.
2332 (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
2333 is a non-overloaded implicit dereference, call the above subprogram to
2334 ensure proper recording of references.
2335
2336 2004-12-07 Gary Dismukes <dismukes@adacore.com>
2337
2338 * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
2339 to be resolved later as part of Analyze_Iteration_Scheme's call to
2340 Make_Index.
2341
2342 2004-12-07 Ed Schonberg <schonberg@adacore.com>
2343
2344 * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
2345 prefix is not a scalar type, place error message on prefix, not on
2346 type entity.
2347
2348 2004-12-07 Bernard Banner <banner@adacore.com>
2349
2350 * vxaddr2line.adb: Add support for x86 vxworks
2351
2352 2004-12-07 Thomas Quinot <quinot@adacore.com>
2353
2354 * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
2355 documentation of the behaviour of these functions when passed an IP
2356 address that has no record in the system hosts database and no reverse
2357 record in the DNS.
2358
2359 * cstand.adb, a-tags.ads: Fix typos in comment.
2360
2361 2004-12-07 Robert Dewar <dewar@adacore.com>
2362
2363 * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
2364 exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
2365 sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
2366 s-poosiz.ads: Minor reformatting
2367
2368 * make.adb: Minor reformatting
2369 Add some ??? comments asking for more comments
2370
2371 * s-poosiz.adb: Minor reformatting
2372 Add comments on alignment requirement
2373
2374 * sinfo.ads: Remove obsolete comment and fix typo.
2375
2376 2004-12-07 Vincent Celier <celier@adacore.com>
2377 Sergey Rybin <rybin@adacore.com>
2378
2379 * gnat_ugn.texi: Update the section "The GNAT Driver and Project
2380 Files" with the new tool and package names.
2381 Reformatting to suppress most of the warnings for line too long
2382 Document the new section "Project Search Path:" in the output of
2383 gnatls -v.
2384 Add gnatmetric section
2385
2386 2004-12-07 Vincent Celier <celier@adacore.com>
2387
2388 * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
2389 -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
2390 and -eit to -ept. Added qualifier
2391 /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
2392
2393 2004-11-27 Andreas Schwab <schwab@suse.de>
2394
2395 * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
2396
2397 2004-11-25 Arnaud Charlet <charlet@adacore.com>
2398
2399 * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
2400 internal implementation unit GNAT.Sockets.Thin,
2401 as their usage for sockets is non-portable (using the read and write
2402 functions from the system runtime library is fine on UNIX but won't
2403 work under Windows).
2404
2405 * mingw32.h: Update copyright notice.
2406
2407 2004-11-25 Arnaud Charlet <charlet@adacore.com>
2408
2409 * ada-tree.h: Minor reformatting of previous change to avoid lines
2410 longer than 79 characters.
2411
2412 2004-11-25 Olivier Hainque <hainque@adacore.com>
2413
2414 * tb-gcc.c: GCC infrastructure based implementation of
2415 __gnat_backtrace.
2416
2417 2004-11-24 Steven Bosscher <stevenb@suse.de>
2418
2419 * misc.c (gnat_post_options): Don't clear
2420 flag_inline_functions.
2421
2422 2004-11-22 Andrew Pinski <pinskia@physics.uc.edu>
2423
2424 PR ada/17986
2425 * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
2426 tree.
2427
2428 2004-11-21 Andreas Jaeger <aj@suse.de>
2429
2430 * stylesw.adb: Change Style_Check_Subprogram_Order to
2431 Style_Check_Order_Subprograms.
2432
2433 2004-11-18 Arnaud Charlet <charlet@adacore.com>
2434
2435 * adaint.h, adaint.c
2436 (__gnat_portable_spawn): Fix cast of spawnvp third parameter
2437 to avoid warnings.
2438 Add also a cast to kill another warning.
2439 (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
2440 parameter with the priority class of the parent process instead of
2441 always using the NORMAL_PRIORITY_CLASS.
2442 (__gnat_dup): New function.
2443 (__gnat_dup2): New function.
2444 (__gnat_is_symbolic_link): Enable the effective body of this
2445 function when __APPLE__ is defined.
2446
2447 * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
2448 Update comments.
2449
2450 2004-11-18 Olivier Hainque <hainque@adacore.com>
2451
2452 * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
2453 address of which may be used to represent "others" and "all others"
2454 choices in exception tables, instead of the current harcoded
2455 (void *)0 and (void *)1.
2456 (Setup_Exception): Do nothing in the GNAT SJLJ case.
2457
2458 * gigi.h (others_decl, all_others_decl): New decls representing the
2459 new Others_Value and All_Others_Value objects.
2460 (struct attrib): Rename "arg" component as "args", since GCC expects a
2461 list of arguments in there.
2462
2463 * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
2464 corresponding objects exported by a-exexpr, instead of hardcoded dummy
2465 addresses.
2466
2467 * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
2468 others_decl and all_others_decl instead of hardcoded dummy addresses
2469 to represent "others" and "all others" choices, which is cleaner and
2470 more flexible with respect to the possible eh pointer encoding policies.
2471
2472 * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
2473 (process_attributes): Account for the naming change of the "args"
2474 attribute list entry component.
2475
2476 * decl.c (build_attr_list): Rename into prepend_attributes to allow
2477 cumulating attributes for different entities into a single list.
2478 (gnat_to_gnu_entity): Use prepend_attributes to build the list of
2479 attributes for the current entity and propagate first subtype
2480 attributes to other subtypes.
2481 <E_Procedure>: Attribute arguments are attr->args and not
2482 attr->arg any more.
2483 (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
2484 argument provided, as this is what GCC expects. Use NULL_TREE instead
2485 of 0 for trees.
2486
2487 2004-11-18 Robert Dewar <dewar@adacore.com>
2488
2489 * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
2490 Minor reformatting througout (including new function specs)
2491 Add ??? comments asking for clarification.
2492
2493 2004-11-18 Thomas Quinot <quinot@adacore.com>
2494
2495 * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
2496 incomplete duplicate implementation of this subprogram from butil.
2497
2498 2004-11-18 Thomas Quinot <quinot@adacore.com>
2499
2500 * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
2501 procedures factors the common processing for building an RPC receiver
2502 for an RCI package or an RACW type.
2503 Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
2504 Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
2505 (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
2506 in use.
2507 (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
2508 Add_RACW_Features.
2509 (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
2510 Add_RAST_Features.
2511 (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
2512 distribution subprogram identifiers that are either subprogram numbers
2513 or strings.
2514 (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
2515 string distribution identifiers assigned to a given subprogram.
2516 (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
2517 (Add_RAS_Dereference_TSS): Add comments.
2518 (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
2519 is not referenced yet because it will be used by the PolyORB DSA
2520 implementation.
2521 (Insert_Partition_Check): Remove fossile code.
2522 (First_RCI_Subprogram_Id): Document this constant.
2523 (Add_RAS_Access_TSS): Correct the setting of the Etype of the
2524 RAS_Access TSS.
2525 (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
2526 replaced with calls to Get_Library_Unit_Name_String. Previously there
2527 were several instances of the same code in different locations in the
2528 compiler; this checkin completes the replacement of all of these
2529 instances with calls to a common subprogram.
2530 Minor reformatting.
2531
2532 * sem_dist.adb: Remove comment noting that RPC receiver generation
2533 should be disabled for RACWs that implement RASs.
2534 (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
2535
2536 * sem_util.ads, sem_util.adb (Has_Stream): New function
2537 (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
2538 qualified name of a library unit into the name buffer.
2539 (Note_Possible_Modification): Generate a reference only
2540 if the context comes from source.
2541
2542 * snames.ads (PCS_Names): New subtype corresponding to names of
2543 supported implementations of the Partition Communication Subsystem
2544 (PCS) (i.e. the runtime library support modules for the distributed
2545 systems annex).
2546
2547 2004-11-18 Robert Dewar <dewar@adacore.com>
2548 Ed Schonberg <schonberg@adacore.com>
2549
2550 * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
2551 (Has_Rep_Pragma): New function
2552 (Has_Attribute_Definition_Clause): New function
2553 (Record_Rep_Pragma): Moved here from sem_ch13.adb
2554 (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
2555
2556 * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
2557
2558 * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
2559 (Expand_Pragma_Psect_Object): New procedure
2560 These procedures contain the revised and cleaned up processing for
2561 these two pragmas. This processing was formerly in Sem_Prag, but
2562 is more appropriately moved here. The cleanup involves making sure
2563 that the pragmas are properly attached to the tree, and that no
2564 nodes are improperly shared.
2565
2566 * sem_prag.adb: Move expansion of Common_Object and Psect_Object
2567 pragmas to Exp_Prag, which is more appropriate.
2568 Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
2569 check for duplicates Remove use of Is_Psected flag, no longer needed.
2570 Use new Make_String_Literal function with string.
2571
2572 * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
2573 that are functions return universal values, that have to be converted
2574 to the context type.
2575 Use new Make_String_Literal function with string.
2576 (Get_Stream_Convert_Pragma): New function, replaces the use of
2577 Get_Rep_Pragma, which had to be kludged to work in this case.
2578
2579 * freeze.adb: Use new Has_Rep_Pragma function
2580
2581 * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
2582 function with string.
2583 Use new Has_Rep_Pragma function.
2584
2585 * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
2586 string argument.
2587
2588 2004-11-18 Robert Dewar <dewar@adacore.com>
2589
2590 * errout.ads, errout.adb: (First_Sloc): New function
2591
2592 * par-ch5.adb (P_Condition): Check for redundant parens is now a style
2593 check (-gnatyx) instead of being included as a redundant construct
2594 warning.
2595
2596 * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
2597 Style_Check_Order_Subprograms.
2598
2599 * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
2600 stylesw.adb: Add Style_Check_Xtra_Parens
2601
2602 * usage.adb: Add line for -gnatyx (check extra parens)
2603
2604 * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
2605
2606 2004-11-18 Ed Schonberg <schonberg@adacore.com>
2607 Robert Dewar <dewar@adacore.com>
2608
2609 * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
2610 discriminant of a constrained subtype, analyze the copy of the
2611 corresponding constraint, because in some cases it may be only
2612 partially analyzed.
2613 Removes long-lived ??? comments.
2614
2615 * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
2616 handled controlled or secondary-stack expressions within the
2617 iteration_scheme of a loop.
2618
2619 * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
2620 bounds that may contain functions calls, to prevent memory leaks when
2621 the bound contains a call to a function that uses the secondary stack.
2622 (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
2623 generate temporaries for loop bounds that might contain function calls
2624 that require secondary stack and/or finalization actions.
2625
2626 * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
2627 selected component and the selector is overloadable (not just a
2628 function) treat as function call, Analyze_Call will disambiguate if
2629 necessary.
2630 (Analyze_Selected_Component): Do not generate an actual subtype for the
2631 selected component if expansion is disabled. The actual subtype is only
2632 needed for constraint checks.
2633 (Analyze_Allocator): If restriction No_Streams is set, then do
2634 not permit objects to be declared of a stream type, or of a
2635 composite type containing a stream.
2636
2637 * restrict.ads: Remove the a-stream entry from Unit_Array, since
2638 No_Streams no longer prohibits with'ing this package.
2639
2640 * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
2641 discriminants, but the parent base has unknown discriminants, there is
2642 no discriminant constraint to inherit. Such a discrepancy can arise
2643 when the actual for a formal type with unknown discriminants is a
2644 similar private type whose full view has discriminants.
2645 (Analyze_Object_Declaration): If restriction No_Streams is set, then
2646 do not permit objects to be declared of a stream type, or of a
2647 composite type containing a stream.
2648
2649 2004-11-18 Ed Schonberg <schonberg@adacore.com>
2650
2651 * exp_dbug.ads: Update documentation to reflect simpler encoding for
2652 protected operations.
2653
2654 * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
2655 generated name, it complicates decoding in gdb and hinders debugging
2656 of protected operations.
2657 (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
2658 flag for the protected entry barrier function.
2659 (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
2660 flag for the protected entry function.
2661
2662 2004-11-18 Nicolas Setton <setton@adacore.com>
2663
2664 * expect.c: Define __unix__ when __APPLE__ is defined.
2665
2666 * Makefile.in: Inform the value of the variable GMEM_LIB in the
2667 Darwin-specific section.
2668
2669 * lang-specs.h: Change the placement of the %1 marker.
2670 Works around the fact that gcc adds -fPIC by default under Darwin.
2671
2672 2004-11-18 Ed Schonberg <schonberg@adacore.com>
2673
2674 * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
2675 type of the object with the packed array type, set the Analyzed flag
2676 on the object if it is an entity or simple indexed component, to avoid
2677 spurious type errors.
2678
2679 2004-11-18 Gary Dismukes <dismukes@adacore.com>
2680
2681 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
2682 gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
2683 separate line from the version message.
2684
2685 2004-11-18 Ed Falis <falis@adacore.com>
2686
2687 * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
2688 vthreads.
2689 (init_float): Eliminate initialization of floating point status for
2690 AE653. The instructions have no effect for vThreads.
2691
2692 2004-11-18 Vincent Celier <celier@adacore.com>
2693
2694 * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
2695 gnatbind is invoked with -shared.
2696
2697 2004-11-18 Jose Ruiz <ruiz@adacore.com>
2698
2699 * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
2700 for Detect_Blocking which is redundant with the check done within the
2701 procedure Protected_Single_Entry_Call.
2702 (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
2703 Detect_Blocking which is redundant with the check done within the
2704 procedure Protected_Single_Entry_Call.
2705
2706 2004-11-18 Vincent Celier <celier@adacore.com>
2707
2708 * makegpr.adb (Compile): Put the compiling switches (in package
2709 Compiler and on the command line) immediately after "-c", instead of
2710 at the end of the command line invocation of the compiler, when
2711 compiling a non-Ada file.
2712 (Build_Global_Archive): When there is no need to rebuild the archive,
2713 set Global_Archive_Exists, so that the archive is passed to the linker
2714 if one is needed.
2715
2716 2004-11-18 Robert Dewar <dewar@adacore.com>
2717 Sergey Rybin <rybin@adacore.com>
2718
2719 * gnat_ugn.texi:
2720 Remove extra paren check from list of checks for redundant constructs
2721 Add documentation of new -gnatyx style check (check extra parens)
2722 Remove paragraph about gnatelim debug options.
2723
2724 * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
2725 objects rather than forbidding dependencies on the package Ada.Streams.
2726
2727 * sinfo.ads: Add ??? note that we should document pragmas passed to
2728 back end.
2729
2730 * g-expect.ads: Fix a few typos in the comments.
2731
2732 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
2733
2734 * misc.c (gnat_handle_option): Use %< and %> for quoting in
2735 warning message.
2736
2737 2004-11-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2738
2739 * a-numaux-x86.adb (Tan): Fix fdivp syntax.
2740
2741 2004-11-07 Andreas Schwab <schwab@suse.de>
2742
2743 * Makefile.in (install-gnatlib): Remove spurious hyphen.
2744
2745 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
2746
2747 PR ada/18228
2748 * Makefile.in (darwin): Set soext to .dylib.
2749
2750 2004-10-26 Vincent Celier <celier@gnat.com>
2751 Thomas Quinot <quinot@act-europe.fr>
2752
2753 * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
2754 (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
2755 there is no use of GNAT.Sockets.Constants.
2756 Remove remaining pragma Import for C_Write
2757 Remove C_Read and C_Write from internal implementation unit
2758 GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
2759 the read and write functions from the system runtime library is fine
2760 on UNIX but won't work under Windows).
2761
2762 * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
2763 (Check_Selector): Use C_Recv instead of C_Read.
2764 Selectors are the GNAT.Sockets abstraction to perform a select()
2765 call on a set of descriptors. To allow abortion of an ongoing
2766 select operation, some data is written to a dedicated socket that
2767 is always monitored.
2768 Under Windows, the write and read library functions cannot operate
2769 on sockets, so we need to use send and recv instead, which is portable
2770 across all supported platforms.
2771
2772 * g-socthi.ads: Remove C_Read and C_Write from internal implementation
2773 unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
2774 (using the read and write functions from the system runtime library is
2775 fine on UNIX but won't work under Windows).
2776
2777 2004-10-26 Nicolas Setton <setton@act-europe.fr>
2778
2779 * mlib-tgt-darwin.adb: New file.
2780
2781 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
2782 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
2783 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
2784 mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
2785 subprogram body.
2786
2787 * Makefile.in: Add support for building shared libraries under Darwin.
2788 (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
2789 the low level EH init subprogram to be called from __gnat_initialize.
2790
2791 * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
2792 indicates which options to pass to the archive indexer.
2793
2794 * mlib-utl.adb: Add support for calling ranlib with additional
2795 options. This is needed for instance under Mac OS X.
2796 (Ranlib_Options): New global variable, used to store the potential
2797 options to pass to ranlib.
2798 (Ar): Use Ranlib_Options when spawning ranlib.
2799 (Initialize): Set the value of ranlib option.
2800
2801 2004-10-26 Olivier Hainque <hainque@act-europe.fr>
2802
2803 * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
2804 instead of 8K, to reflect the real potential needs for stack-checking
2805 in the ZCX case.
2806
2807 2004-10-26 Pascal Obry <obry@gnat.com>
2808
2809 * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
2810
2811 * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
2812 Windows only the initial thread stack size can be set so it is good to
2813 start we a low stack size.
2814 The OS will adjust the size as needed.
2815
2816 2004-10-26 Olivier Hainque <hainque@act-europe.fr>
2817 Nicolas Setton <setton@act-europe.fr>
2818
2819 * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
2820 "__unix__" instead of "unix".
2821 The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
2822 sections were just mistakenly ignored. The former is
2823 implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
2824 Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
2825 of hpux. This prevents an unwanted definition of the symbol
2826 convert_addresses in adaint.o.
2827
2828 2004-10-26 Gary Dismukes <dismukes@gnat.com>
2829
2830 * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
2831 compatibility with type Unwind_Word on 16-bit targets such as AAMP.
2832
2833 2004-10-26 Cyrille Comar <comar@act-europe.fr>
2834
2835 * a-filico.ads, a-filico.adb: fix incorrect header.
2836
2837 2004-10-26 Javier Miranda <miranda@gnat.com>
2838
2839 * a-ststio.ads: Fix typo in identifier
2840
2841 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
2842
2843 * sem_ch4.adb: Minor reformatting.
2844
2845 2004-10-26 Ed Schonberg <schonberg@gnat.com>
2846
2847 * checks.adb (Expr_Known_Valid): If floating-point validity checks are
2848 enabled, check the result of unary and binary operations when the
2849 expression is the right-hand side of an assignment.
2850
2851 2004-10-26 Vincent Celier <celier@gnat.com>
2852
2853 * clean.adb (Delete): Do not output warnings when in quiet output and
2854 not in verbose mode.
2855 (Force_Deletions): New Boolean flag, defaulted to False
2856 (Delete): Only delete a file if it is writable, and when
2857 Force_Deletions is True.
2858 (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
2859 (Usage): Line for new switch -f
2860 (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
2861 own.
2862
2863 2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
2864
2865 * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
2866 JM type only if its size matches that of the wrapper. When a size is
2867 prescribed and the field is not aliased, remove the wrapper of a JM
2868 type only if the size is not greater than that of the packed array.
2869 (gnat_to_gnu_entity): Change the extension of packed array wrappers
2870 from LJM to JM.
2871
2872 2004-10-26 Geert Bosch <bosch@gnat.com>
2873
2874 * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
2875 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
2876 (Pred): Implement in terms of Succ.
2877
2878 2004-10-26 Ed Schonberg <schonberg@gnat.com>
2879
2880 * exp_aggr.adb (Safe_Component): An aggregate component that is an
2881 unchecked conversion is safe for in-place use if the expression of the
2882 conversion is safe.
2883 (Expand_Array_Aggregate): An aggregate that initializes an allocator may
2884 be expandable in place even if the aggregate does not come from source.
2885 (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
2886 designated object of an allocator in place, rather than building it
2887 first on the stack. The previous scheme forces a full copy of the array,
2888 and may be altogether unsusable if the size of the array is too large
2889 for stack allocation.
2890
2891 2004-10-26 Robert Dewar <dewar@gnat.com>
2892
2893 * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
2894 compares if the component is atomic.
2895
2896 * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
2897 array assignment if the component type is atomic.
2898
2899 2004-10-26 Ed Schonberg <schonberg@gnat.com>
2900 Eric Botcazou <ebotcazou@act-europe.fr>
2901
2902 * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
2903 is aliased and is a by_reference type, do not pass by copy.
2904 (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
2905 detect whether the call is in the right side of an assignment or
2906 the expression of an object declaration. Recurse on component
2907 association within aggregates.
2908 Call it in the condition that determines whether the temporary is
2909 necessary for correct stack-checking.
2910
2911 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
2912
2913 * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
2914 RACW_Type, used in the PolyORB version.
2915 Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
2916 version and the GARLIC version.
2917
2918 * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
2919 Rename RCI_Info to RCI_Locator for better consistency between the
2920 GARLIC and PolyORB versions of the distributed systems annex.
2921 (DSA_Implementation_Name): This enumeration lists the possible
2922 implementations of the Partition Communication Subsystem for the
2923 Distributed Systems Annex (DSA). The three available implementations
2924 are the dummy stub implementation (No_DSA), and two versions based on
2925 two different distribution runtime libraries: GARLIC and PolyORB. Both
2926 the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
2927 technology.
2928 Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
2929 that organization.
2930
2931 * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
2932 between the GARLIC and PolyORB versions of the distributed systems
2933 annex.
2934 Remove RE_Unbounded_Reclaim_Pool since it is unused.
2935
2936 2004-10-26 Gary Dismukes <dismukes@gnat.com>
2937
2938 * gnat1drv.adb: Suppress calling the back end when
2939 Frontend_Layout_On_Target is true.
2940
2941 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
2942
2943 * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
2944 Set_Read_Only): New subprograms.
2945 These new routines allow the user to set or unset the Owner execute
2946 and Owner write permission flags on a file.
2947
2948 * makegpr.adb, mlib.adb, mlib-prj.adb: Use
2949 GNAT.OS_Lib.Set_Executable instead of rolling our own.
2950
2951 2004-10-26 Matthew Gingell <gingell@gnat.com>
2952
2953 * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
2954
2955 2004-10-26 Pascal Obry <obry@gnat.com>
2956
2957 * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
2958 memory before the faulting page we properly test the process read
2959 access for this address using appropriate Win32 routine.
2960 (HPUX sections): guard with "__hpux__" instead of "hpux".
2961
2962 2004-10-26 Robert Dewar <dewar@gnat.com>
2963
2964 * lib-xref.adb (Generate_Reference): Don't complain about reference to
2965 entry parameter if pragma Unreferenced set, since we do not properly
2966 handle the case of multiple parameters.
2967
2968 2004-10-26 Vincent Celier <celier@gnat.com>
2969
2970 * prj-env.adb: (Contains_ALI_Files): New Boolean function
2971 (Ada_Objects_Path.Add): For a library project, add to the object path
2972 the library directory only if there is no object directory or if the
2973 library directory contains ALI files.
2974 (Set_Ada_Paths.Add.Recursive_Add): Ditto
2975
2976 2004-10-26 Vincent Celier <celier@gnat.com>
2977
2978 * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
2979 extension of library projects.
2980
2981 * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
2982 path defaults to ".:<prefix>/lib/gnat".
2983 (Parse): For an extending all project, allow direct import of a project
2984 that is virtually extended.
2985
2986 * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
2987 the specified name is directly imported, return its ID. Otherwise, if
2988 an extension of this project is imported, return the ID of the
2989 extension.
2990
2991 2004-10-26 Robert Dewar <dewar@gnat.com>
2992
2993 * s-arit64.adb: (Le3): New function, used by Scaled_Divide
2994 (Sub3): New procedure, used by Scaled_Divide
2995 (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
2996 correct more than one instance of failure to propagate carries
2997 correctly.
2998 (Double_Divide): Handle overflow case of largest negative number
2999 divided by minus one.
3000
3001 * s-arit64.ads (Double_Divide): Document that overflow can occur in
3002 the case of a quotient value out of range.
3003 Fix comments.
3004
3005 2004-10-26 Robert Dewar <dewar@gnat.com>
3006
3007 * s-bitops.adb (Bit_Eq): Remove redundant check.
3008
3009 * s-bitops.ads: Minor comment updates
3010 Change some occurrences of Address to System.Address
3011
3012 * s-carsi8.ads: Fix minor cut-and-paste error in comments
3013
3014 2004-10-26 Ed Schonberg <schonberg@gnat.com>
3015
3016 * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
3017 accessibility check to prefix that is a protected operation.
3018
3019 2004-10-26 Ed Schonberg <schonberg@gnat.com>
3020
3021 * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
3022 empty, post message on stub.
3023
3024 2004-10-26 Ed Schonberg <schonberg@gnat.com>
3025 Javier Miranda <miranda@gnat.com>
3026
3027 * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
3028 current instance appears within a unit that is directly in the context
3029 of the main unit.
3030 Used to determine whether the body of the instance should be analyzed
3031 immediately after its spec, to make its subprogram bodies available
3032 for front-end inlining.
3033 (Analyze_Formal_Array_Type): Cleanup condition that checks that range
3034 constraint is not allowed on the component type (AARM 12.5.3(3))
3035
3036 2004-10-26 Cyrille Comar <comar@act-europe.fr>
3037
3038 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
3039 'Storage_Pool): enhance, document & limit detection of non-sharable
3040 internal pools.
3041
3042 * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
3043
3044 * s-pooglo.ads: Add more documentation now that this pool is properly
3045 documented.
3046
3047 2004-10-26 Ed Schonberg <schonberg@gnat.com>
3048
3049 * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
3050 or protected type with discriminants, do not constrain the
3051 corresponding record type if the subtype declaration has no
3052 discriminant constraints. This can be the case in source code, or in
3053 the subtype declaration created to rename an actual type within an
3054 instantiation.
3055
3056 2004-10-26 Ed Schonberg <schonberg@gnat.com>
3057
3058 * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
3059 different kind of stub (possibly wrong name for file), do not check
3060 for conformance.
3061 (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
3062 includes call to some function that returns an unconstrained type, do
3063 not inline.
3064
3065 2004-10-26 Ed Schonberg <schonberg@gnat.com>
3066
3067 * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
3068 appear in the code for the main unit. Dependencies among units in the
3069 context of the main unit are established when those other units are
3070 compiled. Otherwise spurious elaboration constraints can generate
3071 incorrect elaboration circularities.
3072
3073 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
3074 Ed Schonberg <schonberg@gnat.com>
3075
3076 * sem_util.adb (Is_Aliased_View): Defend against the case where this
3077 subprogram is called with a parameter that is not an object name. This
3078 situation arises for some cases of illegal code, which is diagnosed
3079 later, and in this case it is wrong to call Is_Aliased, as that might
3080 cause a compiler crash.
3081 (Explain_Limited_Type): Refine previous fix to include
3082 inherited components of derived types, to provide complete information.
3083
3084 * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
3085 is the prival for a protected object.
3086 It is necessary to mark this entity as a variable, in addition to
3087 flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
3088 modified to avoid checking the Aliased flag on entities that are not
3089 objects. (Checking that flag for non-objects is erroneous and could
3090 lead to a compiler crash).
3091
3092 2004-10-26 Robert Dewar <dewar@gnat.com>
3093
3094 * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
3095 X_Frac = 0.5, then we know that the number X must be positive.
3096 (Succ): Remove the same redundant test, and also fix the primary test
3097 to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
3098 Minor reformatting
3099 (Decompose): Add fuller comments to spec
3100
3101 2004-10-26 Pascal Obry <obry@gnat.com>
3102
3103 * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
3104 validity (process must have read access). Set to 0 in all other cases.
3105 (STOP_FRAME): Now check for ptr validity to avoid a segmentation
3106 violation on Win32.
3107 (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
3108 segmentation violation.
3109
3110 2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
3111
3112 * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
3113 whose type is a constructed subtype of an aliased object with an
3114 unconstrained nominal subtype, convert the actual to the constructed
3115 subtype before taking its address.
3116
3117 2004-10-26 Vincent Celier <celier@gnat.com>
3118
3119 * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
3120 (Is_Path_Name_Case_Sensitive): New function
3121
3122 * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
3123 (Base_Name, Simple_Name, Current_Directory, Compose,
3124 Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
3125 the result.
3126
3127 2004-10-26 Cyrille Comar <comar@act-europe.fr>
3128 Vasiliy Fofanov <fofanov@act-europe.fr>
3129 Vincent Celier <celier@gnat.com>
3130
3131 * gnat_ugn.texi: Generalize "finding memory problems" section into a
3132 "memory management issues" section and document some of the useful
3133 memory pools provided as part of the GNAT library.
3134 Remove "virtual" from declaration of A::method2 in
3135 the simple example of Ada/C++ mixed system.
3136 Library Projects may be virtually extended: their virtual extensions
3137 are not Library Projects.
3138 Added section on extending project hierarchies.
3139
3140 2004-10-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
3141
3142 * adaint.c (__gnat_get_libraries_from_registry): Cast value
3143 to LPBYTE.
3144 (__gnat_portable_spawn): Remove const.
3145
3146 * mingw32.h (MAXPATHLEN): Check for previous definition.
3147
3148 2004-10-17 Matthias Klose <doko@debian.org>
3149
3150 * gnatvsn.ads: Set gnat library version to 4.0.
3151
3152 2004-10-05 Vincent Celier <celier@gnat.com>
3153
3154 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
3155
3156 2004-10-04 Laurent GUERBY <laurent@guerby.net>
3157
3158 PR ada/15156
3159 * Makefile.in: Define and use RANLIB_FLAGS.
3160
3161 2004-10-04 Pascal Obry <obry@gnat.com>
3162
3163 * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
3164 other x86 platforms).
3165
3166 2004-10-04 Olivier Hainque <hainque@act-europe.fr>
3167
3168 * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
3169 in general and triggers stack alignment adjustment for thread entry
3170 points on targets where this is necessary.
3171
3172 2004-10-04 Bernard Banner <banner@gnat.com>
3173
3174 PR ada/13897
3175
3176 * Makefile.in: Add section for powerpc linux
3177 Add variant i-vxwork-x86.ads
3178
3179 * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
3180
3181 2004-10-04 Olivier Hainque <hainque@act-europe.fr>
3182
3183 * init.c (__gnat_initialize): Call an Ada subprogram to perform the
3184 table registration calls when need be. Ensures no reference to the crt
3185 ctors symbol are issued in the SJLJ case, which avoids possible
3186 undefined symbol errors in the case of modules to be statically linked
3187 with the kernel.
3188
3189 2004-10-04 Javier Miranda <miranda@gnat.com>
3190
3191 * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
3192 in-line the code corresponding to subprogram Analyze_Actuals. In
3193 addition, analyze the actuals only in case of subprogram call.
3194
3195 2004-10-04 Ed Falis <falis@gnat.com>
3196
3197 * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
3198
3199 2004-10-04 Sergey Rybin <rybin@act-europe.fr>
3200
3201 * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
3202 in the documentation.
3203
3204 2004-10-04 Robert Dewar <dewar@gnat.com>
3205
3206 * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
3207 IF and CASE.
3208 (Analyze_Block_Statement): Add circuitry to detect following dead code
3209 (Check_Unreachable_Code): Handle case of block exit
3210
3211 2004-10-04 Robert Dewar <dewar@gnat.com>
3212
3213 * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
3214 (XMatchD): Avoid warning for Logic_Error call
3215
3216 2004-10-04 Robert Dewar <dewar@gnat.com>
3217
3218 * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
3219 consider expressions buried within a procedure actual to be an actual.
3220 This caused some blowups with uses of packed slices within a procedure
3221 actual.
3222
3223 2004-10-04 Robert Dewar <dewar@gnat.com>
3224
3225 * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
3226 longer need to be initialized to zero.
3227 (Get_Simple_Init_Val): Modular packed arrays no longer need to be
3228 initialized to zero.
3229
3230 * checks.adb (Expr_Known_Valid): Packed arrays are now always
3231 considered valid, even if the representation is modular. That's correct
3232 now that we no longer initialize packed modular arrays to zero.
3233
3234 * exp_dbug.ads: Clarify documentation on handling of PAD and JM
3235 suffixes. These are now documented as the only cases in which the
3236 debugger ignores outer records.
3237 Previously, the spec allowed arbitrary suffixes for this purpose.
3238 Change name of LJM to JM for packed array pad records
3239 Create separate section on packed array handling, and add a whole new
3240 set of comments to this section describing the situation with packed
3241 modular types and justification requirements depending on endianness.
3242
3243 2004-10-04 Robert Dewar <dewar@gnat.com>
3244
3245 * a-except.adb: Add a comment for last change
3246
3247 * einfo.ads: Minor spelling correction in comment
3248
3249 * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
3250
3251 * sem_ch11.adb: Fix a case of using | instead of \ for continuation
3252 messages.
3253
3254 * sem_util.ads: Minor comment update
3255
3256 2004-10-04 Ed Schonberg <schonberg@gnat.com>
3257
3258 * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
3259 Inline_Always when in Configurable_Run_Time mode.
3260
3261 * sem_prag.adb (Process_Convention): If entity is an inherited
3262 subprogram, apply convention to parent subprogram if in same scope.
3263 (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
3264 when in Configurable_Run_Time mode.
3265
3266 2004-10-04 Ed Schonberg <schonberg@gnat.com>
3267
3268 * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
3269 class_wide type after component list has been inherited.
3270
3271 2004-10-04 Ed Schonberg <schonberg@gnat.com>
3272
3273 * sem_ch12.adb (Check_Generic_Actuals): New predicate
3274 Denotes_Previous_Actual, to handle properly the case of a private
3275 actual that is also the component type of a subsequent array actual.
3276 The visibility status of the first actual is not affected when the
3277 second is installed.
3278 (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
3279 make fully recursive the treatment of formals of packages declared
3280 with a box.
3281 (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
3282 the above on exit from an instantiation.
3283 (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
3284 current instantiation which is now complete.
3285 (Analyze_Package_Instantiation): No instantiated body is needed if the
3286 main unit is generic. Efficient, and avoid anomalies when a instance
3287 appears in a package accessed through rtsfind.
3288
3289 2004-10-04 Ed Schonberg <schonberg@gnat.com>
3290
3291 * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
3292 do not generate a declaration for a temporary if the call is part of a
3293 library-level instantiation.
3294
3295 2004-10-04 Ed Schonberg <schonberg@gnat.com>
3296
3297 * sem_util.adb (Explain_Limited_Type): Ignore internal components when
3298 searching for a limited component to flag.
3299
3300 * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
3301 expansion of Input, to account for the fact that the implicit call
3302 generated by the attribute reference must freeze the user-defined
3303 stream subprogram. This is only relevant to 'Input, because it can
3304 appear in an object declaration, prior to the body of the subprogram.
3305
3306 * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
3307 expansion can proceed and further errors uncovered.
3308 (Minor clean up): Fix cases of using | instead of \ for continuation
3309 messages.
3310
3311 2004-10-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3312
3313 * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
3314
3315 * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
3316 (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
3317 Use gcc_assert and gcc_unreachable.
3318
3319 * decl.c (gnat_to_gnu_entity, case object): Check and process a
3320 specified alignment before validating size.
3321 (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
3322 stripped-down declaration for the type of the inner field when making
3323 a JM type.
3324
3325 * utils.c (finish_record_type): Do not compute the size in units
3326 incrementally. Instead compute it once for the rep clause case.
3327 Use gcc_assert and gcc_unreachable.
3328
3329 2004-10-04 Vincent Celier <celier@gnat.com>
3330
3331 * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
3332 in file name.
3333 (Is_Valid_Path_Name): Take '/' as a directory separator.
3334
3335 2004-10-04 Vincent Celier <celier@gnat.com>
3336
3337 * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
3338 (Extended_Project) only if Extended_Project is defined, to avoid
3339 assertion error.
3340 (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
3341 resolved path.
3342 (Parse_Single_Project): Ditto.
3343
3344 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
3345 Add_To_Project_Path for virtual projects.
3346
3347 2004-10-04 Vincent Celier <celier@gnat.com>
3348
3349 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
3350 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
3351 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
3352 mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
3353 parameter Options_2.
3354
3355 * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
3356 Build_Dynamic_Library with an empty Options_2.
3357
3358 * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
3359 default anymore.
3360
3361 * makegpr.adb (Get_Imported_Directories.add): Remove trailing
3362 directory separator, if any.
3363 (Gprmake): Do not allow mains on the command line for library projects.
3364 Do not attempt to link when the project is a library project.
3365 (Library_Opts): New table to store Library_Options.
3366 (Build_Library): If Library_Options is specified, pass these options
3367 when building a shared library.
3368
3369 2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
3370
3371 * s-tposen.adb (Service_Entry): The object must be always unlocked at
3372 the end of this procedure now that the unlock operation was inserted
3373 by the expander.
3374
3375 2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
3376
3377 * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
3378 corresponding to the Preallocated_Stacks flags in System.
3379 (Get_Target_Parameters): Including the processing for
3380 Preallocated_Stacks.
3381
3382 * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
3383 system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
3384 system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
3385 system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
3386 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
3387 system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
3388 system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
3389 system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
3390 system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
3391 system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
3392 system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
3393 used to signal whether the compiler creates the required stacks and
3394 descriptors for the different tasks (when True) or it is done by the
3395 underlying operating system at run time (when False).
3396 It is initially set to False in all targets.
3397
3398 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
3399 if it is supported by the target.
3400 (Make_Task_Create_Call): Pass the stack address if it has been
3401 previously created. Otherwise pass a Null_Address.
3402
3403 * snames.adb: Add _stack.
3404
3405 * snames.ads: Add Name_uStack. Required to allow the expander to
3406 statically allocated task stacks.
3407
3408 * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
3409 Stack_Address argument.
3410 Check that its value is equal to Null_Address because this target does
3411 not support the static stack allocation.
3412
3413 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
3414
3415 * usage.adb: Change "pragma inline" to "pragma Inline" in information
3416 and error messages
3417
3418 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
3419
3420 * exp_dist.adb: Split declaration of asynchronous flag out of
3421 Add_RACW_Read_Attribute.
3422 Minor reformatting for better alignment with PolyORB version.
3423 Store the entity for the asynchronous flag of an RACW, rather than the
3424 expression, in the asynchronous flags table. This will allow this flag
3425 to be used in other subprograms beside Add_RACW_Read_Attribute.
3426
3427 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
3428
3429 * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
3430 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
3431 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
3432 g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
3433 g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads: Add new
3434 sockets constant MSG_NOSIGNAL (Linux-specific).
3435 Add new sockets constant MSG_Forced_Flags, list of flags to be set on
3436 all Send operations.
3437 For Linux, set MSG_NOSIGNAL on all send operations to prevent them
3438 from trigerring SIGPIPE.
3439 Rename components to avoid clash with Ada 2005 possible reserved
3440 word 'interface'.
3441 (Check_Selector): When the select system call returns with an error
3442 condition, propagate Socket_Error to the caller.
3443
3444 2004-10-01 Jan Hubicka <jh@suse.cz>
3445
3446 * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
3447
3448 2004-09-23 Robert Dewar <dewar@gnat.com>
3449
3450 PR ada/17540
3451
3452 * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
3453 instead do this at freeze time (we won't do it if there is an address
3454 clause).
3455 Change "pragma inline" to "pragma Inline" in information and error
3456 messages.
3457 Minor reformatting.
3458
3459 * freeze.adb (Check_Address_Clause): Remove previous change, not the
3460 right way of doing things after all.
3461 (Freeze_Entity): For object, set Is_Public for imported entities
3462 unless there is an address clause present.
3463
3464 2004-09-21 Olivier Hainque <hainque@act-europe.fr>
3465
3466 * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
3467 dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
3468 ensures proper handling of types with rep clauses, which might have
3469 their TYPE_SIZE set already.
3470
3471 2004-09-21 Robert Dewar <dewar@gnat.com>
3472
3473 * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
3474 packed array types in both little- and big-endian cases. This change
3475 ensures that we no longer count on the unused bits being initialized
3476 for such types (and in particular ensures that equality testing will
3477 only read the relevant bits).
3478 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
3479 These changes mean that we no longer need to initialize small packed
3480 arrays.
3481 (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
3482 optimization to an LJM field as to its parent field.
3483
3484 * ada-tree.h, trans.c, utils.c, utils2.c:
3485 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
3486
3487 2004-09-20 Jan Hubicka <jh@suse.cz>
3488
3489 * utils.c (gnat_finalize): Remove.
3490 (end_subprog_body): Directly call cgraph_finalize_function;
3491 do not lower the nested functions.
3492
3493 2004-09-20 Robert Dewar <dewar@gnat.com>
3494
3495 PR ada/17540
3496
3497 * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
3498 if an address clause is present, since that means that the Import
3499 should be ignored.
3500
3501 2004-09-20 Arnaud Charlet <charlet@act-europe.fr>
3502
3503 * 5tsystem.ads: Removed, no longer used.
3504
3505 2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
3506 Zack Weinberg <zack@codesourcery.com>
3507
3508 * ada-tree.def: Use tree_code_class enumeration constants
3509 instead of code letters.
3510 * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
3511 Update for new tree-class enumeration constants.
3512
3513 2004-09-17 Vincent Celier <celier@gnat.com>
3514
3515 * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
3516 capabilities of the general project manager.
3517
3518 2004-09-09 Vincent Celier <celier@gnat.com>
3519
3520 * a-direct.ads: Add pragma Ada_05
3521 (Directory_Entry_Type): Give default value to component Kind to avoid
3522 not initialized warnings.
3523
3524 * a-direct.adb (Current_Directory): Remove directory separator at the
3525 end.
3526 (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
3527 an existing directory.
3528 (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
3529 (Size (String)): Function C_Size returns Long_Integer, not File_Size.
3530 Convert the result to File_Size.
3531
3532 * prj.ads: (Project_Error): New exception
3533
3534 * prj-attr.adb: Except in procedure Initialize, Fail comes from
3535 Prj.Com, not from Osint.
3536 (Attrs, Package_Attributes): Tables moved to private part of spec
3537 (Add_Attribute, Add_Unknown_Package): Moved to new child package
3538 Prj.Attr.PM.
3539 (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
3540 Prj.Project_Error after call to Fail.
3541 (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
3542 Fail. Check that package name is not already in use.
3543
3544 * prj-attr.ads: Comment updates to indicate that all subprograms may be
3545 used by tools, not only by the project manager, and to indicate that
3546 exception Prj.Prj_Error may be raised in case of problem.
3547 (Add_Unknown_Package, Add_Attribute): Moved to new child package
3548 Prj.Attr.PM.
3549 (Attrs, Package_Attributes): Table instantiations moved from the body to
3550 the private part to be accessible from Prj.Attr.PM body.
3551
3552 * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
3553 from new package Prj.Attr.PM.
3554 (Parse_Attribute_Declaration): Call Add_Attribute from new package
3555 Prj.Attr.PM.
3556
3557 * Makefile.in: Add prj-attr-pm.o to gnatmake object list
3558
3559 * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
3560 instead of Elaboration_Checks).
3561
3562 * a-calend.adb: Minor reformatting
3563
3564 2004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3565
3566 * gigi.h (maybe_pad_type): New declaration.
3567 (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
3568
3569 * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
3570
3571 * cuintp.c: Convert to use buildN.
3572
3573 * decl.c (maybe_pad_type): No longer static.
3574 (gnat_to_gnu_entity, case E_Function): Handle case of returning by
3575 target pointer.
3576 Convert to use buildN.
3577
3578 * trans.c (call_to_gnu): Add arg GNU_TARGET; support
3579 TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed.
3580 (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
3581 RHS.
3582 (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
3583 (gnat_gimplify_expr, case ADDR_EXPR): New case.
3584 Convert to use buildN.
3585
3586 * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
3587 TREE_READONLY for const.
3588 Convert to use buildN.
3589
3590 * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
3591 (create_var_decl): Refine when TREE_STATIC is set.
3592 Convert to use buildN.
3593
3594 2004-09-09 Gary Dismukes <dismukes@gnat.com>
3595
3596 * gnat_ugn.texi: Delete text relating to checking of ali and object
3597 consistency.
3598
3599 * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
3600 routines.
3601
3602 2004-09-09 Jose Ruiz <ruiz@act-europe.fr>
3603
3604 * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
3605 pragmas recognized by GNAT.
3606
3607 * gnat_rm.texi: Document pragma Detect_Blocking.
3608
3609 * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
3610 raise Program_Error if called from a protected operation.
3611
3612 * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
3613 the protected action nesting level.
3614 (Lock_Read_Only): When pragma Detect_Blocking is active increase the
3615 protected action nesting level.
3616 (Unlock): When pragma Detect_Blocking is active decrease the protected
3617 action nesting level.
3618
3619 * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
3620 Protected_Action_Nesting.
3621
3622 * s-taskin.ads: Adding the field Protected_Action_Nesting to the
3623 Common_ATCB record. It contains the dynamic level of protected action
3624 nesting for each task. It is needed for checking whether potentially
3625 blocking operations are called from protected operations.
3626 (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
3627 Detect_Blocking is active or not in the partition.
3628
3629 * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
3630 raise Program_Error if called from a protected operation.
3631 (Task_Entry_Call): When pragma Detect_Blocking is active, raise
3632 Program_Error if called from a protected operation.
3633 (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
3634 Program_Error if called from a protected operation.
3635
3636 * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
3637 raise Program_Error if called from a protected operation.
3638
3639 * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
3640 raise Program_Error if called from a protected operation, and increase
3641 the protected action nesting level.
3642 (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
3643 Program_Error if called from a protected operation, and increase the
3644 protected action nesting level.
3645 (Unlock_Entries): When pragma Detect_Blocking is active decrease the
3646 protected action nesting level.
3647
3648 * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
3649 raise Program_Error if called from a protected operation, and increase
3650 the protected action nesting level.
3651 (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
3652 Program_Error if called from a protected operation, and increase the
3653 protected action nesting level.
3654 (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
3655 raise Program_Error if called from a protected operation.
3656 (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
3657 active, raise Program_Error if called from a protected operation.
3658 (Unlock_Entry): When pragma Detect_Blocking is active decrease the
3659 protected action nesting level.
3660
3661 * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
3662 insertion of the statement raising Program_Error. The run time
3663 contains the required machinery for handling that.
3664
3665 * sem_util.ads: Change comment associated to procedure
3666 Check_Potentially_Blocking_Operation.
3667 This procedure does not insert a call for raising the exception because
3668 that is currently done by the run time.
3669
3670 * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
3671
3672 * init.c: Add the global variable __gl_detect_blocking that indicates
3673 whether pragma Detect_Blocking is active (1) or not (0). Needed for
3674 making the pragma available at run time.
3675 (__gnat_set_globals): Pass and update the detect_blocking parameter.
3676
3677 * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
3678 pragma Detect_Blocking is active.
3679
3680 * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
3681
3682 * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
3683 DB is found in the ali file. Any unit compiled with pragma
3684 Detect_Blocking active forces its effect in the whole partition.
3685
3686 * a-retide.adb (Delay_Until): Raise Program_Error if pragma
3687 Detect_Blocking is active and delay is called from a protected
3688 operation.
3689
3690 * bindgen.adb (Gen_Adainit_Ada): When generating the call to
3691 __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
3692 Detect_Blocking is active (0 otherwise).
3693 (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
3694 as Detect_Blocking parameter if pragma Detect_Blocking is active (0
3695 otherwise).
3696
3697 2004-09-09 Thomas Quinot <quinot@act-europe.fr>
3698
3699 * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
3700 GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
3701 package.
3702
3703 * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
3704 (Register_Receiving_Stub): Add Subp_Info formal parameter.
3705 Update API in placeholder implemetation of s-parint to reflect changes
3706 in distribution runtime library.
3707
3708 * sem_ch3.adb (Expand_Derived_Record): Rename to
3709 Expand_Record_Extension.
3710
3711 * sem_disp.adb (Check_Controlling_Formals): Improve error message for
3712 primitive operations of potentially distributed object types that have
3713 non-controlling anonymous access formals.
3714
3715 * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
3716 subprogram.
3717 New implementation of expansion for remote access-to-subprogram types,
3718 based on the RACW infrastructure.
3719 This version of sem_dist is compatible with PolyORB/DSA as well as
3720 GLADE.
3721
3722 * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
3723 Asynchrronous that applies to a remote access-to-subprogram type, mark
3724 the underlying RACW type as asynchronous.
3725
3726 * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
3727 __gnat_using_gnu_linker to 1.
3728
3729 * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
3730 g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
3731 GNAT.Perfect_Hash_Generators, and remove the empty
3732 GNAT.Perfect_Hash package.
3733
3734 * atree.adb: Minor reformatting
3735
3736 * exp_ch3.adb (Expand_Derived_Record): Rename to
3737 Expand_Record_Extension.
3738 (Build_Record_Init_Proc.Build_Assignment): The default expression in
3739 a component declaration must remain attached at that point in the
3740 tree so New_Copy_Tree copies it if the enclosing record type is derived.
3741 It is therefore necessary to take a copy of the expression when building
3742 the corresponding assignment statement in the init proc.
3743 As a side effect, in the case of a derived record type, we now see the
3744 original expression, without any rewriting that could have occurred
3745 during expansion of the ancestor type's init proc, and we do not need
3746 to go back to Original_Node.
3747
3748 * exp_ch3.ads (Expand_Derived_Record): Rename to
3749 Expand_Record_Extension.
3750
3751 * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
3752 Returns the RACW type used to implement a remote access-to-subprogram
3753 type.
3754 (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
3755 New subprograms. Used to create a proxy tagged object for a remote
3756 subprogram. The proxy object is used as the designated object
3757 for RAS values on the same partition (unless All_Calls_Remote applies).
3758 (Build_Get_Unique_RP_Call): New subprogram. Build a call to
3759 System.Partition_Interface.Get_Unique_Remote_Pointer.
3760 (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
3761 Renamed from Add_RAS_*_Attribute.
3762 (Add_Receiving_Stubs_To_Declarations): Generate a table of local
3763 subprograms.
3764 New implementation of expansion for remote access-to-subprogram types,
3765 based on the RACW infrastructure.
3766
3767 * exp_dist.ads (Copy_Specification): Update comment to note that this
3768 function can copy the specification from either a subprogram
3769 specification or an access-to-subprogram type definition.
3770
3771 2004-09-09 Ed Schonberg <schonberg@gnat.com>
3772
3773 * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
3774 in an instance, between an explicit subprogram an one inherited from a
3775 type derived from an actual.
3776
3777 * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
3778 add a polling call if the subprogram is to be inlined by the back-end,
3779 to avoid repeated calls with multiple inlinings.
3780
3781 * checks.adb (Apply_Alignment_Check): If the expression in the address
3782 clause is a call whose name is not a static entity (e.g. a dispatching
3783 call), treat as dynamic.
3784
3785 2004-09-09 Robert Dewar <dewar@gnat.com>
3786
3787 * g-trasym.ads: Minor reformatting
3788
3789 * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
3790 packed arrays, since unused bits are expected to be zero for a
3791 comparison.
3792
3793 2004-09-09 Eric Botcazou <ebotcazou@act-europe.fr>
3794
3795 * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
3796 comment.
3797
3798 2004-09-09 Pascal Obry <obry@gnat.com>
3799
3800 * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
3801 enable map file generation. Add the right option to generate the map
3802 file if Map_File is set to True.
3803
3804 * gnatdll.adb (Gen_Map_File): New variable.
3805 (Syntax): Add info about new -m (Map_File) option.
3806 (Parse_Command_Line): Add support for -m option.
3807 (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
3808 Minor reformatting.
3809
3810 2004-09-09 Laurent Pautet <pautet@act-europe.fr>
3811
3812 * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
3813 new gnatdist implementation.
3814 Define a subpackage isolating the output routines specific to this
3815 verbose mode.
3816
3817 2004-09-09 Joel Brobecker <brobecker@gnat.com>
3818
3819 * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
3820
3821 * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
3822
3823 2004-09-09 Cyrille Comar <comar@act-europe.fr>
3824
3825 * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
3826 internal unit.
3827
3828 * opt.ads: Add Ada_Version_Runtime constant used to decide which
3829 version of the language is used to compile the run time.
3830
3831 2004-09-09 Arnaud Charlet <charlet@act-europe.fr>
3832
3833 * sem_util.adb (Requires_Transient_Scope): Re-enable handling
3834 of variable length temporaries for function return now that the
3835 back-end and gigi support it.
3836
3837 2004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3838
3839 * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
3840
3841 * trans.c (struct stmt_group): Delete field GLOBAL.
3842 (gnat_init_stmt_group): Do not initialize it.
3843 (call_to_gnu): Use save_expr, not protect_multiple_eval.
3844 (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
3845 (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
3846 (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
3847 (start_stmt_group): Likewise.
3848 (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
3849
3850 * utils2.c (ggc.h): Include.
3851 (build_call_raise): Call build_int_cst, not build_int_2.
3852
3853 * utils.c (gnat_init_decl_processing): Fix arg to
3854 build_common_tree_nodes.
3855 (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
3856 (gnat_define_builtin): Set built_in_decls.
3857 (init_gigi_decls): Call build_int_cst, not build_int_2.
3858
3859 * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
3860 (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
3861 (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
3862 (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
3863 SET_TYPE_MODULE): Use them.
3864 (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
3865 (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
3866 (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
3867 SET_TYPE_ADA_SIZE): Likewise.
3868 (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
3869 (DECL_CONST_CORRESPONDING_VAR,
3870 SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
3871 (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
3872 (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
3873 (TYPE_RM_SIZE_NUM): New macro.
3874 (TYPE_RM_SIZE): Modified to use above.
3875
3876 * cuintp.c: (build_cst_from_int): New function.
3877 (UI_To_gnu): Use it.
3878
3879 * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
3880 (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
3881 (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
3882 MIN_EXPR for the size, copy it into new.
3883
3884 2004-09-01 Robert Dewar <dewar@gnat.com>
3885
3886 * exp_ch6.adb (Expand_Call): Properly handle validity checks for
3887 packed indexed component where array is an IN OUT formal. This
3888 generated garbage code previously.
3889
3890 * gnat_ugn.texi: Document -fverbose-asm
3891
3892 * gnat-style.texi: Minor updates (note that boolean constants and
3893 variables are joined with AND/OR rather than short circuit forms).
3894
3895 2004-09-01 Ed Schonberg <schonberg@gnat.com>
3896
3897 * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
3898 it is an upward conversion of an untagged type with no representation
3899 change.
3900
3901 2004-09-01 Thomas Quinot <quinot@act-europe.fr>
3902
3903 * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
3904 System.Partition_Interface.
3905
3906 * checks.adb (Apply_Access_Checks): Do not generate checks when
3907 expander is not active (but check for unset reference to prefix of
3908 dereference).
3909
3910 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
3911 pragma Debug as an if statement with a constant condition, for
3912 consistent treatment of entity references contained within the
3913 enclosed procedure call.
3914
3915 2004-09-01 Vincent Celier <celier@gnat.com>
3916
3917 * bindgen.adb: (Set_EA_Last): New procedure
3918 (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
3919 Set_EA_Last.
3920 (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
3921 (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
3922 linked without errors.
3923 (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
3924 ST and EA.
3925 (Gen_Exception_Table_C): Correct same bugs
3926
3927 * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
3928
3929 * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
3930 on Windows, make sure that the drive letter is in upper case.
3931
3932 * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
3933 Windows, when the drive letter is added and Case_Sensitive is True, the
3934 drive letter is forced to upper case.
3935
3936 * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
3937 to Options_2 for the call to MLib.Utl.Gcc.
3938
3939 * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
3940 directory separator when defining BASE_DIR.
3941
3942 2004-09-01 Pascal Obry <obry@gnat.com>
3943
3944 * gprcmd.adb (Extend): Do not output trailing directory separator. This
3945 is not needed and it confuses Windows GNU/make which does not report
3946 directory terminated by a slash as a directory.
3947 (gprcmd): Idem for "pwd" internal command.
3948
3949 * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
3950 target names rewrite to fix regressions with recent version of
3951 GNU/make. Starting with GNU/make 3.80 the pipe character was not
3952 handled properly anymore.
3953
3954 2004-09-01 Andreas Schwab <schwab@suse.de>
3955
3956 * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
3957 * raise.c [!IN_RTS]: Undef abort.
3958
3959 2004-08-27 Nathan Sidwell <nathan@codesourcery.com>
3960
3961 * utils2.c (build_allocator): Use ssize_int.
3962
3963 * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
3964
3965 2004-08-27 Andreas Schwab <schwab@suse.de>
3966
3967 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
3968
3969 2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
3970 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3971
3972 * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
3973
3974 2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
3975
3976 * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
3977 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
3978 * utils.c (init_gigi_decls): Likewise.
3979 * utils2.c (build_call_raise, build_allocator): Likewise.
3980
3981 2004-08-24 Nathan Sidwell <nathan@codesourcery.com>
3982
3983 * utils.c (gnat_init_decl_processing): Adjust
3984 build_common_tree_nodes call.
3985
3986 2004-08-20 Nathan Sidwell <nathan@codesourcery.com>
3987
3988 * utils2.c (build_allocator): Use build_int_cst for negative
3989 size types.
3990
3991 2004-08-18 Richard Henderson <rth@redhat.com>
3992
3993 * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
3994
3995 2004-08-16 Nathan Sidwell <nathan@codesourcery.com>
3996
3997 * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
3998 call.s
3999 * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
4000 (gnat_to_gnu): Likewise.
4001
4002 2004-08-16 Pascal Obry <obry@gnat.com>
4003
4004 * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
4005 backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
4006 option and not mdll anymore. Update comment.
4007
4008 2004-08-16 Pascal Obry <obry@gnat.com>
4009
4010 * bld.adb (Put_Include_Project): Properly handle directory separators
4011 on Windows.
4012
4013 2004-08-16 Ed Schonberg <schonberg@gnat.com>
4014
4015 * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
4016 decreasing the number of allocated junk nodes while searching for the
4017 appropriate subprogram.
4018
4019 2004-08-15 Nathan Sidwell <nathan@codesourcery.com>
4020
4021 * cuintp.c (UI_To_gnu): Use build_int_cst..
4022 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
4023 * utils.c (init_gigi_decls): Likewise.
4024 * utils2.c (build_call_raise): Likewise.
4025
4026 2004-08-13 Olivier Hainque <hainque@act-europe.fr>
4027
4028 * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
4029 for a global aliased object with a variable size and an unconstrained
4030 nominal subtype, pretend there is no initializer if the one we have is
4031 incomplete, and avoid referencing an inexistant component in there. The
4032 part we have will be rebuilt anyway and the reference may confuse
4033 further operations.
4034
4035 2004-08-13 Thomas Quinot <quinot@act-europe.fr>
4036
4037 * einfo.ads: Minor reformatting
4038
4039 * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
4040 restrictions in the ALI if we only want to warn about violations.
4041
4042 2004-08-13 Vincent Celier <celier@gnat.com>
4043
4044 * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
4045 when creating a new Unit_Record in table Units.
4046
4047 * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
4048 that are violated, if any.
4049
4050 * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
4051 add directory separator if path already ends with a directory separator.
4052
4053 2004-08-13 Ed Schonberg <schonberg@gnat.com>
4054
4055 * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
4056 unit, this is an attempt to inline a construct that is not available in
4057 the current restricted mode, so abort rather than trying to continue.
4058
4059 * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
4060 discriminants that rename those of the parent, recover names of
4061 original discriminants for the constraint on the full view of the
4062 parent.
4063 (Complete_Private_Subtype): Do not create a subtype declaration if the
4064 subtype is an itype.
4065
4066 * gnat_rm.texi: Added section on implementation of discriminated
4067 records with default values for discriminants.
4068
4069 2004-08-13 Ed Schonberg <schonberg@gnat.com>
4070
4071 PR ada/15601
4072 * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
4073 the second operand is overloaded.
4074
4075 2004-08-10 Richard Henderson <rth@redhat.com>
4076
4077 * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
4078 add __builtin_alloca.
4079
4080 2004-08-10 Richard Henderson <rth@redhat.com>
4081
4082 * config-lang.in (boot_language): Yes.
4083
4084 2004-08-09 Thomas Quinot <quinot@act-europe.fr>
4085
4086 * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
4087 from complaining on potential uninitialized reference.
4088 Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
4089 new specification and test explicitly for non-zero return value.
4090
4091 * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
4092 returning C.int, to avoid using a derived boolean type.
4093
4094 * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
4095 Duplicate_Subexpr_No_Checks in preference to direct use of
4096 Remove_Side_Effects and New_Copy_Tree.
4097 Clear Comes_From_Source on prefix of 'Size attribute reference.
4098
4099 * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
4100 g-socthi-vxworks.adb: Change calls to
4101 GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
4102 and test explicitly for non-zero return value.
4103
4104 * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
4105 (Is_Socket_In_Set): Declare imported function as returning C.int, to
4106 avoid using a derived boolean type.
4107
4108 2004-08-09 Albert Lee <lee@gnat.com>
4109
4110 * system-irix-n32.ads: Refine tasking priority constants for IRIX.
4111
4112 2004-08-09 Pascal Obry <obry@gnat.com>
4113
4114 * gnat_ugn.texi: Document new way to build DLLs on Windows using
4115 GCC's -shared option.
4116
4117 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
4118 Options_2 parameter (options put after object files).
4119
4120 2004-08-09 Olivier Hainque <hainque@act-europe.fr>
4121
4122 * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
4123 ignore overflows on low and high bounds of an index to also account for
4124 differences in signedness between sizetype and gnu_index_subtype.
4125 These are as legitimate as the ones caused by a lower TYPE_PRECISION
4126 on sizetype.
4127
4128 2004-08-09 Robert Dewar <dewar@gnat.com>
4129
4130 * s-solita.ads, s-solita.adb: Minor reformatting
4131
4132 * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
4133 Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
4134 obsolescent section
4135 Add note that No_Implicit_Conditionals does not suppress
4136 run time constraint checks.
4137
4138 * vms_conv.ads: Minor reformatting
4139
4140 * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
4141 and necessary for following change).
4142 (Mark): Return new format Mark_Id containing sec stack address
4143 (Release): Use sec stack address from Mark_Id avoiding Self call
4144
4145 * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
4146 pointer (cleanup and necessary for following change).
4147 Define Mark_Id as record containing address of secondary stack, that way
4148 Release does not need to find the stack again, decreasing the number of
4149 calls to Self and improving efficiency.
4150
4151 * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
4152
4153 * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
4154 case variable into the individual case branches when possible.
4155
4156 * sem_ch11.adb: Minor reformatting
4157
4158 * prj.ads: Correct spelling of suffixs
4159
4160 * prj-nmsc.adb: Minor reformatting
4161 Correct spelling suffixs throughout (also in identifiers)
4162
4163 * freeze.adb: Minor spelling correction
4164
4165 * exp_ch2.adb: Cleanups to handling of Current_Value
4166 (no functional effect).
4167
4168 * bld.adb: Correct spelling of suffixs
4169
4170 * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
4171
4172 2004-08-09 Ed Schonberg <schonberg@gnat.com>
4173
4174 PR ada/15408
4175
4176 * sem_ch7.adb (Install_Private_Declarations): In the body of the
4177 package or of a child, private entities are both immediately_visible
4178 and not hidden.
4179
4180 2004-08-09 Ed Schonberg <schonberg@gnat.com>
4181
4182 * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
4183 there are no range checks on the value of the literal.
4184
4185 * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
4186 wrapped is the triggering alternative of an asynchronous select, action
4187 statements mustbe inserted before the select itself.
4188
4189 * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
4190 case where the prefix is a protected function call.
4191 (Resolve_Attribute, case 'Access): The attribute reference on a
4192 subprogram is legal in a generic body if the subprogram is declared
4193 elsewhere.
4194
4195 2004-08-09 Vincent Celier <celier@gnat.com>
4196
4197 * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
4198 languages, otherwise building the library may fail with unresolved
4199 symbols.
4200 (Compile_Sources): Do not build libraries if -c switch is used
4201
4202 * gnatlink.adb (Process_Args): New switches -M and -Mmap
4203 (Write_Usage): If map file creation is supported, output new switches
4204 -M and -Mmap.
4205 (Gnatlink): When -M is specified, add the necessary switch(es) to the
4206 gcc call, when supported.
4207
4208 * Makefile.in: Added indepsw.o to the object list for gnatlink
4209 Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
4210
4211 * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
4212 indepsw.adb, indepsw.ads: New files.
4213
4214 2004-08-09 Bernard Banner <banner@gnat.com>
4215
4216 * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
4217
4218 * Makefile.in: add section for vxworks x86
4219
4220 2004-08-09 Hristian Kirtchev <kirtchev@gnat.com>
4221
4222 * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
4223 per-object constrained components where the discriminant is of an
4224 Access type.
4225 (Build_Record_Init_Proc): Add condition to prevent the inheritance of
4226 the parent initialization procedure for derived Unchecked_Unions.
4227 Instead, derived Unchecked_Unions build their own initialization
4228 procedure.
4229 (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
4230 Check the body of the subprogram for details.
4231 (Freeze_Record_Type): Prevent the inheritance of discriminant checking
4232 functions for derived Unchecked_Union types by introducing a condition.
4233 Allow the creation of TSS equality functions for Unchecked_Unions.
4234 (Make_Eq_Case): Rename formal parameter Node to E in function signature.
4235 Add formal parameter Discr to function signature. Discr is used to
4236 control the generated case statement for Unchecked_Union types.
4237 (Make_Eq_If): Rename formal parameter Node to E in function signature.
4238
4239 * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
4240 Unchecked_Unions.
4241 Check the body of the subprogram for details.
4242 (Expand_Composite_Equality): Augment composite type equality to include
4243 correct handling of Unchecked_Union components.
4244 (Expand_N_In): Add condition to detect illegal membership tests when the
4245 subtype mark is a constrained Unchecked_Union and the expression lacks
4246 inferable discriminants, and build a Raise_Program_Error node.
4247 (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
4248 to detect types that contain components of unconstrained Unchecked_Union
4249 subtype. Add condition to detect equality between types that have an
4250 unconstrained Unchecked_Union component, and build a Raise_Program_Error
4251 node. Add condition to detect equality between Unchecked_Union types
4252 that lack inferable discriminants, and build a Raise_Program_Error node.
4253 Otherwise build a TSS equality function call.
4254 (Expand_N_Type_Conversion): Add condition to detect illegal conversions
4255 from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
4256 with the operand lacking inferable discriminants, and build a Raise_
4257 Program_Error node.
4258 (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
4259 composite equality.
4260 (Has_Inferable_Discriminants): Implement new predicate for objects and
4261 expressions of Unchecked_Union type. Check the body of subprogram for
4262 details.
4263 (Has_Unconstrained_UU_Components): Add function
4264 Component_Is_Unconstrained_UU. It is used to detect whether a single
4265 component is of an unconstrained Unchecked_Union subtype. Add function
4266 Variant_Is_Unconstrained_UU. It is used to detect whether a single
4267 component inside a variant is of an unconstrained Unchecked_Union type.
4268
4269 * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
4270 inferred discriminant values. Add condition to generate a case
4271 statement with an inferred discriminant as the switch.
4272 (Make_Component_List_Assign): Introduce a Boolean flag that determines
4273 the behaviour of the subprogram in the presence of an Unchecked_Union.
4274 Add condition to trigger the usage of the inferred discriminant value
4275 as the generated case statement switch.
4276 (Make_Field_Assign): Introduce a Boolean flag that determines the
4277 behaviour of the subprogram in the presence of an Unchecked_Union. Add
4278 condition to trigger the usage of the inferred discriminant value as
4279 the right-hand side of the generated assignment.
4280
4281 * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
4282 parameter generation when dealing with Unchecked_Unions.
4283
4284 * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
4285 checks for Unchecked_Unions.
4286
4287 * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
4288
4289 * exp_attr.adb (Expand_N_Attribute_Reference): Produce
4290 Raise_Program_Error nodes for the execution of Read and Write
4291 attributes of Unchecked_Union types and the execution of Input and
4292 Output attributes of Unchecked_Union types that lack default
4293 discriminant values.
4294
4295 * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
4296 Unchecked_Union. Add procedure Check_Component. It is used to inspect
4297 per-object constrained components of Unchecked_Unions for being
4298 Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
4299 check individual components withing a variant.
4300
4301 * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
4302 comparison of Unchecked_Unions.
4303 (Resolve_Equality_OP): Remove guard that prevents equality between
4304 Unchecked_Unions.
4305
4306 * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
4307 of component subtypes for Unchecked_Union components.
4308 (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
4309 since it is the actual subtype.
4310
4311 * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
4312 pass of Unchecked_Union subtypes as generic actuals to formal types
4313 that lack known_discriminant_parts or that are derived Unchecked_Union
4314 types, and do nothing. In any other case, produce an error message.
4315
4316 * sem_ch3.adb (Analyze_Component_Declaration): Add function
4317 Contains_POC. It determines whether a constraint uses the discriminant
4318 of an enclosing record type.
4319 Add condition to detect per-object constrained component and set the
4320 appropriate flag.
4321 (Derived_Type_Declaration): Remove guard that prevents derivation from
4322 Unchecked_Union types.
4323 (Process_Subtype): Remove quard that prevents the creation of Unchecked_
4324 Union subtypes.
4325
4326 * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
4327 references to Unchecked_Union discriminants.
4328
4329 * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
4330 formal generation when dealing with Unchecked_Unions.
4331 (Set_Actual_Subtypes): Add condition to prevent generation of actual
4332 subtypes for Unchecked_Unions.
4333
4334 * sem_ch7.adb (Analyze_Package_Specification): Add procedure
4335 Inspect_Unchecked_Union_Completion. It is used to detect incorrect
4336 completions of discriminated partial views by Unchecked_Unions and
4337 produce an error message.
4338
4339 2004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4340
4341 * trans.c (struct stmt_group): New field, GLOBAL.
4342 (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
4343 (struct elab_info): New struct.
4344 (elab_info_list, gnu_elab_proc_stack): New variables.
4345 (Compilation_Unit_to_gnu): New procedure.
4346 (gigi): Call it and also handle elaboration procs we've saved.
4347 (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
4348 global field from parent.
4349 (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
4350 (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
4351 (start_stmt_group): Initialize global field from parent.
4352 (add_decl_expr): Set to global for current statement group.
4353 (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
4354 post.
4355
4356 * utils.c (global_bindings_p): True when no current_function_decl; no
4357 longer check current_binding_level.
4358
4359 2004-08-09 Ben Brosgol <brosgol@gnat.com>
4360
4361 * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
4362 choice.
4363
4364 * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
4365
4366 2004-08-06 Andreas Schwab <schwab@suse.de>
4367
4368 * utils.c (gnat_define_builtin): Remove second parameter of
4369 make_decl_rtl.
4370 (begin_subprog_body): Likewise.
4371
4372 2004-07-26 Arnaud Charlet <charlet@act-europe.fr>
4373
4374 * sem_util.adb (Requires_Transient_Scope): Temporarily disable
4375 optimization, not supported by the tree-ssa back-end.
4376
4377 2004-07-26 Olivier Hainque <hainque@act-europe.fr>
4378
4379 * s-mastop-irix.adb: Update comments.
4380
4381 * a-except.adb (Exception_Information): Raise Constraint_Error if
4382 exception Id is Null_Id.
4383 This is required behavior, which is more reliably and clearly checked
4384 at the top level interface level.
4385
4386 2004-07-26 Javier Miranda <miranda@gnat.com>
4387
4388 * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
4389 call if a component has no default_expression and the box is used.
4390
4391 * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
4392 default_expression and you use box, it behaves as if you had declared a
4393 stand-alone object.
4394 (Resolve_Record_Aggregate): If a component has no default_expression and
4395 you use box, it behaves as if you had declared a stand-alone object.
4396
4397 * sem_ch10.adb (Install_Siblings): Do not make visible the private
4398 entities of private-with siblings.
4399
4400 2004-07-26 Ed Schonberg <schonberg@gnat.com>
4401
4402 * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
4403 for a component of an itype, set the parent pointer for analysis,
4404 there is no list in which to insert it.
4405
4406 * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
4407 bona-fide renamings, not for inherited operations.
4408
4409 * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
4410 actual for a formal that is an access parameter, create local
4411 finalization list even if the expression is not an aggregate.
4412
4413 2004-07-26 Ed Schonberg <schonberg@gnat.com>
4414
4415 PR ada/16213
4416 * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
4417 Diagnose properly illegal subprogram renamings that are library units.
4418
4419 2004-07-26 Ed Schonberg <schonberg@gnat.com>
4420
4421 PR ada/15588
4422 * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
4423 conversion rewritten as an unchecked conversion, check that original
4424 expression is a variable.
4425
4426 * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
4427 unchecked_conversion, create new node rather than rewriting in place,
4428 to preserve original construct.
4429
4430 2004-07-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4431
4432 * gigi.h (gnat_expand_body): Deleted.
4433
4434 * Make-lang.in: (trans.o): Depends on function.h.
4435
4436 * misc.c: (gnat_expand_body): Moved to here.
4437
4438 * trans.c (gnat_expand_body_1): Deleted.
4439 (gnat_expand_body): Moved from here.
4440 (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
4441 (add_stmt): Check for marked visited with global_bindings_p.
4442 (gnat_gimplify_expr, case COMPONENT_REF): New case.
4443 (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
4444
4445 * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
4446 VIEW_CONVERT_EXPR if not operation type.
4447
4448 * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
4449 fat pointer.
4450
4451 * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
4452 changes: reformatting of negation operators, removing unneeded
4453 inequality comparison with zero, converting equality comparisons with
4454 zero to negations, changing int/0/1 to bool/false/true, replace calls
4455 to gigi_abort with abort, and various other similar changes.
4456
4457 2004-07-26 Vincent Celier <celier@gnat.com>
4458
4459 * gnatcmd.adb (GNATCmd): Add processing for new built-in command
4460 "setup".
4461
4462 * make.adb (Gnatmake): Fail when a library is not present and there is
4463 no object directory.
4464
4465 * mlib-prj.adb (Check_Library): No need to check if the library needs
4466 to be rebuilt if there is no object directory, hence no object files
4467 to build the library.
4468
4469 * opt.ads (Setup_Projects): New Boolean flag.
4470
4471 * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
4472 Location.
4473 Create directory when Kind /= "" and in "gnat setup". Report error if
4474 directory cannot be created.
4475 (Ada_Check): Create library interface copy dir if it does not exist
4476 and we are in "gnat setup".
4477 (Find_Sources): No error if in "gnat setup" and no Ada sources were
4478 found.
4479 (Language_Independent_Check): Create object directory, exec directory
4480 and/or library directory if they do not exist and we are in
4481 "gnat setup".
4482
4483 * vms_conv.ads: (Command_Type): New command Setup.
4484
4485 * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
4486
4487 * vms_data.ads: Add qualifiers/switches for new built-in command
4488 "setup".
4489
4490 2004-07-25 Richard Henderson <rth@redhat.com>
4491
4492 * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
4493 DECL_IGNORED_P on RESULT_DECL.
4494
4495 2004-07-20 Olivier Hainque <hainque@act-europe.fr>
4496
4497 * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
4498 allocation and potentially overflowing update with
4499 Tailored_Exception_Information. Use the sec-stack free procedural
4500 interface to output Exception_Information instead.
4501
4502 * a-except.adb (To_Stderr): New subprogram for character, and string
4503 version moved from a-exextr to be visible from other separate units.
4504 (Tailored_Exception_Information): Remove the procedural version,
4505 previously used by the default Last_Chance_Handler and not any more.
4506 Adjust various comments.
4507
4508 * a-exexda.adb: Generalize the exception information procedural
4509 interface, to minimize the use of secondary stack and the need for
4510 local buffers when the info is to be output to stderr:
4511 (Address_Image): Removed.
4512 (Append_Info_Character): New subprogram, checking for overflows and
4513 outputing to stderr if buffer to fill is of length 0.
4514 (Append_Info_String): Output to stderr if buffer to fill is of length 0.
4515 (Append_Info_Address, Append_Info_Exception_Name,
4516 Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
4517 Append_Info_Basic_Exception_Traceback,
4518 Append_Info_Exception_Information): New subprograms.
4519 (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
4520 (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
4521 Exception_Info_Maxlength, Exception_Name_Length,
4522 Exception_Message_Length): New subprograms.
4523 (Exception_Information): Use Append_Info_Exception_Information.
4524 (Tailored_Exception_Information): Use
4525 Append_Info_Basic_Exception_Information.
4526 Export services for the default Last_Chance_Handler.
4527
4528 * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
4529 other separate units.
4530
4531 2004-07-20 Vincent Celier <celier@gnat.com>
4532
4533 * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
4534
4535 2004-07-20 Ed Schonberg <schonberg@gnat.com>
4536
4537 * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
4538 emit itype references for the designated types of component types that
4539 are declared outside of the full record declaration, and that may
4540 denote a partial view of that record type.
4541
4542 2004-07-20 Ed Schonberg <schonberg@gnat.com>
4543
4544 PR ada/15607
4545 * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
4546 which is the designated type in an access component declaration, to the
4547 list of incomplete dependents of the parent type, to avoid elaboration
4548 issues with out-of-scope subtypes.
4549 (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
4550 full view of the parent.
4551
4552 2004-07-20 Ed Schonberg <schonberg@gnat.com>
4553
4554 PR ada/15610
4555 * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
4556 entities that are hidden, such as references to generic actuals
4557 outside an instance.
4558
4559 2004-07-20 Javier Miranda <miranda@gnat.com>
4560
4561 * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
4562 support to the new notation.
4563 (Analyze_Selected_Component): Add call to Try_Object_Operation.
4564
4565 2004-07-20 Jose Ruiz <ruiz@act-europe.fr>
4566
4567 * s-taprob.adb: Adding the elaboration code required for initializing
4568 the tasking soft links that are common to the full and the restricted
4569 run times.
4570
4571 * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
4572 restricted run time has been moved to the package
4573 System.Soft_Links.Tasking.
4574
4575 * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
4576 restricted run time has been moved to the package
4577 System.Soft_Links.Tasking.
4578
4579 * Makefile.rtl: Add entry for s-solita.o in run-time library list.
4580
4581 * s-solita.ads, s-solita.adb: New files.
4582
4583 2004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4584
4585 * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
4586 Case_Statement_to_gnu): Split off from gnat_to_gnu.
4587 (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
4588 Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
4589 Exception_Handler_to_gnu_zcx): Likewise.
4590
4591 2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
4592
4593 * gigi.h (builtin_function): Declare.
4594
4595 2004-07-15 Robert Dewar <dewar@gnat.com>
4596
4597 * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
4598 reformatting
4599
4600 * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
4601 access values as an example of a warning.
4602
4603 * gnat_rm.texi: Document new attribute Has_Access_Values
4604
4605 * gnat-style.texi: Document that box comments belong on nested
4606 subprograms
4607
4608 * sem_util.ads (Has_Access_Values): Improved documentation
4609
4610 * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
4611
4612 * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
4613 (Process_Interface_Name): Call to this new procedure
4614 (Set_Extended_Import_Export_External_Name): Call to this new procedure
4615
4616 * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
4617
4618 * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
4619
4620 * einfo.ads: Minor comment typo fixed
4621
4622 2004-07-15 Jose Ruiz <ruiz@act-europe.fr>
4623
4624 * snames.adb: Add _atcb.
4625
4626 * snames.ads: Add Name_uATCB.
4627
4628 * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
4629 (in the expanded code) when using the restricted run time.
4630
4631 * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
4632 a in parameter in order to allow ATCBs to be preallocated (in the
4633 expanded code).
4634
4635 * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
4636 order to allow ATCBs to be preallocated. In case of error, the ATCB is
4637 deallocated in System.Tasking.Stages.
4638
4639 * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
4640 order to allow ATCBs to be preallocated.
4641
4642 * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
4643 here. It was previously done in Initialize_ATCB.
4644
4645 * rtsfind.ads: Make the Ada_Task_Control_Block visible.
4646
4647 * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
4648 Restricted run time.
4649
4650 * exp_ch3.adb: When using the Restricted run time, pass the
4651 preallocated Ada_Task_Control_Block when creating a task.
4652
4653 2004-07-15 Ed Schonberg <schonberg@gnat.com>
4654
4655 * sem_util.adb (Normalize_Actuals): If there are no actuals on a
4656 function call that is itself an actual in an enclosing call, diagnose
4657 problem here rather than assuming that resolution will catch it.
4658
4659 * sem_ch7.adb (Analyze_Package_Specification): If the specification is
4660 the local copy of a generic unit for a formal package, and the generic
4661 is a child unit, install private part of ancestors before compiling
4662 private part of spec.
4663
4664 * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
4665 use scope entities rather than tree structures, to handle properly
4666 parent units that are instances rewritten as bodies for inlining
4667 purposes.
4668
4669 * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
4670 Remove_Parents): Handle properly a parent unit that is an
4671 instantiation, when the unit has been rewritten as a body for inlining
4672 purposes.
4673
4674 * par.adb (Goto_List): Global variable to collect goto statements in a
4675 given unit, for use in detecting natural loops.
4676
4677 * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
4678 use in detecting natural loops.
4679
4680 * par-labl.adb (Find_Natural_Loops): Recognize loops create by
4681 backwards goto's, and rewrite as a infinite loop, to improve locality
4682 of temporaries.
4683
4684 * exp_util.adb (Force_Evaluation): Recognize a left-hand side
4685 subcomponent that includes an indexed reference, to prevent the
4686 generation of copies that would miscompile the desired assignment
4687 statement.
4688 (Build_Task_Image_Decls): Add a numeric suffix to
4689 generated name for string variable, to avoid spurious conflicts with
4690 the name of the type of a single protected object.
4691
4692 * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
4693 loop with an explicit exit statement, to avoid generating an
4694 out-of-range value with 'Succ leading to spurious constraint_errors
4695 when compiling with -gnatVo.
4696
4697 2004-07-15 Thomas Quinot <quinot@act-europe.fr>
4698
4699 * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
4700 might not be analyzed yet, even if its Etype is already set (case of an
4701 unchecked conversion built using Unchecked_Convert_To, for example).
4702 If the prefix has already been analyzed, this will be a nop anyway.
4703
4704 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
4705 controller type, or an assignment of a record type with controlled
4706 components, copy only user data, and leave the finalization chain
4707 pointers untouched.
4708
4709 2004-07-15 Vincent Celier <celier@gnat.com>
4710
4711 * make.adb (Collect_Arguments): Improve error message when attempting
4712 to compile a source not part of any project, when -x is not used.
4713
4714 * prj.ads: (Defined_Variable_Kind): New subtype
4715
4716 * prj-attr.adb (Register_New_Package): Two new procedures to register
4717 a package with or without its attributes.
4718 (Register_New_Attribute): Mew procedure to register a new attribute in a
4719 package.
4720 New attribute oriented subprograms: Attribute_Node_Id_Of,
4721 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
4722 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
4723 Next_Attribute.
4724 New package oriented subprograms: Package_Node_Id_Of,
4725 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
4726
4727 * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
4728 type.
4729 (Package_Node_Id): Now a private, self initialized type
4730 (Register_New_Package): New procedure to register a package with its
4731 attributes.
4732 New attribute oriented subprograms: Attribute_Node_Id_Of,
4733 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
4734 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
4735 Next_Attribute.
4736 New package oriented subprograms: Package_Node_Id_Of,
4737 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
4738
4739 * prj-dect.adb (Parse_Attribute_Declaration,
4740 Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
4741
4742 * prj-makr.adb (Make): Parse existing project file before creating
4743 other files. Fail if there was an error during parsing.
4744
4745 * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
4746 new spec of Prj.Attr.
4747
4748 * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
4749 to new spec of Prj.Attr.
4750
4751 2004-07-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4752
4753 * utils2.c: Fix typo in comment.
4754
4755 2004-07-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4756
4757 * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
4758 * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
4759
4760 2004-07-14 Andreas Schwab <schwab@suse.de>
4761
4762 * trans.c (gnat_init_stmt_group): Remove duplicate definition.
4763
4764 2004-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4765
4766 * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
4767 object type.
4768 (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
4769 TYPE_STUB_DECL.
4770
4771 * misc.c (gnat_types_compatible_p): New function.
4772 (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
4773 (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
4774
4775 * trans.c (gigi): Move processing of main N_Compilation_Unit here.
4776 (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
4777 (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
4778 (mark_visited): Don't mark dummy type.
4779 (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
4780 parameter, we must remove any LJM building from GNU_NAME.
4781 (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
4782 (pos_to_constructor): Use int_const_binop.
4783 (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
4784 PARM_DECL.
4785
4786 * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
4787 (gnat_pushlevel): Set TREE_USE on BLOCK node.
4788 (gnat_install_builtins): Add __builtin_memset.
4789
4790 2004-07-13 Olivier Hainque <hainque@act-europe.fr>
4791
4792 * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
4793 for a renaming, stabilize the initialization expression if we are at a
4794 local level. At the local level, uses of the renaming may be performed
4795 by a direct dereference of the initializing expression, and we don't
4796 want possible variables there to be evaluated for every use.
4797
4798 * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
4799 Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
4800 them on the way. Account for the fact that we may introduce side
4801 effects in the process.
4802
4803 2004-07-13 Richard Henderson <rth@redhat.com>
4804
4805 * misc.c (default_pass_by_ref): Use pass_by_reference.
4806
4807 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
4808
4809 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
4810 LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
4811
4812 2004-07-08 Richard Henderson <rth@redhat.com>
4813
4814 * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
4815 commentary.
4816
4817 2004-07-06 Vincent Celier <celier@gnat.com>
4818
4819 * vms_conv.ads: Minor reformatting.
4820 Alphabetical order for enumerated values of type Command_Type, to have
4821 the command in alphabetical order for the usage.
4822
4823 * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
4824 the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
4825
4826 * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
4827
4828 * makegpr.adb (Global_Archive_Exists): New global Boolean variable
4829 (Add_Archive_Path): Only add the global archive if there is one.
4830 (Build_Global_Archive): Set Global_Archive_Exists depending if there is
4831 or not any object file to put in the global archive, and don't build
4832 a global archive if there is none.
4833 (X_Switches): New table
4834 (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
4835 in the X_Switches table, if any.
4836 (Initialize): Make sure the X_Switches table is empty
4837 (Scan_Arg): Record -X switches in table X_Switches
4838
4839 * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
4840
4841 * make.adb: Minor comment fix
4842
4843 * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
4844 invoked with directory information, add the directory in front of the
4845 path.
4846
4847 * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
4848 invoked with directory information, add the directory in front of the
4849 path.
4850
4851 * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
4852 when Keep_Temporary_Files is False.
4853 (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
4854 directory information, add the directory in front of the path.
4855 When not on VMS, handle new switch -dn before the command to set
4856 Keep_Temporary_Files to True.
4857 (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
4858 everywhere.
4859
4860 * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
4861 invoked with directory information, add the directory in front of the
4862 path.
4863
4864 2004-07-06 Thomas Quinot <quinot@act-europe.fr>
4865
4866 * snames.ads, snames.adb (Name_Stub): New name for the distributed
4867 systems annex.
4868
4869 * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
4870 New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
4871
4872 * g-socket.adb (To_Timeval): Fix incorrect conversion of
4873 Selector_Duration to Timeval for the case of 0.0.
4874
4875 * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
4876 documentation from Evolve_And_Then.
4877
4878 2004-07-06 Jose Ruiz <ruiz@act-europe.fr>
4879
4880 * s-taprop-tru64.adb, s-taprop-os2.adb,
4881 s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
4882
4883 2004-07-06 Robert Dewar <dewar@gnat.com>
4884
4885 * s-osinte-hpux.ads, s-osinte-freebsd.ads,
4886 s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
4887 s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
4888 s-interr-sigaction.adb, s-taprop-irix-athread.adb,
4889 s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
4890 s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
4891 s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
4892 s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
4893 a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
4894 a-tags.ads, bindgen.ads, checks.adb, checks.adb,
4895 csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
4896 exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
4897 g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
4898 i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
4899 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
4900 sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
4901 sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
4902 s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
4903 s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
4904 s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
4905 vms_data.ads: Minor reformatting,
4906 Fix bad box comment format.
4907
4908 * gnat_rm.texi: Fix minor grammatical error
4909
4910 * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
4911
4912 * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
4913 more cases of discriminated records to be recognized as not needing a
4914 secondary stack.
4915 (Has_Access_Values): New function.
4916
4917 * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
4918
4919 * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
4920 Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
4921 with LRM terminology).
4922 Change terminology in comments primitive type => elementary type.
4923
4924 2004-07-06 Ed Schonberg <schonberg@gnat.com>
4925
4926 PR ada/15602
4927 * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
4928 parameters do not impose any requirements on the presence of a body.
4929
4930 2004-07-06 Ed Schonberg <schonberg@gnat.com>
4931
4932 PR ada/15593
4933 * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
4934 compilation unit and is in an open scope at the point of instantiation,
4935 assume that a body may be present later.
4936
4937 2004-07-06 Ed Schonberg <schonberg@gnat.com>
4938
4939 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
4940 Improve error message when specified size is not supported.
4941
4942 * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
4943 is never a primitive operation.
4944
4945 2004-07-05 Andreas Schwab <schwab@suse.de>
4946
4947 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
4948 RECORD_OR_UNION_CHECK.
4949 (TYPE_CONTAINS_TEMPLATE_P): Likewise.
4950
4951 2004-07-04 Kelley Cook <kcook@gcc.gnu.org>
4952
4953 * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
4954 dependency on xgnatugn, instead build it via a submake.
4955 (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
4956
4957 2004-07-04 Richard Henderson <rth@redhat.com>
4958
4959 * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
4960
4961 2004-07-01 Richard Henderson <rth@redhat.com>
4962
4963 * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
4964 * utils.c (max_size): Likewise.
4965
4966 2004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4967
4968 * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
4969 and rest_of_type_compilation; add arg to create_*_decl.
4970 (annotate_decl_with_node): Deleted.
4971 (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
4972 * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
4973 (get_current_block_context, gnat_pushdecl): New declarations.
4974 (gnat_init_stmt_group): Likewise.
4975 (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
4976 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
4977 (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
4978 (gnat_init): Call gnat_init_stmt_group.
4979 * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
4980 (gnu_pending_elaboration_list): Deleted.
4981 (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
4982 (gigi): Rearrange initialization calls and move some to last above.
4983 (gnat_to_gnu): If statement and not in procedure, go into elab proc.
4984 Delete calls to add_decl_expr; add arg to create_*_decl.
4985 (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
4986 (gnat_to_gnu, case N_Subprogram_Body): Move some code to
4987 begin_subprog_body and call it.
4988 Don't push and pop ggc context.
4989 (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
4990 (add_stmt): Remove handling of DECL_EXPR from here.
4991 If not in function, mark visited.
4992 (add_decl_expr): Put global at top level.
4993 Check for cases of DECL_INITIAL we have to handle here.
4994 (process_type): Add extra arg to create_type_decl.
4995 (build_unit_elab): Rework to just gimplify.
4996 * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
4997 (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
4998 (get_pending_elaborations, pending_elaborations_p): Likewise.
4999 (push_pending_elaborations, pop_pending_elaborations): Likewise.
5000 (get_elaboration_location, insert_elaboration_list): Likewise.
5001 (gnat_binding_level): Renamed from ada_binding_level.
5002 (init_gnat_to_gnu): Don't clear pending_elaborations.
5003 (global_bindings_p): Treat as global if no current_binding_level.
5004 (set_current_block_context): New function.
5005 (gnat_pushdecl): Renamed from pushdecl; major rework.
5006 All callers changed.
5007 (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
5008 (finish_record_type): Call call pushdecl for stub decl.
5009 (function_nesting_depth): Deleted.
5010 (begin_subprog_body): Delete obsolete code.
5011 * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
5012
5013 2004-06-28 Robert Dewar <dewar@gnat.com>
5014
5015 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
5016 mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
5017 mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
5018 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
5019 a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
5020
5021 * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
5022 deal with problem of inefficient slices on machines with strict
5023 alignment, when the slice is a component of a composite.
5024
5025 * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
5026 machines, we need the check there as well.
5027
5028 2004-06-28 Ed Schonberg <schonberg@gnat.com>
5029
5030 * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
5031 determine safe copying direction for overlapping slice assignments
5032 when component is controlled.
5033
5034 * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
5035 formal derived type in the actual for a formal package are visible in
5036 the enclosing instance.
5037
5038 2004-06-28 Ed Schonberg <schonberg@gnat.com>
5039
5040 PR ada/15600
5041 * sem_util.adb (Trace_Components): Diagnose properly an illegal
5042 circularity involving a private type whose completion includes a
5043 self-referential component.
5044 (Enter_Name): Use Is_Inherited_Operation to distinguish a source
5045 renaming or an instantiation from an implicit derived operation.
5046
5047 2004-06-28 Pascal Obry <obry@gnat.com>
5048
5049 * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
5050 DLL.
5051 (Library_File_Name_For): Idem.
5052
5053 2004-06-28 Matthew Gingell <gingell@gnat.com>
5054
5055 * g-traceb.ads: Add explanatory note on the format of addresses
5056 expected by addr2line.
5057
5058 2004-06-28 Jerome Guitton <guitton@act-europe.fr>
5059
5060 * Makefile.in: Force debugging information on s-tasdeb.adb,
5061 a-except.adb and s-assert.adb needed by the debugger.
5062
5063 2004-06-28 Vincent Celier <celier@gnat.com>
5064
5065 * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
5066 Need_To_Build_Lib.
5067 (Gnatmake): Ditto.
5068
5069 * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
5070
5071 * prj.adb: Minor reformatting
5072 (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
5073
5074 * prj.ads: Comment updates
5075 Minor reformatting
5076 (Project_Data): Change Flag1 to Need_To_Build_Lib.
5077 Remove Flag2: not used.
5078
5079 * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
5080 declaration.
5081
5082 * gnat_ugn.texi: Put a "null;" declaration in one project file example
5083
5084 * gnat_rm.texi: Document Empty declarations "null;".
5085
5086 * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
5087 front of the linker options.
5088 (Link_Foreign): Put the global archives and the libraries in front of
5089 the linker options.
5090
5091 2004-06-28 Javier Miranda <miranda@gnat.com>
5092
5093 * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
5094 (RTU_Loaded): Code cleanup
5095 (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
5096 withed predefined units.
5097
5098 * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
5099 explicitly withed predefined units.
5100 Fix typo in comment
5101
5102 * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
5103 explicitly withed predefined units.
5104
5105 2004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5106
5107 * ada-tree.def (DECL_STMT): Deleted.
5108 * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
5109 (DECL_STMT_VAR): Deleted.
5110 * decl.c: add_decl_stmt now add_decl_expr.
5111 * gigi.h: Likewise.
5112 * trans.c: Likewise.
5113 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
5114 (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
5115 (add_stmt): Only handle padded type here.
5116 (add_stmt_with_node): Allow gnat_node to not be present.
5117 (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
5118 (gnat_gimplify_stmt, case DECL_STMT): Deleted.
5119 (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
5120 make a SAVE_EXPR for the entire fat pointer.
5121 * utils.c (pushdecl): Walk a DECL_EXPR in global case.
5122 (create_index_type): Make a DECL_EXPR.
5123 (end_subprog_body): Don't call allocate_struct_function here but
5124 do clear cfun.
5125
5126 2004-06-25 Pascal Obry <obry@gnat.com>
5127
5128 * makegpr.adb (Build_Library): Remove parameter Lib_Address and
5129 Relocatable from Build_Dynamic_Library call.
5130
5131 * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
5132 Relocatable are now synonym.
5133
5134 * Makefile.in: Use s-parame-mingw.adb on MingW platform.
5135
5136 * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
5137 Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
5138 call.
5139
5140 * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
5141 Lib_Address and Relocatable.
5142 (Default_DLL_Address): Removed.
5143
5144 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
5145 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
5146 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
5147 (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
5148 (Default_DLL_Address): Removed.
5149
5150 * mlib-tgt-mingw.adb: Ditto.
5151 (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
5152
5153 * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
5154 the initial thread stack size.
5155
5156 * a-strmap.ads: Move package L to private part as it is not used in
5157 the spec. Found while reading code.
5158
5159 2004-06-25 Olivier Hainque <hainque@act-europe.fr>
5160
5161 * tracebak.c: Introduce support for a GCC infrastructure based
5162 implementation of __gnat_backtrace.
5163
5164 * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
5165 any more. Use accessors instead. This eases maintenance and relaxes
5166 some alignment constraints.
5167 (_GNAT_Exception structure): Remove the Ada specific fields
5168 (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
5169 a-exexpr.adb.
5170 (is_handled_by, __gnat_eh_personality): Replace component references to
5171 exception structure by use of the new accessors.
5172
5173 * init.c (__gnat_initialize): Adjust comments to match the just
5174 reverted meaning of the -static link-time option.
5175
5176 * adaint.c (convert_addresses): Arrange not to define a stub for
5177 mips-irix any more, as we now want to rely on a real version from a
5178 recent libaddr2line.
5179
5180 * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
5181 the personality routine can use them and not have to rely on a C
5182 counterpart of the record anymore. This simplifies maintenance and
5183 relaxes the constraint of having Standard'Maximum_Alignment match
5184 BIGGEST_ALIGNMENT.
5185 Update comments, and add a section on the common header alignment issue.
5186
5187 2004-06-25 Geert Bosch <bosch@gnat.com>
5188
5189 * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
5190 polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
5191
5192 2004-06-25 Robert Dewar <dewar@gnat.com>
5193
5194 * gnat_rm.texi: Fix section on component clauses to indicate that the
5195 restriction on byte boundary placement still applies for bit packed
5196 arrays.
5197 Add comment on stack usage from Initialize_Scalars
5198
5199 * gnat_ugn.texi: Add documentation for -gnatyLnnn
5200
5201 * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
5202 limiting nesting level.
5203
5204 * usage.adb: Add line for -gnatyLnnn switch
5205
5206 * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
5207 sem_ch13.adb, exp_aggr.adb: Minor reformatting
5208
5209 * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
5210 type as well as on the subtype. This corrects a problem in freeze in
5211 setting alignments of atomic types.
5212
5213 * sem_eval.ads: Minor comment typo fixed
5214
5215 * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
5216 level. Minor reformatting.
5217
5218 * fname.adb (Is_Predefined_File_Name): Require a letter after the
5219 minus sign. This means that file names like a--b.adb will not be
5220 considered predefined.
5221
5222 * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
5223 record Test new flag and give diagnostic for bad component clause.
5224 (Freeze_Entity): Set alignment of array from component alignment in
5225 cases where this is safe to do.
5226
5227 * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
5228 arrays.
5229
5230 * cstand.adb: (Create_Standard): Set alignment of String to 1
5231
5232 * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
5233
5234 * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
5235 code in the common constrained array cases.
5236
5237 * a-storio.adb: Change implementation to avoid possible alignment
5238 problems on machines requiring strict alignment (data should be moved
5239 as type Buffer, not type Elmt).
5240
5241 * checks.adb (Apply_Array_Size_Check): Improve these checks by
5242 killing the overflow checks which we really do not need (64-bits is
5243 enough).
5244
5245 2004-06-25 Vincent Celier <celier@gnat.com>
5246
5247 * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
5248 (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
5249 inconditionally for the main project.
5250 (Recursive_Add_Archives.Add_Archive_Path): New procedure
5251 (Link_Executables.Check_Time_Stamps): New procedure
5252 (Link_Executables.Link_Foreign): New procedure
5253 Changes made to reduce nesting level of this package
5254 (Check): New procedure
5255 (Add_Switches): When not in quiet output, check that a switch is not
5256 the concatenation of several valid switches. If it is, issue a warning.
5257 (Build_Global_Archive): If the global archive is rebuilt, linking need
5258 to be done.
5259 (Compile_Sources): Rebuilding a library archive does not imply
5260 rebuilding the global archive.
5261 (Build_Global_Archive): New procedure
5262 (Build_Library): New name for Build_Archive, now only for library
5263 project
5264 (Check_Archive_Builder): New procedure
5265 (Create_Global_Archive_Dependency_File): New procedure
5266 (Gprmake): Call Build_Global_Archive before linking
5267 * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
5268 throughout.
5269 (Scan_Arg): Display the Copyright notice when -v is used
5270
5271 * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
5272 for gnatls.
5273
5274 * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
5275 COMPILE.
5276 Add new GNAT LIST qualifier /FILES=
5277 Added qualifier /DIRECTORY= to GNAT METRIC
5278 Added qualifier /FILES= to GNAT METRIC
5279 Added qualifier /FILES to GNAT PRETTY
5280
5281 * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
5282 to take into account both versions of the switch.
5283
5284 * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
5285 always be the last switch to the gcc driver. Disable switch storing so
5286 that switches automatically added by the gcc driver are not put in the
5287 ALI file.
5288
5289 * prj.adb (Project_Empty): Take into account changes in components of
5290 Project_Data.
5291
5292 * prj.ads (Languages_Processed): New enumaration value All_Languages.
5293
5294 * prj.ads (Project_Data): Remove component Lib_Elaboration: never
5295 used. Split Boolean component Ada_Sources_Present in two Boolean
5296 components Ada_Sources_Present and Other_Sources_Present.
5297 Minor reformatting
5298
5299 * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
5300 instead of Sources_Present.
5301 (Set_Ada_Paths.Add.Recursive_Add): Ditto
5302
5303 * prj-nmsc.adb: Minor reformatting
5304 (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
5305 (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
5306 Check_Ada_Naming_Scheme.
5307 Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
5308 throughout.
5309
5310 * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
5311 In_Limited.
5312 Make sure that all cycles where there is at least one "limited with"
5313 are detected.
5314 (Parse_Single_Project): New Boolean parameter In_Limited
5315
5316 * prj-proc.adb (Recursive_Check): When Process_Languages is
5317 All_Languages, call first Prj.Nmsc.Ada_Check, then
5318 Prj.Nmsc.Other_Languages_Check.
5319
5320 * prj-proc.adb (Process): Use Ada_Sources_Present or
5321 Other_Sources_Present (instead of Sources_Present) depending on
5322 Process_Languages.
5323
5324 * lang-specs.h: Keep -g and -m switches in the same order, and as the
5325 last switches.
5326
5327 * lib.adb (Switch_Storing_Enabled): New global Boolean flag
5328 (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
5329 False.
5330 (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
5331 False.
5332
5333 * lib.ads (Disable_Switch_Storing): New procedure.
5334
5335 * make.adb: Modifications to reduce nesting level of this package.
5336 (Check_Standard_Library): New procedure
5337 (Gnatmake.Check_Mains): New procedure
5338 (Gnatmake.Create_Binder_Mapping_File): New procedure
5339 (Compile_Sources.Compile): Add switch -gnatez as the last option
5340 (Display): Never display -gnatez
5341
5342 * Makefile.generic:
5343 When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
5344
5345 * gnatcmd.adb (Check_Project): New function
5346 (Process_Link): New procedure to reduce nesting depth
5347 (Check_Files): New procedure to reduce the nesting depth.
5348 For GNAT METRIC, include the inherited sources in extending projects.
5349 (GNATCmd): When GNAT LS is invoked with a project file and no files,
5350 add the list of files from the sources of the project file. If this list
5351 is too long, put it in a temp text files and use switch -files=
5352 (Delete_Temp_Config_Files): Delete the temp text file that contains
5353 a list of source for gnatpp or gnatmetric, if one has been created.
5354 (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
5355 in the project file is too large, create a temporary text file that
5356 list them and pass it to the tool with "-files=<temp text file>".
5357 (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
5358
5359 * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
5360 generated file is in not in Ada.
5361
5362 * gnatls.adb: Remove all parameters And_Save that are no longer used.
5363 (Scan_Ls_Arg): Add processing for -files=
5364 (Usage): Add line for -files=
5365
5366 * g-os_lib.adb (On_Windows): New global constant Boolean flag
5367 (Normalize_Pathname): When on Windows and the path starts with a
5368 directory separator, make sure that the resulting path will start with
5369 a drive letter.
5370
5371 * clean.adb (Clean_Archive): New procedure
5372 (Clean_Project): When there is non-Ada code, delete the global archive,
5373 the archive dependency files, the object files and their dependency
5374 files, if they exist.
5375 (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
5376
5377 2004-06-25 Thomas Quinot <quinot@act-europe.fr>
5378
5379 * sinfo.ads: Fix typo in comment.
5380
5381 * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
5382 the TSS for remote access-to-subprogram types, since these TSS are
5383 always present once the type has been analyzed.
5384 (RAS_E_Dereference): Same.
5385
5386 * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
5387 reference raises Bad_Attribute, mark the reference as analyzed so the
5388 node (and any children resulting from rewrites that could have occurred
5389 during the analysis that ultimately failed) is not analyzed again.
5390
5391 * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
5392
5393 * exp_dist.adb: Minor comment fix.
5394
5395 * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
5396 type is an anonymous access type, no unchecked deallocation of the
5397 allocated object can occur. If the object is controlled, attach it with
5398 a count of 1. This allows attachment to the Global_Final_List, if
5399 no other relevant list is available.
5400 (Get_Allocator_Final_List): For an anonymous access type that is
5401 the type of a discriminant or record component, the corresponding
5402 finalisation list is the one of the scope of the type.
5403
5404 2004-06-25 Ed Schonberg <schonberg@gnat.com>
5405
5406 * sem_ch3.adb (Replace_Type): When computing the signature of an
5407 inherited subprogram, use the first subtype if the derived type
5408 declaration has no constraint.
5409
5410 * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
5411 before applying previous optimization. Minor code cleanup.
5412
5413 * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
5414 placed at the beginning of an unpacked record without explicit
5415 alignment, a slice of it will be aligned and does not need a copy when
5416 used as an actual.
5417
5418 2004-06-25 Ed Schonberg <schonberg@gnat.com>
5419
5420 PR ada/15591
5421 PR ada/15592
5422 * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
5423 reference is written with expressions mimicking parameters.
5424
5425 2004-06-25 Hristian Kirtchev <kirtchev@gnat.com>
5426
5427 PR ada/15589
5428 * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
5429 STEP 2a. The constraints of a full type declaration of a derived record
5430 type are checked for conformance with those declared in the
5431 corresponding private extension declaration. The message
5432 "not conformant with previous declaration" is emitted if an error is
5433 detected.
5434
5435 2004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr>
5436
5437 * g-traceb.ads: Document the need for -E binder switch in the spec.
5438
5439 * g-trasym.ads: Document the need for -E binder switch in the spec.
5440
5441 2004-06-25 Jose Ruiz <ruiz@act-europe.fr>
5442
5443 * sem_prag.adb: Add handling of pragma Detect_Blocking.
5444
5445 * snames.h, snames.ads, snames.adb: Add entry for pragma
5446 Detect_Blocking.
5447
5448 * s-rident.ads: Change reference to pragma Detect_Blocking.
5449
5450 * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
5451 system.ads.
5452
5453 * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
5454 to indicate whether pragma Detect_Blocking is active.
5455
5456 * par-prag.adb: Add entry for pragma Detect_Blocking.
5457
5458 * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
5459 of not handling WITH.
5460 Note that this replaces the previous update which was incorrect.
5461
5462 2004-06-25 Javier Miranda <miranda@gnat.com>
5463
5464 * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
5465 use-clauses to have a clean environment.
5466
5467 * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
5468 the installation of the use-clauses to stablish a clean environment in
5469 case of compilation of a separate unit; otherwise the call to
5470 use_one_package is protected by the barrier Applicable_Use.
5471
5472 * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
5473 the installation of the use-clauses to stablish a clean environment in
5474 case of compilation of a separate unit.
5475 (End_Use_Clauses): Minor comment cleanup.
5476
5477 2004-06-25 Sergey Rybin <rybin@act-europe.fr>
5478
5479 * gnat_ugn.texi: Add description of the gnatpp 'files' switch
5480
5481 2004-06-23 Richard Henderson <rth@redhat.com>
5482
5483 * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
5484
5485 2004-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5486
5487 * decl.c (elaborate_expression, elaborate_expression_1): Arguments
5488 now bool instead of int.
5489 (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
5490 * trans.c (gnu_switch_label_stack): New function.
5491 (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
5492 elaboration of renamed entity returns.
5493 (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
5494 (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
5495 (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
5496 (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
5497 DECL_SIZE_UNIT and simplify variable-sized case.
5498 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
5499 Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
5500 (gnat_stabilize_reference): Add arg to COMPONENT_REF.
5501 (build_unit_elab): Disable for now.
5502 * utils.c (mark_visited): New function.
5503 (pushdecl): Walk tree to call it for global decl.
5504 (update_pointer_to): Update all variants of pointer and ref types.
5505 Add arg to COMPONENT_REF.
5506 (convert): Likewise.
5507 Move check for converting between variants lower down.
5508 * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
5509 (build_allocator): Don't force type of MODIFY_EXPR.
5510 (gnat_mark_addressable, case VAR_DECL): Unconditionally call
5511 put_var_into_stack.
5512
5513 2004-06-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5514
5515 * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
5516 * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
5517 * decl.c (gnat_to_gnu_entity): Also set force_global for imported
5518 subprograms.
5519 * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
5520 all callers changed.
5521 (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
5522 the way that EXIT_STMT finds the loop label.
5523 (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
5524 (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
5525 (add_stmt): Use annotate_with_locus insted of setting directly.
5526 (pos_to_construct): Set TREE_PURPOSE of each entry to index.
5527 (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
5528 * utils.c (gnat_install_builtins): Install __builtin_memcmp.
5529 (build_vms_descriptor): Add extra args to ARRAY_REF.
5530 (convert): Use VIEW_CONVERT_EXPR between aggregate types.
5531 * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
5532 New cases.
5533 (build_binary_op): Don't make explicit CONVERT_EXPR.
5534 Add extra rgs to ARRAY_REF.
5535
5536 2004-06-14 Pascal Obry <obry@gnat.com>
5537
5538 * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
5539 Windows. Fix minor typo.
5540
5541 * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
5542 which is now supported on Windows. With this implementation using the
5543 Library Project feature is no different on Windows than on UNIX.
5544
5545 2004-06-14 Vincent Celier <celier@gnat.com>
5546
5547 * makegpr.adb (Compile_Sources): Nothing to do when there are no
5548 non-Ada sources.
5549
5550 * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
5551
5552 * prj-part.adb (Parse_Single_Project): When a duplicate project name is
5553 found, show the project name and the path of the previously parsed
5554 project file.
5555
5556 2004-06-14 Ed Schonberg <schonberg@gnat.com>
5557
5558 * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
5559 array, avoid copying the actual before the call.
5560
5561 2004-06-14 Thomas Quinot <quinot@act-europe.fr>
5562
5563 * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
5564 Instead, allocate memory on worst-case alignment assumptions, and then
5565 return an aligned address within the allocated zone.
5566
5567 2004-06-14 Robert Dewar <dewar@gnat.com>
5568
5569 * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
5570 elab entities in predefined units in No_Run_Time_Mode.
5571 (Gen_Adainit_C): Same fix
5572 (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
5573 units in No_Run_Time_Mode
5574 (Gen_Elab_Calls_C): Same fix
5575
5576 * symbols-vms-alpha.adb: Minor reformatting
5577
5578 * g-debpoo.ads: Minor reformatting
5579
5580 * lib.adb (In_Same_Extended_Unit): Version working on node id's
5581
5582 * lib.ads (In_Same_Extended_Unit): Version working on node id's
5583
5584 * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
5585 working on nodes.
5586
5587 * make.adb: Minor reformatting
5588
5589 * par-ch12.adb: Minor reformatting
5590
5591 * par-prag.adb: Add dummy entry for pragma Profile_Warnings
5592
5593 * prj-strt.adb: Minor reformatting
5594
5595 * restrict.ads, restrict.adb: Redo handling of profile restrictions to
5596 be more general.
5597
5598 * sem_attr.adb: Minor reformatting
5599
5600 * sem_ch7.adb: Minor reformatting
5601
5602 * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
5603 for type in the same unit as the object declaration.
5604
5605 * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
5606 static string expressions and not just string literals.
5607 Minor reformatting
5608 (Set_Warning): Reset restriction warning flag for restriction pragma
5609 Implement pragma Profile_Warnings
5610 Implement pragma Profile (Restricted)
5611 Give obolescent messages for old restrictions and pragmas
5612
5613 * snames.h, snames.ads, snames.adb: Add new entry for pragma
5614 Profile_Warnings.
5615
5616 * s-rident.ads: Add declarations for restrictions required by profile
5617 Restricted and profile Ravenscar.
5618
5619 * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
5620
5621 * gnat_ugn.texi: Correct some missing entries in the list of GNAT
5622 configuration pragmas.
5623
5624 2004-06-11 Vincent Celier <celier@gnat.com>
5625
5626 * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
5627 gnatsym, when symbol policy is Restricted.
5628
5629 * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
5630 gnatsym, when symbol policy is Restricted.
5631
5632 * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
5633 read the symbol file.
5634 (Finalize): Fail in symbol policy Restricted if a symbol in the original
5635 symbol file is not in the object files. Do not create a new symbol file
5636 when symbol policy is Restricted.
5637
5638 * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
5639 in Scng.
5640
5641 * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
5642 Restricted.
5643 (Usage): Line for new switch -R
5644
5645 * make.adb (Initialize): When the platform is not VMS, add the
5646 directory where gnatmake is invoked in the front of the path, if
5647 gnatmake is invoked with directory information. Change the Scan_Args
5648 while loop to a for loop.
5649 (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
5650 if Depth is equal or greater than the proposed depth, there is nothing
5651 to do.
5652 (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
5653 instead of 0.
5654
5655 * prj.ads: Add new symbol policy Restricted.
5656
5657 * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
5658 with the new parameters Check_All_Labels and Case_Location.
5659
5660 * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
5661 (Library_Symbol_File needs to be defined).
5662
5663 * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
5664 and Case_Location If Check_All_Labels is True, check that all values of
5665 the string type are used, and output warning(s) if they are not.
5666
5667 * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
5668 and Case_Location.
5669
5670 * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
5671
5672 * gnat_ugn.texi: Update documentation about the library directory in
5673 Library Projects.
5674
5675 * makegpr.adb (Display_Command): In verbose mode, also display the
5676 value of the CPATH env var, when the compiler is gcc.
5677 (Initialize): Change the Scan_Args while loop to a for loop
5678 (Compile_Individual_Sources): Change directory to object directory
5679 before compilations.
5680
5681 * symbols.ads: New symbol policy Restricted.
5682
5683 2004-06-11 Olivier Hainque <hainque@act-europe.fr>
5684
5685 * a-except.adb (Raise_After_Setup family): Remove. The responsibility
5686 is now taken care of internally in the Exception_Propagation package
5687 and does not require clients assistance any more.
5688
5689 * a-exexpr.adb (Is_Setup_And_Not_Propagated,
5690 Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
5691 functions. Helpers to maintain a predicate required in the handling of
5692 occurrence transfer between tasks.
5693 This is now handled internally and does not require clients assistance
5694 for the setup/propagate separation anymore.
5695 (Setup_Exception, Propagate_Exception): Simplify the Private_Data
5696 allocation strategy, handle the Setup_And_Not_Propagated predicate and
5697 document.
5698
5699 * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
5700 raise_after_setup, now that everything is handled internally within the
5701 setup/propagation engine.
5702
5703 2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
5704
5705 * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
5706 Add additional conditions for the case of an actual being a simple
5707 name or literal. Improve inlining by preventing the generation
5708 of temporaries with a short lifetime (one use).
5709
5710 2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
5711
5712 PR ada/15587
5713
5714 * einfo.ads: Minor comment updates for Has_Completion and
5715 E_Constant list of flags.
5716
5717 * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
5718 and constant redeclarations now set the Has_Completion flag of their
5719 defining identifiers.
5720
5721 * sem_ch7.adb (Analyze_Package_Spec): Add procedure
5722 Inspect_Deferred_Constant_Completion.
5723 Used to detect private deferred constants that have not been completed
5724 either by a constant redeclaration or pragma Import. Emits error message
5725 "constant declaration requires initialization expression".
5726
5727 * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
5728 completes a deferred constant.
5729
5730 2004-06-11 Geert Bosch <bosch@gnat.com>
5731
5732 * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
5733
5734 * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
5735 calculating exponent for scaling denormal numbers.
5736 (Leading_Part): Properly raise Constraint_Error for zero or negative
5737 Adjustment.
5738 (Remainder): Properly raise Constraint_Error for zero divisor.
5739
5740 2004-06-11 Thomas Quinot <quinot@act-europe.fr>
5741
5742 * sem_util.adb: Minor reformatting.
5743
5744 * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
5745 dereference when accessing the entry parameter record.
5746 (Check_Array_Type): Always check for possible implicit dereference.
5747 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
5748 Abort if a pointer is still present (denoting that an implicit
5749 dereference was left in the tree by the front-end).
5750
5751 * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
5752 dereference when accessing the entry parameter record.
5753 (Check_Array_Type): Always check for possible implicit dereference.
5754 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
5755 Abort if a pointer is still present (denoting that an implicit
5756 dereference was left in the tree by the front-end).
5757
5758 2004-06-11 Emmanuel Briot <briot@act-europe.fr>
5759
5760 * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
5761 message, like the compiler itself does. Easier to parse the output.
5762
5763 * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
5764
5765 * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
5766 be base names, and not includes directories.
5767
5768 2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
5769
5770 * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
5771 so that dependencies are properly taken into account by make.
5772
5773 2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
5774
5775 PR ada/15622
5776 * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
5777 exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
5778
5779 2004-06-11 Jerome Guitton <guitton@act-europe.fr>
5780
5781 * Makefile.in (install-gnatlib): install target-specific run-time files.
5782
5783 * Make-lang.in: Remove obsolete targets.
5784
5785 2004-06-11 Ed Schonberg <schonberg@gnat.com>
5786
5787 * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
5788 specification, to catch misuses of program unit names.
5789
5790 * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
5791 superfluous conversions in an instance.
5792
5793 2004-06-11 Ed Schonberg <schonberg@gnat.com>
5794
5795 PR ada/15403
5796
5797 * sem_ch12.adb (Save_References): If operator node has been folded to
5798 enumeration literal, associated_node must be discarded.
5799
5800 2004-06-11 Jose Ruiz <ruiz@act-europe.fr>
5801
5802 * s-stchop-vxworks.adb: Add required pragma Convention to
5803 Task_Descriptor because it is updated by a C function.
5804
5805 2004-06-08 Arnaud Charlet <charlet@act-europe.fr>
5806
5807 PR ada/15568
5808
5809 * Makefile.in: Remove target specific SO_OPT on IRIX
5810
5811 2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5812
5813 * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
5814 (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
5815 (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
5816 (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
5817 (STMT_STMT, USE_STMT): New statement codes.
5818 (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
5819 * ada-tree.h: Reflect above changes.
5820 (struct tree_loop_id): Deleted.
5821 (union lang_tree_node, struct lang_decl, struct lang_type):
5822 Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
5823 and DECL_LANGUAGE_SPECIFIC to reflect these changes.
5824 (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
5825 (IS_ADA_STMT): New macro.
5826 * decl.c (annotate_decl_with_node): New function.
5827 (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
5828 (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
5829 Call add_stmt_with_node to do needed assignments.
5830 Add call to update setjmp buffer directly, not via EXPR_STMT.
5831 (maybe_variable): Argment GNAT_NODE deleted.
5832 * gigi.h (maybe_variable): Likewise.
5833 (make_transform, add_stmt_with_node, set_block_for_group): New.
5834 (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
5835 (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
5836 (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
5837 (set_lineno, set_lineno_from_sloc): Likewise.
5838 (record_code_position, insert_code_for): Likewise.
5839 (gnat_poplevel): Now returns void.
5840 (end_subprog_body): Now takes argument.
5841 * misc.c (cgraph.h, tree-inline.h): New includes.
5842 (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
5843 (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
5844 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
5845 (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
5846 (gnat_parse_file): Don't set immediate_size_expand.
5847 Call cgraph functions.
5848 (gnat_expand_expr): Remove most cases.
5849 (record_code_position, insert_code_for): Remove from here.
5850 * trans.c (toplev.h, tree-gimple.h): Now included.
5851 (discard_file_names): Deleted.
5852 (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
5853 (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
5854 (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
5855 (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
5856 (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
5857 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
5858 (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
5859 (set_block_for_group, add_stmt_list): Likewise.
5860 (start_stmt_group): Renamed from start_block_stmt.
5861 (end_stmt_group): Likewise, from end_block_stmt.
5862 (build_stmt_group): Likewise, from build_block_stmt, also add arg.
5863 (gigi): Don't set discard_file_names or call set_lineno.
5864 Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
5865 (tree_transform): Deleted, now renamed to be gnat_to_gnu.
5866 Numerous changes throughout to reflect new names and complete
5867 function-at-a-time implementation.
5868 (gnat_expand_stmt): Delete or comment out all cases.
5869 (process_inlined_subprograms): Use add_stmt.
5870 (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
5871 call set_lineno; also remove unneeded block handling.
5872 (process_type): Remove unneeded block handling.
5873 (build_unit_elab): Remove calls to deleted functions.
5874 * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
5875 (tree-dump.h): Likewise.
5876 (struct ada_binding_level): Add field jmpbuf_decl.
5877 (gnat_define_builtin, gnat_install_builtins): New.
5878 (gnat_gimplify_function, gnat_finalize): Likewise.
5879 (gnat_poplevel): No longer return BLOCK, set it instead.
5880 Remove code dealing with nested functions.
5881 (gnat_init_decl_processing): Also set size_type_node.
5882 Call gnat_install_builtins.
5883 (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
5884 (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
5885 Remove special-case for "main".
5886 (end_subprog_body): Add arg and rework for tree-ssa.
5887 (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
5888 Add case for BOOLEAN_TYPE.
5889 * utils2.c (rtl.h): Now include.
5890 (build_call_raise): Test Debug_Flag_NN directly.
5891 (build_call_alloc_dealloc): Don't use local stack allocation for now.
5892 (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
5893 (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
5894
5895 2004-06-07 Robert Dewar <dewar@gnat.com>
5896
5897 * a-direct.ads, einfo.ads: Minor comment updates
5898
5899 * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
5900 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
5901 s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
5902 s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
5903 s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
5904
5905 * s-interr-sigaction.adb: Remove unreferenced variable
5906 (Attached_Interrupts). Minor reformatting.
5907 Avoid use of variable I (replace by J).
5908
5909 * par-ch10.adb: Fix text of one error message
5910
5911 * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
5912 exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
5913 exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
5914 opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
5915 par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
5916 par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
5917 sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
5918 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
5919 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
5920 sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
5921 snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
5922 2005 support.
5923
5924 2004-06-07 Doug Rupp <rupp@gnat.com>
5925
5926 * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
5927
5928 * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
5929
5930 * mlib-tgt-vms-ia64.adb: New file.
5931
5932 * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
5933 Add mlib-tgt-vms-ia64.adb
5934 Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
5935 Move to alpha specific ifeq section.
5936 Add VMS specific versions of symbols.adb
5937 Renaming of 5q vms files.
5938
5939 * 5qsystem.ads renamed to system-vms_64.ads.
5940
5941 2004-06-07 Vincent Celier <celier@gnat.com>
5942
5943 * a-calend.ads: Add a GNAT Note comment after function Time_Of to
5944 explain that when a time of day corresponding to the non existing hour
5945 on the day switching to DST is specified, Split may return a different
5946 value for Seconds.
5947
5948 * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
5949 to GNAT PRETTY.
5950
5951 * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
5952 (Normalize_Pathname): Only resolve VMS logical names when on VMS.
5953
5954 * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
5955 to False.
5956 If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
5957 the linking options.
5958 (Build_Library.Check_Libs): On VMS, if there is a dependency on
5959 g-trasym.ads, set Gtrasymobj_Needed to True.
5960
5961 * prj-attr.adb: Add new package Metrics for gnatmetric
5962
5963 * prj-nmsc.adb (Record_Other_Sources): Put source file names in
5964 canonical case to take into account files with upper case characters on
5965 Windows.
5966 (Ada_Check): Load the reference symbol file name in the name buffer to
5967 check it, not the symbol file name.
5968
5969 * snames.ads, snames.adb: Add standard name Metrics (name of project
5970 file package for gnatmetric).
5971
5972 * vms_conv.ads: Add Metric to Comment_Type
5973
5974 * vms_conv.adb (Initialize): Add component dor Metric in Command_List
5975
5976 * vms_data.ads: Add qualifiers for GNAT METRIC
5977
5978 * makegpr.adb (Link_Executables): Take into account the switches
5979 specified in package Linker of the main project.
5980
5981 2004-06-07 Thomas Quinot <quinot@act-europe.fr>
5982
5983 * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
5984 the index of the last element is Units.Last, not Units.Table'Last
5985 (which is usually not a valid index within the actually allocated
5986 storage for the table).
5987
5988 * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
5989 determines whether to generate a call to a checked storage pool
5990 Dereference action.
5991 Generate such a call only for a dereference that either comes from
5992 source, or is the result of rewriting a dereference that comes from
5993 source.
5994
5995 2004-06-07 Romain Berrendonner <berrendo@act-europe.fr>
5996
5997 * bindgen.adb (Gen_Output_File): Add support for GAP builds.
5998
5999 2004-06-07 Eric Botcazou <ebotcazou@act-europe.fr>
6000
6001 (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
6002 file level, elaborate the stride for inner dimensions in alignment
6003 units, not bytes.
6004
6005 * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
6006 in a comment.
6007
6008 2004-06-07 Javier Miranda <miranda@gnat.com>
6009
6010 * exp_ch6.adb: Correct wrong modification in previous patch
6011
6012 2004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr>
6013
6014 * g-trasym.ads: Corrected comment to properly reflect level of support
6015 on VMS.
6016
6017 2004-06-07 Hristian Kirtchev <kirtchev@gnat.com>
6018
6019 * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
6020 includes case of a variable referenced on the left hand side of an
6021 assignment, therefore remove redundant code. Variables and prefixes of
6022 indexed or selected components are now marked as referenced on left
6023 hand side. Warnings are now properly emitted when variables or prefixes
6024 are assigned but not read.
6025
6026 * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
6027 left hand side referenced variables. Private access types do not
6028 produce the warning "variable ... is assigned but never read".
6029 Add also additional checks to left hand side referenced variables.
6030 Aliased, renamed objects and access types do not produce the warning
6031 "variable ... is assigned but never read" since other entities may read
6032 the memory location.
6033
6034 2004-06-07 Jerome Guitton <guitton@act-europe.fr>
6035
6036 * Makefile.in: In the powerpc/vxworks-specific section, restore
6037 EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
6038 by mistake).
6039
6040 2004-06-07 Ed Schonberg <schonberg@gnat.com>
6041
6042 * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
6043 predefined operators.
6044 Removes spurious type errors from g-trasym-vms.adb.
6045
6046 * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
6047 distinct from the operator appearing in the source, call appropriate
6048 routine to insert conversions when needed, and complete resolution of
6049 node.
6050 (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
6051 interpretations for rewritten right operand.
6052 (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
6053 the other operand is overloaded and the context is a type conversion.
6054
6055 2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6056
6057 * ada-tree.def (BLOCK_STMT): Now has two operands.
6058 (BREAK_STMT): New.
6059
6060 * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
6061
6062 * gigi.h: (gnat_poplevel): Now returns a tree.
6063
6064 * trans.c (end_block_stmt): Add arg; all callers changed.
6065 (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
6066 (start_block_stmt): Clear BLOCK_STMT_BLOCK.
6067 (add_stmt): Set TREE_TYPE.
6068 (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
6069 (gnat_expand_stmt, case BREAK_STMT): New case.
6070
6071 * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
6072
6073 2004-06-07 Jose Ruiz <ruiz@act-europe.fr>
6074
6075 * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
6076 procedure Set_Stack_Size that is not needed.
6077
6078 2004-06-07 Sergey Rybin <rybin@act-europe.fr>
6079
6080 * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
6081 used for gnatpp input file and for the files upon which it depends
6082
6083 2004-06-07 Ben Brosgol <brosgol@gnat.com>
6084
6085 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
6086
6087 2004-06-07 Arnaud Charlet <charlet@act-europe.fr>
6088
6089 * gnatvsn.ads: Bump version numbers appropriately.
6090 Add new build type.
6091
6092 2004-06-07 Pascal Obry <obry@gnat.com>
6093
6094 * gnat_ugn.texi: Improve comments about imported names and link names
6095 on Windows. Add a note about the requirement to use -k gnatdll's option
6096 when working with a DLL which has stripped stdcall symbols (no @nn
6097 suffix).
6098
6099 2004-05-27 Vincent Celier <celier@gnat.com>
6100
6101 * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
6102 COMMENTS_LAYOUT=UNTOUCHED
6103
6104 * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
6105 symbols-vms-alpha.adb
6106
6107 2004-05-27 Thomas Quinot <quinot@act-europe.fr>
6108
6109 * sem.ads: Clarify documentation on checks suppression.
6110
6111 * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
6112
6113 2004-05-27 Ed Schonberg <schonberg@gnat.com>
6114
6115 * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
6116 the case of multiple derivations.
6117 (Is_Object_Reference): For a selected component, verify that the prefix
6118 is itself an object and not a value.
6119
6120 * sem_ch12.adb (Same_Instantiated_Constant): New name for
6121 Same_Instantiated_Entity.
6122 (Same_Instantiated_Variable): Subsidiary to
6123 Check_Formal_Package_Instance, to recognize actuals for in-out generic
6124 formals that are obtained from a previous formal package.
6125 (Instantiate_Subprogram_Body): Emit proper error when
6126 generating code and the proper body of a stub is missing.
6127
6128 * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
6129 has a universal interpretation, do the disambiguation here.
6130
6131 * exp_ch4.adb (Expand_N_Type_Conversion,
6132 Expand_N_Unchecked_Type_Conversion): Special handling when target type
6133 is Address, to avoid typing anomalies when Address is a visible integer
6134 type.
6135
6136 * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
6137 to determine whether a subprogram should not be marked Pure, even when
6138 declared in a pure package.
6139
6140 2004-05-27 Jose Ruiz <ruiz@act-europe.fr>
6141
6142 * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
6143
6144 * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
6145 Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
6146 Update the documentation about the Ravenscar profile, following the
6147 definition found in AI-249.
6148
6149 * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
6150 setting the Profile (Ravenscar). This must be done in addition to
6151 setting the required restrictions.
6152
6153 * rtsfind.ads: Add the set of operations defined in package
6154 Ada.Interrupts.
6155
6156 * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
6157 restriction.
6158
6159 2004-05-27 Eric Botcazou <ebotcazou@act-europe.fr>
6160
6161 lang-specs.h: Always require -c or -S and always redirect to /dev/null
6162 if -gnatc or -gnats is passed.
6163
6164 2004-05-27 Hristian Kirtchev <kirtchev@gnat.com>
6165
6166 * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
6167 a significant reference. Warnings are now properly emitted when a
6168 discriminated type is not referenced.
6169
6170 * lib-xref.adb (Generate_Reference): A deferred constant completion,
6171 record representation clause or record type discriminant does not
6172 produce a reference to its corresponding entity. Warnings are now
6173 properly emitted when deferred constants and record types are not
6174 referenced.
6175
6176 2004-05-27 Geert Bosch <bosch@gnat.com>
6177
6178 * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
6179 Fixes ACATS Annex G tests.
6180
6181 2004-05-27 Robert Dewar <dewar@gnat.com>
6182
6183 * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
6184 handling WITH
6185
6186 2004-05-27 Arnaud Charlet <charlet@act-europe.fr>
6187
6188 * s-interr.adb (Server_Task): Take into account case of early return
6189 from sigwait under e.g. linux.
6190
6191 2004-05-27 Sergey Rybin <rybin@act-europe.fr>
6192
6193 * gnat_ugn.texi: Add description for the new gnatpp options:
6194 -rnb - replace the original source without creating its backup copy
6195 -c0 - do not format comments
6196
6197 2004-05-24 Geert Bosch <bosch@gnat.com>
6198
6199 * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
6200 with 192 bits of precision, sufficient to reduce a double-extended
6201 arguments X with a maximum relative error of T'Machine_Epsilon, for X
6202 in -2.0**32 .. 2.0**32.
6203 (Cos, Sin): Always reduce arguments of 1/4 Pi or larger, to prevent
6204 reduction by the processor, which only uses a 68-bit approximation of
6205 Pi.
6206 (Tan): Always reduce arguments and compute function either using
6207 the processor's fptan instruction, or by dividing sin and cos as needed.
6208
6209 2004-05-24 Doug Rupp <rupp@gnat.com>
6210
6211 * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
6212 gcc error on 32/64 bit VMS.
6213
6214 2004-05-24 Olivier Hainque <hainque@act-europe.fr>
6215
6216 * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
6217 since this is what we get for stack overflows although not documented
6218 as such.
6219 Document the issues which may require adjustments to our signal
6220 handlers.
6221
6222 2004-05-24 Ed Schonberg <schonberg@gnat.com>
6223
6224 * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
6225 enclosing dynamic scope if the instantiation is within a generic unit.
6226
6227 2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
6228
6229 * exp_dbug.ads: Fix typo.
6230
6231 * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
6232 Rename it to its proper name: system-linux-ia64.ads
6233 (stamp-gnatlib1): Remove extra target specific run time files when
6234 setting up the rts directory.
6235
6236 2004-05-24 Javier Miranda <miranda@gnat.com>
6237
6238 * einfo.ads, einfo.adb (Limited_Views): Removed.
6239 (Limited_View): New attribute that replaces the previous one. It is
6240 now a bona fide package with the limited-view list through the
6241 first_entity and first_private attributes.
6242
6243 * sem_ch10.adb (Install_Private_With_Clauses): Give support to
6244 limited-private-with clause.
6245 (Install_Limited_Withed_Unit): Install the private declarations of a
6246 limited-private-withed package. Update the installation of the shadow
6247 entities according to the new structure (see Build_Limited_Views)
6248 (Build_Limited_Views): Replace the previous implementation of the
6249 limited view by a package entity that references the first shadow
6250 entity plus the first shadow private entity (required for limited-
6251 private-with clause)
6252 (New_Internal_Shadow_Entity): Code cleanup.
6253 (Remove_Limited_With_Clause): Update the implementation to undo the
6254 new work carried out by Build_Limited_Views.
6255 (Build_Chain): Complete documentation.
6256 Replace Ada0Y by Ada 0Y in comments
6257 Minor reformating
6258
6259 * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
6260 types the level of accessibility depends on the enclosing type
6261 declaration.
6262
6263 * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
6264 entities. Complete documentation of previous change.
6265
6266 2004-05-24 Robert Dewar <dewar@gnat.com>
6267
6268 * namet.adb: Minor reformatting
6269 Avoid use of name I (replace by J)
6270 Minor code restructuring
6271
6272 * sem_ch6.adb: Minor reformatting
6273
6274 * lib-writ.adb: Do not set restriction as active if this is a
6275 Restriction_Warning case.
6276
6277 * sem_prag.adb: Reset restriction warning flag if real pragma
6278 restriction encountered.
6279
6280 * s-htable.adb: Minor reformatting
6281 Change rotate count to 3 in Hash (improves hash for small strings)
6282
6283 * 5qsystem.ads: Add comments for type Address (no literals allowed).
6284
6285 * gnat_ugn.texi: Add new section of documentation "Code Generation
6286 Control", which describes the use of -m switches.
6287
6288 2004-05-24 Eric Botcazou <ebotcazou@act-europe.fr>
6289
6290 trans.c (tree_transform) <N_Identifier>: Do the dereference directly
6291 through the DECL_INITIAL for renamed variables.
6292
6293 2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
6294
6295 * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
6296
6297 2004-05-19 Joel Brobecker <brobecker@gnat.com>
6298
6299 * exp_dbug.ads: Correct comments concerning handling of overloading,
6300 since we no longer use $ anymore.
6301
6302 2004-05-19 Sergey Rybin <rybin@act-europe.fr>
6303
6304 * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
6305 ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
6306 with illegal subunits.
6307
6308 2004-05-19 Ed Schonberg <schonberg@gnat.com>
6309
6310 * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
6311 body with front-end inlining enabled, check whether an inline pragma
6312 appears immediately after the body and applies to it.
6313
6314 * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
6315 enabled and the pragma appears after the body of the subprogram.
6316
6317 2004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6318
6319 Part of function-at-a-time conversion
6320
6321 * misc.c (adjust_decl_rtl): Deleted.
6322 (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
6323 Define.
6324
6325 * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
6326 (add_decl_stmt, add_stmt, block_has_vars): New functions.
6327 (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
6328
6329 * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
6330 when making a decl.
6331 (gnat_to_gnu_entity): Likewise.
6332 Use add_stmt to update setjmp buffer.
6333 Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
6334 flush_addressof.
6335 No longer call adjust_decl_rtl.
6336 (DECL_INIT_BY_ASSIGN_P): New macro.
6337 (DECL_STMT_VAR): Likewise.
6338
6339 * trans.c (gigi): Call start_block_stmt to make the outermost
6340 BLOCK_STMT.
6341 (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
6342 Call start_block_stmt and end_block_stmt temporarily.
6343 Use gnat_expand_stmt instead of expand_expr_stmt.
6344 (add_decl_stmt): New function.
6345 (tree_transform): Call it.
6346 (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
6347 (end_block_stmt): Set type and NULL_STMT.
6348 (gnat_expand_stmt): Make recursize call instead of calling
6349 expand_expr_stmt.
6350 (gnat_expand_stmt, case DECL_STMT): New case.
6351 (set_lineno_from_sloc): Do nothing if global.
6352 (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
6353 (start_block_stmt, add_stmt, end_block_stmt): New functions.
6354 (build_block_stmt): Call them.
6355 (gnat_to_code): Don't expand NULL_STMT.
6356 (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
6357 args.
6358 (tree_transform): Likewise.
6359 (tree_transform, case N_Null_Statement): Return NULL_STMT.
6360 (gnat_expand_stmt, case NULL_STMT): New case.
6361 (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
6362 IF_STMT_TRUE.
6363
6364 * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
6365 TREE_ADDRESSABLE.
6366
6367 * utils.c (create_var_decl): Do not call expand_decl or
6368 expand_decl_init.
6369 Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
6370 Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
6371 here.
6372 (struct e_stack): Add chain_next to GTY.
6373 (struct binding_level): Deleted.
6374 (struct ada_binding_level): New struct.
6375 (free_block_chain): New.
6376 (global_binding_level, clear_binding_level): Deleted.
6377 (global_bindings_p): Rework to see if no chain.
6378 (kept_level_p, set_block): Deleted.
6379 (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
6380 new data structure and work directly on BLOCK node.
6381 (gnat_poplevel): Similarly.
6382 (get_decls): Look at BLOCK_VARS.
6383 (insert_block): Work directly on BLOCK node.
6384 (block_has_var): New function.
6385 (pushdecl): Rework for new binding structures.
6386 (gnat_init_decl_processing): Rename and rework calls to pushlevel and
6387 poplevel.
6388 (build_subprog_body): Likewise.
6389 (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
6390
6391 * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
6392
6393 * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
6394 (DECL_STMT_VAR): Likewise.
6395
6396 2004-05-17 Robert Dewar <dewar@gnat.com>
6397
6398 * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
6399 procedure
6400
6401 * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
6402 of restriction synonyums by using
6403 Restrict.Process_Restriction_Synonyms.
6404
6405 * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
6406
6407 * s-restri.ads (Tasking_Allowed): Correct missing comment
6408
6409 * s-rident.ads: Add entries for restriction synonyms
6410
6411 * ali.adb: Fix some problems with badly formatted ALI files that can
6412 result in infinite loops.
6413
6414 * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
6415 s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
6416 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
6417 s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
6418 s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
6419 s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
6420 s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
6421 s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
6422 s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
6423 a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
6424 exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
6425 s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
6426 s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
6427 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
6428 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
6429 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
6430 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
6431 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
6432 s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
6433 s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
6434 to Task_Id (minor cleanup).
6435
6436 2004-05-17 Vincent Celier <celier@gnat.com>
6437
6438 * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
6439 directory separator.
6440
6441 * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
6442 project being extended, if Languages is not declared in extending
6443 project.
6444
6445 2004-05-17 Javier Miranda <miranda@gnat.com>
6446
6447 * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
6448 limited view of a visible sibling.
6449
6450 2004-05-14 Robert Dewar <dewar@gnat.com>
6451
6452 * gnat_ugn.texi: Minor change to -gnatS documentation
6453
6454 * sprint.adb: Remove some instances of Assert (False) and for this
6455 purpose replace them by output of a ??? string.
6456
6457 * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
6458 Assert (False).
6459
6460 * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
6461 flag processing. This was suppressing required dependencies in
6462 No_Run_Time mode and is not needed since the binder does not generate
6463 references for things in libgnat anyway.
6464
6465 * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
6466 warning.
6467
6468 2004-05-14 Thomas Quinot <quinot@act-europe.fr>
6469
6470 * gnat_ugn.texi: Document AIX-specific issue with initialization of
6471 resolver library.
6472
6473 * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
6474 action for the case of an actual parameter in an init proc call.
6475
6476 2004-05-14 Ed Schonberg <schonberg@gnat.com>
6477
6478 * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
6479 subtype, check visible entities in base type.
6480
6481 * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
6482 actions if the object is a renaming.
6483
6484 * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
6485 Check_Formal_Package_Instance, to determine more precisely when the
6486 formal and the actual denote the same entity.
6487
6488 2004-05-14 Javier Miranda <miranda@gnat.com>
6489
6490 * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
6491
6492 * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
6493 corresponding to a private_with must be removed from visibility; it
6494 will be made visible later, just before we analyze the private part of
6495 the package.
6496 (Check_Private_Child_Unit): Allow private_with clauses in public
6497 siblings.
6498 (Install_Siblings): Make visible the private entities of private-withed
6499 siblings.
6500 (Install_Withed_Unit): Do not install the private withed unit if we
6501 are compiling a package declaration and the Private_With_OK flag was
6502 not set by the caller. These declarations will be installed later,
6503 just before we analyze the private part of the package.
6504
6505 * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
6506 during the evaluation of the expression that initializes the object,
6507 decorate it with the expected type to avoid cascade errors.
6508 Code cleanup.
6509
6510 * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
6511 subprogram we have to install the private_with clauses after its
6512 specification has been analyzed (as documented in AI-262.TXT).
6513
6514 * sem_ch8.adb (Has_Private_With): New function. Determines if the
6515 current compilation unit has a private with on a given entity.
6516 (Find_Direct_Name): Detect the Beaujolais problem described in
6517 AI-262.TXT
6518
6519 * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
6520 provides the functionality of the function Is_Ancestor that was
6521 previously available in sem_ch10. It has been renamed to avoid
6522 overloading.
6523
6524 * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
6525
6526 2004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6527
6528 * utils.c (build_vms_descriptor): Use SImode pointers.
6529
6530 2004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr>
6531
6532 * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
6533
6534 2004-05-14 GNAT Script <nobody@gnat.com>
6535
6536 * Make-lang.in: Makefile automatically updated
6537
6538 2004-05-14 Arnaud Charlet <charlet@act-europe.fr>
6539
6540 Renaming of target specific files for clarity
6541
6542 * Makefile.in: Rename GNAT target specific files.
6543
6544 * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
6545 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
6546 3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
6547 3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
6548 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
6549 3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
6550 42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
6551 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
6552 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
6553 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
6554 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
6555 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
6556 51osinte.adb, 51osinte.ads, 51system.ads,
6557 52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
6558 55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
6559 56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
6560 56tpopsp.adb, 57system.ads, 58system.ads,
6561 5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
6562 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
6563 5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
6564 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
6565 5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
6566 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
6567 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
6568 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
6569 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
6570 5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
6571 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
6572 5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
6573 5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
6574 5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
6575 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
6576 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
6577 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
6578 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
6579 5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
6580 5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
6581 5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
6582 5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
6583 5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
6584 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
6585 5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
6586 5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
6587 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
6588 5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
6589 5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
6590 5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
6591 5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
6592 5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
6593 5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
6594 5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
6595 5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
6596 5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
6597 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
6598 7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
6599 7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
6600 7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
6601
6602 * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
6603 a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
6604 a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
6605 a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
6606 a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
6607 a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
6608 a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
6609 a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
6610 a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
6611 a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
6612 g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
6613 g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
6614 g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
6615 g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
6616 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
6617 g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
6618 g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
6619 g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
6620 interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
6621 mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
6622 mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
6623 mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
6624 s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
6625 s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
6626 s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
6627 s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
6628 s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
6629 s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
6630 s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
6631 s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
6632 s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
6633 s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
6634 s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
6635 s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
6636 s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
6637 s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
6638 s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
6639 s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
6640 s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
6641 s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
6642 s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
6643 s-osinte-vms.ads, s-osinte-vxworks.adb,
6644 s-osinte-vxworks.ads, s-osprim-mingw.adb,
6645 s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
6646 s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
6647 s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
6648 s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
6649 s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
6650 s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
6651 s-stchop-vxworks.adb, s-taprop-dummy.adb,
6652 s-taprop-hpux-dce.adb, s-taprop-irix.adb,
6653 s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
6654 s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
6655 s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
6656 s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
6657 s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
6658 s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
6659 s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
6660 s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
6661 s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
6662 s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
6663 s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
6664 s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
6665 s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
6666 s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
6667 s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
6668 s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
6669 s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
6670 symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
6671 system-hpux.ads, system-interix.ads, system-irix-n32.ads,
6672 system-irix-o32.ads, system-linux-x86_64.ads,
6673 system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
6674 system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
6675 system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
6676 system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
6677 system-vxworks-alpha.ads, system-vxworks-m68k.ads,
6678 system-vxworks-mips.ads, system-vxworks-ppc.ads,
6679 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
6680 above.
6681
6682 2004-05-13 Zack Weinberg <zack@codesourcery.com>
6683
6684 * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
6685
6686 2004-05-13 Diego Novillo <dnovillo@redhat.com>
6687
6688 Merge from tree-ssa-20020619-branch.
6689
6690 * config-lang.in (boot_language, build_by_default): Set
6691 to no.
6692 * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
6693 (max_size): Add static chain op for call_expr.
6694
6695 2004-05-12 Richard Sandiford <rsandifo@redhat.com>
6696
6697 PR target/15331
6698 * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
6699
6700 2004-05-11 Roger Sayle <roger@eyesopen.com>
6701
6702 * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
6703 COND_EXPR.
6704
6705 2004-05-10 Doug Rupp <rupp@gnat.com>
6706
6707 * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
6708 system.aux_dec.
6709
6710 * s-auxdec.ads: Add Short_Address subtype (moved here from System).
6711
6712 * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
6713
6714 * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
6715 Fixes undefined symbols in IA64 gnatlib.
6716
6717 * 5vinmaop.adb: Reference s-auxdec for Short_Address.
6718
6719 * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
6720 Short_Address). This will be moved to system.auxdec.
6721
6722 2004-05-10 Thomas Quinot <quinot@act-europe.fr>
6723
6724 * sem_util.adb: Replace test for presence of a node that is always
6725 present with a call to Discard_Node.
6726
6727 * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
6728 Analyze on the library unit node after generation of distribution stub
6729 constructs. The call was a no-op because Unit_Node has already been
6730 Analyzed, and the tree fragments for the distribution stubs are
6731 analyzed as they are inserted in Exp_Dist.
6732 Update comment regarding to distribution stubs to reflect that we
6733 do not generate stub in separate files anymore.
6734
6735 * einfo.ads: Clarify the fact that a tagged private type has the
6736 E_Record_Type_With_Private Ekind.
6737
6738 * erroutc.adb: Minor reformatting
6739
6740 * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
6741 values if line length is increased using -gnatyM (noticed during code
6742 reading).
6743
6744 * eval_fat.adb: Minor reformatting
6745 Put spaces around exponentiation operator
6746
6747 2004-05-10 Ed Schonberg <schonberg@gnat.com>
6748
6749 PR ada/15005
6750 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
6751 has been rewritten as an explicit dereference, retrieve type of
6752 original node to check for possibly unconstrained record type.
6753
6754 2004-05-10 Ed Schonberg <schonberg@gnat.com>
6755
6756 * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
6757 overriding, use the operation of the parent unconditionally.
6758
6759 * sem_ch4.adb (Remove_Address_Interpretations): Remove address
6760 operation when either operand is a literal, to avoid further
6761 ambiguities.
6762
6763 * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
6764 overridden by a previous explicit declaration, mark the previous entity
6765 as overriding.
6766
6767 * sem_disp.adb (Check_Dispatching_Operation): New predicate
6768 Is_Visibly_Controlled, to determine whether a declaration of a
6769 primitive control operation for a derived type overrides an inherited
6770 one. Add warning if the explicit declaration does not override.
6771
6772 2004-05-10 Vincent Celier <celier@gnat.com>
6773
6774 * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
6775 some cases when the sources are no longer present.
6776
6777 * make.adb (Collect_Arguments): Fail if an external source, not part
6778 of any project need to be compiled, when switch -x has not been
6779 specified.
6780
6781 * makeusg.adb: Document new switch -x
6782
6783 * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
6784 defaulted to False.
6785
6786 * switch-m.adb (Scan_Make_Switches): New switch -x
6787
6788 * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
6789 gnatmake switch -x.
6790
6791 * gnat_ugn.texi: Document new gnatmake switch -x
6792
6793 2004-05-10 Eric Botcazou <ebotcazou@act-europe.fr>
6794
6795 * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
6796
6797 * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
6798 (process_attributes): Likewise.
6799
6800 2004-05-10 Joel Brobecker <brobecker@gnat.com>
6801
6802 * s-inmaop.ads: Fix spelling mistake in one of the comments.
6803
6804 2004-05-10 Robert Dewar <dewar@gnat.com>
6805
6806 * gnat_ugn.texi: Document that for config pragma files, the maximum
6807 line length is always 32767.
6808
6809 * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
6810 literals is now allowed.
6811
6812 * gnat-style.texi: Remove statement about splitting long lines before
6813 an operator rather than after, since we do not follow this rule at all.
6814 Clarify rule (really lack of rule) for spaces around exponentiation
6815
6816 * sem_elim.adb: Allow concatenation of string literals as well as a
6817 single string literal for pragma arguments.
6818
6819 * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
6820
6821 * a-textio.adb (Terminate_Line): Do not add line feed if nothing
6822 written for append case.
6823
6824 * frontend.adb: Changes to avoid checking max line length in config
6825 pragma files.
6826
6827 * g-os_lib.ads: Minor reformatting
6828
6829 * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
6830 wrong in any case. Instead use standard value. Noticed during code
6831 reading.
6832
6833 * opt.ads (Max_Line_Length): New field, used to implement removal of
6834 limitation on length of lines when scanning config pragma files.
6835
6836 * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
6837 makeutl.ads, makeutl.adb: Minor reformatting
6838
6839 * scn.adb: Do not check line length while scanning config pragma files
6840 Do not check line length while scanning out license information
6841
6842 * scng.adb: Changes to avoid line length checks while parsing config
6843 pragma files.
6844
6845 2004-05-10 GNAT Script <nobody@gnat.com>
6846
6847 * Make-lang.in: Makefile automatically updated
6848
6849 2004-05-05 Arnaud Charlet <charlet@act-europe.fr>
6850
6851 * osint.adb (Find_Program_Name): Fix handling of VMS version
6852 number.
6853
6854 2004-05-05 Emmanuel Briot <briot@act-europe.fr>
6855
6856 * g-os_lib.ads (Invalid_Time): New constant
6857
6858 * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
6859 return OS_Time instead of time_t to match what is imported by Ada.
6860 Now return -1 if the file doesn't exist, instead of a random value
6861
6862 2004-05-05 Robert Dewar <dewar@gnat.com>
6863
6864 * usage.adb: Add line for -gnatR?s switch
6865
6866 * sem_ch13.adb, exp_ch2.adb: Minor reformatting
6867
6868 * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
6869 and for Match (Data_First, Data_last)
6870
6871 * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
6872 written when we are dealing with multi-unit files.
6873
6874 2004-05-05 Jerome Guitton <guitton@act-europe.fr>
6875
6876 * Makefile.in: Remove unused targets and variables.
6877
6878 2004-05-05 Vincent Celier <celier@gnat.com>
6879
6880 * switch-m.adb: New gnatmake switch -eI
6881
6882 * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
6883 of new gnatmake switch -eInnn.
6884
6885 * makegpr.adb: Take into account new parameters Index and Src_Index in
6886 Prj.Util.
6887
6888 * clean.adb: Implement support for multi-unit sources, including new
6889 switch -i.
6890
6891 * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
6892 Src_Index.
6893
6894 * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
6895 (Extract_From_Q): New out parameter Index
6896 (Mark, Is_Marked): Subprograms moved to Makeutl
6897 (Switches_Of): New parameter Source_Index
6898 (Add_Switch): New parameter Index
6899 (Check): New parameter Source_Index
6900 (Collect_Arguments): New parameter Source_Index
6901 (Collect_Arguments_And_Compile): New parameter Source_Index
6902 (Compile): New parameter Source_Index
6903 Put subprograms in alphabetical order
6904 Add support for multi-source sources, including in project files.
6905
6906 * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
6907 (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
6908 Make.
6909
6910 * makeusg.adb: New gnatmake switch -eInnn
6911
6912 * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
6913 Prj.Util.Value_Of.
6914
6915 * opt.ads (Main_Index): New variable, defaulted to 0.
6916
6917 * osint.ads, osinte.adb (Add_File): New parameter Index
6918 (Current_Source_Index): New function
6919
6920 * prj.adb: Take into account new components Index and Src_Index
6921
6922 * prj.ads (String_Element): New component Index
6923 (Variable_Value): New component Index
6924 (Array_Element): New component Src_Index
6925
6926 * prj-attr.adb: Indicate that optional index may be specified for
6927 attributes Main, Executable, Spec, Body and some of Switches.
6928
6929 * prj-attr.ads (Attribute_Kind): New values for optional indexes
6930 (Attribute_Record): New component Optional_Index
6931
6932 * prj-com.ads (File_Name_Data): New component Index
6933
6934 * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
6935
6936 * prj-env.adb (Put): Output optional index
6937
6938 * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
6939 attributes Spec and Body.
6940
6941 * prj-nmsc.adb: Process optional indexes
6942
6943 * prj-pp.adb: Ouput "at" for optional indexes
6944
6945 * prj-proc.adb: Take into account optional indexes
6946
6947 * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
6948 Optional_Index. For string literal,
6949 process optional index when Optional_Index is True.
6950 (Parse_Expresion): New Boolean parameter Optional_Index
6951
6952 * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
6953 (Set_Source_Index_Of): New procedure
6954
6955 * prj-util.adb (Executable_Of, Value_Of): Take into account optional
6956 index.
6957
6958 * prj-util.ads (Executable_Of): New parameter Index
6959 (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
6960 New parameter Src_Index, defaulted to 0.
6961
6962 2004-05-05 Ed Schonberg <schonberg@gnat.com>
6963
6964 PR ada/15257
6965 * sem_ch3.adb (Access_Definition): If this is an access parameter
6966 whose designated type is imported through a limited_with clause, do
6967 not add the enclosing subprogram to the list of private dependents of
6968 the type.
6969
6970 2004-05-05 Ed Schonberg <schonberg@gnat.com>
6971
6972 PR ada/15258
6973 * sem_ch6.adb (Base_Types_Match): True if one type is imported through
6974 a limited_with clause, and the other is its non-limited view.
6975
6976 2004-05-05 Thomas Quinot <quinot@act-europe.fr>
6977
6978 * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
6979
6980 * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
6981 exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
6982 Stand.Boolean_Literals to produce references to entities
6983 Standard_False and Standard_True from compile-time computed boolean
6984 values.
6985
6986 * stand.ads (Boolean_Literals): New variable, provides the entity
6987 values for False and True, for use by the expander.
6988
6989 2004-05-05 Doug Rupp <rupp@gnat.com>
6990
6991 * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
6992 5vinmaop.adb: Unchecked convert Short_Address vice Address
6993
6994 * adaint.c, raise.c: Caste CRTL function return value
6995 to avoid gcc error on 32/64 bit IVMS.
6996
6997 * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
6998 target = IA64/VMS.
6999
7000 * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
7001
7002 * 5qsystem.ads (Address): Declare as Long_Integer
7003 (Short_Address): Declare as 32 bit subtype of Address
7004 Declare abstract address operations to avoid gratuitous ambiguities.
7005
7006 2004-05-05 Jose Ruiz <ruiz@act-europe.fr>
7007
7008 * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
7009 instead of the old Boolean_Entry_Barriers.
7010 Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
7011
7012 2004-05-05 GNAT Script <nobody@gnat.com>
7013
7014 * Make-lang.in: Makefile automatically updated
7015
7016 2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
7017
7018 * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
7019
7020 2004-05-03 Olivier Hainque <hainque@act-europe.fr>
7021
7022 PR ada/15152
7023
7024 * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
7025 alone. Replacing object references by literals is inappropriate in a
7026 so low level context.
7027
7028 2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
7029
7030 * a-exexpr.adb: Add comments
7031
7032 2004-05-03 Joel Brobecker <brobecker@gnat.com>
7033
7034 * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
7035 declare the Ancestor_Tags array in Type_Specific_Data with a small size
7036 without risking a bounds check error when accessing one of its
7037 components.
7038 (Type_Specific_Data): Define Ancestor_Tags as a small array.
7039 This prevents us from hitting a limitation during the debug info
7040 generation when using stabs.
7041
7042 * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
7043 small array.
7044 This prevents us from hitting a limitation during the debug info
7045 generation when using stabs.
7046
7047 2004-05-03 Eric Botcazou <ebotcazou@act-europe.fr>
7048
7049 lang-specs.h: Remove -gnatz* from specs.
7050
7051 2004-05-03 Vincent Celier <celier@gnat.com>
7052
7053 * gprmake.adb, makegpr.ads, makegpr.adb: New files.
7054
7055 * Make-lang.in, Makefile.in: Add gprmake
7056
7057 2004-05-03 Thomas Quinot <quinot@act-europe.fr>
7058
7059 * sem_aggr.adb: Fix typo in comment.
7060
7061 2004-05-03 Robert Dewar <dewar@gnat.com>
7062
7063 * make.adb: Minor reformatting
7064
7065 * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
7066
7067 * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
7068 so that it works when address is not a private type.
7069
7070 * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
7071 properly with rewritten unchecked conversions. This prevents
7072 order-of-elaboration issues that can otherwise arise.
7073 (Minimum_Size): Don't check size of access types under VMS
7074
7075 * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
7076 interpretations of integer literals as type System.Address.
7077
7078 * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
7079 (Is_Descendent_Of): New function
7080
7081 2004-05-03 Jose Ruiz <ruiz@act-europe.fr>
7082
7083 * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
7084 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
7085 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
7086
7087 * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
7088 of the old Max_Entry_Queue_Depth.
7089
7090 * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
7091 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
7092 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
7093
7094 * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
7095 New entry for proper handling of Max_Entry_Queue_Depth.
7096 New entry for proper handling of No_Dynamic_Interrupts.
7097
7098 * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
7099 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
7100 Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
7101 the GNAT specific restriction Max_Entry_Queue_Depth.
7102 Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
7103 the GNAT specific restriction No_Dynamic_Interrupts.
7104
7105 * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
7106 instead of the old Boolean_Entry_Barriers.
7107 Use the new restriction No_Dynamic_Attachment instead of the old
7108 No_Dynamic_Interrupts.
7109
7110 * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
7111 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
7112
7113 * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
7114 of the old Max_Entry_Queue_Depth.
7115
7116 2004-05-03 GNAT Script <nobody@gnat.com>
7117
7118 * Make-lang.in: Makefile automatically updated
7119
7120 2004-04-29 Ed Schonberg <schonberg@gnat.com>
7121
7122 * checks.adb (Enable_Range_Check): If the prefix of an index component
7123 is an access to an unconstrained array, perform check unconditionally.
7124
7125 2004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7126
7127 * decl.c (gnat_to_gnu_field): Also call make_packable_type if
7128 Component_Clause.
7129
7130 2004-04-29 Olivier Hainque <hainque@act-europe.fr>
7131
7132 * init.c (__gnat_install_handler, __gnat_error_handler): Remove
7133 alternate stack setting. There was no support for the tasking cases
7134 and the changes eventually caused a number of side-effect failures in
7135 the non-tasking case too.
7136
7137 2004-04-29 Eric Botcazou <ebotcazou@act-europe.fr>
7138
7139 lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
7140 -gnats is passed.
7141
7142 2004-04-29 Vincent Celier <celier@gnat.com>
7143
7144 * make.adb (Gnatmake): Increase max size of argument array for
7145 gnatbind for the potential addition of -F.
7146 If there are Stand-Alone Library projects, invoke gnatbind with -F to
7147 be sure that elaboration flags will be checked.
7148
7149 * switch-c.adb: Correct call to Scan_Pos for -gnateI
7150
7151 2004-04-29 Thomas Quinot <quinot@act-europe.fr>
7152
7153 * sem_warn.adb (Check_References): Move '<access-variable> may be
7154 null' warning out of under Warn_On_No_Value_Assigned.
7155
7156 2004-04-29 Ed Falis <falis@gnat.com>
7157
7158 * gnat_ugn.texi: Fixed texi error
7159
7160 2004-04-29 Robert Dewar <dewar@gnat.com>
7161
7162 * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
7163 abstract operations if they come from predefined files.
7164
7165 * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
7166 Dynamic, not RM).
7167
7168 * s-addope.adb: Correct obvious error in mod function
7169
7170 2004-04-28 Andrew W. Reynolds <awreynolds@mac.com>
7171
7172 * Makefile.in: Add target pairs for powerpc darwin*
7173 tasking support.
7174
7175 * a-intnam-darwin.ads, s-osinte-darwin.adb,
7176 s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
7177
7178 2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
7179
7180 * Makefile.in: Add target macro definitions for s390*-linux*.
7181 * system-linux-s390.ads: New file.
7182 * system-linux-s390x.ads: New file.
7183
7184 2004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
7185
7186 * gnat_ugn.texi: Correct argument to @setfilename.
7187
7188 2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
7189
7190 * a-exexpr.adb (Unwind_Word): New data type.
7191 (Unwind_Exception): Use it as type of Private1 and Private2.
7192
7193 * raise.c (db_action_for): Fix debug printf.
7194
7195 2004-04-27 Ed Schonberg <schonberg@gnat.com>
7196
7197 * a-wtmoio.ads: Formal type must be a modular type, not a signed
7198 integer type.
7199
7200 2004-04-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7201
7202 * decl.c (gnat_to_gnu_entity, case object): Call
7203 __builtin_update_setjmp_buf.
7204
7205 * gigi.h (update_setjmp_buf): Deleted.
7206 (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
7207
7208 * misc.c: (update_setjmp_buf): Deleted.
7209
7210 * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
7211 around block of RTL.
7212
7213 * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
7214
7215 2004-04-26 Thomas Quinot <quinot@act-europe.fr>
7216
7217 * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
7218 subprogram for which no pragma All_Calls_Remote applies, store the
7219 address of the real subprogram in the underlying record type, so local
7220 dereferences do not go through the PCS.
7221
7222 2004-04-26 Robert Dewar <dewar@gnat.com>
7223
7224 * i-c.ads: Add some type qualifications to avoid ambiguities when
7225 compiling with s-auxdec.ads and a non-private address type.
7226
7227 2004-04-26 Arnaud Charlet <charlet@act-europe.fr>
7228
7229 * Makefile.rtl: Fix error in previous check-in:
7230 Add s-addope.o to non tasking object list (rather than tasking object
7231 list).
7232
7233 2004-04-26 Javier Miranda <miranda@gnat.com>
7234
7235 * sem_aggr.adb: Fix typo in comments
7236 (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
7237 Required to check the null-exclusion attribute.
7238
7239 * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
7240 case of anonymous access types in record and array components. For a
7241 component definition the level is the same of the enclosing composite
7242 type.
7243
7244 * sem_ch3.adb (Analyze_Component_Declaration): In case of components
7245 that are anonymous access types the level of accessibility depends on
7246 the enclosing type declaration. In order to have this information, set
7247 the scope of the anonymous access type to the enclosing record type
7248 declaration.
7249 (Array_Type_Declaration): In case of components that are anonymous
7250 access types the level of accessibility depends on the enclosing type
7251 declaration. In order to have this information, set the scope of the
7252 anonymous access type to the enclosing array type declaration.
7253
7254 * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
7255 access type.
7256
7257 * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
7258 renaming of anonymous access-to-constant types allowed if and only if
7259 the renamed object is access-to-constant.
7260
7261 * sem_util.adb (Type_Access_Level): In case of anonymous access types
7262 that are component_definition or discriminants of a nonlimited type,
7263 the level is the same as that of the enclosing component type.
7264
7265 2004-04-26 Sergey Rybin <rybin@act-europe.fr>
7266
7267 * sem_elim.adb: Some minor code reorganization from code reading. Fix
7268 misprint in the function name (File_Name_Match).
7269
7270 2004-04-23 Laurent GUERBY <laurent@guerby.net>
7271
7272 * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
7273 install.
7274
7275 2004-04-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7276
7277 * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
7278
7279 2004-04-23 Emmanuel Briot <briot@act-europe.fr>
7280
7281 * adaint.c (__gnat_try_lock): No longer requires that the parent
7282 directory be writable, the directory itself is enough.
7283 (gnat_is_absolute_path): Change profile, so that the call from
7284 GNAT.OS_Lib can be made more efficient.
7285
7286 * adaint.h (gnat_is_absolute_path): Change profile, so that the call
7287 from GNAT.OS_Lib can be made more efficient.
7288
7289 * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
7290 one copy of the file name. Found by code reading.
7291
7292 2004-04-23 Vincent Celier <celier@gnat.com>
7293
7294 * gnat_ugn.texi: Add documentation for gnatmake switch -eL
7295 Correct documentation on gnatmake switches transmitted to the compiler
7296
7297 * ali.ads: Minor comment fix
7298
7299 2004-04-23 Javier Miranda <miranda@gnat.com>
7300
7301 * sem_ch6.adb: (Confirming Types): Code cleanup
7302
7303 * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
7304 subprogram types: E_Anonymous_Access_Subprogram_Type and
7305 E_Anonymous_Access_Protected_Subprogram_Type.
7306
7307 2004-04-23 Thomas Quinot <quinot@act-europe.fr>
7308
7309 * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
7310 whether a pragma All_Calls_Remote applies to the subprogram on which
7311 'Access is taken.
7312 No functional change is introduced by this revision; the new parameter
7313 will be used to allow calls to local RCI subprograms to be optimized
7314 to not use the PCS in the case where no pragma All_Calls_Remote applies,
7315 as is already done in the PolyORB implementation of the DSA.
7316
7317 * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
7318 whether a pragma All_Calls_Remote applies to the subprogram on which
7319 'Access is taken.
7320 No functional change is introduced by this revision; the new parameter
7321 will be used to allow calls to local RCI subprograms to be optimized
7322 to not use the PCS in the case where no pragma All_Calls_Remote applies,
7323 as is already done in the PolyORB implementation of the DSA.
7324
7325 2004-04-23 Robert Dewar <dewar@gnat.com>
7326
7327 * Makefile.rtl: Add entry for s-addope.o in run time library list
7328 * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
7329 * s-addope.ads, s-addope.adb: New files.
7330
7331 * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
7332 s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
7333 s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
7334 System.Address to be non-private and signed.
7335
7336 * sem_elim.adb: Minor reformatting (fairly extensive)
7337 Some minor code reorganization from code reading
7338 Add a couple of ??? comments
7339
7340 2004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7341
7342 * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
7343 (tree_transform, case N_If_Statement): Remove non-determinism.
7344
7345 * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
7346
7347 2004-04-23 Sergey Rybin <rybin@act-europe.fr>
7348
7349 * gnat_rm.texi: Small fixes in the changes made in the 'pragma
7350 Eliminate' section.
7351
7352 * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
7353 no longer used as a parameter name for Eliminate pragma).
7354
7355 2004-04-22 Laurent GUERBY <laurent@guerby.net>
7356
7357 PR optimization/14984
7358 PR optimization/14985
7359 * trans.c (gigi): Fix non determinism leading to bootstrap
7360 comparison failures.
7361
7362 2004-04-21 Pascal Obry <obry@gnat.com>
7363
7364 * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
7365 passed to spawnvp() to properly handle program pathname with spaces on
7366 Win32.
7367
7368 2004-04-21 Emmanuel Briot <briot@act-europe.fr>
7369
7370 * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
7371 (Allocate, Deallocate, Free_Physically): Make sure the tasks are
7372 unlocked in case of exceptions.
7373
7374 2004-04-21 Joel Brobecker <brobecker@gnat.com>
7375
7376 * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
7377 This function does not exist anymore.
7378
7379 2004-04-21 Thomas Quinot <quinot@act-europe.fr>
7380
7381 * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
7382
7383 * link.c: Move variables to the __gnat name space.
7384
7385 * Makefile.in: list link.o explicitly when needed.
7386
7387 * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
7388
7389 2004-04-21 Javier Miranda <miranda@gnat.com>
7390
7391 * einfo.adb (Original_Access_Type): New subprogram
7392 (Set_Original_Access_Type): New subprogram
7393 (Write_Field21_Name): Write the name of the new field
7394
7395 * einfo.ads (Original_Access_Type): New field present in access to
7396 subprogram types.
7397 Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
7398 E_Anonymous_Access_Protected_Subprogram_Type.
7399
7400 * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
7401 subprogram types.
7402
7403 * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
7404 to anonymous access to subprogram types.
7405
7406 * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
7407 to subprogram types.
7408
7409 * sem_ch3.adb (Access_Definition): Complete decoration of entities
7410 corresponding to anonymous access to subprogram types.
7411 (Analyze_Component_Declaration): Add new actual to the call to
7412 subprogram replace_anonymous_access_to_protected_subprogram.
7413 (Array_Type_Declaration): Add new actual to the call to subprogram
7414 replace_anonymous_access_to_protected_subprogram.
7415 (Process_Discriminants): Add new actual to the call to subprogram
7416 replace_anonymous_access_to_protected_subprogram.
7417 (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
7418
7419 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
7420 formal.
7421
7422 * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
7423 access to subprogram types.
7424
7425 * sem_util.adb (Has_Declarations): Addition of package_specification
7426 nodes.
7427
7428 2004-04-21 Ed Schonberg <schonberg@gnat.com>
7429
7430 * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
7431 inlined flags to renamed entity only if in current unit.
7432
7433 2004-04-21 Thomas Quinot <quinot@act-europe.fr>
7434
7435 * s-parint.ads: Add DSA implementation marker.
7436
7437 * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
7438 value of System.Partition_Interface.DSA_Implementation to determine
7439 what version of the distributed systems annex is available (no
7440 implementation, GLADE, or PolyORB).
7441
7442 2004-04-21 Joel Brobecker <brobecker@gnat.com>
7443
7444 * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
7445
7446 2004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7447
7448 * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
7449 with new type if alias sets differ.
7450 Fixes ACATS c41103b.
7451
7452 2004-04-21 Vincent Celier <celier@gnat.com>
7453
7454 * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
7455 Add array Lang_Args for the language specific compiling argument
7456 switches.
7457
7458 * gnat_ugn.texi: Explain in more details when a library is rebuilt.
7459
7460 2004-04-21 Sergey Rybin <rybin@act-europe.fr>
7461
7462 * gnat_rm.texi: Update the descripton of the Eliminate pragma
7463 according to the recent changes in the format of the parameters of the
7464 pragma (replacing Homonym_Number with Source_Location).
7465
7466 2004-04-19 Arnaud Charlet <charlet@act-europe.fr>
7467
7468 * 5isystem.ads: Removed, unused.
7469
7470 * gnat_rm.texi: Redo 1.13 change.
7471
7472 2004-04-19 Robert Dewar <dewar@gnat.com>
7473
7474 * s-stoele.ads: Clean up definition of Storage_Offset (the new
7475 definition is cleaner, avoids the kludge of explicit Standard operator
7476 references, and also is consistent with a visible System.Address with
7477 no visible operations.
7478
7479 * s-geveop.adb: Add declarations to avoid assumption of visible
7480 operations on type System.Address (since these might not be available
7481 if Address is a non-private type for which the operations
7482 are made abstract).
7483
7484 * sem_eval.adb: Minor reformatting
7485
7486 * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
7487 s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
7488 reformatting (new function spec format).
7489
7490 * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
7491 s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
7492 s-caun64.adb: Add declarations to avoid assumption of visible
7493 operations on type System.Address (since these might not be available
7494 if Address is a non-private type for which the operations are made
7495 abstract).
7496
7497 * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
7498
7499 * exp_intr.adb: Minor comment update
7500
7501 * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
7502
7503 * 5omastop.adb: Add declarations to avoid assumption of visible
7504 operations on type System.Address (since these might not be available
7505 if Address is a non-private type for which the operations
7506 are made abstract).
7507
7508 2004-04-19 Vincent Celier <celier@gnat.com>
7509
7510 * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
7511
7512 * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
7513 defaulted to Ada.
7514
7515 * prj-proc.adb (Process): New Boolean parameter Process_Languages,
7516 defaulted to Ada.
7517 Call Check with Process_Languages.
7518 (Check): New Boolean parameter Process_Languages. Call Recursive_Check
7519 with Process_Languages.
7520 (Recursive_Check): New Boolean parameter Process_Languages. Call
7521 Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
7522 Process_Languages.
7523
7524 * prj-proc.ads (Process): New Boolean parameter Process_Languages,
7525
7526 * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
7527 parameter Ada_Main, defaulted to True.
7528 Check for Ada specific characteristics only when Ada_Main is True.
7529
7530 * opt.ads: (Follow_Links): New Boolean flag for gnatmake
7531
7532 * prj.adb: (Project_Empty): Add new Project_Data components.
7533
7534 * prj.ads: New types and tables for non Ada languages.
7535 (Project_Data): New components Languages, Impl_Suffixes,
7536 First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
7537 Include_Path, Include_Data_Set.
7538
7539 * prj-env.ads, prj-env.adb: Minor reformatting
7540
7541 * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
7542 Put subprograms in alphabetical order
7543
7544 * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
7545 defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
7546 Opt.Follow_Links.
7547
7548 * mlib-prj.adb: Back out modification in last version, as they are
7549 incorrect.
7550 (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
7551
7552 * make.adb: (Mains): Moved to package Makeutl
7553 (Linker_Opts): Moved to package Makeutl
7554 (Is_External_Assignment): Moved to package Makeutl
7555 (Test_If_Relative_Path): Moved to package Makeutl
7556 (Gnatmake): Move sorting of linker options to function
7557 Makeutl.Linker_Options_Switches.
7558
7559 * makeutl.ads, makeutl.adb: New files.
7560
7561 * Makefile.in: Add makeutl.o to the object files for gnatmake
7562
7563 * makeusg.adb: Add line for new switch -eL.
7564
7565 * gnatls.adb (Image): New function.
7566 (Output_Unit): If in verbose mode, output the list of restrictions
7567 specified by pragmas Restrictions.
7568
7569 * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
7570 Text_IO.
7571
7572 * a-calend.adb (Split): Shift the date by multiple of 56 years, if
7573 needed, to put it in the range 1970 (included) - 2026 (excluded).
7574 (Time_Of): Do not shift Unix_Min_Year (1970).
7575 Shift the date by multiple of 56 years, if needed, to put it in the
7576 range 1970 (included) - 2026 (excluded).
7577
7578 * adaint.h, adaint.c (__gnat_set_executable): New function.
7579
7580 2004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7581
7582 * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
7583 and pop GC context.
7584 (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
7585 (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
7586 (tree_transform, case N_Procedure_Call_Statement): Build a tree.
7587 (tree_transform, case N_Code_Statement): Likewise.
7588 (gnat_expand_stmt, case LABEL_STMT): Don't look at
7589 LABEL_STMT_FIRST_IN_EH.
7590 (gnat_expand_stmt, case ASM_STMT): New case.
7591
7592 * utils2.c (build_unary_op): Properly set TREE_READONLY of
7593 UNCONSTRAINED_ARRAY_REF.
7594
7595 * utils.c (poplevel): Temporarily push/pop GC context around inline
7596 function expansion.
7597
7598 * decl.c (maybe_variable): Properly set TREE_READONLY of
7599 UNCONSTRAINED_ARRAY_REF.
7600 (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
7601
7602 * ada-tree.def: (ASM_STMT): New.
7603
7604 * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
7605 (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
7606 ASM_STMT_INPUT): New.
7607 (ASM_STMT_CLOBBER): Likewise.
7608
7609 2004-04-19 Thomas Quinot <quinot@act-europe.fr>
7610
7611 * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
7612 general rcheck mechanism to raise Program_Error for E.4(18), instead
7613 of a custom raiser in System.Partition_Interface.
7614 Part of general cleanup work before PolyORB integration.
7615
7616 * snames.ads, snames.adb: Add new runtime library entities and names
7617 for PolyORB DSA.
7618
7619 * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
7620 exp_dist.
7621 (Build_Subprogram_Id): New subprogram provided by exp_dist
7622 Code reorganisation in preparation for PolyORB integration.
7623
7624 * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
7625 exp_dist.
7626 (Build_Subprogram_Id): New subprogram provided by exp_dist
7627
7628 * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
7629 actual parameter types for call to dereference of an
7630 access-to-subprogram type.
7631
7632 * rtsfind.ads: Add new runtime library entities and names for PolyORB
7633 DSA.
7634
7635 * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
7636 instead, which has the same behaviour here since we never pass it a
7637 NULL pointer.
7638
7639 * link.c (run_path_option, Solaris case): Use -Wl, as for other
7640 platforms.
7641
7642 * Makefile.in: adjust object file lists for gnatlink and gnatmake
7643 to account for new dependency upon Interfaces.C.Strings + link.o
7644 For x86 FreeBSD, use 86numaux.
7645
7646 * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
7647 from Mlib.Tgt to Mlib.
7648
7649 * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
7650 target-independent.
7651
7652 * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
7653 target-specific versions of this subprogram, now implemented as a
7654 target-independent function in Mlib.
7655
7656 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
7657 5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
7658 (Linker_Library_Path_Option): Remove target-specific versions of this
7659 subprogram, now implemented as a target-independent function in Mlib.
7660
7661 * atree.adb: (Allocate_Initialize_Node): New subprogram.
7662 Factors out node table slots allocation.
7663 (Fix_Parents): New subprogram.
7664 Encapsulate the pattern of fixing up parent pointers for syntactic
7665 children of a rewritten node.
7666 (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
7667 (Rewrite): Use New_Copy when creating saved copy of original node.
7668 (Replace): Use Copy_Node to copy nodes.
7669
7670 2004-04-19 Javier Miranda <miranda@gnat.com>
7671
7672 * sprint.adb (Sprint_Node_Actual): Give support to the new
7673 Access_To_Subprogram node available in Access_Definition nodes. In
7674 addition, give support to the AI-231 node fields: null-exclusion,
7675 all-present, constant-present.
7676
7677 * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
7678
7679 * sinfo.ads, sinfo.adb:
7680 New field Access_To_Subprogram_Definition in Access_Definition nodes
7681
7682 * sem_ch6.adb (Process_Formals): Move here the code that creates and
7683 decorates internal subtype declaration corresponding to the
7684 null-excluding formal. This code was previously in Set_Actual_Subtypes.
7685 In addition, carry out some code cleanup on this code. In case of
7686 access to protected subprogram call
7687 Replace_Anonymous_Access_To_Protected_Subprogram.
7688 (Set_Actual_Subtypes): Code cleanup.
7689
7690 * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
7691 Find_Type in case of anonymous access renamings. Add warning in case of
7692 null-excluding attribute used in anonymous access renaming.
7693
7694 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
7695 subprogram
7696
7697 * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
7698 subprogram.
7699 (Access_Definition): In case of anonymous access to subprograms call
7700 the corresponding semantic routine to decorate the node.
7701 (Access_Subprogram_Declaration): Addition of some comments indicating
7702 some code that probably should be added here. Detected by comparison
7703 with the access_definition subprogram.
7704 (Analyze_Component_Declaration): In case of access to protected
7705 subprogram call Replace_Anonymous_Access_To_Protected.
7706 (Array_Type_Declaration): In case of access to protected subprogram call
7707 Replace_Anonymous_Access_To_Protected_Subprogram.
7708 (Process_Discriminants): In case of access to protected subprogram call
7709 Replace_Anonymous_Access_To_Protected_Subprogram.
7710
7711 * par.adb (P_Access_Definition): New formal that indicates if the
7712 null-exclusion part was present.
7713 (P_Access_Type_Definition): New formal that indicates if the caller has
7714 already parsed the null-excluding part.
7715
7716 * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
7717 (P_Identifier_Declarations): Code cleanup and give support to renamings
7718 of anonymous access to subprogram types.
7719 (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
7720 (P_Array_Type_Definition): Give support to AI-254.
7721 (P_Component_Items): Give support to AI-254.
7722 (P_Access_Definition): New formal that indicates if the header was
7723 already parsed by the caller.
7724 (P_Access_Type_Definition): New formal that indicates if the caller has
7725 already parsed the null-excluding part.
7726
7727 * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
7728 call to P_Access_Definition.
7729
7730 2004-04-19 Geert Bosch <bosch@gnat.com>
7731
7732 * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
7733 the delicate semantics of floating-point to integer conversion.
7734 (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
7735
7736 * eval_fat.adb (Machine_Mantissa): Moved to spec.
7737 (Machine_Radix): New function.
7738
7739 * eval_fat.ads (Machine_Mantissa): Moved from body for use in
7740 conversion checks.
7741 (Machine_Radix): New function also for use in conversion checks.
7742
7743 2004-04-19 Ed Schonberg <schonberg@gnat.com>
7744
7745 * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
7746
7747 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
7748 to decorate the access-to-protected subprogram and the equivalent type.
7749
7750 * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
7751 to anonymous access to subprogram types.
7752
7753 * exp_ch4.adb (Expand_N_In): Preserve Static flag before
7754 constant-folding, for legality checks in contexts that require an RM
7755 static expression.
7756
7757 * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
7758 temporary but stack checking is not enabled, increment serial number
7759 to so that symbol generation is consistent with and without stack
7760 checking.
7761
7762 * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
7763 independent on whether stack checking is enabled, caller must check
7764 the corresponding flag.
7765
7766 * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
7767 range checks.
7768 (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
7769 parent if it has discriminants.
7770 (Build_Derived_Private_Type): Constructed full view does
7771 not come from source.
7772 (Process_Discriminants): Default discriminants on a tagged type are
7773 legal if this is the internal completion of a private untagged
7774 derivation.
7775
7776 * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
7777 no constraint checks, because it corresponds to an existing object.
7778
7779 * sem_prag.adb (Process_Convention): Pragma applies
7780 only to subprograms in the same declarative part, i.e. the same unit,
7781 not the same scope.
7782
7783 * sem_res.adb (Valid_Conversion): In an instance or inlined body,
7784 ignore type mismatch on a numeric conversion if expression comes from
7785 expansion.
7786
7787 2004-04-19 Sergey Rybin <rybin@act-europe.fr>
7788
7789 * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
7790 Homonym_Number parameter, add processing for Source_Location parameter
7791 corresponding.
7792 (Check_Eliminated): Remove the check for homonym numbers, add the check
7793 for source location traces.
7794
7795 * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
7796 with Arg_Source_Location corresponding to the changes in the format of
7797 the pragma.
7798
7799 * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
7800 Eliminate pragma corresponding to the changes in the format of the
7801 pragma: Homonym_Number is replaced with Source_Location, two ways of
7802 distinguishing homonyms are mutially-exclusive.
7803
7804 2004-04-19 Joel Brobecker <brobecker@gnat.com>
7805
7806 * get_targ.ads (Get_No_Dollar_In_Label): Remove.
7807
7808 * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
7809 No_Dollar_In_Label, no longer necessary, as it is always True.
7810 (Strip_Suffixes): Likewise.
7811
7812 2004-04-19 Gary Dismukes <dismukes@gnat.com>
7813
7814 * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
7815 modulus for compatibility with size clause on targets with 16-bit
7816 Integer.
7817
7818 * layout.adb (Discrimify): In the case of private types, set Vtyp to
7819 full type to fix type mismatches on calls to size functions for
7820 discriminant-dependent array components.
7821
7822 2004-04-19 Jerome Guitton <guitton@act-europe.fr>
7823
7824 * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
7825 lib.
7826
7827 2004-04-19 Pascal Obry <obry@gnat.com>
7828
7829 * mdll-utl.adb (Locate): New version is idempotent.
7830
7831 2004-04-17 Laurent Guerby <laurent@guerby.net>
7832
7833 PR ada/14988 (partial)
7834 * impunit.adb: Fix typo.
7835
7836 2004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
7837
7838 * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
7839 and install-rts-cert targets. Remove all gnatlib and gnattools
7840 targets and all other rts-* targets (moved to libada). Remove (now)
7841 unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
7842 TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
7843
7844 2004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7845
7846 * trans.c (tree_transform): Shortcut returning error_mark_node for
7847 statements in annotate_only_mode.
7848 (tree_transform, case N_Label, case N_Return_Statement,
7849 N_Goto_Statement): Make statement tree instead of generating code.
7850 (tree_transform, case N_Assignment_Statement): No longer check
7851 type_annotate_only.
7852 (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
7853 RETURN_STMT): New.
7854 (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
7855 New fcns.
7856 (gnat_to_gnu): Collect any RTL generated and deal with it.
7857 (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
7858 (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
7859 (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
7860
7861 * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
7862
7863 * ada-tree.def (EXPR_STMT): Fix typo in name.
7864 (BLOCK_STMT, IF_STMT): New nodes.
7865
7866 * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
7867 LABEL_STMT_FIRST_IN_EH): New macros.
7868 (RETURN_STMT_EXPR): Likewise.
7869
7870 * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
7871 IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
7872
7873 2004-04-08 Thomas Quinot <quinot@act-europe.fr>
7874
7875 * atree.ads: Correct documentation on extended nodes.
7876
7877 * link.c: Set run_path_option for FreeBSD.
7878
7879 2004-04-08 Vincent Celier <celier@gnat.com>
7880
7881 * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
7882 one of the ALI file, do not link with DEC lib.
7883
7884 * par.adb Remove the last two characters ("%s" or "%b") when checking
7885 if a language defined unit may be recompiled.
7886
7887 2004-04-08 Ed Schonberg <schonberg@gnat.com>
7888
7889 * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
7890 removal of abstract operation leaves no possible interpretation for
7891 expression.
7892
7893 * sem_eval.adb (Eval_Qualified_Expression): Use
7894 Set_Raises_Constraint_Error on node when needed, so that it does not
7895 get optimized away by subsequent optimizations.
7896
7897 * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
7898 operands even when they are not wrapped in a type conversion.
7899
7900 2004-04-08 Olivier Hainque <hainque@act-europe.fr>
7901
7902 * sem_prag.adb (Set_Exported): Warn about making static as result of
7903 export only when the export is coming from source. This may be not
7904 be true e.g. on VMS where we expand export pragmas for exception codes
7905 together with imported or exported exceptions, and we don't want the
7906 user to be warned about something he didn't write.
7907
7908 2004-04-08 Thomas Quinot <quinot@act-europe.fr>
7909
7910 * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
7911 duplication between normal entities and those declared as renamings.
7912 No functional change.
7913
7914 * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
7915 inline functions returning an unconstrained result.
7916
7917 2004-04-08 Eric Botcazou <ebotcazou@act-europe.fr>
7918
7919 * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
7920 conform to what other front-ends do.
7921
7922 2004-04-08 Doug Rupp <rupp@gnat.com>
7923
7924 * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
7925 libraries.
7926
7927 2004-04-06 Pascal Obry <obry@gnat.com>
7928
7929 * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
7930
7931 * osint.adb (Program_Name): Do not look past a directory separator.
7932
7933 2004-04-06 Thomas Quinot <quinot@act-europe.fr>
7934
7935 * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
7936
7937 * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
7938 requirement for preserving a copy of the original assignment node.
7939
7940 * sinfo.ads: Update comment (Original_Tree -> Original_Node).
7941
7942 2004-04-06 Olivier Hainque <hainque@act-europe.fr>
7943
7944 (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
7945 when supported.
7946
7947 2004-04-06 Ed Schonberg <schonberg@gnat.com>
7948
7949 * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
7950 operator calls in functional notation, and apply
7951 Universal_Interpretation to operands, not to their type.
7952
7953 2004-04-06 Robert Dewar <dewar@gnat.com>
7954
7955 * 5wdirval.adb: Minor reformatting
7956
7957 2004-04-06 Ed Falis <falis@gnat.com>
7958
7959 * gnat_rm.texi: Improve a reference to the GCC manual
7960
7961 2004-04-05 Vincent Celier <celier@gnat.com>
7962
7963 * adaint.h, adaint.c: Add function __gnat_named_file_length
7964
7965 * impunit.adb: Add Ada.Directories to the list
7966
7967 * Makefile.in: Add VMS and Windows versions of
7968 Ada.Directories.Validity package body.
7969
7970 * Makefile.rtl: Add a-direct and a-dirval
7971
7972 * mlib-tgt.ads: Minor comment update.
7973
7974 * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
7975 a-direct.ads, a-direct.adb: New files.
7976
7977 2004-04-05 Vincent Celier <celier@gnat.com>
7978
7979 PR ada/13620
7980 * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
7981 just to the compiler.
7982
7983 2004-04-05 Robert Dewar <dewar@gnat.com>
7984
7985 * a-except.adb (Exception_Name_Simple): Make sure lower bound of
7986 returned string is 1.
7987
7988 * ali-util.adb: Use proper specific form for Warnings (Off, entity)
7989
7990 * eval_fat.ads: Minor reformatting
7991
7992 * g-curexc.ads: Document that lower bound of returned string values
7993 is always one.
7994
7995 * gnatlink.adb: Add ??? comment for previous change
7996 (need to document why this is VMS specific)
7997
7998 * s-stoele.ads: Minor reformatting
7999
8000 * tbuild.ads: Minor reformatting throughout (new function specs)
8001
8002 * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
8003 after WITH.
8004
8005 * scng.adb: Minor reformatting
8006
8007 2004-04-05 Geert Bosch <bosch@gnat.com>
8008
8009 * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
8010 (Leading_Part): Still perform truncation to machine number if the
8011 specified radix_digits is greater or equal to machine_mantissa.
8012
8013 2004-04-05 Javier Miranda <miranda@gnat.com>
8014
8015 * par-ch3.adb: Complete documentation of previous change
8016 Correct wrong syntax documentation of the OBJECT_DECLARATION rule
8017 (aliased must appear before constant).
8018
8019 * par-ch4.adb: Complete documentation of previous change.
8020
8021 * par-ch6.adb: Complete documentation of previous change.
8022
8023 * sinfo.ads: Fix typo in commment.
8024
8025 2004-04-05 Ed Schonberg <schonberg@gnat.com>
8026
8027 * sem_ch3.adb (Inherit_Components): If derived type is private and has
8028 stored discriminants, use its discriminants to constrain parent type,
8029 as is done for non-private derived record types.
8030
8031 * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
8032 Ada 2005 AI-310: an abstract non-dispatching operation is not a
8033 candidate interpretation in an overloaded call.
8034
8035 * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
8036 expression is Null and target type is not an access type (e.g. a
8037 non-private address type).
8038
8039 2004-04-05 Thomas Quinot <quinot@act-europe.fr>
8040
8041 * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
8042 statement whose right-hand side is an inlined call, save a copy of the
8043 original assignment subtree to preserve enough consistency for
8044 Analyze_Assignment to proceed.
8045
8046 * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
8047 complete assignment subtree which is now unnecessary, as the expansion
8048 of inlined call has been improved to preserve a consistent assignment
8049 tree. Note_Possible_Modification must be called only
8050 after checks have been applied, or else unnecessary checks will
8051 be generated.
8052
8053 * sem_util.adb (Note_Possible_Modification): Reorganise the handling
8054 of explicit dereferences that do not Come_From_Source:
8055 - be selective on cases where we must go back to the dereferenced
8056 pointer (an assignment to an implicit dereference must not be
8057 recorded as modifying the pointer);
8058 - do not rely on Original_Node being present (Analyze_Assignment
8059 calls Note_Possible_Modification on a copied tree).
8060
8061 * sem_warn.adb (Check_References): When an unset reference to a pointer
8062 that is never assigned is encountered, prefer '<pointer> may be null'
8063 warning over '<pointer> is never assigned a value'.
8064
8065 2004-04-05 Ramon Fernandez <fernandez@gnat.com>
8066
8067 * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
8068 the ABI.
8069
8070 2004-04-05 Olivier Hainque <hainque@act-europe.fr>
8071
8072 * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
8073 libexc. We currently don't reference anything in this library and
8074 linking it in triggers linker warnings we don't want to see.
8075
8076 * init.c: Update comments.
8077
8078 2004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8079
8080 * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
8081 * utils.c (create_field_decl): Likewise.
8082 * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
8083
8084 2004-04-02 Arnaud Charlet <charlet@act-europe.fr>
8085
8086 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
8087 Replace ifinfo by ifnottex, to make makeinfo --html happy again.
8088 Add info directory entry and category.
8089
8090 2004-04-02 Jan Hubicka <jh@suse.cz>
8091
8092 * utils.c: Include function.h
8093 (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
8094
8095 2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
8096
8097 PR ada/14150
8098 * Make-lang.in: Clean up generation of documentation
8099
8100 * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
8101
8102 * xgnatug.adb: Removed, replaced by xgnatugn.adb
8103
8104 * xgnatugn.adb: Replaces xgnatug.adb
8105
8106 * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
8107
8108 * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
8109
8110 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
8111 gnat_ug_wnt.texi: Removed.
8112
8113 2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
8114
8115 * utils2.c: Update copyright notice.
8116
8117 2004-04-01 Robert Dewar <dewar@gnat.com>
8118
8119 * checks.adb: Minor reformatting throughout
8120 Note that prev checkin added RM reference to alignment warning
8121
8122 2004-04-01 Ed Schonberg <schonberg@gnat.com>
8123
8124 * exp_aggr.adb (Get_Component_Val): Treat a string literal as
8125 non-static when building aggregate for bit-packed array.
8126
8127 * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
8128 function call that is itself the actual in a procedure call, build
8129 temporary for it.
8130
8131 * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
8132 a string literal, create a temporary for it, constant folding only
8133 handles scalars here.
8134
8135 2004-04-01 Vincent Celier <celier@gnat.com>
8136
8137 * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
8138 Error_Msg_SP): New empty procedures to instantiate the Scanner.
8139 (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
8140 tokens.
8141 (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
8142 (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
8143 and get the checksum.
8144
8145 * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
8146 already in the Q.
8147 Increase the Marking_Label at the end of the Multiple_Main_Loop,
8148 instead of at the beginning.
8149
8150 * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
8151 directly.
8152 (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
8153 on VMS.
8154
8155 * osint.ads (Multi_Unit_Index_Character): New Character global variable
8156
8157 * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
8158 not '~' directly.
8159
8160 * par.adb: Remove test on file name to detect language defined units.
8161 Add test on unit name, after parsing, to detect language defined units
8162 that are not compiled with -gnatg (except System.RPC and its children)
8163
8164 * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
8165 following units without style checking.
8166
8167 * switch-c.adb: Change -gnatC to -gnateI
8168
8169 * usage.adb: Document new switch -gnateInnn
8170
8171 * scng.adb (Accumulate_Token_Checksum): New procedure
8172 (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
8173 word or literal number.
8174 (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
8175 numbers.
8176
8177 2004-04-01 Thomas Quinot <quinot@act-europe.fr>
8178
8179 * a-tasatt.adb,
8180 g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
8181 switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
8182 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
8183 5vtpopde.adb: Add missing 'constant' keywords.
8184
8185 2004-04-01 Javier Miranda <miranda@gnat.com>
8186
8187 * par-ch4.adb: (P_Allocator): Code cleanup
8188
8189 * sem_ch3.adb (Access_Definition): Properly set the null-excluding
8190 attribute.
8191
8192 * sinfo.ads: Complete documentation of previous change
8193
8194 2004-04-01 Pascal Obry <obry@gnat.com>
8195
8196 * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
8197 only on VMS. This special handling was done because an old GNU/ld bug
8198 on Windows which has been fixed.
8199
8200 2004-04-01 GNAT Script <nobody@gnat.com>
8201
8202 * Make-lang.in: Makefile automatically updated
8203
8204 2004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8205
8206 * decl.c (gnat_to_gnu_entity, make_type_from_size):
8207 Use TYPE_UNSIGNED, not TREE_UNSIGNED.
8208 * trans.c (tree_transform, convert_with_check): Likewise.
8209 * utils.c (gnat_signed_or_unsigned_type): Likewise.
8210 (build_vms_descriptor, unchecked_convert): Likewise.
8211 * utils2.c (nonbinary_modular_operation): Likewise.
8212
8213 2004-03-29 Javier Miranda <miranda@gnat.com>
8214
8215 * checks.adb (Null_Exclusion_Static_Checks): New subprogram
8216 (Install_Null_Excluding_Check): Local subprogram that determines whether
8217 an access node requires a runtime access check and if so inserts the
8218 appropriate run-time check.
8219 (Apply_Access_Check): Call Install_Null_Excluding check if required
8220 (Apply_Constraint_Check): Call Install_Null_Excluding check if required
8221
8222 * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
8223
8224 * einfo.ads: Fix typo in comment
8225
8226 * exp_ch3.adb (Build_Assignment): Generate conversion to the
8227 null-excluding type to force the corresponding run-time check.
8228 (Expand_N_Object_Declaration): Generate conversion to the null-excluding
8229 type to force the corresponding run-time check.
8230
8231 * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
8232 the null-excluding type to force the corresponding run-time check.
8233
8234 * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
8235 case of access types unless they have the null-excluding attribute.
8236
8237 * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
8238 part.
8239
8240 * exp_util.ads: Fix typo in comment
8241
8242 * par.adb (P_Null_Exclusion): New subprogram
8243 (P_Subtype_Indication): New formal that indicates if the null-excluding
8244 part has been scanned-out and it was present
8245
8246 * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
8247
8248 * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
8249 (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
8250 type to force the corresponding run-time check
8251 (Resolve_Aggregate): Propagate the null-excluding attribute to the array
8252 components
8253 (Resolve_Array_Aggregate): Carry out some static checks
8254 (Resolve_Record_Aggregate.Get_Value): Carry out some static check
8255
8256 * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
8257 attribute must be set only if specified by means of the null-excluding
8258 part. In addition, we must also propagate the access-constant attribute
8259 if present.
8260 (Access_Subprogram_Declaration, Access_Type_Declaration,
8261 Analyze_Component_Declaration, Analyze_Object_Declaration,
8262 Array_Type_Declaration, Process_Discriminants,
8263 Analyze_Subtype_Declaration): Propagate the null-excluding attribute
8264 and carry out some static checks.
8265 (Build_Derived_Access_Type): Set the null-excluding attribute
8266 (Derived_Type_Declaration, Process_Subtype): Carry out some static
8267 checks.
8268
8269 * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
8270
8271 * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
8272
8273 * sem_ch6.adb (Process_Formals): Carry out some static checks.
8274 (Set_Actual_Subtypes): Generate null-excluding subtype if the
8275 null-excluding part was present; it is not required to be done here in
8276 case of anonymous access types.
8277 (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
8278 value.
8279
8280 * sem_res.adb (Resolve_Actuals): Carry out some static check
8281 (Resolve_Null): Allow null in anonymous access
8282
8283 * sinfo.adb: New subprogram Null_Exclusion_Present
8284 All_Present and Constant_Present available on access_definition nodes
8285
8286 * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
8287 object_declaration, derived_type_definition, component_definition,
8288 discriminant_specification, access_to_object_definition,
8289 access_function_definition, allocator, access_procedure_definition,
8290 access_definition, parameter_specification, All_Present and
8291 Constant_Present flags available on access_definition nodes.
8292
8293 2004-03-29 Robert Dewar <dewar@gnat.com>
8294
8295 * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
8296 gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
8297 opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
8298 par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
8299 sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
8300 sem_prag.adb: Updates to handle multiple units/file
8301
8302 * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
8303
8304 * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
8305 sem_util.adb: Minor reformatting
8306
8307 * sem_ch12.adb: Add comment for previous change
8308
8309 2004-03-29 Laurent Pautet <pautet@act-europe.fr>
8310
8311 * osint.adb (Executable_Prefix): Set Exec_Name to the current
8312 executable name when not initialized. Otherwise, use its current value.
8313
8314 * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
8315 initialize it to another executable name than the current one. This
8316 allows to configure paths for an executable name (gnatmake) different
8317 from the current one (gnatdist).
8318
8319 2004-03-29 Ed Schonberg <schonberg@gnat.com>
8320
8321 * exp_ch6.adb (Expand_Call): A call to a function declared in the
8322 current unit cannot be inlined if it appears in the body of a withed
8323 unit, to avoid order of elaboration problems in gigi.
8324
8325 * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
8326 information for protected (wrapper) operation as well, to simplify gdb
8327 use.
8328
8329 * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
8330 protected body, indicate that the entity for the generated spec comes
8331 from source, to ensure that references are properly generated for it.
8332 (Build_Body_To_Inline): Do not inline a function that returns a
8333 controlled type.
8334
8335 * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
8336 apply convention to homonyms that are declared explicitly.
8337
8338 * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
8339 that renames an equality operator and the operands are overloaded,
8340 resolve them with the declared formal types, before rewriting as an
8341 operator.
8342
8343 2004-03-29 GNAT Script <nobody@gnat.com>
8344
8345 * Make-lang.in: Makefile automatically updated
8346
8347 2004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr>
8348
8349 * memtrack.adb: Log realloc calls, which are treated as free followed
8350 by alloc.
8351
8352 2004-03-25 Vincent Celier <celier@gnat.com>
8353
8354 * prj-makr.adb (Process_Directories): Detect when a file contains
8355 several units. Do not include such files in the config pragmas or
8356 in the naming scheme.
8357
8358 * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
8359 Resolve links only when not in Trusted_Mode.
8360 (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
8361 Do not resolve links for the display names.
8362
8363 * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
8364 resolve links when computing the display names.
8365
8366 2004-03-25 Thomas Quinot <quinot@act-europe.fr>
8367
8368 * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
8369 attribute reference does not denote a subtype, it can be any
8370 expression that has a classwide type, potentially after an implicit
8371 dereference. In particular, the prefix can be a view conversion for
8372 a classwide type (for which Is_Object_Reference holds), but it can
8373 also be a value conversion for an access-to-classwide type. In the
8374 latter case, there is an implicit dereference, and the original node
8375 for the prefix does not verify Is_Object_Reference.
8376
8377 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
8378 conversion of a discriminant-dependent component of a mutable object
8379 is one itself.
8380
8381 2004-03-25 Ed Schonberg <schonberg@gnat.com>
8382
8383 * freeze.adb (Freeze_Entity): When an inherited subprogram is
8384 inherited, has convention C, and has unconstrained array parameters,
8385 place the corresponding warning on the derived type declaration rather
8386 than the original subprogram.
8387
8388 * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
8389 indication on renaming declaration, if formal has a box and actual
8390 is absent.
8391
8392 * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
8393 determine whether to generate an implicit or explicit reference to
8394 the renamed entity.
8395
8396 * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
8397 subprogram renaming comes from a defaulted formal subprogram in an
8398 instance.
8399
8400 2004-03-25 Gary Dismukes <dismukes@gnat.com>
8401
8402 * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
8403 value expressions to ensure that calls within a component definition
8404 will be checked (since those are evaluated during the record type's
8405 elaboration).
8406
8407 2004-03-25 Arnaud Charlet <charlet@act-europe.fr>
8408
8409 * s-tpobop.adb: Code clean up:
8410 (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
8411 code.
8412 (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
8413
8414 2004-03-25 Jose Ruiz <ruiz@act-europe.fr>
8415
8416 * Makefile.in: Clean up in the ravenscar run time.
8417
8418 2004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8419
8420 * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
8421 of No_Strict_Aliasing to build_pointer_type_for_mode.
8422 * utils.c (update_pointer_to): Walk pointer and ref chains.
8423
8424 2004-03-22 Cyrille Comar <comar@act-europe.fr>
8425
8426 * ali.ads: Fix Comment about Dynamic_Elab.
8427
8428 * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
8429 Has_RACW, Is_Generic, etc.)
8430 (Output_Object, Gnatls): Take into account ALI files not attached to
8431 an object.
8432
8433 2004-03-22 Vincent Celier <celier@gnat.com>
8434
8435 * gprep.adb: Change all String_Access to Name_Id
8436 (Is_ASCII_Letter): new function
8437 (Double_File_Name_Buffer): New procedure
8438 (Preprocess_Infile_Name): New procedure
8439 (Process_Files): New procedure
8440 (Gnatprep): Check if output and input are existing directories.
8441 Call Process_Files to do the real job.
8442
8443 2004-03-22 Robert Dewar <dewar@gnat.com>
8444
8445 * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
8446 s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
8447
8448 2004-03-22 Sergey Rybin <rybin@act-europe.fr>
8449
8450 * scn.adb (Contains): Add check for EOF, is needed for a degenerated
8451 case when the source contains only comments.
8452
8453 2004-03-22 Ed Schonberg <schonberg@gnat.com>
8454
8455 * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
8456 declaration for a child subprogram body that acts as a spec, indicate
8457 that the entity in the declaration needs debugging information.
8458
8459 * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
8460 full view if the subtype is created for a constrained record component;
8461 gigi has enough information to construct the record, and there is no
8462 place in the tree for the declaration.
8463
8464 * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
8465 serial number for the dummy body that is built for analysis, to avoid
8466 inconsistencies in the generation of internal names when compiling
8467 with -gnatN.
8468
8469 2004-03-22 Thomas Quinot <quinot@act-europe.fr>
8470
8471 * sem_util.adb (Is_Object_Reference): A view conversion denotes an
8472 object.
8473
8474 2004-03-22 GNAT Script <nobody@gnat.com>
8475
8476 * Make-lang.in: Makefile automatically updated
8477
8478 2004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8479
8480 * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
8481 * trans.c (tree_transform, emit_index_check): Likewise.
8482 * utils.c (build_template): Likewise.
8483 (max_size, convert): Remove handling of WITH_RECORD_EXPR.
8484 (maybe_unconstrained_array, unchecked_convert): Likewise.
8485 * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
8486 (build_unary_op): Likewise.
8487 (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
8488 (fill_vms_descriptor): Likewise.
8489 (build_call_alloc_dealloc): Likewise.
8490 ALIGN is unsigned.
8491 * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
8492
8493 2004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
8494
8495 PR other/14630
8496 * gnat_ug.texi: Add info directory category and entry.
8497 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
8498 gnat_ug_wnt.texi: Regenerate.
8499
8500 2004-03-19 Arnaud Charlet <charlet@act-europe.fr>
8501
8502 * ada-tree.h: Update copyright notice.
8503 Minor reformatting.
8504
8505 2004-03-19 Olivier Hainque <hainque@act-europe.fr>
8506
8507 * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
8508 as regular exception objects and not as mere integers representing the
8509 condition code. The latter approach required some dynamics to mask off
8510 severity bits, which did not fit well into the GCC table based model.
8511 (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
8512 exception data objects. We don't it and it would conflict with the other
8513 external symbol we have to generate for such exceptions.
8514
8515 * trans.c (tree_transform, case N_Exception_Handler): Remove part of
8516 the special code for VMS exceptions, since these are now represented
8517 as regular exceptions objects.
8518
8519 2004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8520
8521 * decl.c (debug_no_type_hash): Remove.
8522 (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
8523 * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
8524
8525 2004-03-19 Laurent Guerby <laurent@guerby.net>
8526
8527 * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
8528 aggregate, allows bootstrap from 3.3 on powerpc-darwin.
8529
8530 2004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8531
8532 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
8533 (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
8534 (TYPE_RM_SIZE_INT): Directly use type.values.
8535 (TREE_LOOP_ID): Clean up check.
8536 * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
8537 TYPE_VALUES, not TYPE_FIELDS.
8538 * trans.c (convert_with_check): Delay access of bounds of basetype
8539 until sure is numeric.
8540
8541 2004-03-18 Arnaud Charlet <charlet@act-europe.fr>
8542
8543 * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
8544
8545 Code clean up:
8546 * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
8547 5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
8548 Specific.Set instead of direct call to e.g pthread_setspecific.
8549
8550 2004-03-18 Thomas Quinot <quinot@act-europe.fr>
8551
8552 * adaint.c: Update comments.
8553
8554 * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
8555 GNATLIB_SHARED for FreeBSD.
8556
8557 2004-03-18 Jose Ruiz <ruiz@act-europe.fr>
8558
8559 * init.c [VxWorks]: Do not fix the stack size for the environment task.
8560 When needed (stack checking) the stack size is retrieved
8561 from the VxWorks kernel.
8562
8563 * Makefile.in: Flag -nostdinc is required when building the run time
8564 for avoiding looking for files in the base compiler.
8565 Add the VxWorks specific version of the package body for
8566 System.Stack_checking.Operations (5zstchop.adb).
8567
8568 * Make-lang.in: Add the object file for
8569 System.Stack_Checking.Operations.
8570
8571 * Makefile.rtl: Add object file for the package
8572 System.Stack_Checking.Operations.
8573
8574 * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
8575
8576 * s-stache.ads, s-stache.adb: Move the operations related to stack
8577 checking from this package to package System.Stack_Checking.Operations.
8578 This way, stack checking operations are only linked in the final
8579 executable when using the -fstack-check flag.
8580
8581 2004-03-18 Doug Rupp <rupp@gnat.com>
8582
8583 * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
8584 Reorganize ifeq's.
8585
8586 * 5qsystem.ads, 5xcrtl.ads: New files.
8587
8588 2004-03-18 Vincent Celier <celier@gnat.com>
8589
8590 * prj.adb (Reset): Reset hash table Files_Htable
8591
8592 * prj-env.adb (Source_Paths, Object_Paths): New tables.
8593 (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
8594 the procedures Add_To_Path_File.
8595 (Set_Ada_Paths): Accumulate source and object dirs in the tables,
8596 making sure that each directory is present only once and, for object
8597 dirs, when a directory already present is added, the duplicate is
8598 removed and the directory is always put as the last in the table.
8599 Write the path files at the end of these accumulations.
8600
8601 * prj-nmsc.adb (Record_Source): Add source file name in hash table
8602 Files_Htable for all sources.
8603
8604 * prj-proc.adb (Process): Remove restrictions between not directly
8605 related extending projects.
8606
8607 2004-03-18 Emmanuel Briot <briot@act-europe.fr>
8608
8609 * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
8610 (Find_Sources): Minor speed optimization.
8611
8612 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
8613 parameter Trusted_Mode.
8614
8615 2004-03-18 Sergey Rybin <rybin@act-europe.fr>
8616
8617 * scn.adb (Determine_License): Take into account a degenerated case
8618 when the source contains only comments.
8619
8620 2004-03-18 Ed Schonberg <schonberg@gnat.com>
8621
8622 * sem_warn.adb (Check_References): For a warning on a selected
8623 component that does not come from source, locate an uninitialized
8624 component of the record type to produce a more precise error message.
8625
8626 2004-03-15 Jerome Guitton <guitton@act-europe.fr>
8627
8628 * 3zsoccon.ads: Fix multicast options.
8629
8630 * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
8631 in the spec.
8632
8633 2004-03-15 Robert Dewar <dewar@gnat.com>
8634
8635 * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
8636 pragma used for a private type.
8637
8638 * lib-xref.adb (Generate_Reference): Do not generate warning if
8639 reference is in a different unit from the pragma Unreferenced.
8640
8641 * 5vtpopde.adb: Minor reformatting
8642 Fix casing of To_Task_ID
8643
8644 * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
8645 flag if we have an unchecked conversion to an access type in the same
8646 unit.
8647
8648 2004-03-15 Geert Bosch <bosch@gnat.com>
8649
8650 * a-ngcoty.adb (Modulus): In alternate formula for large real or
8651 imaginary parts, use Double precision throughout.
8652
8653 * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
8654 we want to be able to compile run-time with -gnata for testing, but
8655 this may also be instantiated in user code that is compiled with -gnata.
8656
8657 2004-03-15 Olivier Hainque <hainque@act-europe.fr>
8658
8659 * s-stalib.ads (Exception_Code): New type, to represent Import/Export
8660 codes. Having a separate type for this is useful to enforce consistency
8661 throughout the various run-time units.
8662 (Exception_Data): Use Exception_Code for Import_Code.
8663
8664 * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
8665 Natural and Integer in various places.
8666 (Register_VMS_Exception): Use Base_Code_In to compute the exception code
8667 with the severity bits masked off.
8668 (Register_VMS_Exception): Handle the additional exception data pointer
8669 argument.
8670
8671 * raise.c (_GNAT_Exception structure): Remove the handled_by_others
8672 component, now reflected by an exported accessor.
8673 (is_handled_by): New routine to compute whether the propagated
8674 occurrence matches some handler choice specification. Extracted out of
8675 get_action_description_for, and expanded to take care of the VMS
8676 specifities.
8677 (get_action_description_for): Use is_handled_by instead of an explicit
8678 complex condition to decide if the current choice at hand catches the
8679 propagated occurrence.
8680
8681 * raise.h (Exception_Code): New type for C.
8682
8683 * rtsfind.ads (RE_Id, RE_Unit_Table): Add
8684 System.Standard_Library.Exception_Code, to allow references from the
8685 pragma import/export expander.
8686
8687 * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
8688 New accessors to allow easy access to GNAT exception data
8689 characteristics.
8690 (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
8691 redundant Handled_By_Others component, helper for the personality
8692 routine which will now be able to call the appropriate exception data
8693 accessor instead.
8694
8695 * cstand.adb (Create_Standard): Adjust the type of the Import_Code
8696 component of Standard_Exception_Type to be the closest possible to
8697 Exception_Code in System.Standard_Library, that we cannot get at this
8698 point. Expand a ??? comment to notify that this type node should
8699 probably be rewritten later on.
8700
8701 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
8702 registration call to include a pointer to the exception object in the
8703 arguments.
8704
8705 * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
8706 instead of int and explicit bitmasks.
8707
8708 2004-03-15 Vincent Celier <celier@gnat.com>
8709
8710 * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
8711 equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
8712
8713 * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
8714 longer needed now that it is in the spec of
8715 System.Tasking.Task_Attributes.
8716
8717 * adaint.h, adaint.c: (__gnat_create_output_file): New function
8718
8719 * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
8720
8721 * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
8722
8723 * make.adb (Gnatmake): Do not check the executable suffix; it is being
8724 taken care of in Scan_Make_Arg.
8725 (Scan_Make_Arg): Add the executable suffix only if the argument
8726 following -o, in canonical case, does not end with the executable
8727 suffix. When in verbose mode and executable file name does not end
8728 with executable suffix, output the executable name, in canonical case.
8729
8730 * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
8731 to avoid warnings when instantiating Ada.Task_Attributes.
8732 Minor reformating.
8733
8734 * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
8735 in the correct order.
8736
8737 * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
8738 redirect standard output and error to a file for the invocation of the
8739 compiler, then read the file.
8740
8741 * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
8742 directory, instead of the Value.
8743 (Find_Source_Dirs): Remove useless code & comments.
8744
8745 2004-03-15 Ed Schonberg <schonberg@gnat.com>
8746
8747 * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
8748 tagged type is inherited, and the parent operation is not frozen yet,
8749 force generation of a freeze node for the inherited operation, so the
8750 corresponding dispatch entry is properly initialized.
8751 (Make_Predefined_Primitive_Specs): Check that return type is Boolean
8752 when looking for user-defined equality operation.
8753
8754 * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
8755 boolean when locating primitive equality of tagged component.
8756
8757 * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
8758 bit-aligned field and the right-hand side a string literal, introduce
8759 a temporary before expanding assignment into a loop.
8760
8761 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
8762 priority in full, to ensure that any expanded subepxressions of it are
8763 elaborated in the scope of the init_proc.
8764
8765 * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
8766 after object declaration, skipping over code that may have been
8767 generated for validity checks.
8768
8769 * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
8770 discriminants, ignore the known discriminants of its full view, if
8771 any, to check legality.
8772
8773 * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
8774 component if type has unknown discriminants.
8775 (Analyze_Private_Extension_Declaration): Discriminant constraint is
8776 null if type has unknown discriminants.
8777
8778 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
8779 for end label when present.
8780
8781 * s-fileio.adb (Open): When called with a C_Stream, use given name for
8782 temporary file, rather than an empty string.
8783
8784 2004-03-15 Ed Falis <falis@gnat.com>
8785
8786 * s-thread.adb: Removed, no longer used.
8787
8788 2004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8789
8790 * decl.c (target.h): Now include.
8791 (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
8792 in new build_pointer_from_mode calls for non-fat/non-thin pointer.
8793 (validate_size): For POINTER_TYPE, get smallest size permitted on
8794 machine.
8795
8796 * fe.h: Sort Einfo decls and add Set_Mechanism.
8797
8798 * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
8799 (ada/decl.o): Depends on target.h.
8800
8801 * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
8802 FUNCTION_BOUNDARY; always use TYPE_ALIGN.
8803
8804 2004-03-15 Thomas Quinot <quinot@act-europe.fr>
8805
8806 * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
8807
8808 * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
8809 Insert_Dereference_Action when rewriting an implicit dereference into
8810 an explicit one, this will be taken care of during expansion of the
8811 explicit dereference.
8812 (Expand_N_Slice): Same. Always do the rewriting, even for the case
8813 of non-packed slices, since the dereference action generated by
8814 expansion of the explicit dereference is needed in any case.
8815 (Expand_N_Selected_Component): When rewriting an implicit dereference,
8816 analyze and resolve the rewritten explicit dereference so it is seen
8817 by the expander.
8818 (Insert_Dereference_Action): This procedure is now called only for the
8819 expansion of an N_Explcit_Dereference_Node. Do insert a check even for
8820 dereferences that do not come from source (including explicit
8821 dereferences resulting from rewriting implicit ones), but do not
8822 recursively insert a check for the dereference nodes contained within
8823 the check.
8824 (Insert_Dereference_Action): Clarify and correct comment.
8825
8826 2004-03-08 Paolo Bonzini <bonzini@gnu.org>
8827
8828 PR ada/14131
8829 Move language detection to the top level.
8830 * config-lang.in: Build by default.
8831
8832 2004-03-05 Robert Dewar <dewar@gnat.com>
8833
8834 * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
8835
8836 * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
8837 i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
8838 5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
8839 5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
8840 unchecked conversion to spec to avoid warnings.
8841
8842 * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
8843 to Task_ID
8844
8845 * 7stpopsp.adb: Correct casing in To_Task_ID call
8846
8847 * a-strsea.ads, a-strsea.adb: Minor reformatting
8848
8849 * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
8850
8851 * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
8852 Adjust Max_Msg_Length to be clearly large enough.
8853
8854 * fe.h: Define In_Same_Source_Unit
8855
8856 * osint.adb: Add pragma Warnings Off to suppress warnings
8857 * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
8858 aliasing warnings.
8859
8860 * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
8861
8862 * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
8863
8864 * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
8865
8866 * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
8867
8868 * sem_prag.adb: Implement pragma No_Strict_Aliasing.
8869
8870 * sinfo.ads: Remove obsolete comment on validate unchecked conversion
8871 node. We now do generate them for gcc back end.
8872
8873 * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
8874 warning.
8875
8876 * sinput-c.adb: Fix bad name in header.
8877 Add pragma Warnings Off to suppress aliasing warning.
8878
8879 * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
8880
8881 * snames.h, snames.ads, snames.adb: Add entry for pragma
8882 No_Strict_Aliasing.
8883
8884 2004-03-05 Vincent Celier <celier@gnat.com>
8885
8886 * prj-com.ads: Add hash table Files_Htable to check when a file name
8887 is already a source of another project.
8888
8889 * prj-nmsc.adb (Record_Source): Before recording a new source, check
8890 if its file name is not already a source of another project. Report an
8891 error if it is.
8892
8893 * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
8894 source file name, call gnatpp with all the sources of the main project.
8895
8896 * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
8897 of file names.
8898
8899 * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
8900 NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
8901 /RUNTIME_SYSTEM=, converted to --RTS=
8902 /NOTABS, converted to -notabs
8903
8904 2004-03-05 Pascal Obry <obry@gnat.com>
8905
8906 * make.adb: Minor reformatting.
8907
8908 2004-03-05 Ed Schonberg <schonberg@gnat.com>
8909
8910 Part of implemention of AI-262.
8911 * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
8912
8913 * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
8914 procedure.
8915
8916 * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
8917 when component type is a partially constrained class-wide subtype.
8918 (Constrain_Discriminated_Type): If parent type has unknown
8919 discriminants, a constraint is illegal, even if full view has
8920 discriminants.
8921 (Build_Derived_Record_Type): Inherit discriminants when deriving a type
8922 with unknown discriminants whose full view is a discriminated record.
8923
8924 * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
8925 flag, to handle properly derivations of tagged types with unknown
8926 discriminants.
8927 (Analyze_Package_Spec, Analyze_Package_Body): Install
8928 Private_With_Clauses before analyzing private part or body.
8929
8930 * einfo.ads: Indicate that both Has_Unknown_Discriminants and
8931 Has_Discriminants can be true for a given type (documentation).
8932
8933 2004-03-05 Arnaud Charlet <charlet@act-europe.fr>
8934
8935 * s-restri.ads: Fix license (GPL->GMGPL).
8936
8937 * s-tassta.adb: Minor reformatting.
8938
8939 * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
8940 by calls to Exit_One_ATC_Level, since additional clean up is performed
8941 by this function.
8942
8943 * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
8944 by calls to Exit_One_ATC_Level, since additional clean up is performed
8945 by this function.
8946
8947 2004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8948
8949 * trans.c: Reflect GCC changes to fix bootstrap problem.
8950 Add warning for suspicious aliasing unchecked conversion.
8951
8952 2004-03-05 GNAT Script <nobody@gnat.com>
8953
8954 * Make-lang.in: Makefile automatically updated
8955
8956 2004-03-02 Emmanuel Briot <briot@act-europe.fr>
8957
8958 * ali.adb (Read_Instantiation_Instance): Do not modify the
8959 current_file_num when reading information about instantiations, since
8960 this corrupts files in later references.
8961
8962 2004-03-02 Vincent Celier <celier@gnat.com>
8963
8964 * bcheck.adb (Check_Consistency): Get the full path of an ALI file
8965 before checking if it is read-only.
8966
8967 * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
8968 of SRC_DIRS and eliminate duplicates.
8969
8970 * gprcmd.adb: Replace command "path" with command "path_sep" to return
8971 the path separator.
8972 (Usage): Document path_sep
8973
8974 * Makefile.generic: For Ada and GNU C++ cases, link directly with the
8975 C++ compiler. No need for a script.
8976 Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
8977 Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
8978 subst.
8979
8980 * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
8981 where there are Ada sources.
8982 (Set_Ada_Paths): Only add to the include path the source dirs of project
8983 with Ada sources.
8984 (Add_To_Path): Add the Display_Values of the directories, not their
8985 Values.
8986
8987 * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
8988 data.
8989
8990 * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
8991 is not No_Name.
8992 (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
8993 Value is canonicalized.
8994 (Language_Independent_Check): Do not copy Value to Display_Value when
8995 canonicalizing Value.
8996
8997 * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
8998 path to find limited with cycles.
8999 (Parse_Single_Project): Use canonical cased path to find the end of a
9000 with cycle.
9001
9002 2004-03-02 Ed Schonberg <schonberg@gnat.com>
9003
9004 * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
9005 and not a child unit.
9006
9007 * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
9008 appear in a with_clause.
9009
9010 * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
9011 only happen in type_annotate mode, do not try to elaborate it.
9012
9013 * exp_util.adb (Force_Evaluation): If expression is a selected
9014 component on the left of an assignment, use a renaming rather than a
9015 temporary to remove side effects.
9016
9017 * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
9018 inlined instance body, which is analyzed before the end of the
9019 enclosing scope.
9020
9021 2004-03-02 Robert Dewar <dewar@gnat.com>
9022
9023 * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
9024 sem_ch4.adb: Use new feature for substitution of keywords in VMS
9025
9026 * errout.ads, errout.adb: Implement new circuit for substitution of
9027 keywords in VMS.
9028
9029 * sem_case.adb (Analyze_Choices): Place message properly when case is
9030 a subtype reference rather than an explicit range.
9031
9032 * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
9033
9034 2004-03-02 Doug Rupp <rupp@gnat.com>
9035
9036 * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
9037
9038 2004-03-02 Thomas Quinot <quinot@act-europe.fr>
9039
9040 * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
9041
9042 2004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9043
9044 * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
9045 BLKmode bitfield.
9046
9047 2004-02-25 Robert Dewar <dewar@gnat.com>
9048
9049 * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
9050 55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
9051 5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
9052 5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
9053 5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
9054 5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
9055 the defining instance of the type to avoid aliasing problems.
9056 Fix copyright header. Fix bad comments in package header.
9057
9058 * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
9059
9060 2004-02-25 Ed Schonberg <schonberg@gnat.com>
9061
9062 * exp_ch2.adb (Param_Entity): Handle properly formals that have been
9063 rewritten as references when aliased through an address clause.
9064
9065 * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
9066 whether call can be interpreted as an indirect call to the result of a
9067 parameterless function call returning an access subprogram.
9068
9069 2004-02-25 Arnaud Charlet <charlet@act-europe.fr>
9070
9071 Code clean up:
9072 * exp_ch7.adb (Make_Clean): Remove generation of calls to
9073 Unlock[_Entries], since this is now done by Service_Entries directly.
9074
9075 * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
9076
9077 * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
9078 Requeue_Call for better code readability. Change spec and update calls:
9079 PO_Service_Entries now unlock the PO on exit.
9080 (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
9081 PO_Service_Entries.
9082
9083 * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
9084
9085 * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
9086
9087 2004-02-25 Sergey Rybin <rybin@act-europe.fr>
9088
9089 * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
9090 protected subprogram call and analyzing the result of such expanding
9091 in case when the called protected subprogram is eliminated.
9092
9093 * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
9094 names.
9095
9096 2004-02-25 Jerome Guitton <guitton@act-europe.fr>
9097
9098 * Makefile.in: Clean ups.
9099
9100 2004-02-23 Ed Schonberg <schonberg@gnat.com>
9101
9102 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
9103 protected operations if original subprogram is flagged as eliminated.
9104 (Expand_N_Subprogram_Body): For a protected operation, create
9105 discriminals for next operation before checking whether the operation
9106 is eliminated.
9107
9108 * exp_ch9.adb (Expand_N_Protected_Body,
9109 Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
9110 for internal protected operations if the original subprogram is
9111 eliminated.
9112
9113 * sem_elim.adb (Check_Eliminated): Handle properly protected operations
9114 declared in a single protected object.
9115
9116 2004-02-23 Vincent Celier <celier@gnat.com>
9117
9118 * prj-attr.adb: Make attribute Builder'Executable an associative array,
9119 case insensitive if file names are case insensitive, instead of a
9120 standard associative array.
9121
9122 * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
9123 them as case insensitive on platforms where the file names are case
9124 sensitive.
9125
9126 * prj-part.adb (Parse_Single_Project): Make sure, when checking if
9127 project file has already been parsed that canonical path are compared.
9128
9129 2004-02-23 Robert Dewar <dewar@gnat.com>
9130
9131 * sinput-c.ads: Correct bad unit title in header
9132
9133 * freeze.adb: Minor reformatting
9134
9135 2004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9136
9137 * trans.c (tree_transform, case N_Procedure_Call_Statement): For
9138 nonaddressable COMPONENT_REF that is removing padding that we are
9139 taking the address of, take the address of the padded record instead
9140 if item is variable size.
9141
9142 2004-02-20 Robert Dewar <dewar@gnat.com>
9143
9144 * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
9145
9146 2004-02-20 Ed Schonberg <schonberg@gnat.com>
9147
9148 * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
9149 itype references for the constrained designated type of a component
9150 whose base type is already frozen.
9151
9152 2004-02-20 Arnaud Charlet <charlet@act-europe.fr>
9153
9154 * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
9155 avoid GCC warnings.
9156
9157 2004-02-20 Sergey Rybin <rybin@act-europe.fr>
9158
9159 * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
9160 identifier for a phantom package that rewrites the formal package
9161 declaration with a box. The Add semantic decorations for the defining
9162 identifier from the original node (that represents the formal package).
9163
9164 2004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
9165
9166 * Make-lang.in (ada/stamp-sdefault): Use the top level
9167 move-if-change.
9168
9169 2004-02-19 Richard Henderson <rth@redhat.com>
9170
9171 * misc.c (record_code_position): Add third build arg for RTL_EXPR.
9172
9173 2004-02-18 Emmanuel Briot <briot@act-europe.fr>
9174
9175 * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
9176 Scan_ALI can be used for multiple ALI files without reinitializing
9177 between calls.
9178
9179 2004-02-18 Robert Dewar <dewar@gnat.com>
9180
9181 * debug.adb: Minor reformatting.
9182
9183 2004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9184
9185 * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
9186 to zero if there is an address clause.
9187
9188 2004-02-18 Thomas Quinot <quinot@act-europe.fr>
9189
9190 * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
9191
9192 2004-02-18 Gary Dismukes <dismukes@gnat.com>
9193
9194 * layout.adb (Layout_Component_List): Revise generation of call to
9195 discriminant-checking function to pass selections of all of the type's
9196 discriminants rather than just the variant-controlling discriminant.
9197
9198 2004-02-18 Olivier Hainque <hainque@act-europe.fr>
9199
9200 * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
9201 fail in the current setup and triggers spurious system error messages.
9202 Pretend it occurred and failed instead.
9203
9204 2004-02-18 Vincent Celier <celier@gnat.com>
9205
9206 * bld.adb: Mark FLDFLAGS as saved
9207 (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
9208 it is not the root project. Put each directory to be
9209 extended between double quotes to prevent it to be expanded on Windows.
9210 (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
9211 the project file. Set them back to their initial values if they have not
9212 been set in the project file.
9213
9214 * gprcmd.adb: (Gprdebug, Debug): New global variables
9215 (Display_Command): New procedure
9216 (Usage): Document new command "linkopts"
9217 Call Display_Command when env var GPRDEBUG has the value "TRUE"
9218 Implement new command "linkopts"
9219 Remove quotes that may be around arguments for "extend"
9220 Always call Normalize_Pathname with arguments formatted for the platform
9221
9222 * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
9223 Change @echo to @$(display) in target clean to be able to clean silently
9224
9225 * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
9226
9227 * prj-part.adb (Project_Path_Name_Of): Do not put final result in
9228 canonical case.
9229
9230 * prj-part.adb (Parse_Single_Project): Always call with From_Extended
9231 = Extending_All when current project is an extending all project.
9232
9233 * vms_conv.adb (Output_File_Expected): New Boolean global variable,
9234 set to True only for LINK command, after Unix switch -o.
9235 (Process_Arguments): Set Output_File_Expected to True for LINK command
9236 after Unix switch -o. When Output_File_Expected is True, never add an
9237 extension to a file name.
9238
9239 * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
9240 option file name, only to the --for-linker= switch.
9241 (Option_File_Name): If option file name do not end with ".opt", append
9242 "/OPTIONS".
9243
9244 2004-02-18 GNAT Script <nobody@gnat.com>
9245
9246 * Make-lang.in: Makefile automatically updated
9247
9248 2004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
9249
9250 * Make-lang.in (stamp-sdefault): Do not depend on
9251 move-if-change.
9252
9253 2004-02-12 Zack Weinberg <zack@codesourcery.com>
9254
9255 * config-lang.in: Disable Ada by default until probe logic for
9256 a bootstrap Ada compiler can be moved to the top level configure
9257 script.
9258
9259 2004-02-12 Olivier Hainque <hainque@act-europe.fr>
9260
9261 * decl.c (components_to_record): Don't claim that the internal fields
9262 we make to hold the variant parts are semantically addressable, because
9263 they are not.
9264
9265 * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
9266 adjust the comment describing the modular type form when we can use it.
9267 (Install_PAT): Account for the Esiz renaming.
9268
9269 * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
9270 sc_onstack context indication before raising the exception to which
9271 the signal is mapped. Allows better handling of later signals possibly
9272 triggered by the resumed user code if the exception is handled.
9273
9274 2004-02-12 Arnaud Charlet <charlet@act-europe.fr>
9275
9276 * 5zinit.adb: Removed, no longer used.
9277
9278 2004-02-12 Robert Dewar <dewar@gnat.com>
9279
9280 * ali.adb: Remove separating space between parameters on R line. Makes
9281 format consistent with format used by the binder for Set_Globals call.
9282
9283 * atree.ads, atree.adb: Minor reformatting (new function header format)
9284
9285 * bindgen.adb: Add Run-Time Globals documentation section containing
9286 detailed documentation of the globals passed from the binder file to
9287 the run time.
9288
9289 * gnatls.adb: Minor reformatting
9290
9291 * init.c (__gnat_set_globals): Add note pointing to documentation in
9292 bindgen.
9293
9294 * lib-writ.ads, lib-writ.adb: Remove separating space between
9295 parameters on R line.
9296 Makes format consistent with format used by the binder for Set_Globals
9297 call.
9298
9299 * osint.ads: Add 2004 to copyright notice
9300 Minor reformatting
9301
9302 * snames.ads: Correct capitalization of FIFO_Within_Priorities
9303 Noticed during code reading, documentation issue only
9304
9305 * usage.adb: Remove junk line for obsolete C switch
9306 Noticed during code reading
9307
9308 2004-02-12 Vincent Celier <celier@gnat.com>
9309
9310 * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
9311 extend for each directory, so that multiple /** directories are
9312 extended individually.
9313 (Recursive_Process): Set the default for LANGUAGES to ada
9314
9315 * gprcmd.adb: Define new command "ignore", to do nothing.
9316 Implement new comment "path".
9317
9318 * Makefile.generic: Suppress output when SILENT is set
9319 Make sure that when compiler for C/C++ is gcc, the correct -x switch is
9320 used, so that the correct compiler is invoked.
9321 When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
9322 CXX_INCLUDE_PATH, to avoid failure with too long command lines.
9323
9324 2004-02-12 Jerome Guitton <guitton@act-europe.fr>
9325
9326 * Makefile.in: Clean ups and remove obsolete targets.
9327
9328 2004-02-12 Ed Schonberg <schonberg@gnat.com>
9329
9330 * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
9331 predicate declared in exp_util.
9332
9333 * exp_util.adb: Add comments.
9334
9335 * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
9336 visibility before compiling context of the subunit.
9337
9338 * sem_res.adb (Check_Parameterless_Call): If the context expects a
9339 value but the name is a procedure, do not attempt to analyze as a call,
9340 in order to obtain more telling diagnostics.
9341
9342 * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
9343 'Access on parameterless function calls.
9344 (Normalize_Actuals): For a parameterless function call with missing
9345 actuals, defer diagnostic until resolution of enclosing call.
9346
9347 * sem_util.adb (Wrong_Type): If the context type is an access to
9348 subprogram and the expression is a procedure name, suggest a missing
9349 'attribute.
9350
9351 2004-02-10 Arnaud Charlet <charlet@act-europe.fr>,
9352 Nathanael Nerode <neroden@gcc.gnu.org>
9353
9354 PR ada/6637, PR ada/5911
9355 Merge with libada-branch:
9356 * config-lang.in: Build libada only when ada is built.
9357
9358 2004-02-09 Ed Schonberg <schonberg@gnat.com>
9359
9360 * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
9361 for a tagged type, verify that both formals have the same type.
9362
9363 * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
9364 temporary when the formal is an in-parameter and the actual a possibly
9365 unaligned slice.
9366
9367 * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
9368 when expansion is disabled, to ensure proper name capture with
9369 overloaded literals. Condition can be of any boolean type, resolve
9370 accordingly.
9371
9372 * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
9373 renaming is for a formal subprogram with a default operator name, and
9374 there is a usable operator that is visible at the point of
9375 instantiation.
9376
9377 2004-02-09 Robert Dewar <dewar@gnat.com>
9378
9379 * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
9380 rewrite to ignore errors in ali files, intended to allow tools downward
9381 compatibility with new versions of ali files.
9382
9383 * ali.ads: Add new parameter Ignore_Errors
9384
9385 * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
9386 duplicating the error message giving the file with restrictions.
9387
9388 * debug.adb: Add debug flag I for gnatbind
9389
9390 * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
9391 operators for the case where the operator is a defining operator.
9392
9393 * exp_ch3.adb: Minor reformatting (new function spec format).
9394
9395 * exp_ch4.adb: Add comment for previous change, and make minor
9396 adjustment to loop to always check for improper loop termination.
9397 Minor reformatting throughout (new function spec format).
9398
9399 * gnatbind.adb: Implement -di debug flag for gnatbind
9400
9401 * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
9402
9403 * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
9404
9405 * lib-load.adb: Fix bad assertion.
9406 Found by testing and code reading.
9407 Minor reformatting.
9408
9409 * lib-load.ads: Minor reformatting.
9410
9411 * lib-writ.adb: There is only one R line now.
9412
9413 * lib-writ.ads: Add documentation on making downward compatible changes
9414 to ali files so old tools work with new ali files.
9415 There is only one R line now.
9416 Add documentation on format incompatibilities (with special GPS note)
9417
9418 * namet.ads, namet.adb: (Is_Operator_Name): New procedure
9419
9420 * par-load.adb: Minor reformatting
9421
9422 * sem_ch8.adb: Fix to error message from last update
9423 Minor reformatting and restructuring of code from last update
9424
9425 * par-prag.adb, snames.adb, snames.ads, snames.h,
9426 sem_prag.adb: Implement pragma Profile.
9427
9428 * stylesw.adb: Implement -gnatyN switch to turn off all style check
9429 options.
9430
9431 * usage.adb: Add line for -gnatyN switch
9432
9433 * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
9434
9435 2004-02-09 Albert Lee <lee@gnat.com>
9436
9437 * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
9438
9439 2004-02-09 Ed Schonberg <schonberg@gnat.com>
9440
9441 * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
9442 slices.
9443
9444 * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
9445 is nested in an instance that is not frozen yet, to avoid
9446 order-of-elaboration problems in gigi.
9447
9448 * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
9449 body the attribute is legal.
9450
9451 2004-02-09 Robert Dewar <dewar@gnat.com>
9452
9453 * s-rident.ads: Minor comment correction
9454
9455 * targparm.adb: Remove dependence on uintp completely. There was
9456 always a bug in Make in that it called Targparm before initializing
9457 the Uint package. The old code appeared to get away with this, but
9458 the new code did not! This caused an assertion error in gnatmake.
9459
9460 * targparm.ads: Fix bad comment, restriction pragmas with parameters
9461 are indeed fully supported.
9462
9463 2004-02-06 Alan Modra <amodra@bigpond.net.au>
9464
9465 * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
9466
9467 2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
9468
9469 * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
9470 with targetm.calls.promote_prototypes.
9471
9472 2004-02-04 Robert Dewar <dewar@gnat.com>
9473
9474 * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
9475 ali.ads, gprcmd.adb: Minor reformatting
9476
9477 * bindgen.adb: Output restrictions string for new style restrictions
9478 handling
9479
9480 * impunit.adb: Add s-rident.ads (System.Rident) and
9481 s-restri (System.Restrictions)
9482
9483 * lib-writ.adb: Fix bug in writing restrictions string (last few
9484 entries wrong)
9485
9486 * s-restri.ads, s-restri.adb: Change name Restrictions to
9487 Run_Time_Restrictions to avoid conflict with package name.
9488 Add circuit to read and acquire run time restrictions.
9489
9490 2004-02-04 Jose Ruiz <ruiz@act-europe.fr>
9491
9492 * restrict.ads, restrict.adb: Use the new restriction
9493 No_Task_Attributes_Package instead of the old No_Task_Attributes.
9494
9495 * sem_prag.adb: No_Task_Attributes is a synonym of
9496 No_Task_Attributes_Package.
9497
9498 * snames.ads, snames.adb: New entry for proper handling of
9499 No_Task_Attributes.
9500
9501 * s-rident.ads: Adding restriction No_Task_Attributes_Package
9502 (AI-00249) that supersedes the GNAT specific restriction
9503 No_Task_Attributes.
9504
9505 2004-02-04 Ed Schonberg <schonberg@gnat.com>
9506
9507 * sem_prag.adb:
9508 (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
9509 body, an identifier may be wrapped in an unchecked conversion.
9510
9511 2004-02-04 Vincent Celier <celier@gnat.com>
9512
9513 * lib-writ.ads: Comment update for the W lines
9514
9515 * bld.adb: (Expression): An empty string list is static
9516
9517 * fname-uf.adb: Minor comment update
9518
9519 * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
9520
9521 * gnatbind.adb: Initialize Cumulative_Restrictions with the
9522 restrictions on the target.
9523
9524 2004-02-03 Kazu Hirata <kazu@cs.umass.edu>
9525
9526 * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
9527 gen_rtx.
9528
9529 2004-02-02 Arnaud Charlet <charlet@gnat.com>
9530
9531 * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
9532
9533 2004-02-02 Vincent Celier <celier@gnat.com>
9534
9535 * gprcmd.adb (Check_Args): If condition is false, print the invoked
9536 comment before the usage.
9537 Gprcmd: Fail when command is not recognized.
9538 (Usage): Document command "prefix"
9539
9540 * g-md5.adb (Digest): Process last block.
9541 (Update): Do not process last block. Store remaining characters and
9542 length in Context.
9543
9544 * g-md5.ads (Update): Document that several call to update are
9545 equivalent to one call with the concatenated string.
9546 (Context): Add fields to allow new Update behaviour.
9547
9548 * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
9549 defaulted to False.
9550 When May_Fail is True and no existing file can be found, return No_File.
9551
9552 * 6vcstrea.adb: Inlined functions are now wrappers to implementation
9553 functions.
9554
9555 * lib-writ.adb (Write_With_Lines): When body file does not exist, use
9556 spec file name instead on the W line.
9557
9558 2004-02-02 Robert Dewar <dewar@gnat.com>
9559
9560 * ali.adb: Read and acquire info from new format restrictions lines
9561
9562 * bcheck.adb: Add circuits for checking restrictions with parameters
9563
9564 * bindgen.adb: Output dummy restrictions data
9565 To be changed later
9566
9567 * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
9568 exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
9569 freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
9570 sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
9571 sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
9572
9573 * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
9574 the warning message on access to possibly uninitialized variable S)
9575 Minor changes for new restrictions handling.
9576
9577 * gnatbind.adb: Minor reformatting
9578 Minor changes for new restrictions handling
9579 Move circuit for -r processing here from bcheck (cleaner)
9580
9581 * gnatcmd.adb, gnatlink.adb: Minor reformatting
9582
9583 * lib-writ.adb: Output new format restrictions lines
9584
9585 * lib-writ.ads: Document new R format lines for new restrictions
9586 handling.
9587
9588 * s-restri.ads/adb: New files
9589
9590 * Makefile.rtl: Add entry for s-restri.ads/adb
9591
9592 * par-ch3.adb: Fix bad error messages starting with upper case letter
9593 Minor reformatting
9594
9595 * restrict.adb: Major rewrite throughout for new restrictions handling
9596 Major point is to handle restrictions with parameters
9597
9598 * restrict.ads: Major changes in interface to handle restrictions with
9599 parameters. Also generally simplifies setting of restrictions.
9600
9601 * snames.ads/adb: New entry for proper handling of No_Requeue
9602
9603 * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
9604 restriction counting.
9605 Other minor changes for new restrictions handling
9606
9607 * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
9608 Restriction_Warnings now allows full parameter notation
9609 Major rewrite of Restrictions for new restrictions handling
9610
9611 2004-02-02 Javier Miranda <miranda@gnat.com>
9612
9613 * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
9614 syntax rule for object renaming declarations.
9615 (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
9616 component definitions.
9617
9618 * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
9619 components.
9620 (Array_Type_Declaration): Give support to access components. In addition
9621 it was also modified to reflect the name of the object in anonymous
9622 array types. The old code did not take into account that it is possible
9623 to have an unconstrained anonymous array with an initial value.
9624 (Check_Or_Process_Discriminants): Allow access discriminant in
9625 non-limited types.
9626 (Process_Discriminants): Allow access discriminant in non-limited types
9627 Initialize the new Access_Definition field in N_Object_Renaming_Decl
9628 node. Change Ada0Y to Ada 0Y in comments
9629
9630 * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
9631 equality operators.
9632 Change Ada0Y to Ada 0Y in comments
9633
9634 * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
9635 renamings Change Ada0Y to Ada 0Y in comments
9636
9637 * sem_type.adb (Find_Unique_Type): Give support to the equality
9638 operators for universal access types
9639 Change Ada0Y to Ada 0Y in comments
9640
9641 * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
9642
9643 * sinfo.ads (N_Component_Definition): Addition of Access_Definition
9644 field.
9645 (N_Object_Renaming_Declaration): Addition of Access_Definition field
9646 Change Ada0Y to Ada 0Y in comments
9647
9648 * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
9649 component definition and object renaming nodes
9650 Change Ada0Y to Ada 0Y in comments
9651
9652 2004-02-02 Jose Ruiz <ruiz@act-europe.fr>
9653
9654 * restrict.adb: Use the new restriction identifier
9655 No_Requeue_Statements instead of the old No_Requeue for defining the
9656 restricted profile.
9657
9658 * sem_ch9.adb (Analyze_Requeue): Check the new restriction
9659 No_Requeue_Statements.
9660
9661 * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
9662 that supersedes the GNAT specific restriction No_Requeue. The later is
9663 kept for backward compatibility.
9664
9665 2004-02-02 Ed Schonberg <schonberg@gnat.com>
9666
9667 * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
9668 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
9669 pragma and fix incorrect ones.
9670
9671 * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
9672 warning if the pragma is redundant.
9673
9674 2004-02-02 Thomas Quinot <quinot@act-europe.fr>
9675
9676 * 5staprop.adb: Add missing 'constant' keywords.
9677
9678 * Makefile.in: use consistent value for SYMLIB on
9679 platforms where libaddr2line is supported.
9680
9681 2004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9682
9683 * utils.c (end_subprog_body): Do not call rest_of_compilation if just
9684 annotating types.
9685
9686 2004-02-02 Olivier Hainque <hainque@act-europe.fr>
9687
9688 * init.c (__gnat_install_handler): Setup an alternate stack for signal
9689 handlers in the environment thread. This allows proper propagation of
9690 an exception on stack overflows in this thread even when the builtin
9691 ABI stack-checking scheme is used without support for a stack reserve
9692 region.
9693
9694 * utils.c (create_field_decl): Augment the head comment about bitfield
9695 creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
9696 here, because the former is not accurate enough at this point.
9697 Let finish_record_type decide instead.
9698 Don't make a bitfield if the field is to be addressable.
9699 Always set a size for the field if the record is packed, to ensure the
9700 checks for bitfield creation are triggered.
9701 (finish_record_type): During last pass over the fields, clear
9702 DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
9703 not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P
9704 from DECL_BIT_FIELD.
9705
9706 2004-01-30 Kelley Cook <kcook@gcc.gnu.org>
9707
9708 * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
9709 (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
9710 (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
9711
9712 2004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9713
9714 * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
9715
9716 * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
9717 (ZCX_By_Default): Likewise.
9718 (Front_End_ZCX_Support): Likewise.
9719
9720 * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
9721 (Initialize_Lock): Mark Level unreferenced.
9722 (Sleep): Mark Reason unreferenced.
9723 (Timed_Sleep): Likewise.
9724 (Wakeup): Likewise.
9725 (Exit_Task): Use Result.
9726 (Check_No_Locks): Mark Self_ID unreferenced.
9727
9728 * 5gtasinf.adb (New_Sproc): Make Attr constant.
9729 (Bound_Thread_Attributes): Make Sproc constant.
9730 (New_Bound_Thread_Attributes): Likewise.
9731
9732 2004-01-26 Ed Schonberg <schonberg@gnat.com>
9733
9734 * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
9735 one-dimensional array an slice assignments, when component type is
9736 controlled.
9737
9738 * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
9739 component type is controlled, and control_actions are in effect, use
9740 TSS procedure rather than generating inline code.
9741
9742 * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
9743 arrays with controlled components.
9744
9745 2004-01-26 Vincent Celier <celier@gnat.com>
9746
9747 * gnatcmd.adb (GNATCmd): Add specification of argument file on the
9748 command line for the non VMS case.
9749
9750 * gnatlink.adb (Process_Binder_File): When building object file, if
9751 GNU linker is used, put all object paths between quotes, to prevent ld
9752 error when there are unusual characters (such as '!') in the paths.
9753
9754 * Makefile.generic: When there are sources in Ada and the main is in
9755 C/C++, invoke gnatmake with -B, instead of -z.
9756
9757 * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
9758 from VMS_Conversion.
9759 (Process_Argument): New procedure, extracted from VMS_Conversion. Add
9760 specification of argument file on the command line.
9761
9762 2004-01-26 Bernard Banner <banner@gnat.com>
9763
9764 * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
9765
9766 2004-01-26 Ed Schonberg <schonberg@gnat.com>
9767
9768 * snames.adb: Update copyright notice.
9769 Add info on slice assignment for controlled arrays.
9770
9771 2004-01-23 Robert Dewar <dewar@gnat.com>
9772
9773 * exp_aggr.adb: Minor reformatting
9774
9775 * exp_ch9.adb: Minor code clean up
9776 Minor reformatting
9777 Fix bad character in comment
9778
9779 PR ada/13471
9780 * targparm.adb (Get_Target_Parameters): Give clean abort error on
9781 unexpected end of file, along with more detailed message.
9782
9783 2004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9784
9785 * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
9786 PAT.
9787
9788 * decl.c (copy_alias_set): New function.
9789 (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
9790
9791 2004-01-23 Doug Rupp <rupp@gnat.com>
9792
9793 * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
9794 lib$${file} in case subsequent character is not a separator.
9795
9796 2004-01-23 Vincent Celier <celier@gnat.com>
9797
9798 * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
9799 when the GCC version is at least 3.
9800
9801 * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
9802 Remove all "Opt.", to prepare for opt split
9803
9804 * prj-part.adb (Parse_Single_Project): New Boolean out parameter
9805 Extends_All. Set to True when the project parsed is an extending all
9806 project. Fails for importing an extending all project only when the
9807 imported project is an extending all project.
9808 (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
9809 depending on the value of Extends_All returned.
9810
9811 * prj-proc.adb (Process): Check that no project shares its object
9812 directory with a project that extends it, directly or indirectly,
9813 including a virtual project.
9814 Check that no project extended by another project shares its object
9815 directory with another also extended project.
9816
9817 * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
9818 Kind = N_With_Clause
9819
9820 * prj-tree.ads: Minor reformatting
9821 Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
9822
9823 2004-01-23 Ed Schonberg <schonberg@gnat.com>
9824
9825 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
9826 applies to a type with an incomplete view, use full view in Name of
9827 clause, for consistency with uses of Get_Attribute_Definition_Clause.
9828
9829 2004-01-23 Arnaud Charlet <charlet@act-europe.fr>
9830
9831 * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
9832 SCHED_RR, since other values are not supported by this policy.
9833 (Initialize): Move initialization of mutex attribute to package
9834 elaboration, to prevent early access to this variable.
9835
9836 * Makefile.in: Remove mention of Makefile.adalib, unused.
9837
9838 * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
9839 1ssecsta.ads: Removed, unused.
9840
9841 2004-01-21 Javier Miranda <miranda@gnat.com>
9842
9843 * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
9844 entity if already built in the current scope.
9845
9846 * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
9847 reminder in internal scopes. Required for nested limited aggregates.
9848
9849 2004-01-21 Doug Rupp <rupp@gnat.com>
9850
9851 * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
9852 VMS. Replace all occurences of libgnat- and libgnarl- with
9853 libgnat$(hyphen) and libgnarl$(hyphen).
9854 Fixed shared library build problem on VMS.
9855
9856 2004-01-21 Robert Dewar <dewar@gnat.com>
9857
9858 * mlib-prj.adb: Minor reformatting
9859
9860 2004-01-21 Thomas Quinot <quinot@act-europe.fr>
9861
9862 * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
9863 'constant' keywords for declaration of pointers that are not modified.
9864
9865 * exp_pakd.adb: Fix English in comment.
9866
9867 2004-01-21 Ed Schonberg <schonberg@gnat.com>
9868
9869 PR ada/10889
9870 * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
9871 copy all attributes of the parent, including the foreign language
9872 convention.
9873
9874 2004-01-21 Sergey Rybin <rybin@act-europe.fr>
9875
9876 PR ada/10565
9877 * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
9878 for 'delay until' statement.
9879
9880 2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
9881
9882 * Make-lang.in: Replace $(docdir) with doc.
9883 (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
9884 doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
9885 to use consistent MAKEINFO rule.
9886 (ada.man, ada.srcman): Dummy entry.
9887 (ADA_INFOFILES): Define.
9888 (ada.info, ada.srcinfo): New rules.
9889
9890 2004-01-19 Arnaud Charlet <charlet@act-europe.fr>
9891
9892 * utils.c: Update copyright notice, missed in previous change.
9893
9894 2004-01-19 Vincent Celier <celier@gnat.com>
9895
9896 * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
9897 args if Bind is True. Set First_ALI, if not already done.
9898 (Build_Library): For Stand Alone Libraries, extract from one ALI file
9899 an eventual --RTS switch, for gnatbind, and all backend switches +
9900 --RTS, for linking.
9901
9902 2004-01-19 Robert Dewar <dewar@gnat.com>
9903
9904 * sem_attr.adb, memtrack.adb: Minor reformatting
9905
9906 2004-01-19 Ed Schonberg <schonberg@gnat.com>
9907
9908 * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
9909 that rename enumeration literals. This is properly done in sem_eval.
9910
9911 * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
9912 to functions that rename enumeration literals.
9913
9914 * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
9915 functions that rename enumeration literals.
9916
9917 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
9918
9919 * Make-lang.in (utils.o): Depend on target.h.
9920 * utils.c: Include target.h.
9921 (process_attributes): Use targetm.have_named_sections instead
9922 of ASM_OUTPUT_SECTION_NAME.
9923
9924 2004-01-16 Andreas Jaeger <aj@suse.de>
9925
9926 * Makefile.in: Add $(DESTDIR).
9927
9928 2004-01-15 Olivier Hainque <hainque@act-europe.fr>
9929
9930 * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
9931 also when not defining if a Size clause applies. That information is
9932 not to be ignored.
9933
9934 2004-01-15 Arnaud Charlet <charlet@act-europe.fr>
9935
9936 * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
9937 symbolic links for the shared gnat run time when needed.
9938
9939 2004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr>
9940
9941 * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
9942 for writing, and terminate with an error message if not.
9943
9944 2004-01-15 Ed Schonberg <schonberg@gnat.com>
9945
9946 * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
9947 warning on an access to subprogram in an instance, when the target
9948 type is declared in the same generic unit.
9949 (Eval_Attribute): If 'access is known to fail accessibility check,
9950 rewrite as a raise statement.
9951
9952 2004-01-15 GNAT Script <nobody@gnat.com>
9953
9954 * Make-lang.in: Makefile automatically updated
9955
9956 2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
9957
9958 * Make-lang.in (ada.srcextra): Dummy entry.
9959
9960 2004-01-14 Kelley Cook <kcook@gcc.gnu.org>
9961
9962 * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
9963
9964 2004-01-13 Ed Schonberg <schonberg@gnat.com>
9965
9966 * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
9967 components that are initialized with aggregates.
9968
9969 2004-01-13 Vincent Celier <celier@gnat.com>
9970
9971 * gnatlink.adb (Process_Binder_File): To find directory of shared
9972 libgcc, if "gcc-lib" is not a subdirectory, look for the last
9973 subdirectory "lib" in the path of the shared libgnat or libgnarl.
9974
9975 * make.adb (Gnatmake): If GCC version is at least 3, link with
9976 -shared-libgcc, when there is at least one shared library project.
9977
9978 * opt.ads (GCC_Version): New integer constant.
9979
9980 * adaint.c (get_gcc_version): New function.
9981
9982 2004-01-13 Robert Dewar <dewar@gnat.com>
9983
9984 * sem_dist.adb, sem_res.adb, sem_util.adb,
9985 sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
9986 exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
9987
9988 2004-01-13 Thomas Quinot <quinot@act-europe.fr>
9989
9990 * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
9991 g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
9992 declarations.
9993
9994 2004-01-12 Arnaud Charlet <charlet@act-europe.fr>
9995
9996 * misc.c: Remove trailing spaces.
9997 Update copyright notice missed in previous change.
9998
9999 PR ada/13572
10000 * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
10001 prefix/share/make
10002
10003 * Makefile.generic: Update copyright.
10004 Add license notice.
10005
10006 * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
10007 of prefix/share/make.
10008
10009 * Makefile.prolog: Update copyright.
10010 Add license notice.
10011
10012 2004-01-12 Laurent Pautet <pautet@act-europe.fr>
10013
10014 * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
10015 3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
10016 g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
10017 instead of String.
10018
10019 * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
10020 signature.
10021
10022 2004-01-12 Javier Miranda <miranda@gnat.com>
10023
10024 * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
10025 exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
10026 sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
10027 sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
10028 Component_Definition node.
10029
10030 2004-01-12 Ed Falis <falis@gnat.com>
10031
10032 * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
10033
10034 2004-01-12 Thomas Quinot <quinot@act-europe.fr>
10035
10036 * link.c: Change default libgnat kind to STATIC for FreeBSD.
10037
10038 2004-01-12 Bernard Banner <banner@gnat.com>
10039
10040 * Makefile.in: map 86numaux to a-numaux for x86_64
10041
10042 2004-01-12 Ed Schonberg <schonberg@gnat.com>
10043
10044 * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
10045 generated to rename a generic actual, go to the actual itself, the
10046 subtype is not a user-visible entity.
10047
10048 * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
10049 part is a private subtype, reset the visibility of its full view, if
10050 any, to be consistent.
10051
10052 PR ada/13417
10053 * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
10054 to use a generic package G as a formal package for another generic
10055 declared within G.
10056
10057 2004-01-12 Robert Dewar <dewar@gnat.com>
10058
10059 * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
10060
10061 * usage.adb: Remove mention of obsolete -gnatwb switch
10062 Noticed during code reading
10063
10064 2004-01-12 Jerome Guitton <guitton@act-europe.fr>
10065
10066 * 1ssecsta.adb: Minor changes for -gnatwa warnings
10067
10068 2004-01-12 GNAT Script <nobody@gnat.com>
10069
10070 * Make-lang.in: Makefile automatically updated
10071
10072 2004-01-09 Mark Mitchell <mark@codesourcery.com>
10073
10074 * misc.c (gnat_expand_expr): Add alt_rtl parameter.
10075
10076 2004-01-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10077
10078 * link.c [sgi] (shared_libgnat_default): Change to STATIC.
10079
10080 2004-01-05 Kelley Cook <kcook@gcc.gnu.org>
10081
10082 * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
10083 Update comment and copyright date.
10084 * stamp-xgnatug: Delete.
10085
10086 2004-01-05 Robert Dewar <dewar@gnat.com>
10087
10088 * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
10089 be modified by the binder generated main program if the -D switch is
10090 used.
10091
10092 * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
10093 imported functions (since now we expect this to be done for imported
10094 functions)
10095
10096 * 5vtaprop.adb: Add several ??? for sections requiring more comments
10097 Minor reformatting throughout
10098
10099 * 5zinit.adb: Minor reformatting
10100 Add 2004 to copyright date
10101 Minor changes to avoid -gnatwa warnings
10102 Correct some instances of using OR instead of OR ELSE (noted while
10103 doing reformatting)
10104
10105 * sprint.adb: Minor updates to avoid -gnatwa warnings
10106
10107 * s-secsta.ads, s-secsta.adb:
10108 (SS_Get_Max): New function to obtain high water mark for ss stack
10109 Default_Secondary_Stack is not a constant since it may be modified by
10110 the binder generated main program if the -D switch is used.
10111
10112 * switch-b.adb: New -Dnnn switch for binder
10113
10114 * switch-c.adb:
10115 Make -gnatg imply all warnings currently in -gnatwa
10116
10117 * vms_conv.adb: Minor reformatting
10118 Add 2004 to copyright notice
10119 Add 2004 to printed copyright notice
10120
10121 * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
10122 3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
10123 5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
10124 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
10125 5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
10126 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
10127 5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
10128 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
10129 5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
10130 5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
10131 6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
10132 vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
10133 xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
10134 sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
10135 checks.adb, clean.adb, cstand.adb, einfo.ads,
10136 einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
10137 exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
10138 prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
10139 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
10140 g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
10141 lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
10142 Minor reformatting and code clean ups.
10143 Minor changes to prevent -gnatwa warnings
10144
10145 * ali.adb: Minor reformatting and cleanup of code
10146 Acquire new SS indication of secondary stack use from ali files
10147
10148 * a-numaux.ads: Add Pure_Function pragmas for all imported functions
10149 (since now we expect this to be done for imported functions)
10150
10151 * bindgen.adb: Generate call to modify default secondary stack size if
10152 -Dnnn switch given
10153
10154 * bindusg.adb: Add line for new -D switch
10155
10156 * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
10157 replacement name for Type_May_Have_Non_Bit_Aligned_Components!
10158 Add circuitry for both records and arrays to avoid gigi
10159 processing if the type involved has non-bit-aligned components
10160
10161 * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
10162 N_String_Literal node always references an E_String_Literal_Subtype
10163 entity. This may not be true in the future.
10164 (Possible_Bit_Aligned_Component): Move processing of
10165 Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
10166
10167 * exp_ch6.adb (Expand_Thread_Body): Pick up
10168 Default_Secondary_Stack_Size as variable so that we get value modified
10169 by possible -Dnnn binder parameter.
10170
10171 * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
10172 (Type_May_Have_Bit_Aligned_Components): New function.
10173
10174 * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
10175 (Type_May_Have_Bit_Aligned_Components): New function.
10176
10177 * fe.h: (Set_Identifier_Casing): Fix prototype.
10178 Add declaration for Sem_Elim.Eliminate_Error_Msg.
10179 Minor reformatting.
10180
10181 * freeze.adb (Freeze_Entity): Add RM reference to error message about
10182 importing constant atomic/volatile objects.
10183 (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
10184 unless explicit Pure_Function pragma given, to avoid insidious bug of
10185 call to non-pure imported function getting eliminated.
10186
10187 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
10188 gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
10189 gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
10190 Add 2004 to printed copyright notice
10191
10192 * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
10193 stack used.
10194
10195 * Makefile.rtl: Add entry for g-sestin.o
10196 g-sestin.ads: New file.
10197
10198 * mdll.adb: Minor changes to avoid -gnatwa warnings
10199
10200 * mlib-tgt.adb: Minor reformatting
10201
10202 * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
10203 New switch Sec_Stack_Used (GNAT, GNATBIND)
10204 Make Default_Secondary_Stack_Size a variable instead of a constant,
10205 so that it can be modified by the new -Dnnn bind switch.
10206
10207 * rtsfind.adb (Load_Fail): Give full error message in configurable
10208 run-time mode if all_errors mode is set. This was not done in the case
10209 of a file not found, which was an oversight.
10210 Note if secondary stack unit is used by compiler.
10211
10212 * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
10213 ineffective elaborate all pragmas on non-visible packages (this
10214 happened when a renamed subprogram was called). Now the elaborate all
10215 always goes on the package containing the renaming rather than the one
10216 containing the renamed subprogram.
10217
10218 * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
10219 (Process_Eliminate_Pragma): Add parameter to capture pragma location.
10220
10221 * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
10222 has an Etype that references an E_String_Literal.
10223 (Eval_String_Literal): Avoid assumption that N_String_Literal node
10224 always references an E_String_Literal_Subtype entity. This may not
10225 be true in the future.
10226
10227 * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
10228 pragma location.
10229
10230 * sem_res.adb (Resolve): Specialize msg for function name used in proc
10231 call.
10232
10233 2004-01-05 Ed Falis <falis@gnat.com>
10234
10235 * g-debuti.adb: Replaced direct boolean operator with short-circuit
10236 form.
10237
10238 2004-01-05 Vincent Celier <celier@gnat.com>
10239
10240 * bld.adb: Minor comment updates
10241 (Process_Declarative_Items): Correct incorrect name (Index_Name instead
10242 of Item_Name).
10243
10244 * make.adb (Gnatmake): Special process for files to compile/check when
10245 -B is specified. Fail when there are only foreign mains in attribute
10246 Main of the project file and -B is not specified. Do not skip bind/link
10247 steps when -B is specified.
10248
10249 * makeusg.adb: Document new switch -B
10250
10251 * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
10252
10253 * switch-m.adb: (Scan_Make_Switches): Process -B switch
10254
10255 * vms_data.ads: Add new GNAT PRETTY qualifier
10256 /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
10257
10258 2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10259
10260 * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
10261 case.
10262
10263 * misc.c (gnat_printable_name): If VERBOSITY is 2, call
10264 Set_Identifier_Casing.
10265
10266 * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
10267 has size that overflows.
10268
10269 2004-01-05 Gary Dismukes <dismukes@gnat.com>
10270
10271 * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
10272 -gnatwa warning on static condition.
10273
10274 2004-01-05 Doug Rupp <rupp@gnat.com>
10275
10276 * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
10277
10278 2004-01-05 Arnaud Charlet <charlet@act-europe.fr>
10279
10280 * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
10281 all attributes, including read-only attribute.
10282
10283 2004-01-05 Pascal Obry <obry@gnat.com>
10284
10285 * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
10286 library naming scheme.
10287
10288 * mlib-prj.adb (Build_Library): Generate different names for the static
10289 or dynamic version of the GNAT runtime. This is needed to support the
10290 new shared library naming scheme.
10291 (Process_Binder_File): Add detection of shared library in binder file
10292 based on the new naming scheme.
10293
10294 * gnatlink.adb (Process_Binder_File): Properly detect the new naming
10295 scheme for the shared runtime libraries.
10296
10297 * Makefile.in:
10298 (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
10299 scheme.
10300 (install-gnatlib): Do not create symlinks for shared libraries.
10301 (gnatlib-shared-default): Idem.
10302 (gnatlib-shared-dual-win32): New target. Not used for now as the
10303 auto-import feature does not support arrays/records.
10304 (gnatlib-shared-win32): Do not create copy for the shared libraries.
10305 (gnatlib-shared-vms): Fix shared runtime libraries names.
10306
10307 * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
10308 dependent runtime shared library name.
10309
10310 2004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr>
10311
10312 * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
10313 than the object.
10314
10315 2004-01-05 Ed Schonberg <schonberg@gnat.com>
10316
10317 * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
10318 protected objects when allocator has a subtype indication, not a
10319 qualified expression. Note that qualified expressions may have to be
10320 checked when limited aggregates are implemented.
10321
10322 * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
10323 pure, emit warning.
10324 (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
10325 subprogram is imported, remove warning.
10326
10327 2004-01-05 Geert Bosch <bosch@gnat.com>
10328
10329 * s-poosiz.adb: Update copyright notice.
10330 (Allocate): Use Task_Lock to protect against concurrent access.
10331 (Deallocate): Likewise.
10332
10333 2004-01-05 Joel Brobecker <brobecker@gnat.com>
10334
10335 * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
10336 comment.
10337
10338 2003-12-23 Kelley Cook <kcook@gcc.gnu.org>
10339
10340 * gnat_ug.texi: Force a CVS commit by updating copyright.
10341 * gnat_ug_vxw.texi: Regenerate.
10342 * gnat_ug_wnt.texi: Regenerate.
10343 * gnat_ug_vms.texi: Regenerate.
10344 * gnat_ug_unx.texi: Regenerate.
10345
10346 2003-12-20 Kazu Hirata <kazu@cs.umass.edu>
10347
10348 * trans.c: Remove uses of "register" specifier in
10349 declarations of local variables.
10350
10351 2003-12-18 Kelley Cook <kcook@gcc.gnu.org>
10352
10353 * stamp-xgnatug: New stamp file.
10354 * Make-lang.in (stamp-xgnatug): New stamp file and comment.
10355 (ada/doctools/xgnatug): Add $(build_exeext).
10356 (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
10357 ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
10358
10359 2003-12-17 Ed Falis <falis@gnat.com>
10360
10361 * a-elchha.adb (Tailored_Exception_Information): made Info constant to
10362 eliminate warning.
10363
10364 * a-exextr.adb: Add context clause for
10365 Ada.Exceptions.Last_Chance_Handler.
10366
10367 2003-12-17 Sergey Rybin <rybin@act-europe.fr>
10368
10369 * cstand.adb (Create_Standard): Change the way how the declaration of
10370 the Duration type is created (making it the same way as it is for all
10371 the other standard types).
10372
10373 2003-12-17 Robert Dewar <dewar@gnat.com>
10374
10375 * s-crtl.ads: Fix header format
10376 Change Pure to Preelaborate
10377
10378 2003-12-17 Ed Schonberg <schonberg@gnat.com>
10379
10380 * checks.adb (Selected_Length_Checks): Generate an Itype reference for
10381 the expression type only if it is declared in the current unit.
10382
10383 * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
10384 are universal and already analyzed, as can occur in constrained
10385 subcomponents that depend on discriminants, when one constraint is a
10386 subtype mark.
10387
10388 * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
10389 type Any_Fixed is legal as the argument of a conversion, if only one
10390 fixed-point type is in context.
10391
10392 2003-12-17 GNAT Script <nobody@gnat.com>
10393
10394 * Make-lang.in: Makefile automatically updated
10395
10396 2003-12-15 Robert Dewar <dewar@gnat.com>
10397
10398 * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
10399 sec stack size.
10400
10401 2003-12-15 Vincent Celier <celier@gnat.com>
10402
10403 * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
10404 (Gnatchop): Do not set failure status when reporting the number of
10405 warnings.
10406
10407 2003-12-15 Doug Rupp <rupp@gnat.com>
10408
10409 * s-ctrl.ads: New file.
10410
10411 * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
10412
10413 * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
10414 (GNATBIND_OBJS): Add ada/s-crtl.o.
10415
10416 * Makefile.in [VMS]: Clean up ifeq rules.
10417
10418 * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
10419 a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
10420 g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
10421 s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
10422 s-tasdeb.adb: Update copyright.
10423 Import System.CRTL.
10424 Make minor modifications to use System.CRTL declared functions instead
10425 of importing locally.
10426
10427 2003-12-15 GNAT Script <nobody@gnat.com>
10428
10429 * Make-lang.in: Makefile automatically updated
10430
10431 2003-12-11 Ed Falis <falis@gnat.com>
10432
10433 * 5zinit.adb: Clean up.
10434
10435 * 5zintman.adb (Notify_Exception): replaced case statement with a call
10436 to __gnat_map_signal, imported from init.c to support
10437 signal -> exception mappings that depend on the vxWorks version.
10438
10439 * init.c:
10440 Created and exported __gnat_map_signal to support signal -> exception
10441 mapping that is dependent on the VxWorks version.
10442 Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
10443
10444 2003-12-11 Vasiliy Fofanv <fofanov@act-europe.fr>
10445
10446 * 5wosinte.ads: Link with -mthreads switch.
10447
10448 2003-12-11 Arnaud Charlet <charlet@act-europe.fr>
10449
10450 * init.c (__gnat_install_handler [NetBSD]): Set
10451 __gnat_handler_installed, as done on all other platforms.
10452 Remove duplicated code.
10453
10454 2003-12-11 Jerome Guitton <guitton@act-europe.fr>
10455
10456 * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
10457
10458 2003-12-11 Thomas Quinot <quinot@act-europe.fr>
10459
10460 * sinfo.ads: Fix inconsistent example code in comment.
10461
10462 2003-12-11 Robert Dewar <dewar@gnat.com>
10463
10464 * a-tiinau.adb: Add a couple of comments
10465
10466 * sem_ch3.adb: Minor reformatting
10467
10468 * sem_prag.adb:
10469 Fix bad prototype of Same_Base_Type in body (code reading cleanup)
10470 Minor reformatting throughout
10471
10472 2003-12-11 Ed Schonberg <schonberg@gnat.com>
10473
10474 * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
10475 bounds of a loop, create a separate block in order to generate proper
10476 cleanup actions to prevent memory leaks.
10477
10478 * sem_res.adb (Resolve_Call): After a call to
10479 Establish_Transient_Scope, the call may be rewritten and relocated, in
10480 which case no further processing is needed.
10481
10482 * sem_util.adb: (Wrong_Type): Refine previous fix.
10483 Fixes ACATS regressions.
10484
10485 PR ada/13353
10486
10487 * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
10488 be inlined.
10489
10490 2003-12-08 Jerome Guitton <guitton@act-europe.fr>
10491
10492 * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
10493 i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
10494 obsolete files.
10495
10496 * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
10497 (rts-zfp): Ditto.
10498
10499 2003-12-08 Robert Dewar <dewar@gnat.com>
10500
10501 * 7sintman.adb: Minor reformatting
10502
10503 * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
10504 standard linker options to get standard libraries linked. We now plan
10505 to provide dummy versions of these libraries to match the appropriate
10506 configurable run-time (e.g. if a library is not needed at all, provide
10507 a dummy empty library).
10508
10509 * targparm.ads: Configurable_Run_Time mode no longer affects linker
10510 options (-L parameters and standard libraries). What we plan to do is
10511 to provide dummy libraries where the libraries are not required.
10512
10513 * gnatbind.adb: Minor comment improvement
10514
10515 2003-12-08 Javier Miranda <miranda@gnat.com>
10516
10517 * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
10518 aggregate in the parent. Otherwise constants with limited aggregates
10519 are not supported. Add new formal to pass the component type (Ctype).
10520 It is required to call the corresponding IP subprogram in case of
10521 default initialized components.
10522 (Gen_Assign): In case of default-initialized component, generate a
10523 call to the IP subprogram associated with the component.
10524 (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
10525 of aggregate with default initialized components.
10526 (Has_Default_Init_Comps): Improve implementation to recursively check
10527 all the present expressions.
10528
10529 * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
10530 to indicate that the initialization call corresponds to a
10531 default-initialized component of an aggregate.
10532 In case of default initialized aggregate with tasks this parameter is
10533 used to generate a null string (this is just a workaround that must be
10534 improved later). In case of discriminants, this parameter is used to
10535 generate a selected component node that gives access to the discriminant
10536 value.
10537
10538 * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
10539 subprogram, based on Build_Task_Allocate_Block, but adapted to expand
10540 allocated aggregates with default-initialized components.
10541
10542 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
10543 the box notation is used in positional aggregates.
10544
10545 2003-12-08 Samuel Tardieu <tardieu@act-europe.fr>
10546
10547 * lib.ads: Fix typo in comment
10548
10549 2003-12-08 Vincent Celier <celier@gnat.com>
10550
10551 * prj.adb (Project_Empty): New component Unkept_Comments
10552 (Scan): Remove procedure; moved to Prj.Err.
10553
10554 * prj.ads (Project_Data): New Boolean component Unkept_Comments
10555 (Scan): Remove procedure; moved to Prj.Err.
10556
10557 * prj-dect.adb: Manage comments for the different declarations.
10558
10559 * prj-part.adb (With_Record): New component Node
10560 (Parse): New Boolean parameter Store_Comments, defaulted to False.
10561 Set the scanner to return ends of line and comments as tokens, if
10562 Store_Comments is True.
10563 (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
10564 comments are associated with these nodes. Store the node IDs in the
10565 With_Records.
10566 (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
10567 With_Records.
10568 (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
10569 the N_Project node. Call Tree.Save and Tree.Reset before scanning the
10570 current project. Call Tree.Restore afterwards. Set the various nodes
10571 for comment storage (Next_End, End_Of_Line, Previous_Line,
10572 Previous_End).
10573
10574 * prj-part.ads (Parse): New Boolean parameter Store_Comments,
10575 defaulted to False.
10576
10577 * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
10578 to False. When Truncated is True, truncate the string, never go to the
10579 next line.
10580 (Write_End_Of_Line_Comment): New procedure
10581 (Print): Process comments for nodes N_With_Clause,
10582 N_Package_Declaration, N_String_Type_Declaration,
10583 N_Attribute_Declaration, N_Typed_Variable_Declaration,
10584 N_Variable_Declaration, N_Case_Construction, N_Case_Item.
10585 Process nodes N_Comment.
10586
10587 * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
10588 without comments and there are some comments, set the flag
10589 Unkept_Comments to True.
10590 (Scan): If there are comments, set the flag Unkept_Comments to True and
10591 clear the comments.
10592 (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
10593 (Next_End_Nodes: New table
10594 (Comment_Zones_Of): New function
10595 (Scan): New procedure; moved from Prj. Accumulate comments in the
10596 Comments table and set end of line comments, comments after, after end
10597 and before end.
10598 (Add_Comments): New procedure
10599 (Save, Restore, Seset_State): New procedures
10600 (There_Are_Unkept_Comments): New function
10601 (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
10602 (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
10603 procedures.
10604 (First_Comment_After, First_Comment_After_End): New functions
10605 (First_Comment_Before, First_Comment_Before_End): New functions
10606 (Next_Comment): New function
10607 (End_Of_Line_Comment, Follows_Empty_Line,
10608 Is_Followed_By_Empty_Line): New functions
10609 (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
10610 (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
10611 (Set_Next_Comment): New procedure
10612 (Default_Project_Node): Associate comment before if the node can store
10613 comments.
10614
10615 * scans.ads (Token_Type): New enumeration value Tok_Comment
10616 (Comment_Id): New global variable
10617
10618 * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
10619 defaulted to False.
10620 (Scan): Store position of start of comment. If comments are tokens, set
10621 Comment_Id and set Token to Tok_Comment when scanning a comment.
10622 (Set_Comment_As_Token): New procedure
10623
10624 * sinput-p.adb: Update Copyright notice
10625 (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
10626 that no longer exists.
10627
10628 2003-12-08 Javier Miranda <miranda@gnat.com>
10629
10630 * sem_aggr.adb: Add dependence on Exp_Tss package
10631 Correct typo in comment
10632 (Resolve_Aggregate): In case of array aggregates set the estimated
10633 type of the aggregate before calling resolve. This is needed to know
10634 the name of the corresponding IP in case of limited array aggregates.
10635 (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
10636 in case of default initialized array components.
10637
10638 * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
10639 types. Required to give support to limited aggregates in generic
10640 formals.
10641
10642 2003-12-08 Ed Schonberg <schonberg@gnat.com>
10643
10644 * sem_ch3.adb (Check_Initialization): For legality purposes, an
10645 inlined body functions like an instantiation.
10646 (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
10647 until bounds are analyzed, to diagnose premature use of type.
10648
10649 * sem_util.adb (Wrong_Type): Improve error message when the type of
10650 the expression is used prematurely.
10651
10652 2003-12-08 GNAT Script <nobody@gnat.com>
10653
10654 * Make-lang.in: Makefile automatically updated
10655
10656 2003-12-08 Arnaud Charlet <charlet@act-europe.fr>
10657
10658 * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
10659 they are automatically generated by Make-lang.in and cause nothing but
10660 maintenance troubles.
10661
10662 2003-12-05 Thomas Quinot <quinot@act-europe.fr>
10663
10664 * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
10665 version of this unit).
10666
10667 2003-12-05 Olivier Hainque <hainque@act-europe.fr>
10668
10669 * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
10670 5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
10671 5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
10672 the body of System.Interrupt_Management common to several targets.
10673 Update copyright notice when appropriate.
10674
10675 * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
10676 constant.
10677
10678 * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
10679 to ensure that the kernel fills in the interrupted context structure
10680 before calling a signal handler, which is necessary to be able to
10681 unwind past it. Update the copyright notice.
10682
10683 2003-12-05 Jerome Guitton <guitton@act-europe.fr>
10684
10685 * a-elchha.ads: New file.
10686
10687 * a-elchha.adb: New default last chance handler. Contents taken from
10688 Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
10689
10690 * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
10691 is moved to a-elchha.adb to provide a target-independent default last
10692 chance handler.
10693
10694 * Makefile.rtl: Add a-elchha.o
10695
10696 * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
10697
10698 2003-12-05 Ed Schonberg <schonberg@gnat.com>
10699
10700 * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
10701 declared in an instance, do not inline the call if the instance is not
10702 frozen yet, to prevent order of elaboration problems.
10703
10704 * sem_prag.adb: Add comments for previous fix.
10705
10706 2003-12-05 Samuel Tardieu <tardieu@act-europe.fr>
10707
10708 * g-table.adb: Use the right variable in Set_Item.
10709 Update copyright notice.
10710
10711 2003-12-05 Arnaud Charlet <charlet@act-europe.fr>
10712
10713 * Makefile.in: Remove unused rules.
10714
10715 2003-12-05 Vincent Celier <celier@gnat.com>
10716
10717 * switch-c.adb (Scan_Front_End_Switches): Remove processing of
10718 -nostdlib. Not needed here after all.
10719
10720 2003-12-03 Thomas Quinot <quinot@act-europe.fr>
10721
10722 PR ada/11724
10723
10724 * adaint.h, adaint.c, g-os_lib.ads:
10725 Do not assume that the offset argument to lseek(2) is a 32 bit integer,
10726 on some platforms (including FreeBSD), it is a 64 bit value.
10727 Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
10728
10729 2003-12-03 Arnaud Charlet <charlet@act-europe.fr>
10730
10731 * gnatvsn.ads (Library_Version): Now contain only the relevant
10732 version info.
10733 (Verbose_Library_Version): New constant.
10734
10735 * g-spipat.adb, g-awk.adb, g-debpoo.adb,
10736 g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
10737 s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
10738
10739 * gnatlbr.adb: Clean up: replace Library_Version by
10740 Verbose_Library_Version.
10741
10742 * make.adb, lib-writ.adb, exp_attr.adb:
10743 Clean up: replace Library_Version by Verbose_Library_Version.
10744
10745 * 5lintman.adb: Removed.
10746
10747 * Makefile.in:
10748 Update and simplify computation of LIBRARY_VERSION.
10749 Fix computation of GSMATCH_VERSION.
10750 5lintman.adb is no longer used: replaced by 7sintman.adb.
10751
10752 2003-12-03 Robert Dewar <dewar@gnat.com>
10753
10754 * exp_ch5.adb:
10755 (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
10756 name. Modified to consider small non-bit-packed arrays as troublesome
10757 and in need of component-by-component assigment expansion.
10758
10759 2003-12-03 Vincent Celier <celier@gnat.com>
10760
10761 * lang-specs.h: Process nostdlib as nostdinc
10762
10763 * back_end.adb: Update Copyright notice
10764 (Scan_Compiler_Arguments): Process -nostdlib directly.
10765
10766 2003-12-03 Jose Ruiz <ruiz@act-europe.fr>
10767
10768 * Makefile.in:
10769 When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
10770 redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
10771 included in HIE_NONE_TARGET_PAIRS.
10772
10773 2003-12-03 Ed Schonberg <schonberg@gnat.com>
10774
10775 * sem_attr.adb:
10776 (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
10777 is legal in an instance, because legality is cheched in the template.
10778
10779 * sem_prag.adb:
10780 (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
10781 appplied to an unchecked conversion of a formal parameter.
10782
10783 * sem_warn.adb:
10784 (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
10785 variables.
10786
10787 2003-12-03 Olivier Hainque <hainque@act-europe.fr>
10788
10789 * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
10790 routines. The second one is new functionality to deal with backtracing
10791 through signal handlers.
10792 (unwind): Split into the two separate subroutines above.
10793 Update the documentation, and deal properly with sizeof (REG) different
10794 from sizeof (void*).
10795
10796 2003-12-01 Nicolas Setton <setton@act-europe.fr>
10797
10798 * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
10799 so that the debugger can reliably access the value of the parameter,
10800 and therefore is able to display the exception name when an exception
10801 breakpoint is reached.
10802
10803 2003-12-01 Thomas Quinot <quinot@act-europe.fr>
10804
10805 * fmap.adb: Fix typo in warning message.
10806
10807 * g-socket.ads, g-socket.adb: Make Free a visible instance of
10808 Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
10809
10810 2003-12-01 Vincent Celier <celier@gnat.com>
10811
10812 * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
10813 ther is no Afile.
10814 (Build_Library): Get the switches only if Default_Switches is declared
10815 in package Binder.
10816
10817 2003-12-01 Ed Schonberg <schonberg@gnat.com>
10818
10819 * exp_ch6.adb (Expand_Actuals): When applying validity checks to
10820 actuals that are indexed components, reanalyze actual to ensure that
10821 packed array references are properly expanded.
10822
10823 * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
10824 attempted assignment to a discriminant.
10825
10826 2003-12-01 Robert Dewar <dewar@gnat.com>
10827
10828 * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
10829 reformatting.
10830
10831 * switch-c.adb: Minor reformatting of comments
10832
10833 2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
10834
10835 * Makefile.in: Clean ups.
10836
10837 2003-12-01 GNAT Script <nobody@gnat.com>
10838
10839 * Make-lang.in: Makefile automatically updated
10840
10841 2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
10842
10843 * 5wsystem.ads: Disable zero cost exception, not ready yet.
10844
10845 2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
10846
10847 * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
10848 to force serialization.
10849
10850 2003-11-26 Thomas Quinot <quinot@act-europe.fr>
10851
10852 * g-socket.ads, g-socket.adb:
10853 Clarify documentation of function Stream. Introduce a Free procedure
10854 to release the returned Stream once it becomes unused.
10855
10856 * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
10857
10858 2003-11-26 Arnaud Charlet <charlet@act-europe.fr>
10859
10860 (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
10861 since NT 4 cannot handle timeout values that are too large,
10862 e.g. DWORD'Last - 1.
10863
10864 2003-11-26 Ed Schonberg <schonberg@gnat.com>
10865
10866 * exp_ch4.adb:
10867 (Expand_N_Slice): Recognize all cases of slices that appear as actuals
10868 in procedure calls and whose expansion must be deferred.
10869
10870 * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
10871 is in exp_ch4.
10872
10873 * sem_ch3.adb:
10874 (Build_Derived_Array_Type): Create operator for unconstrained type
10875 if ancestor is unconstrained.
10876
10877 2003-11-26 Vincent Celier <celier@gnat.com>
10878
10879 * make.adb (Project_Object_Directory): New global variable
10880 (Change_To_Object_Directory): New procedure
10881 (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
10882 of Change_Dir directly. Do not change working directory to object
10883 directory of main project after each compilation.
10884 (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
10885 directly.
10886 Change to object directory of main project before binding step.
10887 (Initialize): Initialize Project_Object_Directory to No_Project
10888
10889 * mlib-prj.adb:
10890 (Build_Library): Take into account Builder'Default_Switches ("Ada") when
10891 binding a Stand-Alone Library.
10892
10893 * output.adb: Update Copyright notice
10894 (Write_Char): Output buffer when full
10895
10896 2003-11-26 Robert Dewar <dewar@gnat.com>
10897
10898 * sem_ch13.adb: (Check_Size): Reset size if size is too small
10899
10900 * sem_ch13.ads:
10901 (Check_Size): Fix documentation to include bit-packed array case
10902
10903 * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
10904
10905 * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
10906
10907 * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
10908
10909 2003-11-24 Arnaud Charlet <charlet@act-europe.fr>
10910
10911 PR ada/13142
10912 * utils.c (init_gigi_decls): Change name of built-in setjmp to
10913 __builtin_setjmp, since this is apparently needed by recent
10914 non Ada changes.
10915
10916 2003-11-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10917
10918 * adadecode.c: Only include ctype.h if not IN_GCC.
10919 (__gnat_decode): Use ISDIGIT from safe-ctype.h.
10920
10921 2003-11-24 Jose Ruiz <ruiz@act-europe.fr>
10922
10923 * Makefile.in:
10924 Use 5zintman.ads for VxWorks targets. This file avoid confusion between
10925 signals and interrupts.
10926
10927 * 5zintman.ads: New File.
10928
10929 * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
10930 add exception signals to the set of unmasked signals.
10931
10932 * 5ztaprop.adb:
10933 Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
10934 between signals and interrupts.
10935 Add to Unblocked_Signal_Mask the set of signals that are in
10936 Keep_Unmasked.
10937
10938 * 7sinmaop.adb:
10939 Adding a check to see whether the Interrupt_ID we want to unmask is in
10940 the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
10941 reason is that the index type of the Keep_Unmasked array is not always
10942 Interrupt_ID; it may be a subtype of Interrupt_ID.
10943
10944 2003-11-24 Gary Dismukes <dismukes@gnat.com>
10945
10946 * exp_util.adb:
10947 (Remove_Side_Effects): Condition constantness of object created for a
10948 an unchecked type conversion on the constantness of the expression
10949 to ensure the correct value for 'Constrained when passing components
10950 of view-converted class-wide objects.
10951
10952 2003-11-24 Robert Dewar <dewar@gnat.com>
10953
10954 * par-load.adb (Load): Improve handling of misspelled and missing units
10955 Removes several cases of compilation abandoned messages
10956
10957 * lib.adb: (Remove_Unit): New procedure
10958
10959 * lib.ads: (Remove_Unit): New procedure
10960
10961 * lib-load.adb: Minor reformatting
10962
10963 2003-11-24 Vincent Celier <celier@gnat.com>
10964
10965 * make.adb:
10966 (Gnatmake, Initialize): Call Usage instead of Makeusg directly
10967 (Marking_Label): Label to mark processed source files. Incremented for
10968 each executable.
10969 (Gnatmake): Increase Marking_Labet for each executable
10970 (Is_Marked): Compare against marking label
10971 (Mark): Mark with marking label
10972
10973 2003-11-24 Jerome Guitton <guitton@act-europe.fr>
10974
10975 * s-thread.ads:
10976 Move the declaration of the TSD for System.Threads to System.Soft_Links.
10977 Add some comments.
10978
10979 * Makefile.in: Added target pair for s-thread.adb for cert runtime.
10980 (rts-cert): build a single relocatable object for the run-time lib.
10981 Fix perms.
10982
10983 2003-11-24 Vasiliy Fofanov <fofanov@act-europe.fr>
10984
10985 * Make-lang.in:
10986 Use gnatls rather than gcc to obtain the location of GNAT RTL for
10987 crosstools build.
10988
10989 2003-11-24 Sergey Rybin <rybin@act-europe.fr>
10990
10991 * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
10992 can not use it as before (that is, as a variable) when dumping it into
10993 the tree file. Add a local variable to store the result of this
10994 function and to be used as the string to be written into the tree.
10995
10996 * scn.adb (Initialize_Scanner): Add comments explaining the recent
10997 changes.
10998
10999 * sinput.adb (Source_First, Source_Last): In case of
11000 Internal_Source_File, replace returning attributes of
11001 Internal_Source_Ptr (which is wrong) with returning attributes of
11002 Internal_Source.
11003
11004 2003-11-24 Ed Schonberg <schonberg@gnat.com>
11005
11006 * sem_ch3.adb:
11007 (New_Concatenation_Op): Proper name for New_Binary_Operator, only
11008 used for implicit concatenation operators.
11009 Code cleanup.
11010
11011 * sem_elab.adb:
11012 (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
11013 task bodies that are in the scope of a Suppress pragma.
11014 (Check_A Call): Use the flag to prevent spurious elaboration checks.
11015
11016 * sinfo.ads, sinfo.adb:
11017 New flag No_Elaboration_Check on function/procedure calls, to properly
11018 suppress checks on calls in task bodies that are within a local suppress
11019 pragma.
11020
11021 * exp_ch4.adb:
11022 (Expand_Concatenate_Other): Use the proper integer type for the
11023 expression for the upper bound, to avoid universal_integer computations
11024 when possible.
11025
11026 2003-11-21 Kelley Cook <kcook@gcc.gnu.org>
11027
11028 * .cvsignore: Delete.
11029
11030 2003-11-21 Andreas Schwab <schwab@suse.de>
11031
11032 * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
11033
11034 2003-11-21 Vasiliy Fofanov <fofanov@act-europe.fr>
11035
11036 * 5wsystem.ads: Enable zero cost exception.
11037
11038 2003-11-21 Jerome Guitton <guitton@act-europe.fr>
11039
11040 * 5ztiitho.adb: Remove an unreferenced variable.
11041
11042 2003-11-21 Thomas Quinot <quinot@act-europe.fr>
11043
11044 * adaint.c: For FreeBSD, use mkstemp.
11045
11046 2003-11-21 Arnaud Charlet <charlet@act-europe.fr>
11047
11048 * gnatlbr.adb: Now reference Gnat_Static_Version_String.
11049
11050 2003-11-21 Robert Dewar <dewar@gnat.com>
11051
11052 * bld.adb: Remove useless USE of gnatvsn
11053
11054 * gnatchop.adb: Minor reformatting
11055 Clean up version handling to be more consistent
11056
11057 * gnatxref.adb: Minor reformatting
11058
11059 * gprcmd.adb: Minor reformatting
11060 Fix output of copyright to be more consistent with other tools
11061
11062 2003-11-21 Vincent Celier <celier@gnat.com>
11063
11064 * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
11065
11066 2003-11-21 Sergey Rybin <rybin@act-europe.fr>
11067
11068 * atree.adb (Initialize): Add initializations for global variables
11069 used in New_Copy_Tree.
11070
11071 * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
11072 Internal_Source_File as the actual).
11073 Put the set of statements creating Any_Character before the set of
11074 statements creating Any_Array to have Any_Character fully initialized
11075 when it is used in creating Any_Array.
11076
11077 * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
11078 not call Scan in case if the actual is Internal_Source_File
11079 Add 2003 to copyright note.
11080
11081 * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
11082 processing Internal_Source_File.
11083
11084 * types.ads: Add the constant Internal_Source_File representing the
11085 source buffer for artificial source-code-like strings created within
11086 the compiler (the definition of Source_File_Index is changed).
11087
11088 2003-11-20 Arnaud Charlet <charlet@act-europe.fr>
11089
11090 * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
11091 56system.ads: New file, FreeBSD version.
11092
11093 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
11094
11095 * Make-lang.in (ada.extraclean): Delete.
11096
11097 2003-11-19 Arnaud Charlet <charlet@act-europe.fr>
11098
11099 * gnatmem.adb: Clean up verbose output.
11100
11101 * gprcmd.adb: Change copyright to FSF.
11102
11103 2003-11-19 Vincent Celier <celier@gnat.com>
11104
11105 * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
11106 and Version (ignored).
11107
11108 * symbols.ads: (Policy): New type
11109 (Initialize): New parameter Reference, Symbol_Policy and
11110 Library_Version.
11111 Remove parameter Force.
11112 Minor reformatting.
11113
11114 * snames.ads, snames.adbadb: New standard names
11115 Library_Reference_Symbol_File and Library_Symbol_Policy
11116
11117 * mlib-prj.adb:
11118 (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
11119 project.
11120
11121 * mlib-tgt.adb:
11122 (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
11123
11124 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
11125
11126 * prj.adb: (Project_Empty): New component Symbol_Data
11127
11128 * prj.ads: (Policy, Symbol_Record): New types
11129 (Project_Data): New component Symbol_Data
11130
11131 * prj-attr.adb:
11132 New attributes Library_Symbol_File, Library_Symbol_Policy and
11133 Library_Reference_Symbol_File.
11134
11135 * prj-nmsc.adb:
11136 (Ada_Check): When project is a Stand-Alone library project, process
11137 attribute Library_Symbol_File, Library_Symbol_Policy and
11138 Library_Reference_Symbol_File.
11139
11140 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
11141 5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
11142 5sml-tgt.adb (Build_Dynamic_Library): New parameter
11143 Symbol_Data (ignored).
11144
11145 * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
11146 (Build_Dynamic_Library): New parameter Symbol_Data. New internal
11147 functions Option_File_Name and Version_String. Set new options of
11148 gnatsym related to symbol file, symbol policy and reference symbol
11149 file.
11150
11151 * 5vsymbol.adb:
11152 Extensive modifications to take into account the reference symbol file,
11153 the symbol policy, the library version and to put in the symbol file the
11154 minor and major IDs.
11155
11156 * bld.adb (Process_Declarative_Items): Put second argument of
11157 gprcmd to_absolute between single quotes, to avoid problems with
11158 Windows.
11159
11160 * bld-io.adb: Update Copyright notice.
11161 (Flush): Remove last character of a line, if it is a back slash, to
11162 avoid make problems.
11163
11164 * gnatsym.adb:
11165 Implement new scheme with reference symbol file and symbol policy.
11166
11167 * g-os_lib.ads: (Is_Directory): Clarify comment
11168
11169 2003-11-19 Robert Dewar <dewar@gnat.com>
11170
11171 * atree.adb: Move New_Copy_Tree global variables to head of package
11172
11173 * errout.adb: Minor reformatting
11174
11175 2003-11-19 Javier Miranda <miranda@gnat.com>
11176
11177 * sem_ch4.adb: (Diagnose_Call): Improve error message.
11178 Add reference to Ada0Y (AI-50217)
11179
11180 * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
11181 sem_util.adb: Add reference to AI-50217
11182
11183 * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
11184
11185 * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
11186
11187 * sem_aggr.adb: Complete documentation of AI-287 changes
11188
11189 * par-ch4.adb: Document previous changes.
11190
11191 * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
11192 sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
11193 Ada0Y (AI-50217)
11194
11195 * exp_aggr.adb: Add references to AI-287 in previous changes
11196
11197 2003-11-19 Ed Schonberg <schonberg@gnat.com>
11198
11199 * exp_ch6.adb:
11200 (Add_Call_By_Copy_Node): Do not original node of rewritten expression
11201 in the rewriting is the result of an inlined call.
11202
11203 * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
11204 parameter is a type conversion, use original node to construct the
11205 post-call assignment, because expression may have been rewritten, e.g.
11206 if it is a packed array.
11207
11208 * sem_attr.adb:
11209 (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
11210 body, just as it is in an instance.
11211 Categorization routines
11212
11213 * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
11214 Instantiate_Object): Set proper sloc reference for message on missing
11215 actual.
11216
11217 2003-11-19 Thomas Quinot <quinot@act-europe.fr>
11218
11219 * Makefile.in: Add FreeBSD libgnat pairs.
11220
11221 * usage.adb: Fix typo in usage message.
11222
11223 2003-11-19 Jerome Guitton <guitton@act-europe.fr>
11224
11225 * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
11226 s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
11227 pragma Thread_Body.
11228 Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
11229
11230 * s-thread.adb: This file is now a dummy implementation of
11231 System.Thread.
11232
11233 2003-11-19 Sergey Rybin <rybin@act-europe.fr>
11234
11235 * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
11236
11237 2003-11-19 Emmanuel Briot <briot@act-europe.fr>
11238
11239 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
11240 instanciation references in the parent type description.
11241
11242 2003-11-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11243
11244 * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
11245
11246 * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
11247 TYPE_PRECISION directly from esize.
11248
11249 2003-11-18 Thomas Quinot <quinot@act-europe.fr>
11250
11251 * cstreams.c:
11252 Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
11253
11254 * init.c: Initialization routines for FreeBSD
11255
11256 * link.c: Link info for FreeBSD
11257
11258 * sysdep.c: Add the case of FreeBSD
11259
11260 2003-11-17 Jerome Guitton <guitton@act-europe.fr>
11261
11262 * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
11263 already called in System.Threads.
11264
11265 * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
11266 environment task, as it has been moved to System.Threads.Initialization.
11267
11268 2003-11-17 Arnaud Charlet <charlet@act-europe.fr>
11269
11270 * adaint.c (__gnatlib_install_locks): Only reference
11271 __gnat_install_locks on VMS, since other platforms can avoid using
11272 --enable-threads=gnat
11273
11274 2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11275
11276 * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
11277
11278 * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
11279 TYPE_PACKED_ARRAY_TYPE_P.
11280 (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
11281
11282 Part of PR ada/12806
11283 * utils.c (float_type_for_precision): Renamed from float_type_for_size.
11284 Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
11285
11286 2003-11-17 Vincent Celier <celier@gnat.com>
11287
11288 * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
11289 to False.
11290 Do not set exit status to Failure when Warning is True.
11291 (Gnatchop): Make errors "no compilation units found" and
11292 "no source files written" warnings only.
11293
11294 * make.adb (Gnatmake): When using a project file, set
11295 Look_In_Primary_Dir to False.
11296 (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
11297 and Local_Configuration_Pragmas in the project where they are declared
11298 not an extending project which might have inherited them.
11299
11300 * osint.adb (Locate_File): If Name is already an absolute path, do not
11301 look for a directory.
11302
11303 * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
11304 -gnats (Check_Syntax) is used, issue only a warning, not an error.
11305
11306 * prj.adb (Register_Default_Naming_Scheme): Add new component Project
11307 in objects of type Variable_Value.
11308
11309 * prj.ads: (Variable_Value): New component Project
11310
11311 * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
11312 is in a project extended by Project.
11313
11314 * prj-proc.adb (Add_Attributes): New parameter Project. Set component
11315 Project of Variable_Values to this new parameter value.
11316 (Expression): Set component Project of Variable_Values.
11317 (Process_Declarative_Items): Call Add_Attributes with parameter Project.
11318 Set the component Project in array elements.
11319
11320 2003-11-17 Sergey Rybin <rybin@act-europe.fr>
11321
11322 * errout.adb: (Initialize): Add initialization for error nodes.
11323
11324 * sem_ch12.adb (Initialize): Add missing initializations for
11325 Exchanged_Views and Hidden_Entities.
11326
11327 2003-11-17 Ed Schonberg <schonberg@gnat.com>
11328
11329 * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
11330 already instantiated tree for use in subsequent inlining.
11331 (Analyze_Associations, Instantiate_Formal_Subprogram,
11332 Instantiate_Object): improve error message for mismatch in
11333 instantiations.
11334
11335 * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
11336 instantiations of subprograms declared in instances.
11337
11338 2003-11-17 Javier Miranda <miranda@gnat.com>
11339
11340 * sem_ch4.adb (Analyze_Allocator): Previous modification must be
11341 executed only under the Extensions_Allowed flag.
11342
11343 2003-11-17 Robert Dewar <dewar@gnat.com>
11344
11345 * a-exexda.adb (Address_Image): Fix documentation to indicate leading
11346 zeroes suppressed.
11347 (Address_Image): Fix bug of returning 0x instead of 0x0
11348 Minor reformatting (function specs).
11349
11350 * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
11351 (missed case of 33-63)
11352
11353 * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
11354
11355 * s-thread.adb: Add comments for pragma Restriction
11356
11357 * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
11358 sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
11359
11360 2003-11-17 Ed Falis <falis@gnat.com>
11361
11362 * s-thread.adb: Added No_Tasking restriction for this implementation.
11363
11364 2003-11-17 Emmanuel Briot <briot@act-europe.fr>
11365
11366 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
11367 instanciation references in the parent type description.
11368
11369 2003-11-17 GNAT Script <nobody@gnat.com>
11370
11371 * Make-lang.in: Makefile automatically updated
11372
11373 2003-11-16 Jason Merrill <jason@redhat.com>
11374
11375 * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
11376 and TAGS files that include them for each front end.
11377
11378 2003-11-14 Andreas Jaeger <aj@suse.de>
11379
11380 * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
11381 is the canonical version.
11382 * misc.c (gnat_handle_option): Likewise.
11383
11384 * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
11385
11386 * 5nsystem.ads: New file for x86_64-linux-gnu.
11387
11388 2003-11-14 Arnaud Charlet <charlet@act-europe.fr>
11389
11390 * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
11391
11392 * comperr.adb: Fix logic in previous change.
11393
11394 2003-11-13 Vincent Celier <celier@gnat.com>
11395
11396 * 5bml-tgt.adb (Build_Dynamic_Library): Use
11397 Osint.Include_Dir_Default_Prefix instead of
11398 Sdefault.Include_Dir_Default_Name.
11399
11400 * gnatlbr.adb: Update Copyright notice
11401 (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
11402 Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
11403 instead of Sdefault.Object_Dir_Default_Name
11404
11405 * gnatlink.adb:
11406 (Process_Binder_File): Never suppress the option following -Xlinker
11407
11408 * mdll-utl.adb:
11409 (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
11410 Sdefault.Object_Dir_Default_Name.
11411
11412 * osint.ads, osint.adb:
11413 (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
11414 Minor reformatting.
11415
11416 * vms_conv.ads: Minor reformating
11417 Remove GNAT STANDARD and GNAT PSTA
11418
11419 * vms_conv.adb:
11420 Allow GNAT MAKE to have several files on the command line.
11421 (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
11422 Sdefault.Object_Dir_Default_Name.
11423 Minor Reformating
11424 Remove data for GNAT STANDARD
11425
11426 * vms_data.ads:
11427 Add new compiler qualifier /PRINT_STANDARD (-gnatS)
11428 Remove data for GNAT STANDARD
11429 Remove options and documentation for -gnatwb/-gnatwB: these warning
11430 options no longer exist.
11431
11432 2003-11-13 Ed Falis <falis@gnat.com>
11433
11434 * 5zthrini.adb: (Init_RTS): Made visible
11435
11436 * 5zthrini.adb:
11437 (Register): Removed unnecessary call to taskVarGet that checked whether
11438 an ATSD was already set as a task var for the argument thread.
11439
11440 * s-thread.adb:
11441 Updated comment to reflect that this is a VxWorks version
11442 Added context clause for System.Threads.Initialization
11443 Added call to System.Threads.Initialization.Init_RTS
11444
11445 2003-11-13 Jerome Guitton <guitton@act-europe.fr>
11446
11447 * 5zthrini.adb:
11448 (Init_RTS): New procedure, for the initialization of the run-time lib.
11449
11450 * s-thread.adb:
11451 Remove dependancy on System.Init, so that this file can be used in the
11452 AE653 sequential run-time lib.
11453
11454 2003-11-13 Robert Dewar <dewar@gnat.com>
11455
11456 * bindgen.adb: Minor reformatting
11457
11458 2003-11-13 Ed Schonberg <schonberg@gnat.com>
11459
11460 * checks.adb:
11461 (Apply_Discriminant_Check): Do no apply check if target type is derived
11462 from source type with no applicable constraint.
11463
11464 * lib-writ.adb:
11465 (Ensure_System_Dependency): Do not apply the style checks that may have
11466 been specified for the main unit.
11467
11468 * sem_ch8.adb:
11469 (Find_Selected_Component): Further improvement in error message, with
11470 RM reference.
11471
11472 * sem_res.adb:
11473 (Resolve): Handle properly the case of an illegal overloaded protected
11474 procedure.
11475
11476 2003-11-13 Javier Miranda <miranda@gnat.com>
11477
11478 * exp_aggr.adb:
11479 (Has_Default_Init_Comps): New function to check the presence of
11480 default initialization in an aggregate.
11481 (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
11482 extension aggregate of a limited record. In addition, a new formal
11483 was added to do not initialize the record controller (if any) during
11484 this recursive expansion of ancestors.
11485 (Init_Controller): Add support for limited record components.
11486 (Expand_Record_Aggregate): In case of default initialized components
11487 convert the aggregate into a set of assignments.
11488
11489 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
11490 describing the new syntax.
11491 Nothing else needed to be done because this subprogram delegates part of
11492 its work to P_Precord_Or_Array_Component_Association.
11493 (P_Record_Or_Array_Component_Association): Give support to the new
11494 syntax for default initialization of components.
11495
11496 * sem_aggr.adb:
11497 (Resolve_Aggregate): Relax the strictness of the frontend in case of
11498 limited aggregates.
11499 (Resolve_Record_Aggregate): Give support to default initialized
11500 components.
11501 (Get_Value): In case of default initialized components, duplicate
11502 the corresponding default expression (from the record type
11503 declaration). In case of default initialization in the *others*
11504 choice, do not check that all components have the same type.
11505 (Resolve_Extension_Aggregate): Give support to limited extension
11506 aggregates.
11507
11508 * sem_ch3.adb:
11509 (Check_Initialization): Relax the strictness of the front-end in case
11510 of aggregate and extension aggregates. This test is now done in
11511 Get_Value in a per-component manner.
11512
11513 * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
11514 expression corresponds to a limited aggregate. This test is now done
11515 in Get_Value.
11516
11517 * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
11518 Box_Present flag.
11519
11520 * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
11521 present in an N_Component_Association node
11522
11523 2003-11-13 Thomas Quinot <quinot@act-europe.fr>
11524
11525 * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
11526 type-conformant entry only if they are homographs.
11527
11528 2003-11-13 GNAT Script <nobody@gnat.com>
11529
11530 * Make-lang.in: Makefile automatically updated
11531
11532 2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11533
11534 * adadecode.c: Use <> form of include for ctype.h.
11535 * sysdep.c [IN_RTS]: Use <> form of include for time.h.
11536
11537 2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11538
11539 * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
11540 Works around PR middle-end/6552.
11541
11542 2003-11-10 Ed Falis <falis@gnat.com>
11543
11544 * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
11545
11546 * 5zinit.adb: (Install_Handler): Moved back to spec
11547 (Install_Signal_Handlers): Deleted
11548
11549 * 5zthrini.adb: Added context clause for System.Storage_Elements
11550 (Register): Only handles creation of taskVar; initialization moved to
11551 Thread_Body_Enter.
11552 (Reset_TSD): Deleted; replaced by Thread_Body_Enter
11553 Added declaration of environment task secondary stack and
11554 initialization.
11555
11556 * s-thread.adb: Implement bodies for thread body processing
11557
11558 * s-thread.ads:
11559 Added comment identifying supported targets for pragma Thread_Body.
11560
11561 2003-11-10 Pascal Obry <obry@gnat.com>
11562
11563 * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
11564 GNAT_MAX_PATH_LEN.
11565
11566 * s-fileio.adb:
11567 (Open): Properly check for string length before copying into the buffer.
11568 Raises Name_Error if buffer is too small. Note that this was a potential
11569 buffer overflow.
11570
11571 2003-11-10 Romain Berrendonner <berrendo@act-europe.fr>
11572
11573 * bindgen.adb, comperr.adb: Code clean ups.
11574 * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
11575
11576 2003-11-10 Sergey Rybin <rybin@act-europe.fr>
11577
11578 * gnat1drv.adb: Add call to Sem_Elim.Initialize.
11579
11580 2003-11-10 Vincent Celier <celier@gnat.com>
11581
11582 * gprcmd.adb:
11583 (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
11584 installation.
11585
11586 * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
11587
11588 * prj.adb: (Project_Empty): Add new boolean component Virtual
11589
11590 * prj.ads: (Virtual_Prefix): New constant string
11591 (Project_Data): New boolean component Virtual
11592
11593 * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
11594 a library project is extended by a virtual extending project.
11595
11596 * prj-part.adb:
11597 Modifications throughout to implement extending-all project, including:
11598 (Virtual_Hash, Processed_Hash): New hash tables
11599 (Create_Virtual_Extending_Project): New procedure
11600 (Look_For_Virtual_Projects_For): New procedure
11601
11602 * prj-proc.adb:
11603 (Process): After checking the projects, if main project is an
11604 extending-all project, set the object directory of all virtual extending
11605 project to the object directory of the main project.
11606 Adjust error message when a virtual extending project has the same
11607 object directory as an project being extended.
11608 (Recursive_Process): If name starts with the virtual prefix, set Virtual
11609 to True in the project data.
11610
11611 * prj-tree.adb:
11612 (Default_Project_Node): Add new boolean component Extending_All
11613 (Is_Extending_All): New function
11614 (Set_Is_Extending_All): New procedure
11615
11616 * prj-tree.ads: (Is_Extending_All): New function
11617 (Set_Is_Extending_All): New procedure
11618 (Project_Node_Record): New boolean component Extending_All
11619
11620 * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
11621
11622 * vms_data.ads:
11623 Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
11624
11625 * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
11626 "gprcmd prefix" to define it.
11627
11628 2003-11-10 Thomas Quinot <quinot@act-europe.fr>
11629
11630 * einfo.ads: Fix a typo and remove an extraneous word in comments.
11631
11632 * lib-load.adb:
11633 (Create_Dummy_Package_Unit): Set the scope of the entity for the
11634 created dummy package to Standard_Standard, not to itself, to
11635 defend other parts of the front-end against encoutering a cycle in
11636 the scope chain.
11637
11638 * sem_ch10.adb:
11639 (Analyze_With_Clause): When setting the entities for the successive
11640 N_Expanded_Names that constitute the name of a child unit, do not
11641 attempt to go further than Standard_Standard in the chain of scopes.
11642 This case arises from the placeholder units created by
11643 Create_Dummy_Package_Unit in the case of a with_clause for a
11644 nonexistent child unit.
11645
11646 2003-11-10 Ed Schonberg <schonberg@gnat.com>
11647
11648 * exp_ch6.adb:
11649 (Expand_Thread_Body): Place subprogram on scope stack, so that new
11650 declarations are given the proper scope.
11651
11652 * sem_ch13.adb:
11653 (Check_Expr_Constants): Reject an expression that contains a constant
11654 created during expansion, and that appears after the object to which
11655 the address clause applies.
11656
11657 * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
11658 Analyze_Iteration_Scheme, to rewrite a loop parameter specification
11659 that uses 'Range of a function call with controlled components, so
11660 that the function result can be finalized before starting the loop.
11661
11662 * sem_ch8.adb:
11663 (Find_Selected_Component): Improve error message when prefix is
11664 an implicit dereference of an incomplete type.
11665
11666 2003-11-10 Robert Dewar <dewar@gnat.com>
11667
11668 * opt.ads: New Print_Standard flag for -gnatS switch
11669
11670 * sem_ch13.adb: Remove some additional checks for unaligned arrays
11671
11672 * cstand.adb (Create_Standard): Print out package standard if -gnatS
11673 switch set
11674
11675 * debug.adb: Update doc for -gnatds to discuss relationship with new
11676 -gnatS flag
11677
11678 * sinfo.adb: Add new field Entity_Or_Associated_Node
11679
11680 * sinfo.ads: Add new field Entity_Or_Associated_Node
11681 Update documentation for Associated_Node and Entity fields to clarify
11682 relationship and usage.
11683
11684 * sprint.adb:
11685 (Write_Id): Properly process Associated_Node field in generic template
11686
11687 * switch-c.adb:
11688 Recognize new -gnatS switch for printing package Standard
11689 This replaces gnatpsta
11690
11691 * usage.adb:
11692 Add line for new -gnatS switch for printing package Standard
11693 This replaces gnatpsta
11694
11695 2003-11-10 Andreas Jaeger <aj@suse.de>
11696
11697 * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
11698 integer.
11699
11700 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
11701
11702 * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
11703 by gnat1.
11704
11705 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
11706
11707 * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
11708 no longer needed.
11709
11710 * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
11711
11712 * sysdep.c: Add handling of cygwin.
11713
11714 2003-11-10 GNAT Script <nobody@gnat.com>
11715
11716 * Make-lang.in: Makefile automatically updated
11717
11718 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
11719
11720 PR 12950
11721 * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
11722 functions. Used to handle dynamic prefix relocation, via set_std_prefix.
11723 Replace GNAT_ROOT by GCC_ROOT.
11724
11725 * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
11726
11727 2003-11-06 Zack Weinberg <zack@codesourcery.com>
11728
11729 * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
11730 and update for changed meaning of GET_MODE_BITSIZE.
11731
11732 2003-11-04 Doug Rupp <rupp@gnat.com>
11733
11734 * sysdep.c: Problem discovered during IA64 VMS port.
11735 [VMS] #include <unixio.h> to get proper prototypes.
11736
11737 * adaint.c:
11738 Issues discovered/problems fixed during IA64 VMS port.
11739 [VMS] #define _POSIX_EXIT for proper semantics.
11740 [VMS] #include <unixio.h> for proper prototypes.
11741 [VMS] (fork): #define IA64 version.
11742 (__gnat_os_exit): Remove unnecessary VMS specific code.
11743
11744 2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11745
11746 Part of PR ada/12806
11747
11748 * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
11749 tree, not integer.
11750
11751 * decl.c:
11752 (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
11753 not integer.
11754
11755 * targtyps.c, decl.c, misc.c,
11756 gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
11757 routines to work around change in FP sizing semantics in GCC.
11758
11759 * utils.c:
11760 (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
11761
11762 * gigi.h: (enumerate_modes): New function.
11763
11764 * Make-lang.in: (ada/misc.o): Add real.h.
11765
11766 * misc.c: (enumerate_modes): New function.
11767
11768 2003-11-04 Robert Dewar <dewar@gnat.com>
11769
11770 * 3vtrasym.adb: Minor reformatting
11771 Use terminology encoded/decoded name, rather than C++ specific notion
11772 of mangling (this is the terminology used throughout GNAT).
11773
11774 * einfo.h: Regenerated
11775
11776 * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
11777
11778 * exp_ch6.adb:
11779 (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
11780
11781 * par-prag.adb: Add dummy entry for Thread_Body pragma
11782
11783 * rtsfind.ads:
11784 Add entries for System.Threads entities for thread body processing
11785
11786 * sem_attr.adb:
11787 (Analyze_Pragma, Access attributes): Check these are not applied to a
11788 thread body, since this is not permitted
11789
11790 * sem_prag.adb: Add processing for Thread_Body pragma.
11791 Minor comment fix.
11792
11793 * sem_res.adb:
11794 (Resolve_Call): Check for incorrect attempt to call a thread body
11795 procedure with a direct call.
11796
11797 * snames.ads, snames.adb: Add entry for Thread_Body pragma
11798 Add names associated with thread body expansion
11799
11800 * snames.h: Add entry for Thread_Body pragma
11801
11802 * s-thread.adb: Add entries for thread body processing
11803 These are dummy bodies so far
11804
11805 * s-thread.ads: Add documentation on thread body handling.
11806 Add entries for thread body processing.
11807
11808 2003-11-04 Javier Miranda <miranda@gnat.com>
11809
11810 * sem_ch10.adb:
11811 (Build_Limited_Views): Return after posting an error in case of limited
11812 with_clause on subprograms, generics, instances or generic renamings
11813 (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
11814 on subprograms, generics, instances or generic renamings
11815
11816 2003-11-04 Arnaud Charlet <charlet@act-europe.fr>
11817
11818 * raise.c (setup_to_install): Correct mistake in last revision; two
11819 arguments out of order.
11820
11821 * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
11822 gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
11823 notice, missed in previous change.
11824 Remove trailing blanks and other style errors introduced in previous
11825 change.
11826
11827 2003-11-04 Olivier Hainque <hainque@act-europe.fr>
11828
11829 * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
11830 rid of the wrapper for a LJM type, ensuring we don't do that if the
11831 field is addressable. This avoids potential low level type view
11832 mismatches later on, for instance in a by-reference argument passing
11833 process.
11834
11835 2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11836
11837 * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
11838 aligned at byte boundary.
11839
11840 2003-11-04 Joel Brobecker <brobecker@gnat.com>
11841
11842 * decl.c (components_to_record): Do not delete the empty variants from
11843 the end of the union type.
11844
11845 2003-11-04 Ed Schonberg <schonberg@gnat.com>
11846
11847 * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
11848 operation for a derived type, an explicit declaration may use a local
11849 subtype of Boolean.
11850
11851 2003-11-04 Vincent Celier <celier@gnat.com>
11852
11853 * make.adb (Gnatmake): Allow main sources on the command line with a
11854 library project when it is only for compilation (no binding or
11855 linking).
11856
11857 2003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11858
11859 * Makefile.in: Remove many duplicate variables.
11860
11861 2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
11862
11863 * Make-lang.in (dvi): Move targets to $(docobjdir).
11864 (gnat_ug_vms.dvi): Simplify rule and adjust target.
11865 (gnat_ug_wnt.dvi): Likewise.
11866 (gnat_ug_unx.dvi): Likewise.
11867 (gnat_ug_vxw.dvi): Likewise.
11868 (gnat_rm.dvi): Likewise.
11869 (gnat-style.dvi): Likewise.
11870
11871 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
11872
11873 * gigi.h: Missed commit from update for C90.
11874
11875 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
11876
11877 * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
11878
11879 2003-10-31 Andreas Schwab <schwab@suse.de>
11880
11881 * raise.c (get_action_description_for): Fix typo in last change.
11882
11883 2003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
11884
11885 PR ada/12761
11886 * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
11887 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
11888
11889 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
11890
11891 * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
11892 ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
11893 gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
11894 sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
11895 trans.c, utils.c, utils2.c: Convert function prototypes to C90.
11896
11897 2003-10-30 Vasiliy Fofanov <fofanov@act-europe.fr>
11898
11899 * 3vtrasym.adb:
11900 Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
11901 numbers when symbol name is too long.
11902
11903 2003-10-30 Ed Falis <falis@gnat.com>
11904
11905 * g-signal.ads, g-signal.adb: New files
11906
11907 * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
11908
11909 * Makefile.rtl: Introduce GNAT.Signals
11910
11911 2003-10-30 Robert Dewar <dewar@gnat.com>
11912
11913 * freeze.adb: Minor reformatting
11914
11915 * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
11916
11917 * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
11918 par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
11919 New handling of Id_Check parameter to improve recognition of keywords
11920 used as identifiers.
11921 Update copyright notice to include 2003
11922
11923 2003-10-29 Robert Dewar <dewar@gnat.com>
11924
11925 * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
11926 sem_ch10.adb: Minor reformatting
11927
11928 * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
11929 (Expand_Assign_Record): Test right hand side for bit unaligned as well
11930
11931 2003-10-29 Vasiliy Fofanov <fofanov@act-europe.fr>
11932
11933 * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
11934 Support for TBK$SYMBOLIZE-based symbolic traceback.
11935
11936 2003-10-29 Jose Ruiz <ruiz@act-europe.fr>
11937
11938 * exp_disp.adb:
11939 Revert previous change, that did not work well when pragma No_Run_Time
11940 was used in conjunction with a run-time other than ZFP.
11941
11942 2003-10-29 Vincent Celier <celier@gnat.com>
11943
11944 * make.adb:
11945 (Gnatmake): When there are no Ada mains in attribute Main, disable the
11946 bind and link steps only is switch -z is not used.
11947
11948 2003-10-29 Arnaud Charlet <charlet@act-europe.fr>
11949
11950 * Makefile.generic: Remove duplicated setting of CC.
11951
11952 * Makefile.prolog: Set CC to gcc by default, to override make's
11953 default (cc).
11954
11955 * einfo.h: Regenerated.
11956
11957 2003-10-29 Ed Schonberg <schonberg@gnat.com>
11958
11959 * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
11960 current body, after compiling subunit.
11961
11962 * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
11963 when in deleted code, because gigi needs properly ordered freeze
11964 actions to annotate types.
11965
11966 * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
11967 prevent the premature freezing of record type that contains
11968 subcomponents with a private type that does not yet have a completion.
11969
11970 2003-10-29 Javier Miranda <miranda@gnat.com>
11971
11972 * sem_ch12.adb:
11973 (Analyze_Package_Instantiation): Check that instances can not be used in
11974 limited with_clauses.
11975
11976 * sem_ch8.adb:
11977 (Analyze_Package_Renaming): Check that limited withed packages cannot
11978 be renamed. Improve text on error messages related to limited
11979 with_clauses.
11980
11981 * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
11982
11983 * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
11984 Update copyright notice.
11985
11986 * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
11987 (Install_Limited_Context_Clauses): New subprogram that isolates all the
11988 checks required for limited context_clauses and installs the limited
11989 view.
11990 (Install_Limited_Withed_Unit): Complete its documentation.
11991 (Analyze_Context): Check that limited with_clauses are only allowed in
11992 package specs.
11993 (Install_Context): Call Install_Limited_Context_Clauses after the
11994 parents have been installed.
11995 (Install_Limited_Withed_Unit): Add documentation. Mark the installed
11996 package as 'From_With_Type'; this mark indicates that the limited view
11997 is installed. Used to check bad usages of limited with_clauses.
11998 (Build_Limited_Views): Do not add shadow entities to the scope's list
11999 of entities. Do not add real entities to the Non_Limited_Views chain.
12000 Improve error notification.
12001 (Remove_Context_Clauses): Remove context clauses in two phases:
12002 limited views first and regular views later (to maintain the
12003 stack model).
12004 (Remove_Limited_With_Clause): If the package is analyzed then reinstall
12005 its visible entities.
12006
12007 2003-10-29 Thomas Quinot <quinot@act-europe.fr>
12008
12009 * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
12010 with any type that Is_Fixed_Point_Type.
12011
12012 * sinfo.ads: Fix documentation for Associated_Node attribute.
12013
12014 2003-10-29 Sergey Rybin <rybin@act-europe.fr>
12015
12016 * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
12017 both '-gnatc' and '-gnatt' are specified.
12018
12019 * atree.adb (Initialize): Add initialization for Node_Count (set to
12020 zero).
12021
12022 2003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12023
12024 * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
12025 do not consider as Pure.
12026
12027 Part of implementation of function-at-a-time:
12028
12029 * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
12030 (tree_transform): Add new argument to build_component_ref.
12031 (tree_transform, case N_Assignment_Statement): Make and return an
12032 EXPR_STMT.
12033 (tree_transform): If result IS_STMT, set flags and return it.
12034 (gnat_expand_stmt, set_lineno_from_sloc): New functions.
12035
12036 * utils2.c (build_simple_component_ref, build_component_ref): Add new
12037 arg, NO_FOLD_P.
12038 (build_binary_op, case EQ_EXPR): Pass additional arg to it.
12039 (build_allocator): Likewise.
12040
12041 * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
12042 Add new arg to build_component_ref.
12043 (maybe_unconstrained_array, unchecked_convert): Likewise.
12044
12045 * ada-tree.def (EXPR_STMT): New code.
12046
12047 * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
12048
12049 * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
12050 build_component_ref calls.
12051
12052 * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
12053
12054 * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
12055 (build_component_ref): Add new argument, NO_FOLD_P.
12056
12057 2003-10-27 Arnaud Charlet <charlet@act-europe.fr>
12058
12059 * Makefile.generic: Add missing substitution on object_deps handling.
12060
12061 PR ada/5909:
12062 * Make-lang.in (check-ada): Enable ACATS test suite.
12063
12064 2003-10-27 Robert Dewar <dewar@gnat.com>
12065
12066 * exp_ch3.adb:
12067 (Freeze_Array_Type): We do not need an initialization routine for types
12068 derived from String or Wide_String. They should be treated the same
12069 as String and Wide_String themselves. This caused problems with the
12070 use of Initialize_Scalars.
12071
12072 * exp_ch5.adb:
12073 (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
12074 composites. This allows use of component clauses that are not byte
12075 aligned.
12076
12077 * sem_prag.adb:
12078 (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
12079 is an attempt to pack an array of atomic objects.
12080
12081 * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
12082
12083 2003-10-27 Pascal Obry <obry@gnat.com>
12084
12085 * g-dirope.adb:
12086 (Basename): Check for drive letters in a pathname only on DOS based OS.
12087
12088 2003-10-27 Vincent Celier <celier@gnat.com>
12089
12090 * make.adb:
12091 (Gnatmake): When unable to change dir to the object dir, display the
12092 content of the parent dir of the obj dir, to try to understand why this
12093 happens.
12094
12095 2003-10-27 GNAT Script <nobody@gnat.com>
12096
12097 * Make-lang.in: Makefile automatically updated
12098
12099 2003-10-27 Ed Schonberg <schonberg@gnat.com>
12100
12101 * sem_ch12.adb:
12102 (Inline_Instance_Body): Indicate that the save/restore of use_clauses
12103 should not be done in Save/Restore_Scope_Stack, because it is performed
12104 locally.
12105
12106 * sem_ch8.adb:
12107 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
12108 whether use clauses should be removed/restored.
12109
12110 * sem_ch8.ads:
12111 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
12112 whether use clauses should be removed/restored.
12113
12114 2003-10-26 Andreas Jaeger <aj@suse.de>
12115
12116 * Makefile.in: Remove duplicated lines.
12117
12118 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
12119
12120 * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
12121 minimize the differences with ACT tree.
12122
12123 * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
12124 gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
12125 Gnatvsn.Gnat_Static_Version_String to reduce differences between
12126 ACT and FSF trees.
12127
12128 2003-10-24 Pascal Obry <obry@gnat.com>
12129
12130 * adadecode.c (ostrcpy): New function.
12131 (__gnat_decode): Use ostrcpy of strcpy.
12132 (has_prefix): Set first parameter a const.
12133 (has_suffix): Set first parameter a const.
12134 Update copyright notice. Fix source name in header.
12135 Removes a trailing space.
12136 PR ada/12014.
12137
12138 2003-10-24 Jose Ruiz <ruiz@act-europe.fr>
12139
12140 * exp_disp.adb:
12141 Remove the test against being in No_Run_Time_Mode before generating a
12142 call to Register_Tag. It is redundant with the test against the
12143 availability of the function Register_Tag.
12144
12145 2003-10-24 Vincent Celier <celier@gnat.com>
12146
12147 * g-catiio.adb: (Month_Name): Correct spelling of February
12148
12149 * make.adb: (Mains): New package
12150 (Initialize): Call Mains.Delete
12151 (Gnatmake): Check that each main on the command line is a source of a
12152 project file and, if there are several mains, each of them is a source
12153 of the same project file.
12154 (Gnatmake): When a foreign language is specified in attribute Languages,
12155 no main is specified on the command line and attribute Mains is not
12156 empty, only build the Ada main. If there is no Ada main, just compile
12157 the Ada sources and their closure.
12158 (Gnatmake): If a main is specified on the command line with directory
12159 information, check that the source exists and, if it does, that the path
12160 is the actual path of a source of a project.
12161
12162 * prj-env.adb:
12163 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
12164 Full_Path is True, return the full path instead of the simple file name.
12165 (Project_Of): New function
12166
12167 * prj-env.ads:
12168 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
12169 defaulted to False.
12170 (Project_Of): New function
12171
12172 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
12173
12174 * Makefile.generic:
12175 Ensure objects of main project are always checked and rebuilt if needed.
12176 Set CC to gcc by default.
12177 Prepare new handling of link by creating a global archive (not activated
12178 yet).
12179
12180 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
12181 stringt.h: Update copyright notice. Remove trailing blanks.
12182 Fix source name in header.
12183
12184 2003-10-24 Robert Dewar <dewar@gnat.com>
12185
12186 * sem_ch12.adb: Minor reformatting
12187
12188 * sem_ch3.adb:
12189 Minor reformatting (including new function return style throughout)
12190
12191 * sem_ch3.ads:
12192 Minor reformatting (including new function return style throughout)
12193
12194 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
12195
12196 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
12197 stringt.h: Update copyright notice. Remove trailing blanks.
12198 Fix source name in header.
12199
12200 2003-10-24 GNAT Script <nobody@gnat.com>
12201
12202 * Make-lang.in: Makefile automatically updated
12203
12204 2003-10-23 Nathanael Nerode <neroden@gcc.gnu.org>
12205
12206 * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
12207 stringt.h: Convert to ISO C90 declarations and definitions.
12208
12209 2003-10-23 Thomas Quinot <quinot@act-europe.fr>
12210
12211 PR ada/11978:
12212 * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
12213 External_Tag attribute definition clauses.
12214
12215 2003-10-23 Ed Schonberg <schonberg@gnat.com>
12216
12217 PR ada/7613:
12218 * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
12219 child unit, generate a fully qualified name to avoid spurious errors
12220 when the context contains renamings of different child units with
12221 the same simple name.
12222
12223 * exp_dbug.ads: Add documentation on name qualification for renamings
12224 of child units.
12225
12226 2003-10-23 Robert Dewar <dewar@gnat.com>
12227
12228 * g-regpat.ads, g-regpat.adb: Minor reformatting
12229
12230 2003-10-23 Jose Ruiz <ruiz@act-europe.fr>
12231
12232 * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
12233
12234 2003-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12235
12236 * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
12237 Machine call.
12238
12239 * urealp.h: (Machine): Update to proper definition.
12240
12241 2003-10-23 Arnaud Charlet <charlet@act-europe.fr>
12242
12243 * init.c, adaint.c: Minor reformatting.
12244
12245 2003-10-23 Danny Smith <dannysmith@users.sourceforge.net>
12246
12247 * adaint.c (w32_epoch_offset): Define static const at file level.
12248 (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
12249 rather than t_create, t_access in call to GetFileTime. Use union
12250 to convert between FILETIME and unsigned long long.
12251 (__gnat_file_time_name): Test for invalid file handle.
12252 (__gnat_set_filetime_name): Support win32 targets using
12253 w32api SetFileTime.
12254
12255 2003-10-22 Danny Smith <dannysmith@users.sourceforge.net>
12256
12257 * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
12258
12259 * ctrl_c.c (__gnat_int_handler): Remove declaration.
12260
12261 * decl.c (creat_concat_name): Const-ify prefix.
12262
12263 * adaint.c: Include ctype.h if __MINGW32__.
12264 (__gnat_readlink): Mark arguments as possibly unused.
12265 (__gnat_symlink): Likewise.
12266 (__gnat_is_symbolic_link): Likewise.
12267 (__gnat_portable_spawn): Likewise. Cast last arg of spawnvp to match
12268 declaration
12269 (__gnat_file_time_name): Don't declare struct stat statbuf when
12270 not needed.
12271 (__gnat_is_absolute_path): Add parenthesis around condition of
12272 'if' statement to avoid warning.
12273 (__gnat_plist_init): Specify void as parameter.
12274 (plist_enter): Likewise.
12275 (plist_leave): Likewise.
12276 (remove_handle): Make static. Initialize prev.
12277
12278 2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
12279
12280 * Makefile.in: Disable build of gnatpsta. PR ada/10110.
12281 * cstreams.c (__gnat_full_name): Minor improvements and clean up
12282 of previous change.
12283
12284 2003-10-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12285
12286 * tracebak.c (MAX): Avoid redefinition warning.
12287
12288 * init.c [sgi] (__gnat_error_handler): Remove i, unused.
12289 Change msg to const char *.
12290 (__gnat_install_handler): Remove ss, unused.
12291 [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
12292 to const char *.
12293 * cstreams.c (__gnat_full_name): Declare p only when used.
12294 (__gnat_full_name) [sgi] Return buffer.
12295
12296 2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
12297
12298 * mingw32.h: New file.
12299 * gnat_wrapper.adb: New file.
12300
12301 2003-10-22 Jerome Roussel <roussel@act-europe.fr>
12302
12303 * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
12304 string match a pre compiled regular expression (the corresponding
12305 version of the function working on a raw regular expression)
12306 Fix typos in various comments
12307 Update copyright notice in spec
12308
12309 2003-10-21 Gary Dismukes <dismukes@gnat.com>
12310
12311 * exp_ch3.adb:
12312 (Component_Needs_Simple_Initialization): Return False when the type is a
12313 packed bit array. Revise spec comments to document this case.
12314
12315 * exp_prag.adb:
12316 (Expand_Pragma_Import): Set any expression on the imported object to
12317 empty to avoid initializing imported objects (in particular this
12318 covers the case of zero-initialization of bit arrays).
12319 Update copyright notice.
12320
12321 2003-10-21 Ed Schonberg <schonberg@gnat.com>
12322
12323 * sem_ch12.adb:
12324 (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
12325 a subunit is missing.
12326 (Instantiate_Subprogram_Body): If body of function is missing, set type
12327 of return expression explicitly in dummy body, to prevent cascaded
12328 errors when a subunit is missing.
12329 Fixes PR 5677.
12330
12331 * sem_ch3.adb:
12332 (Access_Subprogram_Declaration): Verify that return type is valid.
12333 Fixes PR 8693.
12334
12335 * sem_elab.adb:
12336 (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
12337 generic.
12338 Fixes PR 12318.
12339
12340 * sem_util.adb:
12341 (Corresponding_Discriminant): If the scope of the discriminant is a
12342 private type without discriminant, use its full view.
12343 Fixes PR 8247.
12344
12345 2003-10-21 Arnaud Charlet <charlet@act-europe.fr>
12346
12347 * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
12348 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
12349 3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
12350 55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
12351 56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
12352 59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
12353 5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
12354 5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
12355 5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
12356 5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
12357 5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
12358 5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
12359 5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
12360 5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
12361 7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
12362 a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
12363 a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
12364 a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
12365 bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
12366 erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
12367 err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
12368 g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
12369 g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
12370 g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
12371 g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
12372 g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
12373 g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
12374 gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
12375 g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
12376 g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
12377 i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
12378 prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
12379 prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
12380 s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
12381 s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
12382 s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
12383 s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
12384 s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
12385 s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
12386 s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
12387 s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
12388 socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
12389 s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
12390 s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
12391 s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
12392 styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
12393 s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
12394 tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
12395 vms_conv.ads, vms_conv.adb, vms_data.ads,
12396 vxaddr2line.adb: Files added. Merge with ACT tree.
12397
12398 * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
12399 5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
12400 5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
12401 5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
12402 g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
12403 s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
12404 s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
12405 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
12406 s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
12407 s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
12408
12409 * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
12410 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
12411 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
12412 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
12413 4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
12414 4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
12415 4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
12416 4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
12417 51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
12418 53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
12419 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
12420 5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
12421 5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
12422 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
12423 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
12424 5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
12425 5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
12426 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
12427 5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
12428 5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
12429 5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
12430 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
12431 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
12432 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
12433 5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
12434 5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
12435 5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
12436 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
12437 5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
12438 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
12439 5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
12440 5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
12441 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
12442 5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
12443 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
12444 7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
12445 7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
12446 a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
12447 a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
12448 a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
12449 a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
12450 a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
12451 ali.adb, ali.ads, ali-util.adb, ali-util.ads,
12452 a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
12453 a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
12454 a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
12455 a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
12456 a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
12457 a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
12458 a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
12459 a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
12460 a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
12461 a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
12462 a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
12463 a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
12464 atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
12465 a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
12466 a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
12467 bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
12468 checks.adb, checks.ads, cio.c, comperr.adb,
12469 comperr.ads, csets.adb, cstand.adb, cstreams.c,
12470 debug_a.adb, debug_a.ads, debug.adb, decl.c,
12471 einfo.adb, einfo.ads, errout.adb, errout.ads,
12472 eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
12473 expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
12474 exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
12475 exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
12476 exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
12477 exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
12478 exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
12479 exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
12480 exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
12481 fe.h, fmap.adb, fmap.ads, fname.adb,
12482 fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
12483 freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
12484 g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
12485 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
12486 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
12487 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
12488 g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
12489 g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
12490 g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
12491 g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
12492 g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
12493 g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
12494 g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
12495 g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
12496 gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
12497 gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
12498 gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
12499 gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
12500 gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
12501 g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
12502 g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
12503 g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
12504 g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
12505 g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
12506 g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
12507 g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
12508 g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
12509 i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
12510 i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
12511 inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
12512 itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
12513 layout.adb, lib.adb, lib.ads, lib-list.adb,
12514 lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
12515 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
12516 link.c, live.adb, make.adb, make.ads,
12517 Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
12518 mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
12519 mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
12520 misc.c, mkdir.c, mlib.adb, mlib.ads,
12521 mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
12522 mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
12523 namet.adb, namet.ads, namet.h, nlists.ads,
12524 nlists.h, nmake.adt, opt.adb, opt.ads,
12525 osint.adb, osint.ads, osint-b.adb, osint-c.adb,
12526 par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
12527 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
12528 par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
12529 par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
12530 prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
12531 prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
12532 prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
12533 prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
12534 prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
12535 prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
12536 prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
12537 prj-util.adb, prj-util.ads, raise.c, raise.h,
12538 repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
12539 rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
12540 s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
12541 s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
12542 scans.ads, scn.adb, scn.ads, s-crc32.adb,
12543 s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
12544 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
12545 sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
12546 sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
12547 sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
12548 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
12549 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
12550 sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
12551 sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
12552 sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
12553 sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
12554 sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
12555 s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
12556 s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
12557 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
12558 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
12559 s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
12560 s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
12561 s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
12562 sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
12563 sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
12564 sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
12565 s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
12566 s-memory.adb, s-memory.ads, snames.adb, snames.ads,
12567 snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
12568 s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
12569 s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
12570 s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
12571 s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
12572 s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
12573 s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
12574 s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
12575 s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
12576 s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
12577 s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
12578 s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
12579 s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
12580 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
12581 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
12582 s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
12583 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
12584 stringt.adb, stringt.ads, stringt.h, style.ads,
12585 stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
12586 s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
12587 s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
12588 switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
12589 s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
12590 table.adb, table.ads, targparm.adb, targparm.ads,
12591 targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
12592 trans.c, tree_io.adb, treepr.adb, treeprs.adt,
12593 ttypes.ads, types.ads, types.h, uintp.adb,
12594 uintp.ads, uintp.h, uname.adb, urealp.adb,
12595 urealp.ads, urealp.h, usage.adb, utils2.c,
12596 utils.c, validsw.adb, validsw.ads, widechar.adb,
12597 xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
12598 xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
12599 einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
12600 gnatvsn.ads: Merge with ACT tree.
12601
12602 * gnatvsn.adb: Rewritten in a simpler and more efficient way.
12603
12604 2003-10-20 Mark Mitchell <mark@codesourcery.com>
12605
12606 * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
12607 (gnat_ug_vmx.info): Likewise.
12608 (gnat_ug_vxw.info): Likewise.
12609 (gnat_ug_wnt.info): Likewise.
12610 (gnat_rm.info): Likewise.
12611 (gnat-style.info): Likewise.
12612
12613 * Make-lang.in (ada.install-info): Remove target.
12614 (info): New target.
12615 (install-info): Likewise.
12616 (gnat_ug_unx.info): Simplify rule.
12617 (gnat_ug_vmx.info): Likewise.
12618 (gnat_ug_vxw.info): Likewise.
12619 (gnat_ug_wnt.info): Likewise.
12620 (gnat_rm.info): Likewise.
12621 (gnat-style.info): Likewise.
12622
12623 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
12624
12625 * Make-lang.in: Replace uses of $(target_alias) with
12626 $(target_noncanonical).
12627 * ada/Makefile.in: Remove unused mention of $(target_alias).
12628
12629 2003-10-06 Mark Mitchell <mark@codesourcery.com>
12630
12631 * Make-lang.in (ada.info): Replace with ...
12632 (info): ... this.
12633 (ada.dvi): Replace with ...
12634 (dvi): ... this.
12635
12636 2003-09-29 Zack Weinberg <zack@codesourcery.com>
12637
12638 * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
12639 initialize dconstp5 and dconstmp5.
12640
12641 2003-09-28 Richard Henderson <rth@redhat.com>
12642
12643 * trans.c (tree_transform): Update call to expand_asm_operands.
12644
12645 2003-09-21 Richard Henderson <rth@redhat.com>
12646
12647 * trans.c, utils.c: Revert.
12648
12649 2003-09-21 Richard Henderson <rth@redhat.com>
12650
12651 * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
12652 change to const.
12653
12654 2003-09-04 Michael Matz <matz@suse.de>
12655
12656 * misc.c: Include "target.h".
12657 * Make-lang.in (misc.o): Add dependency on target.h.
12658
12659 2003-09-03 DJ Delorie <dj@redhat.com>
12660
12661 * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
12662 hook.
12663
12664 2003-08-30 Zack Weinberg <zack@codesourcery.com>
12665
12666 * Makefile.in: Update substitutions to match changes to
12667 configure. Use include directives instead of @-insertions
12668 to read in host and target fragments. Add a rule to
12669 regenerate ada/Makefile.
12670
12671 2003-07-18 Neil Booth <neil@daikokuya.co.uk>
12672
12673 * lang-options.h: Remove.
12674 * lang.opt: Add help text.
12675
12676 2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
12677
12678 * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
12679 calls.
12680
12681 2003-07-06 Neil Booth <neil@daikokuya.co.uk>
12682
12683 * misc.c (gnat_handle_option): Don't handle filenames.
12684
12685 2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
12686
12687 * Make-lang.in: Replace PWD with PWD_COMMAND.
12688 * Makefile.adalib: Likewise.
12689 * Makefile.in: Likewise.
12690
12691 2003-07-04 Matt Kraai <kraai@alumni.cmu.edu>
12692
12693 * misc.c (gnat_argv): Revert last change.
12694 (gnat_handle_option, gnat_init_options): Copy arguments.
12695
12696 2003-07-03 Neil Booth <neil@daikokuya.co.uk>
12697
12698 * misc.c (gnat_argv): Make const.
12699
12700 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
12701
12702 * misc.c (save_argc, save_argv): Keep non-static!
12703
12704 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
12705
12706 * misc.c (save_argc, save_argv): Make static.
12707 (gnat_init_options): New prototype.
12708 (gnat_init_options): Update.
12709
12710 2003-07-01 Matt Kraai <kraai@alumni.cmu.edu>
12711
12712 * gnat_ug.texi: Remove unlikely characters from @vars.
12713 * gnat_ug_vms.texi: Regenerate.
12714
12715 2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
12716
12717 * misc.c (record_code_position): Adjust emit_note call.
12718
12719 2003-06-26 Neil Booth <neil@daikokuya.co.uk>
12720
12721 * misc.c (gnat_handle_option): Don't check for missing arguments.
12722
12723 2003-06-20 Nathan Sidwell <nathan@codesourcery.com>
12724
12725 * utils.c (end_subprog_body): Adjust expand_function_end call.
12726
12727 2003-06-16 Matt Kraai <kraai@alumni.cmu.edu>
12728
12729 * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
12730 Bind_Main_Program.
12731
12732 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
12733
12734 * lang.opt: Declare Ada.
12735 * misc.c (gnat_init_options): Update.
12736
12737 2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
12738
12739 * utils.c (begin_subprog_body): Adjust init_function_start call.
12740
12741 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
12742
12743 * Make-lang.in: Update to use options.c and options.h.
12744 * misc.c: Include options.h not aoptions.h.
12745 (gnat_handle_option): Abort on unrecognized switch.
12746 (gnat_init_options): Request Ada switches.
12747
12748 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
12749
12750 * lang.opt: Add -Wall.
12751 * misc.c (gnat_handle_option): Handle it.
12752
12753 2003-06-12 Neil Booth <neil@daikokuya.co.uk>
12754
12755 * misc.c (gnat_handle_option): Fix warnings.
12756
12757 2003-06-11 Matt Kraai <kraai@alumni.cmu.edu>
12758
12759 * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
12760
12761 2003-06-11 Neil Booth <neil@daikokuya.co.uk>
12762
12763 * Make-lang.in: Update to handle command-line options.
12764 * lang.opt: New file.
12765 * misc.c: Include aoptions.h.
12766 (cl_options_count, cl_options): Remove.
12767 (gnat_handle_option): New.
12768 (gnat_decode_option): Remove.
12769 (LANG_HOOKS_DECODE_OPTION): Remove.
12770 (LANG_HOOKS_HANDLE_OPTION): Override.
12771
12772 2003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
12773
12774 * init.c, misc.c, trans.c, utils.c: Remove dead code.
12775
12776 2003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
12777
12778 * Makefile.in: Replace "host_canonical" with "host" for autoconf
12779 substitution.
12780
12781 2003-06-08 Neil Booth <neil@daikokuya.co.uk>
12782
12783 * Make-lang.in: Update.
12784 * misc.c: Include opts.h. Define cl_options_count and cl_options.
12785
12786 2003-06-07 Neil Booth <neil@daikokuya.co.uk>
12787
12788 * misc.c (gnat_init_options): Update.
12789
12790 2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
12791
12792 * Make-lang.in (ada/b_gnatb.o-warn): Remove.
12793 * bindgen.adb (Gen_Main_C): Mark ensure_reference with
12794 __attribute__ ((__unused__)).
12795
12796 2003-06-05 Jan Hubicka <jh@suse.cz>
12797
12798 * Make-lang.in: Add support for stageprofile and stagefeedback
12799
12800 2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
12801
12802 * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
12803 (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
12804
12805 2003-06-04 Matt Kraai <kraai@alumni.cmu.edu>
12806
12807 * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
12808 Remove non-VMS directive.
12809 (Switches for gnatlbr, Optimization Levels): Remove non-VMS
12810 alternatives.
12811 (Examples of gnatls Usage): Remove VMS alternative.
12812
12813 2003-06-04 Olivier Hainque <hainque@act-europe.fr>
12814
12815 PR ada/9953:
12816 * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
12817 and turn ZCX_By_Default back to False since the underlying support
12818 is not quite there yet.
12819
12820 2003-06-01 Andreas Jaeger <aj@suse.de>
12821
12822 * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
12823 and ROUND_TYPE_SIZE_UNIT.
12824
12825 2003-05-22 Geert Bosch <bosch@gnat.com>
12826
12827 * gnat_rm.texi : Remove reference to Ada Core Technologies.
12828
12829 2003-05-03 Nathan Sidwell <nathan@codesourcery.com>
12830
12831 * trans.c (tree_transform): Use location_t and input_location
12832 directly.
12833 (build_unit_elab): Likewise.
12834 * utils.c (create_label_decl): Likewise.
12835
12836 2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
12837
12838 * trans.c (tree_transform, build_unit_elab,
12839 set_lineno): Rename lineno to input_line.
12840 * utils.c (pushdecl, create_label_decl, begin_subprog_body,
12841 end_subprog_body): Likewise.
12842 * utils2.c (build_call_raise): Likewise.
12843
12844 2003-05-01 Laurent Guerby <guerby@acm.org>
12845
12846 PR ada/10546
12847 * 5iosinte.ads: Increase pthread_cond_t size to match recent
12848 LinuxThread and NPTL version, merge from ACT.
12849
12850 2003-04-28 Zack Weinberg <zack@codesourcery.com>
12851
12852 * utils.c (convert): No need to clear TREE_CST_RTL.
12853
12854 2003-04-23 Geert Bosch <bosch@gnat.com>
12855
12856 * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
12857 1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
12858 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
12859 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
12860 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
12861 4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
12862 4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
12863 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
12864 4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
12865 4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
12866 4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
12867 4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
12868 52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
12869 5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
12870 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
12871 5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
12872 5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
12873 5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
12874 5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
12875 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
12876 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
12877 5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
12878 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
12879 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
12880 5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
12881 5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
12882 5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
12883 5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
12884 5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
12885 5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
12886 5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
12887 5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
12888 5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
12889 5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
12890 5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
12891 5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
12892 5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
12893 5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
12894 5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
12895 5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
12896 5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
12897 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
12898 5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
12899 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
12900 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
12901 7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
12902 7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
12903 9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
12904 a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
12905 a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
12906 a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
12907 a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
12908 a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
12909 a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
12910 a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
12911 a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
12912 a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
12913 a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
12914 a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
12915 a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
12916 a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
12917 a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
12918 a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
12919 a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
12920 a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
12921 a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
12922 a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
12923 a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
12924 a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
12925 a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
12926 a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
12927 a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
12928 a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
12929 a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
12930 a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
12931 a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
12932 a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
12933 a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
12934 a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
12935 a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
12936 a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
12937 a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
12938 a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
12939 a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
12940 a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
12941 a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
12942 a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
12943 a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
12944 a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
12945 a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
12946 a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
12947 a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
12948 a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
12949 a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
12950 a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
12951 a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
12952 a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
12953 a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
12954 a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
12955 a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
12956 a-wttest.ads, ada-tree.h, ada.ads, ada.h,
12957 adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
12958 ali.adb, ali.ads, alloc.ads, argv.c,
12959 atree.adb, atree.ads, atree.h, aux-io.c,
12960 back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
12961 binde.adb, binde.ads, binderr.adb, binderr.ads,
12962 bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
12963 butil.adb, butil.ads, cal.c, calendar.ads,
12964 casing.adb, casing.ads, ceinfo.adb, checks.adb,
12965 checks.ads, cio.c, comperr.adb, comperr.ads,
12966 config-lang.in, csets.adb, csets.ads, csinfo.adb,
12967 cstand.adb, cstand.ads, cuintp.c, debug.adb,
12968 debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
12969 dec-io.ads, dec.ads, deftarg.c, directio.ads,
12970 einfo.adb, einfo.ads, elists.adb, elists.ads,
12971 elists.h, errno.c, errout.adb, errout.ads,
12972 eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
12973 exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
12974 exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
12975 exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
12976 exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
12977 exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
12978 exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
12979 exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
12980 exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
12981 exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
12982 exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
12983 exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
12984 exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
12985 exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
12986 exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
12987 fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
12988 fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
12989 freeze.adb, freeze.ads, frontend.adb, frontend.ads,
12990 g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
12991 g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
12992 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
12993 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
12994 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
12995 g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
12996 g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
12997 g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
12998 g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
12999 g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
13000 g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
13001 g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
13002 g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
13003 g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
13004 g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
13005 g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
13006 g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
13007 g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
13008 g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
13009 g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
13010 g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
13011 g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
13012 get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
13013 gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
13014 gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
13015 gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
13016 gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
13017 gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
13018 gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
13019 gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
13020 hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
13021 i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
13022 i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
13023 i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
13024 i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
13025 i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
13026 i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
13027 inline.adb, inline.ads, interfac.ads, ioexcept.ads,
13028 itypes.adb, itypes.ads, krunch.adb, krunch.ads,
13029 layout.adb, layout.ads, lib-list.adb, lib-load.adb,
13030 lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
13031 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
13032 lib.adb, lib.ads, live.adb, live.ads,
13033 machcode.ads, make.adb, make.ads, makeusg.adb,
13034 makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
13035 mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
13036 memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
13037 mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
13038 mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
13039 mlib.ads, namet.adb, namet.ads, nlists.adb,
13040 nlists.ads, opt.adb, opt.ads, osint-b.adb,
13041 osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
13042 osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
13043 osint.ads, output.adb, output.ads, par-ch10.adb,
13044 par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
13045 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
13046 par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
13047 par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
13048 par-tchk.adb, par-util.adb, par.adb, par.ads,
13049 prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
13050 prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
13051 prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
13052 prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
13053 prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
13054 prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
13055 prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
13056 prj.adb, prj.ads, repinfo.adb, repinfo.ads,
13057 restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
13058 rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
13059 s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
13060 s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
13061 s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
13062 s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
13063 s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
13064 s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
13065 s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
13066 s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
13067 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
13068 s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
13069 s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
13070 s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
13071 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
13072 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
13073 s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
13074 s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
13075 s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
13076 s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
13077 s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
13078 s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
13079 s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
13080 s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
13081 s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
13082 s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
13083 s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
13084 s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
13085 s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
13086 s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
13087 s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
13088 s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
13089 s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
13090 s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
13091 s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
13092 s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
13093 s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
13094 s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
13095 s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
13096 s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
13097 s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
13098 s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
13099 s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
13100 s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
13101 s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
13102 s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
13103 s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
13104 s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
13105 s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
13106 s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
13107 s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
13108 s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
13109 s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
13110 s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
13111 s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
13112 s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
13113 s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
13114 s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
13115 s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
13116 s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
13117 s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
13118 s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
13119 s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
13120 s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
13121 s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
13122 s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
13123 s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
13124 s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
13125 s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
13126 s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
13127 s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
13128 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
13129 s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
13130 s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
13131 s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
13132 s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
13133 s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
13134 s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
13135 s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
13136 s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
13137 s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
13138 s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
13139 s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
13140 s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
13141 s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
13142 s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
13143 s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
13144 s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
13145 s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
13146 s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
13147 s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
13148 s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
13149 s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
13150 s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
13151 s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
13152 scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
13153 sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
13154 sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
13155 sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
13156 sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
13157 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
13158 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
13159 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
13160 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
13161 sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
13162 sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
13163 sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
13164 sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
13165 sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
13166 sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
13167 sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
13168 sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
13169 sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
13170 sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
13171 sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
13172 sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
13173 snames.ads, sprint.adb, sprint.ads, stand.adb,
13174 stand.ads, stringt.adb, stringt.ads, style.adb,
13175 style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
13176 switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
13177 switch-m.ads, switch.adb, switch.ads, system.ads,
13178 table.adb, table.ads, targparm.adb, targparm.ads,
13179 tbuild.adb, tbuild.ads, text_io.ads, trans.c,
13180 tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
13181 tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
13182 ttypef.ads, ttypes.ads, types.adb, types.ads,
13183 uintp.adb, uintp.ads, uname.adb, uname.ads,
13184 unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
13185 usage.adb, usage.ads, validsw.adb, validsw.ads,
13186 widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
13187 xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
13188 xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
13189 formatting and other trivial changes from ACT.
13190
13191 2003-04-12 Zack Weinberg <zack@codesourcery.com>
13192
13193 * gigi.h, utils2.c (build_constructor):
13194 Rename gnat_build_constructor. Use build_constructor.
13195 * decl.c (gnat_to_gnu_entity)
13196 * trans.c (tree_transform, pos_to_constructor, extract_values)
13197 * ada/utils.c (build_template, convert_to_fat_pointer, convert)
13198 (unchecked_convert)
13199 * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
13200 (fill_vms_descriptor):
13201 Update to match.
13202
13203 2003-04-06 Zack Weinberg <zack@codesourcery.com>
13204
13205 * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
13206 * misc.c (gnat_tree_size): New function.
13207 (LANG_HOOKS_TREE_SIZE): Override.
13208
13209 2003-04-03 Jason Merrill <jason@redhat.com>
13210
13211 * misc.c (gnat_adjust_rli): #if 0.
13212
13213 2003-03-31 Geert Bosch <bosch@gnat.com>
13214
13215 PR ada/10020
13216 * link.c : Fix misspelled "const" keyword
13217
13218 2003-03-23 Mark Mitchell <mark@codesourcery.com>
13219
13220 PR c++/7086
13221 * utils2.c: Adjust calls to put_var_into_stack.
13222
13223 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
13224
13225 * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
13226
13227 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
13228
13229 * misc.c (gnat_init): Update for new prototype.
13230
13231 2003-03-05 Olivier Hainque <hainque@gnat.com>
13232
13233 ada/9961
13234 * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
13235 warning, and fix return type for the IN_RTS && !SJLJ case.
13236
13237 2003-03-04 Tom Tromey <tromey@redhat.com>
13238
13239 * Make-lang.in (ada.tags): New target.
13240
13241 2003-03-04 Olivier Hainque <hainque@act-europe.fr>
13242
13243 ada/9911
13244 * a-except.adb (Unwind_RaiseException): Import a GNAT specific
13245 wrapper, which name remains constant whatever underlying GCC
13246 scheme.
13247
13248 * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
13249 the stable interface needed for a-except.
13250
13251 2003-03-02 Andreas Jaeger <aj@suse.de>
13252
13253 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13254 gnat_ug_wnt.texi: Regenerate.
13255
13256 2003-03-02 Laurent Guerby <guerby@acm.org>
13257
13258 * Makefile.in (install-gnatlib): Match previous change there
13259 so it works.
13260
13261 2003-02-28 Andreas Schwab <schwab@suse.de>
13262
13263 * Make-lang.in (install-gnatlib): Change to ada directory before
13264 running make instead of using ada/Makefile directly.
13265
13266 2003-02-18 Ben Elliston <bje@redhat.com>
13267
13268 Part of fix for PR ada/9406
13269 * gnat_ug.texi (Binder output file): Grammar fix.
13270
13271 2003-02-18 Ben Elliston <bje@redhat.com>
13272
13273 PR other/7350
13274 * 5qtaprop.adb (Sleep): Fix typo in comment.
13275
13276 2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
13277
13278 * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
13279 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13280 gnat_ug_wnt.texi: Regenerate.
13281
13282 2003-02-03 Christian Cornelssen <ccorn@cs.tu-berlin.de>
13283
13284 * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
13285 be created if necessary.
13286 (ada.install-common): Let $(DESTDIR)$(bindir) be created
13287 if necessary. Remove erroneous and redundant gnatchop
13288 installation commands. Test for gnatdll before attempting
13289 to install it.
13290 (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
13291 and gnatdll from all plausible locations.
13292
13293 2003-02-01 Richard Sandiford <rsandifo@redhat.com>
13294
13295 * utils2.c (build_unary_op): Don't check flag_volatile.
13296 * gnat_ug.texi: Remove -fvolatile from example.
13297 * gnat_ug_vxw.texi: Likewise.
13298
13299 2003-01-29 Laurent Guerby <guerby@acm.org>
13300
13301 PR ada/8344
13302 * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
13303 * Makefile.in: match previous change.
13304 * Make-lang.in: match previous change.
13305
13306 2003-01-29 Joel Sherrill <joel@OARcorp.com>
13307
13308 * 5rosinte.ads: Add SIGXCPU.
13309 * 5rtpopsp.adb: New file.
13310 * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
13311 * Makefile.in: Recognize more RTEMS targets and add the RTEMS
13312 specific file 5rtpopsp.adb.
13313 * adaint.h: Add include of <stdio.h> when target is RTEMS. This
13314 is likely needed for all newlib targets.
13315 * init.c: Add RTEMS specific version of __gnat_initialize().
13316
13317 2003-01-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13318
13319 * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
13320
13321 2003-01-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13322
13323 * init.c (__gnat_error_handler): Make msg const.
13324
13325 * gmem.c (convert_addresses): Move declaration ...
13326 * adaint.h: ... here.
13327 * adaint.c (convert_addresses): Adapt addrs type to match
13328 prototype.
13329
13330 * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
13331
13332 2003-01-24 Andreas Schwab <schwab@suse.de>
13333
13334 * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
13335 size_t to avoid warning.
13336
13337 2003-01-21 Zack Weinberg <zack@codesourcery.com>
13338
13339 * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
13340
13341 2003-01-09 Geoffrey Keating <geoffk@apple.com>
13342
13343 * gnat_rm.texi: Remove RCS version number.
13344
13345 * ada-tree.h (union lang_tree_node): Add chain_next option.
13346
13347 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
13348
13349 * Make-lang.in (ada.install-info, ada.install-common,
13350 ada.uninstall): Prepend $(DESTDIR) to the destination
13351 directory in all (un)installation commands.
13352 * Makefile.in (install-gnatlib, install-rts): Ditto.
13353
13354 2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
13355
13356 * gnat_rm.texi, gnat_ug.texi: Use @copying.
13357 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13358 gnat_ug_wnt.texi: Regenerate.
13359
13360 2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
13361
13362 * gnat_rm.texi: Include gcc-common.texi. Use GCC version number
13363 only.
13364 * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
13365 $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
13366 $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
13367 ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
13368 ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
13369 $(srcdir)/doc/include/gcc-common.texi.
13370
13371 2002-12-15 Geert Bosch <bosch@gnat.com>
13372
13373 * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
13374
13375 2002-12-14 Geert Bosch <bosch@gnat.com>
13376
13377 * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
13378 case of a body created for a Renaming_As_Body, on which
13379 conformance checks are not performed. Fixes PR ada/5690.
13380
13381 2002-11-30 Zack Weinberg <zack@codesourcery.com>
13382
13383 * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
13384 utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
13385 not already included.
13386 * Make-lang.in: Update dependencies.
13387
13388 2002-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
13389 * adaint.c (__gnat_tmp_name): Better, but good enough for now,
13390 solution to buffer overflow bug on GNU/Linux.
13391
13392 2002-11-14 Nathanael Nerode <neroden@gcc.gnu.org>
13393 Closes PR ada/5856 and PR ada/6919 !
13394 * bindgen.adb: Remove all references to Public_Version.
13395 * comperr.adb: Remove all references to Public_Version and
13396 GNATPRO_Version; correct bug reporting instructions.
13397 * comperr.ads: Change to match bug box.
13398 * gnatvsn.ads: Remove all references to Public version and
13399 GNATPRO version.
13400
13401 2002-11-13 Nathanael Nerode <neroden@gcc.gnu.org>
13402 PR ada/6919
13403 * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
13404 GNU/Linux.
13405
13406 PR ada/6558
13407 * config-lang.in: Remove diff_excludes.
13408
13409 2002-11-05 Graham Stott <graham.stott@btinternet.com>
13410 PR ada/8358
13411 * trans.c (gnu_pending_elaboration_lists): New GC root.
13412 (build_unit_elab): Use..
13413
13414 2002-10-30 Geert Bosch <bosch@gnat.com>
13415 PR ada/6558
13416 * misc.c : Include optabs.h
13417
13418 * Make-lang.in (misc.o): Add dependency on optabs.h
13419
13420 2002-10-29 Geert Bosch <bosch@gnat.com>
13421 PR ada/6558
13422 * Make-lang.in (gnatbind): Depend on CONFIG_H
13423
13424 2002-10-29 Geert bosch <bosch@gnat.com>
13425 PR ada/6558
13426 * misc.c: Unrevert misc.c (1.13)
13427
13428 2002-10-28 Nathanael Nerode <neroden@gcc.gnu.org>
13429
13430 * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
13431 maintainership comments.
13432
13433 2002-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
13434 PR ada/5904
13435 * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
13436 5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
13437 5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
13438 7staprop.adb: Correct statements in comments about
13439 maintainership of GNAT.
13440
13441 PR ada/5904
13442 * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
13443 gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
13444 osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
13445 osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
13446 s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
13447 s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
13448 sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
13449 switch-c.ads switch-m.adb switch-m.ads: Correct statements in
13450 comments about maintainership of GNAT.
13451
13452 PR ada/6919 (forward port of patch for PR ada/5904)
13453 * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
13454 4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
13455 4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
13456 4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
13457 4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
13458 4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
13459 4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
13460 52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
13461 5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
13462 5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
13463 5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
13464 5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
13465 5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
13466 5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
13467 5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
13468 5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
13469 5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
13470 5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
13471 5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
13472 5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
13473 5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
13474 5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
13475 5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
13476 5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
13477 5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
13478 5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
13479 5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
13480 5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
13481 7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
13482 a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
13483 a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
13484 a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
13485 a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
13486 a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
13487 a-except.adb a-except.ads a-excpol.adb a-exctra.adb
13488 a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
13489 a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
13490 a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
13491 a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
13492 a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
13493 a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
13494 a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
13495 a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
13496 a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
13497 a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
13498 a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
13499 a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
13500 a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
13501 a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
13502 a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
13503 a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
13504 a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
13505 a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
13506 a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
13507 a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
13508 a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
13509 a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
13510 a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
13511 a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
13512 a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
13513 a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
13514 a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
13515 a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
13516 a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
13517 a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
13518 a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
13519 a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
13520 a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
13521 adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
13522 alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
13523 back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
13524 binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
13525 bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
13526 ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
13527 csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
13528 cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
13529 debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
13530 einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
13531 errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
13532 exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
13533 exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
13534 exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
13535 exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
13536 exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
13537 exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
13538 exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
13539 exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
13540 exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
13541 exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
13542 exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
13543 exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
13544 exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
13545 final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
13546 fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
13547 freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
13548 g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
13549 g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
13550 gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
13551 gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
13552 gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
13553 gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
13554 gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
13555 gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
13556 i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
13557 i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
13558 i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
13559 i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
13560 impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
13561 itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
13562 lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
13563 lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
13564 lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
13565 lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
13566 makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
13567 namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
13568 nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
13569 osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
13570 par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
13571 par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
13572 par-endh.adb par-labl.adb par-load.adb par-prag.adb
13573 par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
13574 prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
13575 prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
13576 prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
13577 prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
13578 prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
13579 prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
13580 repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
13581 rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
13582 s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
13583 s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
13584 s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
13585 s-direio.adb s-direio.ads s-except.ads s-exctab.adb
13586 s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
13587 s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
13588 s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
13589 s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
13590 s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
13591 s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
13592 s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
13593 s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
13594 s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
13595 s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
13596 s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
13597 s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
13598 s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
13599 s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
13600 s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
13601 s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
13602 s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
13603 s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
13604 s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
13605 s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
13606 s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
13607 s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
13608 s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
13609 s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
13610 s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
13611 s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
13612 s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
13613 s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
13614 s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
13615 s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
13616 s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
13617 s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
13618 s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
13619 s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
13620 s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
13621 s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
13622 s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
13623 s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
13624 s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
13625 s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
13626 s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
13627 s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
13628 s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
13629 s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
13630 s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
13631 s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
13632 s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
13633 s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
13634 s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
13635 s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
13636 s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
13637 s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
13638 s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
13639 s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
13640 s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
13641 s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
13642 s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
13643 s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
13644 s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
13645 s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
13646 s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
13647 s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
13648 s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
13649 s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
13650 s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
13651 s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
13652 s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
13653 s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
13654 s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
13655 s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
13656 s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
13657 s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
13658 s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
13659 s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
13660 s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
13661 s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
13662 s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
13663 s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
13664 scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
13665 sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
13666 sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
13667 sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
13668 sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
13669 sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
13670 sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
13671 sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
13672 sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
13673 sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
13674 sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
13675 sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
13676 sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
13677 sem_type.adb sem_type.ads sem_util.adb sem_util.ads
13678 sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
13679 sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
13680 sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
13681 sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
13682 snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
13683 stringt.ads stringt.h style.adb style.ads stylesw.adb
13684 stylesw.ads switch.adb switch.ads sysdep.c system.ads
13685 table.adb table.ads targparm.adb targparm.ads targtyps.c
13686 tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
13687 tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
13688 treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
13689 types.adb types.ads types.h uintp.adb uintp.ads uintp.h
13690 uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
13691 usage.ads utils.c utils2.c validsw.adb validsw.ads
13692 widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
13693 xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
13694 xtreeprs.adb: Correct statements in comments about maintainership
13695 of GNAT.
13696
13697 2002-09-23 Zack Weinberg <zack@codesourcery.com>
13698
13699 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
13700 * Makefile.in (TOOLS_LIBS): Add ../../version.o.
13701 * gnatvsn.ads: Gnat_Version_String is now a function.
13702 * gnatvsn.adb: New file. When asked for Gnat_Version_String,
13703 copy the C version_string into a String and return it.
13704 * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
13705 gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
13706 Remove pragma Ident (Gnat_Version_String). If this was the
13707 sole use of package Gnatvsn, remove the with statement too.
13708 * gnat1drv.adb: Tweak -gnatv output.
13709
13710 2002-09-17 Richard Henderson <rth@redhat.com>
13711
13712 * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
13713 * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
13714 * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
13715 (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
13716 * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
13717 and real_2expN instead of a loop.
13718 * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
13719 (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
13720
13721 2002-08-25 Andre Leis <a.leis@gmx.net>
13722 David Billinghurst (David.Billinghurst@riotinto.com>
13723
13724 * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
13725
13726 2002-08-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13727
13728 * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
13729 Remove $(CONFIG_H) dependency.
13730
13731 2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
13732
13733 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
13734
13735 2002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13736
13737 * adadecode.c (ada_demangle): Use xstrdup in lieu of
13738 xmalloc/strcpy.
13739 * misc.c (gnat_decode_option): Likewise.
13740
13741 2002-07-15 Florian Weimer <fw@deneb.enyo.de>
13742
13743 * make.adb (Add_Switch): Make Generic_Position a procedure. The
13744 function approach did not work well because of a side effect (the
13745 function call could reallocate the table which was being indexed
13746 using its result). Fixes ada/4851. [RESURRECTED]
13747
13748 2002-07-01 Roger Sayle <roger@eyesopen.com>
13749
13750 * ada/utils.c (builtin_function): Accept an additional parameter.
13751
13752 2002-06-28 Andreas Jaeger <aj@suse.de>
13753
13754 PR ada/7144
13755 * Makefile.in: Fix typo in comment, patch by Adrian Knoth
13756 <adi@thur.de>.
13757
13758 2002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13759
13760 * Makefile.in (SHELL): Set to @SHELL@.
13761
13762 2002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13763
13764 * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
13765 array size calculation.
13766
13767 2002-06-04 Andreas Jaeger <aj@suse.de>
13768
13769 * Make-lang.in (gnatbind): Readd rule that has been lost in last
13770 patch.
13771
13772 2002-06-03 Geoffrey Keating <geoffk@redhat.com>
13773
13774 Merge from pch-branch:
13775
13776 * config-lang.in (gtfiles): Add ada-tree.h.
13777 * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
13778 (SET_TYPE_MODULUS): New.
13779 (SET_TYPE_INDEX): New.
13780 (SET_TYPE_DIGITS_VALUE): New.
13781 (SET_TYPE_RM_SIZE): New.
13782 (SET_TYPE_UNCONSTRAINED_ARRAY): New.
13783 (SET_TYPE_ADA_SIZE): New.
13784 (SET_TYPE_ACTUAL_BOUNDS): New.
13785 (SET_DECL_CONST_CORRESPONDING_VAR): New.
13786 (SET_DECL_ORIGINAL_FIELD): New.
13787 (TREE_LOOP_ID): Correct typo.
13788 * decl.c: Use new macros.
13789 * utils.c: Include debug.h, use new macros.
13790 * utils2.c: Use new macros.
13791
13792 * ada-tree.h: Update all macros for new tree description.
13793 (struct tree_loop_id): New.
13794 (union lang_tree_node): New.
13795 (struct lang_decl): New.
13796 (struct lang_type): New.
13797 * misc.c (gnat_mark_tree): Delete.
13798 (LANG_HOOKS_MARK_TREE): Delete.
13799 * trans.c (tree_transform): No longer any need to cast
13800 for TREE_LOOP_ID.
13801
13802 * utils.c (struct language_function): New dummy structure.
13803
13804 * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
13805 (misc.o): Likewise.
13806 (utils.o): Likewise; also gtype-ada.h.
13807 * Make-lang.in (gnat1): Add dependency on s-gtype.
13808 (gnatbind): Add dependency on $(CONFIG_H).
13809 * utils.c: Correct last #include.
13810 (stuct e_stack): Remove unnecessary 'static'.
13811 (mark_e_stack): Remove unused prototype.
13812
13813 * scn-nlit.adb: Remove whitespace after version number to
13814 keep lines under 80 chars.
13815 * snames.adb: Likewise.
13816 * treepr.ads: Likewise.
13817
13818 * Makefile.in (decl.o): Include gt-ada-<filename>.h.
13819 (misc.o): Likewise.
13820 (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
13821 * config-lang.in (gtfiles): New.
13822 * decl.c: Use gengtype for roots.
13823 * gigi.h: Use gengtype for roots.
13824 * trans.c: Use gengtype for roots.
13825 * utils.c: Use gengtype for roots, marking. Include gtype-ada.h.
13826
13827 2002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
13828
13829 * misc.c (gnat_init): Adjust setting of internal_error_function.
13830
13831 2002-06-01 Joseph S. Myers <jsm28@cam.ac.uk>
13832
13833 * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
13834 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13835 gnat_ug_wnt.texi: Regenerate.
13836
13837 2002-05-31 Florian Weimer <fw@deneb.enyo.de>
13838
13839 * 5ntaprop.adb (with System.OS_Primitives): Remove.
13840
13841 * cstreams.c (max_path_len): Move from here ...
13842 * adaint.c (__gnat_max_path_len): ... to here.
13843 * adaint.c (__gnat_max_path_len): Declare.
13844 * g-dirope.adb (Max_Path): Adjust.
13845 * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
13846 * i-cstrea.ads (max_path_len): Adjust.
13847 * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
13848 * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
13849
13850 * Makefile.in, Make-lang.in: Documentation is now built in
13851 Make-lang.in. Store Info and generated Texinfo files in the
13852 source directory.
13853 * gnat_ug.texi: Remove CVS keywords, correct version number.
13854 Set file name correctly.
13855
13856 * gnat_ug_*.texi: Add.
13857 * .cvsignore: Ignore generated Texinfo files.
13858
13859 2002-05-30 Zack Weinberg <zack@codesourcery.com>
13860
13861 * ada.h: Add MI guard macro.
13862 (SUBTYPE): Define constants with an anonymous enum, not static
13863 const variables.
13864 (IN): Cast constants to appropriate type before use.
13865
13866 2002-05-26 Joseph S. Myers <jsm28@cam.ac.uk>
13867
13868 * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
13869 (experimental)".
13870
13871 2002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13872
13873 * Make-lang.in (CP, ECHO): Copy from Makefile.in.
13874 (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
13875 (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
13876 (ALL_ADA_CFLAGS): Likewise.
13877 (ADA_INCLUDES): Likewise.
13878 Adapt for new working dir.
13879 (GNATBIND): Use Makefile.in version.
13880 (.SUFFIXES): Copy from Makefile.in.
13881 (ada-warn): Define.
13882 (.adb.o, .ads.o): Copy from Makefile.in.
13883 Added $(OUTPUT_OPTION).
13884 (GNAT1_C_OBJS): Moved from Makefile.in.
13885 Prefix with ada subdir.
13886 (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
13887 (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
13888 Adapt for new working dir.
13889 (EXTRA_GNATBIND_OBJS): Likewise.
13890 (ADA_BACKEND): Moved from Makefile.in.
13891 Renamed to avoid conflict with global BACKEND.
13892 Use that one.
13893 (TARGET_ADA_SRCS): Moved from Makefile.in.
13894 (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
13895 Use ADA_BACKEND.
13896 (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
13897 (ada_extra_files): Moved from Makefile.in.
13898 Prefix with ada subdir.
13899 (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
13900 (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
13901 (ada/nmake.ads): Likewise.
13902 (update-sources): Moved from Makefile.in.
13903 Prefix with ada subdir.
13904 (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
13905 (ADA_TREE_H): Likewise.
13906 (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
13907 (ada/memtrack.o): Likewise.
13908 (ada/adadecode.o): Likewise.
13909 Update dependencies.
13910 (ada/adaint.o): New.
13911 (ada/argv.o): Moved from Makefile.in.
13912 Prefix with ada subdir.
13913 Update dependencies.
13914 (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
13915 (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
13916 (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
13917 Prefix with ada subdir.
13918 (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
13919 (GNAT DEPENDENCIES): Regenerate.
13920 * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
13921 toplevel Makefile.in.
13922 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
13923 (TARGET_ADA_SRCS): Removed.
13924 (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
13925 (GNATBIND_OBJS): Likewise.
13926 (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
13927 (BACKEND): Removed.
13928 (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
13929 (TREE_H): Likewise.
13930 (ada_extra_files): Likewise.
13931 (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
13932 (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
13933 (update-sources): Likewise.
13934 (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
13935 (ADA_TREE_H): Likewise.
13936 (adadecoce.o): Likewise.
13937 (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
13938 (GNAT DEPENDENCIES): Likewise.
13939
13940 2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13941
13942 * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
13943 * Makefile.in: Likewise.
13944
13945 2002-05-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13946
13947 * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
13948 Restore $(CONFIG_H) and prefix.o dependencies.
13949 (ada.stage[1-4]): Depend on stage?-start.
13950
13951 * Makefile.in (b_gnatb.c): Depend on interfac.o.
13952
13953 2002-05-02 Jim Wilson <wilson@redhat.com>
13954
13955 * utils.c (finish_record_type): Change record_size to record_type.
13956
13957 2001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
13958
13959 * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
13960 (ALL_ADA_CFLAGS): Define. Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
13961 ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
13962
13963 2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
13964
13965 * misc.c (gnat_parse_file): Update.
13966
13967 2002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
13968
13969 * misc.c (gnat_init): Don't set lang_attribute_common.
13970
13971 2002-04-21 Joseph S. Myers <jsm28@cam.ac.uk>
13972
13973 * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
13974
13975 2002-04-21 Florian Weimer <fw@deneb.enyo.de>
13976
13977 * gnat_ug.texi: New file.
13978
13979 * gnat_rm.texi: Do not include texiplus.texi. Include fdl.texi
13980 instead of gfdl.texi
13981
13982 * xgnatug.adb, ug_words: New files.
13983
13984 * Makefile.in (doc, dvi): New targets. Build gnat_ug_*,
13985 gnat_rm and gnat-style manuals.
13986
13987 2002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
13988
13989 * gigi.h (incomplete_type_error): Remove.
13990 * utils.c (incomplete_type_error): Remove.
13991
13992 2002-04-16 Mark Mitchell <mark@codesourcery.com>
13993
13994 * trans.c (tree_transform): Add has_scope argument to
13995 expand_start_stmt_expr.
13996
13997 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
13998
13999 * gigi.h (truthvalue_conversion): Rename.
14000 * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
14001 * trans.c (tree_transform): Update.
14002 * utils2.c (truthvalue_conversion): Rename, update.
14003 (build_binary_op, build_unary_op): Update.
14004
14005 2002-04-04 Laurent Guerby <guerby@acm.org>
14006
14007 * make.adb: Implement -margs, remove restriction about file name placement.
14008 * makeusg.adb: Documentation update.
14009 * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
14010 * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
14011
14012 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
14013
14014 * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
14015 (builtin_function): Similarly.
14016
14017 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
14018
14019 * decl.c (gnat_to_gnu_entity): Update.
14020 * gigi.h (mark_addressable): Rename.
14021 * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
14022 * trans.c (tree_transform): Update.
14023 * utils.c (create_var_decl): Update.
14024 * util2.c (build_binary_op, build_unary_op,
14025 fill_vms_descriptor): Update.
14026 (mark_addressable): Rename, update.
14027
14028 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
14029
14030 * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
14031 Rename.
14032 * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
14033 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
14034 * trans.c (tree_transform, convert_with_check): Update.
14035 * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
14036 Rename.
14037
14038 2002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
14039
14040 * gigi.h (finish_incomplete_decl): Rename.
14041 * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
14042 * utils.c (gnat_init_decl_processing): Don't set hook.
14043 (finish_incomplete_decl): Rename.
14044
14045 2002-03-29 Andreas Schwab <schwab@suse.de>
14046
14047 * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
14048 directory.
14049
14050 2001-03-28 Robert Dewar <dewar@gnat.com>
14051
14052 * checks.ads:
14053 (Remove_Checks): New procedure
14054
14055 * checks.adb:
14056 (Remove_Checks): New procedure
14057
14058 * exp_util.adb:
14059 Use new Duplicate_Subexpr functions
14060 (Duplicate_Subexpr_No_Checks): New procedure
14061 (Duplicate_Subexpr_No_Checks_Orig): New procedure
14062 (Duplicate_Subexpr): Restore original form (checks duplicated)
14063 (Duplicate_Subexpr): Call Remove_Checks
14064
14065 * exp_util.ads:
14066 (Duplicate_Subexpr_No_Checks): New procedure
14067 (Duplicate_Subexpr_No_Checks_Orig): New procedure
14068 Add 2002 to copyright notice
14069
14070 * sem_util.adb: Use new Duplicate_Subexpr functions
14071
14072 * sem_eval.adb:
14073 (Eval_Indexed_Component): This is the place to call
14074 Constant_Array_Ref and to replace the value. We simply merge
14075 the code of this function in here, since it is now no longer
14076 used elsewhere. This fixes the problem of the back end not
14077 realizing we were clever enough to see that this was
14078 constant.
14079 (Expr_Val): Remove call to Constant_Array_Ref
14080 (Expr_Rep_Val): Remove call to Constant_Array_Ref
14081 Minor reformatting
14082 (Constant_Array_Ref): Deal with string literals (patch
14083 suggested by Zack Weinberg on the gcc list)
14084
14085 2001-03-28 Ed Schonberg <schonber@gnat.com>
14086
14087 * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
14088 Duplicate_Subexpr_Move_Checks.
14089
14090 * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
14091 Duplicate_Subexpr_Move_Checks.
14092
14093 * sem_eval.adb: (Constant_Array_Ref): Verify that constant
14094 value of array exists before retrieving it (it may a private
14095 protected component in a function).
14096
14097 2002-03-28 Geert Bosch <bosch@gnat.com>
14098
14099 * prj-pp.adb : New file.
14100
14101 * prj-pp.ads : New file.
14102
14103 2002-03-28 Andreas Jaeger <aj@suse.de>
14104
14105 * Makefile.in (stamp-sdefault): Fix path for Makefile.
14106
14107 2002-03-28 Neil Booth <neil@daikokuya.demon.co.uk>
14108
14109 * misc.c (gnat_expand_expr): Move prototype.
14110
14111 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
14112
14113 * misc.c (insert_default_attributes): Remove.
14114
14115 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
14116
14117 * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
14118 (gnat_init): Don't set hook.
14119 (gnat_expand_expr): Fix prototype.
14120
14121 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
14122
14123 * misc.c (ggc_p): Remove.
14124
14125 2002-03-27 Geert Bosch <bosch@gnat.com>
14126
14127 * prj-makr.ads, prj-makr.adb : New files.
14128
14129 2002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
14130
14131 * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
14132 (lang_mark_tree): Make static, rename.
14133
14134 2002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
14135
14136 * misc.c (maybe_build_cleanup): Remove.
14137
14138 2002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
14139
14140 * gigi.h (yyparse): Remove.
14141
14142 2002-03-23 Florian Weimer <fw@deneb.enyo.de>
14143
14144 * gnat_rm.texi: Sync with ACT version.
14145 (From Ben Brosgol <brosgol@gnat.com>)
14146
14147 2002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
14148
14149 * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
14150 (gnat_init): Remove old hook.
14151
14152 2002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
14153
14154 * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
14155 (yyparse): Rename gnat_parse_file.
14156
14157 2002-03-14 Geoffrey Keating <geoffk@redhat.com>
14158
14159 Delete all lines containing "$Revision:".
14160 * xeinfo.adb: Don't look for revision numbers.
14161 * xnmake.adb: Likewise.
14162 * xsinfo.adb: Likewise.
14163 * xsnames.adb: Likewise.
14164 * xtreeprs.adb: Likewise.
14165
14166 2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14167
14168 * misc.c (gnat_tree_code_type, gnat_tree_code_length,
14169 gnat_tree_code_name): Delete.
14170 (tree_code_type, tree_code_length, tree_code_name): Define.
14171 (gnat_init): Don't try to copy into the various tree_code
14172 arrays.
14173
14174 2002-03-11 Richard Henderson <rth@redhat.com>
14175
14176 * Makefile.in (.NOTPARALLEL): Add fake tag.
14177
14178 2002-03-07 Geert Bosch <bosch@gnat.com>
14179
14180 * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
14181 s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
14182 switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
14183 switch-m.adb, switch-m.ads : New files.
14184
14185 2002-03-07 Geert Bosch <bosch@gnat.com>
14186
14187 * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
14188 4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
14189 4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
14190 4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
14191 5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
14192 5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
14193 5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
14194 5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
14195 5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
14196 5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
14197 5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
14198 5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
14199 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
14200 5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
14201 5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
14202 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
14203 5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
14204 5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
14205 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
14206 5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
14207 7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
14208 Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
14209 a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
14210 a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
14211 a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
14212 a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
14213 a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
14214 a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
14215 a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
14216 adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
14217 atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
14218 bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
14219 csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
14220 einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
14221 eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
14222 exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
14223 exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
14224 exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
14225 exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
14226 exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
14227 expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
14228 freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
14229 g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
14230 g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
14231 g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
14232 g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
14233 g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
14234 g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
14235 gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
14236 gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
14237 gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
14238 i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
14239 impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
14240 lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
14241 lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
14242 memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
14243 mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
14244 nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
14245 output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
14246 par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
14247 prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
14248 prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
14249 prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
14250 rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
14251 s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
14252 s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
14253 s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
14254 s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
14255 s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
14256 s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
14257 s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
14258 s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
14259 s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
14260 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
14261 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
14262 s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
14263 s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
14264 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
14265 s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
14266 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
14267 sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
14268 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
14269 sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
14270 sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
14271 sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
14272 sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
14273 sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
14274 sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
14275 sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
14276 snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
14277 stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
14278 table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
14279 tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
14280 treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
14281 types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
14282 utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
14283 xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
14284
14285 * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
14286 g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
14287 mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
14288 osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
14289
14290 * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
14291 5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
14292
14293 * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
14294 to mdll-fil.ad[bs] and mdll-util.ad[bs]
14295
14296 * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
14297 from mdllfile.ad[bs] and mdlltool.ad[bs]
14298
14299 2002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14300
14301 * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
14302 lieu of explicit sizeof/sizeof.
14303
14304 2002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
14305
14306 * misc.c (copy_lang_decl): Remove.
14307
14308 2002-02-27 Zack Weinberg <zack@codesourcery.com>
14309
14310 * misc.c: Delete traditional-mode-related code copied from the
14311 C front end but not used, or used only to permit the compiler
14312 to link.
14313
14314 2002-02-07 Richard Henderson <rth@redhat.com>
14315
14316 * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
14317 * adaint.h (__gnat_to_gm_time): Update prototype.
14318
14319 2002-01-30 Richard Henderson <rth@redhat.com>
14320
14321 * trans.c (tree_transform) [N_Loop_Statement]: Use
14322 expand_exit_loop_top_cond.
14323
14324 2001-12-23 Richard Henderson <rth@redhat.com>
14325
14326 * utils.c (end_subprog_body): Push GC context around
14327 rest_of_compilation for nested functions.
14328
14329 2001-12-23 Richard Henderson <rth@redhat.com>
14330
14331 * 5nosinte.ads: Get definition of "int" from Interfaces.C.
14332
14333 2001-12-23 Florian Weimer <fw@deneb.enyo.de>
14334
14335 * gnat-style.texi (Declarations and Types): Remove ancient style
14336 rule which was mandated by code generation issues.
14337
14338 * gnat-style.texi (header): Add @dircategory, @direntry.
14339 (title page): Remove date.
14340 (general) Add @./@: where approriate, and two spaces after the
14341 full stop at the end of a sentence. Use @samp markup when
14342 referring concrete lexical entities (keywords, attribute names
14343 etc.), and @syntax for ARM grammar elements. Use @r for English
14344 text in comments. Use @emph for emphasis. Change "if-statements"
14345 etc. to "if statements" (without @samp). Break long lines. Make
14346 casing of section names consistent.
14347 (Identifiers): Use @samp markup for variable names.
14348 (Comments): Use @samp markup for comment characters. Line-end
14349 comments may follow any Ada code, not just statements. Fix
14350 misspelling of "Integer" as "integer".
14351 (Loop statements): Do not use variable name "I", use "J".
14352 (Subprogram Declarations): Document alignment.
14353 (Subprogram Bodies, Block statements): Document empty line before
14354 "begin".
14355
14356 2001-12-22 Florian Weimer <fw@deneb.enyo.de>
14357
14358 * make.adb (Add_Switch): Make Generic_Position a procedure. The
14359 function approach did not work well because of a side effect (the
14360 function call could reallocate the table which was being indexed
14361 using its result). Fixes ada/4851.
14362
14363 2001-12-19 Robert Dewar <dewar@gnat.com>
14364
14365 * bindgen.adb: Minor reformatting
14366
14367 * cstand.adb: Minor reformatting
14368
14369 * fmap.adb: Minor reformatting
14370 Change name from Add for Add_To_File_Map (Add is much too generic)
14371 Change Path_Name_Of to Mapped_Path_Name
14372 Change File_Name_Of to Mapped_File_Name
14373 Fix copyright dates in header
14374
14375 * fmap.ads:
14376 Change name from Add for Add_To_File_Map (Add is much too generic)
14377 Change Path_Name_Of to Mapped_Path_Name
14378 Change File_Name_Of to Mapped_File_Name
14379 Fix copyright dates in header
14380
14381 * fname-uf.adb: Minor reformatting. New names of stuff in Fmap.
14382 Add use clause for Fmap.
14383
14384 * make.adb: Minor reformatting
14385
14386 * osint.adb: Minor reformatting. Change of names in Fmap.
14387 Add use clause for Fmap.
14388
14389 * prj-env.adb: Minor reformatting
14390
14391 * prj-env.ads: Minor reformatting
14392
14393 * switch.adb: Minor reformatting. Do proper raise of Bad_Switch if
14394 error found (there were odd exceptions to this general rule in
14395 -gnatec/-gnatem processing)
14396
14397 2001-12-19 Olivier Hainque <hainque@gnat.com>
14398
14399 * raise.c (__gnat_eh_personality): Exception handling personality
14400 routine for Ada. Still in rough state, inspired from the C++ version
14401 and still containing a bunch of debugging artifacts.
14402 (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
14403 inspired from the C++ library.
14404
14405 * raise.c (eh_personality): Add comments. Part of work for the GCC 3
14406 exception handling integration.
14407
14408 2001-12-19 Arnaud Charlet <charlet@gnat.com>
14409
14410 * Makefile.in: Remove use of 5smastop.adb which is obsolete.
14411 (HIE_SOURCES): Add s-secsta.ad{s,b}.
14412 (HIE_OBJS): Add s-fat*.o
14413 (RAVEN_SOURCES): Remove files that are no longer required. Add
14414 interrupt handling files.
14415 (RAVEN_MOD): Removed, no longer needed.
14416
14417 2001-12-19 Robert Dewar <dewar@gnat.com>
14418
14419 * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
14420 Add 2001 to copyright date
14421
14422 * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
14423 need to force universal inlining for these cases.
14424
14425 2001-12-19 Arnaud Charlet <charlet@gnat.com>
14426
14427 * s-taprob.adb: Minor clean ups so that this unit can be used in
14428 Ravenscar HI.
14429
14430 * exp_ch7.adb: Allow use of secondary stack in HI mode.
14431 Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
14432
14433 2001-12-19 Vincent Celier <celier@gnat.com>
14434
14435 * prj-tree.ads (Project_Node_Record): Add comments for components
14436 Pkg_Id and Case_Insensitive.
14437
14438 2001-12-19 Pascal Obry <obry@gnat.com>
14439
14440 * g-socket.adb: Minor reformatting. Found while reading code.
14441
14442 2001-12-19 Robert Dewar <dewar@gnat.com>
14443
14444 * prj-tree.ads: Minor reformatting
14445
14446 2001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
14447
14448 * config-lang.in (diff_excludes): Remove.
14449
14450 2001-12-17 Ed Schonberg <schonber@gnat.com>
14451
14452 * sem_res.adb (Resolve_Selected_Component): do not generate a
14453 discriminant check if the selected component is a component of
14454 the argument of an initialization procedure.
14455
14456 * trans.c (tree_transform, case of arithmetic operators): If result
14457 type is private, the gnu_type is the base type of the full view,
14458 given that the full view itself may be a subtype.
14459
14460 2001-12-17 Robert Dewar <dewar@gnat.com>
14461
14462 * sem_res.adb: Minor reformatting
14463
14464 * trans.c (tree_transform, case N_Real_Literal): Add missing third
14465 parameter in call to Machine (unknown horrible effects from this
14466 omission).
14467
14468 * urealp.h: Add definition of Round_Even for call to Machine
14469 Add third parameter for Machine
14470
14471 2001-12-17 Ed Schonberg <schonber@gnat.com>
14472
14473 * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
14474 predefined units in No_Run_Time mode.
14475
14476 2001-12-17 Richard Kenner <kenner@gnat.com>
14477
14478 * misc.c (insn-codes.h): Now include.
14479
14480 2001-12-17 Olivier Hainque <hainque@gnat.com>
14481
14482 * a-except.adb: Preparation work for future integration of the GCC 3
14483 exception handling mechanism
14484 (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
14485 to factorize previous code sequences and make them externally callable,
14486 e.g. for the Ada personality routine when the GCC 3 mechanism is used.
14487 (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
14488 Use the new notification routines.
14489
14490 2001-12-17 Emmanuel Briot <briot@gnat.com>
14491
14492 * prj-tree.ads (First_Choice_Of): Document the when others case
14493
14494 2001-12-17 Arnaud Charlet <charlet@gnat.com>
14495
14496 * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
14497 HI-E mode, in order to support Ravenscar profile properly.
14498
14499 * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
14500 mode on 32 bits targets.
14501
14502 2001-12-17 Vincent Celier <celier@gnat.com>
14503
14504 * fmap.adb: Initial version.
14505
14506 * fmap.ads: Initial version.
14507
14508 * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
14509 If search is successfully done, add to mapping.
14510
14511 * frontend.adb: Initialize the mapping if a -gnatem switch was used.
14512
14513 * make.adb:
14514 (Gnatmake): Add new local variable Mapping_File_Name.
14515 Create mapping file when using project file(s).
14516 Delete mapping file before exiting.
14517
14518 * opt.ads (Mapping_File_Name): New variable
14519
14520 * osint.adb (Find_File): Use path name found in mapping, if any.
14521
14522 * prj-env.adb (Create_Mapping_File): New procedure
14523
14524 * prj-env.ads (Create_Mapping_File): New procedure.
14525
14526 * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
14527 (Mapping_File)
14528
14529 * usage.adb: Add entry for new switch -gnatem.
14530
14531 * Makefile.in: Add dependencies for fmap.o.
14532
14533 2001-12-17 Ed Schonberg <schonber@gnat.com>
14534
14535 * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
14536 is a package instantiation rewritten as a package body.
14537 (Install_Withed_Unit): Undo previous change, now redundant.
14538
14539 2001-12-17 Gary Dismukes <dismukes@gnat.com>
14540
14541 * layout.adb:
14542 (Compute_Length): Move conversion to Unsigned to callers.
14543 (Get_Max_Size): Convert Len expression to Unsigned after calls to
14544 Compute_Length and Determine_Range.
14545 (Layout_Array_Type): Convert Len expression to Unsigned after calls to
14546 Compute_Length and Determine_Range.
14547 Above changes fix problem with length computation for supernull arrays
14548 where Max (Len, 0) wasn't getting applied due to the Unsigned
14549 conversion used by Compute_Length.
14550
14551 2001-12-17 Arnaud Charlet <charlet@gnat.com>
14552
14553 * rtsfind.ads:
14554 (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
14555 System.Secondary_Stack.
14556 (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
14557 in HI-E mode.
14558 Remove unused entity RE_Exception_Data.
14559
14560 * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
14561
14562 * rident.ads (No_Secondary_Stack): New restriction.
14563
14564 2001-12-17 Joel Brobecker <brobecke@gnat.com>
14565
14566 * gnat_rm.texi: Fix minor typos. Found while reading the section
14567 regarding "Bit_Order Clauses" that was sent to a customer.
14568 Very interesting documentation!
14569
14570 2001-12-17 Robert Dewar <dewar@gnat.com>
14571
14572 * sem_case.adb (Choice_Image): Avoid creating improper character
14573 literal names by using the routine Set_Character_Literal_Name. This
14574 fixes bombs in certain error message cases.
14575
14576 2001-12-17 Arnaud Charlet <charlet@gnat.com>
14577
14578 * a-reatim.adb: Minor reformatting.
14579
14580 2001-12-17 Ed Schonberg <schonber@gnat.com>
14581
14582 * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
14583 case where the formal is an extension of another formal in the current
14584 unit or in a parent generic unit.
14585
14586 2001-12-17 Arnaud Charlet <charlet@gnat.com>
14587
14588 * s-tposen.adb: Update comments. Minor reformatting.
14589 Minor code clean up.
14590
14591 * s-tarest.adb: Update comments. Minor code reorganization.
14592
14593 2001-12-17 Gary Dismukes <dismukes@gnat.com>
14594
14595 * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
14596 when Java_VM.
14597
14598 2001-12-17 Robert Dewar <dewar@gnat.com>
14599
14600 * exp_attr.adb: Minor reformatting
14601
14602 2001-12-17 Ed Schonberg <schonber@gnat.com>
14603
14604 * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
14605 derivations nested within a child unit: verify that the parent
14606 type is declared in an outer scope.
14607
14608 2001-12-17 Robert Dewar <dewar@gnat.com>
14609
14610 * sem_ch12.adb: Minor reformatting
14611
14612 2001-12-17 Ed Schonberg <schonber@gnat.com>
14613
14614 * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
14615 warning if current unit is a predefined one, from which bodies may
14616 have been deleted.
14617
14618 2001-12-17 Robert Dewar <dewar@gnat.com>
14619
14620 * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
14621 Fix header format. Add 2001 to copyright date.
14622
14623 * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
14624 which caused CE during compilation if checks were enabled.
14625
14626 2001-12-17 Vincent Celier <celier@gnat.com>
14627
14628 * make.adb:
14629 (Switches_Of): New function
14630 (Test_If_Relative_Path): New procedure
14631 (Add_Switches): Use new function Switches_Of
14632 (Collect_Arguments_And_Compile): Use new function Switches_Of.
14633 When using a project file, test if there are any relative
14634 search path. Fail if there are any.
14635 (Gnatmake): Only add switches for the primary directory when not using
14636 a project file. When using a project file, change directory to the
14637 object directory of the main project file. When using a project file,
14638 test if there are any relative search path. Fail if there are any.
14639 When using a project file, fail if specified executable is relative
14640 path with directory information, and prepend executable, if not
14641 specified as an absolute path, with the exec directory. Make sure
14642 that only one -o switch is transmitted to the linker.
14643
14644 * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
14645
14646 * prj-nmsc.adb:
14647 (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
14648 when using a non standard naming scheme.
14649 (Check_Ada_Naming_Scheme): Make sure that error messages
14650 do not raise exceptions.
14651 (Is_Illegal_Append): Return True if there is no dot in the suffix.
14652 (Language_Independent_Check): Check the exec directory.
14653
14654 * prj.adb (Project_Empty): Add new component Exec_Directory
14655
14656 * prj.ads:
14657 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
14658 (Project_Data): Add component Exec_Directory
14659
14660 * snames.adb: Updated to match snames.ads revision 1.215
14661
14662 * snames.ads: Added Exec_Dir
14663
14664 2001-12-17 Robert Dewar <dewar@gnat.com>
14665
14666 * make.adb: Minor reformatting
14667
14668 * prj-nmsc.adb: Minor reformatting
14669
14670 * snames.adb: Updated to match snames.ads
14671
14672 * snames.ads: Alphebetize entries for project file
14673
14674 2001-12-17 Ed Schonberg <schonber@gnat.com>
14675
14676 * trans.c (process_freeze_entity): Do nothing if the entity is a
14677 subprogram that was already elaborated.
14678
14679 2001-12-17 Richard Kenner <kenner@gnat.com>
14680
14681 * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
14682 and Esize if object is referenced via pointer.
14683
14684 2001-12-17 Ed Schonberg <schonber@gnat.com>
14685
14686 * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
14687 is discrete before analyzing choices.
14688
14689 2001-12-17 Joel Brobecker <brobecke@gnat.com>
14690
14691 * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
14692 containing the name of the Ada Main Program. This string is mainly
14693 intended for the debugger.
14694 (Gen_Output_File_C): Do the equivalent change when generating a C file.
14695
14696 2001-12-17 Robert Dewar <dewar@gnat.com>
14697
14698 * ali.adb: Set new Dummy_Entry field in dependency entry
14699
14700 * ali.ads: Add Dummy_Entry field to source dependency table
14701
14702 * bcheck.adb (Check_Consistency): Ignore dummy D lines
14703
14704 * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
14705
14706 * lib-writ.ads: Document dummy D lines for missing files.
14707
14708 * types.ads: (Dummy_Time_Stamp): New value for non-existant files
14709
14710 2001-12-17 Robert Dewar <dewar@gnat.com>
14711
14712 * ali.adb: Type reference does not reset current file.
14713
14714 * ali.adb: Recognize and scan renaming reference
14715
14716 * ali.ads: Add spec for storing renaming references.
14717
14718 * lib-xref.ads: Add documentation for handling of renaming references
14719
14720 * lib-xref.adb: Implement output of renaming reference.
14721
14722 * checks.adb:
14723 (Determine_Range): Document local variables
14724 (Determine_Range): Make sure Hbound is initialized. It looks as though
14725 there could be a real problem here with an uninitialized reference
14726 to Hbound, but no actual example of failure has been found.
14727
14728 2001-12-17 Laurent Pautet <pautet@gnat.com>
14729
14730 * g-socket.ads:
14731 Fix comment of Shutdown_Socket and Close_Socket. These functions
14732 should not fail silently because if they are called twice, this
14733 probably means that there is a race condition in the user program.
14734 Anyway, this behaviour is consistent with the rest of this unit.
14735 When an error occurs, an exception is raised with the error message
14736 as exception message.
14737
14738 2001-12-17 Robert Dewar <dewar@gnat.com>
14739
14740 * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
14741 that it happens before modification of Sloc values for -gnatD.
14742
14743 * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
14744 so that it happens before modification of Sloc values for -gnatD.
14745
14746 * switch.adb: Minor reformatting
14747
14748 2001-12-15 Richard Henderson <rth@redhat.com>
14749
14750 * sem_ch7.adb: Wrap comment.
14751
14752 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
14753
14754 * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
14755 5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
14756 5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
14757 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
14758 5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
14759 7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
14760 a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
14761 a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
14762 cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
14763 exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
14764 exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
14765 g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
14766 gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
14767 make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
14768 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
14769 repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
14770 s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
14771 s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
14772 s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
14773 s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
14774 sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
14775 sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
14776 sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
14777 sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
14778 spelling errors.
14779
14780 2001-12-14 Vincent Celier <celier@gnat.com>
14781
14782 * osint.adb(Create_Debug_File): When an object file is specified,
14783 put the .dg file in the same directory as the object file.
14784
14785 2001-12-14 Robert Dewar <dewar@gnat.com>
14786
14787 * osint.adb: Minor reformatting
14788
14789 * lib-xref.adb (Output_Instantiation): New procedure to generate
14790 instantiation references.
14791
14792 * lib-xref.ads: Add documentation of handling of generic references.
14793
14794 * ali.adb (Read_Instantiation_Ref): New procedure to read
14795 instantiation references
14796
14797 * ali.ads: Add spec for storing instantiation references
14798
14799 * bindusg.adb: Minor reformatting
14800
14801 * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
14802
14803 * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
14804
14805 * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
14806
14807 * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
14808
14809 * csets.ads:
14810 Fix header format
14811 Add 2001 to copyright date
14812 Add entry for Latin-5 (Cyrillic ISO-8859-5)
14813
14814 2001-12-14 Matt Gingell <gingell@gnat.com>
14815
14816 * adaint.c: mktemp is a macro on Lynx and can not be used as an
14817 expression.
14818
14819 2001-12-14 Richard Kenner <kenner@gnat.com>
14820
14821 * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
14822 if operand is CONSTRUCTOR.
14823
14824 2001-12-14 Ed Schonberg <schonber@gnat.com>
14825
14826 * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
14827 before emiting check on right-hand side, so that exception information
14828 is correct.
14829
14830 2001-12-14 Richard Kenner <kenner@gnat.com>
14831
14832 * utils.c (create_var_decl): Throw away initializing expression
14833 if just annotating types and non-constant.
14834
14835 2001-12-14 Vincent Celier <celier@gnat.com>
14836
14837 * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
14838 Default_Ada_...
14839
14840 * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
14841 Remove functions.
14842 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
14843
14844 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
14845 Remove functions.
14846 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
14847
14848 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
14849
14850 * ChangeLog: Remove piece of diff output.
14851
14852 2001-12-14 Geert Bosch <bosch@gnat.com>
14853
14854 * config-lang.in: Update copyright notice
14855
14856 * layout.adb: Remove commented out code.
14857
14858 * mdllfile.ads: Update copyright notice. Fix header format.
14859
14860 * sem_case.ads: Likewise.
14861
14862 * sem_ch3.adb: Minor reformatting.
14863
14864 2001-12-12 Geert Bosch <bosch@gnat.com>
14865
14866 * freeze.ads: Update copyright date.
14867
14868 * g-comlin.ads: Minor reformatting.
14869
14870 * gnat-style.texi: Fix typo.
14871
14872 2001-12-12 Geert Bosch <bosch@gnat.com>
14873
14874 * einfo.h: Regenerate.
14875
14876 2001-12-12 Ed Schonberg <schonber@gnat.com>
14877
14878 * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
14879 on known node types, rather than untyped fields. Further cleanups.
14880
14881 2001-12-12 Robert Dewar <dewar@gnat.com>
14882
14883 * sem_ch12.adb:
14884 (Save_Entity_Descendant): Minor comment update.
14885 (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
14886 of an N_Attribute_Reference node. As per note below, this does not
14887 eliminate need for Associated_Node in attribute ref nodes.
14888 (Associated_Node): Documentation explicitly mentions attribute
14889 reference nodes, since this field is used in such nodes.
14890
14891 * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
14892
14893 2001-12-12 Robert Dewar <dewar@gnat.com>
14894
14895 * s-stalib.adb: Add more comments on with statements being needed
14896
14897 * par-ch12.adb: Minor reformatting
14898
14899 * prj-dect.ads: Fix copyright header
14900
14901 * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
14902 inputs fit in 32 bits, but the result still overflows.
14903
14904 * s-fatgen.ads: Minor comment improvement
14905
14906 2001-12-12 Ed Schonberg <schonber@gnat.com>
14907
14908 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
14909 formal derived type, look for an inherited component from the full
14910 view of the parent, if any.
14911
14912 2001-12-12 Robert Dewar <dewar@gnat.com>
14913
14914 * checks.ads (Apply_Alignment_Check): New procedure.
14915
14916 * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
14917 ensure that the alignment of objects with address clauses is
14918 appropriate, and raise PE if not.
14919
14920 * exp_util.ads (Must_Be_Aligned): Removed, replaced by
14921 Exp_Pakd.Known_Aligned_Enough
14922
14923 * mdllfile.ads: Minor reformatting
14924
14925 * mlib-fil.ads: Minor reformatting
14926
14927 2001-12-12 Ed Schonberg <schonber@gnat.com>
14928
14929 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
14930 fix to any component reference if enclosing record has non-standard
14931 representation.
14932
14933 2001-12-12 Vincent Celier <celier@gnat.com>
14934
14935 * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
14936 Iteration
14937
14938 2001-12-12 Ed Schonberg <schonber@gnat.com>
14939
14940 * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
14941 sem_attr.
14942
14943 2001-12-12 Robert Dewar <dewar@gnat.com>
14944
14945 * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
14946
14947 2001-12-12 Emmanuel Briot <briot@gnat.com>
14948
14949 * g-regexp.adb: Remove all debug code, since it isn't required anymore,
14950 and it adds dependencies to system.io.
14951
14952 2001-12-12 Pascal Obry <obry@gnat.com>
14953
14954 * g-dirope.adb (Expand_Path.Var): Correctly detect end of
14955 variable name.
14956
14957 2001-12-11 Ed Schonberg <schonber@gnat.com>
14958
14959 * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
14960 that is the parent of other generics, the instance body replaces the
14961 instance node. Retrieve the instance of the spec, which is the one
14962 that is visible in clients and within the body.
14963
14964 2001-12-11 Vincent Celier <celier@gnat.com>
14965
14966 * gnatmain.adb: Initial version.
14967
14968 * gnatmain.ads: Initial version.
14969
14970 * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
14971
14972 * snames.adb: Updated to match snames.ads.
14973
14974 * snames.ads: Added Gnatstub.
14975
14976 2001-12-11 Vincent Celier <celier@gnat.com>
14977
14978 * prj-attr.adb (Initialization_Data): Change name from
14979 Initialisation_Data.
14980
14981 2001-12-11 Emmanuel Briot <briot@gnat.com>
14982
14983 * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
14984 + and * applied to backslashed expressions like \r.
14985
14986 2001-12-11 Vasiliy Fofanov <fofanov@gnat.com>
14987
14988 * g-os_lib.ads: String_List type added, Argument_List type is now
14989 subtype of String_List.
14990
14991 2001-12-11 Robert Dewar <dewar@gnat.com>
14992
14993 * g-os_lib.ads: Change copyright to FSF
14994 Add comments for String_List type
14995
14996 2001-12-11 Vincent Celier <celier@gnat.com>
14997
14998 * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
14999 string to the buffer).
15000
15001 2001-12-11 Ed Schonberg <schonber@gnat.com>
15002
15003 * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
15004 sem_attr.
15005
15006 * sem_attr.adb: Simplify previous fix for Address.
15007 (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
15008 to avoid anomalies where the bound of the type appears to raise
15009 constraint error.
15010
15011 2001-12-11 Robert Dewar <dewar@gnat.com>
15012
15013 * lib-xref.adb (Output_Refs): Make sure pointers are always properly
15014 handled.
15015
15016 2001-12-11 Ed Schonberg <schonber@gnat.com>
15017
15018 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
15019 renamed unit before checking for recursive instantiations.
15020
15021 2001-12-11 Emmanuel Briot <briot@gnat.com>
15022
15023 * prj.ads: Add comments for some of the fields.
15024
15025 2001-12-11 Robert Dewar <dewar@gnat.com>
15026
15027 * lib-xref.adb (Output_Refs): Don't output type references outside
15028 the main unit if they are not otherwise referenced.
15029
15030 2001-12-11 Ed Schonberg <schonber@gnat.com>
15031
15032 * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
15033 code and diagnose additional illegal uses
15034
15035 * sem_util.adb (Is_Object_Reference): An indexed component is an
15036 object only if the prefix is.
15037
15038 2001-12-11 Vincent Celier <celier@gnat.com>
15039
15040 * g-diopit.adb: Initial version.
15041
15042 * g-diopit.ads: Initial version.
15043
15044 * g-dirope.adb:
15045 (Expand_Path): Avoid use of Unbounded_String
15046 (Find, Wildcard_Iterator): Moved to child package Iteration
15047
15048 * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
15049
15050 2001-12-11 Robert Dewar <dewar@gnat.com>
15051
15052 * sem_attr.adb: Minor reformatting
15053
15054 2001-12-11 Ed Schonberg <schonber@gnat.com>
15055
15056 * sem_ch3.adb: Clarify some ???.
15057
15058 2001-12-11 Robert Dewar <dewar@gnat.com>
15059
15060 * exp_util.adb (Must_Be_Aligned): Removed, replaced by
15061 Exp_Pakd.Known_Aligned_Enough
15062
15063 * sem_ch13.adb (Check_Address_Alignment): Removed, extended
15064 version is moved to Exp_Ch13.
15065
15066 2001-12-11 Robert Dewar <dewar@gnat.com>
15067
15068 * einfo.ads: Minor reformatting
15069
15070 * exp_ch5.adb: Add comment for previous.change
15071
15072 * ali.adb: New interface for extended typeref stuff.
15073
15074 * ali.ads: New interface for typeref stuff.
15075
15076 * checks.adb (Apply_Alignment_Check): New procedure.
15077
15078 * debug.adb: Add -gnatdM for modified ALI output
15079
15080 * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
15081
15082 * lib-xref.adb: Extend generation of <..> notation to cover
15083 subtype/object types. Note that this is a complete rewrite,
15084 getting rid of the very nasty quadratic algorithm previously
15085 used for derived type output.
15086
15087 * lib-xref.ads: Extend description of <..> notation to cover
15088 subtype/object types. Uses {..} for these other cases.
15089 Also use (..) for pointer types.
15090
15091 * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
15092
15093 * exp_pakd.adb: Minor reformatting. Note that prevous RH should say:
15094 (Known_Aligned_Enough): Replaces Must_Be_Aligned.
15095
15096 2001-12-11 Vincent Celier <celier@gnat.com>
15097
15098 * gnatcmd.adb:
15099 Changed /COMPILE_ONLY to /ACTIONS=COMPILE
15100 Changed /BIND_ONLY to /ACTIONS=BIND
15101 Changed /LINK_ONLY to /ACTIONS=LINK
15102
15103 2001-12-11 Ed Schonberg <schonber@gnat.com>
15104
15105 * sem_ch8.adb (Find_Selected_Component): improved search for a
15106 candidate package in case of error.
15107
15108 * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
15109 chain back on scope stack before reinstalling use clauses.
15110
15111 * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
15112 is enabled, do not kill the code for the condition, to preserve
15113 warning.
15114
15115 2001-12-11 Robert Dewar <dewar@gnat.com>
15116
15117 * checks.adb (Insert_Valid_Check): Apply validity check to expression
15118 of conversion, not to result of conversion.
15119
15120 2001-12-11 Ed Schonberg <schonber@gnat.com>
15121
15122 * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
15123 before freezing parent. If the declarations are mutually recursive,
15124 an access to the current record type may be frozen before the
15125 derivation is complete.
15126
15127 2001-12-05 Vincent Celier <celier@gnat.com>
15128
15129 * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
15130 -c /COMPILE_ONLY, -l /LINK_ONLY
15131
15132 * opt.ads:
15133 (Bind_Only): New Flag
15134 (Link_Only): New flag
15135
15136 * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
15137 and -l (Link_Only)
15138
15139 * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
15140
15141 * make.adb:
15142 (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
15143 (Gnatmake): Set the step flags. Only perform a step if the
15144 corresponding step flag is True.
15145 (Scan_Make_Arg): Reset the bind and link step flags when -u
15146 or -gnatc has been specified.
15147
15148 2001-12-05 Ed Schonberg <schonber@gnat.com>
15149
15150 * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
15151 get bounds from right operand.
15152
15153 * sem_eval.adb: Minor reformatting
15154
15155 * exp_util.adb (Make_Literal_Range): use bound of literal rather
15156 than Index'First, its lower bound may be different from 1.
15157
15158 * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
15159 and C48009J
15160
15161 2001-12-05 Vincent Celier <celier@gnat.com>
15162
15163 * prj-nmsc.adb Minor reformatting
15164
15165 * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
15166 set and libraries are not supported.
15167
15168 2001-12-05 Ed Schonberg <schonber@gnat.com>
15169
15170 * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
15171 private view explicitly, so the back-end can treat as a global
15172 when appropriate.
15173
15174 2001-12-05 Ed Schonberg <schonber@gnat.com>
15175
15176 * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
15177 unit, always replace instance node with new body, for ASIS use.
15178
15179 2001-12-05 Vincent Celier <celier@gnat.com>
15180
15181 * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
15182 libraries are not supported and both attributes Library_Name and
15183 Library_Dir are specified.
15184
15185 * prj-proc.adb (Expression): Set location of Result to location of
15186 first term.
15187
15188 * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
15189 (prj-nmsc is now importing MLib.Tgt)
15190
15191 * prj-proc.adb: Put the change indicated above that was forgotten.
15192
15193 2001-12-05 Robert Dewar <dewar@gnat.com>
15194
15195 * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
15196
15197 2001-12-05 Ed Schonberg <schonber@gnat.com>
15198
15199 * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
15200 constraint, introduce explicit subtype declaration and derive from it.
15201
15202 * sem_ch3.adb: Minor reformatting
15203
15204 2001-12-05 Robert Dewar <dewar@gnat.com>
15205
15206 * checks.adb (Determine_Range): Increase cache size for checks.
15207 Minor reformatting
15208
15209 * exp_ch6.adb: Minor reformatting
15210 (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
15211 a parameter whose root type is System.Address, since treating such
15212 subprograms as pure in the code generator is almost surely a mistake
15213 that will lead to unexpected results.
15214
15215 * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
15216 change handling of conversions.
15217
15218 * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
15219
15220 2001-12-05 Ed Schonberg <schonber@gnat.com>
15221
15222 * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
15223 aggregate with static wrong size, attach generated Raise node to
15224 declaration.
15225
15226 2001-12-05 Robert Dewar <dewar@gnat.com>
15227
15228 * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
15229 Fixes compilation abandoned bomb in B24009B.
15230
15231 2001-12-05 Ed Schonberg <schonber@gnat.com>
15232
15233 * sem_ch12.adb:
15234 Document use of Associated_Node on Selected_Components.
15235 (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
15236 to clarify use of untyped descendant fields.
15237
15238 2001-12-05 Robert Dewar <dewar@gnat.com>
15239
15240 * prj-dect.ads: Add ??? comment
15241 Add 2001 to copyright notice (was not done in after all)
15242
15243 * prj-part.adb: Minor reformatting. Reword one awkward error message.
15244
15245 * prj.ads: Minor reformatting throughout, and add some ??? comments
15246
15247 * snames.ads: Minor reformatting
15248
15249 2001-12-05 Geert Bosch <bosch@gnat.com>
15250
15251 * snames.adb: Autoupdate
15252
15253 2001-12-05 Vincent Celier <celier@gnat.com>
15254
15255 * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
15256
15257 * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
15258
15259 * prj-env.adb: Minor comment changes (modifying -> extends).
15260
15261 * prj-nmsc.adb: Minor comment changes (modifying -> extends).
15262
15263 * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
15264 Tok_Extends.
15265
15266 * prj.adb (Initialize): Change Modifying to Extends.
15267
15268 * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
15269
15270 * prj.ads: Minor comment change (Modifying -> extending).
15271
15272 * snames.ads: Change modifying to extends.
15273
15274 2001-12-05 Robert Dewar <dewar@gnat.com>
15275
15276 * sem_warn.adb: Remove stuff for conditionals, we are not going to
15277 do this after all.
15278
15279 * sem_warn.ads: Remove stuff for conditionals, we are not going to
15280 do this after all. Add 2001 to copyright notice
15281
15282 2001-12-04 Geert Bosch <bosch@gnat.com>
15283
15284 * einfo.h, sinfo.h, treeprs.ads: Regenerate.
15285
15286 2001-12-04 Robert Dewar <dewar@gnat.com>
15287
15288 * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
15289 location if we already have errors. Stops some cases of cascaded
15290 errors.
15291
15292 * errout.adb: Improve comment.
15293
15294 2001-12-04 Robert Dewar <dewar@gnat.com>
15295
15296 * sem_ch12.adb:
15297 (Analyze_Formal_Type_Definition): Defend against Error.
15298 (Analyze_Formal_Subprogram): Defend against Error.
15299
15300 * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
15301 remove following semicolon if present. Removes cascaded error.
15302
15303 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
15304
15305 * bindgen.adb:
15306 (Gen_Exception_Table_Ada): Write "begin" and then return if Num
15307 exceptions equals 0.
15308 (Gen_Exception_Table_C): Return if Num exceptions equals 0.
15309 Fixes PIWG E tests (which have to be run with -gnatL).
15310
15311 2001-12-04 Robert Dewar <dewar@gnat.com>
15312
15313 * einfo.ads: Minor reformatting
15314
15315 2001-12-04 Ed Schonberg <schonber@gnat.com>
15316
15317 * einfo.ads: Block_Node points to the identifier of the block, not to
15318 the block node itself, to preserve the link when the block is
15319 rewritten, e.g. within an if-statement with a static condition.
15320
15321 * inline.adb (Cleanup_Scopes): recover block statement from block
15322 entity using new meaning of Block_Node.
15323
15324 * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
15325 identifier of block node, rather than to node itself.
15326
15327 2001-12-04 Gary Dismukes <dismukes@gnat.com>
15328
15329 * layout.adb:
15330 (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
15331 (Discrimify): Go back to setting the Etypes of the selected component
15332 because the Vname component does not exist at this point and will
15333 fail name resolution. Also set Analyzed.
15334 Remove with and use of Sem_Res.
15335
15336 2001-12-04 Arnaud Charlet <charlet@gnat.com>
15337
15338 * Makefile.in: (HIE_SOURCES): add s-fat*.
15339
15340 2001-12-04 Robert Dewar <dewar@gnat.com>
15341
15342 * sem_attr.adb:
15343 (Compile_Time_Known_Attribute): New procedure.
15344 (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
15345 proper range check.
15346
15347 2001-12-04 Ed Schonberg <schonber@gnat.com>
15348
15349 * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
15350 processing discriminants to diagnose illegal default values.
15351
15352 2001-12-04 Ed Schonberg <schonber@gnat.com>
15353
15354 * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
15355 access discriminant within a type extension that constrains its
15356 parent discriminants.
15357
15358 2001-12-04 Ed Schonberg <schonber@gnat.com>
15359
15360 * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
15361 is malformed, use instance of Any_Id to allow analysis to proceed.
15362
15363 * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
15364 type definition is illegal.
15365 (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
15366 misplaced.
15367
15368 2001-12-04 Ed Schonberg <schonber@gnat.com>
15369
15370 * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
15371 constants.
15372
15373 2001-12-04 Robert Dewar <dewar@gnat.com>
15374
15375 * errout.adb: Minor reformatting
15376
15377 2001-12-04 Robert Dewar <dewar@gnat.com>
15378
15379 * exp_util.adb: Minor reformatting from last change
15380
15381 * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
15382 which is a rewriting of an expression, traverse the original
15383 expression to remove warnings that may have been posted on it.
15384
15385 2001-12-04 Ed Schonberg <schonber@gnat.com>
15386
15387 * exp_util.adb (Must_Be_Aligned): Return false for a component of a
15388 record that has other packed components.
15389
15390 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
15391
15392 * adaint.c: Minor cleanups.
15393
15394 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
15395
15396 * adaint.c: Do not use utime.h on vxworks.
15397
15398 2001-12-04 Arnaud Charlet <charlet@gnat.com>
15399
15400 * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
15401 more confusion than it solves.
15402
15403 2001-12-04 Geert bosch <bosch@gnat.com>
15404
15405 * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
15406
15407 2001-12-04 Geert Bosch <bosch@gnat.com>
15408
15409 * Makefile.in (update-sources): New target.
15410 For use by gcc_release script.
15411
15412 2001-12-04 Ed Schonberg <schonber@gnat.com>
15413
15414 * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
15415 a configuration pragma, it is now legal wherever a pragma can appear.
15416
15417 2001-12-04 Zack Weinberg <zack@codesourcery.com>
15418
15419 * Makefile.in: Don't set ALL. Delete @cross_defines@,
15420 @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS
15421 is now @CROSS@ -DIN_GCC; update comment.
15422
15423 2001-12-04 Robert Dewar <dewar@gnat.com>
15424
15425 * einfo.adb (Has_Pragma_Pure_Function): New flag.
15426 Fix problem that stopped ceinfo from working
15427
15428 * einfo.ads (Has_Pragma_Pure_Function): New flag.
15429
15430 * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
15431
15432 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
15433
15434 * gnatchop.adb:
15435 (File_Time_Stamp): New procedure.
15436 (Preserve_Mode): New boolean.
15437 (Write_Unit): Pass time stamp.
15438 Implement -p switch (preserve time stamps).
15439
15440 * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
15441
15442 * gnatchop.adb: Do usage info for -p switch
15443
15444 * adaint.h (__gnat_set_file_time_name): New function
15445
15446 * adaint.c (__gnat_set_file_time_name): Implement
15447
15448 * adaint.h: Fix typo
15449
15450 2001-12-03 Robert Dewar <dewar@gnat.com>
15451
15452 * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
15453 have Associated_Node.
15454
15455 2001-12-03 Robert Dewar <dewar@gnat.com>
15456
15457 * prj-proc.adb: Minor reformatting
15458
15459 * make.adb: Minor reformatting
15460
15461 2001-12-03 Geert Bosch <bosch@gnat.com>
15462
15463 * make.adb: Minor reformatting.
15464
15465 2001-12-03 Robert Dewar <dewar@gnat.com>
15466
15467 * sem_ch12.adb: Minor reformatting
15468
15469 2001-12-03 Ed Schonberg <schonber@gnat.com>
15470
15471 * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
15472 push Standard on the stack before analyzing the instance body,
15473 in order to have a clean visibility environment.
15474
15475 * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
15476
15477 2001-12-03 Ed Schonberg <schonber@gnat.com>
15478
15479 * sem_ch12.adb (Instantiate_Package_Body): Protect against double
15480 instantiation of a body that contains an inlined body.
15481
15482 2001-12-03 Ed Schonberg <schonber@gnat.com>
15483
15484 * sem_ch12.adb:
15485 (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
15486 to prevent freezing within formal packages.
15487 (Freeze_Subprogram_Body): If body comes from another instance that
15488 appeared before its own body, place freeze node at end of current
15489 declarative part, to prevent a back-end crash.
15490 (Inline_Instance_Body): Handle properly a package instance within
15491 a subprogram instance that is a child unit.
15492
15493 2001-12-01 Graham Stott <grahams@redhat.com>
15494
15495 * Makefile.in (misc.o): Add missing $(srcdir) prefix
15496 and add optabs.h dependency.
15497
15498 * misc.c: Include optabs.h
15499 (gnat_tree_code_type): Make static and const.
15500 (gnat_tree_code_length): Likewise.
15501 (gnat_tree_code_name): Likewise.
15502 (update_setjmp_buf): Obtain operands mode from insn_data.
15503
15504 2001-11-29 Richard Henderson <rth@redhat.com>
15505
15506 * init.c: Remove obsolete dwarf2 frame.h section.
15507
15508 2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
15509
15510 * Make-lang.in (ada.generated-manpages): New dummy target.
15511
15512 2001-11-29 Ed Schonberg <schonber@gnat.com>
15513
15514 * g-os_lib.adb (Add_To_Command): use explicit loop to move string
15515 into Command, an array conversion is illegal here. Uncovered by
15516 ACATS B460005.
15517
15518 2001/11/28 Geert Bosch <bosch@gnat.com>
15519
15520 * init.c: Minor whitespace changes.
15521
15522 2001-11-28 Doug Rupp <rupp@gnat.com>
15523
15524 * init.c: (__gnat_install_handler,VMS): Increase size of alternate
15525 signal stack.
15526
15527 2001-11-28 Zack Weinberg <zack@codesourcery.com>
15528
15529 * misc.c (gnat_expand_constant): Move declaration above
15530 definition of lang_hooks.
15531 (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
15532 (gnat_init): lang_expand_constant no longer exists.
15533
15534 (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
15535 always have vprintf.
15536 (gnat_init): Always call set_internal_error_function.
15537
15538 2001-11-27 Andreas Jaeger <aj@suse.de>
15539
15540 * Makefile.in (stamp-tool_src_dir): Use symbolic link.
15541
15542 2001-11-27 Laurent Guerby <guerby@acm.org>
15543
15544 * Makefile.in: Regenerate Ada dependencies.
15545
15546 2001-11-26 Richard Henderson <rth@redhat.com>
15547
15548 * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
15549 gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
15550 gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
15551
15552 2001-11-25 Laurent Guerby <guerby@acm.org>
15553
15554 * sysdep.c (rts_get_*): Fix style.
15555
15556 2001-11-19 Laurent Guerby <guerby@acm.org>
15557
15558 * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
15559 since it is of no apparent use and cause warnings.
15560
15561 2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
15562
15563 * misc.c (gnat_decode_option, gnat_init_options): Make definitions
15564 static too.
15565 (gnat_init): Don't return NULL.
15566 (finish_parse): Remove.
15567
15568 2001-11-17 Laurent Guerby <guerby@acm.org>
15569
15570 * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
15571 * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
15572 * io-aux.c: Provide K&R prototypes to all functions, reformat code.
15573 * lang-spec.h: Add missing struct field to silence warnings.
15574 * sysdep.c (rts_get_*): Provide K&R prototype.
15575 * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
15576 * traceback.c (Unlock_Task, Lock_Task): Likewise.
15577 * tracebak.c (__gnat_backtrace): Remove unused variable.
15578 * utils.c (end_subprog_body): Move to K&R style.
15579
15580 Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15581
15582 * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
15583
15584 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
15585
15586 * misc.c (gnat_init): Change prototype. Include the
15587 functionality of the old init_parse and init_decl_processing.
15588 (gnat_init_decl_processing): New prototype.
15589 (init_parse): Remove.
15590 * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
15591
15592 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
15593
15594 * misc.c (gnat_print_decl, gnat_print_type): Renamed.
15595 (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
15596 (print_lang_statistics, lang_print_xnode, print_lang_identifier,
15597 set_yydebug): Remove.
15598
15599 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
15600
15601 * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
15602 (struct lang_hooks): Constify.
15603 (language_string, lang_identify): Remove.
15604 * utils.c (init_decl_processing): Update.
15605
15606 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
15607
15608 * misc.c: Include langhooks-def.h.
15609 * Makefile.in: Update.
15610
15611 2001-10-30 Robert Dewar <dewar@gnat.com>
15612
15613 * style.adb:
15614 (Check_Identifier): Rewrite circuit to be compatible with use of letters
15615 in the upper half of ASCII.
15616 (Check_Identifier): Minor reformatting
15617
15618 2001-10-30 Geert Bosch <bosch@gnat.com>
15619
15620 * (Associated_Node, Set_Associated_Node): Do not check for
15621 Freeze_Entity.
15622
15623 2001-10-30 Robert Dewar <dewar@gnat.com>
15624
15625 * a-reatim.ads: Minor reformatting
15626
15627 2001-10-30 Robert Dewar <dewar@gnat.com>
15628
15629 * gnatdll.adb: Minor reformatting throughout. Many ??? added for
15630 undocumented declarations.
15631
15632 2001-10-30 Pascal Obry <obry@gnat.com>
15633
15634 * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
15635 to the binder and linker.
15636 Minor style fix.
15637
15638 * mdll.ads: Fix layout. Update copyright notice.
15639
15640 * mdll.adb: Fix layout. Update copyright notice.
15641
15642 2001-10-30 Robert Dewar <dewar@gnat.com>
15643
15644 * usage.adb: Minor fix to output for -gnaty.
15645
15646 2001-10-30 Ed Schonberg <schonber@gnat.com>
15647
15648 * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
15649 to accommodate all its possible values.
15650
15651 * a-reatim.adb (Split): Special-case handling of Time_Span_First
15652 and of small absolute values of T.
15653
15654 2001-10-30 Richard Kenner <kenner@gnat.com>
15655
15656 * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
15657 set_mem_attributes since not needed and wrong if RESULT if a REG;
15658 fixes ACATS failures.
15659
15660 2001-10-30 Geert Bosch <bosch@gnat.com>
15661
15662 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
15663 s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
15664
15665 2001-10-30 Robert Dewar <dewar@gnat.com>
15666
15667 * bindusg.adb: Undocument -f switch.
15668
15669 * gnatcmd.adb: Remove /FULL_ELABORATION.
15670
15671 * opt.ads (Force_RM_Elaboration_Order): Document that this is
15672 obsolescent.
15673
15674 * gnatbind.adb: Output new warning for use of obsolescent -f switch.
15675
15676 * gnatbind.adb: Minor update of warning msg.
15677
15678 2001-10-30 Vincent Celier <celier@gnat.com>
15679
15680 * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
15681 for project file switches (-P (/PROJECT_FILE=),
15682 -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
15683 or MEDIUM or HIGH)
15684
15685 2001-10-30 Geert Bosch <bosch@gnat.com>
15686
15687 * decl.c: Minor whitespace fixes.
15688
15689 2001-10-30 Richard Kenner <kenner@gnat.com>
15690
15691 * utils2.c (build_allocator): Test for SIZE overflow in array case too
15692
15693 2001-10-30 Geert Bosch <bosch@gnat.com>
15694
15695 * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
15696 Found due to GCC 3.0 warning of using uninitialized value.
15697
15698 * layout.adb:
15699 (Get_Max_Size): Use variant record for tracking value/expression.
15700 Makes logic clearer and prevents warnings for uninitialized variables.
15701 (Layout_Array_Type): Use variant record for tracking value/expression.
15702 Makes logic clearer and prevents warnings for uninitialized variables.
15703
15704 2001-10-30 Robert Dewar <dewar@gnat.com>
15705
15706 * lib.adb: Minor reformatting
15707
15708 * s-taprop.ads: Minor reformatting
15709
15710 2001-10-29 Laurent Guerby <guerby@acm.org>
15711
15712 * init.c:
15713 (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
15714 const.
15715 (_gnat_error_handler): Make MSG const.
15716
15717 2001-10-29 Richard Kenner <kenner@gnat.com>
15718
15719 * sysdep.c: Fix localtime_r problem on LynxOS.
15720 Also remove #elif to avoid warnings.
15721
15722 * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
15723 used by this.
15724
15725 * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
15726
15727 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
15728
15729 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
15730 exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
15731 g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
15732 g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
15733 layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
15734 s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
15735 sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
15736 sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
15737 sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
15738 types.ads, urealp.adb: Fix spelling errors.
15739
15740 2001-10-27 Laurent Guerby <guerby@acm.org>
15741
15742 * trans.c (gigi): Fix non determinism leading to bootstrap
15743 comparison failures for debugging information.
15744
15745 2001-10-26 Florian Weimer <fw@deneb.enyo.de>
15746
15747 * gnat_rm.texi: Use @./@: where appropriate.
15748
15749 2001-10-26 Robert Dewar <dewar@gnat.com>
15750
15751 * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
15752
15753 2001-10-26 Richard Kenner <kenner@gnat.com>
15754
15755 * gmem.c (__gnat_gmem_read_next): Properly check for EOF
15756
15757 2001-10-26 Richard Kenner <kenner@gnat.com>
15758
15759 * decl.c (validate_size): Modify message for bad size to avoid
15760 implication that compiler is modifying the size.
15761
15762 2001-10-26 Robert Dewar <dewar@gnat.com>
15763
15764 * prj-util.adb: Minor reformatting. Fix bad header format.
15765
15766 2001-10-26 Robert Dewar <dewar@gnat.com>
15767
15768 * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
15769
15770 * sinfo.ads: Clarify use of Associated_Node (documentation only).
15771
15772 * sem_ch12.adb: Change Node4 to Associated_Node. Change
15773 Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
15774 much more narrowly in places where needed. These are cleanups.
15775
15776 2001-10-26 Joel Brobecker <brobecke@gnat.com>
15777
15778 * 5zosinte.ads (null_pthread): new constant.
15779
15780 * 5ztaprop.adb:
15781 (Initialize_TCB): Initialize thread ID to null, to be able to verify
15782 later that this field has been set.
15783 (Finalize_TCB): ditto.
15784 (Suspend_Task): Verify that the thread ID is not null before using it.
15785 (Resume_Task): ditto.
15786
15787 * s-tasdeb.adb:
15788 (Resume_All_Tasks): Lock the tasks list before using it.
15789 (Suspend_All_Tasks): ditto.
15790
15791 2001-10-26 Richard Kenner <kenner@gnat.com>
15792
15793 * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
15794 Make constant variant of designated type for Is_Access_Constant.
15795 Call update_pointer_to with main variant.
15796
15797 * trans.c (process_freeze_entity, process_type):
15798 Call update_pointer_to on main variant.
15799
15800 * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
15801 If main variant, update all other variants.
15802
15803 * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
15804 TREE_STATIC.
15805
15806 2001-10-26 Robert Dewar <dewar@gnat.com>
15807
15808 * prj-util.adb: Minor reformatting
15809
15810 2001-10-26 Robert Dewar <dewar@gnat.com>
15811
15812 * prj-util.adb: Minor reformatting
15813
15814 2001-10-26 Robert Dewar <dewar@gnat.com>
15815
15816 * prj-attr.adb: Minor reformatting throughout
15817
15818 2001-10-26 Robert Dewar <dewar@gnat.com>
15819
15820 * prj-attr.ads: Minor reformatting
15821 Add ??? comment (this whole spec has almost no comments)
15822
15823 2001-10-26 Vincent Celier <celier@gnat.com>
15824
15825 * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
15826 ("//") that precede the drive letter on Interix.
15827
15828 2001-10-26 Geert Bosch <bosch@gnat.com>
15829
15830 * gnat_rm.texi: Add GNAT Reference Manual.
15831
15832 2001-10-25 Robert Dewar <dewar@gnat.com>
15833
15834 * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
15835 is Error. Similar change for other renaming cases.
15836
15837 2001-10-25 Robert Dewar <dewar@gnat.com>
15838
15839 * s-atacco.ads: Add pragma Inline_Always for functions.
15840 Fix header format. Add copyright 2001
15841
15842 2001-10-25 Ed Schonberg <schonber@gnat.com>
15843
15844 * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
15845 return Error rather than Empty so that analysis can proceed.
15846
15847 2001-10-25 Ed Schonberg <schonber@gnat.com>
15848
15849 * sem_util.adb (Enter_Name): better handling of cascaded error
15850 messages when a unit appears in its own context.
15851
15852 2001-10-25 Ed Schonberg <schonber@gnat.com>
15853
15854 * sem_util.adb (Defining_Entity): in case of error, attach created
15855 entity to specification, so that semantic analysis can proceed.
15856
15857 2001-10-25 Robert Dewar <dewar@gnat.com>
15858
15859 * sem_util.adb
15860 (Defining_Entity): Deal with Error.
15861 (Process_End_Label): Deal with bad end label for.
15862
15863 2001-10-25 Ed Schonberg <schonber@gnat.com>
15864
15865 * sem_elab.adb (Check_A_Call): refine message when call is in an
15866 instance but callee is not declared in the generic unit.
15867
15868 2001-10-25 Ed Schonberg <schonber@gnat.com>
15869
15870 * sem_elab.adb (Check_A_Call): check for renaming before finding the
15871 enclosing unit, which may already be different from the calling unit.
15872
15873 2001-10-25 Geert Bosch <bosch@gnat.com>
15874
15875 * 4gintnam.ads: fix header format.
15876
15877 2001-10-25 Ed Schonberg <schonber@gnat.com>
15878
15879 * sem_res.adb (Resolve_Call): if the call is actually an indexing
15880 operation on the result of a parameterless call, perform elaboration
15881 check after the node has been properly rewritten.
15882
15883 * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
15884 inlined within the generic tree, the defining identifier is not a
15885 compilation_unit.
15886
15887 2001-10-25 Ed Schonberg <schonber@gnat.com>
15888
15889 * sem_res.adb (Resolve): special-case resolution of Null in an
15890 instance or an inlined body to avoid view conflicts.
15891
15892 * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
15893 compatibility by retrieving the access type of the generic copy.
15894
15895 2001-10-25 Robert Dewar <dewar@gnat.com>
15896
15897 * sem_ch3.adb:
15898 (Analyze_Number_Declaration): Handle error expression.
15899 (Signed_Integer_Type_Declaration): Handle error bound.
15900 (Analyze_Subtype_Indication): Handle error range.
15901
15902 * sem_util.adb (Get_Index_Bounds): Check for Error.
15903
15904 2001-10-25 Robert Dewar <dewar@gnat.com>
15905
15906 * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
15907 in no run time mode.
15908
15909 2001-10-25 Pascal Obry <obry@gnat.com>
15910
15911 * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
15912 mode case for ALLOC case.
15913
15914 * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
15915 all platforms. Improvement of last change.
15916
15917 2001-10-25 Robert Dewar <dewar@gnat.com>
15918
15919 * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
15920
15921 2001-10-25 Geert Bosch <bosch@gnat.com>
15922
15923 * osint.adb (Is_Relative): Remove duplicate.
15924
15925 2001-10-25 Pascal Obry <obry@gnat.com>
15926
15927 * osint.adb (Read_Default_Search_Dirs): correctly detect relative
15928 pathnames in UNIX and DOS style with drive letter.
15929 (Is_Relative): new routine.
15930
15931 * osint.adb: Minor reformatting
15932
15933 * osint.adb (Is_Relative): implementation using
15934 GNAT.OS_Lib.Is_Absolute_Path. Better fix.
15935
15936 2001-10-25 Pascal Obry <obry@gnat.com>
15937
15938 * g-dirope.adb (Basename): correctly compute offset between the
15939 original Path and the translated one.
15940
15941 * g-dirope.adb: (Base_Name): add some comments.
15942
15943 2001-10-25 Robert Dewar <dewar@gnat.com>
15944
15945 * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
15946 in HIE mode, avoids compilation abandoned message
15947
15948 * exp_imgv.adb: Correct typo in previous change
15949
15950 * exp_imgv.adb: Correct typo in previous change (not my day!)
15951
15952 2001-10-25 Robert Dewar <dewar@gnat.com>
15953
15954 * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
15955
15956 2001-10-25 Pascal Obry <obry@gnat.com>
15957
15958 * g-awk.ads: Move all pragma inlines next to the routine
15959 declarations. This is more uniform with other GNAT spec.
15960
15961 2001-10-22 Geert Bosch <bosch@gnat.com>
15962
15963 * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
15964
15965 2001-10-19 Geert Bosch <bosch@gnat.com>
15966
15967 * Makefile.in (tools, gnattools): Remove gnatmem.
15968
15969 2001-10-17 Richard Henderson <rth@redhat.com>
15970
15971 * Makefile.in (misc.o): Depend on langhooks.h.
15972 * misc.c: Include it.
15973 (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
15974 (LANG_HOOKS_DECODE_OPTION): New.
15975 (lang_hooks): Use LANG_HOOKS_INITIALIZER.
15976
15977 2001-10-16 Florian Weimer <fw@deneb.enyo.de>
15978
15979 * trans.c (tree_transform): Adjust to recent change in
15980 expand_asm_operands to implement named asm operands.
15981
15982 2001-10-11 Ed Schonberg <schonber@gnat.com>
15983
15984 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
15985 renaming of discriminant for mutable record type.
15986
15987 2001-10-11 Robert Dewar <dewar@gnat.com>
15988
15989 * validsw.adb: Properly save -gnatVn status.
15990
15991 2001-10-11 Robert Dewar <dewar@gnat.com>
15992
15993 * usage.adb: Add lines for V switch.
15994
15995 * gnatcmd.adb (COMPILE): Revise translations for -gnatV
15996 (/VALIDITY_CHECKING).
15997
15998 2001-10-11 Ed Schonberg <schonber@gnat.com>
15999
16000 * sem_type.adb (Add_One_Interp): an operator for a type declared in
16001 an extension of System is known to be visible.
16002
16003 2001-10-11 Ed Schonberg <schonber@gnat.com>
16004
16005 * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
16006 properly. Fixes regression on ACATS C34005G.
16007
16008 2001-10-11 Robert Dewar <dewar@gnat.com>
16009
16010 * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
16011 loop in generic instance, since this is likely not very useful.
16012
16013 2001-10-11 Robert Dewar <dewar@gnat.com>
16014
16015 * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
16016 the error message for high integrity mode.
16017
16018 * rtsfind.adb (RTE): Give message if we try to find an entity that
16019 is not available in high integrity mode.
16020
16021 * rtsfind.ads:
16022 (OK_To_Use_In_HIE_Mode): New array.
16023 (RTE): May return Empty in high integrity mode.
16024
16025 * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
16026 OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
16027
16028 * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
16029 unit if not inlined always and in no runtime mode. Fixes problem
16030 caused by new Rtsfind changes.
16031
16032 * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
16033 body is deleted.
16034
16035 * rtsfind.adb (RTE): Make sure we do not try to load unit after
16036 giving message for entity not available in high integrity mode.
16037
16038 2001-10-11 Pascal Obry <obry@gnat.com>
16039
16040 * impunit.adb: Add GNAT.CRC32.
16041
16042 2001-10-11 Ed Schonberg <schonber@gnat.com>
16043
16044 * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
16045 properly the case where one universal operand in a non-static
16046 exponentiation of a real literal.
16047
16048 2001-10-11 Ed Schonberg <schonber@gnat.com>
16049
16050 * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
16051 clause, return the gobal finalization list, for lack of anthing else.
16052
16053 2001-10-11 Ed Schonberg <schonber@gnat.com>
16054
16055 * exp_ch7.adb (Make_Transient_Block): if statement is within
16056 exception handler, always use new transient scope to place Clean
16057 procedure.
16058
16059 2001-10-11 Pascal Obry <obry@gnat.com>
16060
16061 * Makefile.in:
16062 (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
16063 (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
16064 (GNATLS_RTL_OBJS): add g-crc32.o
16065 (GNATMAKE_RTL_OBJS): add g-crc32.o
16066
16067 * ali-util.adb:
16068 (CRC_Match): new function.
16069 (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
16070 instead of the previous simple checksum algorithm.
16071 (Time_Stamp_Mismatch): use CRC_Match for comparison.
16072 (Set_Source_Table): idem.
16073
16074 * ali-util.ads:
16075 (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
16076 instead of simple checksum.
16077 (CRC_Match): new function.
16078 (CRC_Error): new constant.
16079
16080 * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
16081 a CRC now and not a simple checksum. A CRC uses lower-case hex
16082 letters, fixes ambiguity in parsing.
16083
16084 * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
16085 is what this variable will store.
16086
16087 * bcheck.adb: Change reference to chechsum in comments by CRC.
16088 (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
16089 rename All_Checksum_Match to All_CRC_Match. Change due to API
16090 renaming since now GNAT does not use a simple checksum but a
16091 CRC using GNAT.CRC32.
16092
16093 * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
16094 now and not anymore a simple checksum.
16095
16096 * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
16097 places.
16098
16099 * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
16100
16101 * scans.adb:
16102 (Restore_Scan_State): rename Checksum to CRC.
16103 (Save_Scan_State): idem.
16104
16105 * scans.ads:
16106 With GNAT.CRC32.
16107 (Checksum): rename to CRC.
16108 (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
16109
16110 * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
16111 GNAT.CRC32). Update copyright notice.
16112
16113 * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
16114 GNAT.CRC32). Update copyright notice.
16115
16116 * scn.adb:
16117 (Accumulate_Checksum): removed.
16118 (Update): new procedure. Add a wide-character into the CRC.
16119
16120 * sinput-l.adb:
16121 (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
16122 (Load_File): fix initialization of S (change Source_Checksum to
16123 Source_CRC)
16124
16125 * sinput-p.adb (Load_Project_File): rename Source_Checksum to
16126 Source_CRC in S initialization.
16127
16128 * sinput.adb (Source_Checksum): renamed to Source_CRC.
16129
16130 * sinput.ads (Source_Checksum): renamed to Source_CRC.
16131 Update comments for the CRC.
16132
16133 * types.adb (Hex): Use lowercase for the letter part.
16134
16135 * types.ads (Get_Hex_String): Returns the hexadecimal representation
16136 for a word. This is currently used only for CRC. In previous version,
16137 the checksum was using a representation with all letter being
16138 upper-case. With the new implementation (using CRC) we do not remove
16139 the 32th bit of the CRC, so we can have an upper-case starting letter
16140 in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
16141 It is ambigous since the CRC was optional and could be followed by
16142 options like EB, EE. So now this routines uses lower-case letter for
16143 the hexadecimal representation. Strange enough only lower case letters
16144 where checked in Scan_ALI (even if this was not a possible case).
16145
16146 * gnatvsn.ads (Library_Version): changed to 3.15a.
16147
16148 * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
16149 for the compiler.
16150
16151 * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
16152 for the compiler.
16153
16154 * ali-util.adb: Redo previous change to avoid using word CRC everywhere
16155 Add 2001 to copyright notice
16156 (Accumulate_Checksum): Modify to use System.CRC32.
16157
16158 * ali-util.ads: Redo changes of previous revision to continue to use
16159 the word Checksum. Add 2001 to copyright notice.
16160
16161 * ali.adb: Undo some of previous changes, not needed.
16162 Keep the change for lower case letters in the checksum.
16163
16164 * ali.ads: Undo previous change not needed.
16165
16166 * bcheck.adb: Undo most of previous change, not needed.
16167 But do use Checksums_Match for checksum comparison.
16168
16169 * gnatls.adb: Undo most of previous change, not needed.
16170 But do use Checksums_Match for comparing checksums.
16171
16172 * lib-load.adb: Undo previous change, not needed.
16173
16174 * lib-writ.adb: Undo previous change, not needed.
16175
16176 * lib-writ.ads: Document that checksums use lower case,
16177 not upper case letters.
16178
16179 * scans.adb: Undo previous change, not needed
16180
16181 * scans.ads: Undo previous change, not needed.
16182
16183 * scn-nlit.adb: Undo previous changes, not needed.
16184
16185 * scn-slit.adb: Undo previous change, not needed. Fix header format.
16186
16187 * scn.adb:
16188 (Accumulate_Checksum): Use System.CRC32.
16189 (Initialize_Checksum): New procedure.
16190 Remove other changes of previous revision.
16191
16192 * sinput-p.adb: Undo previous change, not needed.
16193
16194 * sinput.adb: Undo previous change, not needed.
16195
16196 * sinput-l.adb: Undo previous change, not needed.
16197
16198 * sinput.ads: Undo previous change, not needed. Keep only comment
16199 on new checksum algorithm
16200
16201 * Makefile.in: Add s-crc32 as needed, remove g-crc32.
16202 Also remove a-tags and a-stream from GNAT sources.
16203
16204 * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
16205
16206 * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
16207
16208 2001-10-11 Geert Bosch <bosch@gnat.com>
16209
16210 * einfo.h: Regenerate.
16211
16212 * nmake.ads: Regenerate.
16213
16214 * nmake.adb: Regenerate.
16215
16216 * sinfo.h: Regenerate.
16217
16218 * treeprs.adb: Regenerate.
16219
16220 2001-10-10 Geert Bosch <bosch@gnat.com>
16221
16222 * gnat-style.texi: New file describing coding guidelines for Ada.
16223
16224 2001-10-10 Ed Schonberg <schonber@gnat.com>
16225
16226 * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
16227 is Flag174.
16228
16229 2001-10-10 Geert Bosch <bosch@gnat.com>
16230
16231 * snames.ads: Add new names for project facility.
16232
16233 * snames.adb: Update to reflect snames.ads changes.
16234
16235 * snames.h: Update to reflect snames.ads changes.
16236
16237 2001-10-10 Vincent Celier <celier@gnat.com>
16238
16239 * make.adb:
16240 (Add_Switches): reflect the changes for the switches attributes
16241 Default_Switches indexed by the programming language,
16242 Switches indexed by the file name.
16243 (Collect_Arguments_And_Compile): Idem.
16244 Reflect the attribute name changes.
16245
16246 * prj-attr.adb:
16247 (Initialisation_Data): Change the names of some packages and
16248 attributes.
16249 (Initialize): process case insensitive associative arrays.
16250
16251 * prj-attr.ads:
16252 (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
16253
16254 * prj-dect.adb:
16255 (Parse_Attribute_Declaration): For case insensitive associative
16256 arrays, set the index string to lower case.
16257
16258 * prj-env.adb:
16259 Reflect the changes of the project attributes.
16260
16261 * prj-nmsc.adb:
16262 Replace Check_Naming_Scheme by Ada_Check and
16263 Language_Independent_Check.
16264
16265 * prj-nmsc.ads:
16266 Replaced Check_Naming_Scheme by 2 procedures:
16267 Ada_Check and Language_Independent_Check.
16268
16269 * prj-proc.adb:
16270 (Process_Declarative_Items): For case-insensitive associative
16271 arrays, set the index string to lower case.
16272 (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
16273 Prj.Nmsc.Check_Naming_Scheme.
16274
16275 * prj-tree.adb:
16276 (Case_Insensitive): New function
16277 (Set_Case_Insensitive): New procedure
16278
16279 * prj-tree.ads:
16280 (Case_Insensitive): New function
16281 (Set_Case_Insensitive): New procedure
16282 (Project_Node_Record): New flag Case_Insensitive.
16283
16284 * prj-util.adb:
16285 (Value_Of): new function to get the string value of a single
16286 string variable or attribute.
16287
16288 * prj-util.ads:
16289 (Value_Of): new function to get the string value of a single
16290 string variable or attribute.
16291
16292 * prj.adb:
16293 (Ada_Default_Spec_Suffix): New function
16294 (Ada_Default_Impl_Suffix): New function
16295 Change definitions of several constants to reflect
16296 new components of record types.
16297
16298 * prj.ads:
16299 (Naming_Data): Change several components to reflect new
16300 elements of naming schemes.
16301 (Project_Data): New flags Sources_Present and
16302 Language_Independent_Checked.
16303 (Ada_Default_Spec_Suffix): New function.
16304 (Ada_Default_Impl_Suffix): New function.
16305
16306 * snames.ads:
16307 Modification of predefined names for project manager: added
16308 Implementation, Specification_Exceptions, Implementation_Exceptions,
16309 Specification_Suffix, Implementation_Suffix, Separate_Suffix,
16310 Default_Switches, _Languages, Builder, Cross_Reference,
16311 Finder. Removed Body_Part, Specification_Append, Body_Append,
16312 Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
16313 Gnatlink.
16314
16315 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
16316 Add comments.
16317
16318 * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
16319 not that it is Nil_Variable_Value.
16320
16321 * prj.ads: Add ??? for uncommented declarations
16322
16323 2001-10-10 Ed Schonberg <schonber@gnat.com>
16324
16325 * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
16326 constant, do not indicate possible modification, so that gigi can
16327 treat it as a bona fide constant.
16328
16329 2001-10-10 Robert Dewar <dewar@gnat.com>
16330
16331 * sem_prag.adb: Add processing for pragma External.
16332
16333 * snames.ads: Add entry for pragma External.
16334
16335 * par-prag.adb: Add pragma External.
16336
16337 * snames.adb: Updated to match snames.ads.
16338
16339 2001-10-10 Ed Schonberg <schonber@gnat.com>
16340
16341 * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
16342 a dynamic task if the allocator appears in an indexed assignment
16343 or selected component assignment.
16344
16345 * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
16346 For a dynamic task in an assignment statement, use target of
16347 assignment to generate meaningful name.
16348
16349 2001-10-10 Ed Schonberg <schonber@gnat.com>
16350
16351 * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
16352 a generic package.
16353
16354 * einfo.ads: Body_Entity is also defined for generic package.
16355 Documentation change only
16356
16357 * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
16358 others_choice for a discriminated component initialization,
16359 convert discriminant references into the corresponding discriminals.
16360
16361 * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
16362 only if original type is private and expression has to be wrapped
16363 in a conversion.
16364
16365 * checks.adb:
16366 (Apply_Constraint_Check): Do not perform length check
16367 if expression is an aggregate with only an others_choice.
16368 (Length_N_Cond): two references to the same in_parameter
16369 (typically the discriminal in an init_proc) denote the same value.
16370 Two useful optimization uncovered by bugfixes above.
16371
16372 2001-10-10 Robert Dewar <dewar@gnat.com>
16373
16374 * xeinfo.adb: Change int to char in translation of enumeration types.
16375 This fixes a problem in the C representation of component alignment.
16376 Add 2001 to copyright notice
16377
16378 2001-10-10 Richard Kenner <kenner@gnat.com>
16379
16380 * decl.c: (validate_size): Do check size of object of integral type
16381 if it is a packed array type.
16382
16383 2001-10-10 Richard Kenner <kenner@gnat.com>
16384
16385 * decl.c: (gnat_to_gnu_entity, case object): Also materialize
16386 VAR_DECL for constant if not Is_Public but -O0.
16387
16388 2001-10-10 Richard Kenner <kenner@gnat.com>
16389
16390 * misc.c (struct lang_hooks): Add new initializer to match GCC change.
16391
16392 2001-10-10 Geert Bosch <bosch@gnat.com>
16393
16394 * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
16395 use '/' as switch character, allowing for absolute file names.
16396
16397 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
16398
16399 * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
16400 FSF address.
16401
16402 2001-10-08 Geert Bosch <bosch@gnat.com>
16403
16404 * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
16405 Automatically build utilities when files need to be regenerated.
16406
16407 2001-10-08 Geert Bosch <bosch@gnat.com>
16408
16409 * xsnames.adb: New utility for updating snames.ads and snames.adb
16410
16411 2001-10-08 Zack Weinberg <zack@codesourcery.com>
16412
16413 * Make-lang.in (ADAFLAGS): Add -W -Wall.
16414 (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
16415 (gnat1): Also depend on attribs.o.
16416 (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
16417 * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
16418 (ADAC): Set to @ADAC@ in stage1, $(CC) later.
16419 (ADAFLAGS): Add -W -Wall.
16420 (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
16421 take out CFLAGS.
16422
16423 (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
16424 s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
16425 s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
16426 Use $(ADAC), not $(CC), as compilation command.
16427
16428 (gnattools): Depend directly on tools to build, don't use
16429 recursive make.
16430 (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
16431
16432 * einfo.h, sinfo.h: New files (autogenerated).
16433
16434 2001-10-08 Richard Henderson <rth@redhat.com>
16435
16436 * comperr.adb (Abort_In_Progress): New.
16437 (Compiler_Abort): Use it to prevent recursion.
16438
16439 2001-10-08 Robert Dewar <dewar@gnat.com>
16440
16441 * atree.adb: Set Error_Posted in Error node, helps error recovery.
16442
16443 * par-endh.adb (Output_End_Expected): We should also not test
16444 Error_Posted on the Error node, since now it is always set.
16445
16446 * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
16447 to help error recovery. Part of general work on 9407-004.
16448
16449 * par.adb: Add ??? for misuse of error
16450
16451 * sem_res.adb:
16452 (Resolve): Defend against Error, fixes 9407-003.
16453 (Resolve_Discrete_Subtype_Indication): Defend against Error.
16454
16455 * sinfo.ads (N_Error): Now has Etype field (which will be set
16456 to Any_Type to help error recovery).
16457
16458 2001-10-08 Richard Kenner (kenner@gnat.com)
16459
16460 * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
16461 Consistently set MEM attributes from expression; fixes
16462 bootstrap failure on x86.
16463
16464 2001-10-08 Geert Bosch (bosch@gnat.com)
16465
16466 * 5oosinte.adb: Add 2001 to copyright notice.
16467
16468 2001-10-08 Geert Bosch (bosch@gnat.com)
16469
16470 * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
16471
16472 * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
16473
16474 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
16475
16476 * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
16477
16478 2001-10-05 Geert Bosch (bosch@gnat.com)
16479
16480 * adaint.h: Small formatting fix.
16481
16482 2001-10-04 Geert Bosch <bosch@gnat.com>
16483
16484 * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
16485 Arg is int, not FILE *, in dummy version of functions.
16486
16487 * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
16488 Arg is int, not FILE *.
16489
16490 2001-10-04 Geert Bosch <bosch@gnat.com>
16491
16492 * 3lsoccon.ads: Added file, missed with initial check ins.
16493
16494 * 4lintnam.ads: Fix header format.
16495 Change Linux to GNU/Linux.
16496
16497 * 5iosinte.adb: Change Linux to GNU/Linux.
16498
16499 * 5iosinte.ads: Change Linux to GNU/Linux.
16500
16501 * 5itaprop.adb: Change Linux to GNU/Linux.
16502
16503 * 5itaspri.ads: Change Linux to GNU/Linux.
16504 Update copyright notice.
16505
16506 * 5lintman.adb: Change Linux to GNU/Linux.
16507
16508 * 5lml-tgt.adb: Change Linux to GNU/Linux.
16509
16510 * 5losinte.ads: Change Linux to GNU/Linux.
16511
16512 * 5lsystem.ads: Change Linux to GNU/Linux.
16513
16514 * 5qosinte.adb: Change Linux to GNU/Linux.
16515
16516 * 5qosinte.ads: Change Linux to GNU/Linux.
16517
16518 * 5qparame.ads: Change Linux to GNU/Linux.
16519
16520 * 5qtaprop.adb: Change Linux to GNU/Linux.
16521
16522 * 5qtaspri.ads: Change Linux to GNU/Linux.
16523 Add 2001 to copyright notice.
16524
16525 * 5vintman.ads: Change Linux to GNU/Linux.
16526 Fix header format. Add 2001 to copyright notice.
16527
16528 * g-soccon.ads: Change Linux to GNU/Linux.
16529
16530 * g-trasym.ads: Change Linux to GNU/Linux.
16531 Add 2001 to copyright notice.
16532
16533 * memtrack.adb: Change Linux to GNU/Linux.
16534
16535 * s-intman.ads: Change Linux to GNU/Linux.
16536 Add 2001 to copyright notice. Fix header format.
16537
16538 * s-stache.adb: Change Linux to GNU/Linux.
16539
16540 * adaint.c: Change Linux to GNU/Linux.
16541
16542 * cio.c: Change Linux to GNU/Linux.
16543
16544 * cstreams.c: Change Linux to GNU/Linux.
16545
16546 * init.c: Change Linux to GNU/Linux.
16547
16548 * gmem.c: Change Linux to GNU/Linux.
16549
16550 * tracebak.c: Change Linux to GNU/Linux.
16551
16552
16553 2001-10-02 Geert Bosch <bosch@gnat.com>
16554
16555 * misc.c (insert_default_attributes): Add dummy version.