expr.c (java_stack_swap): Revert gcc_assert patch.
[gcc.git] / gcc / ada / ChangeLog
1 2006-01-25 Peter O'Gorman <peter@pogma.com>
2
3 PR bootstrap/25859
4 * Makefile.in (GCC_LINK): Remove quotes.
5 (tools targets): Link with either $(GNATLINK) --GCC="$(GCC_LINK)"
6 or $(GCC_LINK).
7
8 (powerpc-darwin): Pass -shared-libgcc when building shared library.
9
10 2006-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11
12 PR ada/24533
13 * s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8.
14
15 2005-12-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16
17 * s-osinte-linux-hppa.ads: Correct alignment of atomic_lock_t.
18
19 2005-12-12 Arnaud Charlet <charlet@adacore.com>
20
21 * Makefile.in: Remove dummy setting of GCC_FOR_TARGET, no longer
22 needed.
23
24 2005-12-12 Arnaud Charlet <charlet@adacore.com>
25
26 * Make-lang.in: Update dependencies
27
28 2005-12-12 Arnaud Charlet <charlet@adacore.com>
29
30 * Make-lang.in: Add rule for ada/exp_sel.o
31
32 2005-12-12 Arnaud Charlet <charlet@adacore.com>
33
34 * Makefile.in (mingw section): Remove EH_MECHANISM setting.
35
36 2005-12-09 Arnaud Charlet <charlet@adacore.com>
37
38 * gnatvsn.ads (Library_Version): Bump to version 4.2
39 (ASIS_Version_Number): Bumped.
40
41 2005-12-09 Doug Rupp <rupp@adacore.com>
42
43 * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change
44 Ada bind file prefix on VMS from b$ to b__.
45 (Build_Dynamic_Library): Change Init file suffix on VMS from $init to
46 __init.
47
48 * prj-nmsc.adb: Change some Hostparm.OpenVMS checks to
49 Targparm.OpenVMS_On_Target.
50 (Object_Suffix): Initialize with target object suffix.
51 (Get_Unit): Change Ada bind file prefix on VMS from b$ to b__.
52
53 * butil.adb: Change some Hostparm.OpenVMS checks to
54 Targparm.OpenVMS_On_Target.
55
56 * clean.adb: Change some Hostparm.OpenVMS checks to
57 Targparm.OpenVMS_On_Target.
58 (Object_Suffix): Initialize with call to Get_Target_Object_Suffix.
59 ({declaraction},Delete_Binder_Generated_Files,{initialization}): Change
60 Ada bind file prefix on VMS from b$ to b__.
61
62 * gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in
63 --GCC so that Get_Target_Parameters can find system.ads.
64 (Gnatlink): Call Get_Target_Parameters in mainline.
65 Initialize standard packages for Targparm.
66 Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
67 (Process_Args): Also Check for object files with target object
68 extension.
69 (Make_Binder_File_Names): Create with target object extension.
70 (Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$
71 to b__.
72
73 * mlib-prj.adb: Change some Hostparm.OpenVMS checks to
74 Targparm.OpenVMS_On_Target.
75 ({declaration},Build_Library,Check_Library): Change Ada bind file
76 prefix on VMS from b$ to b__.
77
78 * osint-b.adb: Change some Hostparm.OpenVMS checks to
79 Targparm.OpenVMS_On_Target.
80 (Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to
81 b__.
82
83 * targext.c: New file.
84
85 * Makefile.in: add support for vxworks653 builds
86 (../../vxaddr2line): gnatlink with targext.o.
87 (TOOLS_LIBS): Move targext.o to precede libgnat.
88 (init.o, initialize.o): Minor clean up in dependencies.
89 (GNATLINK_OBJS): Add targparm.o, snames.o
90 Add rules fo building targext.o and linking it explicitly with all
91 tools.
92 Also add targext.o to gnatlib.
93
94 * Make-lang.in: Add rules for building targext.o and linking it in
95 with gnat1 and gnatbind.
96 Add entry for exp_sel.o.
97
98 * osint.adb Change some Hostparm.OpenVMS checks to
99 Targparm.OpenVMS_On_Target.
100 (Object_File_Name): Use target object suffix.
101
102 * osint.ads (Object_Suffix): Remove, no longer used.
103 (Target_Object_Suffix): Initialize with target object suffix.
104
105 * rident.ads: Add special exception to license.
106
107 * targparm.adb (Get_Target_Parameters): Set the value of
108 Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive
109 value.
110 (Get_Target_Parameters): Set OpenVMS_On_Target if openvms.
111
112 * targparm.ads: Add special exception to license.
113
114 * g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New
115 function.
116 (Copy_File): Make sure from file is closed if error on to file
117 (Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions.
118
119 * make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix.
120 (Executable_Suffix): Intialize with Get_Target_Executable_Suffix.
121
122 * osint-c.adb (Set_Output_Object_File_Name): Initialize extension with
123 target object suffix.
124
125 2005-12-09 Jose Ruiz <ruiz@adacore.com>
126 Quentin Ochem <ochem@adacore.com>
127 Florian Villoing <villoing@adacore.com>
128
129 * a-taster.ads, a-taster.adb: New files.
130
131 * a-elchha.adb (Last_Chance_Handler): Change the task termination soft
132 link to the version that does nothing. This way the task termination
133 routine is not executed twice for the environment task when finishing
134 because of an unhandled exception.
135
136 * a-exextr.adb (Notify_Unhandled_Exception): Call the task termination
137 handler because of an unhandled exception.
138
139 * a-taside.adb (Abort_Tasks): Call the Abort_Tasks procedure from
140 System.Tasking.Utilities instead of that in System.Tasking.Stages.
141
142 * s-finimp.adb (initialization code): Modify the soft link for the
143 finalization of the global list instead of Adafinal.
144
145 * s-soflin.ads, s-soflin.adb (Task_Termination_NT): Add this
146 non-tasking version of the soft link for task termination. We do
147 nothing since if we are using the non-tasking version it
148 means that the task termination functionality is not used.
149 (Null_Finalize_Global_List): Add this null version for the procedure
150 in charge of finalizing the global list for controlled objects.
151 (Null_Adafinal): Remove this procedure. Adafinal_NT has been created
152 instead for handling run-time termination in a more flexible way.
153 (Adafinal_NT): This new procedure will take care of finalizing the
154 global list for controlled objects if needed, but no tasking
155 finalization.
156
157 * s-tarest.adb (Task_Lock): Do not try to lock again the
158 Global_Task_Lock if we already own it. Otherwise, we get blocked in
159 some run-time operations.
160 (Task_Unlock): Do not try to actually unlock the Global_Task_Lock
161 until all nested locks have been released.
162 (Task_Wrapper): Call the fall-back task termination handler. It
163 applies to all tasks but the environment task.
164 (Finalize_Global_Tasks): Add the call for the task termination
165 procedure for the environment task.
166 (Task_Wrapper): suppress warnings around declaration of
167 Secondary_Stack_Address.
168
169 * s-tasini.adb (Final_Task_Unlock): Global_Task_Lock_Nesting has been
170 moved to the Common_ATCB record.
171 (Task_Lock): Global_Task_Lock_Nesting has been moved to the
172 Common_ATCB record.
173 (Task_Unlock): Global_Task_Lock_Nesting has been moved to the
174 Common_ATCB record.
175
176 * s-taskin.adb (Initialize_ATCB): Initialize Global_Task_Lock_Nesting,
177 Fall_Back_Handler, and Specific_Handler.
178
179 * s-taskin.ads (Cause_Of_Termination): Redefine this type here, already
180 defined in Ada.Task_Termination, to avoid circular dependencies.
181 (Termination_Handler): Redefine this type here, alredy defined in
182 Ada.Task_Termination, for avoiding circular dependencies.
183 (Common_ATCB): Add the Fall_Back_Handler and Specific_Handler required
184 for storing task termination handlers. In addition,
185 Global_Task_Lock_Nesting has been moved from Ada_Task_Control_Block to
186 Common_ATCB because it is used by both the regular and the restricted
187 run times.
188 (Ada_Task_Control_Block): Move Global_Task_Lock_Nesting from here to
189 Common_ATCB because it is used by both the regular and the restricted
190 run times.
191 (Common_ATCB): Added a dynamic task analyzer field.
192
193 * s-tassta.adb (Abort_Tasks): Move the code in charge of checking
194 potentially blocking operations to System.Tasking.Utilities.Abort_Tasks.
195 (Task_Wrapper): Call the task termination handler. It applies to all
196 tasks but the environment task.
197 (Finalize_Global_Tasks): Call the task termination procedure for the
198 environment task. The call to Finalize_Global_List is now performed
199 using the soft links mechanism.
200 (Task_Wrapper): added dynamic stack analysis.
201
202 * s-tasuti.adb (Abort_Tasks): The code in charge of checking
203 potentially blocking operations has been moved from
204 System.Tasking.Stages.Abort_Tasks to this procedure. There can be
205 direct calls to System.Tasking.Utilities.Abort_Tasks that do not pass
206 through System.Tasking.Stages.Abort_Tasks, and we do not want to miss
207 this run-time check.
208
209 * s-solita.adb (Task_Termination_Handler_T): Add this task-safe version
210 of task termination procedure.
211 (Init_Tasking_Soft_Links): Install the task-safe version of the soft
212 link for the task termination procedure.
213
214 * bindusg.adb: (Bindusg): Added documentation for -u option.
215
216 * bindgen.adb (Get_Main_Ada) Added handling of dynamic stack analysis.
217 (Get_Main_C): Add handling of dynamic stack analysis.
218 (Gen_Output_File_C): Add external functions for dynamic stack analysis.
219
220 * Makefile.rtl: Add entry for a-taster (Ada.Task_Termination).
221 (GNATRTL_NONTASKING_OBJS) Added entries for dynamic stack analysis
222 (GNATRTL_NONTASKING_OBJS): Add AltiVec files.
223
224 * opt.ads: Added flags used by dynamic stack measurement.
225 (Max_Line_Length): Remove (not used anymore)
226
227 * s-io.ads, s-io.adb (Standard_Error): new subprogram
228 (Standart_Output): new subprogram
229 (Set_Output): new subprogram
230 (Put): now uses the value of Current_Out to know if the output has to be
231 send to stderr or stdout.
232
233 * s-stausa.ads: Complete implementation.
234
235 * switch-b.adb: Added handling of -u switch for dynamic stack analysis.
236
237 * impunit.adb (Non_Imp_File_Names_05): Add Ada.Task_Termination to the
238 list of Ada 05 files.
239 (GNAT Library Units): Add AltiVec files.
240
241 * g-allein.ads, g-alleve.adb, g-alleve.ads, g-altcon.adb,
242 g-altcon.ads, g-altive.ads, g-alveop.adb, g-alveop.ads
243 g-alvety.ads, g-alvevi.ads: New files providing altivec API.
244
245 2005-12-09 Nicolas Setton <setton@adacore.com>
246
247 * adaint.c (__gnat_locate_regular_file): Return immediately if
248 file_name is empty.
249
250 2005-12-09 Javier Miranda <miranda@adacore.com>
251 Hristian Kirtchev <kirtchev@adacore.com>
252
253 * a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body
254 to the specification because the frontend generates code that uses this
255 subprogram.
256 (Set_Interface_Table): Add missing assertion.
257 Update documentation describing the run-time structure.
258 (Displace): New subprogram that displaces the pointer to the object
259 to reference one of its secondary dispatch tables.
260 (IW_Membership): Modified to use the new table of interfaces.
261 (Inherit_TSD): Modified to use the new table of interfaces.
262 (Register_Interface_Tag): Use the additional formal to fill the
263 contents of the new table of interfaces.
264 (Set_Interface_Table): New subprogram that stores in the TSD the
265 pointer to the table of interfaces.
266 (Set_Offset_To_Top): Use the additional formal to save copy of
267 the offset value in the table of interfaces.
268 Update structure of GNAT Primary and Secondary dispatch table diagram.
269 Add comment section on GNAT dispatch table prologue.
270 (Offset_To_Signature): Update the constant value of the Signature field.
271 (Dispatch_Table): Update comment on hidden fields in the prologue.
272 (Get_Entry_Index, Get_Prim_Op_Kind, Get_Offset_Index, OSD,
273 Set_Entry_Index, Set_Offset_Index, Set_Prim_Op_Kind, SSD, TSD): Change
274 the type of formal parameter T to Tag, introduce additional assertions.
275 (Get_Num_Prim_Ops, Set_Num_Prim_Ops): Remove an unnecessary type
276 conversion.
277 (Get_Tagged_Kind, Set_Tagged_Kind): New bodies.
278
279 * exp_ch6.adb (Register_Interface_DT_Entry): Remove the Thunk_Id actual
280 in all the calls to Expand_Interface_Thunk. Instead of referencing the
281 record component containing the tag of the secondary dispatch table we
282 have to use the Offset_To_Top run-time function to get this information;
283 otherwise if the pointer to the base of the object has been displace
284 we get a wrong value if we use the 'position attribute.
285
286 * exp_disp.adb (Expand_Interface_Thunk): Remove the Thunk_Id actual in
287 all the calls to Expand_Interface_Thunk.
288 (Make_Secondary_DT): Secondary dispatch tables do not have a table of
289 interfaces; hence the call to Set_Interface_Table was clearly wrong.
290 (Collect_All_Interfaces): Modify the internal subprogram Collect to
291 ensure that the interfaces implemented by the ancestors are placed
292 at the header of the generated list.
293 (Expand_Interface_Conversion): Handle the case in which the displacement
294 associated with the interface conversion is not statically known. In
295 this case we generate a call to the new run-time subprogram Displace.
296 (Make_DT): Generate and fill the new table of interfaces.
297 (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Add entries for
298 Get_Tagged_Kind and Set_Tagged_Kind.
299 (Tagged_Kind): New function that determines the tagged kind of a type
300 with respect to limitedness and concurrency and returns a reference to
301 RE_Tagged_Kind.
302 (Make_Disp_Asynchronous_Select_Body, Make_Disp_Conditional_Select_Body,
303 Make_Disp_Timed_Select_Body): Correctly retrieve the pointer to the
304 primary dispatch table for a type.
305 (Make_DT, Make_Secondary_DT): Set the tagged kind in the primary and
306 secondary dispatch table respectively of a tagged type.
307
308 * exp_disp.ads (Expand_Interface_Thunk): Remove Thunk_Id formal.
309 (Expand_Interface_Conversion): New subprogram to indicate if the
310 displacement of the type conversion is statically known.
311 (DT_Access_Action): Add values Get_Tagged_Kind and Set_Tagged_Kind.
312
313 * rtsfind.ads (RE_Offset_To_Top): New entity
314 (RTU_Id): Add Ada_Task_Termination to the list so that it is made
315 accessible to users.
316 (Re_Displace): New entity
317 (RE_Interface_Data): New entity
318 (RE_Set_Interface_Data): New_Entity
319 (RE_Id, RE_Unit_Table): Add entry for RE_Get_Tagged_Kind,
320 Set_Tagged_Kind, RE_Tagged_Kind, RE_TK_Abstract_Limited_Tagged,
321 RE_TK_Abstract_Tagged, RE_TK_Limited_Tagged, RE_TK_Protected,
322 RE_TK_Tagged, RE_TK_Task.
323
324 * exp_ch3.adb (Init_Secondary_Tags): Modify the subprogram
325 Init_Secondary_Tags_Internal to allow its use with interface types and
326 also to generate the code for the new additional actual required
327 by Set_Offset_To_Top.
328 (Build_Init_Statements): In case of components associated with abstract
329 interface types there is no need to generate a call to its IP.
330 (Freeze_Record_Type): Generate Select Specific Data tables only for
331 concurrent types.
332 (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies): Generate
333 the bodies and specifications of the predefined primitive operations
334 dealing with dispatching selects and abort, 'Callable, 'Terminated only
335 for concurrent types.
336
337 * exp_sel.ads, exp_sel.adb: New files.
338
339 * exp_ch9.adb (Build_Protected_Entry, Expand_N_Protected_Body,
340 Expand_N_Protected_Type_Declaration, Make_Initialize_Protection): Handle
341 properly protected objects and attach handler in the case of the
342 restricted profile.
343 Move embeded package Select_Expansion_Utilities into a separate external
344 package.
345 (Expand_N_Asynchronous_Select, Expand_N_Conditional_Select,
346 Expand_N_Timed_Entry_Call): Correct calls external package Exp_Sel.
347 (Build_K, Build_S_Assignment): New subprograms, part of the select
348 expansion utilities.
349 (Expand_N_Asynchronous_Select, Expand_N_Conditional_Entry_Call,
350 Expand_N_Timed_Entry_Call): Optimize expansion of select statements
351 where the trigger is a dispatching procedure of a limited tagged type.
352
353 2005-12-09 Olivier Hainque <hainque@adacore.com>
354
355 * decl.c (gnat_to_gnu_entity, renaming object case): Don't early expand
356 pointer initialization values. Make a SAVE_EXPR instead. Add comments
357 about the use and expansion of SAVE_EXPRs in the various possible
358 renaming handling cases.
359 (components_to_record, compare_field_bitpos): Sort by DECL_UID, not by
360 abusing DECL_FCONTEXT.
361
362 2005-12-09 Matthew Heaney <heaney@adacore.com>
363
364 * a-convec.adb (Merge): Added assertions to check whether vector params
365 are sorted.
366
367 * a-coinve.adb (Merge): Added assertions to check whether vector params
368 are sorted.
369
370 * a-cohama.ads (Cursor'Write): raises Program_Error per latest AI-302
371 draft.
372 (Cursor'Read): raises PE
373
374 * a-cohama.adb (Insert.New_Node): Uses box-style syntax to init elem
375 to its default value.
376
377 * a-cihama.adb: Manually check whether cursor's key and elem are
378 non-null
379
380 * a-cidlli.ads, a-cidlli.adb (Splice): Changed param name and param mode
381 (Merge): Assert that target and source lists are in order
382 (Swap): Declare non-const temporaries, to pass to Splice
383
384 * a-cdlili.ads: (Splice): Changed param name and param mode
385
386 * a-cdlili.adb: (Splice): Changed param name and param mode
387 (Merge): Assert that target and source lists are in order
388 (Swap): Declare non-const temporaries, to pass to Splice
389
390 * a-ciorma.ads, a-coorma.ads: (Read): declare Stream param as not null
391 (Write): declare Stream param as not null
392
393 * a-ciorma.adb, a-coorma.adb: All explicit raise statements now include
394 an exception message.
395
396 2005-12-09 Thomas Quinot <quinot@adacore.com>
397 Robert Dewar <dewar@adacore.com>
398
399 * hostparm.ads (Max_Line_Length): Set to Types.Column_Number'Last - 1,
400 which is the absolute maximum length we can support.
401
402 * frontend.adb: For the processing of configuration pragma files,
403 remove references to Opt.Max_Line_Length, which is not checked anymore.
404
405 * namet.ads (Name_Buffer): Adjust size to reflect increase on max line
406 length.
407
408 * scn.adb, scng.adb:
409 Always check line length against the absolute supported maximum,
410 Hostparm.Max_Line_Length.
411
412 * stylesw.adb (Set_Style_Check_Options, case M): The maximum supported
413 value for the maximum line length is Max_Line_Length (not
414 Column_Number'Last).
415 Minor error msg update
416 (Set_Style_Check_Options): New interface returning error msg
417 Minor code reorganization (processing for 'M' was out of alpha order)
418
419 * switch-c.adb: New interface for Set_Style_Check_Options
420
421 * stylesw.ads (Set_Style_Check_Options): New interface returning error
422 msg.
423
424 2005-12-09 Javier Miranda <miranda@adacore.com>
425
426 * exp_aggr.adb (Build_Record_Aggr_Code): Default-initialialized records
427 with IP subprogram were only supported if there were limited types.
428
429 * sem_aggr.adb (Resolve_Record_Aggregate): Default-initialialized
430 records with IP subprogram were only supported if there were limited
431 types.
432
433 2005-12-09 Olivier Hainque <hainque@adacore.com>
434 Eric Botcazou <ebotcazou@adacore.com>
435
436 * trans.c (tree_transform, emit_check): Adjust calls to
437 build_call_raise, passing the now expected GNAT_NODE argument.
438
439 * gigi.h (build_call_raise): Add a GNAT_NODE argument to convey better
440 source line information than what the current global locus indicates
441 when appropriate.
442
443 * utils2.c (build_simple_component_ref): Return 0 if the offset of the
444 field has overflowed.
445 (build_call_raise): Add a GNAT_NODE argument to convey better source
446 line information than what the current global locus indicates when
447 appropriate.
448 (build_component_ref): Adjust call to build_call_raise.
449
450 2005-12-09 Pascal Obry <obry@adacore.com>
451
452 * g-diopit.adb (Find): Fix test to exit the iterator and make sure that
453 the iterator is quitting iteration on parent directory.
454
455 2005-12-09 Javier Miranda <miranda@adacore.com>
456
457 * exp_ch5.adb (Expand_N_Assignment_Statement): In case of tagged types
458 and the assignment to a class-wide object, before the assignment we
459 generate a run-time check to ensure that the tag of the Target is
460 covered by the tag of the source.
461
462 2005-12-09 Robert Dewar <dewar@adacore.com>
463
464 * exp_imgv.adb (Expand_Image_Attribute): Generate extra boolean
465 parameter in call to Image_Wide_Character.
466
467 * s-imgwch.ads, s-imgwch.adb (Image_Wide_Character): Add boolean
468 parameter Ada_2005 to deal with annoying FFFE/FFFF inconsistency.
469 (Image_Wide_Character): Add boolean parameter Ada_2005 to deal with
470 annoying FFFE/FFFF inconsistency.
471
472 2005-12-09 Robert Dewar <dewar@adacore.com>
473 Javier Miranda <miranda@adacore.com>
474 Ed Schonberg <schonberg@adacore.com>
475
476 * exp_util.ads, exp_util.adb (Is_Ref_To_Bit_Packed_Slice): Handle case
477 of type conversion.
478 (Find_Interface): New subprogram that given a tagged type and one of its
479 component associated with the secondary table of an abstract interface
480 type, return the entity associated with such abstract interface type.
481 (Make_Subtype_From_Expr): If type has unknown discriminants, always use
482 base type to create anonymous subtype, because entity may be a locally
483 declared subtype or generic actual.
484 (Find_Interface): New subprogram that given a tagged type and one of its
485 component associated with the secondary table of an abstract interface
486 type, return the entity associated with such abstract interface type.
487
488 * sem_res.adb (Resolve_Type_Conversion): Handle the case in which the
489 conversion cannot be handled at compile time. In this case we pass this
490 information to the expander to generate the appropriate code.
491
492 2005-12-09 Robert Dewar <dewar@adacore.com>
493 Ed Schonberg <schonberg@adacore.com>
494 Gary Dismukes <dismukes@adacore.com>
495 Javier Miranda <miranda@adacore.com>
496 Hristian Kirtchev <kirtchev@adacore.com>
497
498 * einfo.adb (Itype_Printed): New flag
499 (Is_Limited_Type): Derived types do not inherit limitedness from
500 interface progenitors.
501 (Is_Return_By_Reference_Type): Predicate does not apply to limited
502 interfaces.
503
504 * einfo.ads (Itype_Printed): New flag
505 Move Is_Wrapper_Package to proper section
506 Add missing Inline for Is_Volatile
507
508 * output.ads, output.adb (Write_Erase_Char): New procedure
509 (Save/Restore_Output_Buffer): New procedures
510 (Save/Restore_Output_Buffer): New procedures
511
512 * sprint.ads, sprint.adb (Write_Itype): Handle case of record itypes
513 Add missing support for anonymous access type
514 (Write_Id): Insert calls to Write_Itype
515 (Write_Itype): New procedure to output itypes
516
517 * par-ch12.adb (P_Formal_Derived_Type_Definition): In Ada 2005, handle
518 use of "limited" in declaration.
519
520 * sinfo.ads, sinfo.adb:
521 Formal derived types can carry an explicit "limited" indication.
522
523 * sem_ch3.adb: Add with and use of Targparm.
524 (Create_Component): If Frontend_Layout_On_Target is True and the
525 copied component does not have a known static Esize, then reset
526 the size and positional fields of the new component.
527 (Analyze_Component_Declaration): A limited component is
528 legal within a protected type that implements an interface.
529 (Collect_Interfaces): Do not add to the list the interfaces that
530 are implemented by the ancestors.
531 (Derived_Type_Declaration): If the parent of the full-view is an
532 interface perform a transformation of the tree to ensure that it has
533 the same parent than the partial-view. This simplifies the job of the
534 expander in order to generate the correct object layout, and it is
535 needed because the list of interfaces of the full-view can be given in
536 any order.
537 (Process_Full_View): The parent of the full-view does not need to be
538 a descendant of the parent of the partial view if both parents are
539 interfaces.
540 (Analyze_Private_Extension_Declaration): If declaration has an explicit
541 "limited" the parent must be a limited type.
542 (Build_Derived_Record_Type): A derived type that is explicitly limited
543 must have limited ancestor and progenitors.
544 (Build_Derived_Type): Ditto.
545 (Process_Full_View): Verify that explicit uses of "limited" in partial
546 and full declarations are consistent.
547 (Find_Ancestor_Interface): Remove function.
548 (Collect_Implemented_Interfaces): New procedure used to gather all
549 implemented interfaces by a type.
550 (Contain_Interface): New function used to check whether an interface is
551 present in a list.
552 (Find_Hidden_Interface): New function used to determine whether two
553 lists of interfaces constitute a set equality. If not, the first
554 differing interface is returned.
555 (Process_Full_View): Improve the check for the "no hidden interface"
556 rule as defined by AI-396.
557
558 2005-12-09 Robert Dewar <dewar@adacore.com>
559
560 * freeze.adb (Freeze_Record_Type): Only test for useless pack on record
561 types, not on record subtypes.
562 (Freeze_Entity): Code cleanup. Add barrier to the loop
563 that generates the references for primitive operations. This allows to
564 remove an unnecessary exception handler.
565 Code reformatting and comment clean ups.
566
567 2005-12-09 Vincent Celier <celier@adacore.com>
568
569 * gnatcmd.adb (GNATCmd): GNAT CHECK accepts switch -U
570 If GNAT CHECK is called with a project file, but with no
571 source on the command line, call gnatcheck with all the compilable
572 sources of the project.
573 Take into account the new command Check, for gnatcheck. Treat as for
574 other ASIS tools: take into account project, specific package Check and
575 Compiler switches.
576 For ASIS tools, add the switches in package Compiler for
577 the invocation of the compiler.
578
579 * prj-attr.adb: Add package Check and its attributes
580
581 * vms_conv.ads (Command_Type): New command Check, for gnatcheck
582
583 * vms_conv.adb (Initialize): Change Params of command Check to
584 unlimited files.
585 Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
586 Add data for new command Check
587
588 * vms_data.ads: Add project related qualifiers for GNAT CHECK and GNAT
589 ELIM.
590 Add qualifiers for Check command options
591 (Command_Type): New command Check
592
593 2005-12-09 Thomas Quinot <quinot@adacore.com>
594
595 * mlib-utl.adb (Ar): Use Output.Buffer_Max to determine whether a
596 command line switch overruns the output buffer.
597
598 2005-12-09 Robert Dewar <dewar@adacore.com>
599
600 * sem_prag.adb: Processing for new pragma Complete_Representation
601 (Analyze_Pragma, case Debug): Implement two argument form.
602
603 * par-prag.adb: Entry for new pragma Complete_Representation
604 (Prag, case Debug): Recognize two argument form of pragma Debug
605 New interface for Set_Style_Check_Options.
606
607 * sem_ch13.adb: Implement new pragma Complete_Representation.
608
609 * snames.adb, snames.ads, snames.h: Entry for new pragma
610 Complete_Representation.
611
612 2005-12-09 Gary Dismukes <dismukes@adacore.com>
613
614 * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Revise test for
615 available user-specified stream attributes on limited parameters to
616 also test the type directly rather than only its underlying type (for
617 Ada 95) and, in the case of Ada 2005, to check that the user-specified
618 attributes are visible at the point of the subprogram declaration.
619 For Ada 2005, the error message is modified to indicate that the
620 type's stream attributes must be visible (again, only for -gnat05).
621
622 2005-12-09 Ed Schonberg <schonberg@adacore.com>
623
624 * sem_ch12.adb (Subtypes_Match): Handle properly Ada05 arrays of
625 anonymous access types.
626
627 * sem_eval.adb (Subtypes_Statically_Match): Implement new rules for
628 matching of anonymous access types and anonymous access to subprogram
629 types. 'R'M 4.9.1 (2/2).
630
631 2005-12-09 Ed Schonberg <schonberg@adacore.com>
632
633 * sem_ch4.adb (Remove_Abstract_Operations): Do not apply preference
634 rule prematurely when operands are universal, remaining ambiguities
635 will be removed during resolution.
636 Code cleanup.
637
638 * sem_type.adb (Disambiguate): In Ada95 mode, discard interpretations
639 that are Ada 2005 functions.
640 (Has_Abstract_Interpretation): Subsidiary to
641 Remove_Conversions, to remove ambiguities caused by abstract operations
642 on numeric types when operands are universal.
643
644 2005-12-09 Robert Dewar <dewar@adacore.com>
645
646 * sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization
647 for case where spec is categorized.
648
649 2005-12-09 Javier Miranda <miranda@adacore.com>
650
651 * sem_ch8.adb (Find_Type): In case of tagged types that are concurrent
652 types use the corresponding record type. This was not needed before
653 the implementation of Ada 2005 synchronized types because
654 concurrent types were never tagged types in Ada 95.
655
656 2005-12-09 Ed Schonberg <schonberg@adacore.com>
657
658 * sem_ch9.adb (Analyze_Delay_Alternative, Analyze_Delay_Until): Use the
659 first subtype of the type of the expression to verify that it is a
660 legal Time type.
661
662 2005-12-09 Robert Dewar <dewar@adacore.com>
663
664 * sem_util.ads, sem_util.adb (Full_Qualified_Name): Now provides
665 decoded names.
666
667 2005-12-09 Quentin Ochem <ochem@adacore.com>
668 Robert Dewar <dewar@adacore.com>
669 Ed Falis <falis@adacore.com>
670 Florian Villoing <villoing@adacore.com>
671 Thomas Quinot <quinot@adacore.com>
672 Arnaud Charlet <charlet@adacore.com>
673
674 * gnat_ugn.texi: Created section "Stack Related Tools"
675 Moved "Stack Overflow Checking" subsection from "Switches for gcc" to
676 "Stack Related Tools"
677 Added subsection "Static Stack Usage Analysis"
678 Added subsection "Dynamic Stack Usage Analysis"
679 Include documentation of itypes in sprint listing (-gnatG)
680 Documented gnatbind -D switch (default sec stack size for fixed sec
681 stacks).
682 Added Interrupt_State and Persistent_BSS to list of configuration
683 pragmas.
684 Add missing doc for maximum value of nnn in -gnatyMnnn
685
686 * gnat_rm.texi: Document the AltiVec binding.
687 Add documentation for pragma Complete_Representation
688 Shortened an overly long line (> 79 chars)
689 Clarify documentation of unchecked conversion in implementation
690 defined cases.
691 Document two argument form of pragma Debug
692
693 * types.ads (Column_Number): Update documentation.
694
695 * exp_ch7.ads (Make_Adjust_Call): Document the special processing for
696 library level Finalize_Storage_Only objects (these are not attached to
697 any finalization list).
698
699 * system-mingw.ads: (Underlying_Priorities): Update comment.
700
701 2005-12-09 Robert Dewar <dewar@adacore.com>
702
703 * i-c.adb, i-cexten.ads, i-cobol.adb, i-cobol.ads, i-cpoint.ads,
704 i-cpp.adb, i-cpp.ads, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
705 inline.adb, interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads,
706 i-os2thr.ads, itypes.adb, itypes.adb, itypes.ads, krunch.ads,
707 krunch.adb, lib.adb, lib.ads, lib-list.adb, lib-load.adb,
708 lib-load.ads, lib-sort.adb, live.adb, make.ads, i-cstrea-vms.adb,
709 interfac-vms.ads, makegpr.adb, indepsw-gnu.adb, indepsw.ads,
710 s-wchcon.ads, sdefault.ads, sem_ch10.adb, sem_eval.ads: Minor
711 reformatting.
712
713 2005-12-09 Robert Dewar <dewar@adacore.com>
714
715 * s-vaflop-vms-alpha.adb: (Ne_F): New function
716 (Ne_G): New function
717
718 * exp_ch4.adb (Expand_Allocator_Expression): Factor duplicated code
719 for tag assignment.
720 (Rewrite_Comparison): Handle case where operation is not a comparison
721 and ignore, and also handle type conversion case.
722
723 2005-12-09 Thomas Quinot <quinot@adacore.com>
724
725 * exp_aggr.ads: Fix typo in comment.
726 ???-mark Convert_Aggr_In_Assignment as needing documentation.
727
728 2005-12-09 Gary Dismukes <dismukes@adacore.com>
729
730 * layout.adb: Replace various uses of byte by storage unit throughout.
731 (Get_Max_SU_Size): Name changed from Get_Max_Size. In the case of a
732 static size, convert to storage units before returning, to conform to
733 spec.
734
735 2005-12-09 Matthew Gingell <gingell@adacore.com>
736
737 * g-exctra.ads: Fix typo in comment.
738
739 2005-12-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
740
741 * utils.c: Minor reformatting.
742
743 2005-12-09 Robert Dewar <dewar@adacore.com>
744
745 * g-soccon.ads:
746 Further comment fixes to make the status of the default file clear
747
748 * s-bitops.adb: Clarify comment for Bits_Array
749
750 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
751
752 * Make-lang.in (ada.install-normal): Remove.
753
754 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
755
756 * Make-lang.in: Remove all dependencies on s-gtype.
757
758 2005-12-05 Richard Guenther <rguenther@suse.de>
759
760 * utils.c (convert): Use fold_convert where appropriate.
761
762 2005-12-05 Paolo Bonzini <bonzini@gnu.org>
763
764 * Makefile.in (gnatlib): Fix regex, using \. instead of . when
765 a period is meant.
766
767 2005-12-02 Richard Guenther <rguenther@suse.de>
768
769 * trans.c (gnat_gimplify_expr): Use buildN instead of build.
770
771 2005-12-01 Roger Sayle <roger@eyesopen.com>
772
773 * utils.c (max_size): Only test for TREE_OVERFLOW on INTEGER_CST
774 nodes.
775
776 2005-11-23 Laurent GUERBY <laurent@guerby.net>
777
778 * mlib-prj.adb (Build_Library): Initialize Delete.
779
780 2005-11-21 Joel Sherrill <joel.sherrill@oarcorp.com>
781
782 * socket.c: Add extern int h_errno for rtems since networking header
783 files are not available at this point in a tool bootstrap. Newlib
784 only has basic C library header files.
785
786 2005-11-19 Richard Guenther <rguenther@suse.de>
787 Roger Sayle <roger@eyesopen.com>
788
789 PR ada/23717
790 * misc.c (internal_error_function): Don't use vsprintf to format
791 the error message text, instead use pp_format_text and the new
792 pretty printer APIs. This allows handling of %qs, %w, etc.
793
794 2005-11-18 Laurent GUERBY <laurent@guerby.net>
795
796 PR ada/24857
797 * Makefile.in: Use s-auxdec-empty for RTEMS.
798
799 2005-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
800
801 PR ada/22333
802 * trans.c (gnat_gimplify_expr, case ADDR_EXPR): Always make
803 a temporary if taking the address of something that is neither
804 reference, declaration, or constant, since the gimplifier
805 can't handle that case.
806
807 2005-11-17 Laurent GUERBY <laurent@guerby.net>
808
809 PR ada/24857
810 * s-auxdec-empty.ads, s-auxdec-empty.adb: New files.
811
812 2005-11-16 Richard Guenther <rguenther@suse.de>
813
814 * Makefile.in: Add EH_MECHANISM=-gcc to s390(x) linux.
815
816 2005-11-16 Joel Sherrill <joel.sherrill@oarcorp.com>
817
818 PR ada/24855
819 * raise-gcc.c: Add missing stdarg.h include.
820
821 2005-11-16 Richard Guenther <rguenther@suse.de>
822
823 * Make-lang.in (ada/decl.o): Add $(EXPR_H) dependency.
824 (ada/misc.o): Likewise.
825
826 2005-11-14 Thomas Quinot <quinot@adacore.com>
827
828 * g-soccon.ads: Minor reformatting. Update comments.
829
830 * gsocket.h: Include <sys/times.h> in the VxWorks case, in order to
831 gain visibility on the declaration of struct timeval.
832
833 * g-soccon-freebsd.ads,
834 g-soccon-darwin.ads,
835 g-soccon-tru64.ads,
836 g-soccon-aix.ads,
837 g-soccon-irix.ads,
838 g-soccon-hpux.ads,
839 g-soccon-solaris.ads,
840 g-soccon-vms.ads,
841 g-soccon-mingw.ads,
842 g-soccon-vxworks.ads (SIZEOF_tv_sec, SIZEOF_tv_usec): New constants.
843
844 * g-soccon-hpux-ia64.ads, g-soccon-linux-ppc.ads,
845 g-soccon-solaris-64.ads, g-soccon-linux-64.ads,
846 g-soccon-linux-x86.ads: New files.
847
848 * g-socthi-mingw.adb:
849 (Socket_Error_Message): Remove redundant use of GNAT.Sockets.Constants
850
851 * g-socthi-vxworks.ads, g-socthi-vms.ads, g-socthi-mingw.ads
852 (time_t, suseconds_t): New types constructed to match the tv_sec
853 and tv_usec fields of C struct timeval.
854 (Timeval): Construct structure in terms of the new types.
855 (Host_Errno): New function (imported from socket.c), returns last hosts
856 database error.
857
858 * g-socthi-vxworks.adb: Add error handling circuitry.
859
860 * g-socket.ads, g-socket.adb (To_Timeval): Reflect change of type for
861 components of struct timeval.
862 (Get_Host_By_Name, Get_Host_By_Address): Fix error reporting circuitry.
863 (Check_Selector): In error conditions, clear internal socket sets to
864 avoid a memory leak.
865 (Get_Socket_Option, Set_Socket_Option): Support for Multicast_If,
866 Send_Timeout, Receive_Timeout.
867
868 * g-socthi.ads (time_t, suseconds_t): New types constructed to match
869 the tv_sec and tv_usec fields of C struct timeval.
870 (Timeval): Construct structure in terms of the new types.
871 (Host_Errno): New function (imported from socket.c), returns last hosts
872 database error.
873
874 * socket.c (__gnat_get_h_errno): New function to retrieve h_errno, the
875 hosts database last error code.
876
877 * gen-soccon.c: Complete value expansion should not be performed on
878 TARGET, as it has the form of a math expression, and some components
879 may be platform-defined macros.
880 For VxWorks, generate the OK and ERROR values.
881 New constants giving the sizes of the components of C struct timeval.
882
883 2005-11-14 Robert Dewar <dewar@adacore.com>
884 Ed Schonberg <schonberg@adacore.com>
885
886 PR ada/18434
887
888 * types.ads: Include All_Checks in Suppress_Array
889
890 * checks.adb (Check_Needed): Remove kludge for a/=b rewritten as
891 not(a=b), since we no longer do this rewriting, and hence it is not
892 needed.
893 (Elaboration_Checks_Suppressed): Add special casing to
894 deal with different cases of static and dynamic elaboration checks (all
895 checks does not count in the first case, but does in the second).
896 (Expr_Known_Valid): Do not assume that the result of any arbitrary
897 function call is valid, since this is not the case.
898 (Ensure_Valid): Do not apply validity check to a real literal
899 in a universal or fixed context
900
901 * exp_ch4.adb (Expand_N_Op_Ne): Don't expand a/=b to not(a=b) for
902 elementary types using the operator in standard. It is cleaner not to
903 modify the programmers intent, especially in the case of floating-point.
904 (Rewrite_Comparison): Fix handling of /= (this was always wrong, but
905 it did not matter because we always rewrote a/=b to not(a=b).
906 (Expand_Allocator_Expression): For an allocator expression whose nominal
907 subtype is an unconstrained packed type, convert the expression to its
908 actual constrained subtype.
909 Implement warning for <= or >= where < or > not possible
910 Fix to Vax_Float tests (too early in many routines, causing premature
911 Vax_Float expansions.
912
913 * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow this pragma
914 to be used with packages and generic packages as well as with
915 subprograms.
916 (Suppress): Set All_Checks, but not Elaboration_Check, for case
917 of pragma Suppress (All_Checks)
918 (Analyze_Pragma, case Warnings): Implement first argument allowed to be
919 a string literal for precise control over warnings.
920 Avoid raise of pragma in case of unrecognized pragma and just return
921 instead.
922
923 * sem_prag.ads: Minor reformatting
924
925 * switch-c.adb (Scan_Front_End_Switches): Replace "raise Bad_Switch;"
926 with call to new procedure Bad_Switch. Call Scan_Pos with new parameter
927 Switch. Do not handle any exception.
928 Include -gnatwx as part of -gnatg (warn on redundant parens)
929 Allow optional = after -gnatm
930 (Scan_Front_End_Switches): The -gnatp switch sets All_Checks, but no
931 longer sets Elaboration_Checks.
932 Code to set warning mode moved to Sem_Warn
933 so that it can be shared by pragma processing.
934
935 * s-mastop-tru64.adb (Pop_Frame): Remove redundant parentheses in if
936 statement.
937
938 * s-taprop-solaris.adb:
939 Change some <= to =, to avoid new warning
940
941 * a-exexda.adb, prj-proc.adb:
942 Fix obvious typo (Num_Tracebacks compared <= 0 instead of < 0)
943 Fix obvious typo (Total_Errors_Detected <= 0 should be = 0)
944
945 2005-11-14 Robert Dewar <dewar@adacore.com>
946
947 * exp_vfpt.adb: Handle /= case
948 (Expand_Vax_Conversion): Properly recognize Conversion_OK flag
949 so that we do not get duplicate scaling for fixed point conversions.
950
951 * s-vaflop.ads, s-vaflop.adb: (Ne_F): New function
952
953 2005-11-14 Matthew Gingell <gingell@adacore.com>
954
955 * system-lynxos-ppc.ads, system-lynxos-x86.ads:
956 Increase default priority on Lynx from 15 to 17, and meet the Ada
957 requirement that Default_Priority be ((Priority'First +
958 Priority'Last) / 2) by increasing the range of Interrupt_Priority.
959
960 2005-11-14 Vincent Celier <celier@adacore.com>
961
962 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
963 mlib-tgt-hpux.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
964 mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb,
965 mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb,
966 mlib-tgt-darwin.adb, mlib-tgt.adb, mlib-tgt.ads,
967 mlib-tgt-lynxos.adb (DLL_Prefix): New function
968
969 2005-11-14 Doug Rupp <rupp@adacore.com>
970
971 * system-vms.ads, system-vms_64.ads: ADA$GNAT: New exported object in
972 private part.
973
974 2005-11-14 Arnaud Charlet <charlet@adacore.com>
975
976 * s-traces-default.adb, s-trafor-default.ads,
977 s-tratas-default.adb: Fix compilation errors.
978
979 2005-11-14 Jose Ruiz <ruiz@adacore.com>
980
981 * s-taprop-posix.adb (Initialize_Lock): Destroy mutex attribute before
982 raising the exception so the memory used is freed.
983
984 2005-11-14 Arnaud Charlet <charlet@adacore.com>
985
986 * adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
987 (Gnat_Install_Locks, __gnatlib_install_locks): Removed, no longer used.
988 (convert_address): Update comments and list of platforms using this.
989
990 * s-tasini.adb (Gnat_Install_Locks, __gnatlib_install_locks): Removed,
991 no longer used.
992
993 2005-11-14 Pascal Obry <obry@adacore.com>
994 Vincent Celier <celier@adacore.com>
995
996 * gnatdll.adb (Parse_Command_Line): Remove redundant use of
997 GNAT.Command_Line.
998
999 * memroot.adb: Remove redundant with/use clause on
1000 System.Storage_Elements.
1001
1002 2005-11-14 Arnaud Charlet <charlet@adacore.com>
1003
1004 * a-except.adb (Zero_Cost_Exceptions): Removed, no longer used.
1005 (builtin_longjmp, Process_Raise_Exceeption): Move setjmp/longjmp
1006 related code to a-exexpr.adb
1007 (Save_Occurrence_And_Private): Move GCC EH related code to
1008 a-exexpr-gcc.adb
1009 (Raise_Current_Excep): Add new variable Id with pragma
1010 volatile, to ensure that the variable lives on stack.
1011
1012 * a-exexpr-gcc.adb, raise-gcc.c: New file.
1013
1014 * a-exexpr.adb (builtin_longjmp, Propagate_Exception): Moved here code
1015 from a-except.adb.
1016 Move GCC EH related code to a-exexpr-gcc.adb
1017
1018 * Makefile.in: Add or update g-soccon LIBGNAT pairs for Linux/PPC and
1019 64-bit Solaris
1020 Split the Linux version of g-soccon into separate variants for 32 and 64
1021 bit platforms.
1022 (gnatlib): Use $(AR_FOR_TARGET) and $(RANLIB_FOR_TARGET)
1023 vice $(AR) and $(RANLIB). Remove use of host variable $(RANLIB_FLAGS).
1024 install-gnatlib: Use $(RANLIB_FOR_TARGET) vice $(RANLIB). Remove use
1025 of host variable $(RANLIB_FLAGS).
1026 (alpha64-dec-*vms*): Fix translations for 64 bit compiler.
1027 Code clean up: remove unused/obsolete targets.
1028 (EH_MECHANISM): New variable introduced to differenciate between the
1029 two EH mechanisms statically.
1030 (gnatlib-zcx, gnatlib-sjlj): Force EH_MECHANISM manually.
1031 (LIBGNAT_OBJS): Add raise-gcc.o
1032 (LIBGNAT_TARGET_PAIRS for ppc-vxworks): Use an specialized version of
1033 s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
1034 supports VxWorks 6 RTPs.
1035 (EXTRA_GNATRTL_NONTASKING_OBJS for ppc-vxworks): Remove the use of
1036 i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
1037
1038 * raise.c: Move all GCC EH-related routines to raise-gcc.c
1039
1040 2005-11-14 Jose Ruiz <ruiz@adacore.com>
1041
1042 * s-tassta.adb (Create_Task): Move the code in charge of resetting the
1043 deferral level, when abort is not allowed, to a later stage (the
1044 Task_Wrapper).
1045 (Task_Wrapper): If Abort is not allowed, reset the deferral level since
1046 it will not get changed by the generated code. It was previously done
1047 in Create_Task.
1048
1049 2005-11-14 Thomas Quinot <quinot@adacore.com>
1050 Olivier Hainque <hainque@adacore.com>
1051 Eric Botcazou <ebotcazou@adacore.com>
1052
1053 * decl.c:
1054 Factor common code to build a storage type for an unconstrained object
1055 from a fat or thin pointer type and a constrained object type.
1056 (annotate_value): Handle BIT_AND_EXPR.
1057 (annotate_rep): Don't restrict the back annotation of inherited
1058 components to the type_annotate_only case.
1059 (gnat_to_gnu_entity) <E_Array_Type>: Do not invoke create_type_decl if
1060 we are not defining the type.
1061 <E_Record_Type>: Likewise.
1062 (gnat_to_gnu_entity) <object, renaming>: Adjust comments and structure
1063 to get advantage of the new maybe_stabilize_reference interface, to
1064 ensure that what we reference is indeed stabilized instead of relying
1065 on assumptions on what the stabilizer does.
1066 (gnat_to_gnu_entity) <E_Incomplete_Type>: If the entity is an incomplete
1067 type imported through a limited_with clause, use its non-limited view.
1068 (Has_Stdcall_Convention): New macro, to centralize the Windows vs others
1069 differentiation.
1070 (gnat_to_gnu_entity): Use Has_Stdcall_Convention instead of a spread mix
1071 of #if sections + explicit comparisons of convention identifiers.
1072 (gnat_to_gnu_entity) <E_Variable>: Decrement force_global if necessary
1073 before early-returning for certain types when code generation is
1074 disabled.
1075 (gnat_to_gnu_entity) <object>: Adjust comment attached to the
1076 nullification of gnu_expr we do for objects with address clause and
1077 that we are not defining.
1078 (elaborate_expression_1): Do not create constants when creating
1079 variables needed by the debug info: the dwarf2 writer considers that
1080 CONST_DECLs is used only to represent enumeration constants, and emits
1081 nothing for them.
1082 (gnat_to_gnu_entity) <object>: When turning a non-definition of an
1083 object with an address clause into an indirect reference, drop the
1084 initializing expression.
1085 Include "expr.h".
1086 (STACK_CHECK_BUILTIN): Delete.
1087 (STACK_CHECK_PROBE_INTERVAL): Likewise.
1088 (STACK_CHECK_MAX_FRAME_SIZE): Likewise.
1089 (STACK_CHECK_MAX_VAR_SIZE): Likewise.
1090 (gnat_to_gnu_entity): If gnat_entity is a renaming, do not mark the tree
1091 corresponding to the renamed object as ignored for debugging purposes.
1092
1093 * trans.c (tree_transform, case N_Attribute_Reference, case Attr_Size &
1094 related): For a prefix that is a dereference of a fat or thin pointer,
1095 if there is an actual subtype provided by the front-end, use that
1096 subtype to build an actual type with bounds template.
1097 (tree_transform, case N_Free_Statement): If an Actual_Designated_Subtype
1098 is provided by the front-end, use that subtype to compute the size of
1099 the deallocated object.
1100 (gnat_to_gnu): When adding a statement into an elaboration procedure,
1101 check for a potential violation of a No_Elaboration_Code restriction.
1102 (maybe_stabilize_reference): New function, like gnat_stabilize_reference
1103 with extra arguments to control whether to recurse through non-values
1104 and to let the caller know if the stabilization has succeeded.
1105 (gnat_stabilize_reference): Now a simple wrapper around
1106 maybe_stabilize, for common uses without restriction on lvalues and
1107 without need to check for the success indication.
1108 (gnat_to_gnu, call_to_gnu): Adjust calls to gnat_stabilize_reference, to
1109 pass false instead of 0 as the FORCE argument which is a bool.
1110 (Identifier_to_gnu): Remove checks ensuring that an renamed object
1111 attached to a renaming pointer has been properly stabilized, as no such
1112 object is attached otherwise.
1113 (call_to_gnu): Invoke create_var_decl to create the temporary when the
1114 function uses the "target pointer" return mechanism.
1115 Reinstate conversion of the actual to the type of the formal
1116 parameter before any other specific treatment based on the passing
1117 mechanism. This turns out to be necessary in order for PLACEHOLDER
1118 substitution to work properly when the latter type is unconstrained.
1119
1120 * gigi.h (build_unc_object_type_from_ptr): New subprogram, factoring a
1121 common pattern.
1122 (maybe_stabilize_reference): New function, like gnat_stabilize_reference
1123 with extra arguments to control whether to recurse through non-values
1124 and to let the caller know if the stabilization has succeeded.
1125
1126 * utils2.c (gnat_build_constructor): Only sort the fields for possible
1127 static output of record constructor if all the components are constant.
1128 (gnat_build_constructor): For a record type, sort the list of field
1129 initializers in increasing bit position order.
1130 Factor common code to build a storage type for an unconstrained object
1131 from a fat or thin pointer type and a constrained object type.
1132 (build_unary_op) <ADDR_EXPR>: Always recurse down conversions between
1133 types variants, and process special cases of VIEW_CONVERT expressions
1134 as their NOP_EXPR counterpart to ensure we get to the
1135 CORRESPONDING_VARs associated with CONST_DECls.
1136 (build_binary_op) <MODIFY_EXPR>: Do not strip VIEW_CONVERT_EXPRs
1137 on the right-hand side.
1138
1139 * utils.c (build_unc_object_type_from_ptr): New subprogram, factoring
1140 a common pattern.
1141 (convert) <VIEW_CONVERT_EXPR>: Return the inner operand directly if we
1142 are converting back to its original type.
1143 (convert) <JM input>: Fallthrough regular conversion code instead of
1144 extracting the object if converting to a type variant.
1145 (create_var_decl): When a variable has an initializer requiring code
1146 generation and we are at the top level, check for a potential violation
1147 of a No_Elaboration_Code restriction.
1148 (create_var_decl): call expand_decl for CONST_DECLs, to set MODE, ALIGN
1149 SIZE and SIZE_UNIT which we need for later back-annotations.
1150 * utils.c: (convert) <STRING_CST>: Remove obsolete code.
1151 <VIEW_CONVERT_EXPR>: Do not lift the conversion if the target type
1152 is an unchecked union.
1153 (pushdecl): Set DECL_NO_STATIC_CHAIN on imported nested functions.
1154 (convert) <VIEW_CONVERT_EXPR>: When the types have the same
1155 main variant, just replace the VIEW_CONVERT_EXPR.
1156 <UNION_TYPE>: Revert 2005-03-02 change.
1157
1158 * repinfo.h, repinfo.ads: Add tcode for BIT_AND_EXPR.
1159
1160 * repinfo.adb (Print_Expr, Rep_Value): Handle Bit_And_Expressions.
1161
1162 2005-11-14 Matthew Heaney <heaney@adacore.com>
1163
1164 * a-crbtgo.ads, a-crbtgo.adb, a-coorse.ads, a-coorse.adb, a-convec.ads,
1165 a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohama.ads, a-cohama.adb,
1166 a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-cidlli.ads,
1167 a-cidlli.adb, a-cdlili.ads, a-cdlili.adb, a-coormu.adb, a-ciormu.adb,
1168 a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
1169 a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorma.adb, a-coorma.adb:
1170 Compiles against the spec for ordered maps described in sections
1171 A.18.6 of the most recent (August 2005) AI-302 draft.
1172
1173 2005-11-14 Olivier Hainque <hainque@adacore.com>
1174
1175 * cuintp.c (UI_To_gnu): Use a proper type for intermediate computations
1176 to ensure bias adjustments take place when need be and to prevent
1177 occurrences of intermediate overflows.
1178
1179 2005-11-14 Matthew Gingell <gingell@adacore.com>
1180 Olivier Hainque <hainque@adacore.com>
1181
1182 * tb-gcc.c (trace_callback): Work around problem with _Unwind_GetIP on
1183 ia64 HP-UX.
1184
1185 * tracebak.c (ia64 configuration): Enable _Unwind_Backtrace driven
1186 tracebacks on ia64 HP-UX and provide explanatory comment.
1187 Enable backtraces on ia64 GNU/Linux.
1188 (x86 configuration): Bump FRAME_LEVEL to 1 to ensure we retrieve a real
1189 base pointer from builtin_frame_address. Adjust BASE_SKIP accordingly.
1190
1191 2005-11-14 Hristian Kirtchev <kirtchev@adacore.com>
1192 Javier Miranda <miranda@adacore.com>
1193
1194 * rtsfind.ads, exp_util.adb, exp_util.ads, exp_disp.adb, exp_disp.ads,
1195 exp_ch7.adb, sem_ch9.adb, snames.adb, snames.ads,
1196 exp_ch9.adb, exp_ch9.ads, exp_ch6.adb, exp_ch3.adb, exp_ch3.ads,
1197 einfo.ads, einfo.adb: Complete support for Ada 2005 interfaces.
1198
1199 * a-tags.ads, a-tags.adb: Major rewrite and additions to implement
1200 properly new Ada 2005 interfaces (AI-345) and add run-time checks (via
1201 assertions).
1202
1203 * exp_dbug.ads, exp_dbug.adb (Get_Secondary_DT_External_Name): New
1204 subprogram that generates the external name associated with a
1205 secondary dispatch table.
1206 (Get_Secondary_DT_External_Name): New subprogram that generates the
1207 external name associated with a secondary dispatch table.
1208
1209 2005-11-14 Emmanuel Briot <briot@adacore.com>
1210
1211 * xref_lib.adb (Parse_Identifier_Info): It is possible for an entity
1212 line in the ALI file to include both an instantiation reference, and a
1213 returned value.
1214
1215 2005-11-14 Vincent Celier <celier@adacore.com>
1216
1217 * clean.adb (Check_Project): Look for Ada code in extending project,
1218 even if Ada is not specified as a language.
1219 Use new function DLL_Prefix for DLL_Name
1220 (Clean_Interface_Copy_Directory): New procedure
1221 (Clean_Library_Directory): New procedure
1222 (Clean_Directory): Remove procedure, no longer used
1223 (Clean_Project): Do not delete any file in an externally built project
1224
1225 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Add the object
1226 directory of an extending project, even when there are no Ada source
1227 present.
1228 (Ada_Objects_Path.Add): Add Library_ALI_Dir, not Library_Dir to the path
1229 (Set_Ada_Paths.Add.Recursive_Add): Ditto
1230
1231 * mlib-prj.adb (Check_Library): For all library projects, get the
1232 library file timestamp.
1233 (Build_Library): Copy ALI files in Library_ALI_Dir, not in Library_Dir
1234 (Build_Library): Use new function DLL_Prefix for the DLL_Name
1235 (Clean): Remove procedure, no longer used
1236 (Ultimate_Extension_Of): New function
1237 (Build_Library): When cleaning the library directory, only remove an
1238 existing library file and any ALI file of a source of the project.
1239 When cleaning the interface copy directory, remove any source that
1240 could be a source of the project.
1241
1242 * prj.ads, prj.adb (Project_Empty): Add values of new components
1243 Library_TS and All_Imported_Projects.
1244 (Project_Empty): Add values for new components of Project_Data:
1245 Library_ALI_Dir and Display_Library_ALI_Dir
1246
1247 * prj-attr.adb: New project level attribute name Library_ALI_Dir
1248
1249 * prj-nmsc.adb (Check_Library_Attributes): Take into account new
1250 attribute Library_ALI_Dir.
1251 (Check_Library_Attributes): The library directory cannot be the same as
1252 any source directory of the project tree.
1253 (Check_Stand_Alone_Library): The interface copy directory cannot be
1254 the same as any source directory of the project tree.
1255
1256 * mlib.adb: Use Prj.Com.Fail, instead of Osint.Fail directly, to delete
1257 all temporary files.
1258
1259 2005-11-14 Robert Dewar <dewar@adacore.com>
1260 Ed Schonberg <schonberg@adacore.com>
1261
1262 * sem_elab.adb: Change name Is_Package to Is_Package_Or_Generic_Package
1263 (Check_Elab_Call): A call within a protected body is never an
1264 elaboration call, and does not require checking.
1265 (Same_Elaboration_Scope): Take into account protected types for both
1266 entities.
1267 (Activate_Elaborate_All_Desirable): New procedure
1268
1269 * ali.ads, ali.adb: Implement new AD/ED for Elaborate_All/Elaborate
1270 desirable
1271
1272 * binde.adb: Implement new AD/ED for Elaborate_All/Elaborate desirable
1273 (Elab_Error_Msg): Use -da to include internal unit links, not -de.
1274
1275 * lib-writ.ads, lib-writ.adb:
1276 Implement new AD/ED for Elaborate_All/Elaborate desirable
1277 Use new Elaborate_All_Desirable flag in N_With_Clause node
1278
1279 * sinfo.ads, sinfo.adb (Actual_Designated_Subtype): New attribute for
1280 N_Free_Statement nodes.
1281 Define new class N_Subprogram_Instantiation
1282 Add Elaborate_Desirable flag to N_With_Clause node
1283 Add N_Delay_Statement (covering two kinds of delay)
1284
1285 * debug.adb: Introduce d.f flag for compiler
1286 Add -da switch for binder
1287
1288 2005-11-14 Ed Schonberg <schonberg@adacore.com>
1289 Cyrille Comar <comar@adacore.com>
1290
1291 * exp_aggr.adb (Build_Record_Aggr_Code): Do not create master entity
1292 for task component, in the case of a limited aggregate. The enclosed
1293 object declaration will create it earlier. Otherwise, in the case of a
1294 nested aggregate, the object may appear in the wrong scope.
1295 (Convert_Aggr_In_Object_Decl): Create a transient scope when needed.
1296 (Gen_Assign): If the component being assigned is an array type and the
1297 expression is itself an aggregate, wrap the assignment in a block to
1298 force finalization actions on the temporary created for each row of the
1299 enclosing object.
1300 (Build_Record_Aggr_Code): Significant rewrite insuring that ctrl
1301 structures are initialized after all discriminants are set so that
1302 they can be accessed even when their offset is dynamic.
1303
1304 2005-11-14 Robert Dewar <dewar@adacore.com>
1305 Hristian Kirtchev <kirtchev@adacore.com>
1306
1307 * sem_attr.adb: Implement Machine_Rounding attribute
1308 (Analyze_Access_Attribute): The access attribute may appear within an
1309 aggregate that has been expanded into a loop.
1310 (Check_Task_Prefix): Add semantic check for attribute 'Callable and
1311 'Terminated whenever the prefix is of a task interface class-wide type.
1312 (Analyze_Attribute): Add semantic check for attribute 'Identity whenever
1313 the prefix is of a task interface class-wide type.
1314
1315 * s-vaflop-vms-alpha.adb: Valid_D, Valid_F, Valid_G: Make Val constant
1316 to avoid warnings.
1317
1318 * s-fatgen.ads, s-fatgen.adb (Machine_Rounding): New function
1319 Remove pragma Inline for [Unaligned_]Valid.
1320 Add comments that Valid routines do not work for Vax_Float
1321
1322 * exp_attr.adb: Implement Machine_Rounding attribute
1323
1324 * snames.h: Add entry for Machine_Rounding attribute
1325
1326 2005-11-14 Javier Miranda <miranda@adacore.com>
1327 Robert Dewar <dewar@adacore.com>
1328 Hristian Kirtchev <kirtchev@adacore.com>
1329
1330 * exp_attr.adb (Expand_N_Attribute_Reference, cases of Attribute_Size
1331 and related): For a prefix that is an explicit dereference of an
1332 access to unconstrained packed array type, annotate the dereference
1333 with an actual subtype so GIGI can make a correct size computation.
1334 (Expand_N_Attribute_Reference): In case of 'Unchecked_Access and
1335 'Unrestricted_Access, if the designated type is an interface we
1336 add a type conversion to force the displacement of the pointer
1337 to the secondary dispatch table.
1338 Use Universal_Real instead of Long_Long_Float when we need a high
1339 precision float type for the generated code (prevents gratuitous
1340 Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
1341 (Expand_N_Attribute_Reference): Add support for attribute 'Callable and
1342 'Terminated for task interface class-wide objects. Generate a call to
1343 the predefined dispatching routine used to retrieve the _task_id from
1344 a task corresponding record.
1345 (Expand_Fpt_Attribute): Major change to properly handle Vax_Float
1346
1347 * sem_disp.adb: Change name Is_Package to Is_Package_Or_Generic_Package
1348 (Check_Dispatching_Operation): Protect the frontend againts
1349 previously detected errors.
1350
1351 * Makefile.rtl: Add new instantiations of system.fat_gen
1352
1353 * s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads:
1354 Change name of instantiated package for better consistency
1355 with newly added system.fat_gen instantiations.
1356
1357 * s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads,
1358 s-fvagfl.ads: New files.
1359
1360 2005-11-14 Cyrille Comar <comar@adacore.com>
1361 Thomas Quinot <quinot@adacore.com>
1362
1363 * exp_ch5.adb (Expand_N_Assignment_Statement, Tagged_Case): For an
1364 assignment of a value of a tagged type that has been rewritten to a
1365 block statement, it is known by construction that no checks are
1366 necessary for the statements within the block: analyze it with checks
1367 suppressed.
1368 (Expand_N_If_Statement): When killing a dead then-branch in an
1369 if-statement that has elsif_parts, recompute the Current_Value node
1370 for any entity whose value is known from the condition of the first
1371 elsif_part.
1372 (Expand_N_Return_Statement): When returning a mutable record, convert
1373 the return value into its actual subtype in order to help the backend
1374 to return the actual size instead of the maximum. This is another
1375 aftermath of not returning mutable records on the sec-stack anymore.
1376
1377 * sem_ch5.ads, sem_ch5.adb (Analyze_Iteration_Scheme): Minor change to
1378 handling of error msg for suspicious reverse range iteration.
1379 (Check_Possible_Current_Value_Condition): Move declaration from body to
1380 spec, to allow this subprogram to be called from exp_ch5.
1381
1382 2005-11-14 Thomas Quinot <quinot@adacore.com>
1383
1384 * exp_dist.adb (Append_Array_Traversal): Modify constrained case to
1385 generate a set of nested array aggregates instead of a single flat
1386 aggregate for multi-dimensional arrays.
1387
1388 2005-11-14 Pascal Obry <obry@adacore.com>
1389
1390 * expect.c (__gnat_kill) [Win32]: Fix implementation, the pid returned
1391 by spawnve is a process handle, no need to convert. Add a parameter
1392 close to control wether the process handle must be closed.
1393 (__gnat_waitpid): Fix implementation, the pid returned by spawnve is
1394 a process handle, not need to convert.
1395 (__gnat_kill) [*]: Add dummy parameter close to match the Win32 spec.
1396
1397 * g-expect.adb: (Kill): Document the new close parameter.
1398 (Close): Do not release the process handle in the kill there as
1399 waitpid() is using it.
1400 (Send_Signal): Release the process handle.
1401
1402 2005-11-14 Robert Dewar <dewar@adacore.com>
1403
1404 * exp_fixd.adb: Use Universal_Real instead of Long_Long_Float when we
1405 need a high precision float type for the generated code (prevents
1406 gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
1407 used).
1408
1409 * exp_imgv.adb: Use Universal_Real instead of Long_Long_Float when we
1410 need a high precision float type for the generated code (prevents
1411 gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
1412 used).
1413 (Expand_Width_Attribute): In configurable run-time, the attribute is not
1414 allowed on non-static enumeration subtypes. Force a load error to emit
1415 the correct diagnostic.
1416
1417 2005-11-14 Thomas Quinot <quinot@adacore.com>
1418 Robert Dewar <dewar@adacore.com>
1419 Ed Schonberg <schonberg@adacore.com>
1420
1421 * exp_intr.adb (Expand_Unc_Deallocation): If GIGI needs an actual
1422 subtype to compute the size of the designated object at run-time,
1423 create such a subtype and store it in the Actual_Designated_Subtype
1424 attribute of the N_Free_Statement.
1425 Generate itype for classwide designated object in both cases of
1426 user-specified storage pool: specific and class-wide, not only in the
1427 specific case.
1428 Raise CE when trying to set a not null access type object to null.
1429 (Expand_Dispatching_Constructor_Call): Retrieve subprogram actual with
1430 an explicit loop, because freeze nodes make its position variable.
1431
1432 * sem_intr.adb (Check_Intrinsic_Call): Given warning for freeing not
1433 null object.
1434
1435 2005-11-14 Javier Miranda <miranda@adacore.com>
1436
1437 * exp_strm.adb (Build_Stream_Attr_Profile, Build_Stream_Function,
1438 Build_Stream_Procedure): Add the null-excluding attribute to the first
1439 formal.
1440 This has no semantic meaning under Ada95 mode but it is a
1441 requirement under Ada05 mode.
1442
1443 * par-ch3.adb (P_Access_Definition): Addition of warning message if
1444 the null exclusion is used under Ada95 mode
1445 (P_Null_Exclusion): The qualifier has no semantic meaning in Ada 95.
1446 (P_Access_Definition): Remove assertion that forbids the use of
1447 the null-exclusion feature in Ada95.
1448
1449 2005-11-14 Robert Dewar <dewar@adacore.com>
1450
1451 * impunit.adb: Exclude container helper units not intended for use by
1452 users.
1453
1454 2005-11-14 Ed Schonberg <schonberg@adacore.com>
1455
1456 * freeze.adb (Freeze_Entity): For an access formal that is an access
1457 to subprogram, freeze the anonymous subprogram type at the same time,
1458 to prevent later freezing in the wrong scope, such as the enclosing
1459 subprogram body.
1460 (Freeze_Entity): Freeze the equivalent_type of an access_to_protected_
1461 subprogram whenever available.
1462
1463 2005-11-14 Arnaud Charlet <charlet@adacore.com>
1464
1465 PR ada/23732
1466 * gnatvsn.ads (Library_Version): Bump to 4.1
1467
1468 2005-11-14 Robert Dewar <dewar@adacore.com>
1469
1470 * g-debpoo.adb (Set_Valid): Use Integer_Address instead of
1471 Storage_Offset to avoid wrap around causing invalid results.
1472
1473 2005-11-14 Pascal Obry <obry@adacore.com>
1474
1475 * gnatbind.adb (Is_Cross_Compiler): New function returning True for
1476 cross-compiler.
1477 (Scan_Bind_Arg): Fail with an error message if -M option is used
1478 on a native compiler.
1479
1480 2005-11-14 Robert Dewar <dewar@adacore.com>
1481 Vincent Celier <celier@adacore.com>
1482
1483 * gprep.adb: Implement -C switch to scan comments
1484
1485 * scng.adb: Scan comment symbol separately if Replace_In_Comments set
1486
1487 * scans.ads: Comment updates (including new use of Tok_Comment in
1488 preprocessing)
1489
1490 * opt.ads: Add documentation for flags that are used by gprmake,
1491 currently and in the next version of gprmake.
1492 (Verbosity_Level): New variable
1493 Add Replace_In_Comments switch
1494
1495 * vms_data.ads: Add VMS equivalent for new gnatmake switches -vl, -vm
1496 and -vm.
1497 Add /REPLACE_IN_COMMENTS for gnatprep -C switch
1498
1499 2005-11-14 Arnaud Charlet <charlet@adacore.com>
1500
1501 * g-regpat.adb (Fail): raise Expression_Error including the diagnostic
1502 message, friendlier.
1503
1504 2005-11-14 Robert Dewar <dewar@adacore.com>
1505
1506 * g-spitbo.adb: (Hash): Rotate by 3 instead of 1
1507
1508 2005-11-14 Doug Rupp <rupp@adacore.com>
1509
1510 * init.c [VMS]: Don't install __gnat_error_handler if DBG$TDBG defined.
1511
1512 2005-11-14 Robert Dewar <dewar@adacore.com>
1513
1514 * interfac.ads: Change declarations of IEEE float types so that we no
1515 longer need a separate version of this package for VMS.
1516
1517 2005-11-14 Ed Schonberg <schonberg@adacore.com>
1518
1519 * lib-xref.adb (Generate_Definition, Generate_Reference): Treat the
1520 internal entity created for the declaration of a child subprogram body
1521 with no spec as coming from source, to generate proper cross-reference
1522 information.
1523
1524 2005-11-14 Vincent Celier <celier@adacore.com>
1525
1526 * make.adb (Compile_Sources): Change verbose message to minimum
1527 verbosity level High for "is in an Ada library", "is a read-only
1528 library" and "is an internal library",
1529 (Create_Binder_Mapping_File): Path name of ALI file for library project
1530 must include the library directory, not the object directory.
1531 (Scan_Make_Arg): Make sure that Switch.M.Scan_Make_Switches is called
1532 for new switches -vl, -vm and -vh.
1533 (Verbose_Msg): Add new defaulted parameter Minimum_Verbosity
1534 (Check): Use minimum verbosity Medium for some Verbose_Msg calls
1535 (Compile_Sources): Do not attempt to compile if an ALI file is missing
1536 in a project that is externally built.
1537 (Compute_All_Imported_Projects): New procedure
1538 (Gnatmake): Check if importing libraries should be regenerated because
1539 at least an imported library is more recent.
1540 (Initialize): For each project compute the list of the projects it
1541 imports directly or indirectly.
1542 (Add_Library_Search_Dir): New procedure, used in place of
1543 Add_Lib_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
1544 put in the search paths.
1545 (Add_Source_Search_Dir): New procedure, used in place of
1546 Add_Src_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
1547 put in the search paths.
1548 (Mark_Directory): Resolve the absolute path the directory before marking
1549 it.
1550
1551 * switch-m.adb (Scan_Make_Switches): Replace "raise Bad_Switch;" with
1552 call to new procedure Bad_Switch. Call Scan_Pos with new parameter
1553 Switch. Do not handle any exception.
1554 (Scan_Make_Switches): Increment Ptr for new switches -vl, -vm and -vh
1555 so that the switch is recognized as valid.
1556 (Scan_Make_Switches): Implement new switches -vl, -vm and -vh.
1557
1558 2005-11-14 GNAT Script <nobody@adacore.com>
1559
1560 * Make-lang.in: Makefile automatically updated
1561
1562 2005-11-14 Pascal Obry <obry@adacore.com>
1563
1564 * mdll.adb (Build_Reloc_DLL): Fix parameter handling when a map file is
1565 used.
1566 (Ada_Build_Reloc_DLL): Fix parameter handling when a map file is used.
1567 In both cases the last argument was dropped.
1568
1569 2005-11-14 Eric Botcazou <ebotcazou@adacore.com>
1570
1571 * namet.h: (Column_Numbe): New type.
1572 (Get_Column_Number): Define to sinput__get_column_number.
1573 (Instantiation): Define to sinput__instantiation.
1574 (Get_Column_Number): Declare.
1575 (Instantiation): Likewise.
1576
1577 2005-11-14 Robert Dewar <dewar@adacore.com>
1578
1579 * par-ch10.adb (P_Compilation_Unit): Add defenses against junk unit
1580 syntax, which could cause compiler hangs.
1581
1582 2005-11-14 Vincent Celier <celier@adacore.com>
1583
1584 * prj-ext.adb: Take into account new environment variable
1585 GPR_PROJECT_PATH. Warn if both GPR_PROJECT_PATH and ADA_PROJECT_PATH
1586 are defined.
1587 (Prj.Ext elaboration): For each directory in the ADA_PROJECT_PATH,
1588 normalize its path name, making it absolute and resolving symbolic
1589 links, and replace the original if resolved path is different.
1590
1591 2005-11-14 Vincent Celier <celier@adacore.com>
1592
1593 * prj-part.adb (Create_Virtual_Extending_Project): Put virtual project
1594 into Prj.Tree.Tree_Private_Part.Projects_Htable for GPS.
1595
1596 2005-11-14 Emmanuel Briot <briot@adacore.com>
1597
1598 * prj-pp.adb (Print): Do not output the with statement if the
1599 associated name is empty, which happens for virtual extending projects.
1600 (Print): Preserve the "extends all" attribute when printing the project.
1601
1602 * prj-tree.ads (String_Value_Of): Add comment about returned value for
1603 a virtual extending project.
1604
1605 2005-11-14 Ed Schonberg <schonberg@adacore.com>
1606
1607 * sem_aggr.adb (Resolve_Aggregate): An others choice is legal on the
1608 rhs of an assignment even if the type is unconstrained, when the
1609 context is non-expanding.
1610 In an inlined body, if the context type is private,
1611 resolve with its full view, which must be a composite type.
1612
1613 2005-11-14 Robert Dewar <dewar@adacore.com>
1614 Ed Schonberg <schonberg@adacore.com>
1615
1616 * sem_ch10.adb: Change name Is_Package to Is_Package_Or_Generic_Package
1617 Do not give obsolescent warning on with of subprogram (since we
1618 diagnose calls)
1619 (Analyze_With_Clause): Add test for obsolescent package
1620 (Install_Context_Clauses): If the unit is the body of a child unit, do
1621 not install twice the private declarations of the parents, to prevent
1622 circular lists of Use_Clauses in a parent.
1623 (Implicit_With_On_Parent): Do add duplicate with_clause on parent when
1624 compiling body of child unit.
1625 Use new class N_Subprogram_Instantiation
1626 (Expand_With_Clause): If this is a private with_clause for a child unit,
1627 appearing in the context of a package declaration, then the implicit
1628 with_clauses generated for parent units are private as well.
1629 (License_Check): Do not generate message if with'ed unit is internal
1630
1631 2005-11-14 Gary Dismukes <dismukes@adacore.com>
1632 Ed Schonberg <schonberg@adacore.com>
1633 Thomas Quinot <quinot@adacore.com>
1634
1635 * sem_ch12.ads, sem_ch12.adb (Map_Entities): Exclude entities whose
1636 names are internal, because they will not have a corresponding partner
1637 in the actual package.
1638 (Analyze_Formal_Package): Move the setting of the formal package spec's
1639 Generic_Parent field so that it occurs prior to analyzing the package,
1640 to allow proper operation of Install_Parent_Private_Declarations.
1641 (Analyze_Package_Instantiation): Set the instantiated package entity's
1642 Package_Instantiation field.
1643 (Get_Package_Instantiation_Node): Move declaration to package spec.
1644 Retrieve the N_Package_Instantiation node when the Package_Instantiation
1645 field is present.
1646 (Check_Generic_Child_Unit): Within an inlined call, the only possible
1647 instantiation is Unchecked_Conversion, for which no parents are needed.
1648 (Inline_Instance_Body): Deinstall and record the use_clauses for all
1649 parent scopes of a scope being removed prior to inlining an instance
1650 body.
1651 (Analyze_Package_Instantiation): Do not perform front-end inlining when
1652 the current context is itself an instance within a non-instance child
1653 unit, to prevent scope stack errors.
1654 (Save_References): If the node is an aggregate that is an actual in a
1655 call, rewrite as a qualified expression to preserve some type
1656 information, to resolve possible ambiguities in the instance.
1657 (Instance_Parent_Unit): New global variable to record the ultimate
1658 parent unit associated with a generic child unit instance (associated
1659 with the existing Parent_Unit_Visible flag).
1660 (type Instance_Env): New component Instance_Parent_Unit for stacking
1661 parents recorded in the global Instance_Parent_Unit.
1662 (Init_Env): Save value of Instance_Parent_Unit in the Instance_Env
1663 stack.
1664 (Install_Spec): Save the parent unit entity in Instance_Parent_Unit when
1665 it's not a top-level unit, and only do this if Instance_Parent_Unit is
1666 not already set. Replace test of Is_Child_Unit with test of parent's
1667 scope against package Standard. Add comments and a ??? comment.
1668 (Remove_Parent): Revise condition for resetting Is_Immediately_Visible
1669 on a child instance parent to test that the parent equals
1670 Instance_Parent rather than simply checking that the unit is not a
1671 child unit.
1672 (Restore_Env): Restore value of Instance_Parent_Unit from Instance_Env.
1673 (Validate_Derived_Interface_Type_Instance): Verify that all ancestors of
1674 a formal interface are ancestors of the corresponding actual.
1675 (Validate_Formal_Interface_Type): Additional legality checks.
1676 (Analyze_Formal_Derived_Interface_Type): New procedure to handle formal
1677 interface types with ancestors.
1678 (Analyze_Formal_Package): If formal is a renaming, use renamed entity
1679 to diagnose attempts to use generic within its own declaration.
1680
1681 2005-11-14 Ed Schonberg <schonberg@adacore.com>
1682 Javier Miranda <miranda@adacore.com>
1683
1684 * sem_ch3.ads, sem_ch3.adb (Build_Discriminal): Add link to original
1685 discriminant.
1686 (Build_Private_Derived_Type): The entity of the created full view of the
1687 derived type does not come from source. If after installing the private
1688 declarations of the parent scope the parent is still private, use its
1689 full view to construct the full declaration of the derived type.
1690 (Build_Derived_Record_Type): Relax the condition that controls the
1691 execution of the check that verifies that the partial view and
1692 the full view agree in the set of implemented interfaces. In
1693 addition, this test now only takes into account the progenitors.
1694 (Derive_Interface_Subprograms): No need to derive subprograms
1695 of ancestors that are interfaces.
1696 (Derive_Subprograms): Remove formal No_Predefined_Prims and the
1697 associated code.
1698 Change name Is_Package to Is_Package_Or_Generic_Package
1699 (Complete_Subprograms_Derivation): Handle the case in which the full
1700 view is a transitive derivation of the ancestor of the partial view.
1701 (Process_Full_View): Rename local subprogram Find_Interface_In_
1702 Descendant to Find_Ancestor_Interface to leave the code more clear.
1703 Remove wrong code that avoids the generation of an error message
1704 when the immediate ancestor of the partial view is an interface.
1705 In addition some minor reorganization of the code has been done to
1706 leave it more clear.
1707 (Analyze_Type_Declaration): If type has previous incomplete tagged
1708 partial view, inherit properly its primitive operations.
1709 (Collect_Interfaces): Make public, for analysis of formal
1710 interfaces.
1711 (Analyze_Interface_Declaration): New procedure for use for regular and
1712 formal interface declarations.
1713 (Build_Derived_Record_Type): Add support for private types to the code
1714 that checks if a tagged type implements abstract interfaces.
1715 (Check_Aliased_Component_Type): The test applies in the spec of an
1716 instance as well.
1717 (Access_Type_Declaration): Clean up declaration of malformed type
1718 declared as an access to its own classwide type, to prevent cascaded
1719 crash.
1720 (Collect_Interfaces): For private extensions and for derived task types
1721 and derived protected types, the parent may be an interface that must
1722 be included in the interface list.
1723 (Access_Definition): If the designated type is an interface that may
1724 contain tasks, create Master_Id for it before analyzing the expression
1725 of the declaration, which may be an allocator.
1726 (Record_Type_Declaration): Set properly the interface kind, for use
1727 in allocators, the creation of master id's for task interfaces, etc.
1728
1729 2005-11-14 Javier Miranda <miranda@adacore.com>
1730 Ed Schonberg <schonberg@adacore.com>
1731
1732 * sem_ch6.adb (Check_Conformance): The null-exclusion feature can be
1733 omitted in case of stream attribute subprograms.
1734 (Check_Inline_Pragma): Handle Inline and Inline_Always pragmas that
1735 appear immediately after a subprogram body, when there is no previous
1736 subprogram declaration.
1737 Change name Is_Package to Is_Package_Or_Generic_Package
1738 (Process_Formals): A non null qualifier on a non null named access
1739 type is not an error, and is a warning only if Redundant_Constructs
1740 are flagged.
1741
1742 2005-11-14 Gary Dismukes <dismukes@adacore.com>
1743 Ed Schonberg <schonberg@adacore.com>
1744
1745 * sem_ch7.adb (Install_Parent_Private_Declarations): New procedure
1746 nested within Analyze_Package_Specification to install the private
1747 declarations and use clauses within each of the parent units of a
1748 package instance of a generic child package.
1749 (Analyze_Package_Specification): When entering a private part of a
1750 package associated with a generic instance or formal package, the
1751 private declarations of the parent must be installed (by calling new
1752 procedure Install_Parent_Private_Declarations).
1753 Change name Is_Package to Is_Package_Or_Generic_Package
1754 (Preserve_Full_Attributes): For a synchronized type, the corresponding
1755 record is absent in a generic context, which does not indicate a
1756 compiler error.
1757
1758 2005-11-14 Ed Schonberg <schonberg@adacore.com>
1759
1760 * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic context, do
1761 not try to rewrite a renamed stream attribute, because the operations
1762 on the type may not have been generated.
1763 Handle properly a renaming_as_body generated for a stream operation
1764 whose default is abstract because the object type itself is abstract.
1765 (Find_Type): If the type is incomplete and appears as the prefix of a
1766 'Class reference, it is tagged, and its list of primitive operations
1767 must be initialized properly.
1768 (Chain_Use_Clauses): When chaining the use clauses that appear in the
1769 private declaration of a parent unit, prior to compiling the private
1770 part of a child unit, find on the scope stack the proper parent entity
1771 on which to link the use clause.
1772 (Note_Redundant_Use): Emit a warning when a redundant use clause is
1773 detected.
1774 (Analyze_Object_Renaming): An attribute reference is not a legal object
1775 if it is not a function call.
1776
1777 2005-11-14 Robert Dewar <dewar@adacore.com>
1778 Ed Schonberg <schonberg@adacore.com>
1779
1780 * sem_eval.adb: Implement d.f flag
1781 (Subtype_Statically_Match): A generic actual type has unknown
1782 discriminants when the corresponding actual has a similar partial view.
1783 If the routine is called to validate the signature of an inherited
1784 operation in a child instance, the generic actual matches the full view,
1785
1786 2005-11-14 Hristian Kirtchev <kirtchev@adacore.com>
1787 Ed Schonberg <schonberg@adacore.com>
1788 Robert Dewar <dewar@adacore.com>
1789 Thomas Quinot <quinot@adacore.com>
1790
1791 * sem_res.adb (Resolve_Call): Provide a better error message whenever
1792 a procedure call is used as a select statement trigger and is not an
1793 entry renaming or a primitive of a limited interface.
1794 (Valid_Conversion): If the operand has a single interpretation do not
1795 remove address operations.
1796 (Check_Infinite_Recursion): Skip freeze nodes when looking for a raise
1797 statement to inhibit warning.
1798 (Resolve_Unary_Op): Do not produce a warning when
1799 processing an expression of the form -(A mod B)
1800 Use Universal_Real instead of Long_Long_Float when we need a high
1801 precision float type for the generated code (prevents gratuitous
1802 Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
1803 (Resolve_Concatenation_Arg): Improve error message when argument is an
1804 ambiguous call to a function that returns an array.
1805 (Make_Call_Into_Operator, Operand_Type_In_Scope): Do not check that
1806 there is an implicit operator in the given scope if we are within an
1807 instance: legality check has been performed on the generic.
1808 (Resolve_Unary_Op): Apply warnings checks on argument of Abs operator
1809 after resolving operand, to avoid false warnings on overloaded calls.
1810
1811 2005-11-14 Ed Schonberg <schonberg@adacore.com>
1812 Javier Miranda <miranda@adacore.com>
1813
1814 PR ada/15604
1815
1816 * sem_type.adb (Covers): In an inlined body, a composite type matches
1817 a private type whose full view is a composite type.
1818 (Interface_Present_In_Ancestor): Protect the frontend against
1819 previously detected errors to ensure that its compilation
1820 with assertions enabled gives the same output that its
1821 compilation without assertions.
1822 (Interface_Present_In_Ancestor): Add support for private types.
1823 Change name In_Actual to In_Generic_Actual (clean up)
1824 (Disambiguate): New predicate In_Actual, to recognize expressions that
1825 appear in the renaming declaration generated for generic actuals, and
1826 which must be resolved in the outer context.
1827
1828 2005-11-14 Robert Dewar <dewar@adacore.com>
1829 Thomas Quinot <quinot@adacore.com>
1830 Hristian Kirtchev <kirtchev@adacore.com>
1831 Ed Schonberg <schonberg@adacore.com>
1832
1833 * sem_util.ads, sem_util.adb: Change name Is_Package to
1834 Is_Package_Or_Generic_Package.
1835 (Check_Obsolescent): New procedure.
1836 (Set_Is_Public): Remove obsolete junk test.
1837 (Set_Public_Status): Do not set Is_Public on an object whose declaration
1838 occurs within a handled_sequence_of_statemets.
1839 (Is_Controlling_Limited_Procedure): Factor some of the logic, account
1840 for a parameterless procedure.
1841 (Enter_Name): Recognize renaming declarations created for private
1842 component of a protected type within protected operations, so that
1843 the source name of the component can be used in the debugger.
1844
1845 2005-11-14 Ed Schonberg <schonberg@adacore.com>
1846 Robert Dewar <dewar@adacore.com>
1847
1848 * sem_warn.ads, sem_warn.adb (Publicly_Referenceable): Generic formals
1849 of a generic subprogram are not visible outside the body.
1850 (Set_Warning_Switch): New procedure (code to set warning mode moved
1851 here from Switch.C so that it can be shared by pragma processing.
1852 (Check_References): Special case warning for non-modified non-imported
1853 volatile objects.
1854 * par-prag.adb: Modify processing of pragma Warnings to accomodate new
1855 form with a string literal argument
1856
1857 2005-11-14 Javier Miranda <miranda@adacore.com>
1858
1859 * s-finroo.ads, s-finroo.adb (Read): Addition of "not null" to the
1860 anonymous access.
1861 (Write): Addition of "not null" to the anonymous access.
1862 (Read): Addition of "not null" to the anonymous access.
1863 (Write): Addition of "not null" to the anonymous access.
1864
1865 * s-strxdr.adb, s-stratt.ads, s-stratt.adb (I_AD, I_AS, I_B, I_C, I_F,
1866 I_I, I_LF, I_LI, I_LLF, I_LLI, I_LLU, I_LU, I_SF, I_SI, I_SSI, I_SSU,
1867 I_SU, I_U, I_WC): Addition of "not null" to the anonymous access.
1868 (W_AD, W_AS, W_B, W_C, W_F, W_I, W_LF, W_LI, W_LLF, W_LLI, W_LLU,
1869 W_LU, W_SF, W_SI, W_SSI, W_SSU, W_SU, W_U, W_WC): Addition of
1870 "not null" to the anonymous access.
1871
1872 2005-11-14 Robert Dewar <dewar@adacore.com>
1873
1874 * s-stoele.adb: Fix code for Address mod Storage_Offset for negative
1875 offset values
1876
1877 2005-11-14 Vincent Celier <celier@adacore.com>
1878
1879 * switch.adb (Bad_Switch): New procedure
1880 (Scan_Nat, Scan_Pos): Directly call Osint.Fail with the appropriate
1881 message when in error.
1882
1883 * switch.ads (Bad_Switch, Bad_Switch_Value, Missing_Switch_Value,
1884 Too_Many_Output_Files): Remove declarations, no longer used.
1885 (Scan_Nat): New parameter Switch
1886 (Scan_Pos): Ditto
1887 (Bad_Switch): New procedure
1888
1889 * switch-b.adb (Scan_Binder_Switches): Replace "raise Bad_Switch;"
1890 with call to new procedure Bad_Switch. Call Scan_Pos and Scan_Natwith
1891 new parameter Switch. Replace "raise Too_Many_Output_Files;" with call
1892 to Osint.Fail. Do not handle any exception.
1893
1894 2005-11-14 Vincent Celier <celier@adacore.com>
1895
1896 * tempdir.adb (Tempdir): Do not use environment variable TMPDIR if it
1897 designates a non existent directory.
1898
1899 2005-11-14 Robert Dewar <dewar@adacore.com>
1900
1901 * xgnatugn.adb: Replace invalid membership test by 'Valid
1902
1903 2005-11-14 Vincent Celier <celier@adacore.com>
1904
1905 * makegpr.adb (Gprmake): Do not attempt to build the global archive if
1906 there is no object directory.
1907
1908 2005-11-14 Robert Dewar <dewar@adacore.com>
1909
1910 * usage.adb: Minor adjustment to output format, use nn instead of nnn
1911 (so that -gnateInnn does not run into next column)
1912
1913 2005-11-14 Ed Falis <falis@adacore.com>
1914
1915 * s-bitops.adb (Bits_Array): corrected comment: "unconstrained" =>
1916 "constrained"
1917
1918 2005-11-14 Cyrille Comar <comar@adacore.com>
1919
1920 * s-chepoo.ads: Add comments on Dereference.
1921 Remove unnecessary inherited abstract primitives.
1922 Cosmetic cleanup.
1923
1924 2005-11-14 Robert Dewar <dewar@adacore.com>
1925
1926 * sem_cat.ads (Validate_Access_Type_Declaration): Remove declaration
1927 node parameter, not needed, since it is available as Declaration_Node.
1928
1929 2005-11-14 Geert Bosch <bosch@adacore.com>
1930
1931 * s-exnllf.adb (Exn_LLF): Fix comment to be more precise and
1932 grammatically correct.
1933
1934 2005-11-14 Vincent Celier <celier@adacore.com>
1935
1936 * s-fileio.ads: Correct spelling error in comment
1937
1938 2005-11-14 Cyrille Comar <comar@adacore.com>
1939 Robert Dewar <dewar@adacore.com>
1940 Vincent Celier <celier@adacore.com>
1941 Ben Brosgol <brosgol@adacore.com>
1942 Jose Ruiz <ruiz@adacore.com>
1943 Pascal Obry <obry@adacore.com>
1944
1945 * gnat_ugn.texi:
1946 Document that -fstack-check is needed for strict compliance with the
1947 Ada 95 Reference Manual.
1948 Correct reference to VAX systems to meet HP guidelines
1949 Add documentation for new gnatmake switches -vl, -vm and -vh
1950 Replace DEC Ada by HP Ada
1951 Replace DIGITAL by HP
1952 Remove empty section on tools in compatibility section
1953 Clarify the Windows convention semantics.
1954 Document the Win32 calling convention.
1955 The Stdcall, Win32 and DLL convention are synonyms.
1956 Add a note in -gnatR description about zero size record components
1957 Note on new >= and <= warnings for -gnatwc
1958 Document that equal sign after -gnatm is optional.
1959 Note that strip is working fine on DLL built with a Library
1960 Project. The restriction apply only to DLL built with gnatdll.
1961 Update section about the way to debug a DLL.
1962 Update information about the DLL convention.
1963 Document -C switch for gnatprep
1964 Document new attribute Library_ALI_Dir
1965 Update elaboration doc to include implicit Elaborate pragmas now
1966 generated for subprogram instantiations.
1967 Document limitation on executable names that include spaces for --GCC,
1968 --GNATBIND, and --GNATLINK switches.
1969 Document that -w causes -gnatws to be added at start of gcc switches
1970
1971 * gnat_rm.texi: Document that -mieee is needed for generating infinite
1972 and NaN values in case of overflow on machines that are not fully
1973 compliant with the IEEE floating-point standard.
1974 Create a section describing the set of compiler options needed for
1975 strict compliance with the Ada 95 Reference Manual.
1976 Add documentation for pragma Obsolescent applied to a package
1977 Clarify potential issues of mixed language programs related to the
1978 I/O buffering enabling in the elaboration of the GNAT runtime.
1979 Add extra documentation for pragma Restrictions (No_Elaboration_Code)
1980 This documentation only patch adds extra documentsion for pragma
1981 Restrictions (No_Elaboration_Code), explaining why it is not possible
1982 to document this restriction in terms of allowed source constructs.
1983 Document string literal form of pragma Warnings
1984 Document new attribute Library_ALI_Dir
1985 Add documentation on stable attributes in project files that was missing
1986
1987 * gnat-style.texi: Indicate that paragraphs within a single comment
1988 should be separated by empty comment lines
1989
1990 * ug_words: Added replacements for -gnat95 and -gnat05 (/95 and
1991 /05 respectively)
1992
1993 * bindusg.adb: Minor cleanup, put -m before -M for consistency
1994
1995 2005-11-14 Robert Dewar <dewar@adacore.com>
1996
1997 * a-secain.adb, a-slcain.adb, a-shcain.adb, a-chtgke.ads, a-chtgke.adb,
1998 a-stwiha.adb, a-strhas.adb, a-chzla1.ads, a-chzla9.ads, a-stzbou.adb,
1999 a-stzbou.ads, a-stzfix.adb, a-stzhas.adb, a-stzmap.adb, a-stzmap.ads,
2000 a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads, a-stzunb.adb,
2001 a-stzunb.ads, a-szuzha.adb, a-szuzha.ads, a-szuzti.adb, a-szuzti.ads,
2002 a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb, a-ztcstr.adb, a-ztcstr.ads,
2003 a-ztdeau.adb, a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
2004 a-ztedit.ads, a-ztenau.ads, a-ztenio.adb, a-ztenio.ads, a-ztexio.adb,
2005 a-ztexio.ads, a-ztfiio.adb, a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads,
2006 a-ztflio.adb, a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
2007 a-ztinau.ads, a-ztinio.adb, a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads,
2008 a-zttest.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-alpha.adb,
2009 g-enblsp-vms-ia64.adb, g-enblsp-vms-ia64.adb, system-linux-hppa.ads,
2010 a-chacon.adb, a-chacon.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
2011 a-zchuni.ads, g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb,
2012 system-hpux-ia64.ads, g-soccon-unixware.ads, g-soliop-unixware.ads,
2013 g-soccon-interix.ads, g-soliop-solaris.ads, g-eacodu-vms.adb,
2014 g-expect-vms.adb, g-socthi-vms.adb, g-soliop-mingw.ads,
2015 a-intnam-unixware.ads, a-intnam-lynxos.ads, a-intnam-tru64.ads,
2016 a-intnam-aix.ads, a-intnam-linux.ads, a-intnam-linux.ads,
2017 a-intnam-dummy.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
2018 a-intnam-solaris.ads, a-calend-vms.adb, a-calend-vms.ads,
2019 a-intnam-vms.ads, a-calend-mingw.adb, a-intnam-mingw.ads,
2020 a-intnam-vxworks.ads, a-numaux-vxworks.ads, system-unixware.ads,
2021 system-linux-ia64.ads, a-intnam-freebsd.ads, system-freebsd-x86.ads,
2022 system-lynxos-ppc.ads, system-linux-x86_64.ads, a-stunha.adb,
2023 a-cgaaso.ads, a-cgaaso.adb, a-chtgop.adb, a-cgcaso.adb, a-cgarso.adb,
2024 a-cohata.ads, a-crbtgk.adb, a-crbltr.ads, a-coprnu.adb, a-rbtgso.adb,
2025 a-intnam-darwin.ads, system-darwin-ppc.ads, gprmake.adb, makegpr.ads,
2026 system-tru64.ads, system-aix.ads, system-solaris-x86.ads,
2027 system-irix-o32.ads, s-interr-sigaction.adb, system-irix-n32.ads,
2028 s-parame-mingw.adb, system-hpux.ads, s-traceb-hpux.adb,
2029 system-linux-x86.ads, s-inmaop-dummy.adb, system-os2.ads,
2030 system-interix.ads, system-solaris-sparc.ads,
2031 system-solaris-sparcv9.ads, s-inmaop-vms.adb,
2032 s-mastop-vms.adb, expander.adb, expander.ads, s-gloloc-mingw.adb,
2033 system-mingw.ads, system-vms-zcx.ads, s-osinte-fsu.adb,
2034 s-traceb-mastop.adb, a-exextr.adb, a-exstat.adb, a-filico.ads,
2035 a-finali.ads, a-interr.ads, a-intsig.adb, a-intsig.ads,
2036 a-except.ads, a-numaux-x86.ads, a-astaco.adb, a-calend.adb,
2037 a-calend.ads, a-chahan.adb, a-chahan.ads, a-chlat9.ads,
2038 a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
2039 a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
2040 a-elchha.adb, a-decima.adb, a-decima.ads, a-diocst.ads,
2041 a-direio.adb, a-direio.ads, a-excach.adb, a-excach.adb,
2042 a-exctra.ads, ali-util.adb, a-ngcefu.adb, a-ngcoty.adb,
2043 a-ngcoty.ads, a-nudira.adb, a-nudira.ads, a-nuflra.adb,
2044 a-numaux.ads, a-reatim.ads, a-sequio.adb, a-sequio.ads,
2045 a-siocst.ads, a-ssicst.ads, a-stmaco.ads, a-storio.adb,
2046 a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
2047 a-strmap.adb, a-strmap.ads, a-strsea.adb, a-strsea.ads,
2048 a-strsup.adb, a-strsup.ads, a-strunb.adb, a-strunb.ads,
2049 a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwima.adb,
2050 a-stwima.ads, a-stwise.adb, a-stwise.ads, a-stwisu.adb,
2051 a-stwisu.ads, a-stwiun.adb, a-stwiun.ads, a-suteio.adb,
2052 a-suteio.ads, a-swmwco.ads, a-swuwti.adb, a-swuwti.ads,
2053 a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
2054 a-taside.ads, a-teioed.adb, a-textio.adb, a-textio.ads,
2055 a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tideau.adb,
2056 a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
2057 a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
2058 a-tiinio.adb, a-timoau.adb, a-timoio.adb, a-timoio.ads,
2059 a-tiocst.ads, a-titest.adb, atree.adb, a-witeio.adb,
2060 a-witeio.ads, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb,
2061 a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtedit.adb,
2062 a-wtedit.ads, a-wtenau.adb, a-wtenio.adb, a-wtfiio.adb,
2063 a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
2064 a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, back_end.adb,
2065 bindgen.adb, butil.adb, butil.ads, checks.ads, cio.c, comperr.adb,
2066 csets.ads, cstand.adb, debug.ads, elists.ads, errno.c, errout.adb,
2067 errout.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
2068 errutil.ads, err_vars.ads, eval_fat.adb, exp_ch11.adb, exp_ch11.ads,
2069 exp_ch2.adb, exp_ch7.ads, exp_imgv.ads, exp_pakd.adb, exp_prag.adb,
2070 exp_prag.ads, exp_tss.adb, exp_tss.ads, exp_vfpt.ads, fe.h, fmap.adb,
2071 freeze.ads, frontend.adb, frontend.ads, g-arrspl.adb, g-arrspl.ads,
2072 g-awk.adb, g-awk.ads, g-boumai.ads, g-calend.adb, g-calend.ads,
2073 g-catiio.adb, g-comlin.adb, g-comlin.ads, g-comlin.ads, g-comlin.ads,
2074 g-comver.adb, g-crc32.adb, g-crc32.ads, g-ctrl_c.ads, g-curexc.ads,
2075 g-debpoo.ads, g-debuti.adb, g-diopit.adb, g-diopit.ads, g-dirope.adb,
2076 g-dirope.ads, g-dyntab.adb, g-dyntab.ads, g-excact.adb, g-excact.ads,
2077 g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.ads, g-flocon.ads,
2078 g-hesorg.ads, g-io.adb, g-locfil.ads, g-md5.adb, g-md5.ads, g-md5.ads,
2079 g-moreex.adb, g-signal.ads, g-signal.adb, gnatbind.ads, gnatchop.adb,
2080 gnatcmd.adb, gnatfind.adb, gnatlbr.adb, gnatmake.ads, gnatmem.adb,
2081 gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb, g-os_lib.adb,
2082 g-os_lib.ads, g-pehage.adb, g-pehage.ads, gprep.ads, g-regexp.adb,
2083 g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.ads, g-semaph.adb,
2084 g-socthi.adb, g-soliop.ads, g-spipat.adb, g-spipat.ads, g-sptabo.ads,
2085 g-sptain.ads, g-sptavs.ads, g-string.ads, g-tasloc.adb, g-tasloc.ads,
2086 g-trasym.adb, g-trasym.ads, i-fortra.adb, i-fortra.ads, inline.adb,
2087 layout.adb, live.adb, make.ads, makeutl.ads, makeutl.adb, mdll-fil.adb,
2088 mdll-fil.ads, mdll-utl.ads, memroot.ads, memtrack.adb, mlib.ads,
2089 mlib-fil.adb, mlib-fil.ads, mlib-prj.ads, mlib-utl.adb, mlib-utl.ads,
2090 nlists.adb, nlists.ads, osint.adb, osint.ads, osint-c.adb, osint-l.adb,
2091 osint-l.ads, osint-m.ads, output.adb, par.adb, par.adb, par.ads,
2092 par-ch11.adb, par-ch12.adb, par-ch2.adb, par-ch4.adb, par-ch5.adb,
2093 par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
2094 par-tchk.adb, prep.adb, prepcomp.adb, prepcomp.ads, prj-attr.ads,
2095 prj-com.ads, prj-dect.adb, prj-dect.ads, prj-env.ads, prj-err.ads,
2096 prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.ads, prj-pars.adb,
2097 prj-pars.ads, prj-part.ads, prj-pp.ads, prj-proc.ads, prj-strt.adb,
2098 prj-strt.ads, prj-tree.adb, prj-util.adb, prj-util.ads, rtsfind.adb,
2099 sem.adb, sem.ads, sem_case.adb, sem_case.ads, sem_ch11.adb,
2100 sem_ch4.adb, sem_ch6.ads, sem_ch7.ads, sem_dist.ads, sem_elab.ads,
2101 sem_elim.ads, sem_eval.ads, sem_intr.ads, sem_maps.adb, sem_maps.ads,
2102 sem_maps.ads, sem_res.ads, sem_type.ads, sfn_scan.adb, sfn_scan.ads,
2103 s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads, s-inmaop.ads, sinput.adb,
2104 sinput.ads, s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads,
2105 s-pack06.adb, s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb,
2106 s-pack09.ads, s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
2107 s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb,
2108 s-pack14.ads, s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads,
2109 s-pack18.adb, s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb,
2110 s-pack20.ads, s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
2111 s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb,
2112 s-pack25.ads, s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads,
2113 s-pack28.adb, s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb,
2114 s-pack30.ads, s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
2115 s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb,
2116 s-pack36.ads, s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads,
2117 s-pack39.adb, s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb,
2118 s-pack41.ads, s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
2119 s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb,
2120 s-pack46.ads, s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads,
2121 s-pack49.adb, s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb,
2122 s-pack51.ads, s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
2123 s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb,
2124 s-pack56.ads, s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads,
2125 s-pack59.adb, s-pack59.ads, s-pack60.adb, s-pack60.adb, s-pack60.ads,
2126 s-pack61.adb, s-pack61.ads, s-pack62.adb, s-pack62.ads, s-pack63.adb,
2127 s-pack63.ads, s-parint.adb, s-parint.adb, s-parint.ads, sprint.ads,
2128 s-purexc.ads, s-restri.ads, s-restri.adb, s-scaval.adb, s-scaval.ads,
2129 s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads, stand.ads,
2130 s-tasuti.adb, s-traceb.adb, s-traceb.ads, stringt.adb, stringt.ads,
2131 styleg.ads, s-valboo.adb, s-valboo.ads, s-valcha.adb, s-valcha.ads,
2132 s-valdec.adb, s-valdec.ads, s-valint.adb, s-valint.ads, s-valint.ads,
2133 s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads, s-valllu.adb,
2134 s-valllu.ads, s-valrea.adb, s-valrea.ads, s-valuns.adb, s-valuns.ads,
2135 s-valuti.adb, s-valuti.ads, s-valwch.ads, s-veboop.adb, s-veboop.ads,
2136 s-vercon.adb, s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchcon.ads,
2137 s-wchjis.adb, s-wchjis.ads, s-wchstw.adb, s-wchstw.adb, s-wchstw.ads,
2138 s-wchwts.adb, s-wchwts.ads, s-widboo.adb, s-widboo.ads, s-widcha.adb,
2139 s-widcha.ads, s-widenu.adb, s-widenu.ads, s-widlli.adb, s-widlli.ads,
2140 s-widllu.adb, s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
2141 s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, symbols.adb, symbols.ads,
2142 table.ads, targparm.adb, targparm.ads, tb-alvms.c, tb-alvxw.c,
2143 tbuild.adb, tree_io.ads, treepr.adb, treeprs.adt, ttypef.ads,
2144 ttypes.ads, types.adb, uintp.adb, uintp.ads, uname.ads, urealp.ads,
2145 usage.ads, validsw.ads, vxaddr2line.adb, widechar.adb, widechar.ads,
2146 xeinfo.adb, xnmake.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads,
2147 xsinfo.adb, xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb,
2148 a-dirval.ads, a-dirval.adb, a-dirval-mingw.adb, a-direct.ads,
2149 a-direct.adb, indepsw.ads, prj-attr-pm.ads, system-linux-ppc.ads,
2150 a-numaux-darwin.ads, a-numaux-darwin.adb,
2151 a-swuwha.ads, a-stunha.ads: Minor reformatting
2152
2153 2005-11-14 Robert Dewar <dewar@adacore.com>
2154
2155 PR ada/18434
2156 * osint-m.adb: Add pragma Elaborate_All for Osint
2157
2158 2005-11-10 Eric Botcazou <ebotcazou@adacore.com>
2159
2160 PR ada/23995
2161 * trans.c (call_to_gnu): Restore statement lost in translation.
2162
2163 2005-11-08 Eric Botcazou <ebotcazou@adacore.com>
2164
2165 * init.c: Use the Linux-specific section for the IA-64/Linux target.
2166 (__gnat_adjust_context_for_raise): Add conditional code so that the
2167 IA-64 is also supported.
2168
2169 2005-11-03 James E Wilson <wilson@specifix.com>
2170
2171 PR ada/23427
2172 * trans.c (gnat_to_gnu): Use TYPE_SIZE_UNIT not TYPE_SIZE in
2173 TREE_OVERFLOW check.
2174
2175 2005-09-21 Olivier Hainque <hainque@adacore.com>
2176
2177 PR ada/22418
2178 * decl.c (maybe_pad_type): Use proper bitsizetype for XVZ objects,
2179 as we create them to store a size in bits.
2180
2181 2005-10-21 Eric Botcazou <ebotcazou@adacore.com>
2182
2183 PR ada/21937
2184 PR ada/22328
2185 PR ada/22381
2186 PR ada/22383
2187 PR ada/22419
2188 PR ada/22420
2189 * utils2.c (build_return_expr): New helper function.
2190 * gigi.h (build_return_expr): Declare it.
2191 * trans.c (Subprogram_Body_to_gnu): Use build_return_expr instead
2192 of manually building the RETURN_EXPR tree.
2193 (call_to_gnu): Pass MODIFY_EXPR through build_binary_op.
2194 (gnat_to_gnu) <N_Return_Statement>: Pass MODIFY_EXPR through
2195 build_binary_op for the "target pointer" case. Use build_return_expr
2196 instead of manually building the RETURN_EXPR tree.
2197
2198 2005-09-16 Laurent GUERBY <laurent@guerby.net>
2199
2200 PR ada/23788
2201 * s-tpinop.ads: Make this unit Preelaborate.
2202
2203 2005-09-16 Andreas Jaeger <aj@suse.de>
2204
2205 * socket.c: Add string.h for memcpy.
2206
2207 2005-09-05 Arnaud Charlet <charlet@adacore.com>
2208
2209 * dec-io.ads, dec-io.adb: Removed, no longer used.
2210
2211 2005-09-01 Arnaud Charlet <charlet@adacore.com>
2212
2213 * a-calend-mingw.adb: Add call to OS_Primitives.Initialize;
2214
2215 * s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
2216 s-taprop-os2.adb, s-taprop-irix-athread.adb, s-taprop-linux.adb,
2217 s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-tru64.adb,
2218 s-taprop-lynxos.adb: Move with clauses outside Warnings Off now that
2219 dependent units are Preelaborate.
2220 (Initialize): Call Interrupt_Managemeent.Initialize and
2221 OS_Primitives.Initialize to ensure proper initialization of this unit.
2222 Remove use of System.Soft_Links
2223 Make this unit Preelaborate.
2224
2225 * s-stache.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
2226 s-taspri-vms.ads, s-tasinf-solaris.ads, s-taspri-os2.ads,
2227 s-taspri-lynxos.ads, s-taspri-hpux-dce.ads, s-taspri-tru64.ads,
2228 s-tasinf-tru64.ads, s-tasinf-irix.ads, s-tasinf-irix-athread.ads,
2229 s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
2230 s-tratas.ads, s-tasinf.ads: Minor reformatting.
2231 Add pragma Preelaborate, since these packages are suitable for this
2232 categorization.
2233 Update comments.
2234
2235 * s-traent-vms.ads, s-intman-dummy.adb,
2236 s-taprop-dummy.adb: Make this unit Preelaborate.
2237
2238 * s-osprim-vxworks.adb, s-osprim-vms.adb, s-osprim-vms.ads,
2239 s-osprim-mingw.adb, s-intman-vxworks.ads, s-intman-vxworks.adb,
2240 s-intman-vms.adb, s-intman-mingw.adb, s-intman-vms.ads,
2241 s-osprim-unix.adb, s-osprim-os2.adb, s-osprim-solaris.adb,
2242 s-intman-solaris.adb, s-intman-irix-athread.adb,
2243 s-intman-irix.adb: Mark this unit Preelaborate.
2244 (Initialize): New procedure.
2245 Update comments.
2246
2247 * s-taspri-linux.ads: Removed.
2248
2249 * s-tpopsp-solaris.adb (Initialize): Create the key in this procedure,
2250 as done by other implementations (e.g. posix).
2251
2252 * s-taprop.ads (Timed_Delay): Update spec since the caller now is
2253 responsible for deferring abort.
2254 Mark this unit Preelaborate.
2255
2256 * s-taprob.adb, s-tarest.adb: Call System.Tasking.Initialize to ensure
2257 proper initialization of the tasking run-time.
2258
2259 * s-tasdeb.ads: Mark this unit Preelaborate.
2260 (Known_Tasks): Add explicit default value to avoid elaboration code.
2261
2262 * s-inmaop-vms.adb (Elaboration code): Add call to
2263 Interrupt_Management.Initialize since the elaboration code depends on
2264 proper initialization of this package.
2265
2266 * s-intman.ads, s-inmaop-posix.adb, s-intman-posix.adb,
2267 s-osprim.ads, s-taprop-posix.adb, s-taspri-posix.ads,
2268 s-osprim-posix.adb: Make this unit Preelaborate.
2269
2270 * a-calend.adb: Add call to OS_Primitives.Initialize
2271
2272 * a-elchha.adb: Update use of Except.Id.Full_Name.
2273 Minor reformatting.
2274 Remove use of Ada.Exceptions.Traceback when possible, cleaner.
2275
2276 * a-dynpri.adb, a-sytaco.adb, a-sytaco.ads:
2277 Move with clauses outside Warnings Off now that dependent units are
2278 Preelaborate.
2279 Use raise xxx with "..."; Ada 2005 form.
2280
2281 * a-taside.ads, a-taside.adb:
2282 Remove some dependencies, to make it easier to make this unit truly
2283 Preelaborate.
2284 Rewrite some code to be conformant with Preelaborate rules.
2285
2286 * g-os_lib.adb: Remove non-preelaborate code so that this unit can be
2287 marked Preelaborate in the future.
2288
2289 * s-proinf.ads, g-string.ads, s-auxdec.ads, s-auxdec-vms_64.ads: Make
2290 these units Preelaborate.
2291
2292 * s-exctab.adb: Update use of Except.Id.Full_Name.
2293
2294 * s-soflin.ads, s-soflin.adb: Mark this unit Preelaborate_05.
2295 (Set_Exc_Stack_Addr_Soft, Get_Exc_Stack_Addr_NT, Set_Exc_Stack_Addr_NT,
2296 Set_Exc_Stack_Addr): Removed, no longer used.
2297 Remove reference to *Machine_State_Addr*, no longer needed.
2298
2299 * s-stalib.ads: Mark this unit as Preelaborate[_05].
2300 (Exception_Data): Full_Name is now a System.Address so that this unit
2301 can be made Preelaborate.
2302 Clean up/simplify code thanks to Full_Name being a System.Address.
2303 Remove obsolete pragma Suppress (All_Checks), no longer needed.
2304
2305 * s-taskin.ads, s-taskin.adb:
2306 Move with clauses outside Warnings Off now that dependent units are
2307 Preelaborate.
2308 Make this unit Preelaborate.
2309 (Initialize): New proceduure, replace elaboration code and makes the
2310 set up of the tasking run-time cleaner.
2311 (Detect_Blocking): Now a function instead of a deferred boolean, to
2312 obey Preelaborate rules.
2313
2314 * s-tassta.adb (Finalize_Global_Tasks): Remove Get/Set_Exc_Stack_Addr
2315 soft links, no longer used.
2316
2317 * s-traces.ads, s-traent.ads: Add pragma Preelaborate, since these
2318 packages are suitable for this categorization.
2319
2320 * s-solita.adb: Replace use of Ada.Exception by raise xxx with "..."
2321 since we compile run-time sources in Ada 2005 mode.
2322 (Timed_Delay_T): Call Abort_Defer/Undefer around Timed_Delay, to
2323 avoid having s-taprop*.adb depend on s-soflin and to avoid code
2324 duplication.
2325 Remove reference to *Machine_State_Addr*, no longer needed.
2326
2327 2005-09-01 Arnaud Charlet <charlet@adacore.com>
2328
2329 * s-mastop-tru64.adb, s-mastop-irix.adb, s-mastop-vms.adb
2330 (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
2331 Remove reference to System.Exceptions.
2332
2333 * s-mastop-x86.adb: Removed, no longer used.
2334
2335 * s-traceb-mastop.adb: Adjust calls to Pop_Frame.
2336
2337 * a-excach.adb: Minor reformatting.
2338
2339 * a-except.ads, a-except.adb: Remove global Warnings (Off) pragma, and
2340 instead fix new warnings that were hidden by this change.
2341 (AAA, ZZZ): Removed, replaced by...
2342 (Code_Address_For_AAA, Code_Address_For_ZZZ): ... these functions, who
2343 are used instead of constants, to help make Ada.Exception truly
2344 preelaborate.
2345 (Rcheck_*, Raise_Constraint_Error, Raise_Program_Error,
2346 Raise_Storage_Error): File is now a System.Address, to simplify code.
2347 (Elab code): Removed, no longer used.
2348 (Null_Occurrence): Remove Warnings Off and make this construct
2349 preelaborate.
2350 Remove code related to front-end zero cost exception handling, since
2351 it is no longer used.
2352 Remove -gnatL/-gnatZ switches.
2353
2354 * a-exexda.adb (Append_Info_Exception_Name, Set_Exception_C_Msg):
2355 Update use of Except.Msg.
2356
2357 * gnat1drv.adb, inline.adb, bindgen.adb, debug.adb, exp_ch11.ads,
2358 freeze.adb, frontend.adb, lib.adb, exp_ch11.adb: Remove code related
2359 to front-end zero cost exception handling, since it is no longer used.
2360 Remove -gnatL/-gnatZ switches.
2361
2362 * lib-writ.ads: Minor reformatting
2363 Remove doc of UX
2364
2365 * Makefile.rtl: Remove references to s-except*, s-mastop-x86*
2366
2367 * Make-lang.in: Remove references to s-except.ads
2368
2369 * s-except.ads: Removed, no longer used.
2370
2371 * s-mastop.ads, s-mastop.adb:
2372 (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
2373 Remove reference to System.Exceptions.
2374
2375 * raise.h, usage.adb, targparm.adb, targparm.ads, switch-m.adb,
2376 switch-b.adb: Remove code related to front-end zero cost exception
2377 handling, since it is no longer used.
2378 Remove -gnatL/-gnatZ switches.
2379
2380 2005-09-01 Robert Dewar <dewar@adacore.com>
2381 Gary Dismukes <dismukes@adacore.com>
2382 Javier Miranda <miranda@adacore.com>
2383
2384 * exp_ch4.adb (Expand_N_In): Replace test of expression in its own
2385 type by valid test and generate warning.
2386 (Tagged_Membership): Generate call to the run-time
2387 subprogram IW_Membership in case of "Iface_CW_Typ in Typ'Class"
2388 Change formal name Subtype_Mark to Result_Definition in several calls to
2389 Make_Function_Specification.
2390 (Expand_Allocator_Expression): Add tests for suppression of the AI-344
2391 check for proper accessibility of the operand of a class-wide allocator.
2392 The check can be left out if checks are suppressed or if the expression
2393 has a specific tagged type whose level is known to be safe.
2394
2395 * exp_ch5.adb (Expand_N_Assignment_Statement): Simplify the code that
2396 generates the run-time check associated with null-excluding entities.
2397 (Expand_N_Return_Statement): Add tests to determine if the accessibility
2398 check on the level of the return expression of a class-wide function
2399 can be elided. The check usually isn't needed if the expression has a
2400 specific type (unless it's a conversion or a formal parameter). Also
2401 add a test for whether accessibility checks are suppressed. Augment
2402 the comments to describe the conditions for performing the check.
2403
2404 2005-09-01 Hristian Kirtchev <kirtchev@adacore.com>
2405 Javier Miranda <miranda@adacore.com>
2406 Gary Dismukes <dismukes@adacore.com>
2407 Ed Schonberg <schonberg@adacore.com>
2408
2409 * a-tags.adb (IW_Membership): Give support to
2410 "Iface_CW_Typ in T'Class". For this purpose the functionality of this
2411 subprogram has been extended to look for the tag in the ancestors tag
2412 table.
2413 Update the structure of the GNAT Dispatch Table to reflect the
2414 additional two tables used in dispatching selects.
2415 Introduce appropriate array types and record components in
2416 Type_Specific_Data to reflect the two tables.
2417 (Get_Entry_Index, Set_Entry_Index): Retrieve and set the entry index in
2418 the TSD of a tag, indexed by position.
2419 (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Retrieve and set the primitive
2420 operation kind in the TSD of a tag, indexed by position.
2421
2422 * a-tags.ads: Introduce an enumeration type to capture different
2423 primitive operation kinds. Define a constant reflecting the number of
2424 predefined primitive operations.
2425 (Get_Entry_Index, Set_Entry_Index): Set and retrieve the entry index
2426 of an entry wrapper.
2427 (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Set and retrieve the kind of
2428 callable entity of a primitive operation.
2429
2430 * exp_ch3.adb (Freeze_Record_Type): Generate the declarations of the
2431 primitive operations used in dispatching selects for limited
2432 interfaces, limited tagged, task and protected types what implement a
2433 limited interface.
2434 (Freeze_Type): Generate the bodies of the primitive operations used in
2435 dispatching selects for limited tagged, task and protected types that
2436 implement a limited interface. Generate statements to populate the two
2437 auxiliary tables used for dispatching in select statements.
2438 (Freeze_Record_Type): Add call to initialize the dispatch table entries
2439 associated with predefined interface primitive operations.
2440 (Build_Dcheck_Function): Change Set_Subtype_Mark to
2441 Set_Result_Definition.
2442 (Build_Variant_Record_Equality): Change Subtype_Mark to
2443 Result_Definition.
2444 (Freeze_Enumeration_Type): Change Subtype_Mark to Result_Definition.
2445 (Predef_Spec_Or_Body): Change Subtype_Mark to Result_Definition.
2446 (Build_Assignment): Simplify the code that adds the run-time-check.
2447 (Expand_N_Object_Declaration): Code cleanup.
2448
2449 * exp_ch7.adb (Make_Clean): Select the appropriate type for locking
2450 entries when there is a protected type that implements a limited
2451 interface.
2452
2453 * exp_ch9.adb: Add package Select_Expansion_Utilities that contains
2454 common routines used in expansion of dispatching selects.
2455 (Add_Private_Declarations): Select the appropriate protection type when
2456 there is a protected type that implements a limited interface.
2457 (Build_Parameter_Block): Generate a wrapped parameter block.
2458 (Build_Protected_Subprogram_Body): Select the appropriate type for
2459 locking entries when there is a protected type that implements a
2460 limited interface.
2461 (Build_Wrapper_Spec): Set the flag and wrapped entity for procedures
2462 classified as entry wrappers.
2463 (Expand_N_Asynchronous_Select): Add support for expansion of dispatching
2464 asynchronous selects.
2465 (Expand_N_Conditional_Entry_Call): Add support for expansion of
2466 dispatching conditional selects.
2467 (Expand_N_Protected_Type_Declaration): Select the appropriate type for
2468 protection when there is a protected type that implements limited
2469 interfaces.
2470 (Expand_N_Timed_Entry_Call): Add support for expansion of dispatching
2471 timed selects.
2472 (Extract_Dispatching_Call): Extract the entity of the name of a
2473 dispatching call, the object parameter, actual parameters and
2474 corresponding formals.
2475 (Make_Initialize_Protection): Correct logic of protection initialization
2476 when there is a protected type that implements a limited interface.
2477 (Parameter_Block_Pack): Populate a wrapped parameter block with the
2478 values of actual parameters.
2479 (Parameter_Block_Unpack): Retrieve the values from a wrapped parameter
2480 block and assign them to the original actual parameters.
2481
2482 * exp_ch9.ads (Subprogram_Protection_Mode): New type.
2483 (Build_Protected_Sub_Specification): Change the type and name of the
2484 last formal to account for the increased variety of protection modes.
2485
2486 * einfo.ads, einfo.adb (Was_Hidden): New attribute. Present in all
2487 entities. Used to save the value of the Is_Hidden attribute when the
2488 limited-view is installed.
2489 (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Retrieve and change
2490 the attribute of procedures classified as entry wrappers.
2491 (Wrapped_Entity, Set_Wrapped_Entity): Retrieve and change the wrapped
2492 entity of a primitive wrapper.
2493 (Write_Entity_Flags): Output the name and value of the
2494 Is_Primitive_Wrapper attribute.
2495 (Write_Field27_Name): Output the name and entity of the field Wrapped_
2496 Entity.
2497 (Underlying_Type): If we have an incomplete entity that comes from
2498 the limited view then we return the Underlying_Type of its non-limited
2499 view if it is already available.
2500 (Abstract_Interface_Alias): Flag applies to all subrogram kinds,
2501 including operators.
2502 (Write_Field26_Name): Add entry for Overridden_Operation
2503 (Overridden_Operation): New attribute of functions and procedures.
2504
2505 * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Return a
2506 predefined position in the dispatch table for the primitive operations
2507 used in dispatching selects.
2508 (Init_Predefined_Interface_Primitives): Remove the hardcoded number of
2509 predefined primitive operations and replace it with
2510 Default_Prim_Op_Count.
2511 (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
2512 Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Update
2513 the names of the generated primitive operations used in dispatching
2514 selects.
2515 (Init_Predefined_Interface_Primitives): No need to inherit primitives in
2516 case of abstract interface types. They will be inherit by the objects
2517 implementing the interface.
2518 (Make_DT): There is no need to inherit the dispatch table of the
2519 ancestor interface for the elaboration of abstract interface types.
2520 The dispatch table will be inherited by the object implementing the
2521 interface.
2522 (Copy_Secondary_DTs): Add documentation.
2523 (Validate_Position): Improve this static check in case of
2524 aliased subprograms because aliased subprograms must have
2525 the same position.
2526 (Init_Predefined_Interface_Primitives): New subprogram that initializes
2527 the entries associated with predefined primitives of all the secondary
2528 dispatch tables.
2529 (Build_Anonymous_Access_Type): Removed.
2530 (Expand_Interface_Actuals): With the previous cleanup there is no need
2531 to build an anonymous access type. This allows further cleanup in the
2532 code generated by the expander.
2533 (Expand_Interface_Conversion): If the actual is an access type then
2534 build an internal function to handle the displacement. If the actual
2535 is null this function returns null because no displacement is
2536 required; otherwise performs a type conversion that will be
2537 expanded in the code that returns the value of the displaced actual.
2538 (Expand_Interface_Actuals): Avoid the generation of unnecessary type
2539 conversions that have no effect in the generated code because no
2540 displacement is required. Code cleanup; use local variables to
2541 avoid repeated calls to the subprogram directly_designated_type().
2542
2543 * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
2544 Classify the primitive operations used in dispatching selects as
2545 predefined.
2546 (Implements_Limited_Interface): Determine whether some type either
2547 directly implements a limited interface or extends a type that
2548 implements a limited interface.
2549 (Build_Task_Image_Function): Change Subtype_Mark to Result_Definition.
2550 (Expand_Subtype_From_Expr): Do not build actual subtype if the
2551 expression is limited.
2552 (Find_Interface_Tag): Add code to handle class-wide types and
2553 entities from the limited-view.
2554
2555 * rtsfind.ads: Add entries in RE_Id and RE_Unit_Table for
2556 Get_Entry_Index, Get_Prim_Op_Kind, POK_Function, POK_Procedure,
2557 POK_Protected_Entry, POK_Protected_Function, POK_Protected_Procedure,
2558 POK_Task_Entry, POK_Task_Procedure, Prim_Op_Kind, Set_Entry_Index,
2559 Set_Prim_Op_Kind.
2560
2561 * sem_ch9.adb (Analyze_Triggering_Alternative): Check for legal type
2562 of procedure name or prefix that appears as a trigger in a triggering
2563 alternative.
2564
2565 * uintp.ads: Introduce constants Uint_11 and Uint_13.
2566
2567 2005-09-01 Arnaud Charlet <charlet@adacore.com>
2568
2569 * s-tataat.adb, a-tasatt.adb:
2570 Replace calls to Defer/Undefer_Abortion by Defer/Undefer_Abort.
2571
2572 * s-tasini.ads, s-tasini.adb (Defer_Abortion, Undefer_Abortion): Moved
2573 these procedures to body, and renamed Abort_Defer, Abort_Undefer.
2574 (Get_Exc_Stack_Addr, Set_Exc_Stack_Addr): Removed, no
2575 longer used.
2576
2577 2005-09-01 Arnaud Charlet <charlet@adacore.com>
2578 Jose Ruiz <ruiz@adacore.com>
2579
2580 * s-taprop-vxworks.adb:
2581 Move with clauses outside Warnings Off now that dependent units are
2582 Preelaborate.
2583 (Initialize): Call Interrupt_Managemeent.Initialize to ensure proper
2584 initialization of this unit.
2585 (Specific): Add new procedures Initialize and Delete so that this
2586 package can be used for VxWorks 5.x and 6.x
2587 (ATCB_Key, ATCB_Key_Address): Moved to Specific package body to hide
2588 differences between VxWorks 5.x and 6.x
2589 Minor reformatting.
2590 (Timed_Delay): Remove calls to Defer/Undefer_Abort, now performed by
2591 caller.
2592 Use only Preelaborate-compatible constructs.
2593
2594 * s-tpopsp-vxworks.adb (ATBC_Key, ATCB_Key_Addr): Moved from
2595 Primitives.Operations.
2596 (Delete, Initialize): New procedures.
2597
2598 * s-osinte-vxworks.adb: Body used to handle differences between
2599 VxWorks 5.x and 6.x
2600 (kill, Set_Time_Slice, VX_FP_TASK): New functions.
2601
2602 * s-osinte-vxworks.ads: Minor reformatting.
2603 Add VxWworks 6.x specific functions (only called from VxWorks 6 files).
2604 (VX_FP_TASK): Now a function, to handle differences between VxWorks 5
2605 and 6.
2606 (Set_Time_Slice): New function, replacing kerneltimeSlice to share code
2607 between Vxworks 5 and 6.
2608 (taskLock, taskUnlock): Removeed, no longer used.
2609
2610 * adaint.c: The wait.h header is not located in the sys directory on
2611 VxWorks when using RTPs.
2612 (__gnat_set_env_value): Use setenv instead of putenv on VxWorks when
2613 using RTPs.
2614 (__gnat_dup): dup is available on Vxworks when using RTPs.
2615 (__gnat_dup2): dup2 is available on Vxworks when using RTPs.
2616
2617 * cal.c: Use the header time.h for Vxworks 6.0 when using RTPs.
2618
2619 * expect.c: The wait.h header is not located in the sys directory on
2620 VxWorks when using RTPs.
2621
2622 2005-09-01 Thomas Quinot <quinot@adacore.com>
2623
2624 * g-soccon-vms.adb: Renamed to g-soccon-vms.ads
2625
2626 * g-soccon-vms.ads: Renamed from g-soccon-vms.adb
2627
2628 * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
2629 g-soccon-darwin.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
2630 g-soccon-solaris.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
2631 g-soccon-freebsd.ads: Add new constants:
2632 IP_MULTICAST_IF
2633 SO_RCVTIMEO/SO_SNDTIMEO
2634 IOV_MAX
2635
2636 * gen-soccon.c:
2637 Move all target-specific file inclusions and macro definitions to
2638 gsocket.h, in order to ensure that any C code in socket.c will see a
2639 set of constants that is consistent with the contents of g-soccon.ads.
2640
2641 * gsocket.h: Code imported from gen-soccon.c:
2642 Move all target-specific file inclusions and macro definitions to
2643 gsocket.h, in order to ensure that any C code in socket.c will see a set
2644 of constants that is consistent with the contents of g-soccon.ads.
2645 This change also makes gen-soccon self-contained (removing dependencies
2646 upon GCC internal headers).
2647
2648 * g-socket.adb (Send_Vector): Make calls to Writev at most IOV_MAX
2649 iovecs at a time.
2650 (To_Inet_Addr): Now a procedure instead of a function, more efficient.
2651
2652 * socket.c: Minor reformatting.
2653
2654 2005-09-01 Ed Schonberg <schonberg@adacore.com>
2655 Thomas Quinot <quinot@adacore.com>
2656
2657 * fname-sf.adb, mlib-tgt.ads,
2658 back_end.adb, casing.adb, g-debpoo.adb, g-excact.adb, g-spipat.adb,
2659 g-spipat.ads, g-thread.adb, lib-list.adb, makeutl.adb, mlib.adb,
2660 osint.adb, par-ch10.adb, par-load.adb, prep.adb, prj.adb, prj-attr.ads,
2661 prj-env.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads,
2662 prj-makr.adb, prj-makr.ads, prj-pars.ads, prj-part.adb, prj-strt.adb,
2663 prj-tree.ads, prj-util.ads, sem_dist.adb, sinput-c.ads, sinput-l.ads,
2664 sinput-p.ads, styleg-c.ads, xr_tabls.adb, prj-attr-pm.ads,
2665 makegpr.adb: Remove redundant use_clauses.
2666
2667 2005-09-01 Arnaud Charlet <charlet@adacore.com>
2668
2669 * s-stoele.ads, s-stopoo.ads, s-stratt.ads, s-strops.ads, s-unstyp.ads,
2670 s-valboo.ads, s-valcha.ads, s-valdec.ads, s-valenu.ads, s-valint.ads,
2671 s-vallld.ads, s-vallli.ads, s-valllu.ads, s-valrea.ads, s-valuns.ads,
2672 s-valuti.ads, s-valwch.ads, s-veboop.ads, s-vector.ads, s-vercon.ads,
2673 s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-wchstw.ads, s-wchwts.ads,
2674 s-widboo.ads, s-widcha.ads, s-widenu.ads, s-widlli.ads, s-widllu.ads,
2675 s-widwch.ads, s-wwdcha.ads, s-wwdenu.ads, s-wwdwch.ads, system.ads,
2676 table.ads, types.ads, system-vms_64.ads, s-crtl-vms64.ads,
2677 s-addope.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
2678 s-vxwork-x86.ads, system-linux-ppc.ads, i-vxwork-x86.ads,
2679 a-numaux-darwin.ads, a-crbtgo.ads, a-crbtgk.ads, a-crbltr.ads,
2680 a-coprnu.ads, a-convec.ads, a-contai.ads, a-coinve.ads, a-cohata.ads,
2681 a-cohama.ads, a-cihama.ads, a-cidlli.ads, a-cdlili.ads,
2682 a-numaux-libc-x86.ads, a-numaux-vxworks.ads, system-linux-ia64.ads,
2683 system-freebsd-x86.ads, system-unixware.ads, system-lynxos-ppc.ads,
2684 system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
2685 s-vxwork-alpha.ads, system-aix.ads, system-vxworks-sparcv9.ads,
2686 system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
2687 s-parame-hpux.ads, system-hpux.ads, system-vxworks-m68k.ads,
2688 s-vxwork-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
2689 s-vxwork-mips.ads, system-os2.ads, system-interix.ads,
2690 s-vxwork-ppc.ads, system-solaris-sparc.ads, s-vxwork-sparcv9.ads,
2691 system-solaris-sparcv9.ads, s-parame-vms.ads, system-vms.ads,
2692 s-osinte-mingw.ads, system-mingw.ads, s-parame-vms-restrict.ads,
2693 system-vms-zcx.ads, s-parame-ae653.ads, system-vxworks-ppc.ads,
2694 s-parame-vxworks.ads, system-vxworks-alpha.ads, interfac-vms.ads,
2695 a-numaux-x86.ads, a-astaco.ads, a-chahan.ads, a-charac.ads,
2696 a-chlat1.ads, a-chlat9.ads, a-colire.adb, a-colire.ads, a-comlin.ads,
2697 a-cwila1.ads, a-cwila9.ads, ada.ads, a-decima.ads, a-exextr.adb,
2698 a-filico.ads, a-finali.ads, a-interr.ads, a-ioexce.ads, a-dynpri.ads,
2699 a-ngcefu.ads, a-ngcefu.adb, a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.ads,
2700 a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-numaux.ads, a-numeri.ads,
2701 a-reatim.adb, a-stmaco.ads, a-storio.ads, a-strbou.ads, a-stream.ads,
2702 a-strfix.ads, a-string.ads, a-strmap.ads, a-strsea.ads, a-strsup.ads,
2703 a-strunb.ads, a-stunau.ads, a-stwibo.ads, a-stwifi.ads, a-stwima.ads,
2704 a-stwise.ads, a-stwisu.ads, a-stwiun.ads, a-swmwco.ads, a-textio.ads,
2705 csets.ads, debug.ads, dec.ads, g-curexc.ads, get_targ.ads,
2706 g-except.ads, system-linux-hppa.ads, a-chacon.ads, a-widcha.ads,
2707 a-zchara.ads, system-hpux-ia64.ads, a-ciorma.ads, a-coorma.ads,
2708 a-ciormu.ads, a-coormu.ads, a-rbtgso.ads, a-chzla1.ads, a-chzla9.ads,
2709 a-stzbou.ads, a-stzfix.ads, a-stzmap.ads, a-stzsea.ads, a-stzsup.ads,
2710 a-stzunb.ads, a-swunau.ads, a-szunau.ads, gnat.ads, g-regpat.ads,
2711 g-speche.ads, g-spitbo.ads, g-table.ads, g-tasloc.ads, g-trasym.ads,
2712 i-c.ads, i-cpoint.ads, i-cpp.ads, i-cstrin.ads, i-fortra.ads,
2713 interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads, i-os2thr.ads,
2714 i-vxwork.ads, output.ads, s-arit64.ads, s-atacco.ads, s-boarop.ads,
2715 s-casuti.ads, s-crtl.ads, s-exctab.ads, s-exnint.ads, s-exnllf.ads,
2716 s-exnlli.ads, s-expint.ads, s-explli.ads, s-expllu.ads, s-expmod.ads,
2717 s-expuns.ads, s-fatflt.ads, s-fatgen.ads, s-fatlfl.ads, s-fatllf.ads,
2718 s-fatsfl.ads, s-finimp.ads, s-finroo.ads, s-fore.ads, s-geveop.ads,
2719 s-htable.ads, s-imgbiu.ads, s-imgboo.ads, s-imgcha.ads, s-imgdec.ads,
2720 s-imgenu.ads, s-imgint.ads, s-imgllb.ads, s-imglld.ads, s-imglli.ads,
2721 s-imgllu.ads, s-imgllw.ads, s-imgrea.ads, s-imguns.ads, s-imgwch.ads,
2722 s-imgwiu.ads, s-io.ads, s-maccod.ads, s-mantis.ads, s-memcop.ads,
2723 s-pack03.ads, s-pack05.ads, s-pack06.ads, s-pack07.ads, s-pack09.ads,
2724 s-pack10.ads, s-pack11.ads, s-pack12.ads, s-pack13.ads, s-pack14.ads,
2725 s-pack15.ads, s-pack17.ads, s-pack18.ads, s-pack19.ads, s-pack20.ads,
2726 s-pack21.ads, s-pack22.ads, s-pack23.ads, s-pack24.ads, s-pack25.ads,
2727 s-pack26.ads, s-pack27.ads, s-pack28.ads, s-pack29.ads, s-pack30.ads,
2728 s-pack31.ads, s-pack33.ads, s-pack34.ads, s-pack35.ads, s-pack36.ads,
2729 s-pack37.ads, s-pack38.ads, s-pack39.ads, s-pack40.ads, s-pack41.ads,
2730 s-pack42.ads, s-pack43.ads, s-pack44.ads, s-pack45.ads, s-pack46.ads,
2731 s-pack47.ads, s-pack48.ads, s-pack49.ads, s-pack50.ads, s-pack51.ads,
2732 s-pack52.ads, s-pack53.ads, s-pack54.ads, s-pack55.ads, s-pack56.ads,
2733 s-pack57.ads, s-pack58.ads, s-pack59.ads, s-pack60.ads, s-pack61.ads,
2734 s-pack62.ads, s-pack63.ads, s-parame.ads, s-pooglo.ads, s-pooloc.ads,
2735 s-poosiz.ads, s-powtab.ads, s-purexc.ads, s-sopco3.ads, s-sopco4.ads,
2736 s-sopco5.ads: Minor reformatting: reindent pragma Pure/Preelaborate
2737 and always use the no parameter form for consistency.
2738
2739 * gnat-style.texi: Document rules about Preelaborate/Pure pragmas.
2740
2741 2005-09-01 Robert Dewar <dewar@adacore.com>
2742
2743 * binde.adb: Minor reformatting
2744 (Find_Elab_Order): Output warning if -p used with static elab order
2745
2746 2005-09-01 Robert Dewar <dewar@adacore.com>
2747
2748 * checks.adb (Check_Needed): New procedure, deals with removing checks
2749 based on analysis of short-circuited forms. Also generates warnings for
2750 improper use of non-short-circuited forms.
2751 Code clean ups.
2752
2753 2005-09-01 Robert Dewar <dewar@adacore.com>
2754
2755 * a-ztexio.adb, a-textio.adb, a-witeio.adb: Replace bad range checks
2756 with 'Valid tests.
2757
2758 2005-09-01 Robert Dewar <dewar@adacore.com>
2759
2760 * errout.ads, errout.adb (Fix Error_Msg_F): Fix implementation to meet
2761 spec.
2762 Implement new insertion char < (conditional warning)
2763 * errutil.adb, erroutc.adb: Implement new insertion char <
2764 (conditional warning).
2765 * sem_elab.adb, prj-dect.adb, erroutc.ads, err_vars.ads
2766 (Error_Msg_Warn): New variable for < insertion char.
2767 * prj-nmsc.adb: Implement new errout insertion char < (conditional
2768 warning).
2769 (Check_For_Source): Change value of Source_Id only after the current
2770 source has been dealt with.
2771
2772 2005-09-01 Robert Dewar <dewar@adacore.com>
2773 Doug Rupp <rupp@adacore.com>
2774
2775 * exp_attr.adb: Handle vax fpt for 'Valid attribute
2776 * exp_vfpt.ads, exp_vfpt.adb: (Expand_Vax_Valid): New procedure
2777 * s-vaflop-vms-alpha.adb, s-vaflop.ads, s-vaflop.adb
2778 (Valid_D, Valid_F, Valid_G): New functions
2779
2780 2005-09-01 Ed Schonberg <schonberg@adacore.com>
2781 Hristian Kirtchev <kirtchev@adacore.com>
2782 Javier Miranda <miranda@adacore.com>
2783
2784 * exp_ch6.adb (Expand_Call): If an actual is a function call rewritten
2785 from object notation, the original node is unanalyzed and carries no
2786 semantic information, so that accessiblity checks must be performed on
2787 the type of the actual itself.
2788 (Expand_N_Subprogram_Declaration): Change last actual parameter for
2789 compatibility with Build_Protected_Sub_Specification.
2790 (Check_Overriding_Inherited_Interfaces): Add suport to handle
2791 overloaded primitives.
2792 (Register_Interface_DT_Entry): Use the new name of the formal
2793 the the calls to Expand_Interface_Thunk
2794
2795 * exp_dbug.ads: Augment comments on encoding of protected types to
2796 include the generation of dispatching subprograms when the type
2797 implements at least one interface.
2798
2799 * lib.ads: Extend information in Load_Stack to include whether a given
2800 load comes from a Limited_With_Clause.
2801
2802 * lib-load.adb (From_Limited_With_Chain): New predicate to determine
2803 whether a potential circularity is harmless, because it includes units
2804 loaded through a limited_with clause. Extends previous treatment which
2805 did not handle properly arbitrary combinations of limited and
2806 non-limited clauses.
2807
2808 2005-09-01 Nicolas Setton <setton@adacore.com>
2809
2810 * exp_dbug.adb (Get_Encoded_Name): Fixed bug that caused biaised types
2811 to be encoded as typ___XBLU_lowerbound__upperbound instead of
2812 typ___XB_lowerbound__upperbound.
2813
2814 2005-09-01 Thomas Quinot <quinot@adacore.com>
2815
2816 * exp_dist.adb (Add_RACW_TypeCode, Add_RAS_TypeCode): Do not generate
2817 dummy access formal for RACW/RAS TypeCode TSS.
2818 (Build_TypeCode_Call): Do not generate dummy null access actual for
2819 calls to the TypeCode TSS.
2820
2821 2005-09-01 Ed Schonberg <schonberg@adacore.com>
2822
2823 * exp_intr.adb (Expand_Source_Name): For Enclosing_Entity, generate
2824 fully qualified name, to distinguish instances with the same local name.
2825
2826 * g-souinf.ads (Enclosing_Entity): Document that entity name is now
2827 fully qualified.
2828
2829 2005-09-01 Robert Dewar <dewar@adacore.com>
2830
2831 * exp_pakd.adb (Create_Packed_Array_Type): Properly handle very large
2832 packed arrays.
2833
2834 2005-09-01 Jerome Lambourg <lambourg@adacore.com>
2835
2836 * g-expect.adb (Non_Blocking_Spawn): Initialize the filters field to
2837 (Free): New deallocation procedure for filter elements
2838 (Close): Deallocate any existing filter for the concerned connection
2839
2840 2005-09-01 Laurent Pautet <pautet@adacore.com>
2841
2842 * g-pehage.ads, g-pehage.adb (Select_Char_Position): When no character
2843 position set is provided, we compute one in order to reduce the maximum
2844 length of the keys. This computation first selects a character
2845 position between 1 and the minimum length of the keys in order to
2846 avoid reducing one of the keys to an empty string.
2847 (Initialize, Compute): When the ratio V to K is too low, the algorithm
2848 does not converge. The initialization procedure now comes with a
2849 maximum number of iterations such that when exceeded, an exception is
2850 raised in Compute. The user can initialize this ratio to another value
2851 and try again
2852 Reformating and updated headers.
2853
2854 2005-09-01 Javier Miranda <miranda@adacore.com>
2855
2856 * itypes.ads, itypes.adb (Create_Null_Excluding_Itype): New subprogram
2857 that given an entity T creates and returns an Itype that duplicates the
2858 contents of T. The returned Itype has the null-exclusion
2859 attribute set to True, and its Etype attribute references T
2860 to keep the association between the two entities.
2861 Update copyright notice
2862
2863 * sem_aggr.adb (Check_Can_Never_Be_Null,
2864 Aggregate_Constraint_Checks, Resolve_Aggregate,
2865 Resolve_Array_Aggregate, Resolve_Record_Aggregate): Code cleanup.
2866
2867 * sem_ch5.adb (Analyze_Assignment): Code cleanup.
2868
2869 2005-09-01 Gary Dismukes <dismukes@adacore.com>
2870 Robert Dewar <dewar@adacore.com>
2871 Hristian Kirtchev <kirtchev@adacore.com>
2872
2873 * layout.adb (SO_Ref_From_Expr): Change Subtype_Mark to
2874 Result_Definition.
2875
2876 * par-ch6.adb (P_Subprogram): Handle parsing of Access_Definitions in
2877 function specs.
2878 Call Set_Result_Definition instead of Set_Subtype_Mark.
2879 (P_Subprogram_Specification): Add parsing of anonymous access result
2880 plus null exclusions. Call Set_Result_Definition instead of
2881 Set_Subtype_Mark.
2882
2883 * par-ch3.adb: Add support for LIMITED NEW for Ada 2005 AI-419
2884 (P_Access_Type_Definition): Add parsing for an anonymous access result
2885 subtype, plus parsing for null exclusions. Call Set_Result_Definition
2886 instead of Set_Subtype_Mark.
2887
2888 * sinfo.adb: Add support for LIMITED NEW for Ada 2005 AI-419
2889 (Null_Exclusion_Present): Allow this flag for N_Function_Specification.
2890 (Result_Definition): New function for N_Function_Specifications.
2891 (Subtype_Mark): No longer allowed for N_Access_Function_Definition and
2892 N_Function_Specification.
2893 (Set_Null_Exclusion_Present): Allow this flag for
2894 N_Function_Specification.
2895 (Set_Result_Definition): New procedure for N_Function_Specifications.
2896 (Set_Subtype_Mark): No longer allowed for N_Access_Function_Definition
2897 and N_Function_Specification.
2898
2899 * sinfo.ads: Update grammar rules for 9.7.2: Entry_Call_Alternative,
2900 Procedure_Or_Entry_Call; 9.7.4: Triggering_Statement.
2901 Add support for LIMITED NEW for Ada 2005 AI-419
2902 Update the syntax of PARAMETER_AND_RESULT_PROFILE to reflect the new
2903 syntax for anonymous access results.
2904 Replace Subtype_Mark field by Result_Definition in
2905 N_Function_Specification and N_Access_Definition specs.
2906 Add Null_Exclusion_Present to spec of N_Function_Specification.
2907 (Result_Definition): New function for N_Function_Specification and
2908 N_Access_Function_Definition.
2909 (Set_Result_Definition): New procedure for N_Function_Specification and
2910 N_Access_Function_Definition.
2911
2912 * sprint.adb (S_Print_Node_Actual): Change Subtype_Mark calls to
2913 Result_Definition for cases of N_Access_Function_Definition and
2914 N_Function_Specification.
2915 Print "not null" if Null_Exclusion_Present on N_Function_Specification.
2916
2917 2005-09-01 Vincent Celier <celier@adacore.com>
2918
2919 * lib-writ.adb: Update Copyright notice
2920 (Write_With_Lines): On platforms where file names are case-insensitive,
2921 record the file names in lower case.
2922 (Write_ALI): For D lines, on platforms where file names are
2923 case-insensitive, record the file names in lower case.
2924
2925 2005-09-01 Ed Schonberg <schonberg@adacore.com>
2926 Emmanuel Briot <briot@adacore.com>
2927
2928 * lib-xref.adb (Output_Overridden_Op): Display information on
2929 overridden operation.
2930
2931 * lib-xref.ads: Add documentation on overridden operations.
2932
2933 * ali.ads (Xref_Entity_Record): Add support for storing the overriding
2934 information.
2935
2936 * ali.adb (Get_Typeref): New subprogram. Adds support for parsing the
2937 overriding entity information.
2938
2939 2005-09-01 Vincent Celier <celier@adacore.com>
2940
2941 * mlib-prj.adb (Copy_Interface_Sources): Copy all interface sources,
2942 including those that are inherited.
2943
2944 2005-09-01 Robert Dewar <dewar@adacore.com>
2945
2946 * opt.ads, opt.adb: Add new switches Debug_Pragmas_Enabled[_Config]
2947
2948 * par-prag.adb: Implement new pragma Debug_Policy
2949
2950 * sem_prag.adb Implement new pragma Debug_Policy
2951 (Analyze_Pragma, case Pack): do not let pragma Pack override an explicit
2952 Component_Size attribute specification. Give warning for ignored pragma
2953 Pack.
2954
2955 * snames.h, snames.ads, snames.adb: Introduce entries in
2956 Preset_Names for Name_Disp_Asynchronous_Select,
2957 Name_Disp_Conditional_Select, Name_Disp_Get_Prim_Op_Kind,
2958 Name_Disp_Timed_Select.
2959 New pragma Debug_Policy
2960
2961 * switch-c.adb (Scan_Front_End_Switches): Set Ada 2005 mode
2962 explicitly.
2963 Switch -gnata also sets Debug_Pragmas_Enabled
2964
2965 * sem.adb, par.adb (Set_Opt_Config_Switch): Add parameter Main_Unit to
2966 handle an explicit -gnata when compiling predefined files.
2967
2968 2005-09-01 Vincent Celier <celier@adacore.com>
2969
2970 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not add the object
2971 directories of projects that have no Ada sources.
2972
2973 2005-09-01 Robert Dewar <dewar@adacore.com>
2974
2975 * scng.adb (Check_End_Of_Line): Count characters, rather than bytes
2976 (makes a difference for wide characters)
2977
2978 * widechar.adb, widechar.ads:
2979 Add Wide_Char_Byte_Count feature to count chars vs bytes
2980
2981 2005-09-01 Thomas Quinot <quinot@adacore.com>
2982 Ed Schonberg <schonberg@adacore.com>
2983 Robert Dewar <dewar@adacore.com>
2984
2985 * sem_attr.adb (Resolve_Attribute, case 'Address): For an illegal
2986 'Address attribute reference with an overloaded prefix, use the
2987 location of the prefix (not the location of the attribute reference) as
2988 the error location.
2989 (Analyze_Attribute, case 'Size): The name of an enumeration literal, or
2990 a function renaming thereof, is a valid prefix for 'Size (where it is
2991 intepreted as a function call).
2992 (Statically_Denotes_Entity): New predicate to determine whether the
2993 prefix of an array attribute can be considered static.
2994
2995 PR ada/9087
2996 (Eval_Attr): Fix failure to evaluate Component_Size for
2997 unconstrained arrays (resulted in wrong value in packed case, since
2998 back end cannot handle this case)
2999
3000 2005-09-01 Robert Dewar <dewar@adacore.com>
3001
3002 * sem_cat.adb (Check_Categorization_Dependencies): Add more detail to
3003 error msgs for most common cases.
3004 Use new errout insertion char < (conditional warning)
3005
3006 2005-09-01 Javier Miranda <miranda@adacore.com>
3007 Ed Schonberg <schonberg@adacore.com>
3008
3009 * sem_ch10.adb (In_Chain): Moved from the scope of a subprogram to
3010 become local to the whole package.
3011 (Install_Limited_Withed_Unit): Instead of unchaining real entities if
3012 the package was already analyzed the new algorithm "replaces" the
3013 real entities by the shadow ones. This is required to ensure that
3014 the order of these entities in the homonym chains does not change;
3015 otherwise we can have undefined references at linking time because
3016 in case of conflicts the external name of the entities will have
3017 a suffix that depends on the order of the entities in the chain.
3018 (Remove_Limited_With_Clause): Complementary code that completes the
3019 new algorithm and replaces the shadow entities by the real ones.
3020 (Install_Limited_Withed_Unit): When unchaining entities before the
3021 installation of the shadow entities, only regular entities of the
3022 public part must be taken into account. This is required to
3023 keep this routine in synch with the work done by Remove_Limited_
3024 With_Clause
3025 (Install_Limited_With_Clause): Introduce implicit limited_with_clause
3026 even if unit is analyzed, because the analysis of the unit is
3027 idempotent in any case, and the limited view of the unit may have to
3028 be installed for proper visibility.
3029 (Expand_Limited_With_Clause): Even if the unit in the implicit
3030 with_clause has been analyzed already, a limited view of the package
3031 must be built for the current context, if it does not exist yet.
3032
3033 2005-09-01 Ed Schonberg <schonberg@adacore.com>
3034 Javier Miranda <miranda@adacore.com>
3035 Gary Dismukes <dismukes@adacore.com>
3036
3037 * sem_ch12.adb (Instantiate_Subprogram_Body): When creating the
3038 defining entity for the instance body, make a new defining identifier
3039 rather than copying the entity of the spec, to prevent accidental
3040 sharing of the entity list.
3041 (Check_Private_View): When exchanging views of private types, build the
3042 list of exchanged views as a stack, to ensure that on exit the exchanges
3043 are undone in the proper order.
3044 (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
3045 Restore the compilation environment in case of instantiation_error.
3046 (Analyze_Generic_Subprogram_Declaration): Handle creation of type entity
3047 for an anonymous access result.
3048 (Instantiate_Generic_Subprogram): Subtype_Mark => Result_Definition
3049 (Formal_Entity): Handle properly the case of a formal package that
3050 denotes a generic package renaming.
3051
3052 2005-09-01 Thomas Quinot <quinot@adacore.com>
3053
3054 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Reject the
3055 clause if the array aggregate is surrounded by parentheses.
3056
3057 2005-09-01 Cyrille Comar <comar@adacore.com>
3058 Gary Dismukes <dismukes@adacore.com>
3059 Ed Schonberg <schonberg@adacore.com>
3060 Javier Miranda <miranda@adacore.com>
3061
3062 * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Go to the
3063 underlying type
3064 to check if a type is Constrained in cases related to code generation
3065 (rather than semantic checking) since otherwise we do not generate
3066 similar code for mutable private types depending if their
3067 discriminants are visible or not.
3068 (Check_Abstract_Overriding): Do not complain about failure to override
3069 the primitive operations used in dispatching selects since they will
3070 always be overriden at the freeze point of the type.
3071 (Access_Definition): Separate out handling for resetting the scope
3072 of an anonymous access function result type. Retrieve the scope
3073 of the associated function rather than using Current_Scope, which
3074 does not have a consistent value (depends on whether we're in the
3075 middle of analyzing formal parameters). Add ??? comment about
3076 finding a cleaner way to handle the special cases of scope setting.
3077 (Process_Incomplete_Dependents): A protected operation is never a
3078 dispatching operation (only its wrapper may be).
3079 (Build_Derived_Record_Type): In case of tagged private types that
3080 implement interfaces add derivation of predefined primitive
3081 operations.
3082 (Derive_Subprograms): Replace the Is_Interface_Derivation parameter
3083 by two parameters that are used in case of derivation from abstract
3084 interface types: No_Predefined_Prims is used to avoid the derivation
3085 of predefined primitives from the interface, and Predefined
3086 Prims_Only is used to complete the derivation predefined primitives
3087 in case of private tagged types implementing interfaces.
3088 Fix typo in comments
3089 (Find_Interface_In_Descendant): Protect the frontend against
3090 wrong code with large circularity chains.
3091 (Is_Private_Overriding): Add support for entities overriding interface
3092 subprograms. The test failed because Entities associated with overriden
3093 interface subprograms are always marked as hidden (and used to build
3094 the secondary dispatch table); in this case the overriden entity is
3095 available through the field abstract_interface_alias (cf. override_
3096 dispatching_operation)
3097 (Access_Definition): Set the scope of the type to Current_Scope for the
3098 case of a function with an anonymous access result type.
3099 (Access_Subprogram_Declaration): Handle creation of the type entity for
3100 an access-to-function type with an anonymous access result.
3101 (Check_Anonymous_Access_Types): Change Subtype_Mark to Result_Definition
3102 in handling for N_Access_Function_Definition.
3103 (Analyze_Subtype_Declaration): Modify the text of error message.
3104 (Derived_Type_Declaration): Modify the text of error message.
3105 (Process_Subtype): Modify the text of error message plus cleanup
3106 of one redundant error message.
3107 (Analyze_Component_Declaration): Code cleanup.
3108 (Analyze_Object_Declaration): Code cleanup.
3109 (Analyze_Subtype_Declaration): Propagate the null-exclusion
3110 attribute in case of access types. Code cleanup.
3111 (Array_Type_Declaration): Code cleanup.
3112 (Process_Discriminants): Create the new null-excluding itype
3113 if required. Code cleanup.
3114 (Process_Subtype): Create the new null-excluding itype if
3115 required. Code cleanup.
3116 (Build_Derived_Record_Type): Code cleanup to avoid calling
3117 twice the subprogram derive_subprograms in case of private
3118 types that implement interfaces. In this particular case the
3119 subprogram Complete_Subprograms_Derivation already does the
3120 job associated with the second call.
3121
3122 * exp_strm.adb (Build_Elementary_Input_Call): Add an explicit
3123 conversion to the full view when generating an operation for a
3124 discriminant whose type may currently be private.
3125
3126 2005-09-01 Ed Schonberg <schonberg@adacore.com>
3127 Javier Miranda <miranda@adacore.com>
3128
3129 * sem_ch4.adb (Transform_Object_Operation): In a context off the form
3130 V (Obj.F), the rewriting does not involve the indexed component, but
3131 only the selected component itself.
3132 Do not apply the transformation if the analyzed node is an actual of a
3133 call to another subprogram.
3134 (Complete_Object_Operation): Retain the entity of the
3135 dispatching operation in the selector of the rewritten node. The
3136 entity will be used in the expansion of dispatching selects.
3137 (Analyze_One_Call): Improve location of the error message associated
3138 with interface.
3139 (Analyze_Selected_Component): No need to resolve prefix when it is a
3140 function call, resolution is done when parent node is resolved, as
3141 usual.
3142 (Analyze_One_Call): Add a flag to suppress analysis of the first actual,
3143 when attempting to resolve a call transformed from its object notation.
3144 (Try_Object_Operation, Transform_Object_Operastion): Avoid makind copies
3145 of the argument list for each interpretation of the operation.
3146 (Try_Object_Operation): The designated type of an access parameter may
3147 be an incomplete type obtained through a limited_with clause, in which
3148 case the primitive operations of the type are retrieved from its full
3149 view.
3150 (Analyze_Call): If this is an indirect call, and the return type of the
3151 access_to_subprogram is incomplete, use its full view if available.
3152
3153 2005-09-01 Javier Miranda <miranda@adacore.com>
3154 Gary Dismukes <dismukes@adacore.com>
3155
3156 * sem_ch6.ads, sem_ch6.adb (Check_Conformance): In case of anonymous
3157 access types the null-exclusion and access-to-constant attributes must
3158 also match.
3159 (Analyze_Return_Statement): When the result type is an anonymous access
3160 type, apply a conversion of the return expression to the access type
3161 to ensure that appropriate accessibility checks are performed.
3162 (Analyze_Return_Type): For the case of an anonymous access result type,
3163 generate the Itype and set Is_Local_Anonymous_Access on the type.
3164 Add ??? placeholder for check to disallow returning a limited object
3165 in Ada 2005 unless it's an aggregate or a result of a function call.
3166 Change calls from Subtype_Mark to Result_Definition.
3167 (Analyze_Subprogram_Body): Change formal Subtype_Mark to
3168 Result_Definition in call to Make_Function_Specification.
3169 (Build_Body_To_Inline): Change Set_Subtype_Mark to
3170 Set_Result_Definition.
3171 (Make_Inequality_Operator): Change formal Subtype_Mark to
3172 Result_Definition in call to Make_Function_Specification.
3173 (Process_Formals): Create the new null-excluding itype if required.
3174 (New_Overloaded_Entity): For an entity overriding an interface primitive
3175 check if the entity also covers other abstract subprograms in the same
3176 scope. This is required to handle the general case, that is, overriding
3177 other interface primitives and overriding abstract subprograms inherited
3178 from some abstract ancestor type.
3179 (New_Overloaded_Entity): For an overriding entity that comes from
3180 source, note the operation that it overrides.
3181 (Check_Conformance, Type_Conformant): Addition of one new formal
3182 to skip controlling formals in the analysis. This is used to
3183 handle overloading of abstract interfaces.
3184 (Base_Types_Match): Add missing case for types imported from
3185 limited-with clauses
3186 (New_Overloaded_Entity): Add barrier to protect the use of
3187 the "alias" attribute.
3188
3189 2005-09-01 Ed Schonberg <schonberg@adacore.com>
3190
3191 * sem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration,
3192 verify that the procedure and the entry are mode conformant.
3193 (Analyze_Subprogram_Renaming): Emit a warning if an operator is renamed
3194 as a different operator, which is often a cut-and-paste error.
3195
3196 2005-09-01 Javier Miranda <miranda@adacore.com>
3197 Ed Schonberg <schonberg@adacore.com>
3198
3199 * sem_disp.adb (Check_Controlling_Formals): Anonymous access types
3200 used in controlling parameters exclude null because it is necessary to
3201 read the tag to dispatch, and null has no tag.
3202 (Override_Dispatching_Operation): If the previous operation is inherited
3203 from an interface, it becomes hidden and does not participate in later
3204 name resolution.
3205
3206 2005-09-01 Javier Miranda <miranda@adacore.com>
3207 Ed Schonberg <schonberg@adacore.com>
3208 Gary Dismukes <dismukes@adacore.com>
3209
3210 * sem_res.adb (Resolve_Membership_Op): In case of the membership test
3211 "Iface_CW_Typ in T'Class" we have nothing else to do in the frontend;
3212 the expander will generate the corresponding run-time check to evaluate
3213 the expression.
3214 (Resolve_Call): Check for legal type of procedure name or prefix that
3215 appears as a trigger in a triggering alternative.
3216 (Valid_Conversion): If expression is ambiguous and the context involves
3217 an extension of System, remove System.Address interpretations.
3218 (Resolve_Qualified_Expression): Reject the case of a specific-type
3219 qualification applied to a class-wide argument. Enhance comment
3220 to explain checking of Original_Node.
3221 (Resolve_Type_Conversion): The location of the error message was not
3222 general enough to handle the general case and hence it has been removed.
3223 In addition, this patch improves the text of the message.
3224 (Resolve_Type_Conversion): Add missing support for access to interface
3225 types.
3226 (Resolve_Type_Conversion): If the target is a class-wide interface type,
3227 do not expand if the expression is the actual in a call, because proper
3228 expansion will take place when the call itself is expanded.
3229 (Resolve_Allocator): If the context is an unchecked conversion, the
3230 allocator inherits its storage pool, if any, from the target type of
3231 the conversion.
3232
3233 2005-09-01 Ed Schonberg <schonberg@adacore.com>
3234 Javier Miranda <miranda@adacore.com>
3235
3236 * sem_type.adb (Add_One_Interp): If a candidate operation is an
3237 inherited interface operation that has an implementation, use the
3238 implementation to avoid spurious ambiguities.
3239 (Interface_Present_In_Ancestor): In case of concurrent types we can't
3240 use the Corresponding_Record_Typ attribute to look for the interface
3241 because it is set by the expander (and hence it is not always
3242 available). For this reason we traverse the list of interfaces
3243 (available in the parent of the concurrent type).
3244 (Interface_Present_In_Ancestor): Handle entities from the limited view
3245
3246 2005-09-01 Ed Schonberg <schonberg@adacore.com>
3247
3248 * sem_util.ads, sem_util.adb (Gather_Components): Omit interface tags
3249 from the list of required components.
3250 (Is_Controlling_Limited_Procedure): Determine whether an entity is a
3251 primitive procedure of a limited interface with a controlling first
3252 parameter.
3253 (Is_Renamed_Entry): Determine whether an entry is a procedure renaming
3254 of an entry.
3255 (Safe_To_Capture_Value): A value (such as non_null) is not safe to
3256 capture if it is generated in the second operand of a short-circuit
3257 operation.
3258 Do not capture values for variables with address clauses.
3259 (Is_Object_Reference): Treat a function call as an object reference only
3260 if its type is not Standard_Void_Type.
3261
3262 2005-09-01 Ed Schonberg <schonberg@adacore.com>
3263
3264 * sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied
3265 to a variable that is statically known to be constant.
3266
3267 2005-09-01 Geert Bosch <bosch@adacore.com>
3268 Robert Dewar <dewar@adacore.com>
3269
3270 * ttypef.ads (VAXDF_Safe_First): Use correct value for constant.
3271 (VAXGF_Safe_First): Idem.
3272
3273 2005-09-01 Robert Dewar <dewar@adacore.com>
3274 Arnaud Charlet <charlet@adacore.com>
3275
3276 * g-dirope.ads: Minor reformatting
3277 Document that bounds of result of Base_Name match the input index
3278 positions.
3279 Add documentation on environment variable syntax for Expand_Path
3280
3281 * gnat_ugn.texi: Update documentation to include mention of -m switches
3282 Document new treatment of wide characters in max line length
3283 style check.
3284 Remove -gnatL/-gnatZ switches, no longer used.
3285 Add note on pragmas Assertion_Policy and Debug_Policy in discussion
3286 of -gnata switch.
3287
3288 * gnat_rm.texi: Add doc for two argument form of pragma
3289 Float_Representation.
3290 Add documentation for pragma No_Strict_Aliasing
3291 Add note that explicit component clause overrides pragma Pack.
3292 Add documentation of pragma Debug_Policy
3293
3294 2005-09-01 Matthew Heaney <heaney@adacore.com>
3295
3296 * a-cihase.adb, a-coorse.ads, a-coorse.adb, a-cohama.adb,
3297 a-ciorse.ads, a-ciorse.adb, a-cihama.adb, a-cdlili.adb,
3298 a-cidlli.adb, a-chtgop.adb, a-cihase.adb, a-cihase.ads,
3299 a-cohase.adb, a-cohase.adb, a-cohase.ads: Synchronized with latest
3300 draft (Draft 13, August 2005) of Ada Amendment 1.
3301
3302 2005-09-01 Arnaud Charlet <charlet@adacore.com>
3303
3304 * Makefile.in: Adjust the libgnat target pairs for Xscale to ARM.
3305 Note that the platform-specific version of g-soccon.ads for VMS is now
3306 named g-soccon-vms.ads (it was previously g-soccon-vms.adb, although it
3307 really is a package spec).
3308 Replace s-taspri-linux.ads by s-taspri-posix.ads
3309 Remove references to s-mastop-x86.adb
3310
3311 * system-vxworks-xscale.ads: Removed, no longer used.
3312 * s-vxwork-xscale.ads: Removed, no longer used.
3313
3314 2005-09-01 Robert Dewar <dewar@adacore.com>
3315
3316 * a-dirval-mingw.adb, a-direct.adb, a-coinve.adb,
3317 g-dynhta.adb, g-dynhta.ads, cstand.adb, exp_smem.adb, g-debuti.ads,
3318 g-dirope.adb, g-table.adb, lib-sort.adb, sem_maps.adb,
3319 exp_fixd.adb, exp_aggr.adb, a-intnam-mingw.ads, a-intnam-vxworks.ads,
3320 g-arrspl.adb, g-arrspl.ads, g-awk.adb, g-awk.ads, g-boubuf.ads,
3321 g-boubuf.ads, g-boubuf.ads, g-bubsor.ads, g-bubsor.adb, g-busora.adb,
3322 g-busora.ads, g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
3323 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads, g-cgi.adb,
3324 g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads, g-cgideb.adb, g-cgideb.ads,
3325 g-comlin.adb, g-comver.ads, g-semaph.ads, g-socthi.ads,
3326 sem_ch7.adb, a-direio.adb, a-caldel.ads, i-cstrea-vms.adb,
3327 a-ztedit.adb, a-ztenau.adb, g-socthi-vms.adb, g-socthi-vms.ads,
3328 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.ads,
3329 a-intnam-irix.ads, a-intnam-irix.ads, a-intnam-hpux.ads,
3330 a-intnam-os2.ads, a-intnam-os2.ads, a-caldel-vms.adb, a-calend-vms.adb,
3331 a-calend-vms.ads, g-heasor.adb, g-heasor.ads, g-hesora.adb,
3332 g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb, g-htable.ads,
3333 g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.ads,
3334 g-memdum.adb, g-memdum.ads, g-traceb.adb, g-traceb.ads, i-cobol.adb,
3335 i-cobol.ads, i-cstrea.ads, i-cstrin.adb, a-wtedit.adb, a-tifiio.adb,
3336 a-wtenau.adb, a-wtenau.adb, a-teioed.adb: Minor reformatting
3337
3338 2005-08-29 Arnaud Charlet <charlet@adacore.com>
3339
3340 PR ada/23187
3341 * adaint.c
3342 (GNAT_MAXPATH_LEN): Use default value if MAXPATHLEN is undefined.
3343
3344 2005-08-29 Arnaud Charlet <charlet@adacore.com>
3345 Doug Rupp <rupp@adacore.com>
3346
3347 * s-stalib.adb: Add missing pragma Warnings (On) to reenable Warnings
3348 when needed.
3349 (Inside_Elab_Final_Code): Moved to init.c to avoid having to keep
3350 this code in the GNAT run-time.
3351
3352 * decl.c, fe.h: Replace GCC_ZCX by Back_End_Exceptions.
3353
3354 PR ada/21053
3355 * init.c (__gnat_error_handler [many]): Mark "msg" as const
3356 (__gnat_error_handler [HPUX]): Mark siginfo parameter as unused
3357
3358 (__gnat_inside_elab_final_code): Moved here from
3359 Standard_Library and only defined for the compiler.
3360 __gnat_error_handler [VMS]: Adjust sigargs to account for PC & PSL.
3361 (__gnat_inum_to_ivec): Do not define this function on VxWorks when
3362 using RTPs because directly vectored Interrupt routines are not
3363 supported on this configuration.
3364 (getpid): Do not redefine this function on VxWorks when using RTPs
3365 because this primitive is well supported by the RTP libraries.
3366 (copy_msg): Correct the code that checks for buffer overflow.
3367 Discovered during code reading.
3368
3369 2005-08-29 Olivier Hainque <hainque@adacore.com>
3370
3371 * decl.c (gnat_to_gnu_entity) <E_Variable>: When allocating storage for
3372 a library level mutable variable with an initializer, tell
3373 build_allocator to ignore the initializer's size. It may not be large
3374 enough for all the values that might be assigned to the variable later
3375 on.
3376
3377 2005-08-29 Arnaud Charlet <charlet@adacore.com>
3378 Eric Botcazou <ebotcazou@adacore.com>
3379
3380 * trans.c: Protect < in error msg with quote
3381 Replace GCC_ZCX by Back_End_Exceptions.
3382 (addressable_p) <COMPONENT_REF>: Also return 1 if the field
3383 has been sufficiently aligned in the record.
3384
3385 2005-08-15 James E. Wilson <wilson@specifix.com>
3386
3387 * system-linux-alpha.ads: Change ia64 to alpha.
3388
3389 2005-08-01 Kazu Hirata <kazu@codesourcery.com>
3390
3391 * decl.c, utils.c: Fix comment typos.
3392
3393 2005-07-29 Kazu Hirata <kazu@codesourcery.com>
3394
3395 * decl.c, init.c, initialize.c: Fix comment typos.
3396
3397 2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
3398
3399 Make CONSTRUCTOR use VEC to store initializers.
3400 * decl.c (gnat_to_gnu_entity): Update to cope with VEC in
3401 CONSTRUCTOR_ELTS.
3402 * trans.c (extract_values): Likewise.
3403 * utils.c (convert, remove_conversions): Likewise.
3404 * utils2.c (contains_save_expr_p, build_binary_op, build_unary_op,
3405 gnat_build_constructor): Likewise.
3406
3407 2005-07-09 Andrew Pinski <pinskia@physics.uc.edu>
3408
3409 * decl.c (components_to_record): Use DECL_FCONTEXT instead of
3410 DECL_SECTION_NAME.
3411 (compare_field_bitpos): Likewise.
3412
3413 2005-07-09 Andrew Pinski <pinskia@physics.uc.edu>
3414
3415 * utils.c (create_var_decl): Only set DECL_COMMON on
3416 VAR_DECLs. Only set SET_DECL_ASSEMBLER_NAME on
3417 VAR_OR_FUNCTION_DECL_P.
3418
3419 2005-07-08 Daniel Berlin <dberlin@dberlin.org>
3420
3421 * utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is
3422 removed.
3423
3424 2005-07-07 Pascal Obry <obry@adacore.com>
3425
3426 * g-socthi-mingw.adb (C_Inet_Addr): New body used to convert the
3427 returned type on Windows.
3428
3429 * g-socthi-mingw.ads (C_Inet_Addr): Remove pragma Import for this
3430 routine.
3431
3432 * g-socket.adb (Inet_Addr): Check for empty Image and raises an
3433 exception in this case.
3434 Simplify the code as "Image (Image'Range)" = "Image".
3435
3436 2005-07-07 Vincent Celier <celier@adacore.com>
3437
3438 * bindgen.adb (Gen_Output_File_C): When switch -a was specified, put
3439 the destructor/constructor attributes for <lib>final/<lib>init.
3440
3441 * gnatbind.adb (Gnatbind): Allow -a to be used in conjunction with -C
3442
3443 2005-07-07 Eric Botcazou <ebotcazou@adacore.com>
3444
3445 * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not strip the padding
3446 type if the parameter is not passed by copy but reference by default.
3447
3448 2005-07-07 Javier Miranda <miranda@adacore.com>
3449
3450 * exp_ch3.adb (Build_Record_Init_Proc/Freeze_Record_Type):
3451 Reimplementation of the support for abstract interface types in order
3452 to leave the code more clear and easy to maintain.
3453
3454 * exp_ch6.adb (Freeze_Subprogram): Reimplementation of the support for
3455 abstract interface types in order to leave the code clearer and easier
3456 to maintain.
3457
3458 * exp_disp.ads, exp_disp.adb (Fill_DT_Entry): Part of its functionality
3459 is now implemented by the new subprogram Fill_Secondary_DT_Entry.
3460 (Fill_Secondary_DT_Entry): Generate the code necessary to fill the
3461 appropriate entry of the secondary dispatch table.
3462 (Make_DT): Add code to inherit the secondary dispatch tables of
3463 the ancestors.
3464
3465 * exp_util.adb (Find_Interface_Tag/Find_Interface_ADT): Instead of
3466 implementing both functionalities by means of a common routine, each
3467 routine has its own code.
3468
3469 2005-07-07 Javier Miranda <miranda@adacore.com>
3470
3471 * freeze.adb (Freeze_Entity): Check wrong uses of tag incomplete types.
3472
3473 * par-ch3.adb (P_Type_Declaration): Give support to tagged incomplete
3474 types:
3475 --
3476 type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
3477 --
3478
3479 * sem_attr.adb (Check_Not_Incomplete_Type): Additional checks for wrong
3480 use of tag incomplete types.
3481
3482 * sem_ch3.adb (Analyze_Incomplete_Type): Add mininum decoration to
3483 give support to tagged incomplete types.
3484
3485 * sem_ch5.adb (Analyze_Case_Statement): In generated code, if the
3486 expression is a discriminant reference and its type is private, as can
3487 happen within a stream operation for a mutable record, use the full
3488 view of the type to resolve the case alternatives.
3489 (Analyze_Assignment): Check wrong dereference of incomplete types.
3490
3491 * sem_ch6.adb (Process_Formals): Allow the use of tagged incomplete
3492 types.
3493
3494 * sem_res.adb (Resolve_Explicit_Dereference): Allow the use of tagged
3495 incomplete types.
3496
3497 * sinfo.adb (Taggged_Present/Set_Taggged_Present): Applicable to
3498 N_Incomplete_Type_Declaration nodes.
3499
3500 * sinfo.ads (N_Incomplete_Type_Declaration): Addition of attribute
3501 Tag_Present to give support to tagged incomplete types:
3502 --
3503 type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
3504 --
3505
3506 2005-07-07 Olivier Hainque <hainque@adacore.com>
3507
3508 PR ada/22301
3509
3510 * raise.c: Only include unwind.h if IN_RTS, and provide dummy type
3511 definitions for the Unwind wrappers in the compiler case.
3512
3513 2005-07-07 Ed Schonberg <schonberg@adacore.com>
3514 Javier Miranda <miranda@adacore.com>
3515
3516 * par-load.adb (Load): If a child unit is loaded through a limited_with
3517 clause, each parent must be loaded as a limited unit as well.
3518
3519 * sem_ch10.adb (Previous_Withed_Unit): Better name for
3520 Check_Withed_Unit. Return true if there is a previous with_clause for
3521 this unit, whether limited or not.
3522 (Expand_Limited_With_Clause): Do not generate a limited_with_clause on
3523 the current unit.
3524 (Is_Visible_Through_Renamings): New local subprogram of install_limited
3525 _withed_unit that checks if some package installed through normal with
3526 clauses has a renaming declaration of package whose limited-view is
3527 ready to be installed. This enforces the check of the rule 10.1.2 (21/2)
3528 of the current Draft document for Ada 2005.
3529 (Analyze_Context): Complete the list of compilation units that
3530 are allowed to contain limited-with clauses. It also contains
3531 checks that were previously done by Install_Limited_Context_Clauses.
3532 This makes the code more clear and easy to maintain.
3533 (Expand_Limited_With_Clause) It is now a local subprogram of
3534 Install_Limited_Context_Clauses, and contains the code that adds
3535 the implicit limited-with clauses for parents of child units.
3536 This functionality was prevously done by Analyze_Context.
3537
3538 * sem_ch4.adb (Analyze_Selected_Component): Check wrong use of
3539 incomplete type.
3540
3541 * sem_ch7.adb (Analyze_Package_Declaration): Check if the package has
3542 been erroneously named in a limited-with clause of its own context.
3543 In this case the error has been previously notified by Analyze_Context.
3544
3545 2005-07-07 Ed Schonberg <schonberg@adacore.com>
3546
3547 * sem_ch8.adb (Find_Direct_Name): Handle properly the case of a
3548 generic package that contains local declarations with the same name.
3549 (Analyze_Object_Renaming): Check wrong renaming of incomplete type.
3550
3551 2005-07-07 Bernard Banner <banner@adacore.com>
3552
3553 * tracebak.c: Refine tracebacks to use Unwind_Backtrace scheme on
3554 ia64 platform only on platforms that you the GCC unwind library
3555 rather than the system unwind library.
3556
3557 2005-07-07 Thomas Quinot <quinot@adacore.com>
3558
3559 * expect.c: Minor reformatting
3560
3561 2005-07-07 Sergey Rybin <rybin@adacore.com>
3562
3563 * vms_data.ads: Add VMS qualifiers for new gnatpp switch
3564 --no-separate-is
3565
3566 * gnat_ugn.texi: Add description for new gnatpp option
3567 (--no-separate-is)
3568
3569 2005-07-04 Thomas Quinot <quinot@adacore.com>
3570
3571 * g-expect-vms.adb, g-expect.ads, g-expect.adb
3572 (Get_Command_Output): New subprogram to launch a process and get its
3573 standard output as a string.
3574
3575 2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
3576 Olivier Hainque <hainque@adacore.com>
3577
3578 * s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to
3579 fetch a code-range descriptor associated with the machine state. On
3580 failure set the machine state's PC to 0; on success, pass the
3581 descriptor to exc_virtual_unwind.
3582
3583 * init.c (Tru64 section): New function __gnat_set_code_loc.
3584
3585 2005-07-04 Vincent Celier <celier@adacore.com>
3586
3587 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
3588 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
3589 mlib-tgt-mingw.adb, mlib-tgt-darwin.adb (Build_Dynamic_Library):
3590 Remove all auto-initialization code, as this is now done through the
3591 constructor mechanism.
3592
3593 * adaint.h, adaint.c (__gnat_binder_supports_auto_init,
3594 __gnat_sals_init_using_constructors): New functions.
3595
3596 * bindgen.adb (Gen_Output_File_Ada): Generate pragmas
3597 Linker_Constructor and Linker_Destructor when switch -a is used.
3598
3599 * bindusg.adb: Add line for new switch -a
3600
3601 * gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
3602 (Gnatbind): When switch -a is used, check if it is allowed
3603
3604 * switch-b.adb (Scan_Binder_Switches): Process new switch -a
3605
3606 2005-07-04 Joel Brobecker <brobecker@adacore.com>
3607
3608 * a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
3609 This prevents us from hitting a limitation during the debug info
3610 generation when using stabs.
3611 (Prims_Ptr): Likewise.
3612
3613 2005-07-04 Gary Dismukes <dismukes@adacore.com>
3614 Ed Schonberg <schonberg@adacore.com>
3615 Javier Miranda <miranda@adacore.com>
3616
3617 * checks.adb (Null_Exclusion_Static_Checks): In the case of
3618 N_Object_Declaration, only perform the checks if the Object_Definition
3619 is not an Access_Definition.
3620
3621 * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
3622 where the parent of an the access definition is an N_Object_Declaration
3623 when determining the Associated_Node_For_Itype and scope of an
3624 anonymous access-to-subprogram type.
3625
3626 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
3627 Corresponding_Spec on the body created for a null procedure. Add ???
3628 comment. Remove New_Copy_Tree call on body argument to
3629 Set_Body_To_Inline.
3630
3631 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with
3632 discriminants, use the type of the actual as well, because the
3633 discriminants may be read by the called subprogram.
3634
3635 * sem_ch3.adb (Access_Type_Declaration): If the designated type is an
3636 access type we do not need to handle non-limited views.
3637 (Build_Derived_Record_Type): Additional check to check that in case of
3638 private types, interfaces are only allowed in private extensions.
3639
3640 2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
3641
3642 * decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
3643 <Pragma_Linker_Destructor>: Likewise.
3644
3645 * einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
3646 Pragma_Linker_Destructor.
3647
3648 * gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
3649 ATTR_LINK_DESTRUCTOR.
3650 (static_ctors, static_dtors): New variables.
3651
3652 * misc.c (gnat_expand_body): Output current function as constructor
3653 and destructor if requested.
3654
3655 * par-prag.adb: Add processing for pragma Linker_Constructor and
3656 Linker_Destructor.
3657
3658 * sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
3659 extracted from Check_Interrupt_Or_Attach_Handler.
3660 (Check_Interrupt_Or_Attach_Handler): Invoke it.
3661 Implement pragma Linker_Constructor and Linker_Destructor with the
3662 help of Find_Unique_Parameterless_Procedure.
3663 Replace Name_Alias with Name_Target for pragma Linker_Alias.
3664
3665 * snames.h, snames.ads, snames.adb:
3666 Add Name_Linker_Constructor and Name_Linker_Destructor.
3667 Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
3668 * snames.adb: Remove Name_Alias.
3669
3670 * trans.c: Include cgraph.h.
3671 (build_global_cdtor): New function.
3672 (Compilation_Unit_to_gnu): Build global constructor and destructor if
3673 needed.
3674 (tree_transform) <N_Identifier>: Substitute renaming of view-conversions
3675 of objects too.
3676 (addressable_p) <COMPONENT_REF>: Unconditionally test
3677 DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.
3678
3679 * utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
3680 variable if it is external.
3681
3682 (static_ctors, static_dtors): New global variables.
3683 (process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
3684 <ATTR_LINK_DESTRUCTOR>: Likewise.
3685 (end_subprog_body): Chain function as constructor and destructor
3686 if requested.
3687
3688 * exp_util.adb (Force_Evaluation): Unconditionally invoke
3689 Remove_Side_Effects with Variable_Ref set to true.
3690 (Remove_Side_Effects): Handle scalar types first. Use a renaming
3691 for non-scalar types even if Variable_Ref is true and for class-wide
3692 expressions.
3693
3694 2005-07-04 Ed Schonberg <schonberg@adacore.com>
3695
3696 * exp_attr.adb (Mod): Evaluate condition expression with checks off,
3697 to prevent spurious warnings.
3698
3699 2005-07-04 Thomas Quinot <quinot@adacore.com>
3700
3701 * exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for
3702 Itypes. Itypes are really unexpected there.
3703 (Build_TypeCode_Function): Generalise special processing for Itypes to
3704 handle the case of numeric implicit base types as well as enumerated
3705 ones.
3706
3707 2005-07-04 Ed Schonberg <schonberg@adacore.com>
3708
3709 * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
3710 controlled, indicate the expected type of the dereference that is
3711 created for the call to Deep_Finalize, to prevent spurious errors when
3712 the designated type is private and completed with a derivation from
3713 another private type.
3714
3715 2005-07-04 Vincent Celier <celier@adacore.com>
3716
3717 * make.adb (Change_To_Object_Directory): When unable to change the
3718 current dir to the object directory, output the full path of the
3719 directory.
3720
3721 2005-07-04 Matthew Gingell <gingell@adacore.com>
3722
3723 * Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adb
3724
3725 * indepsw-linux.adb: Replace by...
3726
3727 * indepsw-gnu.adb: ...this new file
3728
3729 2005-07-04 Vincent Celier <celier@adacore.com>
3730
3731 * mlib-prj.adb (Auto_Initialize): New constant String
3732 (SALs_Use_Constructors): New Boolean function
3733 (Build_Library): Call gnatbind with Auto_Initialize switch when
3734 SALs_Use_Constructors returns True.
3735
3736 * mlib-tgt.ads: Minor reformatting
3737
3738 * mlib-utl.ads: Minor reformatting
3739
3740 * opt.ads: (Use_Pragma_Linker_Constructor): New Boolean flag
3741
3742 2005-07-04 Ed Schonberg <schonberg@adacore.com>
3743
3744 * par-ch9.adb (P_Task, P_Protected): Indicate that single task and
3745 single protected declarations can have an interface list.
3746 (P_Entry_Declaration): Add handler for Error_Resync, which can be raised
3747 with seriously malformed entry declarations, and lead to compilation
3748 abandoned messages.
3749
3750 2005-07-04 Javier Miranda <miranda@adacore.com>
3751
3752 * par-load.adb: Load the context items in two rounds.
3753
3754 2005-07-04 Robert Dewar <dewar@adacore.com>
3755
3756 * scng.adb: Do not consider Mod used as an attribute to be a keyword
3757
3758 2005-07-04 Ed Schonberg <schonberg@adacore.com>
3759 Javier Miranda <miranda@adacore.com>
3760
3761 * sem_ch10.adb (Build_Limited_Views): A type declared with a private
3762 type extension needs a limited view.
3763 Remove previous restriction on private types available through the
3764 limited-view (only tagged private types were previously allowed).
3765 (Install_Withed_Unit): In the code that implements the
3766 legality rule given in AI-377, exclude a child unit with the name
3767 Standard, because it is a homonym of the Standard environment package.
3768
3769 2005-07-04 Thomas Quinot <quinot@adacore.com>
3770
3771 * sem_ch4.adb (Transform_Object_Operation): For an actual that is an
3772 overloaded function call, carry interpretations from the original tree
3773 to the copy.
3774
3775 2005-07-04 Ed Schonberg <schonberg@adacore.com>
3776
3777 * sem_ch6.adb (Conforming_Types): If the types are anonymous access
3778 types check whether some designated type is a limited view, and use
3779 the non-limited view if available.
3780
3781 2005-07-04 Gary Dismukes <dismukes@adacore.com>
3782
3783 * sem_eval.adb (Subtypes_Statically_Match): Use the discriminant
3784 constraint of full view of a private view T1 if present, when T2 is a
3785 discriminated full view.
3786
3787 2005-07-04 Thomas Quinot <quinot@adacore.com>
3788
3789 * sem_res.adb (Resolve_Actuals): Do not resolve the expression of an
3790 actual that is a view conversion of a bit packed array reference.
3791
3792 2005-07-04 Ed Schonberg <schonberg@adacore.com>
3793
3794 * sem_type.adb (Covers): Verify that Corresponding_Record_Type is
3795 present before checking whether an interface type covers a synchronized
3796 type.
3797
3798 2005-07-04 Ed Schonberg <schonberg@adacore.com>
3799
3800 * sem_util.adb (Is_Object_Reference): An indexed or selected component
3801 whose prefix is an implicit dereference is an object reference. Removes
3802 spurious errors when compiling with -gnatc.
3803
3804 2005-07-04 Robert Dewar <dewar@adacore.com>
3805
3806 PR ada/22039
3807
3808 * s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix
3809
3810 2005-07-04 Matthew Gingell <gingell@adacore.com>
3811
3812 * tracebak.c: Enable tracebacks on ia64 platforms
3813
3814 2005-07-04 Vincent Celier <celier@adacore.com>
3815
3816 * vms_conv.adb (Initialize): Allow multiple ALI files to be given to
3817 the GNAT BIND command, as gnatbind accepts multiples ALI files with
3818 the -L or -n switches.
3819
3820 2005-07-04 Vincent Celier <celier@adacore.com>
3821
3822 * makegpr.adb (Build_Global_Archive): Make sure the list of sources is
3823 correctly computed and the main project data is not modified while
3824 doing so.
3825 (Add_C_Plus_Plus_Link_For_Gnatmake): Always link with the C++ compiler
3826 (Choose_C_Plus_Plus_Link_Process): Do not generate shell script
3827 c++linker as this does not work on some platforms.
3828
3829 2005-07-04 Matthew Heaney <heaney@adacore.com>
3830
3831 * a-convec.ads, a-coinve.ads: Declaration of subtype Extended_Index
3832 was changed.
3833 * a-coinve.adb: Perform constraint checks explicitly.
3834
3835 2005-07-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3836 Thomas Quinot <quinot@adacore.com>
3837
3838 * Make-lang.in: (ada/targtyps.o): Add missing TREE_H dependency.
3839 new target gen-soccon.
3840
3841 2005-07-04 Robert Dewar <dewar@adacore.com>
3842
3843 * s-mastop-irix.adb, s-mastop-vms.adb: Minor reformatting
3844
3845 2005-07-04 Thomas Quinot <quinot@adacore.com>
3846
3847 * g-socket.ads (Check_Selector): Minor rewording of comment.
3848
3849 2005-07-04 Vincent Celier <celier@adacore.com>
3850
3851 * vms_data.ads: Add VMS qualifiers for new gnatpp switch --eol=
3852
3853 2005-07-04 Thomas Quinot <quinot@adacore.com>
3854
3855 * gen-soccon.c: Add constants SO_SNDTIMEO and SO_RCVTIMEO.
3856
3857 2005-07-04 Sergey Rybin <rybin@adacore.com>
3858
3859 * gnat_ugn.texi: Add description of --eol gnatpp option
3860
3861 2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
3862 Thomas Quinot <quinot@adacore.com>
3863
3864 * gnat_rm.texi: Add a note that pragma Unreferenced is not appropriate
3865 if the user wants all calls of a subprogram to be flagged,
3866 independently of whether they are made from within the same unit or
3867 another unit.
3868 Mention restriction for pragma Linker_Alias on some platforms.
3869 Document pragma Linker_Constructor and Linker_Destructor.
3870 Rewrite documentation of Weak_External, Linker_Section and
3871 Linker_Alias pragmas.
3872
3873 2005-07-04 Arnaud Charlet <charlet@adacore.com>
3874
3875 * s-stausa.ads, s-stausa.adb: New files.
3876
3877 2005-06-30 Kelley Cook
3878
3879 * all files: Update FSF address in copyright headers.
3880 * gen-soccon.co (main): Output new FSF address in generated files.
3881
3882 2005-06-28 Paul Brook <paul@codesourcery.com>
3883
3884 * misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
3885
3886 2005-06-14 Olivier Hainque <hainque@adacore.com>
3887 Eric Botcazou <ebotcazou@adacore.com>
3888
3889 * s-mastop-irix.adb (Pop_Frame): Revert shorcuts avoiding calls to
3890 exc_unwind, now that we are generating proper .debug_frame output for
3891 that target.
3892
3893 * tracebak.c: Remove the mips-irix section, as we are now using the
3894 s-mastop based unwinder again.
3895 Under SPARC/Solaris, take into account the stack bias to compute the
3896 frame offset. The stack bias is 0 for the V8 ABI and 2047 for the V9
3897 ABI.
3898
3899 2005-06-14 Doug Rupp <rupp@adacore.com>
3900
3901 * g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
3902
3903 * g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb: New files
3904
3905 2005-06-14 Pascal Obry <obry@adacore.com>
3906
3907 * a-strhas.ads, a-secain.adb, a-secain.ads, a-rbtgso.ads, a-cgaaso.adb,
3908 a-cgaaso.ads, a-cgarso.adb, a-cgcaso.adb, a-cgarso.ads, a-cgcaso.ads,
3909 a-contai.ads, a-coprnu.ads, a-coprnu.adb: Fix header style (spaces in
3910 package name).
3911
3912 * a-intnam-lynxos.ads, a-intnam-unixware.ads, a-intnam-tru64.ads,
3913 a-intnam-aix.ads, a-intnam-irix.ads, a-excpol-interix.adb,
3914 a-intnam-hpux.ads, a-intnam-linux.ads, a-intnam-dummy.ads,
3915 a-intnam-os2.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
3916 a-intnam-solaris.ads, a-caldel-vms.adb, a-calend-vms.ads,
3917 a-intnam-vms.ads, a-excpol-abort.adb, a-intnam-mingw.ads,
3918 a-intnam-vxworks.ads, a-numaux-vxworks.ads, s-osinte-unixware.adb,
3919 s-osinte-unixware.ads, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads,
3920 s-osinte-hpux.ads, s-osinte-solaris-posix.ads, a-intnam-freebsd.ads,
3921 s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb,
3922 s-osinte-lynxos.ads, s-tpopsp-lynxos.adb, s-osinte-tru64.adb,
3923 s-osinte-tru64.ads, s-tpopsp-posix-foreign.adb, s-vxwork-alpha.ads,
3924 s-osinte-aix.adb, s-osinte-aix.ads, s-osinte-aix-fsu.ads,
3925 s-osinte-irix.adb, s-osinte-irix.ads, s-interr-sigaction.adb,
3926 s-osinte-irix-athread.ads, s-osinte-hpux-dce.adb,
3927 s-osinte-hpux-dce.ads, s-osinte-posix.adb, s-osinte-linux.ads,
3928 s-vxwork-m68k.ads, s-osinte-linux-fsu.ads, s-vxwork-mips.ads,
3929 s-osinte-dummy.ads, s-interr-dummy.adb, s-osinte-os2.adb,
3930 s-osinte-os2.ads, s-osprim-os2.adb, s-osinte-interix.ads,
3931 s-osprim-unix.adb, s-vxwork-ppc.ads, s-osinte-solaris.adb,
3932 s-osinte-solaris.ads, s-osprim-solaris.adb, s-tpopsp-solaris.adb,
3933 s-vxwork-sparcv9.ads, s-osinte-solaris-fsu.ads, s-interr-vms.adb,
3934 s-osinte-vms.adb, s-osinte-vms.ads, s-osprim-vms.adb,
3935 s-osprim-vms.ads, s-tpopde-vms.adb, s-tpopde-vms.ads,
3936 s-osprim-mingw.adb, s-vxwork-xscale.ads, s-interr-vxworks.adb,
3937 s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
3938 s-tfsetr-vxworks.adb, s-tpopsp-vxworks.adb, s-intman-posix.adb,
3939 s-osinte-fsu.adb, s-osprim-posix.adb, s-tfsetr-default.adb,
3940 s-tpopsp-posix.adb, s-traces-default.adb, s-trafor-default.adb,
3941 s-trafor-default.ads, s-tratas-default.adb, a-numaux-x86.adb,
3942 a-numaux-x86.ads, a-astaco.adb, a-astaco.ads, a-caldel.adb,
3943 a-caldel.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads, a-colien.adb,
3944 a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-cwila1.ads,
3945 a-cwila9.ads, ada.ads, a-decima.adb, a-diocst.ads, a-direio.adb,
3946 a-dynpri.adb, a-dynpri.ads, a-excpol.adb, a-flteio.ads, a-fwteio.ads,
3947 a-inteio.ads, a-interr.adb, a-intnam.ads, a-intsig.adb, a-intsig.ads,
3948 a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
3949 a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads,
3950 a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads, a-ngcoty.adb, a-ngelfu.adb,
3951 a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
3952 a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads,
3953 a-nucoty.ads, a-nudira.adb, a-nuelfu.ads, a-nuflra.adb, a-numaux.ads,
3954 a-numeri.ads, a-reatim.adb, a-retide.adb, a-retide.ads, a-sequio.adb,
3955 a-sequio.ads, a-sfteio.ads, a-sfwtio.ads, a-siocst.ads, a-siteio.ads,
3956 a-siwtio.ads, a-ssicst.ads, a-ssitio.ads, a-ssiwti.ads, a-stmaco.ads,
3957 a-storio.adb, a-strbou.adb, a-strfix.adb, a-string.ads, a-strmap.adb,
3958 a-strsea.adb, a-strsup.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
3959 a-stunau.ads, a-stwibo.adb, a-stwifi.adb, a-stwifi.ads, a-stwima.adb,
3960 a-stwise.adb, a-stwisu.adb, a-suteio.adb, a-suteio.ads, a-swuwti.adb,
3961 a-swuwti.ads, a-teioed.adb, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb,
3962 a-tideau.adb, a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
3963 a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinio.adb, a-timoau.adb,
3964 a-timoio.adb, a-timoio.ads, a-tiocst.ads, a-titest.adb, a-titest.ads,
3965 a-witeio.adb, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
3966 a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtenau.adb, a-wtenio.adb,
3967 a-wtfiio.adb, a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
3968 a-wtinio.ads, a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, calendar.ads,
3969 dec.ads, dec-io.adb, dec-io.ads, directio.ads, errno.c, g-bubsor.adb,
3970 g-bubsor.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
3971 g-casuti.adb, g-casuti.ads, g-debuti.ads, g-heasor.adb, g-heasor.ads,
3972 g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb,
3973 g-htable.ads, g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
3974 g-memdum.adb, g-memdum.ads, g-sestin.ads, g-signal.ads, g-signal.adb,
3975 gnat.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-table.adb,
3976 g-table.ads, g-thread.adb, g-thread.ads, ioexcept.ads, i-vxwoio.adb,
3977 i-vxwoio.ads, math_lib.adb, s-assert.adb, s-assert.ads, s-asthan.ads,
3978 s-bitops.adb, s-bitops.ads, s-boarop.ads, s-carsi8.adb, s-carsi8.ads,
3979 s-carun8.adb, s-carun8.ads, s-casi16.adb, s-casi16.ads, s-casi32.adb,
3980 s-casi32.ads, s-casi64.adb, s-casi64.ads, s-casuti.adb, s-casuti.ads,
3981 s-caun16.adb, s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
3982 s-caun64.ads, s-direio.adb, s-direio.ads, sequenio.ads, s-errrep.adb,
3983 s-errrep.ads, s-exnint.adb, s-exnint.ads, s-exnllf.adb, s-exnllf.ads,
3984 s-exnlli.adb, s-exnlli.ads, s-expint.adb, s-expint.ads, s-explli.adb,
3985 s-explli.ads, s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
3986 s-expuns.adb, s-expuns.ads, s-fore.adb, s-fore.ads, s-geveop.adb,
3987 s-geveop.ads, s-htable.adb, s-htable.ads, s-imgbiu.adb, s-imgbiu.ads,
3988 s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
3989 s-imgdec.ads, s-imgenu.adb, s-imgenu.ads, s-imgint.adb, s-imgint.ads,
3990 s-imgllb.adb, s-imgllb.ads, s-imglld.adb, s-imglld.ads, s-imglli.adb,
3991 s-imglli.ads, s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
3992 s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwiu.adb, s-imgwiu.ads
3993 s-interr.ads, s-io.adb, s-mantis.adb, s-mantis.ads, s-osprim.ads,
3994 s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb,
3995 s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
3996 s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb,
3997 s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads,
3998 s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb,
3999 s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
4000 s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb,
4001 s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads,
4002 s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb,
4003 s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
4004 s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb,
4005 s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads,
4006 s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb,
4007 s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
4008 s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb,
4009 s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads,
4010 s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb,
4011 s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
4012 s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb,
4013 s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads,
4014 s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb,
4015 s-pack59.ads, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
4016 s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-scaval.adb,
4017 s-scaval.ads, s-sequio.adb, s-sequio.ads, s-stache.adb, s-stache.ads,
4018 s-stratt.adb, s-stratt.ads, s-strcom.adb, s-strcom.ads, s-strops.adb,
4019 s-strops.ads, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb,
4020 s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
4021 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, s-tasini.adb,
4022 s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
4023 s-tasren.ads, s-tasres.ads, s-tassta.adb, s-tassta.ads, s-tasuti.adb,
4024 s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
4025 s-tpoben.adb, s-tpoben.ads, s-tpobop.ads, s-tporft.adb, s-tposen.ads,
4026 s-traces.adb, s-traces.ads, s-tratas.adb, s-tratas.ads, s-valint.ads,
4027 s-unstyp.ads, s-veboop.adb, s-veboop.ads, s-vector.ads, s-vercon.adb,
4028 s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchjis.adb, s-wchjis.ads,
4029 s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
4030 s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads,
4031 s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-wwdcha.ads,
4032 s-wwdenu.adb, s-wwdwch.ads, text_io.ads, s-stchop.ads, s-stchop.adb,
4033 s-stchop-vxworks.adb, a-intnam-darwin.ads, s-osinte-darwin.adb,
4034 s-osinte-darwin.ads, s-vxwork-x86.ads, a-numaux-darwin.ads,
4035 a-numaux-darwin.adb, a-chzla1.ads, a-chzla9.ads, a-lfztio.ads,
4036 a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads,
4037 a-ssizti.ads, a-stzbou.adb, a-stzfix.adb, a-stzfix.ads, a-stzmap.adb,
4038 a-stzsea.adb, a-stzsup.adb, a-swunau.adb, a-swunau.ads, a-szuzti.adb,
4039 a-szuzti.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads,
4040 a-ztcoio.adb, a-ztcoio.ads, a-ztcstr.ads, a-ztdeau.adb, a-ztdeio.adb,
4041 a-ztenio.adb, a-ztexio.adb, a-ztfiio.adb, a-ztflio.adb, a-ztgeau.adb,
4042 a-ztinau.adb, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb, a-ztmoio.adb,
4043 a-zttest.adb, a-zzunio.ads, g-utf_32.adb: Fix header style.
4044 "GNU Ada" to GNAT, use proper casing for RUN-TIME.
4045
4046 2005-06-14 Jose Ruiz <ruiz@adacore.com>
4047 Arnaud Charlet <charlet@adacore.com>
4048
4049 * a-sytaco.ads, a-sytaco.adb (Suspension_Object): These objects are no
4050 longer protected objects. They have been replaced by lower-level
4051 suspension objects made up by a mutex and a condition variable (or
4052 their equivalent given a particular OS) plus some internal data to
4053 reflect the state of the suspension object.
4054 (Initialize, Finalize): Add this initialization procedure for
4055 Suspension_Object, which is a controlled type.
4056 (Finalize): Add the finalization procedure for Suspension_Object,
4057 which is a controlled type.
4058
4059 * a-sytaco-vxworks.ads, a-sytaco-vxworks.adb: Remove this version of
4060 Ada.Synchronous_Task_Control because there is no longer a need for a
4061 VxWorks specific version of this package. Target dependencies
4062 has been moved to System.Task_Primitives.Operations.
4063
4064 * s-osinte-mingw.ads (pCRITICAL_SECTION): Remove this type which is no
4065 longer needed.
4066 (InitializeCriticalSection, EnterCriticalSection,
4067 LeaveCriticalSection, DeleteCriticalSection): Replace the type
4068 pCriticalSection by an anonymous access type so that we avoid problems
4069 of accessibility to local objects.
4070
4071 * s-taprop.ads, s-taprop-posix.adb, s-taprop-vxworks.adb,
4072 s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
4073 s-taprop-os2.adb, s-taprop-dummy.adb, s-taprop-hpux-dce.adb,
4074 s-taprop-linux.adb, s-taprop-irix.adb, s-taprop-irix-athread.adb,
4075 s-taprop-tru64.adb, s-taprop-lynxos.adb (Elaboration Code): No longer
4076 set the environment task mask here.
4077 (Current_State): Add this function that returns the state of the
4078 suspension object.
4079 (Set_False): Add this procedure that sets the state of the suspension
4080 object to False.
4081 (Set_True): Add this procedure that sets the state of the suspension
4082 object to True, releasing the task that was suspended, if any.
4083 (Suspend_Until_True): Add this procedure that blocks the calling task
4084 until the state of the object is True. Program_Error is raised if
4085 another task is already waiting on that suspension object.
4086 (Initialize): Add this procedure for initializing the suspension
4087 object. It initializes the mutex and the condition variable which are
4088 used for synchronization and queuing, and it sets the internal state
4089 to False.
4090 (Finalize): Add this procedure for finalizing the suspension object,
4091 destroying the mutex and the condition variable.
4092
4093 * s-taspri-posix.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
4094 s-taspri-vms.ads, s-taspri-solaris.ads, s-taspri-os2.ads,
4095 s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-linux.ads,
4096 s-taspri-tru64.ads, s-taspri-lynxos.ads (Suspension_Object): New object
4097 which provides a low-level abstraction (using operating system
4098 primitives) for Ada.Synchronous_Task_Control.
4099 This object is made up by a mutex (for ensuring mutual exclusion), a
4100 condition variable (for queuing threads until the condition is
4101 signaled), a Boolean (State) indicating whether the object is open,
4102 and a Boolean (Waiting) reflecting whether there is a task already
4103 suspended on this object.
4104
4105 * s-intman.ads, s-intman-irix.adb, s-intman-irix-athread.adb,
4106 s-intman-dummy.adb, s-intman-solaris.adb, s-intman-vms.adb,
4107 s-intman-vms.ads, s-intman-mingw.adb,
4108 (Initialize_Interrupts): Removed, no longer used.
4109
4110 * s-inmaop-posix.adb, s-inmaop-vms.adb, s-inmaop-dummy.adb,
4111 (Setup_Interrupt_Mask): New procedure.
4112
4113 * s-intman-vxworks.ads, s-intman-vxworks.adb: Update comments.
4114
4115 * s-inmaop.ads (Setup_Interrupt_Mask): New procedure
4116
4117 * s-interr.adb: Add explicit call to Setup_Interrupt_Mask now that
4118 this is no longer done in the body of s-taprop
4119 (Server_Task): Explicitely test for Pending_Action in case
4120 System.Parameters.No_Abort is True.
4121
4122 * s-taasde.adb: Add explicit call to Setup_Interrupt_Mask now that this
4123 is no longer done in the body of s-taprop
4124
4125 2005-06-14 Robert Dewar <dewar@adacore.com>
4126
4127 * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
4128 system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
4129 system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
4130 system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
4131 system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
4132 system-linux-x86.ads, system-vxworks-mips.ads, system-vxworks-mips.ads,
4133 system-os2.ads, system-interix.ads, system-solaris-sparc.ads,
4134 system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
4135 system-vms-zcx.ads, system-vxworks-ppc.ads, system.ads,
4136 system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads,
4137 system-linux-hppa.ads, system-vms_64.ads,
4138 system-vxworks-alpha.ads: Minor comment update for
4139 AI-362 (unit is Pure).
4140
4141 * a-chahan.ads, a-chahan.adb: Move Wide_Wide functions to Conversions
4142 Add pragma Pure_05 for AI-362
4143 Make remaining conversion functions obsolescent in Ada 95
4144
4145 * impunit.adb: Change a-swunha to a-swuwha and a-szunha to a-szuzha
4146 Make Ada.Wide_Characters[.Unicode] available in Ada 95 mode
4147 Add entries for a-wichun and a-zchuni
4148 Add a-widcha a-zchara for AI-395
4149 Add a-chacon (Ada.Characters.Conversions) to list of Ada 2005 routines
4150
4151 * Makefile.rtl: Change a-swunha to a-swuwha and a-szunha to a-szuzha
4152 Add entries for a-wichun.o and a-zchuni.o
4153 Entries for a-widcha.o and a-zchara.o
4154 Add entry for a-chacon.o
4155
4156 * a-ztenau.adb: Add with of Ada.Characters.Conversions
4157
4158 * a-chacon.ads, a-chacon.adb: New files.
4159
4160 * a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
4161 categorization violations.
4162
4163 * a-strmap.ads: Add pragma Pure_05 for AI-362
4164 * a-strmap.ads: Add note on implicit categorization for AI-362
4165
4166 * a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
4167
4168 * par-prag.adb: Dummy entry for pragma Persistent_BSS
4169 Set Ada_Version_Explicit, for implementation of AI-362
4170 Add processing for pragma Pure_05 and Preelaborate_05
4171 Add entry for Assertion_Policy pragma
4172
4173 * sem.adb: Make sure predefined units are compiled with GNAT_Mode true
4174 when needed for proper processing of categorization stuff
4175
4176 * sem_cat.adb:
4177 For several cases, make errors in preealborate units warnings,
4178 instead of errors, if GNAT_Mode is set. For AI-362.
4179
4180 * sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
4181 preelaborate unit is now warning if in GNAT mode
4182
4183 * s-stoele.ads: Document AI-362 for pragma preelaborate
4184
4185 2005-06-14 Doug Rupp <rupp@adacore.com>
4186
4187 * s-parame-vms.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads,
4188 s-parame-ae653.ads, s-parame.ads, s-parame-vxworks.ads:
4189 Default_Exception_Msg_Max_Length: new parameter.
4190
4191 * a-except.ads: (Exception_Msg_Max_Length): Set to
4192 System.Parameters.Default_Exception_Msg_Max_Length
4193 Add pragma Preelaborate_05 for AI-362
4194 Add warnings off to allow categorization violations for AI-362
4195
4196 2005-06-14 Vincent Celier <celier@adacore.com>
4197
4198 * gnatsym.adb: Adapt to modification of package Symbols: procedure
4199 Process is now in package Processing.
4200
4201 * symbols.ads, symbols.adb:
4202 (Processing): New package, containing procedure Process
4203
4204 * symbols-vms-alpha.adb:
4205 Replaced by symbols-vms.adb and symbols-processing-vms-alpha.adb
4206
4207 * symbols-vms.adb, symbols-processing-vms-alpha.adb,
4208 symbols-processing-vms-ia64.adb: New files.
4209
4210 2005-06-14 Pascal Obry <obry@adacore.com>
4211
4212 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Replace the previous
4213 implementation. This new version generates the proper DllMain routine
4214 to initialize the SAL. The DllMain is generated in Ada and compiled
4215 before being added as option to the library build command.
4216
4217 2005-06-14 Doug Rupp <rupp@adacore.com>
4218 Pascal Obry <obry@adacore.com>
4219
4220 * adaint.c (__gnat_to_canonical_file_spec): Check for error returns in
4221 call to decc$translate_vms.
4222 (__gnat_locate_regular_file): Check if the path_val contains quotes. We
4223 need to remove those quotes before catenating the filename.
4224 (__gnat_locate_exec_on_path): improvements to the Win32 section:
4225 * avoid allocating the memory twice for better efficiency;
4226 * allocate 32K buffer for environment expansion as suggested by MSDN;
4227 * prepend ".;" to the path so that current directory is searched too.
4228
4229 2005-06-14 Robert Dewar <dewar@adacore.com>
4230
4231 * a-except.adb (Exception_Identity): return Null_Id for null occurrence
4232 instead of raising CE (AI-241)
4233 Add warnings off to allow categorization violations for AI-362
4234
4235 2005-06-14 Robert Dewar <dewar@adacore.com>
4236
4237 * ali-util.adb, gnatbind.adb: Remove references to
4238 Force_RM_Elaboration_Order.
4239
4240 * switch-b.adb: Remove recognition of -f switch
4241
4242 2005-06-14 Pascal Obry <obry@adacore.com>
4243
4244 * a-stzunb.adb, a-stwiun.adb, a-strunb.adb (Realloc_For_Chunk): New
4245 implementation which is slightly more efficient.
4246
4247 2005-06-14 Gary Dismukes <dismukes@adacore.com>
4248 Javier Miranda <miranda@adacore.com>
4249 Ed Schonberg <schonberg@adacore.com>
4250 Hristian Kirtchev <kirtchev@adacore.com>
4251
4252 * exp_ch4.adb (Expand_Allocator_Expression): When an initialized
4253 allocator's designated type is a class-wide type, and compiling for
4254 Ada 2005, emit a run-time check that the accessibility level of the
4255 type given in the allocator's expression is not deeper than the level
4256 of the allocator's access type.
4257
4258 (Tagged_Membership): Modified to gives support to abstract interface
4259 types.
4260
4261 * a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
4262 Access_Level.
4263 (Descendant_Tag): New predefined function
4264 (Is_Descendant_At_Same_Level): New predefined function
4265 (Get_Access_Level): New private function
4266 (Set_Access_Level): New private procedure
4267 (IW_Membership): New function. Given the tag of an object and the tag
4268 associated with an interface, evaluate if the object implements the
4269 interface.
4270 (Register_Interface_Tag): New procedure used to initialize the table of
4271 interfaces used by the IW_Membership function.
4272 (Set_Offset_To_Top): Initialize the Offset_To_Top field in the prologue
4273 of the dispatch table.
4274 (Inherit_TSD): Modified to copy the table of ancestor tags plus the
4275 table of interfaces of the parent.
4276 (Expanded_Name): Raise Tag_Error if the passed tag equals No_Tag.
4277 (External_Tag): Raise Tag_Error if the passed tag equals No_Tag.
4278 (Parent_Tag): Return No_Tag in the case of a root-level tagged type,
4279 and raise Tag_Error if the passed tag equalis No_Tag, to conform with
4280 Ada 2005 semantics for the new predefined function.
4281
4282 * exp_attr.adb (Expand_N_Attribute, case Attribute_Input): Generate
4283 call to Descendant_Tag rather than Internal_Tag.
4284 (Expand_N_Attribute, case Attribute_Output): Emit a check to ensure that
4285 the accessibility level of the attribute's Item parameter is not deeper
4286 than the level of the attribute's prefix type. Tag_Error is raised if
4287 the check fails. The check is only emitted for Ada_05.
4288 (Find_Stream_Subprogram): If a TSS exists on the type itself for the
4289 requested stream attribute, use it.
4290 (Expand_N_Attribute_Reference): If the designated type is an interface
4291 then rewrite the referenced object as a conversion to force the
4292 displacement of the pointer to the secondary dispatch table.
4293 (Expand_N_Attribute_Reference, case 'Constrained): Return false if this
4294 is a dereference of an object with a constrained partial view.
4295
4296 * exp_ch5.adb (Expand_N_Return_Statement): When a function's result
4297 type is a class-wide type, emit a run-time check that the accessibility
4298 level of the returned object is not deeper than the level of the
4299 function's master (only when compiling for Ada 2005).
4300
4301 * exp_disp.ads, exp_disp.adb (Ada_Actions, Action_Is_Proc,
4302 Action_Nb_Arg): Add entries for new Get_Access_Level and
4303 Set_Access_Level routines in these tables.
4304 (Make_DT): Generate a call to set the accessibility level of the
4305 tagged type in its TSD.
4306 (Make_DT): Code cleanup. The functionality of generating all the
4307 secondary dispatch tables has been moved to freeze_record_type.
4308 (Make_Abstract_Interface_DT): Minor code cleanup.
4309 (Set_All_DT_Position): Code cleanup. As part of the code cleanup
4310 this subprogram implements a new algorithm that provides the
4311 same functionality and it is more clear in case of primitives
4312 associated with abstract interfaces.
4313 (Set_All_Interfaces_DTC_Entity): Removed. As part of the code
4314 clean up, the functionality of this subprogram is now provided
4315 by Set_All_DT_Position.
4316 (Write_DT): New subprogram: a debugging procedure designed to be called
4317 within gdb to display the dispatch tables associated with a tagged
4318 type.
4319 (Collect_All_Interfaces): New subprogram that collects the whole list
4320 of interfaces that are directly or indirectly implemented by a tagged
4321 type.
4322 (Default_Prim_Op_Position): New subprogram that returns the fixed
4323 position in the dispatch table of the default primitive operations.
4324 (Expand_Interface_Actuals): New subprogram to generate code that
4325 displaces all the actuals corresponding to class-wide interfaces to
4326 reference the interface tag of the actual object.
4327 (Expand_Interface_Conversion): New subprogram. Reference the base of
4328 the object to give access to the interface tag associated with the
4329 secondary dispatch table.
4330 (Expand_Interface_Thunk): New subprogram that generates the code of the
4331 thunk. This is required for compatibility with the C+ ABI.
4332 (Make_Abstract_Interface_DT): New subprogram that generate the
4333 declarations for the secondary dispatch tables associated with an
4334 abstract interface.
4335 (Set_All_Interfaces_DTC_Entity): New subprogram that sets the DTC_Entity
4336 attribute for each primitive operation covering interface subprograms
4337 (Expand_Dispatching_Call, Fill_DT_Entry, Make_DT, Set_All_DT_Position):
4338 These subprograms were upgraded to give support to abstract interfaces
4339
4340 * rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
4341 RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
4342 RE_Set_Access_Level.
4343 (RE_Unit_Table): Add entries for new Ada.Tags operations.
4344 Add support to call the followig new run-time subprograms:
4345 IW_Membership, Register_Interface_Tag, and Set_Offset_To_Top
4346
4347 * sem_ch3.adb (Constant_Redeclaration): Allow a deferred constant to
4348 match its full declaration when both have an access definition with
4349 statically matching designated subtypes.
4350 (Analyze_Component_Declaration): Delete commented out code that was
4351 incorrectly setting the scope of an anonymous access component's type.
4352 (Process_Discriminants): Set Is_Local_Anonymous_Access for the type of
4353 an access discriminant when the containing type is nonlimited.
4354 (Make_Incomplete_Type_Declaration): Create an incomplete type
4355 declaration for a record type that includes self-referential access
4356 components.
4357 (Check_Anonymous_Access_Types): Before full analysis of a record type
4358 declaration, create anonymous access types for each self-referential
4359 access component.
4360 (Analyze_Component_Declaration, Array_Type_Declaration): Indicate that
4361 an access component in this context is a Local_Anonymous_Access, for
4362 proper accessibility checks.
4363 (Access_Definition): Set properly the scope of the anonymous access type
4364 created for a stand-alone access object.
4365 (Find_Type_Of_Object): An object declaration may be given with an access
4366 definition.
4367 (Complete_Subprograms_Derivation): New subprogram used to complete
4368 type derivation of private tagged types implementing interfaces.
4369 In this case some interface primitives may have been overriden
4370 with the partial-view and, instead of re-calculating them, they
4371 are included in the list of primitive operations of the full-view.
4372 (Build_Derived_Record_Type): Modified to give support to private
4373 types implemening interfaces.
4374 (Access_Definition): Reject ALL on anonymous access types.
4375 (Build_Derived_Record_Type): In the case of Ada 2005, allow a tagged
4376 type derivation to occur at a deeper accessibility level than the
4377 parent type.
4378 For the case of derivation within a generic body however, disallow the
4379 derivation if the derived type has an ancestor that is a formal type
4380 declared in the formal part of an enclosing generic.
4381 (Analyze_Object_Declaration): For protected objects, remove the check
4382 that they cannot contain interrupt handlers if not declared at library
4383 level.
4384 (Add_Interface_Tag_Components): New subprogram to add the tag components
4385 corresponding to all the abstract interface types implemented by a
4386 record type or a derived record type.
4387 (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
4388 Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
4389 Process_Full_View, Record_Type_Declaration): Modified to give
4390 support to abstract interface types
4391 (Collect_Interfaces): New subprogram that collects the list of
4392 interfaces that are not already implemented by the ancestors
4393 (Process_Full_View): Set flag Has_Partial_Constrained_View appropriately
4394 when partial view has no discriminants and full view has defaults.
4395 (Constrain_Access): Reject a constraint on a general access type
4396 if the discriminants of the designated type have defaults.
4397 (Access_Subprogram_Declaration): Associate the Itype node with the inner
4398 full-type declaration or subprogram spec. This is required to handle
4399 nested anonymous declarations.
4400 (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
4401 Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
4402 Process_Full_View, Record_Type_Declaration): Modified to give
4403 support to abstract interface types
4404 (Derive_Subprograms): Addition of a new formal to indicate if
4405 we are in the case of an abstact-interface derivation
4406 (Find_Type_Of_Subtype_Indic): Moved from the body of the package
4407 to the specification because it is requied to analyze all the
4408 identifiers found in a list of interfaces
4409
4410 * debug.adb: Complete documentation of flag "-gnatdZ"
4411
4412 * exp_ch3.adb: Implement config version of persistent_bss pragma
4413 (Check_Stream_Attributes): Use Stream_Attribute_Available instead of
4414 testing for TSS presence to properly enforce visibility rules.
4415 (Freeze_Record_Type): Code cleanup. Modified to call the subprogram
4416 Make_Abstract_Interfaces_DT to generate the secondary tables
4417 associated with abstract interfaces.
4418 (Build_Init_Procedure): Modified to initialize all the tags
4419 corresponding.
4420 (Component_Needs_Simple_Initialization): Similar to other tags,
4421 interface tags do not need initialization.
4422 (Freeze_Record_Type): Modified to give support to abstract interface
4423 types.
4424 (Expand_N_Object_Declaration): Do not generate an initialization for
4425 a scalar temporary marked as internal.
4426
4427 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Handle properly an
4428 in-out parameter that is a component in an initialization procedure,
4429 whose constraint might depend on discriminants, and that may be
4430 misaligned because of packing or representation clauses.
4431 (Is_Legal_Copy): New predicate to determine whether a possibly
4432 misaligned in-out actual can actually be passed by copy/return. This
4433 is an error in case the type is by_reference, and a warning if this is
4434 the consequence of a DEC import pragma on the subprogram.
4435 (Expand_Call, Freeze_Subprogram): Modified to give support to abstract
4436 interface types
4437 (Expand_Inlined_Call): Mark temporary generated for the return value as
4438 internal, so that no useless scalar normalization is generated for it.
4439 (Expand_N_Subprogram_Declaration): Save unanalyzed body so calls to
4440 null procedure can always be inlined.
4441 (Expand_N_Subprogram_Declaration): If this is the declaration of a null
4442 procedure, generate an explicit empty body for it.
4443
4444 * exp_util.ads, exp_util.adb (Find_Interface_ADT): New subprogram.
4445 Given a type implementing an interface, returns the corresponding
4446 access_disp_table value.
4447 (Find_Interface_Tag): New subprogram. Given a type implementing an
4448 interface, returns the record component containing the tag of the
4449 interface.
4450 (Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
4451 previous ones that return the corresponding tag and access_disp_table
4452 entities.
4453 (Is_Predefined_Dispatching_Operation): Determines if a subprogram
4454 is a predefined primitive operation.
4455 (Expand_Subtype_From_Expr): If the expression is a selected component
4456 within an initialization procedure, compute its actual subtype, because
4457 the component may depend on the discriminants of the enclosing record.
4458
4459 * i-cpp.ads, i-cpp.adb:
4460 This package has been left available for compatibility with previous
4461 versions of the frontend. As part of the new layout this is now a
4462 dummy package that uses declarations available at a-tags.ads
4463
4464 * par-ch3.adb (P_Identifier_Declarations): Give an error for use of
4465 "constant access" and "aliased [constant] access" when not compiling
4466 with -gnat05.
4467 Suppress Ada 2005 keyword warning if -gnatwY used
4468 (P_Identifier_Declarations): Add support for object declarations with
4469 access definitions.
4470 (Private_Extension_Declaration): Complete the documentation
4471 (P_Derived_Type_Def_Or_Private_Ext_Decl): Fill the inteface_list
4472 attribute in case of private extension declaration
4473 (P_Type_Declaration): Mark as "abstract" the type declarations
4474 corresponding with protected, synchronized and task interfaces
4475 (P_Declarative_Items): "not" and "overriding" are overriding indicators
4476 for a subprogram or instance declaration.
4477
4478 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Verify that an
4479 instantiation that is a dispatching operation has controlling access
4480 parameters that are null excluding.
4481 Save and restore Ada_Version_Explicit, for implementation of AI-362
4482 (Validate_Derived_Type_Instance): Add check for abstract interface
4483 types.
4484 (Analyze_Formal_Package): Establish Instantiation source for the copy of
4485 the generic that is created to represent the formal package.
4486 (Analyze_Package_Instantiation): Instantiate body immediately if the
4487 package is a predefined unit that contains inlined subprograms, and
4488 we are compiling for a Configurable_Run_Time.
4489 (Instantiate_Formal_Subprogram): Indicate that null default subprogram
4490 If the program has a null default, generate an empty body for it.
4491
4492 * sem_ch6.adb, sem_ch9.adb (Analyze_Subprograms_Declaration): Update
4493 error message condition, null procedures are correctly detected now.
4494 (New_Overloaded_Entity): Bypass trivial overriding indicator check
4495 for subprograms in the context of protected types. Instead, the
4496 indicator is examined in Sem_Ch9 while analysing the subprogram
4497 declaration.
4498 (Check_Overriding_Indicator): Check consistency of overriding indicator
4499 on subprogram stubs as well.
4500 (Analyze_Subprogram_Declaration): Diagnose null procedures declared at
4501 the library level.
4502 (Analize_Subprogram_Specification): When analyzing a subprogram in which
4503 the type of the first formal is a concurrent type, replace this type
4504 by the corresponding record type.
4505 (Analyze_Subprogram_Body): Undo the previous work.
4506 (Analyze_Procedure_Call): If the call has the form Object.Op, the
4507 analysis of the prefix ends up analyzing the call itself, after which
4508 we are done.
4509 (Has_Interface_Formals): New subprogram subsidiary to analyze
4510 subprogram_specification that returns true if some non
4511 class-wide interface subprogram is found
4512 (New_Overloaded_Entity): Modified to give support to abstract
4513 interface types
4514 (Conforming_Types): In Ada 2005 mode, conformance checking of anonymous
4515 access to subprograms must be recursive.
4516 (Is_Unchecked_Conversion): Improve the test that recognizes
4517 instantiations of Unchecked_Conversion, and allows them in bodies that
4518 are to be inlined by the front-end. When the body comes from an
4519 instantiation, a reference to Unchecked_Conversion will be an
4520 Expanded_Name, even though the body has not been analyzed yet.
4521 Replace Is_Overriding and Not_Overriding in subprogram_indication with
4522 Must_Override and Must_Not_Override, to better express intent of AI.
4523 (Analyze_Subprogram_Body): If an overriding indicator is given, check
4524 that it is consistent with the overrinding status of the subprogram
4525 at this point.
4526 (Analyze_Subprogram_Declaration): Indicate that a null procedure is
4527 always inlined.
4528 If the subprogram is a null procedure, indicate that it does not need
4529 a completion.
4530
4531 * sem_disp.adb (Check_Controlling_Type): Give support to entities
4532 available through limited-with clauses.
4533 (Check_Dispatching_Operation): A stub acts like a body, and therefore is
4534 allowed as the last primitive of a tagged type if it has no previous
4535 spec.
4536 (Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
4537 to give support to abstract interface types
4538
4539 * sem_res.adb (Valid_Conversion): Perform an accessibility level check
4540 in the case where the target type is an anonymous access type of an
4541 object or component (that is, when Is_Local_Anonymous_Access is true).
4542 Prevent the special checks for conversions of access discriminants in
4543 the case where the discriminant belongs to a nonlimited type, since
4544 such discriminants have their accessibility level defined in the same
4545 way as a normal component of an anonymous access type.
4546 (Resolve_Allocator): When an allocator's designated type is a class-wide
4547 type, check that the accessibility level of type given in the
4548 allocator's expression or subtype indication is not statically deeper
4549 than the level of the allocator's access type.
4550 (Check_Discriminant_Use): Diagnose discriminant given by an expanded
4551 name in a discriminant constraint of a record component.
4552 (Resolve_Explicit_Dereference): Do not check whether the type is
4553 incomplete when the dereference is a use of an access discriminant in
4554 an initialization procedure.
4555 (Resolve_Type_Conversion): Handle conversions to abstract interface
4556 types.
4557 (Valid_Tagged_Conversion): The conversion of a tagged type to an
4558 abstract interface type is always valid.
4559 (Valid_Conversion): Modified to give support to abstract interface types
4560 (Resolve_Actuals): Enable full error reporting on view conversions
4561 between unrelated by_reference array types.
4562 The rule for view conversions of arrays with aliased components is
4563 weakened in Ada 2005.
4564 Call to obsolescent subprogram is now considered to be a violation of
4565 pragma Restrictions (No_Obsolescent_Features).
4566 (Check_Direct_Boolean_Operator): If the boolean operation has been
4567 constant-folded, there is nothing to check.
4568 (Resolve_Comparison_Op, Resolve_Equality_Op, Resolve_Boolean_Op): Defer
4569 check on possible violation of restriction No_Direct_Boolean_Operators
4570 until after expansion of operands, to prevent spurious errors when
4571 operation is constant-folded.
4572
4573 * sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
4574 Has_Compatible_Type): Modified to give support to abstract interface
4575 types.
4576 (Interface_Present_In_Ancestor): New function to theck if some ancestor
4577 of a given type implements a given interface
4578
4579 * sem_ch4.adb (Analyze_Call): Handle properly an indirect call whose
4580 prefix is a parameterless function that returns an access_to_procedure.
4581 (Transform_Object_Operation): Handle properly function calls of the
4582 form Obj.Op (X), which prior to analysis appear as indexed components.
4583 (Analyze_One_Call): Complete the error notification to help new Ada
4584 2005 users.
4585 (Analyze_Allocator): For an allocator without an initial value, where
4586 the designated type has a constrained partial view, a discriminant
4587 constraint is illegal.
4588
4589 2005-06-14 Robert Dewar <dewar@adacore.com>
4590
4591 * a-textio.adb (Set_Col): Fix two errors noticed recently, having to
4592 do with treatment of Set_Col when positioned at end of line character.
4593
4594 2005-06-14 Robert Dewar <dewar@adacore.com>
4595
4596 * atree.adb: (Elist*): Protect against uninitialized field
4597
4598 2005-06-14 Ed Schonberg <schonberg@adacore.com>
4599
4600 * checks.adb (Install_Null_Excluding_Check): Do not generate checks
4601 for an attribute reference that returns an access type.
4602 (Apply_Discriminant_Check): No need for check if (designated) type has
4603 constrained partial view.
4604
4605 (Apply_Float_Conversion_Check): Generate a short-circuit expression for
4606 both bound checks, rather than a conjunction.
4607 (Insert_Valid_Check): If the expression is an actual that is an indexed
4608 component of a bit-packed array, force expansion of the packed element
4609 reference, because it is specifically inhibited elsewhere.
4610
4611 2005-06-14 Vincent Celier <celier@adacore.com>
4612
4613 * clean.adb (Clean_Project): Correctly delete executable specified as
4614 absolute path names.
4615
4616 * make.adb (Gnatmake): Allow relative executable path names with
4617 directory information even when project files are used.
4618 (Change_To_Object_Directory): Fail gracefully when unable to change
4619 current working directory to object directory of a project.
4620 (Gnatmake): Remove exception handler that could no longer be exercized
4621 (Compile_Sources.Compile): Use deep copies of arguments, as some of them
4622 may be deallocated by Normalize_Arguments.
4623 (Collect_Arguments): Eliminate empty arguments
4624
4625 * gnatcmd.adb (All_Projects): New Boolean flag, initialized to False,
4626 and set to True when -U is used for GNAT PRETTY or GNAT METRIC.
4627 (Check_Project): Return False when Project is No_Project. Return True
4628 when All_Projects is True.
4629 (GNATCmd): Recognize switch -U for GNAT PRETTY and GNAT METRIC and set
4630 All_Projects to True.
4631 Minor reformatting
4632
4633 2005-06-14 Ed Schonberg <schonberg@adacore.com>
4634 Javier Miranda <miranda@adacore.com>
4635 Thomas Quinot <quinot@adacore.com>
4636 Robert Dewar <dewar@adacore.com>
4637 Hristian Kirtchev <kirtchev@adacore.com>
4638 Gary Dismukes <dismukes@adacore.com>
4639
4640 * einfo.ads, einfo.adb (Is_Local_Anonymous_Access): New flag on
4641 anonymous access types, to indicate that the accessibility level of
4642 the type is determined by that of the enclosing declaration.
4643 (Has_Persistent_BSS): New flag
4644 (Set_Is_Primitive_Wrapper): Upgrade the barrier to allow the usage
4645 of this attribute with functions.
4646 (Is_Primitive_Wrapper): Remove the barrier.
4647 (Has_Specified_Stream_Input, Has_Specified_Stream_Output,
4648 Has_Specified_Stream_Read, Has_Specified_Stream_Write):
4649 New subprograms.
4650 (Set_Has_Specified_Stream_Input, Set_Has_Specified_Stream_Output,
4651 Set_Has_Specified_Stream_Read, Set_Has_Specified_Stream_Write):
4652 New subprograms.
4653 (Is_Pure_Unit_Access_Type): New flag
4654 (Abstract_Interfaces): Complete the assertion to cover all usages.
4655 (Set_Is_Interface): Complete the assertion to cover all usages.
4656 (Is_Primitive_Wrapper): New attribute.
4657 (Is_Obsolescent): Now applies to all entities (though it is only set
4658 for subprograms currently)
4659 New flag: Has_Constrained_Partial_View, to implemente Ada 2005 AI-363,
4660 which solves various problems concerning access subtypes.
4661 (Has_Persistent_BSS): New flag
4662 (Is_Primitive_Wrapper, Set_Primitive_Wrapper): Code cleanup.
4663 Remove these subprograms because this attribute is currently
4664 not used.
4665 New entity flags:
4666 Has_Specified_Stream_Input (Flag190)
4667 Has_Specified_Stream_Output (Flag191)
4668 Has_Specified_Stream_Read (Flag192)
4669 Has_Specified_Stream_Write (Flag193)
4670 Present in all type and subtype entities. Set for a given view if the
4671 corresponding stream-oriented attribute has been defined by an
4672 attribute definition clause. When such a clause occurs, a TSS is set
4673 on the underlying full view; the flags are used to track visibility of
4674 the attribute definition clause for partial or incomplete views.
4675 (Is_Pure_Unit_Access_Type): New flag
4676 Clarify use of Is_Internal.
4677 (Is_Primitive_Wrapper): New attribute present in primitive subprograms
4678 internally generated to wrap the invocation of tasks and protected
4679 types that implement interfaces.
4680 (Implementation_Base_Type): Documentation correction
4681 (Is_Obsolescent): Now applies to all entities (though it is only set
4682 for subprograms currently)
4683 New flag: Has_Constrained_Partial_View, to implement Ada 2005 AI-363,
4684 which solves various problems concerning access subtypes.
4685
4686 * exp_ch9.adb (Type_Conformant_Parameters): Introduce mode conformance
4687 for examined parameters. Identify unequal parameter list lengths as
4688 non-conformant parameters.
4689 (Overriding_Possible): Do not check for "All" qualifier in declaration
4690 of controlling access parameter, following prescription of AI-404.
4691 (Build_Entry_Wrapper_Spec, Build_Entry_Wrapper_Body): New subprograms
4692 that build the procedure body that wraps an entry invocation
4693 (Build_Corresponding_Record, Build_Protected_Sub_Specification,
4694 Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
4695 Expand_N_Task_Body, Expand_N_Task_Type_Declaration): Modified to
4696 give support to abstract interface types
4697
4698 * freeze.adb (Freeze_Entity): Issue error message if
4699 Is_Pure_Unit_Access_Type set, unless we are in Ada 2005 mode and the
4700 type has no storage pool (Ada 2005) AI-366.
4701 Also modified to give support to abstract interface types
4702 (Freeze_Subprogram): Issue an error for a dispatching subprogram with an
4703 Inline_Always pragma.
4704
4705 * par-ch9.adb (P_Task_Items): Reserved words "not" or "overriding" may
4706 now begin an entry declaration.
4707 (P_Entry_Or_Subprogram_With_Indicator): New procedure in
4708 P_Protected_Operation_Declaration_Opt. Parse an entry declaration or
4709 a subprogram declaration preceded by an overriding indicator.
4710 (P_Protected_Operation_Declaration_Opt): Add case for parsing entry
4711 declarations or subprogram declarations preceded by reserved words
4712 "not" or "overriding".
4713 (P_Entry_Declaration): Update comment. Parse and check overriding
4714 indicator, set semantic flags of entry declarations.
4715 (P_Task): New error message in case of private applied
4716 to a task type declaration.
4717 (P_Protected): New error message in case of private applied
4718 to a task type declaration.
4719
4720 * sem_ch7.adb (Preserve_Full_Attributes): Modified to handle the case
4721 in which the full view of a type implementing an interface is a
4722 concurrent type.
4723 (Has_Overriding_Pragma): Remove obsolete implementation of AI-218.
4724 Declare_Inherited_Private_Subprograms): If an explicit operation
4725 overrides an operation that is inherited in the private part, mark the
4726 explicit one as overriding, to enable overriding indicator checks.
4727 (Preserve_Full_Attributes): Propagate Is_Unchecked_Union attribute from
4728 full view to partial view, to simplify handling in back-end.
4729
4730 * sprint.adb: Print interface lists where needed: derived types,
4731 protected types, task types.
4732 output "is null" for null procedures. Part of implementation of
4733
4734 * sem_cat.adb (Validate_Access_Type_Declaration): Implement AI-366
4735 relaxation of rules for access types in pure, shared passive partitions.
4736
4737 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Reorganize to
4738 first read discriminants into temporary objects, performing checks on
4739 the read values, then possibly performing discriminant checks on the
4740 actual (if it is constrained), and only finally reading the components
4741 into a constrained temporary object.
4742 (Build_Elementary_Input_Call): Adjust the specific circuitry for the
4743 case of reading discriminants of a mutable record type to recognize
4744 the new form of the code generated by
4745 Build_Mutable_Record_Read_Procedure.
4746
4747 * exp_tss.ads, exp_tss.adb (Make_Init_Proc_Name): Reimplement in terms
4748 of a simple call to Make_TSS_Name.
4749 (Make_TSS_Name_Local): Add the TSS name as the last thing in the name
4750 buffer, in order for Is_TSS to work correctly on local TSS names.
4751
4752 * sem_attr.ads, sem_attr.adb (Resolve_Attribute, case 'Access): Use flag
4753 Is_Local_Anonymous_Access to check legaliy of attributes in the
4754 context of access components and stand-alone access objects.
4755 (Stream_Attribute_Available): In Ada 95 mode, a stream attribute is
4756 treated as available for a limited private type if there is an
4757 attribute_definition_clause that applies to its full view, but not in
4758 other cases where the attribute is available for the full view
4759 (specifically, the sole fact that the full view is non-limited does not
4760 make the attribute available for the partial view).
4761 (Build_Access_Subprogram_Type): Diagnose attempt to apply 'access to a
4762 non-overloaded intrinsic subprogram.
4763 (Check_Stream_Attribute): Reject an attribute reference for an
4764 unavailable stream attribute even if the prefix is not a limited type
4765 (case of a 'Input attribute reference for an abstract, non-classwide
4766 type)
4767 (Stream_Attribute_Available): New function to determine whether a stream
4768 attribute is available at a place.
4769 (Check_Attribute): Use Stream_Attribute_Available instead of just
4770 testing for TSS presence on the implementation base type.
4771 (Analyze_Attribute): Modified to give support to task interfaces.
4772 (Analyze_Access_Attribute): Add error check for use of an Access (or
4773 Unrestricted_Access) attribute with a subprogram marked as
4774 Inline_Always.
4775 (Analyze_Attribute, case Attribute_Address): Add error check for use of
4776 an Address attribute with a subprogram marked as Inline_Always.
4777 Update Eval_Attribute to handle new value of Width from AI-395
4778
4779 * sem_ch13.adb (Analyze_Stream_TSS_Definition): New subprogram.
4780 (Analyze_Attribute_Definition_Clause, cases Input, Output, Read, Write):
4781 Factor common code across the stream-oriented attribute circcuits into
4782 a new subprogram, Analyze_Stream_TSS_Definition. The new uniform
4783 processing is functionally identical to the previous duplicated one,
4784 except that an expression that denotes an abstract subprogram will now
4785 be rejected, as mandated by AI-195 item 5.
4786
4787 * sem_util.ads, sem_util.adb (Type_Access_Level): Use flag
4788 Is_Local_Anonymous_Access to apply accessibility checks to access
4789 components and stand-alone access objects.
4790 (Has_Discriminant_Dependent_Constraint): Moved to spec for use
4791 elsewhere.
4792 (Is_Potentially_Persistent_Type): New function
4793 (Is_Dependent_Component_Of_Mutable_Object): If the enclosing object is
4794 a heap-object whose type has a constrained partial view, the object is
4795 unconstrained and the component may depend on a discriminant, making its
4796 renaming illegal.
4797
4798 * sinfo.ads, sinfo.adb
4799 (Must_Not_Override): Flag applicable to N_Entry_Declaration.
4800 (Must_Override): Flag applicable to N_Entry_Declaration.
4801 Indicate that interface_list can appear in single task and single
4802 protected declarations.
4803 Replace Is_Overriding and Not_Overriding with Must_Override and
4804 Must_Not_Override, to better express intent of AI.
4805 Is_Overriding, Not_Overriding: Ada2005 flags that indicate the presence
4806 of an overriding indicator in a subprogram or instance.
4807 Ada 2005 (AI-248) Null_Present can appear in a procedure specification.
4808 Add the overriding indicator [[not] overriding] construct to the
4809 following grammar productions:
4810 ENTRY_DECLARATION
4811 GENERIC_INSTANTIATION
4812 SUBPROGRAM_SPECIFICATION
4813
4814 * par-ch10.adb (P_Compilation_Unit): Subprogram declaration or body
4815 can start with an overriding indicator.
4816
4817 * par-ch6.adb (P_Subprogram): Recognize overriding indicator, and set
4818 flags accordingly on subrogram specifications or instances.
4819
4820 * sem_ch8.adb:
4821 (Analyze_Subprogram_Renaming): For a renaming_as_body, verify that the
4822 overriding_indicator, if present, is consistent with status of spec.
4823 Improve error message for null-excluding checks on controlling access
4824 parameters.
4825 (Check_In_Previous_With_Clause): Protect the frontend against
4826 previously reported critical errors in the context clauses.
4827 Save and restore Ada_Version_Explicit, for implementation of AI-362
4828 (Analyze_Subprogram_Renaming): If the new entity is a dispatching
4829 operation verify that controlling formals of the renamed entity that
4830 are access parameters are explicitly non-null.
4831 (Find_Expanded_Name): Improve error message when prefix is an illegal
4832 reference to a private child unit.
4833
4834 * exp_imgv.adb, s-imgwch.ads, s-imgwch.adb, s-valwch.adb,
4835 s-valwch.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdwch.adb:
4836 Rewrite to correspond to new wide character names in AI-395
4837
4838 * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
4839 default procedures.
4840
4841 2005-06-14 Ed Schonberg <schonberg@adacore.com>
4842 Robert Dewar <dewar@adacore.com>
4843
4844 * errout.ads, errout.adb (Error_Msg_NW): Only emit warning on user
4845 code, not on the bodies of predefined operations, to cut down on
4846 spurious noise.
4847
4848 2005-06-14 Ed Schonberg <schonberg@adacore.com>
4849
4850 * exp_aggr.adb (Aggr_Size_OK): An array with no components can always
4851 be expanded in place. The size computation does not require a
4852 subtraction, which would raise an exception on a compiler built with
4853 assertions when the upper bound is Integer'first.
4854 (Flatten): For an array of composite components, take into account the
4855 size of the components to determine whether it is safe to expand the
4856 array into a purely positional representation.
4857
4858 2005-06-14 Thomas Quinot <quinot@adacore.com>
4859
4860 * exp_ch2.adb (Param_Entity): Take the case of an expanded_name
4861 denoting a formal parameter into account.
4862
4863 2005-06-14 Ed Schonberg <schonberg@adacore.com>
4864
4865 * exp_ch7.adb (Find_Node_To_Be_Wrapped): If the node appears within
4866 the entry_call alternative of a conditional entry call, wrap the
4867 conditional entry call itself.
4868
4869 2005-06-14 Nicolas Setton <setton@adacore.com>
4870 Ed Schonberg <schonberg@adacore.com>
4871
4872 * exp_dbug.ads, exp_dbug.adb (Get_Variant_Part): Fix the encoding of
4873 the "simple_choice" member in a variant record, in accordance with the
4874 description in the package spec: the information output for a constant
4875 should be "S number", not "SS number".
4876 (Get_Encoded_Name): Return at once if not generating code. Avoids name
4877 overflow problem when compiling with -gnatct, for ASIS/gnatmetrics.
4878
4879 2005-06-14 Thomas Quinot <quinot@adacore.com>
4880
4881 * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): For an
4882 RACW without any primitives, do not generate the if statement for
4883 dispatching by name in the PolyORB/DSA case, as it would be malformed
4884 (it would have an Elsif_Parts list that is not No_List, but with a
4885 length of 0).
4886
4887 2005-06-14 Robert Dewar <dewar@adacore.com>
4888
4889 * exp_intr.adb, par-ch5.adb: Minor fix to error message text
4890
4891 2005-06-14 Jose Ruiz <ruiz@adacore.com>
4892
4893 * fe.h: Add entry for Opt.Exception_Locations_Suppressed so that gigi
4894 can determine whether pragma Suppress_Exception_Locations is in effect.
4895
4896 * utils2.c (build_call_raise): Do not pass the file name to the
4897 exception handler if pragma Suppress_Exception_Locations is in effect.
4898 (build_allocator): Add and process arg IGNORE_INIT_TYPE.
4899
4900 2005-06-14 Emmanuel Briot <briot@adacore.com>
4901
4902 * g-debpoo.adb (Deallocate, Dereference): Improve output.
4903
4904 2005-06-14 Nicolas Roche <roche@adacore.com>
4905
4906 * g-diopit.adb (Wildcard_Iterator): Return directly if Path is equal
4907 to ""
4908 (Next_Level): Fix minor bug in handling of ../dir case
4909 (Read): Add dir separator to Directory name so that "" is understood as
4910 "/"
4911
4912 2005-06-14 Pascal Obry <obry@adacore.com>
4913
4914 * g-dynhta.ads, g-dynhta.adb (Reset): Free the table itself after
4915 releasing the items.
4916
4917 2005-06-14 Vincent Celier <celier@adacore.com>
4918 Cyrille Comar <comar@adacore.com>
4919
4920 * g-os_lib.ads, g-os_lib.adb (Non_Blocking_Spawn): Two new versions
4921 with output file descriptor and with output file name.
4922 (Dup, Dup2): Now global procedures as they are used by two subprograms
4923 (Copy): Allocate the 200K buffer on the heap rather than on the stack.
4924
4925 2005-06-14 Thomas Quinot <quinot@adacore.com>
4926
4927 PR ada/6717
4928
4929 * g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
4930 broadcast address.
4931 (Create_Selector): Bind listening socket used to create the signalling
4932 socket pair to 127.0.0.1 to limit the scope for 'theft' of connection.
4933 Set listen backlog to 1 to ensure that we detect socket theft by a
4934 failure of our own connect(2) call.
4935 (Check_Selector): Improve documentation of the selector mechanism.
4936 (Broadcast_Inet_Addr): New constant.
4937
4938 2005-06-14 Gary Dismukes <dismukes@adacore.com>
4939
4940 * layout.adb (Discrimify): Remove resetting of Vtype to the underlying
4941 type which turns out to be an incomplete and incorrect fix.
4942 (Layout_Array_Type): Use Underlying_Type when checking whether the scope
4943 of the type is declared in a record (for determination of insertion
4944 type).
4945 (SO_Ref_From_Expr): Test whether Vtype denotes a partial or full view of
4946 a private type and ensure that the primary entity is used for the type
4947 of the newly created function's V formal by taking the Etype of the
4948 view.
4949
4950 2005-06-14 Javier Miranda <miranda@adacore.com>
4951 Jose Ruiz <ruiz@adacore.com>
4952 Robert Dewar <dewar@adacore.com>
4953 Ed Schonberg <schonberg@adacore.com>
4954
4955 * lib-load.ads, lib-load.adb (Load_Unit): Addition of a new parameter
4956 that indicates if we are parsing a compilation unit found in a
4957 limited-with clause.
4958 It is use to avoid the circularity check.
4959
4960 * par.ads, par.adb (Par): Addition of a new parameter to indicate if
4961 we are parsing a compilation unit found in a limited-with clause. This
4962 is use to avoid the circularity check.
4963
4964 * par-load.adb (Load): Indicate Lib.Load_Unit if we are loading the
4965 unit as a consequence of parsing a limited-with clause. This is used
4966 to avoid the circularity check.
4967
4968 * sem_ch10.adb: Suppress Ada 2005 unit warning if -gnatwY used
4969 (Analyze_Context): Limited-with clauses are now allowed
4970 in more compilation units.
4971 (Analyze_Subunit_Context, Check_Parent): Protect the frontend
4972 againts previously reported critical errors in context clauses
4973 (Install_Limited_Withed_Unit): Code cleanup plus static detection
4974 of two further errors: renamed subprograms and renamed packages
4975 are not allowed in limited with clauses.
4976 (Install_Siblings): Do not install private_with_clauses on the package
4977 declaration for a non-private child unit.
4978 (Re_Install_Parents): When a parent of the subunit is reinstalled,
4979 reset visibility of child units properly.
4980 (Install_Withed_Unit): When a child unit appears in a with_clause of its
4981 parent, it is immediately visible.
4982
4983 2005-06-14 Ed Schonberg <schonberg@adacore.com>
4984 Emmanuel Briot <briot@adacore.com>
4985
4986 * lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
4987 declared within an inlined body as referenced, to prevent spurious
4988 warnings.
4989 (Output_One_Ref): If an entity renames an array component, indicate in
4990 the ALI file that this aliases (renames) the array. Capture as well
4991 function renamings that rename predefined operations.
4992 Add information about generic parent for package and subprogram
4993 instances.
4994 (Get_Type_Reference): For a subtype that is the renaming of an actual in
4995 an instantiation, use the first_subtype to ensure that we don't generate
4996 cross-reference information for internal types.
4997 For objects and parameters of a generic private type, retain the '*'
4998 indicator to distinguish such an entity from its type.
4999
5000 * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
5001 to store information about instantiated entities.
5002
5003 * ali.adb (Scan_ALI): Add support for parsing the reference to the
5004 generic parent
5005
5006 * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
5007 (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
5008 information.
5009
5010 2005-06-10 Doug Rupp <rupp@adacore.com>
5011 Arnaud Charlet <charlet@adacore.com>
5012 Olivier Hainque <hainque@adacore.com>
5013 Jose Ruiz <ruiz@adacore.com>
5014
5015 * Make-lang.in: Add initialize.o when needed.
5016 Remove obsolete references to RT_FLAGS.
5017 Add missing dependencies for sdefault.o
5018
5019 * initialize.c: New file.
5020
5021 * init.c [VMS] Declare ADA$ externs weak to fix build problem in IVMS.
5022 [VMS] cond_signal_table: Fix problem in declaration.
5023 [VMS] __gnat_error_handler: rewrite.
5024 Move all __gnat_initialize() routines to initialize.c
5025 Specialize the former "hpux" section to "hppa hpux", as this is what the
5026 section really is here for and we now have other hpux ports that need
5027 different contents.
5028 (__gnat_adjust_context_for_raise) i386-linux: First version of this
5029 function for this target. Adjust PC by one in the machine context. This
5030 adjustment was previously done in the MD_FALLBACK_FRAME_STATE_FOR, but
5031 it is more reliable to do that in the signal handler itself.
5032 (__gnat_install_handler) i386-linux: Set SA_SIGINFO in the sigaction
5033 flags, so that the handler is passed the context structure to adjust
5034 prior to the raise.
5035 (__gnat_error_handler) i386-linux: Adjust the signature to match what a
5036 SA_SIGINFO sigaction should look like. Call
5037 __gnat_adjust_context_for_raise before actually raising. Cleanup unused
5038 Machine_State_Operations stuff.
5039 Add conditional code so that the x86_64 is also supported.
5040
5041 2005-06-14 Pascal Obry <obry@adacore.com>
5042
5043 * mdll.adb (Get_Dll_Name): New routine that returns the DLL name given
5044 the library name.
5045
5046 2005-06-14 Robert Dewar <dewar@adacore.com>
5047
5048 * opt.ads, opt.adb: New flags for persistent_bss mode
5049 Add Ada_Version_Explicit, for implementation of AI-362
5050 Add Assertions_Enabled_Config and associated handling
5051 Needed since setting can be changed with Assertion_Policy pragma
5052 Add new flag Warn_On_Ada_2005_Compatibility
5053
5054 * switch-c.adb: Recognize -gnatwy/Y
5055 Set Ada_Version_Explicit, for implementation of AI-362
5056 The -gnatg switch now includes -gnatyu
5057
5058 * usage.adb: Add -gnatwy/Y
5059 Remove wrong asterisk on -gnatwX line
5060 Add line for -gnatyu switch
5061
5062 2005-06-14 Vincent Celier <celier@adacore.com>
5063
5064 * osint.adb (Add_Default_Search_Dirs): Put source and object
5065 directories of project files before directories coming from
5066 ADA_INCLUDE_PATH and ADA_OBJECTS_PATH.
5067
5068 2005-06-14 Robert Dewar <dewar@adacore.com>
5069
5070 PR ada/15613
5071
5072 * par-ch2.adb (Scan_Pragma_Argument): New procedure
5073 (P_Pragma): Implement RM 2.8(4) check for no pos args after named args
5074
5075 2005-06-14 Vincent Celier <celier@adacore.com>
5076
5077 * prep.adb (Preprocess): Ignore error when scanning the first token of
5078 a line.
5079
5080 2005-06-14 Vincent Celier <celier@adacore.com>
5081
5082 * prj-nmsc.adb (Suffix_For): Change default suffix for C++ to ".cpp"
5083 (Check_Stand_Alone_Library): If the specified reference symbol file does
5084 not exist, only issue a warning when the symbol policy is not
5085 Controlled. And, when symbol policy is Compliant, set the symbol
5086 policy to Autonomous.
5087
5088 2005-06-14 Vincent Celier <celier@adacore.com>
5089
5090 * prj-part.adb (Pre_Parse_Context_Clause): Call Set_Is_Not_Last_In_List
5091 when the project file in a with clause is not the last one, that is the
5092 project file name is followed by a comma.
5093 * prj-pp.adb: (First_With_In_List): New Boolean global variable
5094 (Print): Issue list of project files separated by commas in with clauses
5095 according to the values returned by Is_Not_Last_In_List.
5096 * prj-tree.ads, prj-tree.adb: (Is_Not_Last_In_List): New function
5097 (Set_Is_Not_Last_In_List): New procedure
5098
5099 2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
5100
5101 * s-atacco.ads: Put a pragma No_Strict_Aliasing on Object_Pointer.
5102
5103 2005-06-14 Robert Dewar <dewar@adacore.com>
5104
5105 * scng.adb: Add call to new Check_EOF routine
5106 (Accumulate_Checksum): Properly handle wide wide char >= 2 ** 24
5107 Add some comments regarding wide character handling
5108
5109 * style.ads, styleg.ads, styleg.adb: Implement new style switch -gnatyu
5110
5111 * stylesw.ads, stylesw.adb: Implement new style switch -gnatyu
5112
5113 * g-utf_32.ads, g-utf_32.adb (Is_UTF_32_Non_Graphic): Other_Format
5114 characters are now considered graphic characters and hence yield false
5115 in this call.
5116
5117 * nmake.adt: Modify header so that xnmake does not generate output
5118 files with multiple blank lines.
5119
5120 * treeprs.adt: Remove a blank line so that output from xtreeprs does
5121 not have an extra blank line
5122
5123 2005-06-14 Gary Dismukes <dismukes@adacore.com>
5124
5125 * sem_aggr.adb (Aggregate_Constraint_Checks): Apply a conversion to the
5126 expression when the component type is an anonymous access type to
5127 ensure that appropriate accessibility checks are done.
5128
5129 * sem_ch5.adb (Analyze_Assignment): Apply a implicit conversion to the
5130 expression of an assignment when the target object is of an anonymous
5131 access type. This ensures that required accessibility checks are done.
5132 (One_Bound): Move the check for type Universal_Integer to
5133 Process_Bounds.
5134 (Process_Bounds): Check whether the type of the preanalyzed range is
5135 Universal_Integer, and in that case set Typ to Integer_Type prior
5136 to setting the type of the original range and the calls to One_Bound.
5137
5138 2005-06-14 Ed Schonberg <schonberg@adacore.com>
5139
5140 * sem_case.adb (Expand_Others_Choice): Improve warning.
5141
5142 2005-06-14 Ed Schonberg <schonberg@adacore.com>
5143
5144 * sem_eval.adb (Subtypes_Statically_Match): Use discriminant
5145 constraint of full view if present, when other type is discriminated.
5146 (Eval_Relational_Op): Recognize tests of pointer values against Null,
5147 when the pointer is known to be non-null, and emit appropriate warning.
5148
5149 2005-06-14 Robert Dewar <dewar@adacore.com>
5150 Ed Schonberg <schonberg@adacore.com>
5151
5152 PR ada/10671
5153
5154 * sem_prag.adb: Implement pragma Persistent_BSS
5155 Remove obsolete pragma Persistent_Data, Persistent_Object
5156 Set Ada_Version_Explicit, for implementation of AI-362
5157 Test Ada_Version_Explicit for Preelaborate_05 and Pure_05
5158 Add processing for pragma Pure_05 and Preelaborate_05
5159 Add processing for Assertion_Policy pragma
5160 Add pragma identifiers for Assert
5161 (Analyze_Pragma, case Assert): Check number of arguments
5162 (Process_Inline): Additional guard against an illegal program, where the
5163 argument of the pragma is undefined, and warnings on redundant
5164 constructs are enabled.
5165 (Analyze_Pragma, case Obsolescent): Allow an optional second argument
5166 Ada_05 to this pragma, specifying that the pragma is only active in
5167 Ada_05 mode.
5168 (Check_Arg_Order): New procedure
5169 Add appropriate calls to this procedure throughout
5170 Also throughout, check entity name before doing any other checks
5171
5172 * snames.h snames.ads, snames.adb: Add pragma Persistent_BSS
5173 Remove obsolete pragma Persistent_Data, Persistent_Object
5174 Add entries for pragma Pure_05 and Preelaborate_05
5175 Add entries for Assertion_Policy pragma and associated names
5176 Add some names for pragma argument processing
5177
5178 * tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function
5179
5180 2005-06-14 Ed Schonberg <schonberg@adacore.com>
5181
5182 * sem_warn.adb (Warn_On_Known_Condition): If the constant expression
5183 appears within a negation (either from source or as a rewriting of
5184 inequality) adjust text of warning accordingly.
5185
5186 2005-06-14 Thomas Quinot <quinot@adacore.com>
5187
5188 * s-strxdr.adb: Follow AI95-00132
5189
5190 2005-06-14 Arnaud Charlet <charlet@adacore.com>
5191
5192 * s-tasren.adb (Exceptional_Complete_Rendezvous): Fix race condition.
5193
5194 2005-06-14 Arnaud Charlet <charlet@adacore.com>
5195 Jose Ruiz <ruiz@adacore.com>
5196
5197 * s-tposen.adb, s-tpobop.adb
5198 (Exceptional_Complete_Rendezvous): Save the occurrence and not only
5199 the exception id.
5200 (PO_Do_Or_Queue): Before queuing a task on an entry queue we check that
5201 there is no violation of the Max_Entry_Queue_Length restriction (if it
5202 has been set); Program_Error is raised otherwise.
5203 (Requeue_Call): Before requeuing the task on the target entry queue we
5204 check that there is no violation of the Max_Entry_Queue_Length
5205 restriction (if it has been set); Program_Error is raised otherwise.
5206
5207 2005-06-14 Robert Dewar <dewar@adacore.com>
5208
5209 * styleg.adb: Fix several remaining problems in -gnatyu switch
5210 Blank line count not reset at start
5211 Scanning outside source buffer in some cases
5212 Confusing message for blanks at end of file
5213 Non-empty blank lines not recognized
5214
5215 * nmake.adt: Modify header so that xnmake does not generate output
5216 files with multiple blank lines.
5217
5218 * treeprs.adt: Remove a blank line so that output from xtreeprs does
5219 not have an extra blank line
5220
5221 2005-06-14 Sergey Rybin <rybin@adacore.com>
5222
5223 * styleg-c.adb (Body_With_No_Spec): Remove ':' from warning message.
5224
5225 2005-06-14 Doug Rupp <rupp@adacore.com>
5226 Vincent Celier <celier@adacore.com>
5227
5228 * vms_conv.ads, vms_conv.adb: Remove "Library" command.
5229 Update copyright.
5230
5231 * vms_data.ads: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
5232 Remove "Library" command.
5233 Change keyword for style check -gnatyd from NOCRLF to
5234 DOS_LINE_ENDINGS.
5235 Remove useless second style check keyword NONE
5236 Remove help documentation for inexistent style check keyword
5237 RM_COLUMN_LAYOUT.
5238 Add help documentation for style check keywords DOS_LINE_ENDINGS,
5239 UNNECESSARY_BLANK_LINES and XTRA_PARENS
5240 Add UNNECESSARY_BLANK_LINES for -gnatyu
5241 Add qualifiers /ALL_PROJECTS (-U) for GNAT PRETTY and GNAT METRIC
5242
5243 * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
5244
5245 2005-06-14 Vincent Celier <celier@adacore.com>
5246
5247 * makegpr.adb (Compile_Link_With_Gnatmake): Invoke gnatmake with -d if
5248 gprmake was invoked with -d.
5249 (Compile_Sources): If -d was used, output the "completed ..." message
5250 for each compilation.
5251 (Scan_Arg): Recognize new switch -d
5252 When -c and at least one main is specified, set
5253 Unique_Compile to True to guarantee that no other sources will be
5254 compiled.
5255
5256 2005-06-14 Matthew Heaney <heaney@adacore.com>
5257
5258 * a-swunha.ads, a-swunha.adb: Removed. Replaced by a-swuwha.ad[sb]
5259 * a-swuwha.ads, a-swuwha.adb: New files
5260
5261 * a-szunha.ads, a-szunha.adb: Removed, replaced by a-szuzha.ad[sb]
5262 * a-szuzha.ads, a-szuzha.adb: New files.
5263
5264 * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
5265 a-crbtgk.adb, a-crbltr.ads, a-coorse.ads, a-coorse.adb, a-convec.ads,
5266 a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohata.ads, a-cohama.ads,
5267 a-cohama.adb, a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
5268 a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
5269 a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb,
5270 a-cohase.ads, a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads,
5271 a-swunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb, a-shcain.ads,
5272 a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads, a-stwiha.adb,
5273 a-strhas.adb, a-stzhas.adb: synchronized to the latest version of the
5274 Ada 2005 RM.
5275
5276 2005-06-10 Eric Botcazou <ebotcazou@adacore.com>
5277 Olivier Hainque <hainque@adacore.com>
5278 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5279 Pascal Obry <obry@adacore.com>
5280
5281 * gigi.h: (build_allocator): Add arg IGNORE_INIT_TYPE.
5282
5283 * trans.c (call_to_gnu): Issue a warning for users of Starlet when
5284 making a temporary around a procedure call because of non-addressable
5285 actual parameter.
5286 (process_freeze_entity): If entity is a private type, capture size
5287 information that may have been computed for the full view.
5288 (tree_transform, case N_Allocator): If have initializing expression,
5289 check type for Has_Constrained_Partial_View and pass that to
5290 build_allocator.
5291 (tree_transform, case N_Return_Statement): Pass extra arg to
5292 build_allocator.
5293
5294 * decl.c (annotate_value): Remove early return if -gnatR is not
5295 specified.
5296 (gnat_to_gnu_field): Don't make a packable type for a component clause
5297 if the position is byte aligned, the field is aliased, and the clause
5298 size isn't a multiple of the packable alignment. It serves no useful
5299 purpose packing-wise and would be rejected later on.
5300 (gnat_to_gnu_entity, case object): Pass extra arg to build_allocator.
5301
5302 PR ada/20515
5303 (gnat_to_gnu_entity): Remove use of macro _WIN32 which is wrong in the
5304 context of cross compilers. We use TARGET_DLLIMPORT_DECL_ATTRIBUTES
5305 instead.
5306 (create_concat_name): Idem.
5307
5308 2005-06-10 Robert Dewar <dewar@adacore.com>
5309 Eric Botcazou <ebotcazou@adacore.com>
5310 Ben Brosgol <brosgol@adacore.com>
5311 Cyrille Comar <comar@adacore.com>
5312 Sergey Rybin <rybin@adacore.com>
5313 Pascal Obry <obry@adacore.com>
5314
5315 * gnat_rm.texi: Add documentation for pragma Persistent_BSS
5316 Document second argument (Ada_05) of pragma Obsolescent
5317 Add note that call to subprogram marked with pragma Obsolescent
5318 is now considered to be a violation of program Restrictions
5319 (No_Obsolescent_Features).
5320 (Implementation Defined Pragmas) <Machine_Attribute>: Make it clear
5321 that only machine-dependent attributes are supported.
5322
5323 * gnat_ugn.texi:
5324 Commented out menu lines and empty section for gnatclean examples
5325 Document -gnatwy/Y
5326 Fix some over long lines
5327 Clarify and enhance documentation of ADA_PROJECT_PATH.
5328 Rework section 2.11.2(3) about linking with a non-GNU compiler.
5329 Mention new switch -fcallgraph-info.
5330 Mention new switch -fstack-usage.
5331 For gnatpp, replace '-notab' with '-N' and add this option to Index
5332 Corrected VMS example.
5333 VMS keyword for style check -gnatyd is DOS_LINE_ENDINGS, no NOCRLF
5334 Minor reformatting
5335 Add documentation for -gnatyu switch (unnecessary blank lines)
5336 Document new switch -U for GNAT PRETTY and GNAT METRIC
5337 Add note about Stdcall being handled as C convention on non Windows OS.
5338 Remove some junk typo in description of gnatbind -S switch
5339 Remove reference to Extensions_Allowed pragma
5340 Document the new order of the directories to be searched (source and
5341 object directories of project files before directories in ADA_*_PATH
5342 environment variables.
5343
5344 * g-trasym.ads: Document that IRIX is supported
5345
5346 2005-06-10 Arnaud Charlet <charlet@adacore.com>
5347
5348 * Makefile.in: Add initialize.o when needed.
5349 Adapt to new VMS package body Symbols and subunits
5350 No specialized version of a-sytaco is needed for VxWorks.
5351
5352 * a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files.
5353 * a-zchara.ads, a-widcha.ads: New files.
5354
5355 * system-hpux-ia64.ads: New file.
5356
5357 * i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which
5358 is imported from the VxWorks kernel.
5359
5360 2005-06-14 Robert Dewar <dewar@adacore.com>
5361
5362 * g-soliop-mingw.ads, g-soccon-vms.adb, a-swmwco.ads, exp_smem.adb,
5363 fmap.adb, a-szmzco.ads, s-traent-vms.adb, s-traent-vms.ads,
5364 a-direio.ads, a-exctra.ads, a-exexda.adb, a-exextr.adb, a-stream.ads,
5365 s-restri.ads, s-restri.adb, s-traent.adb, s-traent.ads, a-slcain.adb,
5366 a-stzhas.ads, a-tiinau.adb, comperr.adb, exp_ch11.adb, g-boubuf.adb,
5367 g-calend.adb, g-debpoo.ads, g-moreex.ads, gprep.adb, g-regpat.ads,
5368 i-cexten.ads, i-os2thr.ads, makeutl.ads, memroot.adb, mlib-prj.adb,
5369 namet.adb, namet.ads, prj-makr.adb, prj-proc.adb, sem_dist.adb,
5370 sem_elim.ads, s-valint.adb, s-vallli.adb, s-vallli.adb, s-vallli.ads,
5371 s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, scn.adb,
5372 s-tasinf.adb, targparm.adb, uname.adb, uname.ads, xnmake.adb,
5373 xsinfo.adb, a-direct.ads: Remove extra blank lines. Minor reformatting.
5374
5375 2005-06-14 Thomas Quinot <quinot@adacore.com>
5376
5377 * xeinfo.adb: Fix typo in comment
5378
5379 2005-06-14 Javier Miranda <miranda@adacore.com>
5380
5381 * repinfo.ads: Fix typo in comment
5382
5383 2005-06-14 Gary Dismukes <dismukes@adacore.com>
5384
5385 * s-finimp.adb (Parent_Tag): Delete this imported function (function
5386 Parent_Tag is now in the visible part of Ada.Tags).
5387 (Get_Deep_Controller): Call Ada.Tags.Parent_Tag directly instead of
5388 using imported function.
5389
5390 2005-06-14 Bernard Banner <banner@adacore.com>
5391
5392 * vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should
5393 also apply for handling support for VxSim 653.
5394
5395 2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
5396
5397 * xsnames.adb: Add automatic generation of snames.h.
5398
5399 2005-06-14 Thomas Quinot <quinot@adacore.com>
5400
5401 * gen-soccon.c: Add IP_MULTICAST_IF constant
5402 Minor reformatting and adjustments to prevent warnings.
5403
5404 2005-06-14 Pascal Obry <obry@adacore.com>
5405
5406 * seh_init.c: Do not include <sys/stat.h>. This is not needed.
5407
5408 2005-06-03 Andrew Pinski <pinskia@physics.uc.edu>
5409
5410 * trans.c (gnat_gimplify_expr): Call
5411 recompute_tree_invarant_for_addr_expr when we change
5412 the operand of the ADDR_EXPR.
5413
5414 2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5415
5416 * misc.c: Don't include errors.h.
5417
5418 2005-05-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5419
5420 * raise.c (db): Add ATTRIBUTE_PRINTF_2.
5421
5422 2005-05-29 Kazu Hirata <kazu@cs.umass.edu>
5423
5424 * cal.c, decl.c, init.c, raise.c, trans.c, utils2.c: Fix
5425 comment typos.
5426 * gnat_rm.texi, gnat_ugn.texi: Fix typos.
5427
5428 2005-05-16 Nathanael Nerode <neroden@gcc.gnu.org>
5429
5430 PR ada/20270
5431 * Makefile.in: Make TGT_LIB behave correctly.
5432
5433 2005-04-23 DJ Delorie <dj@redhat.com>
5434
5435 * misc.c: Adjust warning() callers.
5436
5437 2005-04-16 Laurent GUERBY <laurent@guerby.net>
5438
5439 PR ada/18847
5440 * a-nudira.adb (Value): Check for valid string.
5441 * a-nuflra.adb (Value): Likewise.
5442
5443 2005-04-11 Richard Sandiford <rsandifo@redhat.com>
5444
5445 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
5446
5447 2005-04-10 Kazu Hirata <kazu@cs.umass.edu>
5448
5449 * adaint.c, init.c, tracebak.c: Fix comment typos.
5450 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.
5451
5452 2005-04-07 Laurent GUERBY <laurent@guerby.net>
5453 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5454
5455 * Makefile.in: Add make ifeq define for hppa linux tasking support.
5456 * system-hpux.ads: Define Signed_Zeros to be True.
5457 * system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files.
5458
5459 2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
5460
5461 * adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
5462 raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment
5463 typos.
5464
5465 2005-03-30 Tom Tromey <tromey@redhat.com>
5466
5467 * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
5468
5469 2005-03-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
5470
5471 * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
5472
5473 2005-03-29 Robert Dewar <dewar@adacore.com>
5474
5475 * sem_res.adb (Resolve_Real_Literal): Generate warning if static
5476 fixed-point expression has value that is not a multiple of the Small
5477 value.
5478
5479 * opt.ads (Warn_On_Bad_Fixed_Value): New flag
5480
5481 * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
5482 nanoseconds.
5483
5484 * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
5485
5486 2005-03-29 Vincent Celier <celier@adacore.com>
5487
5488 * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
5489 (Build_Dynamic_Library.Version_String): Return the empty string when
5490 Lib_Version is empty or when the symbol policy is not Autonomous.
5491
5492 * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
5493 a symbol is not in the reference symbol file, increase the Major ID
5494 and set the Minor ID to 0.
5495 Use gsmatch=lequal instead of gsmatch=equal
5496
5497 2005-03-29 Doug Rupp <rupp@adacore.com>
5498
5499 * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
5500 name and translate.
5501
5502 2005-03-29 Javier Miranda <miranda@adacore.com>
5503
5504 * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
5505 (Inherit_DT): The first formal has been redefined as a Tag.
5506 This allows us the removal of the subprogram Get_TSD.
5507 (TSD): Replace the call to Get_TSD by the actual code.
5508
5509 * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
5510 (Make_DT): Upgrade the call to Inherit_TSD according to the
5511 new interface: the first formal is now a Tag.
5512
5513 * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
5514 redefined as a Tag.
5515 This change allows us to remove the subprogram Get_TSD.
5516 (CPP_Get_TSD): Subprogram removed.
5517 (TSD): Replace the call to CPP_Get_TSD by the actual code.
5518
5519 * rtsfind.ads: Remove support to call the run-time
5520 subprogram Get_TSD
5521
5522 2005-03-29 Robert Dewar <dewar@adacore.com>
5523
5524 * errutil.adb, errout.adb:
5525 Minor comment updates on Line_Terminator references
5526
5527 * par-ch10.adb: Add ??? comment about line terminator
5528
5529 * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
5530 (check dos line terminator).
5531 (Check_Line_Max_Length): New procedure, split off from the existing
5532 Check_Line_Terminator routine. Separating this out allows -gnatyf to
5533 be properly recognized.
5534
5535 * styleg.adb: Add ??? comment for line terminator reference
5536
5537 * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
5538 (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
5539
5540 * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
5541 (check dos line terminator).
5542 (Check_Line_Max_Length): New procedure, split off from the existing
5543 Check_Line_Terminator routine. Separating this out allows -gnatyf to
5544 be properly recognized.
5545
5546 * stylesw.ads, stylesw.adb:
5547 Add handling for new -gnatyd switch (check dos line terminator)
5548
5549 * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
5550 Recognize -gnatwb/-gnatwB switches
5551 Include Warn_On_Bad_Fixed_Value for -gnatg
5552
5553 * usage.adb:
5554 Add line for new -gnatyd switch (check dos line terminator)
5555
5556 * usage.adb: Add lines for -gnatwb/-gnatwB
5557
5558 * vms_data.ads: Add entry for NOCRLF (-gnatyd)
5559
5560 * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
5561
5562 * gnat_ugn.texi: Fix overlong lines
5563 Document new -gnatyd switch
5564 Document new -gnatwb/-gnatwB switches
5565
5566 2005-03-29 Ed Schonberg <schonberg@adacore.com>
5567
5568 * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
5569 order to retrieve the component list of the type, before examining
5570 individual components.
5571
5572 * sem_type.adb (Covers): Types are compatible if one is the base type
5573 of the other, even though their base types might differ when private
5574 views are involved.
5575
5576 2005-03-29 Thomas Quinot <quinot@adacore.com>
5577
5578 * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
5579 To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
5580 of using Set_Renaming_TSS. This ensures that the TSS bodies are not
5581 analyzed if expansion is disabled (which could otherwise cause spurious
5582 error messages if expansion has been disabled due to previous
5583 (unrelated) errors).
5584
5585 * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
5586 is disabled, the entity denoted by the argument is the access type
5587 itself, not an underlying record type, so there is no need to go back
5588 to the Corresponding_Remote_Type.
5589
5590 2005-03-29 Gary Dismukes <dismukes@adacore.com>
5591 Robert Dewar <dewar@adacore.com>
5592
5593 * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
5594 expand a call to an instance of
5595 Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
5596 Constructor actual of the instance. A class-wide membership
5597 check is also generated, to ensure that the tag passed to the instance
5598 denotes a type in the class.
5599 (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
5600 of Name_Generic_Dispatching_Constructor.
5601
5602 * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
5603 05 unit for AI-260-02).
5604
5605 * a-tgdico.ads: New file.
5606
5607 * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
5608 predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
5609
5610 * snames.ads, snames.adb (Preset_Names): Add entry for
5611 Generic_Dispatching_Constructor.
5612
5613 PR ada/20300
5614
5615 * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
5616 character type cases.
5617 (Analyze_Subprogram_Renaming): Add special handling for
5618 the case of renaming of stream attributes when the renaming denotes a
5619 generic formal subprogram association for an abstract formal subprogram.
5620 Check that the attribute is a primitive stream attribute (and not
5621 a class-wide stream attribute) and then rewrite the attribute name
5622 as the name of the appropriate compiler-generated stream primitive.
5623
5624 2005-03-29 Robert Dewar <dewar@adacore.com>
5625
5626 * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
5627 recursive calls.
5628 (Is_Possibly_Unaligned_Object): Correct typo that
5629 resulted in inaccurate result for unaligned scalars within records.
5630
5631 2005-03-29 Ed Schonberg <schonberg@adacore.com>
5632
5633 * freeze.adb (Freeze_Record_Type): If the type of the component is an
5634 itype whose parent is controlled and not yet frozen, do not create a
5635 freeze node for the itype if expansion is disabled.
5636
5637 2005-03-29 Vincent Celier <celier@adacore.com>
5638
5639 * make.adb (Gnatmake): Don't fail if the main project file is declared
5640 as having no Ada sources. Do not display message "no sources to
5641 compile" in quiet output.
5642
5643 2005-03-29 Doug Rupp <rupp@adacore.com>
5644
5645 * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
5646 extra tools.
5647
5648 2005-03-29 Robert Dewar <dewar@adacore.com>
5649
5650 * par-ch12.adb (P_Generic): Give better msg for illegal private generic
5651 child.
5652
5653 2005-03-29 Robert Dewar <dewar@adacore.com>
5654
5655 * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
5656 missing TYPE Improve the error message generated when compiling a
5657 limited interface in Ada83 or Ada95 mode.
5658
5659 2005-03-29 Robert Dewar <dewar@adacore.com>
5660
5661 * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
5662 rather than proceed ahead using a junk attribute name.
5663
5664 2005-03-29 Vincent Celier <celier@adacore.com>
5665
5666 * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
5667
5668 * prj-part.adb (Parse_Single_Project): Set the location of a project
5669 on its defining identifier, rather than on the reserved word "project".
5670
5671 * prj-proc.adb (Expression): Adapt to the fact that default of external
5672 references may be string expressions, not always literal strings.
5673 (Recursive_Process): Set Display_Name equal to Name
5674 when Location is No_Location, that is when there is no actual file.
5675 Get the Display_Name of the project from the source, when it is not a
5676 virtual project.
5677 (Process): Use the Display_Name in error messages
5678
5679 * prj-strt.adb (External_Reference): Allow default to be string
5680 expressions, not only literal strings.
5681
5682 2005-03-29 Vincent Celier <celier@adacore.com>
5683
5684 * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
5685 file and the reference symbol file to be the same file.
5686
5687 2005-03-29 Thomas Quinot <quinot@adacore.com>
5688
5689 * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
5690 forbid conversion of a local access-to-subprogram type to a remote one.
5691
5692 * sem_util.adb (Wrong_Type): For a record type that is the expanded
5693 equivalent type for a remote access-to-subprogram type, go back to the
5694 original RAS entity when displaying an error message, so the casing is
5695 the original source casing.
5696
5697 2005-03-29 Robert Dewar <dewar@adacore.com>
5698
5699 * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
5700 on param update.
5701
5702 2005-03-29 Ed Schonberg <schonberg@adacore.com>
5703
5704 * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
5705 subtype if code is being pre-analyzed, to prevent un-expanded
5706 references to protected formals, among others.
5707 (Analyze_Explicit_Dereference): If the overloaded prefix includes some
5708 interpretation that can be a call, include the result of the call as a
5709 possible interpretation of the dereference.
5710
5711 * sem_ch5.adb (Process_Bounds): Determine type of range by
5712 pre-analyzing a copy of the original range, and then analyze the range
5713 with the expected type.
5714
5715 * sem_res.adb (Check_Parameterless_Call): For an explicit dereference
5716 with an overloaded prefix where not all interpretations yield an
5717 access to subprogram, do not rewrite node as a call.
5718 (Resolve_Explicit_Dereference): Recognize the previous case and rewrite
5719 the node as a call once the context identifies the interpretation of
5720 the prefix whose call yields the context type.
5721 (Valid_Conversion): For the case of a conversion between
5722 local access-to-subprogram types, check subtype conformance using
5723 Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
5724 detailed error message.
5725
5726 2005-03-29 Ed Schonberg <schonberg@adacore.com>
5727
5728 * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
5729 indicator, indicate that the formal can never be null.
5730 (Process_Formals): If a formal has a non_null indicator, insert the
5731 resulting subtype immediately before the enclosing subprogram decl,
5732 and not at the beginning of the corresponding declarative part, to
5733 prevent access before elaboration (Ada2005).
5734
5735 2005-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5736
5737 PR ada/19956
5738 * utils.c (finish_record_type): Use variable_size when setting sizes.
5739
5740 2005-03-29 Robert Dewar <dewar@adacore.com>
5741
5742 * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
5743 guarantee Unix style line terminators for the output files, even when
5744 running on windows.
5745
5746 2005-03-29 Robert Dewar <dewar@adacore.com>
5747
5748 * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
5749 buffer if an exception is raised.
5750
5751 2005-03-29 Ed Falis <falis@adacore.com>
5752
5753 * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
5754 VxWorks 653 1.4
5755
5756 2005-03-29 Robert Dewar <dewar@adacore.com>
5757
5758 * sem_util.ads: Minor reformatting
5759 * gnat_rm.texi: Minor editing.
5760
5761 2005-03-29 Eric Botcazou <ebotcazou@adacore.com>
5762
5763 * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
5764 * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
5765
5766 2005-03-24 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
5767
5768 * adaint.c (__gnat_portable_spawn): Adjust cast.
5769
5770 2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
5771
5772 * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
5773
5774 2005-03-17 Pascal Obry <obry@adacore.com>
5775
5776 * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
5777 used.
5778
5779 * expect.c (__gnat_waitpid): Moved here from adaint.c.
5780 Reimplement under Win32 using Win32 API.
5781
5782 (__gnat_kill) [Win32]: Properly close the process handle before leaving
5783 this routine.
5784
5785 2005-03-17 Eric Botcazou <ebotcazou@adacore.com>
5786
5787 * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
5788 (DECL_RENAMED_OBJECT): New accessor macro.
5789 (SET_DECL_RENAMED_OBJECT): New setter macro.
5790
5791 * decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
5792 object in all cases. Attach the renamed object to the VAR_DECL.
5793 (gnat_to_gnu_field): Do not lift the record wrapper if the size of the
5794 field is not prescribed.
5795
5796 * misc.c (gnat_handle_option): Handle -gnatO separately.
5797 (gnat_print_decl) <VAR_DECL>: New case.
5798 Print the DECL_RENAMED_OBJECT node.
5799
5800 * lang.opt: Declare separate -gnatO option.
5801
5802 * trans.c (tree_transform) <N_Identifier>: If the object is a renaming
5803 pointer, replace it with the renamed object.
5804 <N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
5805 pointer type if the source is not a fat pointer type whose underlying
5806 array has the same non-zero alias set as that of the destination array.
5807
5808 2005-03-17 Javier Miranda <miranda@adacore.com>
5809
5810 * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
5811 (Get_Inheritance_Depth): Removed.
5812 (Set_Inheritance_Depth): Removed.
5813
5814 * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
5815 subprogram Get_Expanded_Name because it is not referenced by the
5816 frontend.
5817
5818 * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
5819 (CPP_Get_Inheritance_Depth): Removed.
5820 (CPP_Set_Inheritance_Depth): Removed.
5821
5822 * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
5823
5824 2005-03-17 Robert Dewar <dewar@adacore.com>
5825
5826 * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
5827 3, since we now expect GCC 3 to do all the work.
5828
5829 2005-03-17 Javier Miranda <miranda@adacore.com>
5830
5831 * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
5832 of one barrier to avoid wrong usage of this attribute.
5833
5834 * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
5835 First_Private_Entity.
5836
5837 * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
5838 the subprogram against wrong usage.
5839 Adapt the code to traverse the entities in the
5840 scope of a record_type because in addition to its usage regarding
5841 packages, this subprogram is also called by Expand_N_Freeze_Entity
5842 to install the visible declarations of the enclosing scope of a
5843 record_type_with_private to establish the proper visibility before
5844 freezing the entity and related subprograms.
5845
5846 2005-03-17 Ed Schonberg <schonberg@adacore.com>
5847
5848 * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
5849 entry formals.
5850
5851 2005-03-17 Thomas Quinot <quinot@adacore.com>
5852
5853 * exp_ch3.adb (Check_Attr): New subprogram.
5854 (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
5855 into a new Check_Attr subprogram, in order to provide a more
5856 explanatory error message (including the name of the missing attribute).
5857 (Stream_Operation_OK): Renamed from Stream_Operations_OK. This
5858 subprogram determines whether a default implementation exists for a
5859 given stream attribute.
5860 (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
5861 Determine whether to generate a default implementation for each stream
5862 attribute separately, as this depends on the specific attribute.
5863
5864 * exp_strm.adb (Make_Field_Attribute): For the case of an illegal
5865 limited extension where a stream attribute is missing for a limited
5866 component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
5867 generate a bogus reference to the missing attribute to prevent
5868 cascaded errors. Instead, generate a null statement.
5869
5870 * sem_attr.adb (Check_Stream_Attribute): A stream attribute is
5871 available for a limited type if it has been specified for an ancestor
5872 of the type.
5873
5874 2005-03-17 Ed Schonberg <schonberg@adacore.com>
5875
5876 * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
5877 entity is an operator.
5878
5879 2005-03-17 Thomas Quinot <quinot@adacore.com>
5880
5881 * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
5882 spec, to make this predicate available to other units.
5883
5884 * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
5885 reimplementing it.
5886
5887 * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
5888 when no distribution runtime library is available.
5889
5890 * sem_res.adb, sem_dist.adb: Disable expansion of remote
5891 access-to-subprogram types when no distribution runtime library is
5892 available.
5893 (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
5894 predicate available to other units.
5895
5896 * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
5897 spec, to make this predicate available to other units.
5898
5899 2005-03-17 Vincent Celier <celier@adacore.com>
5900
5901 * make.adb (Insert_Project_Sources): Make sure the Q is always
5902 initialized.
5903
5904 * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
5905 the default for the tree, not the global default naming.
5906
5907 * prj-proc.adb (Recursive_Process): No need to put the default naming
5908 in the project data, it's already there.
5909
5910 2005-03-17 Doug Rupp <rupp@adacore.com>
5911
5912 * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
5913
5914 * 5xcrtl.ads: Renamed to...
5915 * s-crtl-vms64.ads: ...this new file
5916
5917 2005-03-17 Robert Dewar <dewar@adacore.com>
5918
5919 PR ada/19519
5920
5921 * namet.adb (Copy_One_Character): Set proper wide character encoding
5922 for upper half character if we have upper half encoding.
5923
5924 2005-03-17 Robert Dewar <dewar@adacore.com>
5925
5926 * par.adb (Par): Improved msg for attempt to recompile predefined unit
5927
5928 2005-03-17 Thomas Quinot <quinot@adacore.com>
5929
5930 * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
5931 tagged limited type, the TSS is a newly built renaming declaration:
5932 insert it using Set_TSS, not Copy_TSS.
5933
5934 2005-03-17 Javier Miranda <miranda@adacore.com>
5935
5936 * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
5937 Try_Object_Operation): Analyze the object that is accessible
5938 through the prefix of the subprogram call before we apply
5939 the transformation of the object-operation notation.
5940
5941 2005-03-17 Jose Ruiz <ruiz@adacore.com>
5942
5943 * s-taprob.adb (Initialize_Protection): Initialize the protected
5944 object's owner to Null_Task.
5945 (Lock): If pragma Detect_Blocking is in effect and the caller of this
5946 procedure is already the protected object's owner then Program_Error
5947 is raised. In addition the protected object's owner is updated.
5948 (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
5949 of this procedure is already the protected object's owner then
5950 Program_Error is raised.
5951 In addition the protected object's owner is updated.
5952 (Unlock): Remove the ownership of the protected object.
5953
5954 * s-taprob.ads (Protection): Add the field Owner, used to store the
5955 protected object's owner.
5956 This component is needed for detecting one type of potentially blocking
5957 operations (external calls on a protected subprogram with the same
5958 target object as that of the protected action). Document the rest of
5959 the components.
5960
5961 * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
5962 Initialize the protected object's owner to Null_Task.
5963 (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
5964 caller of this procedure is already the protected object's owner then
5965 Program_Error is raised.
5966 Do not raise Program_Error when this procedure is called from a
5967 protected action.
5968 (Unlock_Entries): Remove the ownership of the protected object.
5969 (Lock_Entries): If pragma Detect_Blocking is in effect and the caller
5970 of this procedure is already the protected object's owner then
5971 Program_Error is raised.
5972 Do not raise Program_Error when this procedure is called from
5973 a protected action.
5974
5975 * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
5976 used to store the protected object's owner.
5977
5978 * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
5979 effect and this procedure (a potentially blocking operation) is called
5980 from whithin a protected action, Program_Error is raised.
5981 (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
5982 and this procedure (a potentially blocking operation) is called from
5983 whithin a protected action, Program_Error is raised.
5984
5985 2005-03-17 Vincent Celier <celier@adacore.com>
5986 Nicolas Setton <setton@adacore.com>
5987
5988 * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
5989 switch, not supported by the linker on Darwin. Add '_' before
5990 <library>init, as this character is added unconditionally by the
5991 compiler.
5992 (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
5993 correct one ".dylib". This fixes detection of the archive files when
5994 building library projects.
5995
5996 2005-03-17 Vincent Celier <celier@adacore.com>
5997
5998 * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
5999 -gnat83, -gnat95 and -gnat05.
6000
6001 2005-03-17 Vasiliy Fofanov <fofanov@adacore.com>
6002
6003 * gnat_ugn.texi: Document gnatmem restriction
6004
6005 2005-03-17 Thomas Quinot <quinot@adacore.com>
6006
6007 * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
6008 cleanup
6009
6010 2005-03-17 Robert Dewar <dewar@adacore.com>
6011
6012 * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
6013 a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
6014 s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
6015
6016 * casing.adb: Comment improvements
6017
6018 2005-03-17 Pascal Obry <obry@adacore.com>
6019
6020 * g-expect.adb: Minor reformatting.
6021
6022 2005-03-15 Zack Weinberg <zack@codesourcery.com>
6023
6024 * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
6025 (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
6026 to dependencies.
6027
6028 2005-03-15 Vincent Celier <celier@adacore.com>
6029
6030 * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
6031 Add new parameter In_Tree to specify the project tree: needed
6032 by the project manager. Adapt to changes in project manager
6033 using new parameter In_Tree.
6034
6035 2005-03-15 Jakub Jelinek <jakub@redhat.com>
6036
6037 * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
6038 ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
6039 ada/bldtools to avoid make -jN failures.
6040
6041 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
6042
6043 * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
6044 to NULL_TREE on entry.
6045
6046 2005-03-15 Robert Dewar <dewar@adacore.com>
6047
6048 * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
6049 system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
6050 system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
6051 system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
6052 system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
6053 system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
6054 system-interix.ads, system-solaris-sparc.ads,
6055 system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
6056 system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
6057 system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
6058 system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
6059 system-linux-s390.ads, system-linux-s390x.ads: Add line defining
6060 Compiler_System_Version to be False.
6061
6062 * opt.ads: Add new flag Opt.Address_Is_Private
6063
6064 * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
6065 Add new parameter Compiler_System_Version to avoid checking for
6066 completeness of parameters when compiler is compiling itself.
6067 Allows old versions of GNAT to be compiled with new compiler.
6068
6069 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
6070
6071 * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
6072 (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
6073 calling thread.
6074 (Stack_Base_Available): New flag.
6075 (Get_Page_Size): New overloaded functions imported from C.
6076 (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
6077 PROT_ON, PROT_OFF): New constants.
6078 (mprotect): New function imported from C.
6079 (pthread_teb_t): New record type.
6080
6081 * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
6082 (Create_Task): Account for the Yellow Zone and the guard page.
6083
6084 2005-03-15 Vincent Celier <celier@adacore.com>
6085
6086 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
6087 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
6088 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
6089 mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
6090 Library_File_Name_For): Add new parameter In_Tree
6091 to specify the project tree: needed by the project manager.
6092 Adapt to changes in project manager using new parameter In_Tree.
6093 Remove local imports, use functions in System.CRTL.
6094
6095 * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
6096 to use the project manager.
6097
6098 * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
6099 In_Tree to designate the project tree. Adapt to changes in the project
6100 manager, using In_Tree.
6101
6102 * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
6103 Copy_Interface_Sources): Add new parameter In_Tree to specify the
6104 project tree: needed by the project manager.
6105 (Build_Library): Check that Arg'Length >= 6 before checking if it
6106 contains "--RTS=...".
6107
6108 * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
6109 Library_File_Name_For): Add new parameter In_Tree to specify the
6110 project tree: needed by the project manager.
6111
6112 * prj.ads, prj.adb: Major modifications to allow several project trees
6113 in memory at the same time.
6114 Change tables to dynamic tables and hash tables to dynamic hash
6115 tables. Move tables and hash tables from Prj.Com (in the visible part)
6116 and Prj.Env (in the private part). Move some constants from the visible
6117 part to the private part. Make other constants deferred.
6118 (Project_Empty): Make it a variable, not a function
6119 (Empty_Project): Add parameter Tree. Returns the data with the default
6120 naming data of the project tree Tree.
6121 (Initialize): After updating Std_Naming_Data, copy its value to the
6122 component Naming of Project Empty.
6123 (Register_Default_Naming_Scheme): Use and update the default naming
6124 component of the project tree, instead of the global variable
6125 Std_Naming_Data.
6126 (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
6127 Tree is not defaulted, return the default naming data of the Tree.
6128 (Initial_Buffer_Size): Constant moved from private part
6129 (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
6130 variables initialized in procedure Initialize.
6131 (Add_To_Buffer): Add two in out parameters to replace global variables
6132 Buffer and Buffer_Last.
6133 (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
6134 functions.
6135 Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
6136 hash tables.
6137 (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
6138 for the project tree.
6139 (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
6140 constant at the beginning of the package spec, so that they cane be used
6141 in subprograms before their full declarations.
6142 (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
6143 (Empty_Project): Add parameter of type Project_Node_Ref
6144 (Private_Project_Tree_Data): Add component Default_Naming of type
6145 Naming_Data.
6146 (Buffer, Buffer_Last): remove global variables
6147 (Add_To_Buffer): Add two in out parameters to replace global variables
6148 Buffer and Buffer_Last.
6149 (Current_Packages_To_Check): Remove global variable
6150 (Empty_Name): Move to private part
6151 (No-Symbols): Make it a constant
6152 (Private_Project_Tree_Data): New type for the private part of the
6153 project tree data.
6154 (Project_Tree_Data): New type for the data of a project tree
6155 (Project_Tree_Ref): New type to designate a project tree
6156 (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
6157 for the project tree.
6158
6159 * prj-attr.ads: Add with Table; needed, as package Prj no longer
6160 imports package Table.
6161
6162 * prj-com.adb: Remove empty, no longer needed body
6163
6164 * prj-com.ads: Move most of the content of this package to package Prj.
6165
6166 * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
6167 designate the project node tree and Packages_To_Check to replace
6168 global variable Current_Packages_To_Check.
6169 Add new parameters In_Tree and Packages_To_Check to local subprograms,
6170 when needed. Adapt to changes in project manager with project node tree
6171 In_Tree.
6172
6173 * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
6174 project tree to most subprograms. Move tables and hash tables to
6175 private part of package Prj.
6176 Adapt to changes in project manager using project tree In_Tree.
6177
6178 * prj-makr.adb (Tree): New constant to designate the project node tree
6179 Adapt to change in project manager using project node tree Tree
6180
6181 * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
6182 display the Library_Src_Dir and the Library_Dir.
6183 Add new parameter In_Tree to designate the project node tree to most
6184 subprograms. Adapt to changes in the project manager, using project tree
6185 In_Tree.
6186 (Check_Naming_Scheme): Do not alter the casing on platforms where
6187 the casing of file names is not significant.
6188 (Check): Add new parameter In_Tree to designate the
6189
6190 * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
6191 designate the project tree.
6192 Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
6193
6194 * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
6195 to replace those that were in the private part of package Prj.
6196 Add new parameter In__Tree to designate the project node tree to most
6197 subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
6198 (Post_Parse_Context_Clause): When specifying the project node of a with
6199 clause, indicate that it is a limited with only if there is "limited"
6200 in the with clause, not necessarily when In_Limited is True.
6201 (Parse): Add new parameter In_Tree to designate the project node tree
6202
6203 * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
6204 designate the project node tree. Adapt to change in Prj.Tree with
6205 project node tree In_Tree.
6206
6207 * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
6208 tree In_Tree in the call to function Empty_Process to give its initial
6209 value to the project data Processed_Data.
6210 Add new parameters In_Tree to designate the project tree and
6211 From_Project_Node_Tree to designate the project node tree to several
6212 subprograms. Adapt to change in project manager with project tree
6213 In_Tree and project node tree From_Project_Node_Tree.
6214
6215 * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
6216 to replace those that were in the private part of package Prj.
6217 Add new parameter In_Tree to designate the project node tree to most
6218 subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
6219
6220 * prj-tree.ads, prj-tree.adb: Add new parameter of type
6221 Project_Node_Tree_Ref to most subprograms.
6222 Use this new parameter to store project nodes in the designated project
6223 node tree.
6224 (Project_Node_Tree_Ref): New type to designate a project node tree
6225 (Tree_Private_Part): Change table to dynamic table and hash tables to
6226 dynamic hash tables.
6227
6228 * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
6229 the project tree to most subprograms. Adapt to changes in project
6230 manager using project tree In_Tree.
6231
6232 * makegpr.adb (Project_Tree): New constant needed to use project
6233 manager.
6234
6235 2005-03-15 Olivier Hainque <hainque@adacore.com>
6236
6237 * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
6238 for sigactions with SA_SIGINFO set. Call
6239 __gnat_adjust_context_for_raise before raising, to perform the
6240 potentially required adjustments to the machine context for the GCC
6241 unwinder.
6242
6243 * raise.h (__gnat_adjust_context_for_raise): New prototype.
6244
6245 * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
6246 Adjust PC by one in the provided machine context.
6247 (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
6248 so that the handler is passed the context structure to adjust prior to
6249 the raise.
6250 (__gnat_error_handler) HPUX: Adjust the signature to match what an
6251 SA_SIGINFO sigaction should look like. Call
6252 __gnat_adjust_context_for_raise before actually raising.
6253 (__gnat_adjust_context_for_raise): Default noop to help PC
6254 adjustments before raise from signal handlers.
6255 (__gnat_error_handler): Indirectly call a predicate function to
6256 determine if a condition should be resignaled or not.
6257 (__gnat_set_resignal_predicate): User interface to modify the predicate.
6258 (__gnat_default_resignal_p): Default GNAT predicate.
6259
6260 2005-03-15 Doug Rupp <rupp@adacore.com>
6261
6262 * adaint.c: Prefix #include of VMS system header files with vms/
6263 [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
6264 Do not define a dummy function "convert_addresses" under Darwin,
6265 not needed.
6266
6267 * tb-alvms.c, expect.c: Prefix #include of VMS system header files
6268 with vms/
6269
6270 2005-03-15 Nicolas Setton <setton@adacore.com>
6271
6272 * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
6273 PPC/AIX.
6274
6275 2005-03-15 Robert Dewar <dewar@adacore.com>
6276
6277 * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
6278 AI-386.
6279
6280 * a-retide.ads: Minor comment changes
6281
6282 2005-03-15 Robert Dewar <dewar@adacore.com>
6283
6284 * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
6285 a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
6286 Realloc_For_Chunk to private part of package.
6287 New subprograms for AI-301
6288
6289 * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
6290 Get_Line procedure.
6291 Avoid unnecessary use of Get/Set_Wide_String
6292
6293 2005-03-15 Robert Dewar <dewar@adacore.com>
6294
6295 PR ada/13470
6296
6297 * a-stunau.ads, a-stunau.adb:
6298 Change interface to allow efficient (and correct) implementation
6299 The previous changes to allow extra space in unbounded strings had
6300 left this interface a bit broken.
6301
6302 * a-suteio.adb: Avoid unnecessary use of Get/Set_String
6303
6304 * g-spipat.ads, g-spipat.adb: New interface for Get_String
6305 Minor reformatting (function specs)
6306
6307 * g-spitbo.adb: New interface for Get_String
6308
6309 * g-spitbo.ads: Minor reformatting
6310
6311 * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
6312
6313 * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
6314
6315 2005-03-15 Javier Miranda <miranda@adacore.com>
6316 Robert Dewar <dewar@adacore.com>
6317 Thomas Quinot <quinot@adacore.com>
6318 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6319
6320 * atree.ads, atree.adb: Add support for Elist24 field
6321
6322 * atree.h: Fix wrong definition of Field27
6323 Add support for Elist16 field
6324 Add support for Elist24 field
6325
6326 * einfo.ads, einfo.adb (Abstract_Interfaces,
6327 Set_Abstract_Interfaces): New subprograms.
6328 (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
6329 subprograms.
6330 (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
6331 entities rather than a single node.
6332 (Is_Interface, Set_Is_Interface): New subprogram
6333 (First_Tag_Component): New syntesized attribute
6334 (Next_Tag_Component): New synthesized attribute
6335 (Write_Entity_Flags): Upgraded to write Is_Interface
6336 (Write_Field24_Name): Upgraded to write Abstract_Interfaces
6337 (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
6338 (Task_Body_Procedure): New subprogram to read this attribute.
6339 (Set_Task_Body_Procedure): New subprogram to set this attribute.
6340 (Has_Controlled_Component): Now applies to all entities.
6341 This is only a documentation change, since it always worked to apply
6342 this to other than composite types (yielding false), but now this is
6343 official.
6344 Update documentation on Must_Be_Byte_Aligned for new spec
6345
6346 * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
6347 exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
6348 uses of the Access_Disp_Table attribute to reference the first dispatch
6349 table associated with a tagged type. As
6350 part of the implementation of abstract interface types,
6351 Access_Disp_Table has been redefined to contain a list of dispatch
6352 tables (rather than a single dispatch table).
6353 Similarly, upgrade all the references to Tag_Component by the
6354 new attribute First_Tag_Component.
6355 (Find_Inherited_TSS): Moved to exp_tss.
6356 Clean up test in Expand_N_Object_Declaration for cases
6357 where we need to do a separate assignment of the initial value.
6358 (Expand_N_Object_Declaration): If the expression in the
6359 declaration of a tagged type is an aggregate, no need to generate an
6360 additional tag assignment.
6361 (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
6362 is to be deleted.
6363 Bit packed array ops are only called if operands are known to be
6364 aligned.
6365 (Component_Equality): When returning an N_Raise_Program_Error statement,
6366 ensure that its Etype is set to Empty to avoid confusing GIGI (which
6367 expects that only expressions have a bona fide type).
6368 (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
6369 determine the amount of data to be copied.
6370
6371 * par.adb (P_Interface_Type_Definition): New subprogram that parses the
6372 new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
6373 INTERFACE_TYPE_DEFINITION ::=
6374 [limited | task | protected | synchronized] interface
6375 [AND interface_list]
6376
6377 * par-ch3.adb (P_Type_Declaration): Modified to give support to
6378 interfaces.
6379 (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
6380 interfaces.
6381 (P_Interface_Type_Definition): New subprogram that parses the new
6382 syntax rule of Ada 2005 interfaces
6383 (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
6384 messages by the correct RENAMES (quotes removed).
6385
6386 * sem_prag.adb: Upgrade all the references to Tag_Component by the new
6387 attribute First_Tag_Component.
6388
6389 * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
6390 (Interface_List, Set_Interface_List): New subprograms.
6391 (Interface_Present, Set_Interface_Present): New subprograms.
6392 (Limited_Present, Set_Limited_Present): Available also in derived
6393 type definition nodes.
6394 (Protected_Present, Set_Protected_Present): Available also in
6395 record type definition and
6396 derived type definition nodes.
6397 (Synchronized_Present, Set_Synchronized_Present): New subprograms.
6398 (Task_Present, Set_Task_Present): New subprogram.
6399 (Task_Body_Procedure): Removed.
6400 (Set_Task_Body_Procedure): Removed.
6401 These subprogram have been removed because the attribute
6402 Task_Body_Procedure has been moved to the corresponding task type
6403 or task subtype entity to leave a field free to store the list
6404 of interfaces implemented by a task (for AI-345)
6405 Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
6406 (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
6407 expression flag Do_Range_Check
6408 (Exception_Junk): Change to Flag7 to accomodate above change
6409 (Box_Present, Default_Name, Specification, Set_Box_Present,
6410 Set_Default_Name, Set_Specification): Expand the expression
6411 "X in N_Formal_Subprogram_Declaration" into the corresponding
6412 two comparisons. Required to use the csinfo tool.
6413
6414 * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
6415 "with string" given.
6416
6417 * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
6418 expression given.
6419
6420 * par-ch11.adb (P_Raise_Statement): Recognize with string expression
6421 in 2005 mode
6422
6423 * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
6424 attribute Task_Body_Procedure rather than the old semantic field that
6425 was available in the task_type_declaration node.
6426
6427 * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
6428 interface type definitions.
6429 (P_Formal_Derived_Type_Definition): Modified to handle the list of
6430 interfaces.
6431
6432 * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
6433 task type declaration.
6434 (P_Protected): Modified to handle the list of interfaces in a
6435 protected type declaration.
6436
6437 2005-03-15 Doug Rupp <rupp@adacore.com>
6438 Vincent Celier <celier@adacore.com>
6439
6440 * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
6441 (Gen_Output_File_C): Likewise.
6442 (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
6443
6444 2005-03-15 Thomas Quinot <quinot@adacore.com>
6445
6446 * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
6447 is an N_Raise_Constraint_Error node, create a new copy of it without
6448 going through a call to Duplicate_Subexpr.
6449
6450 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
6451 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6452 Nicolas Setton <setton@adacore.com>
6453 Ed Schonberg <schonberg@adacore.com>
6454
6455 PR ada/19900
6456 PR ada/19408
6457 PR ada/19140
6458 PR ada/20255
6459
6460 * decl.c (gnat_to_gnu_field): Reject aliased components with a
6461 representation clause that prescribes a size not equal to the rounded
6462 size of their types.
6463 (gnat_to_gnu_entity, case E_Component): Always look at
6464 Original_Record_Component if Present and not the entity.
6465 (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
6466 of tagged extension types by not making field for components that are
6467 inside the parent.
6468 (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
6469 (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
6470 expression to the type of the object when the object is constant.
6471 Reverse defer_debug_incomplete_list before traversing it, so that trees
6472 are processed in the order at which they were added to the list. This
6473 order is important when using the stabs debug format.
6474 If we are deferring the output of debug information, also defer this
6475 output for a function return type.
6476 When adding fields to a record, prevent emitting debug information
6477 for incomplete records, emit the information only when the record is
6478 complete.
6479 (components_to_record): New parameter defer_debug.
6480 (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
6481 (gnat_to_gnu_field_decl): New function.
6482 (substitution_list, annotate_rep): Call it.
6483 (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
6484 (gnat_to_gnu_entity, case E_Record_Type): Likewise.
6485 No longer update discriminants to not be a COMPONENT_REF.
6486 (copy_alias_set): Strip padding from input type; also handle
6487 unconstrained arrays properly.
6488
6489 * gigi.h (write_record_type_debug_info): New function.
6490 Convert to use ANSI-style prototypes. Remove unused
6491 declarations for emit_stack_check, elab_all_gnat and
6492 set_second_error_entity.
6493 (gnat_to_gnu_field_decl): New decl.
6494
6495 * utils.c (write_record_type_debug_info): New function.
6496 (finish_record_type): Delegate generation of debug information to
6497 write_record_type_debug_info.
6498 (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
6499 (update_pointer_to): Fix pasto.
6500 (convert) <UNION_TYPE>: Accept slight type variations when
6501 converting to an unchecked union type.
6502
6503 * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
6504 replace the N_Freeze_Entity with a null statement.
6505
6506 * freeze.adb (Freeze_Expression): If the freeze nodes are generated
6507 within a constrained subcomponent of an enclosing record, place the
6508 freeze nodes in the scope stack entry for the enclosing record.
6509 (Undelay_Type): New Subprogram.
6510 (Set_Small_Size): Pass T, the type to modify; all callers changed.
6511 (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
6512 within records; allow them to have freeze nodes if their base types
6513 aren't frozen yet.
6514
6515 * exp_util.adb (Remove_Side_Effects): Properly test for
6516 Expansion_Delayed and handle case when it's inside an
6517 N_Qualified_Expression.
6518
6519 * sem_ch3.adb (Derived_Type_Declaration): New predicate
6520 Comes_From_Generic, to recognize accurately that the parent type in a
6521 derived type declaration can be traced back to a formal type, because
6522 it is one or is derived from one, or because its completion is derived
6523 from one.
6524 (Constrain_Component_Type): If component comes from source and has no
6525 explicit constraint, no need to constrain in in a subtype of the
6526 enclosing record.
6527 (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
6528 Minor change to propagate Is_Ada_2005 flag
6529
6530 * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
6531 Expansion_Delayed is False.
6532 (assoc_to_constructor): Ignore fields that have a
6533 Corresponding_Discriminant.
6534 (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
6535 function returns "by target", dereference the target pointer using the
6536 type of the actual return value.
6537 <all>: Be prepared for a null gnu_result.
6538 (processed_inline_subprograms): Check flag_really_no_inline
6539 instead of flag_no_inline.
6540 (set_second_error_entity): Remove unused function.
6541 (gnat_to_gnu, case N_Selected_Component): Call
6542 gnat_to_gnu_field_decl.
6543 (assoc_to_constructor): Likewise.
6544
6545 2005-03-15 Robert Dewar <dewar@adacore.com>
6546 Ed Schonberg <schonberg@adacore.com>
6547 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6548
6549 * exp_pakd.adb (Create_Packed_Array_Type): Do not set
6550 Must_Be_Byte_Aligned for cases where we do not need to use a
6551 System.Pack_nn unit.
6552
6553 * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
6554 as procedures.
6555 Needed now that we do some processing for IN parameters as well. This
6556 may well fix some unrelated errors.
6557 (Expand_Call): Handle case of unaligned objects (in particular those
6558 that come from packed arrays).
6559 (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
6560 renamed entity is an inherited operation, re-expand the call using the
6561 original operation, which is the one to call.
6562 Detect attempt to inline parameterless recursive subprogram.
6563 (Represented_As_Scalar): Fix to work properly with private types
6564 (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
6565 accurate estimate. Yields True in far fewer cases than before,
6566 improving the quality of code that depends on this test.
6567
6568 * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
6569 over both visible and private declarations to remove them from tree,
6570 and mark subprograms declared in package as eliminated, to prevent
6571 spurious use in subsequent compilation of generic units in the context.
6572
6573 * exp_util.ads: Minor cleanup in variable names
6574
6575 * sem_eval.ads, sem_eval.adb: Minor reformatting
6576 (Compile_Time_Known_Bounds): New function
6577
6578 2005-03-15 Ed Schonberg <schonberg@adacore.com>
6579
6580 * exp_ch7.adb (Convert_View): Use base types of underlying types when
6581 determining whether an unchecked conversion is needed for the argument
6582 of an initialization call.
6583
6584 2005-03-15 Ed Schonberg <schonberg@adacore.com>
6585
6586 * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
6587 that appears in the instantiation rather than the internal subtype
6588 generated in the wrapper package, to avoid anomalies in gigi when the
6589 target is derived from a private type whose full view is an access type.
6590
6591 2005-03-15 Robert Dewar <dewar@adacore.com>
6592
6593 * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
6594 not needed.
6595 Add documentation to replace the use of this flag
6596 Fix kludge for Maximum_Alignment on x86 so that it does not apply to
6597 the x86_64.
6598
6599 2005-03-15 Thomas Quinot <quinot@adacore.com>
6600
6601 * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
6602 here from exp_attr so it can be shared between exp_attr and exp_dist.
6603 (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
6604 all TSS names, not a subset thereof, and the previous name introduced
6605 an unnecessarily confusion that a distinction might exist between
6606 "OK" TSS names and some "not OK" TSS names.
6607
6608 2005-03-15 Doug Rupp <rupp@adacore.com>
6609
6610 * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
6611 Command_Name.
6612
6613 2005-03-15 Pascal Obry <obry@adacore.com>
6614 Eric Botcazou <ebotcazou@adacore.com>
6615
6616 PR ada/20226
6617 PR ada/20344
6618
6619 * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
6620 when IN_RTS. This is to work around a bootstrap path problem.
6621
6622 * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
6623 table and pass it to __gnat_install_SEH_handler().
6624 (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
6625
6626 * lang.opt: Fix specification of -fRTS=.
6627
6628 2005-03-15 Doug Rupp <rupp@adacore.com>
6629 Bernard Banner <banner@adacore.com>
6630 Vincent Celier <celier@adacore.com>
6631 Arnaud Charlet <charlet@adacore.com>
6632
6633 PR ada/6852
6634 This change works fine when gnatlib is built from the gcc directory,
6635 but does not work when using the libada Makefile, since GCC_FOR_TARGET
6636 is not passed to ada/Makefile.in, so more work is needed by a
6637 Makefile/configure expert.
6638
6639 * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
6640 set GMEM_LIB on ia64 linux to add optional support for gnatmem.
6641 Setup gnatlink switch -M for x86_64 linux, as it is already setup
6642 for Linux x86.
6643 (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
6644 Run ranlib on libgccprefix.a
6645 Define PREFIX_OBJS for Darwin, to build libgccprefix.
6646 (ADA_INCLUDE_SRCS): Split Ada packages.
6647
6648 2005-03-15 Robert Dewar <dewar@adacore.com>
6649
6650 * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
6651
6652 * impunit.adb: Add GNAT.UTF_32
6653
6654 * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
6655
6656 * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
6657 now uses GNAT.UTF_32).
6658
6659 * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
6660 capabilities for categorizing characters using Unicode categories
6661
6662 2005-03-15 Ed Schonberg <schonberg@adacore.com>
6663
6664 * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
6665 instantiation that has been rewritten as a package body, retrieve spec
6666 to generate proper name for implicit_with_clause.
6667 (Install_Parents): Recognize a parent that is an instantiation but has
6668 been rewritten as a package declaration during analysis.
6669
6670 2005-03-15 Javier Miranda <miranda@adacore.com>
6671 Ed Schonberg <schonberg@adacore.com>
6672
6673 * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
6674 parameter reported some error we immediately return. This improves the
6675 behaviour of the frontend in case of errors.
6676 (Install_Parent, Remove_Parent): Introduce new flag
6677 Parent_Unit_Visible, to preserve the proper visibility of the ultimate
6678 ancestor of a generic child unit, when the child is being instantiated.
6679 (Inline_Instance_Body): If we are compiling the private
6680 part or the body of a child unit, restore the proper visibility of the
6681 parents after compiling the instance body.
6682
6683 2005-03-15 Ed Schonberg <schonberg@adacore.com>
6684 Javier Miranda <miranda@adacore.com>
6685
6686 PR ada/15608
6687 * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
6688 of a private type, in which case it is underlying_type that denotes
6689 the proper task. Also modified to use the new entity attribute
6690 that is directly available in the task type and task subtype entities
6691 (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
6692 arrays when other dimensions than the first are constrained by
6693 discriminants of an enclosing record.
6694 (Insert_Explicit_Dereference): If the prefix is an indexed component or
6695 a combination of indexed and selected components, find ultimate entity
6696 and generate the appropriate reference for it, to suppress spurious
6697 warnings.
6698 (Note_Possible_Modification): If an entity name has no entity, return.
6699 (Is_Variable): A function call never denotes a variable.
6700 (Requires_Transient_Scope): For record types, recurse only on
6701 components, not on internal subtypes that may have been generated for
6702 constrained components.
6703
6704 2005-03-15 Ed Schonberg <schonberg@adacore.com>
6705
6706 * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
6707 Eliminated as candidates for resolution. Both efficient, and avoids
6708 anomalies with operators declared in deleted code.
6709 (Process_Implicit_Dereference_Prefix): Use this procedure whenever
6710 expansion is disabled (as when compiling a generic) to prevent spurious
6711 warnings on prefixes of selected components.
6712
6713 2005-03-15 Ed Schonberg <schonberg@adacore.com>
6714
6715 * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
6716 attached to a list before checking whether it appears in the private
6717 declarations of the current package.
6718 (Make_Inequality_Operator): Insert declaration in proper declarative
6719 list rather than just setting the Parent field, so that
6720 Is_Private_Declaration can handle it properly.
6721
6722 2005-03-15 Ed Schonberg <schonberg@adacore.com>
6723
6724 * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
6725 a renaming a body, check that the renamed subprogram in not intrinsic.
6726 (Find_Direct_Name): If several use_visible entities hide
6727 each other, and the context is a predefined file compiled through
6728 rtsfind, keep only the entity that comes from a predefined file.
6729
6730 2005-03-15 Geert Bosch <bosch@adacore.com>
6731
6732 * s-fatgen.adb (Valid): Extend special exceptions to account for long
6733 long float padding to also cover AMD64 and IA64.
6734
6735 2005-03-15 Gary Dismukes <dismukes@adacore.com>
6736
6737 * s-imgwch.adb: Add with and use of Interfaces.
6738 (Img_Wide_Character): Change type of Val to Unsigned_16.
6739 (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
6740
6741 2005-03-15 Matthew Gingell <gingell@adacore.com>
6742
6743 * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
6744
6745 2005-03-15 Robert Dewar <dewar@adacore.com>
6746
6747 * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
6748
6749 * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
6750
6751 * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
6752
6753 2005-03-15 Robert Dewar <dewar@adacore.com>
6754
6755 * s-bitops.adb, s-bitops.ads,
6756 s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
6757 s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
6758 tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
6759 s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
6760 s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
6761 s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
6762 s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
6763 s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
6764 reformatting.
6765
6766 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
6767
6768 * utils2.c (build_binary_op): Fix typo.
6769
6770 2005-03-15 Doug Rupp <rupp@adacore.com>
6771
6772 * s-crtl.ads (popen,pclose): New imports.
6773
6774 2005-03-15 Cyrille Comar <comar@adacore.com>
6775
6776 * comperr.adb (Compiler_Abort): remove references to obsolete
6777 procedures in the bug boxes for various GNAT builds.
6778
6779 2005-03-15 Vincent Celier <celier@adacore.com>
6780
6781 * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
6782
6783 2005-03-15 Geert Bosch <bosch@adacore.com>
6784 Arnaud Charlet <charlet@adacore.com>
6785 Robert Dewar <dewar@adacore.com>
6786 Cyrille Comar <comar@adacore.com>
6787 Sergey Rybin <rybin@adacore.com>
6788
6789 * gnat_ugn.texi: Remove extended inline assembly example, as it was far
6790 too specific and long-winded to be appropriate for the GNAT User's
6791 Guide.
6792 Warn about use of GCC switches not documented in the GNAT User's Guide,
6793 as these may cause generated code to not conform to Ada semantics.
6794 Remove mention of -gdwarf-2 for sparc64, since this is now the default.
6795 Add documentation for -gnat95 and -gnat05 switches
6796 Remove paragraph documenting obsolete way to refer to third party
6797 libraries.
6798 Add a few references to Ada_05 that were missing.
6799 Update documentation on -gnatZ/-gnatL.
6800 Document limitation when using -m64 under Solaris.
6801 Change the "Name Casing" subsection of the pretty-printer section
6802 according to the changes in the dictionary processing.
6803
6804 * gnat_rm.texi: Document the Ada_05 pragma.
6805 Section on record representation clauses describes the new more
6806 relaxed rules about placement of large packed bit array components.
6807 Add documentation of GNAT.UTF_32
6808
6809 2005-03-12 Daniel Berlin <dberlin@dberlin.org>
6810
6811 * misc.c (gnat_post_options): Turn off structural
6812 aliasing for now.
6813
6814 2005-03-08 Laurent Guerby <laurent@guerby.net>
6815
6816 * system-linux-sparc.ads: Fix typo in previous commit.
6817
6818 2005-03-07 James A. Morrison <phython@gcc.gnu.org>
6819 Laurent Guerby <laurent@guerby.net>
6820
6821 PR ada/20035
6822 * system-linux-sparc.ads: New.
6823 * Makefile.in: Add sparc linux entry.
6824
6825 2005-02-27 Danny Smith <dannysmith@users.sourceforge.net>
6826
6827 * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
6828 parameters as unused.
6829
6830 2005-02-26 Nathanael Nerode <neroden@gcc.gnu.org>
6831 Partial merge from libada-gnattools-branch:
6832
6833 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
6834 * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
6835 into code in gnattools/Makefile.in. Remove direct dependencies on
6836 stamp-tools by tools clauses.
6837 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
6838 * config-lang.in: Add gnattools to $lang_dirs.
6839
6840 2005-02-13 Andrew Pinski <pinskia@physics.uc.edu>
6841
6842 PR ada/19942
6843 * utils.c (gnat_type_for_mode): Return null instead of ICE because
6844 we asked for an unknown mode.
6845
6846 2005-02-12 Richard Henderson <rth@redhat.com>
6847
6848 * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
6849 validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
6850
6851 2005-02-10 Andreas Jaeger <aj@suse.de>
6852
6853 * init.c (__gnat_initialize): Mark parameter as unused.
6854
6855 2005-02-09 Doug Rupp <rupp@adacore.com>
6856
6857 * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
6858 * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
6859
6860 2005-02-09 Doug Rupp <rupp@adacore.com>
6861
6862 * gnatchop.adb (dup, dup2),
6863 g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
6864
6865 * gnatlbr.adb (mkdir),
6866 mlib-tgt-vms-ia64.adb (popen, plose): Import with decc$ prefix.
6867
6868 * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
6869
6870 2005-02-09 Doug Rupp <rupp@adacore.com>
6871
6872 * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
6873
6874 2005-02-09 Robert Dewar <dewar@adacore.com>
6875 Thomas Quinot <quinot@adacore.com>
6876 Javier Miranda <miranda@adacore.com>
6877 Pascal Obry <obry@adacore.com>
6878 Ed Schonberg <schonberg@adacore.com>
6879 Doug Rupp <rupp@adacore.com>
6880 Gary Dismukes <dismukes@adacore.com>
6881 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6882
6883 * g-zstspl.ads: New file.
6884
6885 * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
6886
6887 * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
6888 Ada 95 mode
6889 Add definition of Wide_Wide_Space for AI-285
6890
6891 * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
6892 interface (to support Ada 95 and Ada 2005 units).
6893 Add Unbounded_IO files
6894 Add entries for Wide_Wide packages for AI-285
6895 Add list of containers packages to Ada 2005 unit list
6896
6897 * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
6898 support new Unbounded_IO package cleanly.
6899
6900 * g-utf_32.ads, g-utf_32.adb: New files.
6901
6902 * Makefile.rtl: Add entry for g-utf_32
6903 Add new files for Unbounded_IO
6904 Adjust make file for new AI-285 wide wide packages
6905 Add AI-302 containers to the run time.
6906
6907 * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
6908 a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
6909 subprograms for AI-301.
6910
6911 * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
6912
6913 * a-stunau.ads: Minor comment correction
6914
6915 * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
6916 etc.
6917 Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
6918 (Check_RPC): Update to match changes in expanded code.
6919 Clean up unused entity.
6920
6921 * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
6922 was not taken into account.
6923 This includes proper initialization with Normalize_Scalars.
6924 (Get_Simple_Init_Val): Major rewrite for initialize scalars and
6925 normalize scalars cases (particularly the latter) to do a better job
6926 of finding invalid representations.
6927
6928 * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
6929
6930 * s-strops.ads, s-strops.adb: Remove string normalize routines, never
6931 used
6932
6933 * exp_dist.adb: Add support for wide wide character type
6934 (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
6935 private part, generate stub bodies at the end of the private part,
6936 not the visible part.
6937 (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
6938 PolyORB support.
6939 (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
6940 generic wrapper to execute final processing after completing the
6941 expansion of the RPC receiver for an RACW.
6942
6943 * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
6944 packages and attributes.
6945 (Preset_Names): Addition of the new reserved words of Ada 2005,
6946 that is interface, overriding and synchronized.
6947 (Get_Pragma_Id): Give support to the use of the new reserved word
6948 "interface" as a pragma name.
6949 (Is_Pragma_Name): Give support to the use of the new reserved word
6950 "interface" as a pragma name.
6951 (Preset_Names): Add stream_size string for the Stream_Size Ada2005
6952 attribute implementation.
6953
6954 * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
6955 checks to entities that are output parameters of Asm operations.
6956 Handle the Stream_Size attribute.
6957 Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
6958
6959 * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
6960
6961 * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
6962 for second parameter being 0.0.
6963 Add support for wide wide character type.
6964 (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
6965
6966 * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
6967 s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
6968 s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
6969 s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
6970 for wide wide character cases.
6971
6972 * cstand.adb: Create entities for Wide_Wide_Character and
6973 Wide_Wide_String.
6974
6975 * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
6976 accordance with AI-258.
6977 Add new declarations for 16/32 bit C character types (Part of AI285)
6978
6979 * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
6980 (Obsolescent_Warning): New field
6981 (Rep_Clause): New local subprogram used to share code. Returns the rep
6982 clause for which the name is given in parameter.
6983 (Has_Stream_Size_Clause): New routine.
6984 (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
6985 (Address_Clause): Implementation is now using Rep_Clause.
6986 (Alignment_Clause): Idem.
6987 (Size_Clause): Idem.
6988
6989 * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
6990 entity in non-Ada 2005 mode and generate warning.
6991
6992 * par-prag.adb: Add handling of one argument form for pragma Ada_05.
6993 (Prag): Code cleanup. Remove old gnat pragma "overriding"
6994
6995 * sem_prag.adb: Add handling of one argument form for pragma Ada_05
6996 (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
6997 on the named unit if the pragma is not in the current compilation unit,
6998 so that elaboration calls in the current unit can set up an elaboration
6999 dependency on the named unit, as needed.
7000 (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
7001 subprogram as well as for subprograms declared within a package.
7002 (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
7003 pragma overriding.
7004
7005 * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
7006 to z) to avoid some instances of duplication for Wide_Wide packages.
7007
7008 * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
7009 characters.
7010
7011 * scn.adb: Char_Literal_Value field is now a Uint
7012
7013 * scng.adb: Significant rewrite to handle new Ada 2005 features
7014 allowing wide and wide wide characters in program text, e.g. for
7015 identifiers, as described in AI-285.
7016 (Set_Reserved): New procedure, makes setting up keywords cleaner.
7017 (Initialize_Scanner): Register the new reserved words of Ada 2005.
7018 (Scan): Give support to the new reserved words.
7019
7020 * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
7021 warning notifying that interface, overriding, and synchronized are
7022 new reserved words.
7023 (P_Pragma): Allow the use of the new reserved word "interface" as
7024 a pragma name.
7025
7026 * gnatls.adb, gnatbind.adb,
7027 ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
7028 identifiers named "interface" to "SAL_Interface".
7029
7030 * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
7031 (Structured Exception handling).
7032 (Gen_Main_C): Idem.
7033
7034 * bindgen.adb:
7035 (Gen_Main_Ada): Set the default exit code if specified.
7036 (Gen_Main_C): Likewise.
7037 Part of *DC20-006.
7038 (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
7039 Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
7040
7041 * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
7042 new -Xnnn switch.
7043
7044 * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
7045 has a collision with the new Ada 2005 "interface" reserved word.
7046
7047 * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
7048 generate a warning notifying that interface, overriding, and
7049 synchronized are new reserved words.
7050
7051 * scans.ads (Token_Type): Addition of the tokens corresponding to the
7052 new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
7053 and Tok_Synchronized.
7054
7055 * sem_res.adb (Resolve_Actuals): Change error messages to refer to
7056 "dispatching" rather than "primitive" operations, since dispatching
7057 calls are now allowed to abstract formal subprograms (which are not
7058 primitive).
7059 Char_Literal_Value field is now a Uint
7060 (Resolve_Slice): If the prefix is an access to an unconstrained array,
7061 compute the actual subtype of the designated object to impose the proper
7062 index constraints.
7063 (Resolve_Selected_Component): Do not insert an access check if the
7064 prefix is an access type: such a node is expanded into an explicit
7065 dereference, on which the access check is performed anyway. Removes
7066 expensive duplicate checks.
7067 (Resolve_Call): Use new flag Is_Obsolescent and field
7068 Obsolescent_Warning so that pragma Obsolescent works on library
7069 subprograms.
7070 Add support for wide wide character type
7071 (Resolve_Allocator): Replace the error message on wrong null-exclusion
7072 value by a warning message.
7073 (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
7074 as fixed-point, and one of the operands is non-static and universal, it
7075 can only be an illegal exponentiation operation, in which case there is
7076 no real value to retrieve.
7077
7078 * exp_strm.adb: Add support for wide wide character type
7079 (Build_Elementary_Input_Call): Compute the size of the stream element by
7080 querying the rep chain to find the Stream_Attribute attribute value.
7081 (Build_Elementary_Write_Call): Ditto.
7082
7083 * sem_aggr.adb: Char_Literal_Value field is now a Uint
7084 Add support for wide wide character type
7085 Replace the error messages on wrong null-exclusion value by warnings
7086 as described in Ada 2005.
7087 (Resolve_Extension_Aggregate): Document the fact that the error
7088 message on class-wide expressions in extensions aggregates.
7089
7090 * sem_case.adb: Add support for wide wide character type
7091
7092 * sem_ch13.adb: Add support for wide wide character type
7093 (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
7094
7095 * sem_ch3.adb: Add support for wide wide character type
7096 (Process_Subtype): If constraint is illegal for the type, set Ekind of
7097 now-useless Itype, to prevent cascaded errors on a compiler built
7098 without -gnatp.
7099
7100 * sem_ch8.adb: Add with and use of Sem_Disp.
7101 (Analyze_Subprogram_Renaming): Replace unclean uses of
7102 Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
7103 of Corresponding_Spec to Empty).
7104 (Attribute_Renaming): Replace use of Corresponding_Spec with
7105 Corresponding_ Formal_Spec and simplify condition.
7106 (Use_One_Package): Check that scope of homonym of identifier is defined,
7107 before checking whether it is a wrapper package.
7108 Add support for wide wide character type
7109
7110 * sem_eval.adb: Add support for wide wide character type.
7111 (Eval_Arithmetic_Op): Check for compile time known signed integer
7112 overflow in the non-static case.
7113 (Subtypes_Statically_Match): A formal scalar type and its base type do
7114 not statically match.
7115
7116 * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
7117 "not in" for test of N_Formal_Subprogram_Declaration (which is now a
7118 subtype).
7119 (Unit_Declaration_Node): Ditto.
7120 (Is_Variable_Prefix): For the case of an indexed component whose prefix
7121 has a packed array type, the prefix has been rewritten into a type
7122 conversion. Determine variable-ness from the converted expression.
7123 Handle wide wide character cases.
7124
7125 * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
7126
7127 * stringt.ads, stringt.adb: Handle full UTF-32 range.
7128 Remove ["0A"] from comment, since it can look like a line terminator.
7129 Currently we don't permit this, but this is under discussion by the
7130 ARG, and it is easy enough to use a different example.
7131
7132 * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
7133 handling UTF-32 encoding for wide wide character.
7134 Implement new brackets coding ["hhhhhhhh"]
7135 Add UTF-8 encodings for full UTF-32 range
7136
7137 * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
7138
7139 * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
7140 bit range Add full UTF-32 support.
7141 (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
7142 notify that constraint error will be raised at run-time
7143 because a null value is assigned to a null-excluding object.
7144 Remove some obsolete declarations and make Char_Code
7145 unsigned.
7146
7147 * a-except.adb (Rcheck_30): New subprogram. Addition of the message
7148 corresponding to CE_Null_Not_Allowed, and adjust the output of all the
7149 Rcheck subprograms.
7150
7151 * checks.adb (Check_Null_Not_Allowed): Replace the error message on
7152 wrong null-exclusion value by a warning message.
7153 (Enable_Range_Check): Do range check if the prefix is an
7154 explicit dereference whose designated object is an unconstrained array.
7155 Current algorithm for removing duplicate checks is over-eager in this
7156 case.
7157
7158 * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
7159 null-exclusion value by a warning message
7160
7161 * atree.h, atree.ads, atree.adb: Remove Char_Code field support
7162 completely. Add support for Uint2 field
7163
7164 sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
7165 exp_prag.adb: Char_Literal_Value field is now a Uint.
7166
7167 * exp_util.adb (Insert_Actions): Replace
7168 N_Formal_Subprogram_Declaration by
7169 N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
7170 Char_Literal_Value field is now a Uint.
7171
7172 * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
7173 defined for subprogram renaming declarations. When set, the field
7174 indicates the defining entity of a corresponding formal subprogram
7175 when the renaming corresponds to a formal subprogram association in an
7176 instantiation.
7177 (Set_Corresponding_Formal_Spec): New procedure to return
7178 Corresponding_Formal_Spec field.
7179 Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
7180 (which is now a subtype).
7181 Char_Literal_Value field is now a Uint
7182
7183 * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
7184 pointer to the base of the dispatch table.
7185 Minor changes to comments.
7186 (Controlling_Type): New function for determining the tagged type
7187 associated with a tagged primitive subprogram.
7188 (Expand_Dispatching_Call): Add support for a controlling actual that is
7189 directly a value of type Ada.Tag rather than a tagged object.
7190
7191 * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
7192 describing the new layout.
7193 (Dispatch_Table): The expander computes the actual array size, allocates
7194 the Dispatch_Table record accordingly, and generates code that displaces
7195 the base of the record after the Typeinfo_Ptr component. The access to
7196 these components is done by means of local functions.
7197 (Offset_To_Top): New function.
7198 (Typeinfo_Ptr): New function.
7199 (Get_TSD): Modified to access the new position of the TSD.
7200 (Set_TSD): Modified to save the TSD in its new position.
7201
7202 * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
7203 case of formal abstract subprograms. Add check and message for -gnat05.
7204 Update comments.
7205
7206 * sem_ch12.adb: Add with and use for Sem_Disp.
7207 (Analyze_Associations): Minor change from "=" to "in" for use of
7208 N_Formal_Subtype_Declaration (which is now a subtype).
7209 (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
7210 N_Formal_Subtype_Declaration (which is now a subtype).
7211 (Analyze_Formal_Subprogram): Add handling for
7212 N_Formal_Abstract_Subprogram, marking the formal as abstract and
7213 dispatching, setting the controlling status of the formal parameters
7214 and result, and issuing an error if there is no controlling type for
7215 the formal subprogram.
7216 (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
7217 which is an unclean use of that field, we set the new field
7218 Corresponding_Formal_Spec to make the formal subprogram available to
7219 processing in Analyze_Subprogram_Declaration.
7220 (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
7221 Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
7222 Constrained, so that it is is does not statically match its anonymous
7223 base type.
7224
7225 * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
7226 abstract formal subprograms in error check for functions returning
7227 abstract types. Set scope of new designator for
7228 a parameterless subprogram, so that it is available when checking the
7229 body for nested subprograms, before full analysis of said body.
7230 (Analyze_Subprogram_Body): Warn on inlining bodies with nested
7231 subprogram only if inner one comes from source.
7232 (Analyze_Function_Call): If the call is given in object notation, the
7233 analysis of the name rewrites the node and analyzes it with the proper
7234 argument list. After analyzing the name, if the call has been rewritten
7235 and the result type is set, no further analysis is needed.
7236 (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
7237 mark in function specification, in a context where the formals are
7238 visible and hide outer homographs.
7239
7240 * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
7241 as the tagged type for the cases of abstract formal subprograms and
7242 renamings of those. Clean up spec comments.
7243 (Check_Dispatching_Context): Add error message to indicate "abstract
7244 procedure", covering the case of a call to a formal abstract procedure
7245 that has statically tagged operands.
7246 (Check_Dispatching_Call): Check for the case of an actual given by
7247 a tag-indeterminate function call whose type is an ancestor of the
7248 containing call's associated tagged type. This situation can occur
7249 for inherited primitives with function defaults. In this case we
7250 use the tagged type's tag directly as the controlling argument for
7251 the calls.
7252 (Expand_Call): Name change on call to Expand_Dispatch_Call.
7253
7254 * sprint.adb (Sprint_Node_Actual): Split
7255 N_Formal_Subprogram_Declaration into two alternatives for the new
7256 cases N_Formal_Abstract_Subprogram_Declaration and
7257 N_Formal_Concrete_Subprogram_Declaration.
7258 Char_Literal_Value field is now a Uint.
7259
7260 * trans.c: Get rid of junk Uint2 reference.
7261 Char_Literal_Value field is now a Uint.
7262 (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
7263 (gigi): Correct third arg to gimplify_body.
7264
7265 * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
7266 (TYPE_LANG_FLAG_0): Check for record or union.
7267
7268 * treepr.adb: Char_Literal_Value field is now a Uint
7269
7270 * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
7271 UI_From_CC.
7272
7273 * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
7274 Add full UTF-32 support
7275 Char_Code is now 32 bits
7276
7277 * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
7278 wide character UTF_32 line terminators.
7279 Initialize Main_Source_File to avoid error when no main
7280 source is loaded.
7281
7282 * errout.adb (Finalize): Do not check Num_SRef_Pragmas
7283 (Main_Source_File) when no main source has been loaded, to avoid
7284 potential crash.
7285
7286 2005-02-09 Robert Dewar <dewar@adacore.com>
7287
7288 * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
7289 Fix name of Set routine
7290
7291 * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
7292 fixed packages.
7293
7294 * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
7295 a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
7296 fixed packages
7297
7298 * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
7299 forms of Get_Line subprograms for AI-301.
7300
7301 * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
7302 a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
7303 a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
7304 a-stwima.ads: Minor reformatting.
7305
7306 2005-02-09 Doug Rupp <rupp@adacore.com>
7307 Thomas Quinot <quinot@adacore.com>
7308
7309 * adaint.c, adaint.h
7310 [VMS] (to_ptr32): New function.
7311 (MAYBE_TO_PTR32): New macro.
7312 (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
7313 for pointer size.
7314 [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
7315 [VMS] (#define fork()): Remove since unneccessary.
7316 (__gnat_set_close_on_exec): New routine to support
7317 GNAT.OS_Lib.Set_Close_On_Exec.
7318
7319 * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
7320 the parent side as close-on-exec so that they are not inherited by the
7321 child.
7322
7323 * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
7324 set or clear the FD_CLOEXEC flag on a file descriptor.
7325
7326 2005-02-09 Eric Botcazou <ebotcazou@adacore.com>
7327 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7328
7329 Fix for c330001 - PR ada/19386
7330
7331 * decl.c:
7332 (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
7333 on the field if Pragma Component_Alignment (Storage_Unit).
7334 (gnat_to_gnu_entity, case object): Do not treat a renaming that has
7335 side-effects as if it were a constant; also make SAVE_EXPR to protect
7336 side-effects.
7337 (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
7338 UNION_TYPE.
7339 (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
7340 (components_to_record): Test it.
7341 Fix improper usage of REFERENCE_CLASS_P.
7342
7343 * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
7344 RECORD_TYPE.
7345
7346 * utils2.c: Minor reformatting.
7347
7348 * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
7349 handle other cases like RECORD_TYPE.
7350
7351 * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
7352
7353 2005-02-09 Ed Schonberg <schonberg@adacore.com>
7354
7355 * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
7356 component of an array of arrays in an assignment context, and the
7357 aggregate has component associations that require sliding on
7358 assignment, force reanalysis of the aggregate to generate a temporary
7359 before the assignment.
7360 (Must_Slide): Make global to the package, for use in Gen_Assign.
7361
7362 2005-02-09 Ed Schonberg <schonberg@adacore.com>
7363
7364 * exp_ch4.adb (Expand_Composite_Equality): If a component is an
7365 unchecked union with no inferable discriminants, return a
7366 Raise_Program_Error node, rather than inserting it at the point the
7367 type is frozen.
7368 (Expand_Record_Equality, Component_Equality): Handle properly the case
7369 where some subcomponent is an unchecked union whose generated equality
7370 code raises program error.
7371
7372 2005-02-09 Doug Rupp <rupp@adacore.com>
7373
7374 * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
7375 [VMS] (#define exit hack): Remove.
7376
7377 2005-02-09 Pascal Obry <obry@adacore.com>
7378 Arnaud Charlet <charlet@adacore.com>
7379
7380 * init.c (__gnat_initialize): Add a new parameter eh which contains the
7381 address of the exception registration. The Win32 version of this
7382 routine calls __gnat_install_SEH_handler() to initialize the SEH
7383 (Structured Exception Handling) handler.
7384 (__gnat_error_handler) [Win32]: Removed. Not needed as we use
7385 SEH (Structured Exception Handling) now.
7386 (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
7387 (__gnat_initialize for ppc-vxworks): Adjust comments and the
7388 preprocessor condition protecting the call to the extra eh setup
7389 subprogram, which is only available for the ppc target.
7390 (__gnat_clear_exception_count): replaced reference to
7391 variable taskIdCurrent by call to taskIdSelf(), cleaner.
7392
7393 * seh_init.c: New file.
7394
7395 * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
7396 (GNATBIND_OBJS): Idem.
7397
7398 * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
7399 routine takes a new parameter (a pointer to the exception registration
7400 for the SEH (Structured Exception Handling) support.
7401
7402 * raise.h: (__gnat_install_SEH_handler): New prototype.
7403 Update copyright notice.
7404
7405 * s-tassta.adb (Task_Wrapper): Declare the exception registration
7406 record and initialize it by calling __gnat_install_SEH_handler.
7407
7408 2005-02-09 Vincent Celier <celier@adacore.com>
7409
7410 * make.adb (Gnatmake): Do not fail when the main project has no object
7411 directory.
7412
7413 2005-02-09 Doug Rupp <rupp@adacore.com>
7414
7415 * Makefile.in [VMS] (LN,LN_S): Define as cp -p
7416 Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
7417 [VMS]: Add translations for g-enblsp.adb.
7418
7419 * s-asthan-vms.adb: Removed.
7420 * s-asthan-vms-alpha.adb: Added.
7421
7422 2005-02-09 Pascal Obry <obry@adacore.com>
7423
7424 * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
7425 (LIBGNAT_OBJS): Add seh_init.o.
7426
7427 2005-02-09 Arnaud Charlet <charlet@adacore.com>
7428
7429 PR ada/16592
7430
7431 * Makefile.in: Link all gnat tools with -static-libgcc, since
7432 -shared-libgcc is now used by default on some systems (e.g. linux with
7433 recent binutils).
7434 Remove references to Makefile.prolog/generic, no longer used.
7435
7436 2005-02-09 Vincent Celier <celier@adacore.com>
7437
7438 * prj-makr.adb (Process_Directory): Put file name in canonical case
7439 before matching against the patterns.
7440 If gnatname has been invoked as <prefix>-gnatname
7441 then invoke the compiler as <prefix>-gcc, not just "gcc".
7442
7443 2005-02-09 Ed Schonberg <schonberg@adacore.com>
7444
7445 * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
7446 with expansion disabled. The actual subtype is needed among other
7447 places when the selected component appears in the context of a loop
7448 bound, and denotes a packed array.
7449 (Operator_Check): Always use the first subtype in the
7450 error message, to avoid the appearance of internal base types.
7451 (Transform_Object_Operation): Copy each actual in full
7452 to the parameter associations of the constructed call, rather than
7453 using the shallow copy mechanism of New_Copy_List. This ensures that
7454 the chaining of named associations is done properly.
7455 (Complete_Object_Operation): Rewrite node, rather than
7456 replacing it, so that we can trace back to the original selected
7457 component.
7458
7459 * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
7460 and calls that use object notation, if the called function is not
7461 declared in a withed unit, place the elaboration constraint on the
7462 unit in the context that makes the function accessible.
7463 (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
7464 imposes an elaboration constraint between two packages.
7465
7466 2005-02-09 Ed Schonberg <schonberg@adacore.com>
7467
7468 * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
7469 views of a private type after handling its private dependents, to
7470 maintain proper stack discipline between entry and exit from the
7471 package.
7472
7473 2005-02-09 Cyrille Comar <comar@adacore.com>
7474
7475 * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
7476 Minor reformatting.
7477
7478 2005-02-09 Arnaud Charlet <charlet@adacore.com>
7479
7480 * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
7481 fields for foreign threads.
7482
7483 2005-02-09 Doug Rupp <rupp@adacore.com>
7484
7485 * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
7486 recursion warnings when compiled with -gnatdm.
7487
7488 2005-02-09 Robert Dewar <dewar@adacore.com>
7489
7490 * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
7491 Slight fix to documentation of -gnaty with no parameters
7492
7493 * xr_tabls.ads: Add ??? comment for missing overall comment
7494
7495 * xsinfo.adb: Make default file name be sinfo.h, since this is what
7496 we now use by default.
7497
7498 * xsnames.adb: Adjust end of file test to look for five space followed
7499 by '#' instead of six spaces. The format of xsnames.adb was modified
7500 in the last update.
7501
7502 * a-numeri.ads: Add reference to AI-388 for greek letter pi
7503 identifier.
7504
7505 * clean.adb: Minor reformatting.
7506
7507 * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
7508 gnatname.adb: Minor reformatting
7509 Add 2005 to copyright output when utility is run
7510
7511 * csets.adb: Eliminate obsolete comment
7512
7513 * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
7514 Update comments.
7515
7516 * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
7517
7518 2005-02-09 Sergey Rybin <rybin@adacore.com>
7519
7520 * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
7521 the difference between compact and incompact layout and add the record
7522 representation clause to the example illustrating different layouts.
7523 Add the description of '-A5' gnatpp option ("align 'AT' keywords in
7524 component clauses").
7525
7526 2005-02-09 Florian Villoing <villoing@adacore.com>
7527
7528 * gnat_ugn.texi: Fix typos.
7529 Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
7530 @file.
7531 Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
7532 in the generated documentation.
7533
7534 2005-02-09 Arnaud Charlet <charlet@adacore.com>
7535
7536 * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
7537 longer supported.
7538 Update linker wrapper when linking with non GNU C++.
7539
7540 2005-02-09 Pascal Obry <obry@adacore.com>
7541
7542 * gnat_ugn.texi:
7543 Document the procedure to debug the DllMain routine on Windows.
7544 Add note about -funwind-tables and mixed Ada and C/C++ programming in
7545 ZCX mode.
7546 Document new BIND qualifer /RETURN_CODES=VMS.
7547
7548 2005-02-09 Ben Brosgol <brosgol@adacore.com>
7549
7550 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
7551 Edited gnatmetric chapter
7552
7553 2005-02-09 Robert Dewar <dewar@adacore.com>
7554
7555 * gnat_rm.texi:
7556 Changes to document new wide wide character support
7557 For AI-285
7558 Update documentation on Normalize_Scalars and Initialize_Scalars
7559
7560 2005-02-09 Pascal Obry <obry@adacore.com>
7561
7562 * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
7563
7564 2005-02-09 Jose Ruiz <ruiz@adacore.com>
7565
7566 * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
7567 from the VxWorks kernel) that is needed for getting the active
7568 priority of the different tasks.
7569
7570 * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
7571 Use a pragma Elaborate_Body in the spec file instead.
7572 Noticed by code reading.
7573
7574 2005-02-09 Thomas Quinot <quinot@adacore.com>
7575
7576 * exp_util.ads: Minor correction in comment.
7577
7578 2005-02-09 Arnaud Charlet <charlet@adacore.com>
7579
7580 * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
7581 since this procedure is now too complex to be worth inlining.
7582
7583 2005-02-09 Richard Henderson <rth@redhat.com>
7584
7585 * utils.c (gnat_define_builtin): Remove.
7586 (gnat_install_builtins): Use build_common_builtin_nodes.
7587
7588 2005-02-09 Arnaud Charlet <charlet@adacore.com>
7589
7590 * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
7591 a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
7592 a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
7593 a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
7594 a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
7595 a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
7596 a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
7597 a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
7598 a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
7599 a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
7600 a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
7601 a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
7602 a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
7603 a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
7604 a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
7605 a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
7606 a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
7607 a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
7608 a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
7609 a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
7610 a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
7611 a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
7612 a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
7613 a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
7614 a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
7615 a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
7616 a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
7617 a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
7618 a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
7619 a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
7620 a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
7621 a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
7622 a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
7623 a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
7624 library.
7625
7626 2005-01-27 Laurent GUERBY <laurent@guerby.net>
7627
7628 * Makefile.in: Fix a-intnam.ads from previous commit,
7629 add 2005 to copyright.
7630 * a-intman-rtems.ads: Renamed to...
7631 * a-intnam-rtems.ads:
7632
7633 2005-01-27 Laurent GUERBY <laurent@guerby.net>
7634
7635 * Makefile.in: Rename GNAT RTEMS specific files.
7636 * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
7637 5rosinte.ads, 5rparame.adb: Replaced by files below.
7638 * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
7639 s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
7640
7641 2005-01-27 Joel Sherrill <joel.sherrill@oarcorp.com>
7642 Laurent GUERBY <laurent@guerby.net>
7643
7644 PR ada/19488
7645 * 5rosinte.ads: Add No_Key constant.
7646 * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
7647 * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
7648
7649 2005-01-26 Laurent GUERBY <laurent@guerby.net>
7650
7651 PR ada/19414
7652 * i-cobol.adb (Valid_Numeric): Handle zero length case.
7653
7654 2005-01-20 Richard Henderson <rth@redhat.com>
7655
7656 * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
7657 a-intnam-linux.ads and system-linux-alpha.ads.
7658 * a-intnam-linux-alpha.ads: Remove file.
7659 * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
7660 * system-linux-alpha.ads: New file.
7661
7662 2005-01-18 Jakub Jelinek <jakub@redhat.com>
7663
7664 PR ada/13470
7665 * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
7666 set to the new string.
7667
7668 2005-01-18 Toon Moene <toon@moene.indiv.nluug.nl>
7669
7670 * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
7671 to True.
7672
7673 2005-01-18 Richard Henderson <rth@redhat.com>
7674
7675 * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
7676 THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
7677 for alpha-linux.
7678 * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
7679
7680 2005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
7681
7682 * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
7683 (GCC_ZCX_Support): Likewise.
7684
7685 2005-01-11 Bastian Blank <waldi@debian.org>
7686
7687 * system-linux-s390.ads: Define Preallocated_Stacks.
7688 * system-linux-s390x.ads: Likewise.
7689
7690 2005-01-04 Arnaud Charlet <charlet@adacore.com>
7691
7692 * gnat_ugn.texi: Fix texi errors with null variables.
7693
7694 2005-01-03 Thomas Quinot <quinot@adacore.com>
7695
7696 * gen-soccon.c: New utility program to generate g-soccon.ads
7697 automatically.
7698
7699 * socket.c, gsocket.h: Split inclusion of system header files into a
7700 gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
7701
7702 * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
7703 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
7704 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
7705 g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
7706 should not be edited by hand anymore, but should be regenerated using
7707 gen-soccon.
7708
7709 2005-01-03 Robert Dewar <dewar@adacore.com>
7710 Ed Schonberg <schonberg@adacore.com>
7711 Vincent Celier <celier@adacore.com>
7712
7713 * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
7714 on/off, since this is an obsolescent feature, for which we now generate
7715 a warning.
7716
7717 * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
7718 warning mode is set and obsolescent usage of this attribute occurs.
7719 (Resolve_Access, case 'Access): Note that GNAT uses the context type to
7720 disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
7721 predates, and partly motivates, the adoption of the AI.
7722 Implement new Ada 2005 attribute Mod
7723
7724 * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
7725 attribute Mod.
7726
7727 * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
7728
7729 * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
7730 pragma restrictions.
7731 New entry for Ada 2005 attribute Mod.
7732
7733 * par-prag.adb:
7734 Add recognition of new pragma Restrictions No_Dependence
7735 Recognize restriction No_Obsolescent_Features at parse time
7736
7737 * bcheck.adb: Add circuitry for checking for consistency of
7738 No_Dependence restrictions.
7739
7740 * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
7741 restrictions.
7742
7743 * restrict.ads, restrict.adb: Add subprograms to deal with
7744 No_Dependence restrictions.
7745
7746 * rtsfind.adb: Check that implicit with's do not violate No_Dependence
7747 restrictions.
7748
7749 * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
7750 sem_attr.adb: Add check for new restriction No_Obsolescent_Features
7751
7752 * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
7753 dummy parameter to scng instantiation.
7754 Needed for new restriction No_Obsolescent_Features
7755
7756 * scn.adb: (Obsolescent_Check): New procedure
7757 Needed for new restriction No_Obsolescent_Features
7758
7759 * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
7760 specified by AI-285, needed for implementation of AI-388 (adding greek
7761 pi to Ada.Numerics).
7762 Add new generic formal to scng, needed for new restriction
7763 No_Obsolescent_Features.
7764
7765 * s-rident.ads: Add new restriction No_Obsolescent_Features.
7766
7767 * ali.ads, ali.adb: Adjustments for reading new No_Dependence
7768 restrictions lines.
7769 (Scan_ALI): When finding an unexpected character on an R line, raise
7770 exception Bad_R_Line, instead of calling Fatal_Error, so that, when
7771 Ignore_Errors is True, default restrictions are set and scanning of the
7772 ALI file continues with the next line. Also, when Bad_R_Line is raised
7773 and Ignore_Errors is True, skip to the end of le line.
7774
7775 * sem_ch10.adb: Check that explicit with's do not violate
7776 No_Dependence restrictions.
7777 (Install_Withed_Unit): Add code to implement AI-377 and diagnose
7778 illegal context clauses containing child units of instance.
7779
7780 * sem_prag.adb: Processing and checking for new No_Dependence
7781 restrictions.
7782 (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
7783 analyze and check the External argument.
7784
7785 * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
7786
7787 2005-01-03 Robert Dewar <dewar@adacore.com>
7788
7789 * atree.adb: Add a fifth component to entities
7790 This allows us to add 32 flags and four new fields
7791
7792 * atree.ads: Add a fifth component to entities
7793 This allows us to add 32 flags and four new fields
7794
7795 * einfo.ads, einfo.adb: Document new fields and new flags now available
7796 Add routines for printing new fields
7797
7798 * treepr.adb: Call routines to print out additional fields if present
7799
7800 2005-01-03 Arnaud Charlet <charlet@adacore.com>
7801
7802 * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
7803 gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
7804
7805 * Makefile.in: Add support to build shared Ada libraries on solaris x86
7806 Remove gpr2make, replaced by gprmake.
7807 Remove references to gnatmem and libaddr2line.
7808 Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
7809 (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
7810 Add support for specialized version of Ada.Numerics.Aux for Darwin: use
7811 a-numaux-darwin.ads and a-numaux-darwin.adb
7812 Enable mlib-tgt-lynxos.adb on lynxos.
7813
7814 * Make-lang.in: Remove rules for gpr2make.
7815 When generating sdefault.adb, do not call Relocate_Path
7816 on S3 for function Target_Name, as it is not a path.
7817 Remove references to gnatmem and libaddr2line.
7818
7819 * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
7820 files.
7821
7822 2005-01-03 Samuel Tardieu <tardieu@adacore.com>
7823
7824 * checks.adb (Apply_Alignment_Check): Generate a warning if an object
7825 address is incompatible with its base type alignment constraints when
7826 this can be decided statically.
7827
7828 2005-01-03 Olivier Hainque <hainque@adacore.com>
7829
7830 * decl.c (compatible_signatures_p): New function. The intended purpose
7831 is to check if two function signatures for a call-site and a callee are
7832 compatible enough for the call to be valid. The underlying purpose is
7833 to check if a call to a mapped builtin is using the right interface.
7834 The current code actually does not check antyhing - this a placeholder
7835 for future refinements.
7836 (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
7837 builtin calls for convention Intrinsic.
7838
7839 * gigi.h (builtin_decl_for): Declare (new function).
7840
7841 * utils.c (gnat_install_builtins): Install the target specific builtins.
7842 (builtin_decl_for): New function, provide a dummy body for now.
7843
7844 2005-01-03 Geert Bosch <bosch@adacore.com>
7845
7846 * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
7847 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
7848 (Pred): Implement in terms of Succ.
7849
7850 * trans.c (convert_with_check): Reimplement conversion of float to
7851 integer.
7852
7853 2005-01-03 Ed Schonberg <schonberg@adacore.com>
7854 Vincent Celier <celier@adacore.com>
7855
7856 * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
7857 bounds can be negative, and must be declared Int, not Nat.
7858
7859 * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
7860 array is checked after using the index in the array.
7861
7862 * makegpr.adb (Add_Switches): Check if there is a package for the
7863 processor. If there is no package, do not look for switches.
7864
7865 2005-01-03 Ed Schonberg <schonberg@adacore.com>
7866
7867 * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
7868 generation of predefined stream operations (specs and bodies) should
7869 proceed. Under various restrictions these subprograms must not be
7870 generated.
7871
7872 2005-01-03 Thomas Quinot <quinot@adacore.com>
7873
7874 * exp_dist.adb:
7875 Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
7876 amount of PCS-specific code in RACW stubs generation.
7877 (Copy_Specification): Set Etype on copied formal parameter entities, as
7878 this information is needed for PolyORB stubs generation.
7879 (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
7880 variable Dynamic_Async.
7881 (Build_Subprogram_Receiving_Stubs): Make PCS-specific
7882 (Build_RPC_Receiver_Specification): Make generic again, as recent
7883 changes have allowed RPC receivers to have the same profile for both
7884 variants of the PCS.
7885 Reorganise RPC receiver generation to reduce differences between the
7886 structure of GARLIC and PolyORB RPC receivers.
7887 (Add_Receiving_Stubs_To_Declarations): Make this subprogram
7888 PCS-specific.
7889 Simplify elaboration code for RCI packages.
7890
7891 * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
7892 generation to reduce differences between the structure of GARLIC and
7893 PolyORB RPC receivers.
7894
7895 * s-stratt.adb: Fix typo in comment.
7896
7897 2005-01-03 Thomas Quinot <quinot@adacore.com>
7898
7899 * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
7900 copied from Make_Init_Call).
7901
7902 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
7903 reads and assignments on a temporary variable declared with appropriate
7904 discriminants.
7905
7906 2005-01-03 Robert Dewar <dewar@adacore.com>
7907
7908 * i-c.adb (To_C): Raise CE if string is null and Append_Null
7909
7910 2005-01-03 Robert Dewar <dewar@adacore.com>
7911
7912 * i-cstrin.adb (Update): Do not append a null in form called with a
7913 String. This avoids unintended behavior.
7914
7915 2005-01-03 Arnaud Charlet <charlet@adacore.com>
7916
7917 PR ada/17527
7918 * init.c: Fix warnings on Free BSD section.
7919
7920 2005-01-03 Arnaud Charlet <charlet@adacore.com>
7921
7922 PR ada/16949
7923 * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
7924 xsinfo.adb).
7925
7926 2005-01-03 Vincent Celier <celier@adacore.com>
7927
7928 * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
7929 libraries when Unique_Compile is True (-u switch).
7930 (Gnatmake): ditto.
7931
7932 2005-01-03 Robert Dewar <dewar@adacore.com>
7933
7934 * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
7935 upper case letter or underscore after W, as allowed by spec.
7936
7937 2005-01-03 Arnaud Charlet <charlet@adacore.com>
7938
7939 * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
7940 darwin port by using proper type definitions from header files.
7941 Use SIGTERM instead of SIGABRT for SIGADAABORT.
7942
7943 2005-01-03 Robert Dewar <dewar@adacore.com>
7944
7945 * par.adb: Enhance error message handling for configuration file
7946 pragmas.
7947
7948 2005-01-03 Robert Dewar <dewar@adacore.com>
7949
7950 * s-arit64.adb (Double_Divide): Put back changes that got accidentally
7951 removed during the previous update (test properly for case of dividing
7952 largest negative number by -1, which generates overflow).
7953
7954 2005-01-03 Ed Schonberg <schonberg@adacore.com>
7955 Sergey Rybin <rybin@adacore.com>
7956
7957 * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
7958 to use as the defining identifier for a formal package.
7959 (Remove_Parent): If the instance takes place within (an instance of)
7960 a sibling, preserve private declarations of common parent.
7961
7962 2005-01-03 Ed Schonberg <schonberg@adacore.com>
7963
7964 * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
7965 to determine whether one of the operands is a fixed-point type for
7966 which a user-defined multiplication or division operation might be
7967 defined.
7968
7969 * sem_res.adb (Valid_Conversion): The legality rules for conversions
7970 of access types are symmetric in Ada 2005: either designated type can
7971 be unconstrained.
7972
7973 2005-01-03 Vincent Celier <celier@adacore.com>
7974
7975 * s-fileio.adb (Temp_File_Record): Change length of string component
7976 Name from L_tmpnam + 1 to max_path_len + 1.
7977
7978 2005-01-03 Arnaud Charlet <charlet@adacore.com>
7979
7980 * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
7981 Self_Id.Deferral_Level = 0.
7982 (Do_Pending_Action): Move this function to the spec.
7983
7984 * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
7985 Do_Pending_Action explicitely when needed, in case we're using
7986 No_Abort restrictions.
7987
7988 * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
7989 deferral level since it will not get changed by the generated code.
7990 Keeping a default value of 1 would prevent some operations (e.g.
7991 select or delay) to proceed successfully.
7992
7993 2005-01-03 Ben Brosgol <brosgol@adacore.com>
7994 Robert Dewar <dewar@adacore.com>
7995 Cyrille Comar <comar@adacore.com>
7996
7997 * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
7998 porting guide chapter (vms version).
7999 Revised doc title (removed "for native platforms") and subtitle.
8000 Add discussion on warning flag for obsolescent features. First we
8001 note that it applies to obsolete GNAT features, which was previously
8002 omitted. Second we contrast the behavior with that of the new
8003 Ada 2005 AI-368 restriction No_Obsolescent_Features.
8004 Preliminary rewriting of GNAT & libraries chapter in order to take
8005 into account default project locations & new project manager
8006 capabilities.
8007
8008 2005-01-03 Robert Dewar <dewar@adacore.com>
8009
8010 * cstand.adb (Create_Operators): Clean up format and documentation of
8011 unary and binary operator result tables. No change in code, just
8012 reformatting and addition of comments.
8013
8014 * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
8015 sem_ch2.adb: Minor reformatting
8016
8017 * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
8018 sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
8019 comments for Tree_Read and Tree_Write.
8020
8021 2005-01-03 Pascal Obry <obry@adacore.com>
8022
8023 * exp_attr.ads: Minor reformatting.
8024
8025 2005-01-03 Romain Berrendonner <berrendo@adacore.com>
8026
8027 * comperr.adb (Compiler_Abort): Add specialized message for GAP
8028 versions.
8029
8030 2005-01-03 Ed Schonberg <schonberg@adacore.com>
8031
8032 * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
8033 whether the ancestor type is private, as may be the case with nested
8034 instantiations.
8035
8036 2004-12-30 Sohail Somani <sohail@sohailsomani.com>
8037
8038 PR ada/19128
8039 * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
8040
8041 2004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
8042
8043 * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
8044 * utils2.c (build_unary_op): Likewise.
8045
8046 2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8047
8048 * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
8049
8050 2004-12-19 Richard Henderson <rth@redhat.com>
8051
8052 * trans.c (gigi): Update gimplify_body call.
8053
8054 2004-12-09 Nathan Sidwell <nathan@codesourcery.com>
8055
8056 * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
8057
8058 2004-12-07 Ed Falis <falis@adacore.com>
8059
8060 * s-intman-vxworks.adb (Notify_Exception): removed useless check for
8061 current task being suspended.
8062
8063 * init.c (__gnat_clear_exception): added to reset VxWorks exception
8064 count.
8065 (__gnat_map_signal): removed test for current task being suspended.
8066
8067 2004-12-07 Gary Dismukes <dismukes@adacore.com>
8068
8069 * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
8070 from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
8071 targets (such as AAMP).
8072
8073 2004-12-07 Ed Schonberg <schonberg@adacore.com>
8074
8075 * atree.adb (Visit_Itype): Create a new name for the generated itype,
8076 because the back-end may otherwise treat it as a redefinition of the
8077 old symbol.
8078
8079 2004-12-07 Eric Botcazou <ebotcazou@adacore.com>
8080
8081 * back_end.adb (Scan_Back_End_Switches): Accept --param.
8082
8083 * lang-specs.h: Accept --param.
8084
8085 2004-12-07 Vincent Celier <celier@adacore.com>
8086
8087 * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
8088 package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
8089 Current_Body_Suffix => Ada_Body_Suffix).
8090 Take into account Externally_Built attribute.
8091
8092 * clean.adb (In_Extension_Chain): Always return False when one of the
8093 parameter is No_Project.
8094 (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
8095 Ada_Language_Index).
8096 (Gnatclean): Adapt to change in package Prj.Pars (no parameter
8097 Process_Languages for procedure Parse).
8098
8099 * gnatcmd.adb (Carg_Switches): New table.
8100 (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
8101 Adapt to name changes in package Prj (Current_Spec_Suffix =>
8102 Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
8103
8104 * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
8105 Header_Num and function Hash are now declared in package Prj,
8106 not Prj.Com.
8107
8108 * prj.adb (Suffix_Of): New function.
8109 (Set (Suffix)): New procedure.
8110 (Hash): One function moved from Prj.Com
8111 (Is_Present, Language_Processing_Data_Of): New functions
8112 (Set): Two new procedures
8113 (Add_Language_Name, Display_Language_Name): New procedures
8114
8115 * prj.ads: (Suffix_Of): New function
8116 (Set (Suffix)): New procedure
8117 Add several types and tables for multi-language support.
8118 (Header_Num): Type moved from Prj.Com
8119 (Hash): Two functions moved from Prj.Com
8120 (Is_Present, Language_Processing_Data_Of): New functions
8121 (Set): Two new procedures
8122 (Add_Language_Name, Display_Language_Name): New procedures
8123 (Naming): Component name changes:
8124 Current_Spec_Suffix => Ada_Spec_Suffix,
8125 Current_Body_Suffix => Ada_Body_Suffix. Add new components:
8126 Impl_Suffixes, Supp_Suffixes.
8127 (Project_Data): New components: Externally_Built, Supp_Languages,
8128 First_Language_Processing, Supp_Language_Processing, Default_Linker,
8129 Default_Linker_Path.
8130
8131 * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
8132 new package Language_Processing with its attributes (Compiler_Driver,
8133 Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
8134 Binder_Driver, Default_Linker).
8135
8136 * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
8137 (Header_Num): Type moved to package Prj
8138
8139 * prj-env.adb: Adapt to name changes in package Prj
8140 (Current_Spec_Suffix => Ada_Spec_Suffix,
8141 Current_Body_Suffix => Ada_Body_Suffix).
8142
8143 * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
8144 default to the project path, except the "-" is one of the directories
8145 in env var ADA_PROJECT_PATH.
8146 (Current_Project_Path): Global variable, replacing Project_Path
8147 that was in the body of Prj.Part.
8148 (Project_Path): New function
8149 (Set_Project_Path): New procedure
8150 Initialize Current_Project_Path during elaboration of the package
8151 Remove dependency on Prj.Com, no longer needed
8152
8153 * prj-ext.ads (Project_Path): New function
8154 (Set_Project_Path): New procedure
8155
8156 * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
8157 suffix is defined for language <lang>.
8158 (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
8159 accessing directly the components of Naming.
8160 (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
8161 Reorganise of this package.
8162 Break procedure Check in several procedures.
8163
8164 * prj-nmsc.ads: Replace all procedures (Ada_Check,
8165 Other_Languages_Check and Language_Independent_Check) with a single
8166 procedure Check.
8167
8168 * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
8169 Process_Languages, no longer needed.
8170
8171 * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
8172 Current_Project_Path.
8173 Remove elaboration code, moved to the body of Prj.Ext
8174 Use new function Prj.Ext.Project_Path instead of old variable
8175 Project_Path.
8176 (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
8177 When comparing with project paths on the stack, first put the resolved
8178 path in canonical case.
8179 (Parse_Single_Project): Set the path name of the project file in the
8180 tree to the normalized path.
8181
8182 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
8183 parameter Process_Languages, no longer needed.
8184 (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
8185 Other_Languages_Check.
8186
8187 * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
8188 to store the resolved canonical path of the project file.
8189 Remove dependency to Prj.Com, no longer needed
8190
8191 * prj-util.adb: Adapt to name changes in package Prj
8192 (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
8193 Ada_Body_Suffix).
8194
8195 * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
8196 Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
8197 Externally_Built, Include_Option, Language_Processing.
8198
8199 * makegpr.adb: Numerous changes due to changes in packages
8200 Prj and Prj.Nmsc.
8201
8202 * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
8203 default to the project path, except whe "-" is one of the directories
8204 in env var ADA_PROJECT_PATH.
8205 (Gnatls): In verbose mode, add the new section "Project Search Path:"
8206
8207 2004-12-07 Robert Dewar <dewar@adacore.com>
8208
8209 * debug.adb: Document that -gnatdA automatically sets -gnatR3m
8210
8211 * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
8212 set -gnatR3m mode.
8213
8214 * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
8215 flag. No longer needed now that we handle this in gnat1drv.adb.
8216
8217 * repinfo.ads: Minor reformatting
8218
8219 2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8220 Olivier Hainque <hainque@adacore.com>
8221 Eric Botcazou <ebotcazou@adacore.com>
8222
8223 * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
8224 TYPE_SIZE_UNIT of result type if SIZE is not specified.
8225 (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
8226 of a bitfield, which we know is useless and causes trouble because of
8227 alignment implications.
8228
8229 * utils.c (create_var_decl): Set DECL_COMMON again on targets without
8230 BSS sections.
8231 (process_attributes): Clear DECL_COMMON again when a section attribute
8232 is present.
8233 (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
8234 SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
8235 (create_field_decl): Special case ADDRESSABLE negative to mean
8236 "no bitfield creation", to be used by make_aligning_type. Don't
8237 restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
8238 fields claimed addressable still have to be bitfields. Use
8239 value_factor_p instead of a raw binop construction to check for the
8240 position's alignment.
8241
8242 2004-12-07 Geert Bosch <bosch@adacore.com>
8243
8244 * eval_fat.adb: Revert previous change.
8245
8246 2004-12-07 Thomas Quinot <quinot@adacore.com>
8247 Ed Schonberg <schonberg@adacore.com>
8248
8249 * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
8250 with an implicit dereference as its prefix, use
8251 Insert_Explicit_Dereference instead of merely rewriting the prefix into
8252 an explicit dereference. This ensures that a reference to the original
8253 prefix is generated, if appropriate.
8254
8255 * sem_util.adb (Insert_Explicit_Dereference): When an implicit
8256 dereference is rewritten to an explicit one, generate a reference to
8257 the entity denoted by its prefix using the original prefix node, so
8258 the dereference can be properly recorded as a read of the denoted
8259 access value, if appropriate.
8260
8261 * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
8262 emitting 'assigned but never read' warning on a variable on the basis
8263 that it has an access type.
8264 (Check_References): Emit unreferenced warning when the scope is a
8265 subprogram body.
8266
8267 2004-12-07 Robert Dewar <dewar@adacore.com>
8268 Ed Schonberg <schonberg@adacore.com>
8269
8270 * exp_ch6.adb (Expand_Call): Add comment on handling of back end
8271 intrinsic
8272
8273 * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
8274 leaving call unchanged.
8275 This deals with the case where the pragma Import specified
8276 an external name, to be handled by the back end.
8277
8278 * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
8279 subprogram which is Imported with convention Intrinsic if an
8280 External_Name argument is specified.
8281 (Process_Import_Or_Interface): Properly diagnose link name argument.
8282 (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
8283 with Sem_Ch6.Cannot_Inline.
8284 (Process_Inline): Provide separate warning for inapplicable inline
8285 pragma.
8286 (Cannot_Inline): Reject subprograms that have an at_end handler, so that
8287 treatment is uniform on different targets.
8288
8289 2004-12-07 Ed Schonberg <schonberg@adacore.com>
8290
8291 * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
8292 construct is rewritten, preserve end label to permit source navigation.
8293
8294 2004-12-07 Thomas Quinot <quinot@adacore.com>
8295
8296 * exp_dist.adb (Specific_Build_General_Calling_Stubs,
8297 Specific_Build_Stub_Target): New subprograms.
8298 (Build_Subprogram_Calling_Stubs): Make this procedure independent from
8299 the PCS implementation used, using the above PCS-customized subprograms.
8300 Minor reformatting.
8301 (PolyORB_Support.Helpers): New subunit containing supporting subprograms
8302 for generation of DSA code targeted to the PolyORB PCS.
8303 (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
8304 implementation of the partition communication subsystem in ancillary
8305 subprograms.
8306 (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
8307 PolyORB_Support.Build_Stub_Type): New subrograms containing the
8308 PCS-specific part of Add_Stub_Type.
8309 (Insert_Partition_Check): Use runtime library function to perform
8310 E.4(19) check.
8311
8312 * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
8313 (RE_Same_Partition): New entity, from s-parint.
8314
8315 * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
8316
8317 2004-12-07 Gary Dismukes <dismukes@adacore.com>
8318
8319 * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
8320 Output the copyright message on a separate line from the version
8321 message.
8322
8323 2004-12-07 Joel Brobecker <brobecker@adacore.com>
8324
8325 * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
8326 compile-time warning.
8327
8328 2004-12-07 Robert Dewar <dewar@adacore.com>
8329
8330 * g-regpat.adb: (Match): Change a misuse of or to or else
8331
8332 2004-12-07 Ed Schonberg <schonberg@adacore.com>
8333
8334 * lib-xref.adb:
8335 (Generate_Reference): Handle properly a reference to an entry formal,
8336 when an accept statement has a pragma Unreferenced for it.
8337
8338 * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
8339 and the Has_Pragma_Unreferenced flag for each formal before analyzing
8340 the body, to ensure that warnings are properly emitted for each accept
8341 statement of a given task entry.
8342
8343 2004-12-07 Vasiliy Fofanov <fofanov@adacore.com>
8344
8345 * Makefile.in: Add support for foreign threads on VMS.
8346
8347 2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8348
8349 * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
8350 Remove.
8351 (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
8352
8353 * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
8354
8355 * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
8356 exception.
8357 (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
8358
8359 2004-12-07 Robert Dewar <dewar@adacore.com>
8360
8361 * nlists.adb (Prepend_Debug): Remove parameters and nest within
8362 Prepend.
8363 (Remove_Next_Debug): Same fix
8364
8365 * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
8366 maintain back pointers now, though we did not used to, and comments
8367 were out of date).
8368 (Prepend): Remove pragma Inline.
8369 (Remove_Next): Same cleanup
8370
8371 2004-12-07 Thomas Quinot <quinot@adacore.com>
8372
8373 * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
8374 used to record an implicit dereference as a read operation on its
8375 prefix when operating under -gnatc. Necessary to avoid spurious
8376 'variable assigned but never read' warnings in that mode.
8377 (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
8378 is a non-overloaded implicit dereference, call the above subprogram to
8379 ensure proper recording of references.
8380
8381 2004-12-07 Gary Dismukes <dismukes@adacore.com>
8382
8383 * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
8384 to be resolved later as part of Analyze_Iteration_Scheme's call to
8385 Make_Index.
8386
8387 2004-12-07 Ed Schonberg <schonberg@adacore.com>
8388
8389 * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
8390 prefix is not a scalar type, place error message on prefix, not on
8391 type entity.
8392
8393 2004-12-07 Bernard Banner <banner@adacore.com>
8394
8395 * vxaddr2line.adb: Add support for x86 vxworks
8396
8397 2004-12-07 Thomas Quinot <quinot@adacore.com>
8398
8399 * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
8400 documentation of the behaviour of these functions when passed an IP
8401 address that has no record in the system hosts database and no reverse
8402 record in the DNS.
8403
8404 * cstand.adb, a-tags.ads: Fix typos in comment.
8405
8406 2004-12-07 Robert Dewar <dewar@adacore.com>
8407
8408 * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
8409 exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
8410 sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
8411 s-poosiz.ads: Minor reformatting
8412
8413 * make.adb: Minor reformatting
8414 Add some ??? comments asking for more comments
8415
8416 * s-poosiz.adb: Minor reformatting
8417 Add comments on alignment requirement
8418
8419 * sinfo.ads: Remove obsolete comment and fix typo.
8420
8421 2004-12-07 Vincent Celier <celier@adacore.com>
8422 Sergey Rybin <rybin@adacore.com>
8423
8424 * gnat_ugn.texi: Update the section "The GNAT Driver and Project
8425 Files" with the new tool and package names.
8426 Reformatting to suppress most of the warnings for line too long
8427 Document the new section "Project Search Path:" in the output of
8428 gnatls -v.
8429 Add gnatmetric section
8430
8431 2004-12-07 Vincent Celier <celier@adacore.com>
8432
8433 * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
8434 -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
8435 and -eit to -ept. Added qualifier
8436 /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
8437
8438 2004-11-27 Andreas Schwab <schwab@suse.de>
8439
8440 * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
8441
8442 2004-11-25 Arnaud Charlet <charlet@adacore.com>
8443
8444 * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
8445 internal implementation unit GNAT.Sockets.Thin,
8446 as their usage for sockets is non-portable (using the read and write
8447 functions from the system runtime library is fine on UNIX but won't
8448 work under Windows).
8449
8450 * mingw32.h: Update copyright notice.
8451
8452 2004-11-25 Arnaud Charlet <charlet@adacore.com>
8453
8454 * ada-tree.h: Minor reformatting of previous change to avoid lines
8455 longer than 79 characters.
8456
8457 2004-11-25 Olivier Hainque <hainque@adacore.com>
8458
8459 * tb-gcc.c: GCC infrastructure based implementation of
8460 __gnat_backtrace.
8461
8462 2004-11-24 Steven Bosscher <stevenb@suse.de>
8463
8464 * misc.c (gnat_post_options): Don't clear
8465 flag_inline_functions.
8466
8467 2004-11-22 Andrew Pinski <pinskia@physics.uc.edu>
8468
8469 PR ada/17986
8470 * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
8471 tree.
8472
8473 2004-11-21 Andreas Jaeger <aj@suse.de>
8474
8475 * stylesw.adb: Change Style_Check_Subprogram_Order to
8476 Style_Check_Order_Subprograms.
8477
8478 2004-11-18 Arnaud Charlet <charlet@adacore.com>
8479
8480 * adaint.h, adaint.c
8481 (__gnat_portable_spawn): Fix cast of spawnvp third parameter
8482 to avoid warnings.
8483 Add also a cast to kill another warning.
8484 (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
8485 parameter with the priority class of the parent process instead of
8486 always using the NORMAL_PRIORITY_CLASS.
8487 (__gnat_dup): New function.
8488 (__gnat_dup2): New function.
8489 (__gnat_is_symbolic_link): Enable the effective body of this
8490 function when __APPLE__ is defined.
8491
8492 * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
8493 Update comments.
8494
8495 2004-11-18 Olivier Hainque <hainque@adacore.com>
8496
8497 * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
8498 address of which may be used to represent "others" and "all others"
8499 choices in exception tables, instead of the current harcoded
8500 (void *)0 and (void *)1.
8501 (Setup_Exception): Do nothing in the GNAT SJLJ case.
8502
8503 * gigi.h (others_decl, all_others_decl): New decls representing the
8504 new Others_Value and All_Others_Value objects.
8505 (struct attrib): Rename "arg" component as "args", since GCC expects a
8506 list of arguments in there.
8507
8508 * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
8509 corresponding objects exported by a-exexpr, instead of hardcoded dummy
8510 addresses.
8511
8512 * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
8513 others_decl and all_others_decl instead of hardcoded dummy addresses
8514 to represent "others" and "all others" choices, which is cleaner and
8515 more flexible with respect to the possible eh pointer encoding policies.
8516
8517 * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
8518 (process_attributes): Account for the naming change of the "args"
8519 attribute list entry component.
8520
8521 * decl.c (build_attr_list): Rename into prepend_attributes to allow
8522 cumulating attributes for different entities into a single list.
8523 (gnat_to_gnu_entity): Use prepend_attributes to build the list of
8524 attributes for the current entity and propagate first subtype
8525 attributes to other subtypes.
8526 <E_Procedure>: Attribute arguments are attr->args and not
8527 attr->arg any more.
8528 (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
8529 argument provided, as this is what GCC expects. Use NULL_TREE instead
8530 of 0 for trees.
8531
8532 2004-11-18 Robert Dewar <dewar@adacore.com>
8533
8534 * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
8535 Minor reformatting througout (including new function specs)
8536 Add ??? comments asking for clarification.
8537
8538 2004-11-18 Thomas Quinot <quinot@adacore.com>
8539
8540 * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
8541 incomplete duplicate implementation of this subprogram from butil.
8542
8543 2004-11-18 Thomas Quinot <quinot@adacore.com>
8544
8545 * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
8546 procedures factors the common processing for building an RPC receiver
8547 for an RCI package or an RACW type.
8548 Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
8549 Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
8550 (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
8551 in use.
8552 (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
8553 Add_RACW_Features.
8554 (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
8555 Add_RAST_Features.
8556 (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
8557 distribution subprogram identifiers that are either subprogram numbers
8558 or strings.
8559 (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
8560 string distribution identifiers assigned to a given subprogram.
8561 (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
8562 (Add_RAS_Dereference_TSS): Add comments.
8563 (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
8564 is not referenced yet because it will be used by the PolyORB DSA
8565 implementation.
8566 (Insert_Partition_Check): Remove fossile code.
8567 (First_RCI_Subprogram_Id): Document this constant.
8568 (Add_RAS_Access_TSS): Correct the setting of the Etype of the
8569 RAS_Access TSS.
8570 (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
8571 replaced with calls to Get_Library_Unit_Name_String. Previously there
8572 were several instances of the same code in different locations in the
8573 compiler; this checkin completes the replacement of all of these
8574 instances with calls to a common subprogram.
8575 Minor reformatting.
8576
8577 * sem_dist.adb: Remove comment noting that RPC receiver generation
8578 should be disabled for RACWs that implement RASs.
8579 (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
8580
8581 * sem_util.ads, sem_util.adb (Has_Stream): New function
8582 (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
8583 qualified name of a library unit into the name buffer.
8584 (Note_Possible_Modification): Generate a reference only
8585 if the context comes from source.
8586
8587 * snames.ads (PCS_Names): New subtype corresponding to names of
8588 supported implementations of the Partition Communication Subsystem
8589 (PCS) (i.e. the runtime library support modules for the distributed
8590 systems annex).
8591
8592 2004-11-18 Robert Dewar <dewar@adacore.com>
8593 Ed Schonberg <schonberg@adacore.com>
8594
8595 * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
8596 (Has_Rep_Pragma): New function
8597 (Has_Attribute_Definition_Clause): New function
8598 (Record_Rep_Pragma): Moved here from sem_ch13.adb
8599 (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
8600
8601 * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
8602
8603 * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
8604 (Expand_Pragma_Psect_Object): New procedure
8605 These procedures contain the revised and cleaned up processing for
8606 these two pragmas. This processing was formerly in Sem_Prag, but
8607 is more appropriately moved here. The cleanup involves making sure
8608 that the pragmas are properly attached to the tree, and that no
8609 nodes are improperly shared.
8610
8611 * sem_prag.adb: Move expansion of Common_Object and Psect_Object
8612 pragmas to Exp_Prag, which is more appropriate.
8613 Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
8614 check for duplicates Remove use of Is_Psected flag, no longer needed.
8615 Use new Make_String_Literal function with string.
8616
8617 * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
8618 that are functions return universal values, that have to be converted
8619 to the context type.
8620 Use new Make_String_Literal function with string.
8621 (Get_Stream_Convert_Pragma): New function, replaces the use of
8622 Get_Rep_Pragma, which had to be kludged to work in this case.
8623
8624 * freeze.adb: Use new Has_Rep_Pragma function
8625
8626 * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
8627 function with string.
8628 Use new Has_Rep_Pragma function.
8629
8630 * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
8631 string argument.
8632
8633 2004-11-18 Robert Dewar <dewar@adacore.com>
8634
8635 * errout.ads, errout.adb: (First_Sloc): New function
8636
8637 * par-ch5.adb (P_Condition): Check for redundant parens is now a style
8638 check (-gnatyx) instead of being included as a redundant construct
8639 warning.
8640
8641 * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
8642 Style_Check_Order_Subprograms.
8643
8644 * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
8645 stylesw.adb: Add Style_Check_Xtra_Parens
8646
8647 * usage.adb: Add line for -gnatyx (check extra parens)
8648
8649 * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
8650
8651 2004-11-18 Ed Schonberg <schonberg@adacore.com>
8652 Robert Dewar <dewar@adacore.com>
8653
8654 * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
8655 discriminant of a constrained subtype, analyze the copy of the
8656 corresponding constraint, because in some cases it may be only
8657 partially analyzed.
8658 Removes long-lived ??? comments.
8659
8660 * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
8661 handled controlled or secondary-stack expressions within the
8662 iteration_scheme of a loop.
8663
8664 * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
8665 bounds that may contain functions calls, to prevent memory leaks when
8666 the bound contains a call to a function that uses the secondary stack.
8667 (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
8668 generate temporaries for loop bounds that might contain function calls
8669 that require secondary stack and/or finalization actions.
8670
8671 * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
8672 selected component and the selector is overloadable (not just a
8673 function) treat as function call, Analyze_Call will disambiguate if
8674 necessary.
8675 (Analyze_Selected_Component): Do not generate an actual subtype for the
8676 selected component if expansion is disabled. The actual subtype is only
8677 needed for constraint checks.
8678 (Analyze_Allocator): If restriction No_Streams is set, then do
8679 not permit objects to be declared of a stream type, or of a
8680 composite type containing a stream.
8681
8682 * restrict.ads: Remove the a-stream entry from Unit_Array, since
8683 No_Streams no longer prohibits with'ing this package.
8684
8685 * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
8686 discriminants, but the parent base has unknown discriminants, there is
8687 no discriminant constraint to inherit. Such a discrepancy can arise
8688 when the actual for a formal type with unknown discriminants is a
8689 similar private type whose full view has discriminants.
8690 (Analyze_Object_Declaration): If restriction No_Streams is set, then
8691 do not permit objects to be declared of a stream type, or of a
8692 composite type containing a stream.
8693
8694 2004-11-18 Ed Schonberg <schonberg@adacore.com>
8695
8696 * exp_dbug.ads: Update documentation to reflect simpler encoding for
8697 protected operations.
8698
8699 * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
8700 generated name, it complicates decoding in gdb and hinders debugging
8701 of protected operations.
8702 (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
8703 flag for the protected entry barrier function.
8704 (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
8705 flag for the protected entry function.
8706
8707 2004-11-18 Nicolas Setton <setton@adacore.com>
8708
8709 * expect.c: Define __unix__ when __APPLE__ is defined.
8710
8711 * Makefile.in: Inform the value of the variable GMEM_LIB in the
8712 Darwin-specific section.
8713
8714 * lang-specs.h: Change the placement of the %1 marker.
8715 Works around the fact that gcc adds -fPIC by default under Darwin.
8716
8717 2004-11-18 Ed Schonberg <schonberg@adacore.com>
8718
8719 * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
8720 type of the object with the packed array type, set the Analyzed flag
8721 on the object if it is an entity or simple indexed component, to avoid
8722 spurious type errors.
8723
8724 2004-11-18 Gary Dismukes <dismukes@adacore.com>
8725
8726 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
8727 gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
8728 separate line from the version message.
8729
8730 2004-11-18 Ed Falis <falis@adacore.com>
8731
8732 * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
8733 vthreads.
8734 (init_float): Eliminate initialization of floating point status for
8735 AE653. The instructions have no effect for vThreads.
8736
8737 2004-11-18 Vincent Celier <celier@adacore.com>
8738
8739 * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
8740 gnatbind is invoked with -shared.
8741
8742 2004-11-18 Jose Ruiz <ruiz@adacore.com>
8743
8744 * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
8745 for Detect_Blocking which is redundant with the check done within the
8746 procedure Protected_Single_Entry_Call.
8747 (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
8748 Detect_Blocking which is redundant with the check done within the
8749 procedure Protected_Single_Entry_Call.
8750
8751 2004-11-18 Vincent Celier <celier@adacore.com>
8752
8753 * makegpr.adb (Compile): Put the compiling switches (in package
8754 Compiler and on the command line) immediately after "-c", instead of
8755 at the end of the command line invocation of the compiler, when
8756 compiling a non-Ada file.
8757 (Build_Global_Archive): When there is no need to rebuild the archive,
8758 set Global_Archive_Exists, so that the archive is passed to the linker
8759 if one is needed.
8760
8761 2004-11-18 Robert Dewar <dewar@adacore.com>
8762 Sergey Rybin <rybin@adacore.com>
8763
8764 * gnat_ugn.texi:
8765 Remove extra paren check from list of checks for redundant constructs
8766 Add documentation of new -gnatyx style check (check extra parens)
8767 Remove paragraph about gnatelim debug options.
8768
8769 * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
8770 objects rather than forbidding dependencies on the package Ada.Streams.
8771
8772 * sinfo.ads: Add ??? note that we should document pragmas passed to
8773 back end.
8774
8775 * g-expect.ads: Fix a few typos in the comments.
8776
8777 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
8778
8779 * misc.c (gnat_handle_option): Use %< and %> for quoting in
8780 warning message.
8781
8782 2004-11-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8783
8784 * a-numaux-x86.adb (Tan): Fix fdivp syntax.
8785
8786 2004-11-07 Andreas Schwab <schwab@suse.de>
8787
8788 * Makefile.in (install-gnatlib): Remove spurious hyphen.
8789
8790 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
8791
8792 PR ada/18228
8793 * Makefile.in (darwin): Set soext to .dylib.
8794
8795 2004-10-26 Vincent Celier <celier@gnat.com>
8796 Thomas Quinot <quinot@act-europe.fr>
8797
8798 * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
8799 (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
8800 there is no use of GNAT.Sockets.Constants.
8801 Remove remaining pragma Import for C_Write
8802 Remove C_Read and C_Write from internal implementation unit
8803 GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
8804 the read and write functions from the system runtime library is fine
8805 on UNIX but won't work under Windows).
8806
8807 * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
8808 (Check_Selector): Use C_Recv instead of C_Read.
8809 Selectors are the GNAT.Sockets abstraction to perform a select()
8810 call on a set of descriptors. To allow abortion of an ongoing
8811 select operation, some data is written to a dedicated socket that
8812 is always monitored.
8813 Under Windows, the write and read library functions cannot operate
8814 on sockets, so we need to use send and recv instead, which is portable
8815 across all supported platforms.
8816
8817 * g-socthi.ads: Remove C_Read and C_Write from internal implementation
8818 unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
8819 (using the read and write functions from the system runtime library is
8820 fine on UNIX but won't work under Windows).
8821
8822 2004-10-26 Nicolas Setton <setton@act-europe.fr>
8823
8824 * mlib-tgt-darwin.adb: New file.
8825
8826 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
8827 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
8828 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
8829 mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
8830 subprogram body.
8831
8832 * Makefile.in: Add support for building shared libraries under Darwin.
8833 (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
8834 the low level EH init subprogram to be called from __gnat_initialize.
8835
8836 * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
8837 indicates which options to pass to the archive indexer.
8838
8839 * mlib-utl.adb: Add support for calling ranlib with additional
8840 options. This is needed for instance under Mac OS X.
8841 (Ranlib_Options): New global variable, used to store the potential
8842 options to pass to ranlib.
8843 (Ar): Use Ranlib_Options when spawning ranlib.
8844 (Initialize): Set the value of ranlib option.
8845
8846 2004-10-26 Olivier Hainque <hainque@act-europe.fr>
8847
8848 * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
8849 instead of 8K, to reflect the real potential needs for stack-checking
8850 in the ZCX case.
8851
8852 2004-10-26 Pascal Obry <obry@gnat.com>
8853
8854 * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
8855
8856 * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
8857 Windows only the initial thread stack size can be set so it is good to
8858 start we a low stack size.
8859 The OS will adjust the size as needed.
8860
8861 2004-10-26 Olivier Hainque <hainque@act-europe.fr>
8862 Nicolas Setton <setton@act-europe.fr>
8863
8864 * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
8865 "__unix__" instead of "unix".
8866 The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
8867 sections were just mistakenly ignored. The former is
8868 implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
8869 Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
8870 of hpux. This prevents an unwanted definition of the symbol
8871 convert_addresses in adaint.o.
8872
8873 2004-10-26 Gary Dismukes <dismukes@gnat.com>
8874
8875 * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
8876 compatibility with type Unwind_Word on 16-bit targets such as AAMP.
8877
8878 2004-10-26 Cyrille Comar <comar@act-europe.fr>
8879
8880 * a-filico.ads, a-filico.adb: fix incorrect header.
8881
8882 2004-10-26 Javier Miranda <miranda@gnat.com>
8883
8884 * a-ststio.ads: Fix typo in identifier
8885
8886 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
8887
8888 * sem_ch4.adb: Minor reformatting.
8889
8890 2004-10-26 Ed Schonberg <schonberg@gnat.com>
8891
8892 * checks.adb (Expr_Known_Valid): If floating-point validity checks are
8893 enabled, check the result of unary and binary operations when the
8894 expression is the right-hand side of an assignment.
8895
8896 2004-10-26 Vincent Celier <celier@gnat.com>
8897
8898 * clean.adb (Delete): Do not output warnings when in quiet output and
8899 not in verbose mode.
8900 (Force_Deletions): New Boolean flag, defaulted to False
8901 (Delete): Only delete a file if it is writable, and when
8902 Force_Deletions is True.
8903 (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
8904 (Usage): Line for new switch -f
8905 (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
8906 own.
8907
8908 2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
8909
8910 * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
8911 JM type only if its size matches that of the wrapper. When a size is
8912 prescribed and the field is not aliased, remove the wrapper of a JM
8913 type only if the size is not greater than that of the packed array.
8914 (gnat_to_gnu_entity): Change the extension of packed array wrappers
8915 from LJM to JM.
8916
8917 2004-10-26 Geert Bosch <bosch@gnat.com>
8918
8919 * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
8920 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
8921 (Pred): Implement in terms of Succ.
8922
8923 2004-10-26 Ed Schonberg <schonberg@gnat.com>
8924
8925 * exp_aggr.adb (Safe_Component): An aggregate component that is an
8926 unchecked conversion is safe for in-place use if the expression of the
8927 conversion is safe.
8928 (Expand_Array_Aggregate): An aggregate that initializes an allocator may
8929 be expandable in place even if the aggregate does not come from source.
8930 (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
8931 designated object of an allocator in place, rather than building it
8932 first on the stack. The previous scheme forces a full copy of the array,
8933 and may be altogether unsusable if the size of the array is too large
8934 for stack allocation.
8935
8936 2004-10-26 Robert Dewar <dewar@gnat.com>
8937
8938 * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
8939 compares if the component is atomic.
8940
8941 * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
8942 array assignment if the component type is atomic.
8943
8944 2004-10-26 Ed Schonberg <schonberg@gnat.com>
8945 Eric Botcazou <ebotcazou@act-europe.fr>
8946
8947 * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
8948 is aliased and is a by_reference type, do not pass by copy.
8949 (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
8950 detect whether the call is in the right side of an assignment or
8951 the expression of an object declaration. Recurse on component
8952 association within aggregates.
8953 Call it in the condition that determines whether the temporary is
8954 necessary for correct stack-checking.
8955
8956 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
8957
8958 * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
8959 RACW_Type, used in the PolyORB version.
8960 Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
8961 version and the GARLIC version.
8962
8963 * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
8964 Rename RCI_Info to RCI_Locator for better consistency between the
8965 GARLIC and PolyORB versions of the distributed systems annex.
8966 (DSA_Implementation_Name): This enumeration lists the possible
8967 implementations of the Partition Communication Subsystem for the
8968 Distributed Systems Annex (DSA). The three available implementations
8969 are the dummy stub implementation (No_DSA), and two versions based on
8970 two different distribution runtime libraries: GARLIC and PolyORB. Both
8971 the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
8972 technology.
8973 Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
8974 that organization.
8975
8976 * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
8977 between the GARLIC and PolyORB versions of the distributed systems
8978 annex.
8979 Remove RE_Unbounded_Reclaim_Pool since it is unused.
8980
8981 2004-10-26 Gary Dismukes <dismukes@gnat.com>
8982
8983 * gnat1drv.adb: Suppress calling the back end when
8984 Frontend_Layout_On_Target is true.
8985
8986 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
8987
8988 * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
8989 Set_Read_Only): New subprograms.
8990 These new routines allow the user to set or unset the Owner execute
8991 and Owner write permission flags on a file.
8992
8993 * makegpr.adb, mlib.adb, mlib-prj.adb: Use
8994 GNAT.OS_Lib.Set_Executable instead of rolling our own.
8995
8996 2004-10-26 Matthew Gingell <gingell@gnat.com>
8997
8998 * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
8999
9000 2004-10-26 Pascal Obry <obry@gnat.com>
9001
9002 * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
9003 memory before the faulting page we properly test the process read
9004 access for this address using appropriate Win32 routine.
9005 (HPUX sections): guard with "__hpux__" instead of "hpux".
9006
9007 2004-10-26 Robert Dewar <dewar@gnat.com>
9008
9009 * lib-xref.adb (Generate_Reference): Don't complain about reference to
9010 entry parameter if pragma Unreferenced set, since we do not properly
9011 handle the case of multiple parameters.
9012
9013 2004-10-26 Vincent Celier <celier@gnat.com>
9014
9015 * prj-env.adb: (Contains_ALI_Files): New Boolean function
9016 (Ada_Objects_Path.Add): For a library project, add to the object path
9017 the library directory only if there is no object directory or if the
9018 library directory contains ALI files.
9019 (Set_Ada_Paths.Add.Recursive_Add): Ditto
9020
9021 2004-10-26 Vincent Celier <celier@gnat.com>
9022
9023 * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
9024 extension of library projects.
9025
9026 * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
9027 path defaults to ".:<prefix>/lib/gnat".
9028 (Parse): For an extending all project, allow direct import of a project
9029 that is virtually extended.
9030
9031 * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
9032 the specified name is directly imported, return its ID. Otherwise, if
9033 an extension of this project is imported, return the ID of the
9034 extension.
9035
9036 2004-10-26 Robert Dewar <dewar@gnat.com>
9037
9038 * s-arit64.adb: (Le3): New function, used by Scaled_Divide
9039 (Sub3): New procedure, used by Scaled_Divide
9040 (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
9041 correct more than one instance of failure to propagate carries
9042 correctly.
9043 (Double_Divide): Handle overflow case of largest negative number
9044 divided by minus one.
9045
9046 * s-arit64.ads (Double_Divide): Document that overflow can occur in
9047 the case of a quotient value out of range.
9048 Fix comments.
9049
9050 2004-10-26 Robert Dewar <dewar@gnat.com>
9051
9052 * s-bitops.adb (Bit_Eq): Remove redundant check.
9053
9054 * s-bitops.ads: Minor comment updates
9055 Change some occurrences of Address to System.Address
9056
9057 * s-carsi8.ads: Fix minor cut-and-paste error in comments
9058
9059 2004-10-26 Ed Schonberg <schonberg@gnat.com>
9060
9061 * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
9062 accessibility check to prefix that is a protected operation.
9063
9064 2004-10-26 Ed Schonberg <schonberg@gnat.com>
9065
9066 * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
9067 empty, post message on stub.
9068
9069 2004-10-26 Ed Schonberg <schonberg@gnat.com>
9070 Javier Miranda <miranda@gnat.com>
9071
9072 * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
9073 current instance appears within a unit that is directly in the context
9074 of the main unit.
9075 Used to determine whether the body of the instance should be analyzed
9076 immediately after its spec, to make its subprogram bodies available
9077 for front-end inlining.
9078 (Analyze_Formal_Array_Type): Cleanup condition that checks that range
9079 constraint is not allowed on the component type (AARM 12.5.3(3))
9080
9081 2004-10-26 Cyrille Comar <comar@act-europe.fr>
9082
9083 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
9084 'Storage_Pool): enhance, document & limit detection of non-sharable
9085 internal pools.
9086
9087 * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
9088
9089 * s-pooglo.ads: Add more documentation now that this pool is properly
9090 documented.
9091
9092 2004-10-26 Ed Schonberg <schonberg@gnat.com>
9093
9094 * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
9095 or protected type with discriminants, do not constrain the
9096 corresponding record type if the subtype declaration has no
9097 discriminant constraints. This can be the case in source code, or in
9098 the subtype declaration created to rename an actual type within an
9099 instantiation.
9100
9101 2004-10-26 Ed Schonberg <schonberg@gnat.com>
9102
9103 * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
9104 different kind of stub (possibly wrong name for file), do not check
9105 for conformance.
9106 (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
9107 includes call to some function that returns an unconstrained type, do
9108 not inline.
9109
9110 2004-10-26 Ed Schonberg <schonberg@gnat.com>
9111
9112 * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
9113 appear in the code for the main unit. Dependencies among units in the
9114 context of the main unit are established when those other units are
9115 compiled. Otherwise spurious elaboration constraints can generate
9116 incorrect elaboration circularities.
9117
9118 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
9119 Ed Schonberg <schonberg@gnat.com>
9120
9121 * sem_util.adb (Is_Aliased_View): Defend against the case where this
9122 subprogram is called with a parameter that is not an object name. This
9123 situation arises for some cases of illegal code, which is diagnosed
9124 later, and in this case it is wrong to call Is_Aliased, as that might
9125 cause a compiler crash.
9126 (Explain_Limited_Type): Refine previous fix to include
9127 inherited components of derived types, to provide complete information.
9128
9129 * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
9130 is the prival for a protected object.
9131 It is necessary to mark this entity as a variable, in addition to
9132 flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
9133 modified to avoid checking the Aliased flag on entities that are not
9134 objects. (Checking that flag for non-objects is erroneous and could
9135 lead to a compiler crash).
9136
9137 2004-10-26 Robert Dewar <dewar@gnat.com>
9138
9139 * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
9140 X_Frac = 0.5, then we know that the number X must be positive.
9141 (Succ): Remove the same redundant test, and also fix the primary test
9142 to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
9143 Minor reformatting
9144 (Decompose): Add fuller comments to spec
9145
9146 2004-10-26 Pascal Obry <obry@gnat.com>
9147
9148 * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
9149 validity (process must have read access). Set to 0 in all other cases.
9150 (STOP_FRAME): Now check for ptr validity to avoid a segmentation
9151 violation on Win32.
9152 (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
9153 segmentation violation.
9154
9155 2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
9156
9157 * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
9158 whose type is a constructed subtype of an aliased object with an
9159 unconstrained nominal subtype, convert the actual to the constructed
9160 subtype before taking its address.
9161
9162 2004-10-26 Vincent Celier <celier@gnat.com>
9163
9164 * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
9165 (Is_Path_Name_Case_Sensitive): New function
9166
9167 * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
9168 (Base_Name, Simple_Name, Current_Directory, Compose,
9169 Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
9170 the result.
9171
9172 2004-10-26 Cyrille Comar <comar@act-europe.fr>
9173 Vasiliy Fofanov <fofanov@act-europe.fr>
9174 Vincent Celier <celier@gnat.com>
9175
9176 * gnat_ugn.texi: Generalize "finding memory problems" section into a
9177 "memory management issues" section and document some of the useful
9178 memory pools provided as part of the GNAT library.
9179 Remove "virtual" from declaration of A::method2 in
9180 the simple example of Ada/C++ mixed system.
9181 Library Projects may be virtually extended: their virtual extensions
9182 are not Library Projects.
9183 Added section on extending project hierarchies.
9184
9185 2004-10-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
9186
9187 * adaint.c (__gnat_get_libraries_from_registry): Cast value
9188 to LPBYTE.
9189 (__gnat_portable_spawn): Remove const.
9190
9191 * mingw32.h (MAXPATHLEN): Check for previous definition.
9192
9193 2004-10-17 Matthias Klose <doko@debian.org>
9194
9195 * gnatvsn.ads: Set gnat library version to 4.0.
9196
9197 2004-10-05 Vincent Celier <celier@gnat.com>
9198
9199 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
9200
9201 2004-10-04 Laurent GUERBY <laurent@guerby.net>
9202
9203 PR ada/15156
9204 * Makefile.in: Define and use RANLIB_FLAGS.
9205
9206 2004-10-04 Pascal Obry <obry@gnat.com>
9207
9208 * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
9209 other x86 platforms).
9210
9211 2004-10-04 Olivier Hainque <hainque@act-europe.fr>
9212
9213 * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
9214 in general and triggers stack alignment adjustment for thread entry
9215 points on targets where this is necessary.
9216
9217 2004-10-04 Bernard Banner <banner@gnat.com>
9218
9219 PR ada/13897
9220
9221 * Makefile.in: Add section for powerpc linux
9222 Add variant i-vxwork-x86.ads
9223
9224 * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
9225
9226 2004-10-04 Olivier Hainque <hainque@act-europe.fr>
9227
9228 * init.c (__gnat_initialize): Call an Ada subprogram to perform the
9229 table registration calls when need be. Ensures no reference to the crt
9230 ctors symbol are issued in the SJLJ case, which avoids possible
9231 undefined symbol errors in the case of modules to be statically linked
9232 with the kernel.
9233
9234 2004-10-04 Javier Miranda <miranda@gnat.com>
9235
9236 * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
9237 in-line the code corresponding to subprogram Analyze_Actuals. In
9238 addition, analyze the actuals only in case of subprogram call.
9239
9240 2004-10-04 Ed Falis <falis@gnat.com>
9241
9242 * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
9243
9244 2004-10-04 Sergey Rybin <rybin@act-europe.fr>
9245
9246 * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
9247 in the documentation.
9248
9249 2004-10-04 Robert Dewar <dewar@gnat.com>
9250
9251 * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
9252 IF and CASE.
9253 (Analyze_Block_Statement): Add circuitry to detect following dead code
9254 (Check_Unreachable_Code): Handle case of block exit
9255
9256 2004-10-04 Robert Dewar <dewar@gnat.com>
9257
9258 * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
9259 (XMatchD): Avoid warning for Logic_Error call
9260
9261 2004-10-04 Robert Dewar <dewar@gnat.com>
9262
9263 * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
9264 consider expressions buried within a procedure actual to be an actual.
9265 This caused some blowups with uses of packed slices within a procedure
9266 actual.
9267
9268 2004-10-04 Robert Dewar <dewar@gnat.com>
9269
9270 * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
9271 longer need to be initialized to zero.
9272 (Get_Simple_Init_Val): Modular packed arrays no longer need to be
9273 initialized to zero.
9274
9275 * checks.adb (Expr_Known_Valid): Packed arrays are now always
9276 considered valid, even if the representation is modular. That's correct
9277 now that we no longer initialize packed modular arrays to zero.
9278
9279 * exp_dbug.ads: Clarify documentation on handling of PAD and JM
9280 suffixes. These are now documented as the only cases in which the
9281 debugger ignores outer records.
9282 Previously, the spec allowed arbitrary suffixes for this purpose.
9283 Change name of LJM to JM for packed array pad records
9284 Create separate section on packed array handling, and add a whole new
9285 set of comments to this section describing the situation with packed
9286 modular types and justification requirements depending on endianness.
9287
9288 2004-10-04 Robert Dewar <dewar@gnat.com>
9289
9290 * a-except.adb: Add a comment for last change
9291
9292 * einfo.ads: Minor spelling correction in comment
9293
9294 * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
9295
9296 * sem_ch11.adb: Fix a case of using | instead of \ for continuation
9297 messages.
9298
9299 * sem_util.ads: Minor comment update
9300
9301 2004-10-04 Ed Schonberg <schonberg@gnat.com>
9302
9303 * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
9304 Inline_Always when in Configurable_Run_Time mode.
9305
9306 * sem_prag.adb (Process_Convention): If entity is an inherited
9307 subprogram, apply convention to parent subprogram if in same scope.
9308 (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
9309 when in Configurable_Run_Time mode.
9310
9311 2004-10-04 Ed Schonberg <schonberg@gnat.com>
9312
9313 * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
9314 class_wide type after component list has been inherited.
9315
9316 2004-10-04 Ed Schonberg <schonberg@gnat.com>
9317
9318 * sem_ch12.adb (Check_Generic_Actuals): New predicate
9319 Denotes_Previous_Actual, to handle properly the case of a private
9320 actual that is also the component type of a subsequent array actual.
9321 The visibility status of the first actual is not affected when the
9322 second is installed.
9323 (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
9324 make fully recursive the treatment of formals of packages declared
9325 with a box.
9326 (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
9327 the above on exit from an instantiation.
9328 (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
9329 current instantiation which is now complete.
9330 (Analyze_Package_Instantiation): No instantiated body is needed if the
9331 main unit is generic. Efficient, and avoid anomalies when a instance
9332 appears in a package accessed through rtsfind.
9333
9334 2004-10-04 Ed Schonberg <schonberg@gnat.com>
9335
9336 * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
9337 do not generate a declaration for a temporary if the call is part of a
9338 library-level instantiation.
9339
9340 2004-10-04 Ed Schonberg <schonberg@gnat.com>
9341
9342 * sem_util.adb (Explain_Limited_Type): Ignore internal components when
9343 searching for a limited component to flag.
9344
9345 * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
9346 expansion of Input, to account for the fact that the implicit call
9347 generated by the attribute reference must freeze the user-defined
9348 stream subprogram. This is only relevant to 'Input, because it can
9349 appear in an object declaration, prior to the body of the subprogram.
9350
9351 * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
9352 expansion can proceed and further errors uncovered.
9353 (Minor clean up): Fix cases of using | instead of \ for continuation
9354 messages.
9355
9356 2004-10-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9357
9358 * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
9359
9360 * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
9361 (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
9362 Use gcc_assert and gcc_unreachable.
9363
9364 * decl.c (gnat_to_gnu_entity, case object): Check and process a
9365 specified alignment before validating size.
9366 (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
9367 stripped-down declaration for the type of the inner field when making
9368 a JM type.
9369
9370 * utils.c (finish_record_type): Do not compute the size in units
9371 incrementally. Instead compute it once for the rep clause case.
9372 Use gcc_assert and gcc_unreachable.
9373
9374 2004-10-04 Vincent Celier <celier@gnat.com>
9375
9376 * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
9377 in file name.
9378 (Is_Valid_Path_Name): Take '/' as a directory separator.
9379
9380 2004-10-04 Vincent Celier <celier@gnat.com>
9381
9382 * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
9383 (Extended_Project) only if Extended_Project is defined, to avoid
9384 assertion error.
9385 (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
9386 resolved path.
9387 (Parse_Single_Project): Ditto.
9388
9389 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
9390 Add_To_Project_Path for virtual projects.
9391
9392 2004-10-04 Vincent Celier <celier@gnat.com>
9393
9394 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
9395 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
9396 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
9397 mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
9398 parameter Options_2.
9399
9400 * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
9401 Build_Dynamic_Library with an empty Options_2.
9402
9403 * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
9404 default anymore.
9405
9406 * makegpr.adb (Get_Imported_Directories.add): Remove trailing
9407 directory separator, if any.
9408 (Gprmake): Do not allow mains on the command line for library projects.
9409 Do not attempt to link when the project is a library project.
9410 (Library_Opts): New table to store Library_Options.
9411 (Build_Library): If Library_Options is specified, pass these options
9412 when building a shared library.
9413
9414 2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
9415
9416 * s-tposen.adb (Service_Entry): The object must be always unlocked at
9417 the end of this procedure now that the unlock operation was inserted
9418 by the expander.
9419
9420 2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
9421
9422 * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
9423 corresponding to the Preallocated_Stacks flags in System.
9424 (Get_Target_Parameters): Including the processing for
9425 Preallocated_Stacks.
9426
9427 * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
9428 system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
9429 system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
9430 system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
9431 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
9432 system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
9433 system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
9434 system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
9435 system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
9436 system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
9437 system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
9438 used to signal whether the compiler creates the required stacks and
9439 descriptors for the different tasks (when True) or it is done by the
9440 underlying operating system at run time (when False).
9441 It is initially set to False in all targets.
9442
9443 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
9444 if it is supported by the target.
9445 (Make_Task_Create_Call): Pass the stack address if it has been
9446 previously created. Otherwise pass a Null_Address.
9447
9448 * snames.adb: Add _stack.
9449
9450 * snames.ads: Add Name_uStack. Required to allow the expander to
9451 statically allocated task stacks.
9452
9453 * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
9454 Stack_Address argument.
9455 Check that its value is equal to Null_Address because this target does
9456 not support the static stack allocation.
9457
9458 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
9459
9460 * usage.adb: Change "pragma inline" to "pragma Inline" in information
9461 and error messages
9462
9463 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
9464
9465 * exp_dist.adb: Split declaration of asynchronous flag out of
9466 Add_RACW_Read_Attribute.
9467 Minor reformatting for better alignment with PolyORB version.
9468 Store the entity for the asynchronous flag of an RACW, rather than the
9469 expression, in the asynchronous flags table. This will allow this flag
9470 to be used in other subprograms beside Add_RACW_Read_Attribute.
9471
9472 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
9473
9474 * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
9475 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
9476 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
9477 g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
9478 g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads: Add new
9479 sockets constant MSG_NOSIGNAL (Linux-specific).
9480 Add new sockets constant MSG_Forced_Flags, list of flags to be set on
9481 all Send operations.
9482 For Linux, set MSG_NOSIGNAL on all send operations to prevent them
9483 from trigerring SIGPIPE.
9484 Rename components to avoid clash with Ada 2005 possible reserved
9485 word 'interface'.
9486 (Check_Selector): When the select system call returns with an error
9487 condition, propagate Socket_Error to the caller.
9488
9489 2004-10-01 Jan Hubicka <jh@suse.cz>
9490
9491 * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
9492
9493 2004-09-23 Robert Dewar <dewar@gnat.com>
9494
9495 PR ada/17540
9496
9497 * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
9498 instead do this at freeze time (we won't do it if there is an address
9499 clause).
9500 Change "pragma inline" to "pragma Inline" in information and error
9501 messages.
9502 Minor reformatting.
9503
9504 * freeze.adb (Check_Address_Clause): Remove previous change, not the
9505 right way of doing things after all.
9506 (Freeze_Entity): For object, set Is_Public for imported entities
9507 unless there is an address clause present.
9508
9509 2004-09-21 Olivier Hainque <hainque@act-europe.fr>
9510
9511 * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
9512 dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
9513 ensures proper handling of types with rep clauses, which might have
9514 their TYPE_SIZE set already.
9515
9516 2004-09-21 Robert Dewar <dewar@gnat.com>
9517
9518 * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
9519 packed array types in both little- and big-endian cases. This change
9520 ensures that we no longer count on the unused bits being initialized
9521 for such types (and in particular ensures that equality testing will
9522 only read the relevant bits).
9523 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
9524 These changes mean that we no longer need to initialize small packed
9525 arrays.
9526 (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
9527 optimization to an LJM field as to its parent field.
9528
9529 * ada-tree.h, trans.c, utils.c, utils2.c:
9530 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
9531
9532 2004-09-20 Jan Hubicka <jh@suse.cz>
9533
9534 * utils.c (gnat_finalize): Remove.
9535 (end_subprog_body): Directly call cgraph_finalize_function;
9536 do not lower the nested functions.
9537
9538 2004-09-20 Robert Dewar <dewar@gnat.com>
9539
9540 PR ada/17540
9541
9542 * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
9543 if an address clause is present, since that means that the Import
9544 should be ignored.
9545
9546 2004-09-20 Arnaud Charlet <charlet@act-europe.fr>
9547
9548 * 5tsystem.ads: Removed, no longer used.
9549
9550 2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
9551 Zack Weinberg <zack@codesourcery.com>
9552
9553 * ada-tree.def: Use tree_code_class enumeration constants
9554 instead of code letters.
9555 * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
9556 Update for new tree-class enumeration constants.
9557
9558 2004-09-17 Vincent Celier <celier@gnat.com>
9559
9560 * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
9561 capabilities of the general project manager.
9562
9563 2004-09-09 Vincent Celier <celier@gnat.com>
9564
9565 * a-direct.ads: Add pragma Ada_05
9566 (Directory_Entry_Type): Give default value to component Kind to avoid
9567 not initialized warnings.
9568
9569 * a-direct.adb (Current_Directory): Remove directory separator at the
9570 end.
9571 (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
9572 an existing directory.
9573 (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
9574 (Size (String)): Function C_Size returns Long_Integer, not File_Size.
9575 Convert the result to File_Size.
9576
9577 * prj.ads: (Project_Error): New exception
9578
9579 * prj-attr.adb: Except in procedure Initialize, Fail comes from
9580 Prj.Com, not from Osint.
9581 (Attrs, Package_Attributes): Tables moved to private part of spec
9582 (Add_Attribute, Add_Unknown_Package): Moved to new child package
9583 Prj.Attr.PM.
9584 (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
9585 Prj.Project_Error after call to Fail.
9586 (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
9587 Fail. Check that package name is not already in use.
9588
9589 * prj-attr.ads: Comment updates to indicate that all subprograms may be
9590 used by tools, not only by the project manager, and to indicate that
9591 exception Prj.Prj_Error may be raised in case of problem.
9592 (Add_Unknown_Package, Add_Attribute): Moved to new child package
9593 Prj.Attr.PM.
9594 (Attrs, Package_Attributes): Table instantiations moved from the body to
9595 the private part to be accessible from Prj.Attr.PM body.
9596
9597 * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
9598 from new package Prj.Attr.PM.
9599 (Parse_Attribute_Declaration): Call Add_Attribute from new package
9600 Prj.Attr.PM.
9601
9602 * Makefile.in: Add prj-attr-pm.o to gnatmake object list
9603
9604 * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
9605 instead of Elaboration_Checks).
9606
9607 * a-calend.adb: Minor reformatting
9608
9609 2004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9610
9611 * gigi.h (maybe_pad_type): New declaration.
9612 (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
9613
9614 * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
9615
9616 * cuintp.c: Convert to use buildN.
9617
9618 * decl.c (maybe_pad_type): No longer static.
9619 (gnat_to_gnu_entity, case E_Function): Handle case of returning by
9620 target pointer.
9621 Convert to use buildN.
9622
9623 * trans.c (call_to_gnu): Add arg GNU_TARGET; support
9624 TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed.
9625 (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
9626 RHS.
9627 (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
9628 (gnat_gimplify_expr, case ADDR_EXPR): New case.
9629 Convert to use buildN.
9630
9631 * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
9632 TREE_READONLY for const.
9633 Convert to use buildN.
9634
9635 * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
9636 (create_var_decl): Refine when TREE_STATIC is set.
9637 Convert to use buildN.
9638
9639 2004-09-09 Gary Dismukes <dismukes@gnat.com>
9640
9641 * gnat_ugn.texi: Delete text relating to checking of ali and object
9642 consistency.
9643
9644 * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
9645 routines.
9646
9647 2004-09-09 Jose Ruiz <ruiz@act-europe.fr>
9648
9649 * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
9650 pragmas recognized by GNAT.
9651
9652 * gnat_rm.texi: Document pragma Detect_Blocking.
9653
9654 * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
9655 raise Program_Error if called from a protected operation.
9656
9657 * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
9658 the protected action nesting level.
9659 (Lock_Read_Only): When pragma Detect_Blocking is active increase the
9660 protected action nesting level.
9661 (Unlock): When pragma Detect_Blocking is active decrease the protected
9662 action nesting level.
9663
9664 * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
9665 Protected_Action_Nesting.
9666
9667 * s-taskin.ads: Adding the field Protected_Action_Nesting to the
9668 Common_ATCB record. It contains the dynamic level of protected action
9669 nesting for each task. It is needed for checking whether potentially
9670 blocking operations are called from protected operations.
9671 (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
9672 Detect_Blocking is active or not in the partition.
9673
9674 * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
9675 raise Program_Error if called from a protected operation.
9676 (Task_Entry_Call): When pragma Detect_Blocking is active, raise
9677 Program_Error if called from a protected operation.
9678 (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
9679 Program_Error if called from a protected operation.
9680
9681 * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
9682 raise Program_Error if called from a protected operation.
9683
9684 * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
9685 raise Program_Error if called from a protected operation, and increase
9686 the protected action nesting level.
9687 (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
9688 Program_Error if called from a protected operation, and increase the
9689 protected action nesting level.
9690 (Unlock_Entries): When pragma Detect_Blocking is active decrease the
9691 protected action nesting level.
9692
9693 * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
9694 raise Program_Error if called from a protected operation, and increase
9695 the protected action nesting level.
9696 (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
9697 Program_Error if called from a protected operation, and increase the
9698 protected action nesting level.
9699 (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
9700 raise Program_Error if called from a protected operation.
9701 (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
9702 active, raise Program_Error if called from a protected operation.
9703 (Unlock_Entry): When pragma Detect_Blocking is active decrease the
9704 protected action nesting level.
9705
9706 * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
9707 insertion of the statement raising Program_Error. The run time
9708 contains the required machinery for handling that.
9709
9710 * sem_util.ads: Change comment associated to procedure
9711 Check_Potentially_Blocking_Operation.
9712 This procedure does not insert a call for raising the exception because
9713 that is currently done by the run time.
9714
9715 * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
9716
9717 * init.c: Add the global variable __gl_detect_blocking that indicates
9718 whether pragma Detect_Blocking is active (1) or not (0). Needed for
9719 making the pragma available at run time.
9720 (__gnat_set_globals): Pass and update the detect_blocking parameter.
9721
9722 * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
9723 pragma Detect_Blocking is active.
9724
9725 * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
9726
9727 * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
9728 DB is found in the ali file. Any unit compiled with pragma
9729 Detect_Blocking active forces its effect in the whole partition.
9730
9731 * a-retide.adb (Delay_Until): Raise Program_Error if pragma
9732 Detect_Blocking is active and delay is called from a protected
9733 operation.
9734
9735 * bindgen.adb (Gen_Adainit_Ada): When generating the call to
9736 __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
9737 Detect_Blocking is active (0 otherwise).
9738 (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
9739 as Detect_Blocking parameter if pragma Detect_Blocking is active (0
9740 otherwise).
9741
9742 2004-09-09 Thomas Quinot <quinot@act-europe.fr>
9743
9744 * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
9745 GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
9746 package.
9747
9748 * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
9749 (Register_Receiving_Stub): Add Subp_Info formal parameter.
9750 Update API in placeholder implemetation of s-parint to reflect changes
9751 in distribution runtime library.
9752
9753 * sem_ch3.adb (Expand_Derived_Record): Rename to
9754 Expand_Record_Extension.
9755
9756 * sem_disp.adb (Check_Controlling_Formals): Improve error message for
9757 primitive operations of potentially distributed object types that have
9758 non-controlling anonymous access formals.
9759
9760 * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
9761 subprogram.
9762 New implementation of expansion for remote access-to-subprogram types,
9763 based on the RACW infrastructure.
9764 This version of sem_dist is compatible with PolyORB/DSA as well as
9765 GLADE.
9766
9767 * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
9768 Asynchrronous that applies to a remote access-to-subprogram type, mark
9769 the underlying RACW type as asynchronous.
9770
9771 * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
9772 __gnat_using_gnu_linker to 1.
9773
9774 * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
9775 g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
9776 GNAT.Perfect_Hash_Generators, and remove the empty
9777 GNAT.Perfect_Hash package.
9778
9779 * atree.adb: Minor reformatting
9780
9781 * exp_ch3.adb (Expand_Derived_Record): Rename to
9782 Expand_Record_Extension.
9783 (Build_Record_Init_Proc.Build_Assignment): The default expression in
9784 a component declaration must remain attached at that point in the
9785 tree so New_Copy_Tree copies it if the enclosing record type is derived.
9786 It is therefore necessary to take a copy of the expression when building
9787 the corresponding assignment statement in the init proc.
9788 As a side effect, in the case of a derived record type, we now see the
9789 original expression, without any rewriting that could have occurred
9790 during expansion of the ancestor type's init proc, and we do not need
9791 to go back to Original_Node.
9792
9793 * exp_ch3.ads (Expand_Derived_Record): Rename to
9794 Expand_Record_Extension.
9795
9796 * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
9797 Returns the RACW type used to implement a remote access-to-subprogram
9798 type.
9799 (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
9800 New subprograms. Used to create a proxy tagged object for a remote
9801 subprogram. The proxy object is used as the designated object
9802 for RAS values on the same partition (unless All_Calls_Remote applies).
9803 (Build_Get_Unique_RP_Call): New subprogram. Build a call to
9804 System.Partition_Interface.Get_Unique_Remote_Pointer.
9805 (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
9806 Renamed from Add_RAS_*_Attribute.
9807 (Add_Receiving_Stubs_To_Declarations): Generate a table of local
9808 subprograms.
9809 New implementation of expansion for remote access-to-subprogram types,
9810 based on the RACW infrastructure.
9811
9812 * exp_dist.ads (Copy_Specification): Update comment to note that this
9813 function can copy the specification from either a subprogram
9814 specification or an access-to-subprogram type definition.
9815
9816 2004-09-09 Ed Schonberg <schonberg@gnat.com>
9817
9818 * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
9819 in an instance, between an explicit subprogram an one inherited from a
9820 type derived from an actual.
9821
9822 * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
9823 add a polling call if the subprogram is to be inlined by the back-end,
9824 to avoid repeated calls with multiple inlinings.
9825
9826 * checks.adb (Apply_Alignment_Check): If the expression in the address
9827 clause is a call whose name is not a static entity (e.g. a dispatching
9828 call), treat as dynamic.
9829
9830 2004-09-09 Robert Dewar <dewar@gnat.com>
9831
9832 * g-trasym.ads: Minor reformatting
9833
9834 * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
9835 packed arrays, since unused bits are expected to be zero for a
9836 comparison.
9837
9838 2004-09-09 Eric Botcazou <ebotcazou@act-europe.fr>
9839
9840 * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
9841 comment.
9842
9843 2004-09-09 Pascal Obry <obry@gnat.com>
9844
9845 * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
9846 enable map file generation. Add the right option to generate the map
9847 file if Map_File is set to True.
9848
9849 * gnatdll.adb (Gen_Map_File): New variable.
9850 (Syntax): Add info about new -m (Map_File) option.
9851 (Parse_Command_Line): Add support for -m option.
9852 (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
9853 Minor reformatting.
9854
9855 2004-09-09 Laurent Pautet <pautet@act-europe.fr>
9856
9857 * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
9858 new gnatdist implementation.
9859 Define a subpackage isolating the output routines specific to this
9860 verbose mode.
9861
9862 2004-09-09 Joel Brobecker <brobecker@gnat.com>
9863
9864 * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
9865
9866 * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
9867
9868 2004-09-09 Cyrille Comar <comar@act-europe.fr>
9869
9870 * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
9871 internal unit.
9872
9873 * opt.ads: Add Ada_Version_Runtime constant used to decide which
9874 version of the language is used to compile the run time.
9875
9876 2004-09-09 Arnaud Charlet <charlet@act-europe.fr>
9877
9878 * sem_util.adb (Requires_Transient_Scope): Re-enable handling
9879 of variable length temporaries for function return now that the
9880 back-end and gigi support it.
9881
9882 2004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9883
9884 * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
9885
9886 * trans.c (struct stmt_group): Delete field GLOBAL.
9887 (gnat_init_stmt_group): Do not initialize it.
9888 (call_to_gnu): Use save_expr, not protect_multiple_eval.
9889 (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
9890 (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
9891 (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
9892 (start_stmt_group): Likewise.
9893 (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
9894
9895 * utils2.c (ggc.h): Include.
9896 (build_call_raise): Call build_int_cst, not build_int_2.
9897
9898 * utils.c (gnat_init_decl_processing): Fix arg to
9899 build_common_tree_nodes.
9900 (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
9901 (gnat_define_builtin): Set built_in_decls.
9902 (init_gigi_decls): Call build_int_cst, not build_int_2.
9903
9904 * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
9905 (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
9906 (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
9907 (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
9908 SET_TYPE_MODULE): Use them.
9909 (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
9910 (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
9911 (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
9912 SET_TYPE_ADA_SIZE): Likewise.
9913 (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
9914 (DECL_CONST_CORRESPONDING_VAR,
9915 SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
9916 (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
9917 (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
9918 (TYPE_RM_SIZE_NUM): New macro.
9919 (TYPE_RM_SIZE): Modified to use above.
9920
9921 * cuintp.c: (build_cst_from_int): New function.
9922 (UI_To_gnu): Use it.
9923
9924 * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
9925 (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
9926 (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
9927 MIN_EXPR for the size, copy it into new.
9928
9929 2004-09-01 Robert Dewar <dewar@gnat.com>
9930
9931 * exp_ch6.adb (Expand_Call): Properly handle validity checks for
9932 packed indexed component where array is an IN OUT formal. This
9933 generated garbage code previously.
9934
9935 * gnat_ugn.texi: Document -fverbose-asm
9936
9937 * gnat-style.texi: Minor updates (note that boolean constants and
9938 variables are joined with AND/OR rather than short circuit forms).
9939
9940 2004-09-01 Ed Schonberg <schonberg@gnat.com>
9941
9942 * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
9943 it is an upward conversion of an untagged type with no representation
9944 change.
9945
9946 2004-09-01 Thomas Quinot <quinot@act-europe.fr>
9947
9948 * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
9949 System.Partition_Interface.
9950
9951 * checks.adb (Apply_Access_Checks): Do not generate checks when
9952 expander is not active (but check for unset reference to prefix of
9953 dereference).
9954
9955 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
9956 pragma Debug as an if statement with a constant condition, for
9957 consistent treatment of entity references contained within the
9958 enclosed procedure call.
9959
9960 2004-09-01 Vincent Celier <celier@gnat.com>
9961
9962 * bindgen.adb: (Set_EA_Last): New procedure
9963 (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
9964 Set_EA_Last.
9965 (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
9966 (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
9967 linked without errors.
9968 (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
9969 ST and EA.
9970 (Gen_Exception_Table_C): Correct same bugs
9971
9972 * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
9973
9974 * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
9975 on Windows, make sure that the drive letter is in upper case.
9976
9977 * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
9978 Windows, when the drive letter is added and Case_Sensitive is True, the
9979 drive letter is forced to upper case.
9980
9981 * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
9982 to Options_2 for the call to MLib.Utl.Gcc.
9983
9984 * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
9985 directory separator when defining BASE_DIR.
9986
9987 2004-09-01 Pascal Obry <obry@gnat.com>
9988
9989 * gprcmd.adb (Extend): Do not output trailing directory separator. This
9990 is not needed and it confuses Windows GNU/make which does not report
9991 directory terminated by a slash as a directory.
9992 (gprcmd): Idem for "pwd" internal command.
9993
9994 * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
9995 target names rewrite to fix regressions with recent version of
9996 GNU/make. Starting with GNU/make 3.80 the pipe character was not
9997 handled properly anymore.
9998
9999 2004-09-01 Andreas Schwab <schwab@suse.de>
10000
10001 * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
10002 * raise.c [!IN_RTS]: Undef abort.
10003
10004 2004-08-27 Nathan Sidwell <nathan@codesourcery.com>
10005
10006 * utils2.c (build_allocator): Use ssize_int.
10007
10008 * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
10009
10010 2004-08-27 Andreas Schwab <schwab@suse.de>
10011
10012 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
10013
10014 2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
10015 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10016
10017 * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
10018
10019 2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
10020
10021 * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
10022 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
10023 * utils.c (init_gigi_decls): Likewise.
10024 * utils2.c (build_call_raise, build_allocator): Likewise.
10025
10026 2004-08-24 Nathan Sidwell <nathan@codesourcery.com>
10027
10028 * utils.c (gnat_init_decl_processing): Adjust
10029 build_common_tree_nodes call.
10030
10031 2004-08-20 Nathan Sidwell <nathan@codesourcery.com>
10032
10033 * utils2.c (build_allocator): Use build_int_cst for negative
10034 size types.
10035
10036 2004-08-18 Richard Henderson <rth@redhat.com>
10037
10038 * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
10039
10040 2004-08-16 Nathan Sidwell <nathan@codesourcery.com>
10041
10042 * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
10043 call.s
10044 * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
10045 (gnat_to_gnu): Likewise.
10046
10047 2004-08-16 Pascal Obry <obry@gnat.com>
10048
10049 * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
10050 backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
10051 option and not mdll anymore. Update comment.
10052
10053 2004-08-16 Pascal Obry <obry@gnat.com>
10054
10055 * bld.adb (Put_Include_Project): Properly handle directory separators
10056 on Windows.
10057
10058 2004-08-16 Ed Schonberg <schonberg@gnat.com>
10059
10060 * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
10061 decreasing the number of allocated junk nodes while searching for the
10062 appropriate subprogram.
10063
10064 2004-08-15 Nathan Sidwell <nathan@codesourcery.com>
10065
10066 * cuintp.c (UI_To_gnu): Use build_int_cst..
10067 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
10068 * utils.c (init_gigi_decls): Likewise.
10069 * utils2.c (build_call_raise): Likewise.
10070
10071 2004-08-13 Olivier Hainque <hainque@act-europe.fr>
10072
10073 * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
10074 for a global aliased object with a variable size and an unconstrained
10075 nominal subtype, pretend there is no initializer if the one we have is
10076 incomplete, and avoid referencing an inexistant component in there. The
10077 part we have will be rebuilt anyway and the reference may confuse
10078 further operations.
10079
10080 2004-08-13 Thomas Quinot <quinot@act-europe.fr>
10081
10082 * einfo.ads: Minor reformatting
10083
10084 * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
10085 restrictions in the ALI if we only want to warn about violations.
10086
10087 2004-08-13 Vincent Celier <celier@gnat.com>
10088
10089 * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
10090 when creating a new Unit_Record in table Units.
10091
10092 * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
10093 that are violated, if any.
10094
10095 * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
10096 add directory separator if path already ends with a directory separator.
10097
10098 2004-08-13 Ed Schonberg <schonberg@gnat.com>
10099
10100 * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
10101 unit, this is an attempt to inline a construct that is not available in
10102 the current restricted mode, so abort rather than trying to continue.
10103
10104 * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
10105 discriminants that rename those of the parent, recover names of
10106 original discriminants for the constraint on the full view of the
10107 parent.
10108 (Complete_Private_Subtype): Do not create a subtype declaration if the
10109 subtype is an itype.
10110
10111 * gnat_rm.texi: Added section on implementation of discriminated
10112 records with default values for discriminants.
10113
10114 2004-08-13 Ed Schonberg <schonberg@gnat.com>
10115
10116 PR ada/15601
10117 * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
10118 the second operand is overloaded.
10119
10120 2004-08-10 Richard Henderson <rth@redhat.com>
10121
10122 * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
10123 add __builtin_alloca.
10124
10125 2004-08-10 Richard Henderson <rth@redhat.com>
10126
10127 * config-lang.in (boot_language): Yes.
10128
10129 2004-08-09 Thomas Quinot <quinot@act-europe.fr>
10130
10131 * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
10132 from complaining on potential uninitialized reference.
10133 Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
10134 new specification and test explicitly for non-zero return value.
10135
10136 * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
10137 returning C.int, to avoid using a derived boolean type.
10138
10139 * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
10140 Duplicate_Subexpr_No_Checks in preference to direct use of
10141 Remove_Side_Effects and New_Copy_Tree.
10142 Clear Comes_From_Source on prefix of 'Size attribute reference.
10143
10144 * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
10145 g-socthi-vxworks.adb: Change calls to
10146 GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
10147 and test explicitly for non-zero return value.
10148
10149 * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
10150 (Is_Socket_In_Set): Declare imported function as returning C.int, to
10151 avoid using a derived boolean type.
10152
10153 2004-08-09 Albert Lee <lee@gnat.com>
10154
10155 * system-irix-n32.ads: Refine tasking priority constants for IRIX.
10156
10157 2004-08-09 Pascal Obry <obry@gnat.com>
10158
10159 * gnat_ugn.texi: Document new way to build DLLs on Windows using
10160 GCC's -shared option.
10161
10162 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
10163 Options_2 parameter (options put after object files).
10164
10165 2004-08-09 Olivier Hainque <hainque@act-europe.fr>
10166
10167 * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
10168 ignore overflows on low and high bounds of an index to also account for
10169 differences in signedness between sizetype and gnu_index_subtype.
10170 These are as legitimate as the ones caused by a lower TYPE_PRECISION
10171 on sizetype.
10172
10173 2004-08-09 Robert Dewar <dewar@gnat.com>
10174
10175 * s-solita.ads, s-solita.adb: Minor reformatting
10176
10177 * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
10178 Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
10179 obsolescent section
10180 Add note that No_Implicit_Conditionals does not suppress
10181 run time constraint checks.
10182
10183 * vms_conv.ads: Minor reformatting
10184
10185 * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
10186 and necessary for following change).
10187 (Mark): Return new format Mark_Id containing sec stack address
10188 (Release): Use sec stack address from Mark_Id avoiding Self call
10189
10190 * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
10191 pointer (cleanup and necessary for following change).
10192 Define Mark_Id as record containing address of secondary stack, that way
10193 Release does not need to find the stack again, decreasing the number of
10194 calls to Self and improving efficiency.
10195
10196 * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
10197
10198 * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
10199 case variable into the individual case branches when possible.
10200
10201 * sem_ch11.adb: Minor reformatting
10202
10203 * prj.ads: Correct spelling of suffixs
10204
10205 * prj-nmsc.adb: Minor reformatting
10206 Correct spelling suffixs throughout (also in identifiers)
10207
10208 * freeze.adb: Minor spelling correction
10209
10210 * exp_ch2.adb: Cleanups to handling of Current_Value
10211 (no functional effect).
10212
10213 * bld.adb: Correct spelling of suffixs
10214
10215 * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
10216
10217 2004-08-09 Ed Schonberg <schonberg@gnat.com>
10218
10219 PR ada/15408
10220
10221 * sem_ch7.adb (Install_Private_Declarations): In the body of the
10222 package or of a child, private entities are both immediately_visible
10223 and not hidden.
10224
10225 2004-08-09 Ed Schonberg <schonberg@gnat.com>
10226
10227 * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
10228 there are no range checks on the value of the literal.
10229
10230 * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
10231 wrapped is the triggering alternative of an asynchronous select, action
10232 statements mustbe inserted before the select itself.
10233
10234 * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
10235 case where the prefix is a protected function call.
10236 (Resolve_Attribute, case 'Access): The attribute reference on a
10237 subprogram is legal in a generic body if the subprogram is declared
10238 elsewhere.
10239
10240 2004-08-09 Vincent Celier <celier@gnat.com>
10241
10242 * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
10243 languages, otherwise building the library may fail with unresolved
10244 symbols.
10245 (Compile_Sources): Do not build libraries if -c switch is used
10246
10247 * gnatlink.adb (Process_Args): New switches -M and -Mmap
10248 (Write_Usage): If map file creation is supported, output new switches
10249 -M and -Mmap.
10250 (Gnatlink): When -M is specified, add the necessary switch(es) to the
10251 gcc call, when supported.
10252
10253 * Makefile.in: Added indepsw.o to the object list for gnatlink
10254 Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
10255
10256 * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
10257 indepsw.adb, indepsw.ads: New files.
10258
10259 2004-08-09 Bernard Banner <banner@gnat.com>
10260
10261 * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
10262
10263 * Makefile.in: add section for vxworks x86
10264
10265 2004-08-09 Hristian Kirtchev <kirtchev@gnat.com>
10266
10267 * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
10268 per-object constrained components where the discriminant is of an
10269 Access type.
10270 (Build_Record_Init_Proc): Add condition to prevent the inheritance of
10271 the parent initialization procedure for derived Unchecked_Unions.
10272 Instead, derived Unchecked_Unions build their own initialization
10273 procedure.
10274 (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
10275 Check the body of the subprogram for details.
10276 (Freeze_Record_Type): Prevent the inheritance of discriminant checking
10277 functions for derived Unchecked_Union types by introducing a condition.
10278 Allow the creation of TSS equality functions for Unchecked_Unions.
10279 (Make_Eq_Case): Rename formal parameter Node to E in function signature.
10280 Add formal parameter Discr to function signature. Discr is used to
10281 control the generated case statement for Unchecked_Union types.
10282 (Make_Eq_If): Rename formal parameter Node to E in function signature.
10283
10284 * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
10285 Unchecked_Unions.
10286 Check the body of the subprogram for details.
10287 (Expand_Composite_Equality): Augment composite type equality to include
10288 correct handling of Unchecked_Union components.
10289 (Expand_N_In): Add condition to detect illegal membership tests when the
10290 subtype mark is a constrained Unchecked_Union and the expression lacks
10291 inferable discriminants, and build a Raise_Program_Error node.
10292 (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
10293 to detect types that contain components of unconstrained Unchecked_Union
10294 subtype. Add condition to detect equality between types that have an
10295 unconstrained Unchecked_Union component, and build a Raise_Program_Error
10296 node. Add condition to detect equality between Unchecked_Union types
10297 that lack inferable discriminants, and build a Raise_Program_Error node.
10298 Otherwise build a TSS equality function call.
10299 (Expand_N_Type_Conversion): Add condition to detect illegal conversions
10300 from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
10301 with the operand lacking inferable discriminants, and build a Raise_
10302 Program_Error node.
10303 (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
10304 composite equality.
10305 (Has_Inferable_Discriminants): Implement new predicate for objects and
10306 expressions of Unchecked_Union type. Check the body of subprogram for
10307 details.
10308 (Has_Unconstrained_UU_Components): Add function
10309 Component_Is_Unconstrained_UU. It is used to detect whether a single
10310 component is of an unconstrained Unchecked_Union subtype. Add function
10311 Variant_Is_Unconstrained_UU. It is used to detect whether a single
10312 component inside a variant is of an unconstrained Unchecked_Union type.
10313
10314 * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
10315 inferred discriminant values. Add condition to generate a case
10316 statement with an inferred discriminant as the switch.
10317 (Make_Component_List_Assign): Introduce a Boolean flag that determines
10318 the behaviour of the subprogram in the presence of an Unchecked_Union.
10319 Add condition to trigger the usage of the inferred discriminant value
10320 as the generated case statement switch.
10321 (Make_Field_Assign): Introduce a Boolean flag that determines the
10322 behaviour of the subprogram in the presence of an Unchecked_Union. Add
10323 condition to trigger the usage of the inferred discriminant value as
10324 the right-hand side of the generated assignment.
10325
10326 * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
10327 parameter generation when dealing with Unchecked_Unions.
10328
10329 * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
10330 checks for Unchecked_Unions.
10331
10332 * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
10333
10334 * exp_attr.adb (Expand_N_Attribute_Reference): Produce
10335 Raise_Program_Error nodes for the execution of Read and Write
10336 attributes of Unchecked_Union types and the execution of Input and
10337 Output attributes of Unchecked_Union types that lack default
10338 discriminant values.
10339
10340 * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
10341 Unchecked_Union. Add procedure Check_Component. It is used to inspect
10342 per-object constrained components of Unchecked_Unions for being
10343 Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
10344 check individual components withing a variant.
10345
10346 * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
10347 comparison of Unchecked_Unions.
10348 (Resolve_Equality_OP): Remove guard that prevents equality between
10349 Unchecked_Unions.
10350
10351 * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
10352 of component subtypes for Unchecked_Union components.
10353 (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
10354 since it is the actual subtype.
10355
10356 * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
10357 pass of Unchecked_Union subtypes as generic actuals to formal types
10358 that lack known_discriminant_parts or that are derived Unchecked_Union
10359 types, and do nothing. In any other case, produce an error message.
10360
10361 * sem_ch3.adb (Analyze_Component_Declaration): Add function
10362 Contains_POC. It determines whether a constraint uses the discriminant
10363 of an enclosing record type.
10364 Add condition to detect per-object constrained component and set the
10365 appropriate flag.
10366 (Derived_Type_Declaration): Remove guard that prevents derivation from
10367 Unchecked_Union types.
10368 (Process_Subtype): Remove quard that prevents the creation of Unchecked_
10369 Union subtypes.
10370
10371 * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
10372 references to Unchecked_Union discriminants.
10373
10374 * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
10375 formal generation when dealing with Unchecked_Unions.
10376 (Set_Actual_Subtypes): Add condition to prevent generation of actual
10377 subtypes for Unchecked_Unions.
10378
10379 * sem_ch7.adb (Analyze_Package_Specification): Add procedure
10380 Inspect_Unchecked_Union_Completion. It is used to detect incorrect
10381 completions of discriminated partial views by Unchecked_Unions and
10382 produce an error message.
10383
10384 2004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10385
10386 * trans.c (struct stmt_group): New field, GLOBAL.
10387 (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
10388 (struct elab_info): New struct.
10389 (elab_info_list, gnu_elab_proc_stack): New variables.
10390 (Compilation_Unit_to_gnu): New procedure.
10391 (gigi): Call it and also handle elaboration procs we've saved.
10392 (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
10393 global field from parent.
10394 (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
10395 (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
10396 (start_stmt_group): Initialize global field from parent.
10397 (add_decl_expr): Set to global for current statement group.
10398 (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
10399 post.
10400
10401 * utils.c (global_bindings_p): True when no current_function_decl; no
10402 longer check current_binding_level.
10403
10404 2004-08-09 Ben Brosgol <brosgol@gnat.com>
10405
10406 * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
10407 choice.
10408
10409 * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
10410
10411 2004-08-06 Andreas Schwab <schwab@suse.de>
10412
10413 * utils.c (gnat_define_builtin): Remove second parameter of
10414 make_decl_rtl.
10415 (begin_subprog_body): Likewise.
10416
10417 2004-07-26 Arnaud Charlet <charlet@act-europe.fr>
10418
10419 * sem_util.adb (Requires_Transient_Scope): Temporarily disable
10420 optimization, not supported by the tree-ssa back-end.
10421
10422 2004-07-26 Olivier Hainque <hainque@act-europe.fr>
10423
10424 * s-mastop-irix.adb: Update comments.
10425
10426 * a-except.adb (Exception_Information): Raise Constraint_Error if
10427 exception Id is Null_Id.
10428 This is required behavior, which is more reliably and clearly checked
10429 at the top level interface level.
10430
10431 2004-07-26 Javier Miranda <miranda@gnat.com>
10432
10433 * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
10434 call if a component has no default_expression and the box is used.
10435
10436 * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
10437 default_expression and you use box, it behaves as if you had declared a
10438 stand-alone object.
10439 (Resolve_Record_Aggregate): If a component has no default_expression and
10440 you use box, it behaves as if you had declared a stand-alone object.
10441
10442 * sem_ch10.adb (Install_Siblings): Do not make visible the private
10443 entities of private-with siblings.
10444
10445 2004-07-26 Ed Schonberg <schonberg@gnat.com>
10446
10447 * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
10448 for a component of an itype, set the parent pointer for analysis,
10449 there is no list in which to insert it.
10450
10451 * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
10452 bona-fide renamings, not for inherited operations.
10453
10454 * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
10455 actual for a formal that is an access parameter, create local
10456 finalization list even if the expression is not an aggregate.
10457
10458 2004-07-26 Ed Schonberg <schonberg@gnat.com>
10459
10460 PR ada/16213
10461 * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
10462 Diagnose properly illegal subprogram renamings that are library units.
10463
10464 2004-07-26 Ed Schonberg <schonberg@gnat.com>
10465
10466 PR ada/15588
10467 * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
10468 conversion rewritten as an unchecked conversion, check that original
10469 expression is a variable.
10470
10471 * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
10472 unchecked_conversion, create new node rather than rewriting in place,
10473 to preserve original construct.
10474
10475 2004-07-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10476
10477 * gigi.h (gnat_expand_body): Deleted.
10478
10479 * Make-lang.in: (trans.o): Depends on function.h.
10480
10481 * misc.c: (gnat_expand_body): Moved to here.
10482
10483 * trans.c (gnat_expand_body_1): Deleted.
10484 (gnat_expand_body): Moved from here.
10485 (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
10486 (add_stmt): Check for marked visited with global_bindings_p.
10487 (gnat_gimplify_expr, case COMPONENT_REF): New case.
10488 (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
10489
10490 * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
10491 VIEW_CONVERT_EXPR if not operation type.
10492
10493 * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
10494 fat pointer.
10495
10496 * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
10497 changes: reformatting of negation operators, removing unneeded
10498 inequality comparison with zero, converting equality comparisons with
10499 zero to negations, changing int/0/1 to bool/false/true, replace calls
10500 to gigi_abort with abort, and various other similar changes.
10501
10502 2004-07-26 Vincent Celier <celier@gnat.com>
10503
10504 * gnatcmd.adb (GNATCmd): Add processing for new built-in command
10505 "setup".
10506
10507 * make.adb (Gnatmake): Fail when a library is not present and there is
10508 no object directory.
10509
10510 * mlib-prj.adb (Check_Library): No need to check if the library needs
10511 to be rebuilt if there is no object directory, hence no object files
10512 to build the library.
10513
10514 * opt.ads (Setup_Projects): New Boolean flag.
10515
10516 * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
10517 Location.
10518 Create directory when Kind /= "" and in "gnat setup". Report error if
10519 directory cannot be created.
10520 (Ada_Check): Create library interface copy dir if it does not exist
10521 and we are in "gnat setup".
10522 (Find_Sources): No error if in "gnat setup" and no Ada sources were
10523 found.
10524 (Language_Independent_Check): Create object directory, exec directory
10525 and/or library directory if they do not exist and we are in
10526 "gnat setup".
10527
10528 * vms_conv.ads: (Command_Type): New command Setup.
10529
10530 * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
10531
10532 * vms_data.ads: Add qualifiers/switches for new built-in command
10533 "setup".
10534
10535 2004-07-25 Richard Henderson <rth@redhat.com>
10536
10537 * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
10538 DECL_IGNORED_P on RESULT_DECL.
10539
10540 2004-07-20 Olivier Hainque <hainque@act-europe.fr>
10541
10542 * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
10543 allocation and potentially overflowing update with
10544 Tailored_Exception_Information. Use the sec-stack free procedural
10545 interface to output Exception_Information instead.
10546
10547 * a-except.adb (To_Stderr): New subprogram for character, and string
10548 version moved from a-exextr to be visible from other separate units.
10549 (Tailored_Exception_Information): Remove the procedural version,
10550 previously used by the default Last_Chance_Handler and not any more.
10551 Adjust various comments.
10552
10553 * a-exexda.adb: Generalize the exception information procedural
10554 interface, to minimize the use of secondary stack and the need for
10555 local buffers when the info is to be output to stderr:
10556 (Address_Image): Removed.
10557 (Append_Info_Character): New subprogram, checking for overflows and
10558 outputing to stderr if buffer to fill is of length 0.
10559 (Append_Info_String): Output to stderr if buffer to fill is of length 0.
10560 (Append_Info_Address, Append_Info_Exception_Name,
10561 Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
10562 Append_Info_Basic_Exception_Traceback,
10563 Append_Info_Exception_Information): New subprograms.
10564 (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
10565 (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
10566 Exception_Info_Maxlength, Exception_Name_Length,
10567 Exception_Message_Length): New subprograms.
10568 (Exception_Information): Use Append_Info_Exception_Information.
10569 (Tailored_Exception_Information): Use
10570 Append_Info_Basic_Exception_Information.
10571 Export services for the default Last_Chance_Handler.
10572
10573 * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
10574 other separate units.
10575
10576 2004-07-20 Vincent Celier <celier@gnat.com>
10577
10578 * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
10579
10580 2004-07-20 Ed Schonberg <schonberg@gnat.com>
10581
10582 * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
10583 emit itype references for the designated types of component types that
10584 are declared outside of the full record declaration, and that may
10585 denote a partial view of that record type.
10586
10587 2004-07-20 Ed Schonberg <schonberg@gnat.com>
10588
10589 PR ada/15607
10590 * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
10591 which is the designated type in an access component declaration, to the
10592 list of incomplete dependents of the parent type, to avoid elaboration
10593 issues with out-of-scope subtypes.
10594 (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
10595 full view of the parent.
10596
10597 2004-07-20 Ed Schonberg <schonberg@gnat.com>
10598
10599 PR ada/15610
10600 * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
10601 entities that are hidden, such as references to generic actuals
10602 outside an instance.
10603
10604 2004-07-20 Javier Miranda <miranda@gnat.com>
10605
10606 * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
10607 support to the new notation.
10608 (Analyze_Selected_Component): Add call to Try_Object_Operation.
10609
10610 2004-07-20 Jose Ruiz <ruiz@act-europe.fr>
10611
10612 * s-taprob.adb: Adding the elaboration code required for initializing
10613 the tasking soft links that are common to the full and the restricted
10614 run times.
10615
10616 * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
10617 restricted run time has been moved to the package
10618 System.Soft_Links.Tasking.
10619
10620 * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
10621 restricted run time has been moved to the package
10622 System.Soft_Links.Tasking.
10623
10624 * Makefile.rtl: Add entry for s-solita.o in run-time library list.
10625
10626 * s-solita.ads, s-solita.adb: New files.
10627
10628 2004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10629
10630 * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
10631 Case_Statement_to_gnu): Split off from gnat_to_gnu.
10632 (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
10633 Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
10634 Exception_Handler_to_gnu_zcx): Likewise.
10635
10636 2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
10637
10638 * gigi.h (builtin_function): Declare.
10639
10640 2004-07-15 Robert Dewar <dewar@gnat.com>
10641
10642 * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
10643 reformatting
10644
10645 * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
10646 access values as an example of a warning.
10647
10648 * gnat_rm.texi: Document new attribute Has_Access_Values
10649
10650 * gnat-style.texi: Document that box comments belong on nested
10651 subprograms
10652
10653 * sem_util.ads (Has_Access_Values): Improved documentation
10654
10655 * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
10656
10657 * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
10658 (Process_Interface_Name): Call to this new procedure
10659 (Set_Extended_Import_Export_External_Name): Call to this new procedure
10660
10661 * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
10662
10663 * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
10664
10665 * einfo.ads: Minor comment typo fixed
10666
10667 2004-07-15 Jose Ruiz <ruiz@act-europe.fr>
10668
10669 * snames.adb: Add _atcb.
10670
10671 * snames.ads: Add Name_uATCB.
10672
10673 * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
10674 (in the expanded code) when using the restricted run time.
10675
10676 * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
10677 a in parameter in order to allow ATCBs to be preallocated (in the
10678 expanded code).
10679
10680 * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
10681 order to allow ATCBs to be preallocated. In case of error, the ATCB is
10682 deallocated in System.Tasking.Stages.
10683
10684 * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
10685 order to allow ATCBs to be preallocated.
10686
10687 * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
10688 here. It was previously done in Initialize_ATCB.
10689
10690 * rtsfind.ads: Make the Ada_Task_Control_Block visible.
10691
10692 * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
10693 Restricted run time.
10694
10695 * exp_ch3.adb: When using the Restricted run time, pass the
10696 preallocated Ada_Task_Control_Block when creating a task.
10697
10698 2004-07-15 Ed Schonberg <schonberg@gnat.com>
10699
10700 * sem_util.adb (Normalize_Actuals): If there are no actuals on a
10701 function call that is itself an actual in an enclosing call, diagnose
10702 problem here rather than assuming that resolution will catch it.
10703
10704 * sem_ch7.adb (Analyze_Package_Specification): If the specification is
10705 the local copy of a generic unit for a formal package, and the generic
10706 is a child unit, install private part of ancestors before compiling
10707 private part of spec.
10708
10709 * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
10710 use scope entities rather than tree structures, to handle properly
10711 parent units that are instances rewritten as bodies for inlining
10712 purposes.
10713
10714 * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
10715 Remove_Parents): Handle properly a parent unit that is an
10716 instantiation, when the unit has been rewritten as a body for inlining
10717 purposes.
10718
10719 * par.adb (Goto_List): Global variable to collect goto statements in a
10720 given unit, for use in detecting natural loops.
10721
10722 * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
10723 use in detecting natural loops.
10724
10725 * par-labl.adb (Find_Natural_Loops): Recognize loops create by
10726 backwards goto's, and rewrite as a infinite loop, to improve locality
10727 of temporaries.
10728
10729 * exp_util.adb (Force_Evaluation): Recognize a left-hand side
10730 subcomponent that includes an indexed reference, to prevent the
10731 generation of copies that would miscompile the desired assignment
10732 statement.
10733 (Build_Task_Image_Decls): Add a numeric suffix to
10734 generated name for string variable, to avoid spurious conflicts with
10735 the name of the type of a single protected object.
10736
10737 * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
10738 loop with an explicit exit statement, to avoid generating an
10739 out-of-range value with 'Succ leading to spurious constraint_errors
10740 when compiling with -gnatVo.
10741
10742 2004-07-15 Thomas Quinot <quinot@act-europe.fr>
10743
10744 * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
10745 might not be analyzed yet, even if its Etype is already set (case of an
10746 unchecked conversion built using Unchecked_Convert_To, for example).
10747 If the prefix has already been analyzed, this will be a nop anyway.
10748
10749 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
10750 controller type, or an assignment of a record type with controlled
10751 components, copy only user data, and leave the finalization chain
10752 pointers untouched.
10753
10754 2004-07-15 Vincent Celier <celier@gnat.com>
10755
10756 * make.adb (Collect_Arguments): Improve error message when attempting
10757 to compile a source not part of any project, when -x is not used.
10758
10759 * prj.ads: (Defined_Variable_Kind): New subtype
10760
10761 * prj-attr.adb (Register_New_Package): Two new procedures to register
10762 a package with or without its attributes.
10763 (Register_New_Attribute): Mew procedure to register a new attribute in a
10764 package.
10765 New attribute oriented subprograms: Attribute_Node_Id_Of,
10766 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
10767 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
10768 Next_Attribute.
10769 New package oriented subprograms: Package_Node_Id_Of,
10770 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
10771
10772 * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
10773 type.
10774 (Package_Node_Id): Now a private, self initialized type
10775 (Register_New_Package): New procedure to register a package with its
10776 attributes.
10777 New attribute oriented subprograms: Attribute_Node_Id_Of,
10778 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
10779 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
10780 Next_Attribute.
10781 New package oriented subprograms: Package_Node_Id_Of,
10782 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
10783
10784 * prj-dect.adb (Parse_Attribute_Declaration,
10785 Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
10786
10787 * prj-makr.adb (Make): Parse existing project file before creating
10788 other files. Fail if there was an error during parsing.
10789
10790 * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
10791 new spec of Prj.Attr.
10792
10793 * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
10794 to new spec of Prj.Attr.
10795
10796 2004-07-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10797
10798 * utils2.c: Fix typo in comment.
10799
10800 2004-07-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10801
10802 * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
10803 * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
10804
10805 2004-07-14 Andreas Schwab <schwab@suse.de>
10806
10807 * trans.c (gnat_init_stmt_group): Remove duplicate definition.
10808
10809 2004-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10810
10811 * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
10812 object type.
10813 (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
10814 TYPE_STUB_DECL.
10815
10816 * misc.c (gnat_types_compatible_p): New function.
10817 (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
10818 (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
10819
10820 * trans.c (gigi): Move processing of main N_Compilation_Unit here.
10821 (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
10822 (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
10823 (mark_visited): Don't mark dummy type.
10824 (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
10825 parameter, we must remove any LJM building from GNU_NAME.
10826 (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
10827 (pos_to_constructor): Use int_const_binop.
10828 (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
10829 PARM_DECL.
10830
10831 * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
10832 (gnat_pushlevel): Set TREE_USE on BLOCK node.
10833 (gnat_install_builtins): Add __builtin_memset.
10834
10835 2004-07-13 Olivier Hainque <hainque@act-europe.fr>
10836
10837 * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
10838 for a renaming, stabilize the initialization expression if we are at a
10839 local level. At the local level, uses of the renaming may be performed
10840 by a direct dereference of the initializing expression, and we don't
10841 want possible variables there to be evaluated for every use.
10842
10843 * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
10844 Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
10845 them on the way. Account for the fact that we may introduce side
10846 effects in the process.
10847
10848 2004-07-13 Richard Henderson <rth@redhat.com>
10849
10850 * misc.c (default_pass_by_ref): Use pass_by_reference.
10851
10852 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
10853
10854 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
10855 LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
10856
10857 2004-07-08 Richard Henderson <rth@redhat.com>
10858
10859 * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
10860 commentary.
10861
10862 2004-07-06 Vincent Celier <celier@gnat.com>
10863
10864 * vms_conv.ads: Minor reformatting.
10865 Alphabetical order for enumerated values of type Command_Type, to have
10866 the command in alphabetical order for the usage.
10867
10868 * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
10869 the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
10870
10871 * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
10872
10873 * makegpr.adb (Global_Archive_Exists): New global Boolean variable
10874 (Add_Archive_Path): Only add the global archive if there is one.
10875 (Build_Global_Archive): Set Global_Archive_Exists depending if there is
10876 or not any object file to put in the global archive, and don't build
10877 a global archive if there is none.
10878 (X_Switches): New table
10879 (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
10880 in the X_Switches table, if any.
10881 (Initialize): Make sure the X_Switches table is empty
10882 (Scan_Arg): Record -X switches in table X_Switches
10883
10884 * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
10885
10886 * make.adb: Minor comment fix
10887
10888 * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
10889 invoked with directory information, add the directory in front of the
10890 path.
10891
10892 * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
10893 invoked with directory information, add the directory in front of the
10894 path.
10895
10896 * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
10897 when Keep_Temporary_Files is False.
10898 (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
10899 directory information, add the directory in front of the path.
10900 When not on VMS, handle new switch -dn before the command to set
10901 Keep_Temporary_Files to True.
10902 (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
10903 everywhere.
10904
10905 * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
10906 invoked with directory information, add the directory in front of the
10907 path.
10908
10909 2004-07-06 Thomas Quinot <quinot@act-europe.fr>
10910
10911 * snames.ads, snames.adb (Name_Stub): New name for the distributed
10912 systems annex.
10913
10914 * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
10915 New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
10916
10917 * g-socket.adb (To_Timeval): Fix incorrect conversion of
10918 Selector_Duration to Timeval for the case of 0.0.
10919
10920 * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
10921 documentation from Evolve_And_Then.
10922
10923 2004-07-06 Jose Ruiz <ruiz@act-europe.fr>
10924
10925 * s-taprop-tru64.adb, s-taprop-os2.adb,
10926 s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
10927
10928 2004-07-06 Robert Dewar <dewar@gnat.com>
10929
10930 * s-osinte-hpux.ads, s-osinte-freebsd.ads,
10931 s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
10932 s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
10933 s-interr-sigaction.adb, s-taprop-irix-athread.adb,
10934 s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
10935 s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
10936 s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
10937 s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
10938 a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
10939 a-tags.ads, bindgen.ads, checks.adb, checks.adb,
10940 csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
10941 exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
10942 g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
10943 i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
10944 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
10945 sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
10946 sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
10947 s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
10948 s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
10949 s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
10950 vms_data.ads: Minor reformatting,
10951 Fix bad box comment format.
10952
10953 * gnat_rm.texi: Fix minor grammatical error
10954
10955 * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
10956
10957 * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
10958 more cases of discriminated records to be recognized as not needing a
10959 secondary stack.
10960 (Has_Access_Values): New function.
10961
10962 * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
10963
10964 * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
10965 Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
10966 with LRM terminology).
10967 Change terminology in comments primitive type => elementary type.
10968
10969 2004-07-06 Ed Schonberg <schonberg@gnat.com>
10970
10971 PR ada/15602
10972 * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
10973 parameters do not impose any requirements on the presence of a body.
10974
10975 2004-07-06 Ed Schonberg <schonberg@gnat.com>
10976
10977 PR ada/15593
10978 * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
10979 compilation unit and is in an open scope at the point of instantiation,
10980 assume that a body may be present later.
10981
10982 2004-07-06 Ed Schonberg <schonberg@gnat.com>
10983
10984 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
10985 Improve error message when specified size is not supported.
10986
10987 * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
10988 is never a primitive operation.
10989
10990 2004-07-05 Andreas Schwab <schwab@suse.de>
10991
10992 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
10993 RECORD_OR_UNION_CHECK.
10994 (TYPE_CONTAINS_TEMPLATE_P): Likewise.
10995
10996 2004-07-04 Kelley Cook <kcook@gcc.gnu.org>
10997
10998 * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
10999 dependency on xgnatugn, instead build it via a submake.
11000 (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
11001
11002 2004-07-04 Richard Henderson <rth@redhat.com>
11003
11004 * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
11005
11006 2004-07-01 Richard Henderson <rth@redhat.com>
11007
11008 * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
11009 * utils.c (max_size): Likewise.
11010
11011 2004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11012
11013 * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
11014 and rest_of_type_compilation; add arg to create_*_decl.
11015 (annotate_decl_with_node): Deleted.
11016 (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
11017 * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
11018 (get_current_block_context, gnat_pushdecl): New declarations.
11019 (gnat_init_stmt_group): Likewise.
11020 (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
11021 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
11022 (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
11023 (gnat_init): Call gnat_init_stmt_group.
11024 * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
11025 (gnu_pending_elaboration_list): Deleted.
11026 (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
11027 (gigi): Rearrange initialization calls and move some to last above.
11028 (gnat_to_gnu): If statement and not in procedure, go into elab proc.
11029 Delete calls to add_decl_expr; add arg to create_*_decl.
11030 (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
11031 (gnat_to_gnu, case N_Subprogram_Body): Move some code to
11032 begin_subprog_body and call it.
11033 Don't push and pop ggc context.
11034 (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
11035 (add_stmt): Remove handling of DECL_EXPR from here.
11036 If not in function, mark visited.
11037 (add_decl_expr): Put global at top level.
11038 Check for cases of DECL_INITIAL we have to handle here.
11039 (process_type): Add extra arg to create_type_decl.
11040 (build_unit_elab): Rework to just gimplify.
11041 * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
11042 (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
11043 (get_pending_elaborations, pending_elaborations_p): Likewise.
11044 (push_pending_elaborations, pop_pending_elaborations): Likewise.
11045 (get_elaboration_location, insert_elaboration_list): Likewise.
11046 (gnat_binding_level): Renamed from ada_binding_level.
11047 (init_gnat_to_gnu): Don't clear pending_elaborations.
11048 (global_bindings_p): Treat as global if no current_binding_level.
11049 (set_current_block_context): New function.
11050 (gnat_pushdecl): Renamed from pushdecl; major rework.
11051 All callers changed.
11052 (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
11053 (finish_record_type): Call call pushdecl for stub decl.
11054 (function_nesting_depth): Deleted.
11055 (begin_subprog_body): Delete obsolete code.
11056 * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
11057
11058 2004-06-28 Robert Dewar <dewar@gnat.com>
11059
11060 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
11061 mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
11062 mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
11063 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
11064 a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
11065
11066 * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
11067 deal with problem of inefficient slices on machines with strict
11068 alignment, when the slice is a component of a composite.
11069
11070 * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
11071 machines, we need the check there as well.
11072
11073 2004-06-28 Ed Schonberg <schonberg@gnat.com>
11074
11075 * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
11076 determine safe copying direction for overlapping slice assignments
11077 when component is controlled.
11078
11079 * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
11080 formal derived type in the actual for a formal package are visible in
11081 the enclosing instance.
11082
11083 2004-06-28 Ed Schonberg <schonberg@gnat.com>
11084
11085 PR ada/15600
11086 * sem_util.adb (Trace_Components): Diagnose properly an illegal
11087 circularity involving a private type whose completion includes a
11088 self-referential component.
11089 (Enter_Name): Use Is_Inherited_Operation to distinguish a source
11090 renaming or an instantiation from an implicit derived operation.
11091
11092 2004-06-28 Pascal Obry <obry@gnat.com>
11093
11094 * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
11095 DLL.
11096 (Library_File_Name_For): Idem.
11097
11098 2004-06-28 Matthew Gingell <gingell@gnat.com>
11099
11100 * g-traceb.ads: Add explanatory note on the format of addresses
11101 expected by addr2line.
11102
11103 2004-06-28 Jerome Guitton <guitton@act-europe.fr>
11104
11105 * Makefile.in: Force debugging information on s-tasdeb.adb,
11106 a-except.adb and s-assert.adb needed by the debugger.
11107
11108 2004-06-28 Vincent Celier <celier@gnat.com>
11109
11110 * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
11111 Need_To_Build_Lib.
11112 (Gnatmake): Ditto.
11113
11114 * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
11115
11116 * prj.adb: Minor reformatting
11117 (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
11118
11119 * prj.ads: Comment updates
11120 Minor reformatting
11121 (Project_Data): Change Flag1 to Need_To_Build_Lib.
11122 Remove Flag2: not used.
11123
11124 * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
11125 declaration.
11126
11127 * gnat_ugn.texi: Put a "null;" declaration in one project file example
11128
11129 * gnat_rm.texi: Document Empty declarations "null;".
11130
11131 * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
11132 front of the linker options.
11133 (Link_Foreign): Put the global archives and the libraries in front of
11134 the linker options.
11135
11136 2004-06-28 Javier Miranda <miranda@gnat.com>
11137
11138 * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
11139 (RTU_Loaded): Code cleanup
11140 (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
11141 withed predefined units.
11142
11143 * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
11144 explicitly withed predefined units.
11145 Fix typo in comment
11146
11147 * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
11148 explicitly withed predefined units.
11149
11150 2004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11151
11152 * ada-tree.def (DECL_STMT): Deleted.
11153 * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
11154 (DECL_STMT_VAR): Deleted.
11155 * decl.c: add_decl_stmt now add_decl_expr.
11156 * gigi.h: Likewise.
11157 * trans.c: Likewise.
11158 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
11159 (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
11160 (add_stmt): Only handle padded type here.
11161 (add_stmt_with_node): Allow gnat_node to not be present.
11162 (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
11163 (gnat_gimplify_stmt, case DECL_STMT): Deleted.
11164 (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
11165 make a SAVE_EXPR for the entire fat pointer.
11166 * utils.c (pushdecl): Walk a DECL_EXPR in global case.
11167 (create_index_type): Make a DECL_EXPR.
11168 (end_subprog_body): Don't call allocate_struct_function here but
11169 do clear cfun.
11170
11171 2004-06-25 Pascal Obry <obry@gnat.com>
11172
11173 * makegpr.adb (Build_Library): Remove parameter Lib_Address and
11174 Relocatable from Build_Dynamic_Library call.
11175
11176 * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
11177 Relocatable are now synonym.
11178
11179 * Makefile.in: Use s-parame-mingw.adb on MingW platform.
11180
11181 * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
11182 Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
11183 call.
11184
11185 * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
11186 Lib_Address and Relocatable.
11187 (Default_DLL_Address): Removed.
11188
11189 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
11190 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
11191 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
11192 (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
11193 (Default_DLL_Address): Removed.
11194
11195 * mlib-tgt-mingw.adb: Ditto.
11196 (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
11197
11198 * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
11199 the initial thread stack size.
11200
11201 * a-strmap.ads: Move package L to private part as it is not used in
11202 the spec. Found while reading code.
11203
11204 2004-06-25 Olivier Hainque <hainque@act-europe.fr>
11205
11206 * tracebak.c: Introduce support for a GCC infrastructure based
11207 implementation of __gnat_backtrace.
11208
11209 * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
11210 any more. Use accessors instead. This eases maintenance and relaxes
11211 some alignment constraints.
11212 (_GNAT_Exception structure): Remove the Ada specific fields
11213 (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
11214 a-exexpr.adb.
11215 (is_handled_by, __gnat_eh_personality): Replace component references to
11216 exception structure by use of the new accessors.
11217
11218 * init.c (__gnat_initialize): Adjust comments to match the just
11219 reverted meaning of the -static link-time option.
11220
11221 * adaint.c (convert_addresses): Arrange not to define a stub for
11222 mips-irix any more, as we now want to rely on a real version from a
11223 recent libaddr2line.
11224
11225 * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
11226 the personality routine can use them and not have to rely on a C
11227 counterpart of the record anymore. This simplifies maintenance and
11228 relaxes the constraint of having Standard'Maximum_Alignment match
11229 BIGGEST_ALIGNMENT.
11230 Update comments, and add a section on the common header alignment issue.
11231
11232 2004-06-25 Geert Bosch <bosch@gnat.com>
11233
11234 * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
11235 polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
11236
11237 2004-06-25 Robert Dewar <dewar@gnat.com>
11238
11239 * gnat_rm.texi: Fix section on component clauses to indicate that the
11240 restriction on byte boundary placement still applies for bit packed
11241 arrays.
11242 Add comment on stack usage from Initialize_Scalars
11243
11244 * gnat_ugn.texi: Add documentation for -gnatyLnnn
11245
11246 * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
11247 limiting nesting level.
11248
11249 * usage.adb: Add line for -gnatyLnnn switch
11250
11251 * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
11252 sem_ch13.adb, exp_aggr.adb: Minor reformatting
11253
11254 * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
11255 type as well as on the subtype. This corrects a problem in freeze in
11256 setting alignments of atomic types.
11257
11258 * sem_eval.ads: Minor comment typo fixed
11259
11260 * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
11261 level. Minor reformatting.
11262
11263 * fname.adb (Is_Predefined_File_Name): Require a letter after the
11264 minus sign. This means that file names like a--b.adb will not be
11265 considered predefined.
11266
11267 * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
11268 record Test new flag and give diagnostic for bad component clause.
11269 (Freeze_Entity): Set alignment of array from component alignment in
11270 cases where this is safe to do.
11271
11272 * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
11273 arrays.
11274
11275 * cstand.adb: (Create_Standard): Set alignment of String to 1
11276
11277 * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
11278
11279 * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
11280 code in the common constrained array cases.
11281
11282 * a-storio.adb: Change implementation to avoid possible alignment
11283 problems on machines requiring strict alignment (data should be moved
11284 as type Buffer, not type Elmt).
11285
11286 * checks.adb (Apply_Array_Size_Check): Improve these checks by
11287 killing the overflow checks which we really do not need (64-bits is
11288 enough).
11289
11290 2004-06-25 Vincent Celier <celier@gnat.com>
11291
11292 * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
11293 (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
11294 inconditionally for the main project.
11295 (Recursive_Add_Archives.Add_Archive_Path): New procedure
11296 (Link_Executables.Check_Time_Stamps): New procedure
11297 (Link_Executables.Link_Foreign): New procedure
11298 Changes made to reduce nesting level of this package
11299 (Check): New procedure
11300 (Add_Switches): When not in quiet output, check that a switch is not
11301 the concatenation of several valid switches. If it is, issue a warning.
11302 (Build_Global_Archive): If the global archive is rebuilt, linking need
11303 to be done.
11304 (Compile_Sources): Rebuilding a library archive does not imply
11305 rebuilding the global archive.
11306 (Build_Global_Archive): New procedure
11307 (Build_Library): New name for Build_Archive, now only for library
11308 project
11309 (Check_Archive_Builder): New procedure
11310 (Create_Global_Archive_Dependency_File): New procedure
11311 (Gprmake): Call Build_Global_Archive before linking
11312 * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
11313 throughout.
11314 (Scan_Arg): Display the Copyright notice when -v is used
11315
11316 * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
11317 for gnatls.
11318
11319 * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
11320 COMPILE.
11321 Add new GNAT LIST qualifier /FILES=
11322 Added qualifier /DIRECTORY= to GNAT METRIC
11323 Added qualifier /FILES= to GNAT METRIC
11324 Added qualifier /FILES to GNAT PRETTY
11325
11326 * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
11327 to take into account both versions of the switch.
11328
11329 * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
11330 always be the last switch to the gcc driver. Disable switch storing so
11331 that switches automatically added by the gcc driver are not put in the
11332 ALI file.
11333
11334 * prj.adb (Project_Empty): Take into account changes in components of
11335 Project_Data.
11336
11337 * prj.ads (Languages_Processed): New enumaration value All_Languages.
11338
11339 * prj.ads (Project_Data): Remove component Lib_Elaboration: never
11340 used. Split Boolean component Ada_Sources_Present in two Boolean
11341 components Ada_Sources_Present and Other_Sources_Present.
11342 Minor reformatting
11343
11344 * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
11345 instead of Sources_Present.
11346 (Set_Ada_Paths.Add.Recursive_Add): Ditto
11347
11348 * prj-nmsc.adb: Minor reformatting
11349 (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
11350 (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
11351 Check_Ada_Naming_Scheme.
11352 Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
11353 throughout.
11354
11355 * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
11356 In_Limited.
11357 Make sure that all cycles where there is at least one "limited with"
11358 are detected.
11359 (Parse_Single_Project): New Boolean parameter In_Limited
11360
11361 * prj-proc.adb (Recursive_Check): When Process_Languages is
11362 All_Languages, call first Prj.Nmsc.Ada_Check, then
11363 Prj.Nmsc.Other_Languages_Check.
11364
11365 * prj-proc.adb (Process): Use Ada_Sources_Present or
11366 Other_Sources_Present (instead of Sources_Present) depending on
11367 Process_Languages.
11368
11369 * lang-specs.h: Keep -g and -m switches in the same order, and as the
11370 last switches.
11371
11372 * lib.adb (Switch_Storing_Enabled): New global Boolean flag
11373 (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
11374 False.
11375 (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
11376 False.
11377
11378 * lib.ads (Disable_Switch_Storing): New procedure.
11379
11380 * make.adb: Modifications to reduce nesting level of this package.
11381 (Check_Standard_Library): New procedure
11382 (Gnatmake.Check_Mains): New procedure
11383 (Gnatmake.Create_Binder_Mapping_File): New procedure
11384 (Compile_Sources.Compile): Add switch -gnatez as the last option
11385 (Display): Never display -gnatez
11386
11387 * Makefile.generic:
11388 When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
11389
11390 * gnatcmd.adb (Check_Project): New function
11391 (Process_Link): New procedure to reduce nesting depth
11392 (Check_Files): New procedure to reduce the nesting depth.
11393 For GNAT METRIC, include the inherited sources in extending projects.
11394 (GNATCmd): When GNAT LS is invoked with a project file and no files,
11395 add the list of files from the sources of the project file. If this list
11396 is too long, put it in a temp text files and use switch -files=
11397 (Delete_Temp_Config_Files): Delete the temp text file that contains
11398 a list of source for gnatpp or gnatmetric, if one has been created.
11399 (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
11400 in the project file is too large, create a temporary text file that
11401 list them and pass it to the tool with "-files=<temp text file>".
11402 (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
11403
11404 * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
11405 generated file is in not in Ada.
11406
11407 * gnatls.adb: Remove all parameters And_Save that are no longer used.
11408 (Scan_Ls_Arg): Add processing for -files=
11409 (Usage): Add line for -files=
11410
11411 * g-os_lib.adb (On_Windows): New global constant Boolean flag
11412 (Normalize_Pathname): When on Windows and the path starts with a
11413 directory separator, make sure that the resulting path will start with
11414 a drive letter.
11415
11416 * clean.adb (Clean_Archive): New procedure
11417 (Clean_Project): When there is non-Ada code, delete the global archive,
11418 the archive dependency files, the object files and their dependency
11419 files, if they exist.
11420 (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
11421
11422 2004-06-25 Thomas Quinot <quinot@act-europe.fr>
11423
11424 * sinfo.ads: Fix typo in comment.
11425
11426 * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
11427 the TSS for remote access-to-subprogram types, since these TSS are
11428 always present once the type has been analyzed.
11429 (RAS_E_Dereference): Same.
11430
11431 * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
11432 reference raises Bad_Attribute, mark the reference as analyzed so the
11433 node (and any children resulting from rewrites that could have occurred
11434 during the analysis that ultimately failed) is not analyzed again.
11435
11436 * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
11437
11438 * exp_dist.adb: Minor comment fix.
11439
11440 * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
11441 type is an anonymous access type, no unchecked deallocation of the
11442 allocated object can occur. If the object is controlled, attach it with
11443 a count of 1. This allows attachment to the Global_Final_List, if
11444 no other relevant list is available.
11445 (Get_Allocator_Final_List): For an anonymous access type that is
11446 the type of a discriminant or record component, the corresponding
11447 finalisation list is the one of the scope of the type.
11448
11449 2004-06-25 Ed Schonberg <schonberg@gnat.com>
11450
11451 * sem_ch3.adb (Replace_Type): When computing the signature of an
11452 inherited subprogram, use the first subtype if the derived type
11453 declaration has no constraint.
11454
11455 * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
11456 before applying previous optimization. Minor code cleanup.
11457
11458 * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
11459 placed at the beginning of an unpacked record without explicit
11460 alignment, a slice of it will be aligned and does not need a copy when
11461 used as an actual.
11462
11463 2004-06-25 Ed Schonberg <schonberg@gnat.com>
11464
11465 PR ada/15591
11466 PR ada/15592
11467 * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
11468 reference is written with expressions mimicking parameters.
11469
11470 2004-06-25 Hristian Kirtchev <kirtchev@gnat.com>
11471
11472 PR ada/15589
11473 * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
11474 STEP 2a. The constraints of a full type declaration of a derived record
11475 type are checked for conformance with those declared in the
11476 corresponding private extension declaration. The message
11477 "not conformant with previous declaration" is emitted if an error is
11478 detected.
11479
11480 2004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr>
11481
11482 * g-traceb.ads: Document the need for -E binder switch in the spec.
11483
11484 * g-trasym.ads: Document the need for -E binder switch in the spec.
11485
11486 2004-06-25 Jose Ruiz <ruiz@act-europe.fr>
11487
11488 * sem_prag.adb: Add handling of pragma Detect_Blocking.
11489
11490 * snames.h, snames.ads, snames.adb: Add entry for pragma
11491 Detect_Blocking.
11492
11493 * s-rident.ads: Change reference to pragma Detect_Blocking.
11494
11495 * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
11496 system.ads.
11497
11498 * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
11499 to indicate whether pragma Detect_Blocking is active.
11500
11501 * par-prag.adb: Add entry for pragma Detect_Blocking.
11502
11503 * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
11504 of not handling WITH.
11505 Note that this replaces the previous update which was incorrect.
11506
11507 2004-06-25 Javier Miranda <miranda@gnat.com>
11508
11509 * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
11510 use-clauses to have a clean environment.
11511
11512 * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
11513 the installation of the use-clauses to stablish a clean environment in
11514 case of compilation of a separate unit; otherwise the call to
11515 use_one_package is protected by the barrier Applicable_Use.
11516
11517 * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
11518 the installation of the use-clauses to stablish a clean environment in
11519 case of compilation of a separate unit.
11520 (End_Use_Clauses): Minor comment cleanup.
11521
11522 2004-06-25 Sergey Rybin <rybin@act-europe.fr>
11523
11524 * gnat_ugn.texi: Add description of the gnatpp 'files' switch
11525
11526 2004-06-23 Richard Henderson <rth@redhat.com>
11527
11528 * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
11529
11530 2004-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11531
11532 * decl.c (elaborate_expression, elaborate_expression_1): Arguments
11533 now bool instead of int.
11534 (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
11535 * trans.c (gnu_switch_label_stack): New function.
11536 (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
11537 elaboration of renamed entity returns.
11538 (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
11539 (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
11540 (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
11541 (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
11542 DECL_SIZE_UNIT and simplify variable-sized case.
11543 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
11544 Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
11545 (gnat_stabilize_reference): Add arg to COMPONENT_REF.
11546 (build_unit_elab): Disable for now.
11547 * utils.c (mark_visited): New function.
11548 (pushdecl): Walk tree to call it for global decl.
11549 (update_pointer_to): Update all variants of pointer and ref types.
11550 Add arg to COMPONENT_REF.
11551 (convert): Likewise.
11552 Move check for converting between variants lower down.
11553 * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
11554 (build_allocator): Don't force type of MODIFY_EXPR.
11555 (gnat_mark_addressable, case VAR_DECL): Unconditionally call
11556 put_var_into_stack.
11557
11558 2004-06-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11559
11560 * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
11561 * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
11562 * decl.c (gnat_to_gnu_entity): Also set force_global for imported
11563 subprograms.
11564 * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
11565 all callers changed.
11566 (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
11567 the way that EXIT_STMT finds the loop label.
11568 (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
11569 (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
11570 (add_stmt): Use annotate_with_locus insted of setting directly.
11571 (pos_to_construct): Set TREE_PURPOSE of each entry to index.
11572 (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
11573 * utils.c (gnat_install_builtins): Install __builtin_memcmp.
11574 (build_vms_descriptor): Add extra args to ARRAY_REF.
11575 (convert): Use VIEW_CONVERT_EXPR between aggregate types.
11576 * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
11577 New cases.
11578 (build_binary_op): Don't make explicit CONVERT_EXPR.
11579 Add extra rgs to ARRAY_REF.
11580
11581 2004-06-14 Pascal Obry <obry@gnat.com>
11582
11583 * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
11584 Windows. Fix minor typo.
11585
11586 * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
11587 which is now supported on Windows. With this implementation using the
11588 Library Project feature is no different on Windows than on UNIX.
11589
11590 2004-06-14 Vincent Celier <celier@gnat.com>
11591
11592 * makegpr.adb (Compile_Sources): Nothing to do when there are no
11593 non-Ada sources.
11594
11595 * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
11596
11597 * prj-part.adb (Parse_Single_Project): When a duplicate project name is
11598 found, show the project name and the path of the previously parsed
11599 project file.
11600
11601 2004-06-14 Ed Schonberg <schonberg@gnat.com>
11602
11603 * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
11604 array, avoid copying the actual before the call.
11605
11606 2004-06-14 Thomas Quinot <quinot@act-europe.fr>
11607
11608 * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
11609 Instead, allocate memory on worst-case alignment assumptions, and then
11610 return an aligned address within the allocated zone.
11611
11612 2004-06-14 Robert Dewar <dewar@gnat.com>
11613
11614 * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
11615 elab entities in predefined units in No_Run_Time_Mode.
11616 (Gen_Adainit_C): Same fix
11617 (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
11618 units in No_Run_Time_Mode
11619 (Gen_Elab_Calls_C): Same fix
11620
11621 * symbols-vms-alpha.adb: Minor reformatting
11622
11623 * g-debpoo.ads: Minor reformatting
11624
11625 * lib.adb (In_Same_Extended_Unit): Version working on node id's
11626
11627 * lib.ads (In_Same_Extended_Unit): Version working on node id's
11628
11629 * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
11630 working on nodes.
11631
11632 * make.adb: Minor reformatting
11633
11634 * par-ch12.adb: Minor reformatting
11635
11636 * par-prag.adb: Add dummy entry for pragma Profile_Warnings
11637
11638 * prj-strt.adb: Minor reformatting
11639
11640 * restrict.ads, restrict.adb: Redo handling of profile restrictions to
11641 be more general.
11642
11643 * sem_attr.adb: Minor reformatting
11644
11645 * sem_ch7.adb: Minor reformatting
11646
11647 * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
11648 for type in the same unit as the object declaration.
11649
11650 * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
11651 static string expressions and not just string literals.
11652 Minor reformatting
11653 (Set_Warning): Reset restriction warning flag for restriction pragma
11654 Implement pragma Profile_Warnings
11655 Implement pragma Profile (Restricted)
11656 Give obolescent messages for old restrictions and pragmas
11657
11658 * snames.h, snames.ads, snames.adb: Add new entry for pragma
11659 Profile_Warnings.
11660
11661 * s-rident.ads: Add declarations for restrictions required by profile
11662 Restricted and profile Ravenscar.
11663
11664 * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
11665
11666 * gnat_ugn.texi: Correct some missing entries in the list of GNAT
11667 configuration pragmas.
11668
11669 2004-06-11 Vincent Celier <celier@gnat.com>
11670
11671 * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
11672 gnatsym, when symbol policy is Restricted.
11673
11674 * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
11675 gnatsym, when symbol policy is Restricted.
11676
11677 * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
11678 read the symbol file.
11679 (Finalize): Fail in symbol policy Restricted if a symbol in the original
11680 symbol file is not in the object files. Do not create a new symbol file
11681 when symbol policy is Restricted.
11682
11683 * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
11684 in Scng.
11685
11686 * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
11687 Restricted.
11688 (Usage): Line for new switch -R
11689
11690 * make.adb (Initialize): When the platform is not VMS, add the
11691 directory where gnatmake is invoked in the front of the path, if
11692 gnatmake is invoked with directory information. Change the Scan_Args
11693 while loop to a for loop.
11694 (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
11695 if Depth is equal or greater than the proposed depth, there is nothing
11696 to do.
11697 (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
11698 instead of 0.
11699
11700 * prj.ads: Add new symbol policy Restricted.
11701
11702 * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
11703 with the new parameters Check_All_Labels and Case_Location.
11704
11705 * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
11706 (Library_Symbol_File needs to be defined).
11707
11708 * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
11709 and Case_Location If Check_All_Labels is True, check that all values of
11710 the string type are used, and output warning(s) if they are not.
11711
11712 * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
11713 and Case_Location.
11714
11715 * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
11716
11717 * gnat_ugn.texi: Update documentation about the library directory in
11718 Library Projects.
11719
11720 * makegpr.adb (Display_Command): In verbose mode, also display the
11721 value of the CPATH env var, when the compiler is gcc.
11722 (Initialize): Change the Scan_Args while loop to a for loop
11723 (Compile_Individual_Sources): Change directory to object directory
11724 before compilations.
11725
11726 * symbols.ads: New symbol policy Restricted.
11727
11728 2004-06-11 Olivier Hainque <hainque@act-europe.fr>
11729
11730 * a-except.adb (Raise_After_Setup family): Remove. The responsibility
11731 is now taken care of internally in the Exception_Propagation package
11732 and does not require clients assistance any more.
11733
11734 * a-exexpr.adb (Is_Setup_And_Not_Propagated,
11735 Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
11736 functions. Helpers to maintain a predicate required in the handling of
11737 occurrence transfer between tasks.
11738 This is now handled internally and does not require clients assistance
11739 for the setup/propagate separation anymore.
11740 (Setup_Exception, Propagate_Exception): Simplify the Private_Data
11741 allocation strategy, handle the Setup_And_Not_Propagated predicate and
11742 document.
11743
11744 * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
11745 raise_after_setup, now that everything is handled internally within the
11746 setup/propagation engine.
11747
11748 2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
11749
11750 * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
11751 Add additional conditions for the case of an actual being a simple
11752 name or literal. Improve inlining by preventing the generation
11753 of temporaries with a short lifetime (one use).
11754
11755 2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
11756
11757 PR ada/15587
11758
11759 * einfo.ads: Minor comment updates for Has_Completion and
11760 E_Constant list of flags.
11761
11762 * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
11763 and constant redeclarations now set the Has_Completion flag of their
11764 defining identifiers.
11765
11766 * sem_ch7.adb (Analyze_Package_Spec): Add procedure
11767 Inspect_Deferred_Constant_Completion.
11768 Used to detect private deferred constants that have not been completed
11769 either by a constant redeclaration or pragma Import. Emits error message
11770 "constant declaration requires initialization expression".
11771
11772 * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
11773 completes a deferred constant.
11774
11775 2004-06-11 Geert Bosch <bosch@gnat.com>
11776
11777 * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
11778
11779 * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
11780 calculating exponent for scaling denormal numbers.
11781 (Leading_Part): Properly raise Constraint_Error for zero or negative
11782 Adjustment.
11783 (Remainder): Properly raise Constraint_Error for zero divisor.
11784
11785 2004-06-11 Thomas Quinot <quinot@act-europe.fr>
11786
11787 * sem_util.adb: Minor reformatting.
11788
11789 * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
11790 dereference when accessing the entry parameter record.
11791 (Check_Array_Type): Always check for possible implicit dereference.
11792 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
11793 Abort if a pointer is still present (denoting that an implicit
11794 dereference was left in the tree by the front-end).
11795
11796 * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
11797 dereference when accessing the entry parameter record.
11798 (Check_Array_Type): Always check for possible implicit dereference.
11799 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
11800 Abort if a pointer is still present (denoting that an implicit
11801 dereference was left in the tree by the front-end).
11802
11803 2004-06-11 Emmanuel Briot <briot@act-europe.fr>
11804
11805 * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
11806 message, like the compiler itself does. Easier to parse the output.
11807
11808 * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
11809
11810 * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
11811 be base names, and not includes directories.
11812
11813 2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
11814
11815 * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
11816 so that dependencies are properly taken into account by make.
11817
11818 2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
11819
11820 PR ada/15622
11821 * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
11822 exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
11823
11824 2004-06-11 Jerome Guitton <guitton@act-europe.fr>
11825
11826 * Makefile.in (install-gnatlib): install target-specific run-time files.
11827
11828 * Make-lang.in: Remove obsolete targets.
11829
11830 2004-06-11 Ed Schonberg <schonberg@gnat.com>
11831
11832 * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
11833 specification, to catch misuses of program unit names.
11834
11835 * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
11836 superfluous conversions in an instance.
11837
11838 2004-06-11 Ed Schonberg <schonberg@gnat.com>
11839
11840 PR ada/15403
11841
11842 * sem_ch12.adb (Save_References): If operator node has been folded to
11843 enumeration literal, associated_node must be discarded.
11844
11845 2004-06-11 Jose Ruiz <ruiz@act-europe.fr>
11846
11847 * s-stchop-vxworks.adb: Add required pragma Convention to
11848 Task_Descriptor because it is updated by a C function.
11849
11850 2004-06-08 Arnaud Charlet <charlet@act-europe.fr>
11851
11852 PR ada/15568
11853
11854 * Makefile.in: Remove target specific SO_OPT on IRIX
11855
11856 2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11857
11858 * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
11859 (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
11860 (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
11861 (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
11862 (STMT_STMT, USE_STMT): New statement codes.
11863 (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
11864 * ada-tree.h: Reflect above changes.
11865 (struct tree_loop_id): Deleted.
11866 (union lang_tree_node, struct lang_decl, struct lang_type):
11867 Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
11868 and DECL_LANGUAGE_SPECIFIC to reflect these changes.
11869 (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
11870 (IS_ADA_STMT): New macro.
11871 * decl.c (annotate_decl_with_node): New function.
11872 (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
11873 (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
11874 Call add_stmt_with_node to do needed assignments.
11875 Add call to update setjmp buffer directly, not via EXPR_STMT.
11876 (maybe_variable): Argment GNAT_NODE deleted.
11877 * gigi.h (maybe_variable): Likewise.
11878 (make_transform, add_stmt_with_node, set_block_for_group): New.
11879 (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
11880 (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
11881 (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
11882 (set_lineno, set_lineno_from_sloc): Likewise.
11883 (record_code_position, insert_code_for): Likewise.
11884 (gnat_poplevel): Now returns void.
11885 (end_subprog_body): Now takes argument.
11886 * misc.c (cgraph.h, tree-inline.h): New includes.
11887 (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
11888 (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
11889 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
11890 (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
11891 (gnat_parse_file): Don't set immediate_size_expand.
11892 Call cgraph functions.
11893 (gnat_expand_expr): Remove most cases.
11894 (record_code_position, insert_code_for): Remove from here.
11895 * trans.c (toplev.h, tree-gimple.h): Now included.
11896 (discard_file_names): Deleted.
11897 (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
11898 (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
11899 (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
11900 (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
11901 (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
11902 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
11903 (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
11904 (set_block_for_group, add_stmt_list): Likewise.
11905 (start_stmt_group): Renamed from start_block_stmt.
11906 (end_stmt_group): Likewise, from end_block_stmt.
11907 (build_stmt_group): Likewise, from build_block_stmt, also add arg.
11908 (gigi): Don't set discard_file_names or call set_lineno.
11909 Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
11910 (tree_transform): Deleted, now renamed to be gnat_to_gnu.
11911 Numerous changes throughout to reflect new names and complete
11912 function-at-a-time implementation.
11913 (gnat_expand_stmt): Delete or comment out all cases.
11914 (process_inlined_subprograms): Use add_stmt.
11915 (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
11916 call set_lineno; also remove unneeded block handling.
11917 (process_type): Remove unneeded block handling.
11918 (build_unit_elab): Remove calls to deleted functions.
11919 * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
11920 (tree-dump.h): Likewise.
11921 (struct ada_binding_level): Add field jmpbuf_decl.
11922 (gnat_define_builtin, gnat_install_builtins): New.
11923 (gnat_gimplify_function, gnat_finalize): Likewise.
11924 (gnat_poplevel): No longer return BLOCK, set it instead.
11925 Remove code dealing with nested functions.
11926 (gnat_init_decl_processing): Also set size_type_node.
11927 Call gnat_install_builtins.
11928 (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
11929 (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
11930 Remove special-case for "main".
11931 (end_subprog_body): Add arg and rework for tree-ssa.
11932 (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
11933 Add case for BOOLEAN_TYPE.
11934 * utils2.c (rtl.h): Now include.
11935 (build_call_raise): Test Debug_Flag_NN directly.
11936 (build_call_alloc_dealloc): Don't use local stack allocation for now.
11937 (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
11938 (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
11939
11940 2004-06-07 Robert Dewar <dewar@gnat.com>
11941
11942 * a-direct.ads, einfo.ads: Minor comment updates
11943
11944 * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
11945 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
11946 s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
11947 s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
11948 s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
11949
11950 * s-interr-sigaction.adb: Remove unreferenced variable
11951 (Attached_Interrupts). Minor reformatting.
11952 Avoid use of variable I (replace by J).
11953
11954 * par-ch10.adb: Fix text of one error message
11955
11956 * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
11957 exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
11958 exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
11959 opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
11960 par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
11961 par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
11962 sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
11963 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
11964 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
11965 sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
11966 snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
11967 2005 support.
11968
11969 2004-06-07 Doug Rupp <rupp@gnat.com>
11970
11971 * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
11972
11973 * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
11974
11975 * mlib-tgt-vms-ia64.adb: New file.
11976
11977 * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
11978 Add mlib-tgt-vms-ia64.adb
11979 Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
11980 Move to alpha specific ifeq section.
11981 Add VMS specific versions of symbols.adb
11982 Renaming of 5q vms files.
11983
11984 * 5qsystem.ads renamed to system-vms_64.ads.
11985
11986 2004-06-07 Vincent Celier <celier@gnat.com>
11987
11988 * a-calend.ads: Add a GNAT Note comment after function Time_Of to
11989 explain that when a time of day corresponding to the non existing hour
11990 on the day switching to DST is specified, Split may return a different
11991 value for Seconds.
11992
11993 * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
11994 to GNAT PRETTY.
11995
11996 * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
11997 (Normalize_Pathname): Only resolve VMS logical names when on VMS.
11998
11999 * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
12000 to False.
12001 If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
12002 the linking options.
12003 (Build_Library.Check_Libs): On VMS, if there is a dependency on
12004 g-trasym.ads, set Gtrasymobj_Needed to True.
12005
12006 * prj-attr.adb: Add new package Metrics for gnatmetric
12007
12008 * prj-nmsc.adb (Record_Other_Sources): Put source file names in
12009 canonical case to take into account files with upper case characters on
12010 Windows.
12011 (Ada_Check): Load the reference symbol file name in the name buffer to
12012 check it, not the symbol file name.
12013
12014 * snames.ads, snames.adb: Add standard name Metrics (name of project
12015 file package for gnatmetric).
12016
12017 * vms_conv.ads: Add Metric to Comment_Type
12018
12019 * vms_conv.adb (Initialize): Add component dor Metric in Command_List
12020
12021 * vms_data.ads: Add qualifiers for GNAT METRIC
12022
12023 * makegpr.adb (Link_Executables): Take into account the switches
12024 specified in package Linker of the main project.
12025
12026 2004-06-07 Thomas Quinot <quinot@act-europe.fr>
12027
12028 * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
12029 the index of the last element is Units.Last, not Units.Table'Last
12030 (which is usually not a valid index within the actually allocated
12031 storage for the table).
12032
12033 * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
12034 determines whether to generate a call to a checked storage pool
12035 Dereference action.
12036 Generate such a call only for a dereference that either comes from
12037 source, or is the result of rewriting a dereference that comes from
12038 source.
12039
12040 2004-06-07 Romain Berrendonner <berrendo@act-europe.fr>
12041
12042 * bindgen.adb (Gen_Output_File): Add support for GAP builds.
12043
12044 2004-06-07 Eric Botcazou <ebotcazou@act-europe.fr>
12045
12046 (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
12047 file level, elaborate the stride for inner dimensions in alignment
12048 units, not bytes.
12049
12050 * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
12051 in a comment.
12052
12053 2004-06-07 Javier Miranda <miranda@gnat.com>
12054
12055 * exp_ch6.adb: Correct wrong modification in previous patch
12056
12057 2004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr>
12058
12059 * g-trasym.ads: Corrected comment to properly reflect level of support
12060 on VMS.
12061
12062 2004-06-07 Hristian Kirtchev <kirtchev@gnat.com>
12063
12064 * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
12065 includes case of a variable referenced on the left hand side of an
12066 assignment, therefore remove redundant code. Variables and prefixes of
12067 indexed or selected components are now marked as referenced on left
12068 hand side. Warnings are now properly emitted when variables or prefixes
12069 are assigned but not read.
12070
12071 * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
12072 left hand side referenced variables. Private access types do not
12073 produce the warning "variable ... is assigned but never read".
12074 Add also additional checks to left hand side referenced variables.
12075 Aliased, renamed objects and access types do not produce the warning
12076 "variable ... is assigned but never read" since other entities may read
12077 the memory location.
12078
12079 2004-06-07 Jerome Guitton <guitton@act-europe.fr>
12080
12081 * Makefile.in: In the powerpc/vxworks-specific section, restore
12082 EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
12083 by mistake).
12084
12085 2004-06-07 Ed Schonberg <schonberg@gnat.com>
12086
12087 * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
12088 predefined operators.
12089 Removes spurious type errors from g-trasym-vms.adb.
12090
12091 * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
12092 distinct from the operator appearing in the source, call appropriate
12093 routine to insert conversions when needed, and complete resolution of
12094 node.
12095 (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
12096 interpretations for rewritten right operand.
12097 (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
12098 the other operand is overloaded and the context is a type conversion.
12099
12100 2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12101
12102 * ada-tree.def (BLOCK_STMT): Now has two operands.
12103 (BREAK_STMT): New.
12104
12105 * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
12106
12107 * gigi.h: (gnat_poplevel): Now returns a tree.
12108
12109 * trans.c (end_block_stmt): Add arg; all callers changed.
12110 (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
12111 (start_block_stmt): Clear BLOCK_STMT_BLOCK.
12112 (add_stmt): Set TREE_TYPE.
12113 (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
12114 (gnat_expand_stmt, case BREAK_STMT): New case.
12115
12116 * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
12117
12118 2004-06-07 Jose Ruiz <ruiz@act-europe.fr>
12119
12120 * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
12121 procedure Set_Stack_Size that is not needed.
12122
12123 2004-06-07 Sergey Rybin <rybin@act-europe.fr>
12124
12125 * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
12126 used for gnatpp input file and for the files upon which it depends
12127
12128 2004-06-07 Ben Brosgol <brosgol@gnat.com>
12129
12130 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
12131
12132 2004-06-07 Arnaud Charlet <charlet@act-europe.fr>
12133
12134 * gnatvsn.ads: Bump version numbers appropriately.
12135 Add new build type.
12136
12137 2004-06-07 Pascal Obry <obry@gnat.com>
12138
12139 * gnat_ugn.texi: Improve comments about imported names and link names
12140 on Windows. Add a note about the requirement to use -k gnatdll's option
12141 when working with a DLL which has stripped stdcall symbols (no @nn
12142 suffix).
12143
12144 2004-05-27 Vincent Celier <celier@gnat.com>
12145
12146 * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
12147 COMMENTS_LAYOUT=UNTOUCHED
12148
12149 * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
12150 symbols-vms-alpha.adb
12151
12152 2004-05-27 Thomas Quinot <quinot@act-europe.fr>
12153
12154 * sem.ads: Clarify documentation on checks suppression.
12155
12156 * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
12157
12158 2004-05-27 Ed Schonberg <schonberg@gnat.com>
12159
12160 * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
12161 the case of multiple derivations.
12162 (Is_Object_Reference): For a selected component, verify that the prefix
12163 is itself an object and not a value.
12164
12165 * sem_ch12.adb (Same_Instantiated_Constant): New name for
12166 Same_Instantiated_Entity.
12167 (Same_Instantiated_Variable): Subsidiary to
12168 Check_Formal_Package_Instance, to recognize actuals for in-out generic
12169 formals that are obtained from a previous formal package.
12170 (Instantiate_Subprogram_Body): Emit proper error when
12171 generating code and the proper body of a stub is missing.
12172
12173 * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
12174 has a universal interpretation, do the disambiguation here.
12175
12176 * exp_ch4.adb (Expand_N_Type_Conversion,
12177 Expand_N_Unchecked_Type_Conversion): Special handling when target type
12178 is Address, to avoid typing anomalies when Address is a visible integer
12179 type.
12180
12181 * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
12182 to determine whether a subprogram should not be marked Pure, even when
12183 declared in a pure package.
12184
12185 2004-05-27 Jose Ruiz <ruiz@act-europe.fr>
12186
12187 * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
12188
12189 * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
12190 Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
12191 Update the documentation about the Ravenscar profile, following the
12192 definition found in AI-249.
12193
12194 * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
12195 setting the Profile (Ravenscar). This must be done in addition to
12196 setting the required restrictions.
12197
12198 * rtsfind.ads: Add the set of operations defined in package
12199 Ada.Interrupts.
12200
12201 * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
12202 restriction.
12203
12204 2004-05-27 Eric Botcazou <ebotcazou@act-europe.fr>
12205
12206 lang-specs.h: Always require -c or -S and always redirect to /dev/null
12207 if -gnatc or -gnats is passed.
12208
12209 2004-05-27 Hristian Kirtchev <kirtchev@gnat.com>
12210
12211 * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
12212 a significant reference. Warnings are now properly emitted when a
12213 discriminated type is not referenced.
12214
12215 * lib-xref.adb (Generate_Reference): A deferred constant completion,
12216 record representation clause or record type discriminant does not
12217 produce a reference to its corresponding entity. Warnings are now
12218 properly emitted when deferred constants and record types are not
12219 referenced.
12220
12221 2004-05-27 Geert Bosch <bosch@gnat.com>
12222
12223 * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
12224 Fixes ACATS Annex G tests.
12225
12226 2004-05-27 Robert Dewar <dewar@gnat.com>
12227
12228 * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
12229 handling WITH
12230
12231 2004-05-27 Arnaud Charlet <charlet@act-europe.fr>
12232
12233 * s-interr.adb (Server_Task): Take into account case of early return
12234 from sigwait under e.g. linux.
12235
12236 2004-05-27 Sergey Rybin <rybin@act-europe.fr>
12237
12238 * gnat_ugn.texi: Add description for the new gnatpp options:
12239 -rnb - replace the original source without creating its backup copy
12240 -c0 - do not format comments
12241
12242 2004-05-24 Geert Bosch <bosch@gnat.com>
12243
12244 * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
12245 with 192 bits of precision, sufficient to reduce a double-extended
12246 arguments X with a maximum relative error of T'Machine_Epsilon, for X
12247 in -2.0**32 .. 2.0**32.
12248 (Cos, Sin): Always reduce arguments of 1/4 Pi or larger, to prevent
12249 reduction by the processor, which only uses a 68-bit approximation of
12250 Pi.
12251 (Tan): Always reduce arguments and compute function either using
12252 the processor's fptan instruction, or by dividing sin and cos as needed.
12253
12254 2004-05-24 Doug Rupp <rupp@gnat.com>
12255
12256 * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
12257 gcc error on 32/64 bit VMS.
12258
12259 2004-05-24 Olivier Hainque <hainque@act-europe.fr>
12260
12261 * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
12262 since this is what we get for stack overflows although not documented
12263 as such.
12264 Document the issues which may require adjustments to our signal
12265 handlers.
12266
12267 2004-05-24 Ed Schonberg <schonberg@gnat.com>
12268
12269 * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
12270 enclosing dynamic scope if the instantiation is within a generic unit.
12271
12272 2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
12273
12274 * exp_dbug.ads: Fix typo.
12275
12276 * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
12277 Rename it to its proper name: system-linux-ia64.ads
12278 (stamp-gnatlib1): Remove extra target specific run time files when
12279 setting up the rts directory.
12280
12281 2004-05-24 Javier Miranda <miranda@gnat.com>
12282
12283 * einfo.ads, einfo.adb (Limited_Views): Removed.
12284 (Limited_View): New attribute that replaces the previous one. It is
12285 now a bona fide package with the limited-view list through the
12286 first_entity and first_private attributes.
12287
12288 * sem_ch10.adb (Install_Private_With_Clauses): Give support to
12289 limited-private-with clause.
12290 (Install_Limited_Withed_Unit): Install the private declarations of a
12291 limited-private-withed package. Update the installation of the shadow
12292 entities according to the new structure (see Build_Limited_Views)
12293 (Build_Limited_Views): Replace the previous implementation of the
12294 limited view by a package entity that references the first shadow
12295 entity plus the first shadow private entity (required for limited-
12296 private-with clause)
12297 (New_Internal_Shadow_Entity): Code cleanup.
12298 (Remove_Limited_With_Clause): Update the implementation to undo the
12299 new work carried out by Build_Limited_Views.
12300 (Build_Chain): Complete documentation.
12301 Replace Ada0Y by Ada 0Y in comments
12302 Minor reformating
12303
12304 * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
12305 types the level of accessibility depends on the enclosing type
12306 declaration.
12307
12308 * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
12309 entities. Complete documentation of previous change.
12310
12311 2004-05-24 Robert Dewar <dewar@gnat.com>
12312
12313 * namet.adb: Minor reformatting
12314 Avoid use of name I (replace by J)
12315 Minor code restructuring
12316
12317 * sem_ch6.adb: Minor reformatting
12318
12319 * lib-writ.adb: Do not set restriction as active if this is a
12320 Restriction_Warning case.
12321
12322 * sem_prag.adb: Reset restriction warning flag if real pragma
12323 restriction encountered.
12324
12325 * s-htable.adb: Minor reformatting
12326 Change rotate count to 3 in Hash (improves hash for small strings)
12327
12328 * 5qsystem.ads: Add comments for type Address (no literals allowed).
12329
12330 * gnat_ugn.texi: Add new section of documentation "Code Generation
12331 Control", which describes the use of -m switches.
12332
12333 2004-05-24 Eric Botcazou <ebotcazou@act-europe.fr>
12334
12335 trans.c (tree_transform) <N_Identifier>: Do the dereference directly
12336 through the DECL_INITIAL for renamed variables.
12337
12338 2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
12339
12340 * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
12341
12342 2004-05-19 Joel Brobecker <brobecker@gnat.com>
12343
12344 * exp_dbug.ads: Correct comments concerning handling of overloading,
12345 since we no longer use $ anymore.
12346
12347 2004-05-19 Sergey Rybin <rybin@act-europe.fr>
12348
12349 * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
12350 ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
12351 with illegal subunits.
12352
12353 2004-05-19 Ed Schonberg <schonberg@gnat.com>
12354
12355 * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
12356 body with front-end inlining enabled, check whether an inline pragma
12357 appears immediately after the body and applies to it.
12358
12359 * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
12360 enabled and the pragma appears after the body of the subprogram.
12361
12362 2004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12363
12364 Part of function-at-a-time conversion
12365
12366 * misc.c (adjust_decl_rtl): Deleted.
12367 (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
12368 Define.
12369
12370 * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
12371 (add_decl_stmt, add_stmt, block_has_vars): New functions.
12372 (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
12373
12374 * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
12375 when making a decl.
12376 (gnat_to_gnu_entity): Likewise.
12377 Use add_stmt to update setjmp buffer.
12378 Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
12379 flush_addressof.
12380 No longer call adjust_decl_rtl.
12381 (DECL_INIT_BY_ASSIGN_P): New macro.
12382 (DECL_STMT_VAR): Likewise.
12383
12384 * trans.c (gigi): Call start_block_stmt to make the outermost
12385 BLOCK_STMT.
12386 (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
12387 Call start_block_stmt and end_block_stmt temporarily.
12388 Use gnat_expand_stmt instead of expand_expr_stmt.
12389 (add_decl_stmt): New function.
12390 (tree_transform): Call it.
12391 (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
12392 (end_block_stmt): Set type and NULL_STMT.
12393 (gnat_expand_stmt): Make recursize call instead of calling
12394 expand_expr_stmt.
12395 (gnat_expand_stmt, case DECL_STMT): New case.
12396 (set_lineno_from_sloc): Do nothing if global.
12397 (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
12398 (start_block_stmt, add_stmt, end_block_stmt): New functions.
12399 (build_block_stmt): Call them.
12400 (gnat_to_code): Don't expand NULL_STMT.
12401 (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
12402 args.
12403 (tree_transform): Likewise.
12404 (tree_transform, case N_Null_Statement): Return NULL_STMT.
12405 (gnat_expand_stmt, case NULL_STMT): New case.
12406 (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
12407 IF_STMT_TRUE.
12408
12409 * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
12410 TREE_ADDRESSABLE.
12411
12412 * utils.c (create_var_decl): Do not call expand_decl or
12413 expand_decl_init.
12414 Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
12415 Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
12416 here.
12417 (struct e_stack): Add chain_next to GTY.
12418 (struct binding_level): Deleted.
12419 (struct ada_binding_level): New struct.
12420 (free_block_chain): New.
12421 (global_binding_level, clear_binding_level): Deleted.
12422 (global_bindings_p): Rework to see if no chain.
12423 (kept_level_p, set_block): Deleted.
12424 (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
12425 new data structure and work directly on BLOCK node.
12426 (gnat_poplevel): Similarly.
12427 (get_decls): Look at BLOCK_VARS.
12428 (insert_block): Work directly on BLOCK node.
12429 (block_has_var): New function.
12430 (pushdecl): Rework for new binding structures.
12431 (gnat_init_decl_processing): Rename and rework calls to pushlevel and
12432 poplevel.
12433 (build_subprog_body): Likewise.
12434 (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
12435
12436 * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
12437
12438 * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
12439 (DECL_STMT_VAR): Likewise.
12440
12441 2004-05-17 Robert Dewar <dewar@gnat.com>
12442
12443 * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
12444 procedure
12445
12446 * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
12447 of restriction synonyums by using
12448 Restrict.Process_Restriction_Synonyms.
12449
12450 * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
12451
12452 * s-restri.ads (Tasking_Allowed): Correct missing comment
12453
12454 * s-rident.ads: Add entries for restriction synonyms
12455
12456 * ali.adb: Fix some problems with badly formatted ALI files that can
12457 result in infinite loops.
12458
12459 * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
12460 s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
12461 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
12462 s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
12463 s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
12464 s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
12465 s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
12466 s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
12467 s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
12468 a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
12469 exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
12470 s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
12471 s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
12472 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
12473 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
12474 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
12475 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
12476 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
12477 s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
12478 s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
12479 to Task_Id (minor cleanup).
12480
12481 2004-05-17 Vincent Celier <celier@gnat.com>
12482
12483 * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
12484 directory separator.
12485
12486 * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
12487 project being extended, if Languages is not declared in extending
12488 project.
12489
12490 2004-05-17 Javier Miranda <miranda@gnat.com>
12491
12492 * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
12493 limited view of a visible sibling.
12494
12495 2004-05-14 Robert Dewar <dewar@gnat.com>
12496
12497 * gnat_ugn.texi: Minor change to -gnatS documentation
12498
12499 * sprint.adb: Remove some instances of Assert (False) and for this
12500 purpose replace them by output of a ??? string.
12501
12502 * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
12503 Assert (False).
12504
12505 * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
12506 flag processing. This was suppressing required dependencies in
12507 No_Run_Time mode and is not needed since the binder does not generate
12508 references for things in libgnat anyway.
12509
12510 * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
12511 warning.
12512
12513 2004-05-14 Thomas Quinot <quinot@act-europe.fr>
12514
12515 * gnat_ugn.texi: Document AIX-specific issue with initialization of
12516 resolver library.
12517
12518 * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
12519 action for the case of an actual parameter in an init proc call.
12520
12521 2004-05-14 Ed Schonberg <schonberg@gnat.com>
12522
12523 * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
12524 subtype, check visible entities in base type.
12525
12526 * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
12527 actions if the object is a renaming.
12528
12529 * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
12530 Check_Formal_Package_Instance, to determine more precisely when the
12531 formal and the actual denote the same entity.
12532
12533 2004-05-14 Javier Miranda <miranda@gnat.com>
12534
12535 * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
12536
12537 * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
12538 corresponding to a private_with must be removed from visibility; it
12539 will be made visible later, just before we analyze the private part of
12540 the package.
12541 (Check_Private_Child_Unit): Allow private_with clauses in public
12542 siblings.
12543 (Install_Siblings): Make visible the private entities of private-withed
12544 siblings.
12545 (Install_Withed_Unit): Do not install the private withed unit if we
12546 are compiling a package declaration and the Private_With_OK flag was
12547 not set by the caller. These declarations will be installed later,
12548 just before we analyze the private part of the package.
12549
12550 * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
12551 during the evaluation of the expression that initializes the object,
12552 decorate it with the expected type to avoid cascade errors.
12553 Code cleanup.
12554
12555 * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
12556 subprogram we have to install the private_with clauses after its
12557 specification has been analyzed (as documented in AI-262.TXT).
12558
12559 * sem_ch8.adb (Has_Private_With): New function. Determines if the
12560 current compilation unit has a private with on a given entity.
12561 (Find_Direct_Name): Detect the Beaujolais problem described in
12562 AI-262.TXT
12563
12564 * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
12565 provides the functionality of the function Is_Ancestor that was
12566 previously available in sem_ch10. It has been renamed to avoid
12567 overloading.
12568
12569 * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
12570
12571 2004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12572
12573 * utils.c (build_vms_descriptor): Use SImode pointers.
12574
12575 2004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr>
12576
12577 * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
12578
12579 2004-05-14 GNAT Script <nobody@gnat.com>
12580
12581 * Make-lang.in: Makefile automatically updated
12582
12583 2004-05-14 Arnaud Charlet <charlet@act-europe.fr>
12584
12585 Renaming of target specific files for clarity
12586
12587 * Makefile.in: Rename GNAT target specific files.
12588
12589 * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
12590 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
12591 3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
12592 3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
12593 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
12594 3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
12595 42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
12596 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
12597 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
12598 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
12599 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
12600 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
12601 51osinte.adb, 51osinte.ads, 51system.ads,
12602 52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
12603 55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
12604 56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
12605 56tpopsp.adb, 57system.ads, 58system.ads,
12606 5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
12607 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
12608 5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
12609 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
12610 5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
12611 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
12612 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
12613 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
12614 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
12615 5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
12616 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
12617 5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
12618 5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
12619 5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
12620 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
12621 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
12622 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
12623 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
12624 5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
12625 5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
12626 5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
12627 5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
12628 5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
12629 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
12630 5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
12631 5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
12632 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
12633 5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
12634 5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
12635 5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
12636 5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
12637 5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
12638 5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
12639 5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
12640 5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
12641 5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
12642 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
12643 7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
12644 7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
12645 7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
12646
12647 * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
12648 a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
12649 a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
12650 a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
12651 a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
12652 a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
12653 a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
12654 a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
12655 a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
12656 a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
12657 g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
12658 g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
12659 g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
12660 g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
12661 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
12662 g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
12663 g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
12664 g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
12665 interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
12666 mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
12667 mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
12668 mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
12669 s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
12670 s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
12671 s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
12672 s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
12673 s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
12674 s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
12675 s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
12676 s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
12677 s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
12678 s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
12679 s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
12680 s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
12681 s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
12682 s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
12683 s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
12684 s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
12685 s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
12686 s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
12687 s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
12688 s-osinte-vms.ads, s-osinte-vxworks.adb,
12689 s-osinte-vxworks.ads, s-osprim-mingw.adb,
12690 s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
12691 s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
12692 s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
12693 s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
12694 s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
12695 s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
12696 s-stchop-vxworks.adb, s-taprop-dummy.adb,
12697 s-taprop-hpux-dce.adb, s-taprop-irix.adb,
12698 s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
12699 s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
12700 s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
12701 s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
12702 s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
12703 s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
12704 s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
12705 s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
12706 s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
12707 s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
12708 s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
12709 s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
12710 s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
12711 s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
12712 s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
12713 s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
12714 s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
12715 symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
12716 system-hpux.ads, system-interix.ads, system-irix-n32.ads,
12717 system-irix-o32.ads, system-linux-x86_64.ads,
12718 system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
12719 system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
12720 system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
12721 system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
12722 system-vxworks-alpha.ads, system-vxworks-m68k.ads,
12723 system-vxworks-mips.ads, system-vxworks-ppc.ads,
12724 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
12725 above.
12726
12727 2004-05-13 Zack Weinberg <zack@codesourcery.com>
12728
12729 * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
12730
12731 2004-05-13 Diego Novillo <dnovillo@redhat.com>
12732
12733 Merge from tree-ssa-20020619-branch.
12734
12735 * config-lang.in (boot_language, build_by_default): Set
12736 to no.
12737 * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
12738 (max_size): Add static chain op for call_expr.
12739
12740 2004-05-12 Richard Sandiford <rsandifo@redhat.com>
12741
12742 PR target/15331
12743 * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
12744
12745 2004-05-11 Roger Sayle <roger@eyesopen.com>
12746
12747 * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
12748 COND_EXPR.
12749
12750 2004-05-10 Doug Rupp <rupp@gnat.com>
12751
12752 * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
12753 system.aux_dec.
12754
12755 * s-auxdec.ads: Add Short_Address subtype (moved here from System).
12756
12757 * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
12758
12759 * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
12760 Fixes undefined symbols in IA64 gnatlib.
12761
12762 * 5vinmaop.adb: Reference s-auxdec for Short_Address.
12763
12764 * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
12765 Short_Address). This will be moved to system.auxdec.
12766
12767 2004-05-10 Thomas Quinot <quinot@act-europe.fr>
12768
12769 * sem_util.adb: Replace test for presence of a node that is always
12770 present with a call to Discard_Node.
12771
12772 * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
12773 Analyze on the library unit node after generation of distribution stub
12774 constructs. The call was a no-op because Unit_Node has already been
12775 Analyzed, and the tree fragments for the distribution stubs are
12776 analyzed as they are inserted in Exp_Dist.
12777 Update comment regarding to distribution stubs to reflect that we
12778 do not generate stub in separate files anymore.
12779
12780 * einfo.ads: Clarify the fact that a tagged private type has the
12781 E_Record_Type_With_Private Ekind.
12782
12783 * erroutc.adb: Minor reformatting
12784
12785 * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
12786 values if line length is increased using -gnatyM (noticed during code
12787 reading).
12788
12789 * eval_fat.adb: Minor reformatting
12790 Put spaces around exponentiation operator
12791
12792 2004-05-10 Ed Schonberg <schonberg@gnat.com>
12793
12794 PR ada/15005
12795 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
12796 has been rewritten as an explicit dereference, retrieve type of
12797 original node to check for possibly unconstrained record type.
12798
12799 2004-05-10 Ed Schonberg <schonberg@gnat.com>
12800
12801 * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
12802 overriding, use the operation of the parent unconditionally.
12803
12804 * sem_ch4.adb (Remove_Address_Interpretations): Remove address
12805 operation when either operand is a literal, to avoid further
12806 ambiguities.
12807
12808 * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
12809 overridden by a previous explicit declaration, mark the previous entity
12810 as overriding.
12811
12812 * sem_disp.adb (Check_Dispatching_Operation): New predicate
12813 Is_Visibly_Controlled, to determine whether a declaration of a
12814 primitive control operation for a derived type overrides an inherited
12815 one. Add warning if the explicit declaration does not override.
12816
12817 2004-05-10 Vincent Celier <celier@gnat.com>
12818
12819 * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
12820 some cases when the sources are no longer present.
12821
12822 * make.adb (Collect_Arguments): Fail if an external source, not part
12823 of any project need to be compiled, when switch -x has not been
12824 specified.
12825
12826 * makeusg.adb: Document new switch -x
12827
12828 * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
12829 defaulted to False.
12830
12831 * switch-m.adb (Scan_Make_Switches): New switch -x
12832
12833 * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
12834 gnatmake switch -x.
12835
12836 * gnat_ugn.texi: Document new gnatmake switch -x
12837
12838 2004-05-10 Eric Botcazou <ebotcazou@act-europe.fr>
12839
12840 * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
12841
12842 * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
12843 (process_attributes): Likewise.
12844
12845 2004-05-10 Joel Brobecker <brobecker@gnat.com>
12846
12847 * s-inmaop.ads: Fix spelling mistake in one of the comments.
12848
12849 2004-05-10 Robert Dewar <dewar@gnat.com>
12850
12851 * gnat_ugn.texi: Document that for config pragma files, the maximum
12852 line length is always 32767.
12853
12854 * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
12855 literals is now allowed.
12856
12857 * gnat-style.texi: Remove statement about splitting long lines before
12858 an operator rather than after, since we do not follow this rule at all.
12859 Clarify rule (really lack of rule) for spaces around exponentiation
12860
12861 * sem_elim.adb: Allow concatenation of string literals as well as a
12862 single string literal for pragma arguments.
12863
12864 * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
12865
12866 * a-textio.adb (Terminate_Line): Do not add line feed if nothing
12867 written for append case.
12868
12869 * frontend.adb: Changes to avoid checking max line length in config
12870 pragma files.
12871
12872 * g-os_lib.ads: Minor reformatting
12873
12874 * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
12875 wrong in any case. Instead use standard value. Noticed during code
12876 reading.
12877
12878 * opt.ads (Max_Line_Length): New field, used to implement removal of
12879 limitation on length of lines when scanning config pragma files.
12880
12881 * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
12882 makeutl.ads, makeutl.adb: Minor reformatting
12883
12884 * scn.adb: Do not check line length while scanning config pragma files
12885 Do not check line length while scanning out license information
12886
12887 * scng.adb: Changes to avoid line length checks while parsing config
12888 pragma files.
12889
12890 2004-05-10 GNAT Script <nobody@gnat.com>
12891
12892 * Make-lang.in: Makefile automatically updated
12893
12894 2004-05-05 Arnaud Charlet <charlet@act-europe.fr>
12895
12896 * osint.adb (Find_Program_Name): Fix handling of VMS version
12897 number.
12898
12899 2004-05-05 Emmanuel Briot <briot@act-europe.fr>
12900
12901 * g-os_lib.ads (Invalid_Time): New constant
12902
12903 * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
12904 return OS_Time instead of time_t to match what is imported by Ada.
12905 Now return -1 if the file doesn't exist, instead of a random value
12906
12907 2004-05-05 Robert Dewar <dewar@gnat.com>
12908
12909 * usage.adb: Add line for -gnatR?s switch
12910
12911 * sem_ch13.adb, exp_ch2.adb: Minor reformatting
12912
12913 * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
12914 and for Match (Data_First, Data_last)
12915
12916 * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
12917 written when we are dealing with multi-unit files.
12918
12919 2004-05-05 Jerome Guitton <guitton@act-europe.fr>
12920
12921 * Makefile.in: Remove unused targets and variables.
12922
12923 2004-05-05 Vincent Celier <celier@gnat.com>
12924
12925 * switch-m.adb: New gnatmake switch -eI
12926
12927 * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
12928 of new gnatmake switch -eInnn.
12929
12930 * makegpr.adb: Take into account new parameters Index and Src_Index in
12931 Prj.Util.
12932
12933 * clean.adb: Implement support for multi-unit sources, including new
12934 switch -i.
12935
12936 * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
12937 Src_Index.
12938
12939 * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
12940 (Extract_From_Q): New out parameter Index
12941 (Mark, Is_Marked): Subprograms moved to Makeutl
12942 (Switches_Of): New parameter Source_Index
12943 (Add_Switch): New parameter Index
12944 (Check): New parameter Source_Index
12945 (Collect_Arguments): New parameter Source_Index
12946 (Collect_Arguments_And_Compile): New parameter Source_Index
12947 (Compile): New parameter Source_Index
12948 Put subprograms in alphabetical order
12949 Add support for multi-source sources, including in project files.
12950
12951 * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
12952 (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
12953 Make.
12954
12955 * makeusg.adb: New gnatmake switch -eInnn
12956
12957 * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
12958 Prj.Util.Value_Of.
12959
12960 * opt.ads (Main_Index): New variable, defaulted to 0.
12961
12962 * osint.ads, osinte.adb (Add_File): New parameter Index
12963 (Current_Source_Index): New function
12964
12965 * prj.adb: Take into account new components Index and Src_Index
12966
12967 * prj.ads (String_Element): New component Index
12968 (Variable_Value): New component Index
12969 (Array_Element): New component Src_Index
12970
12971 * prj-attr.adb: Indicate that optional index may be specified for
12972 attributes Main, Executable, Spec, Body and some of Switches.
12973
12974 * prj-attr.ads (Attribute_Kind): New values for optional indexes
12975 (Attribute_Record): New component Optional_Index
12976
12977 * prj-com.ads (File_Name_Data): New component Index
12978
12979 * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
12980
12981 * prj-env.adb (Put): Output optional index
12982
12983 * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
12984 attributes Spec and Body.
12985
12986 * prj-nmsc.adb: Process optional indexes
12987
12988 * prj-pp.adb: Ouput "at" for optional indexes
12989
12990 * prj-proc.adb: Take into account optional indexes
12991
12992 * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
12993 Optional_Index. For string literal,
12994 process optional index when Optional_Index is True.
12995 (Parse_Expresion): New Boolean parameter Optional_Index
12996
12997 * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
12998 (Set_Source_Index_Of): New procedure
12999
13000 * prj-util.adb (Executable_Of, Value_Of): Take into account optional
13001 index.
13002
13003 * prj-util.ads (Executable_Of): New parameter Index
13004 (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
13005 New parameter Src_Index, defaulted to 0.
13006
13007 2004-05-05 Ed Schonberg <schonberg@gnat.com>
13008
13009 PR ada/15257
13010 * sem_ch3.adb (Access_Definition): If this is an access parameter
13011 whose designated type is imported through a limited_with clause, do
13012 not add the enclosing subprogram to the list of private dependents of
13013 the type.
13014
13015 2004-05-05 Ed Schonberg <schonberg@gnat.com>
13016
13017 PR ada/15258
13018 * sem_ch6.adb (Base_Types_Match): True if one type is imported through
13019 a limited_with clause, and the other is its non-limited view.
13020
13021 2004-05-05 Thomas Quinot <quinot@act-europe.fr>
13022
13023 * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
13024
13025 * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
13026 exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
13027 Stand.Boolean_Literals to produce references to entities
13028 Standard_False and Standard_True from compile-time computed boolean
13029 values.
13030
13031 * stand.ads (Boolean_Literals): New variable, provides the entity
13032 values for False and True, for use by the expander.
13033
13034 2004-05-05 Doug Rupp <rupp@gnat.com>
13035
13036 * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
13037 5vinmaop.adb: Unchecked convert Short_Address vice Address
13038
13039 * adaint.c, raise.c: Caste CRTL function return value
13040 to avoid gcc error on 32/64 bit IVMS.
13041
13042 * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
13043 target = IA64/VMS.
13044
13045 * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
13046
13047 * 5qsystem.ads (Address): Declare as Long_Integer
13048 (Short_Address): Declare as 32 bit subtype of Address
13049 Declare abstract address operations to avoid gratuitous ambiguities.
13050
13051 2004-05-05 Jose Ruiz <ruiz@act-europe.fr>
13052
13053 * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
13054 instead of the old Boolean_Entry_Barriers.
13055 Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
13056
13057 2004-05-05 GNAT Script <nobody@gnat.com>
13058
13059 * Make-lang.in: Makefile automatically updated
13060
13061 2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
13062
13063 * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
13064
13065 2004-05-03 Olivier Hainque <hainque@act-europe.fr>
13066
13067 PR ada/15152
13068
13069 * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
13070 alone. Replacing object references by literals is inappropriate in a
13071 so low level context.
13072
13073 2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
13074
13075 * a-exexpr.adb: Add comments
13076
13077 2004-05-03 Joel Brobecker <brobecker@gnat.com>
13078
13079 * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
13080 declare the Ancestor_Tags array in Type_Specific_Data with a small size
13081 without risking a bounds check error when accessing one of its
13082 components.
13083 (Type_Specific_Data): Define Ancestor_Tags as a small array.
13084 This prevents us from hitting a limitation during the debug info
13085 generation when using stabs.
13086
13087 * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
13088 small array.
13089 This prevents us from hitting a limitation during the debug info
13090 generation when using stabs.
13091
13092 2004-05-03 Eric Botcazou <ebotcazou@act-europe.fr>
13093
13094 lang-specs.h: Remove -gnatz* from specs.
13095
13096 2004-05-03 Vincent Celier <celier@gnat.com>
13097
13098 * gprmake.adb, makegpr.ads, makegpr.adb: New files.
13099
13100 * Make-lang.in, Makefile.in: Add gprmake
13101
13102 2004-05-03 Thomas Quinot <quinot@act-europe.fr>
13103
13104 * sem_aggr.adb: Fix typo in comment.
13105
13106 2004-05-03 Robert Dewar <dewar@gnat.com>
13107
13108 * make.adb: Minor reformatting
13109
13110 * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
13111
13112 * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
13113 so that it works when address is not a private type.
13114
13115 * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
13116 properly with rewritten unchecked conversions. This prevents
13117 order-of-elaboration issues that can otherwise arise.
13118 (Minimum_Size): Don't check size of access types under VMS
13119
13120 * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
13121 interpretations of integer literals as type System.Address.
13122
13123 * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
13124 (Is_Descendent_Of): New function
13125
13126 2004-05-03 Jose Ruiz <ruiz@act-europe.fr>
13127
13128 * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
13129 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
13130 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
13131
13132 * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
13133 of the old Max_Entry_Queue_Depth.
13134
13135 * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
13136 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
13137 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
13138
13139 * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
13140 New entry for proper handling of Max_Entry_Queue_Depth.
13141 New entry for proper handling of No_Dynamic_Interrupts.
13142
13143 * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
13144 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
13145 Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
13146 the GNAT specific restriction Max_Entry_Queue_Depth.
13147 Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
13148 the GNAT specific restriction No_Dynamic_Interrupts.
13149
13150 * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
13151 instead of the old Boolean_Entry_Barriers.
13152 Use the new restriction No_Dynamic_Attachment instead of the old
13153 No_Dynamic_Interrupts.
13154
13155 * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
13156 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
13157
13158 * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
13159 of the old Max_Entry_Queue_Depth.
13160
13161 2004-05-03 GNAT Script <nobody@gnat.com>
13162
13163 * Make-lang.in: Makefile automatically updated
13164
13165 2004-04-29 Ed Schonberg <schonberg@gnat.com>
13166
13167 * checks.adb (Enable_Range_Check): If the prefix of an index component
13168 is an access to an unconstrained array, perform check unconditionally.
13169
13170 2004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13171
13172 * decl.c (gnat_to_gnu_field): Also call make_packable_type if
13173 Component_Clause.
13174
13175 2004-04-29 Olivier Hainque <hainque@act-europe.fr>
13176
13177 * init.c (__gnat_install_handler, __gnat_error_handler): Remove
13178 alternate stack setting. There was no support for the tasking cases
13179 and the changes eventually caused a number of side-effect failures in
13180 the non-tasking case too.
13181
13182 2004-04-29 Eric Botcazou <ebotcazou@act-europe.fr>
13183
13184 lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
13185 -gnats is passed.
13186
13187 2004-04-29 Vincent Celier <celier@gnat.com>
13188
13189 * make.adb (Gnatmake): Increase max size of argument array for
13190 gnatbind for the potential addition of -F.
13191 If there are Stand-Alone Library projects, invoke gnatbind with -F to
13192 be sure that elaboration flags will be checked.
13193
13194 * switch-c.adb: Correct call to Scan_Pos for -gnateI
13195
13196 2004-04-29 Thomas Quinot <quinot@act-europe.fr>
13197
13198 * sem_warn.adb (Check_References): Move '<access-variable> may be
13199 null' warning out of under Warn_On_No_Value_Assigned.
13200
13201 2004-04-29 Ed Falis <falis@gnat.com>
13202
13203 * gnat_ugn.texi: Fixed texi error
13204
13205 2004-04-29 Robert Dewar <dewar@gnat.com>
13206
13207 * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
13208 abstract operations if they come from predefined files.
13209
13210 * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
13211 Dynamic, not RM).
13212
13213 * s-addope.adb: Correct obvious error in mod function
13214
13215 2004-04-28 Andrew W. Reynolds <awreynolds@mac.com>
13216
13217 * Makefile.in: Add target pairs for powerpc darwin*
13218 tasking support.
13219
13220 * a-intnam-darwin.ads, s-osinte-darwin.adb,
13221 s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
13222
13223 2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
13224
13225 * Makefile.in: Add target macro definitions for s390*-linux*.
13226 * system-linux-s390.ads: New file.
13227 * system-linux-s390x.ads: New file.
13228
13229 2004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
13230
13231 * gnat_ugn.texi: Correct argument to @setfilename.
13232
13233 2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
13234
13235 * a-exexpr.adb (Unwind_Word): New data type.
13236 (Unwind_Exception): Use it as type of Private1 and Private2.
13237
13238 * raise.c (db_action_for): Fix debug printf.
13239
13240 2004-04-27 Ed Schonberg <schonberg@gnat.com>
13241
13242 * a-wtmoio.ads: Formal type must be a modular type, not a signed
13243 integer type.
13244
13245 2004-04-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13246
13247 * decl.c (gnat_to_gnu_entity, case object): Call
13248 __builtin_update_setjmp_buf.
13249
13250 * gigi.h (update_setjmp_buf): Deleted.
13251 (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
13252
13253 * misc.c: (update_setjmp_buf): Deleted.
13254
13255 * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
13256 around block of RTL.
13257
13258 * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
13259
13260 2004-04-26 Thomas Quinot <quinot@act-europe.fr>
13261
13262 * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
13263 subprogram for which no pragma All_Calls_Remote applies, store the
13264 address of the real subprogram in the underlying record type, so local
13265 dereferences do not go through the PCS.
13266
13267 2004-04-26 Robert Dewar <dewar@gnat.com>
13268
13269 * i-c.ads: Add some type qualifications to avoid ambiguities when
13270 compiling with s-auxdec.ads and a non-private address type.
13271
13272 2004-04-26 Arnaud Charlet <charlet@act-europe.fr>
13273
13274 * Makefile.rtl: Fix error in previous check-in:
13275 Add s-addope.o to non tasking object list (rather than tasking object
13276 list).
13277
13278 2004-04-26 Javier Miranda <miranda@gnat.com>
13279
13280 * sem_aggr.adb: Fix typo in comments
13281 (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
13282 Required to check the null-exclusion attribute.
13283
13284 * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
13285 case of anonymous access types in record and array components. For a
13286 component definition the level is the same of the enclosing composite
13287 type.
13288
13289 * sem_ch3.adb (Analyze_Component_Declaration): In case of components
13290 that are anonymous access types the level of accessibility depends on
13291 the enclosing type declaration. In order to have this information, set
13292 the scope of the anonymous access type to the enclosing record type
13293 declaration.
13294 (Array_Type_Declaration): In case of components that are anonymous
13295 access types the level of accessibility depends on the enclosing type
13296 declaration. In order to have this information, set the scope of the
13297 anonymous access type to the enclosing array type declaration.
13298
13299 * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
13300 access type.
13301
13302 * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
13303 renaming of anonymous access-to-constant types allowed if and only if
13304 the renamed object is access-to-constant.
13305
13306 * sem_util.adb (Type_Access_Level): In case of anonymous access types
13307 that are component_definition or discriminants of a nonlimited type,
13308 the level is the same as that of the enclosing component type.
13309
13310 2004-04-26 Sergey Rybin <rybin@act-europe.fr>
13311
13312 * sem_elim.adb: Some minor code reorganization from code reading. Fix
13313 misprint in the function name (File_Name_Match).
13314
13315 2004-04-23 Laurent GUERBY <laurent@guerby.net>
13316
13317 * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
13318 install.
13319
13320 2004-04-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13321
13322 * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
13323
13324 2004-04-23 Emmanuel Briot <briot@act-europe.fr>
13325
13326 * adaint.c (__gnat_try_lock): No longer requires that the parent
13327 directory be writable, the directory itself is enough.
13328 (gnat_is_absolute_path): Change profile, so that the call from
13329 GNAT.OS_Lib can be made more efficient.
13330
13331 * adaint.h (gnat_is_absolute_path): Change profile, so that the call
13332 from GNAT.OS_Lib can be made more efficient.
13333
13334 * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
13335 one copy of the file name. Found by code reading.
13336
13337 2004-04-23 Vincent Celier <celier@gnat.com>
13338
13339 * gnat_ugn.texi: Add documentation for gnatmake switch -eL
13340 Correct documentation on gnatmake switches transmitted to the compiler
13341
13342 * ali.ads: Minor comment fix
13343
13344 2004-04-23 Javier Miranda <miranda@gnat.com>
13345
13346 * sem_ch6.adb: (Confirming Types): Code cleanup
13347
13348 * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
13349 subprogram types: E_Anonymous_Access_Subprogram_Type and
13350 E_Anonymous_Access_Protected_Subprogram_Type.
13351
13352 2004-04-23 Thomas Quinot <quinot@act-europe.fr>
13353
13354 * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
13355 whether a pragma All_Calls_Remote applies to the subprogram on which
13356 'Access is taken.
13357 No functional change is introduced by this revision; the new parameter
13358 will be used to allow calls to local RCI subprograms to be optimized
13359 to not use the PCS in the case where no pragma All_Calls_Remote applies,
13360 as is already done in the PolyORB implementation of the DSA.
13361
13362 * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
13363 whether a pragma All_Calls_Remote applies to the subprogram on which
13364 'Access is taken.
13365 No functional change is introduced by this revision; the new parameter
13366 will be used to allow calls to local RCI subprograms to be optimized
13367 to not use the PCS in the case where no pragma All_Calls_Remote applies,
13368 as is already done in the PolyORB implementation of the DSA.
13369
13370 2004-04-23 Robert Dewar <dewar@gnat.com>
13371
13372 * Makefile.rtl: Add entry for s-addope.o in run time library list
13373 * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
13374 * s-addope.ads, s-addope.adb: New files.
13375
13376 * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
13377 s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
13378 s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
13379 System.Address to be non-private and signed.
13380
13381 * sem_elim.adb: Minor reformatting (fairly extensive)
13382 Some minor code reorganization from code reading
13383 Add a couple of ??? comments
13384
13385 2004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13386
13387 * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
13388 (tree_transform, case N_If_Statement): Remove non-determinism.
13389
13390 * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
13391
13392 2004-04-23 Sergey Rybin <rybin@act-europe.fr>
13393
13394 * gnat_rm.texi: Small fixes in the changes made in the 'pragma
13395 Eliminate' section.
13396
13397 * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
13398 no longer used as a parameter name for Eliminate pragma).
13399
13400 2004-04-22 Laurent GUERBY <laurent@guerby.net>
13401
13402 PR optimization/14984
13403 PR optimization/14985
13404 * trans.c (gigi): Fix non determinism leading to bootstrap
13405 comparison failures.
13406
13407 2004-04-21 Pascal Obry <obry@gnat.com>
13408
13409 * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
13410 passed to spawnvp() to properly handle program pathname with spaces on
13411 Win32.
13412
13413 2004-04-21 Emmanuel Briot <briot@act-europe.fr>
13414
13415 * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
13416 (Allocate, Deallocate, Free_Physically): Make sure the tasks are
13417 unlocked in case of exceptions.
13418
13419 2004-04-21 Joel Brobecker <brobecker@gnat.com>
13420
13421 * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
13422 This function does not exist anymore.
13423
13424 2004-04-21 Thomas Quinot <quinot@act-europe.fr>
13425
13426 * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
13427
13428 * link.c: Move variables to the __gnat name space.
13429
13430 * Makefile.in: list link.o explicitly when needed.
13431
13432 * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
13433
13434 2004-04-21 Javier Miranda <miranda@gnat.com>
13435
13436 * einfo.adb (Original_Access_Type): New subprogram
13437 (Set_Original_Access_Type): New subprogram
13438 (Write_Field21_Name): Write the name of the new field
13439
13440 * einfo.ads (Original_Access_Type): New field present in access to
13441 subprogram types.
13442 Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
13443 E_Anonymous_Access_Protected_Subprogram_Type.
13444
13445 * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
13446 subprogram types.
13447
13448 * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
13449 to anonymous access to subprogram types.
13450
13451 * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
13452 to subprogram types.
13453
13454 * sem_ch3.adb (Access_Definition): Complete decoration of entities
13455 corresponding to anonymous access to subprogram types.
13456 (Analyze_Component_Declaration): Add new actual to the call to
13457 subprogram replace_anonymous_access_to_protected_subprogram.
13458 (Array_Type_Declaration): Add new actual to the call to subprogram
13459 replace_anonymous_access_to_protected_subprogram.
13460 (Process_Discriminants): Add new actual to the call to subprogram
13461 replace_anonymous_access_to_protected_subprogram.
13462 (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
13463
13464 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
13465 formal.
13466
13467 * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
13468 access to subprogram types.
13469
13470 * sem_util.adb (Has_Declarations): Addition of package_specification
13471 nodes.
13472
13473 2004-04-21 Ed Schonberg <schonberg@gnat.com>
13474
13475 * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
13476 inlined flags to renamed entity only if in current unit.
13477
13478 2004-04-21 Thomas Quinot <quinot@act-europe.fr>
13479
13480 * s-parint.ads: Add DSA implementation marker.
13481
13482 * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
13483 value of System.Partition_Interface.DSA_Implementation to determine
13484 what version of the distributed systems annex is available (no
13485 implementation, GLADE, or PolyORB).
13486
13487 2004-04-21 Joel Brobecker <brobecker@gnat.com>
13488
13489 * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
13490
13491 2004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13492
13493 * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
13494 with new type if alias sets differ.
13495 Fixes ACATS c41103b.
13496
13497 2004-04-21 Vincent Celier <celier@gnat.com>
13498
13499 * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
13500 Add array Lang_Args for the language specific compiling argument
13501 switches.
13502
13503 * gnat_ugn.texi: Explain in more details when a library is rebuilt.
13504
13505 2004-04-21 Sergey Rybin <rybin@act-europe.fr>
13506
13507 * gnat_rm.texi: Update the descripton of the Eliminate pragma
13508 according to the recent changes in the format of the parameters of the
13509 pragma (replacing Homonym_Number with Source_Location).
13510
13511 2004-04-19 Arnaud Charlet <charlet@act-europe.fr>
13512
13513 * 5isystem.ads: Removed, unused.
13514
13515 * gnat_rm.texi: Redo 1.13 change.
13516
13517 2004-04-19 Robert Dewar <dewar@gnat.com>
13518
13519 * s-stoele.ads: Clean up definition of Storage_Offset (the new
13520 definition is cleaner, avoids the kludge of explicit Standard operator
13521 references, and also is consistent with a visible System.Address with
13522 no visible operations.
13523
13524 * s-geveop.adb: Add declarations to avoid assumption of visible
13525 operations on type System.Address (since these might not be available
13526 if Address is a non-private type for which the operations
13527 are made abstract).
13528
13529 * sem_eval.adb: Minor reformatting
13530
13531 * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
13532 s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
13533 reformatting (new function spec format).
13534
13535 * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
13536 s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
13537 s-caun64.adb: Add declarations to avoid assumption of visible
13538 operations on type System.Address (since these might not be available
13539 if Address is a non-private type for which the operations are made
13540 abstract).
13541
13542 * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
13543
13544 * exp_intr.adb: Minor comment update
13545
13546 * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
13547
13548 * 5omastop.adb: Add declarations to avoid assumption of visible
13549 operations on type System.Address (since these might not be available
13550 if Address is a non-private type for which the operations
13551 are made abstract).
13552
13553 2004-04-19 Vincent Celier <celier@gnat.com>
13554
13555 * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
13556
13557 * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
13558 defaulted to Ada.
13559
13560 * prj-proc.adb (Process): New Boolean parameter Process_Languages,
13561 defaulted to Ada.
13562 Call Check with Process_Languages.
13563 (Check): New Boolean parameter Process_Languages. Call Recursive_Check
13564 with Process_Languages.
13565 (Recursive_Check): New Boolean parameter Process_Languages. Call
13566 Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
13567 Process_Languages.
13568
13569 * prj-proc.ads (Process): New Boolean parameter Process_Languages,
13570
13571 * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
13572 parameter Ada_Main, defaulted to True.
13573 Check for Ada specific characteristics only when Ada_Main is True.
13574
13575 * opt.ads: (Follow_Links): New Boolean flag for gnatmake
13576
13577 * prj.adb: (Project_Empty): Add new Project_Data components.
13578
13579 * prj.ads: New types and tables for non Ada languages.
13580 (Project_Data): New components Languages, Impl_Suffixes,
13581 First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
13582 Include_Path, Include_Data_Set.
13583
13584 * prj-env.ads, prj-env.adb: Minor reformatting
13585
13586 * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
13587 Put subprograms in alphabetical order
13588
13589 * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
13590 defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
13591 Opt.Follow_Links.
13592
13593 * mlib-prj.adb: Back out modification in last version, as they are
13594 incorrect.
13595 (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
13596
13597 * make.adb: (Mains): Moved to package Makeutl
13598 (Linker_Opts): Moved to package Makeutl
13599 (Is_External_Assignment): Moved to package Makeutl
13600 (Test_If_Relative_Path): Moved to package Makeutl
13601 (Gnatmake): Move sorting of linker options to function
13602 Makeutl.Linker_Options_Switches.
13603
13604 * makeutl.ads, makeutl.adb: New files.
13605
13606 * Makefile.in: Add makeutl.o to the object files for gnatmake
13607
13608 * makeusg.adb: Add line for new switch -eL.
13609
13610 * gnatls.adb (Image): New function.
13611 (Output_Unit): If in verbose mode, output the list of restrictions
13612 specified by pragmas Restrictions.
13613
13614 * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
13615 Text_IO.
13616
13617 * a-calend.adb (Split): Shift the date by multiple of 56 years, if
13618 needed, to put it in the range 1970 (included) - 2026 (excluded).
13619 (Time_Of): Do not shift Unix_Min_Year (1970).
13620 Shift the date by multiple of 56 years, if needed, to put it in the
13621 range 1970 (included) - 2026 (excluded).
13622
13623 * adaint.h, adaint.c (__gnat_set_executable): New function.
13624
13625 2004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13626
13627 * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
13628 and pop GC context.
13629 (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
13630 (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
13631 (tree_transform, case N_Procedure_Call_Statement): Build a tree.
13632 (tree_transform, case N_Code_Statement): Likewise.
13633 (gnat_expand_stmt, case LABEL_STMT): Don't look at
13634 LABEL_STMT_FIRST_IN_EH.
13635 (gnat_expand_stmt, case ASM_STMT): New case.
13636
13637 * utils2.c (build_unary_op): Properly set TREE_READONLY of
13638 UNCONSTRAINED_ARRAY_REF.
13639
13640 * utils.c (poplevel): Temporarily push/pop GC context around inline
13641 function expansion.
13642
13643 * decl.c (maybe_variable): Properly set TREE_READONLY of
13644 UNCONSTRAINED_ARRAY_REF.
13645 (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
13646
13647 * ada-tree.def: (ASM_STMT): New.
13648
13649 * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
13650 (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
13651 ASM_STMT_INPUT): New.
13652 (ASM_STMT_CLOBBER): Likewise.
13653
13654 2004-04-19 Thomas Quinot <quinot@act-europe.fr>
13655
13656 * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
13657 general rcheck mechanism to raise Program_Error for E.4(18), instead
13658 of a custom raiser in System.Partition_Interface.
13659 Part of general cleanup work before PolyORB integration.
13660
13661 * snames.ads, snames.adb: Add new runtime library entities and names
13662 for PolyORB DSA.
13663
13664 * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
13665 exp_dist.
13666 (Build_Subprogram_Id): New subprogram provided by exp_dist
13667 Code reorganisation in preparation for PolyORB integration.
13668
13669 * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
13670 exp_dist.
13671 (Build_Subprogram_Id): New subprogram provided by exp_dist
13672
13673 * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
13674 actual parameter types for call to dereference of an
13675 access-to-subprogram type.
13676
13677 * rtsfind.ads: Add new runtime library entities and names for PolyORB
13678 DSA.
13679
13680 * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
13681 instead, which has the same behaviour here since we never pass it a
13682 NULL pointer.
13683
13684 * link.c (run_path_option, Solaris case): Use -Wl, as for other
13685 platforms.
13686
13687 * Makefile.in: adjust object file lists for gnatlink and gnatmake
13688 to account for new dependency upon Interfaces.C.Strings + link.o
13689 For x86 FreeBSD, use 86numaux.
13690
13691 * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
13692 from Mlib.Tgt to Mlib.
13693
13694 * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
13695 target-independent.
13696
13697 * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
13698 target-specific versions of this subprogram, now implemented as a
13699 target-independent function in Mlib.
13700
13701 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
13702 5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
13703 (Linker_Library_Path_Option): Remove target-specific versions of this
13704 subprogram, now implemented as a target-independent function in Mlib.
13705
13706 * atree.adb: (Allocate_Initialize_Node): New subprogram.
13707 Factors out node table slots allocation.
13708 (Fix_Parents): New subprogram.
13709 Encapsulate the pattern of fixing up parent pointers for syntactic
13710 children of a rewritten node.
13711 (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
13712 (Rewrite): Use New_Copy when creating saved copy of original node.
13713 (Replace): Use Copy_Node to copy nodes.
13714
13715 2004-04-19 Javier Miranda <miranda@gnat.com>
13716
13717 * sprint.adb (Sprint_Node_Actual): Give support to the new
13718 Access_To_Subprogram node available in Access_Definition nodes. In
13719 addition, give support to the AI-231 node fields: null-exclusion,
13720 all-present, constant-present.
13721
13722 * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
13723
13724 * sinfo.ads, sinfo.adb:
13725 New field Access_To_Subprogram_Definition in Access_Definition nodes
13726
13727 * sem_ch6.adb (Process_Formals): Move here the code that creates and
13728 decorates internal subtype declaration corresponding to the
13729 null-excluding formal. This code was previously in Set_Actual_Subtypes.
13730 In addition, carry out some code cleanup on this code. In case of
13731 access to protected subprogram call
13732 Replace_Anonymous_Access_To_Protected_Subprogram.
13733 (Set_Actual_Subtypes): Code cleanup.
13734
13735 * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
13736 Find_Type in case of anonymous access renamings. Add warning in case of
13737 null-excluding attribute used in anonymous access renaming.
13738
13739 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
13740 subprogram
13741
13742 * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
13743 subprogram.
13744 (Access_Definition): In case of anonymous access to subprograms call
13745 the corresponding semantic routine to decorate the node.
13746 (Access_Subprogram_Declaration): Addition of some comments indicating
13747 some code that probably should be added here. Detected by comparison
13748 with the access_definition subprogram.
13749 (Analyze_Component_Declaration): In case of access to protected
13750 subprogram call Replace_Anonymous_Access_To_Protected.
13751 (Array_Type_Declaration): In case of access to protected subprogram call
13752 Replace_Anonymous_Access_To_Protected_Subprogram.
13753 (Process_Discriminants): In case of access to protected subprogram call
13754 Replace_Anonymous_Access_To_Protected_Subprogram.
13755
13756 * par.adb (P_Access_Definition): New formal that indicates if the
13757 null-exclusion part was present.
13758 (P_Access_Type_Definition): New formal that indicates if the caller has
13759 already parsed the null-excluding part.
13760
13761 * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
13762 (P_Identifier_Declarations): Code cleanup and give support to renamings
13763 of anonymous access to subprogram types.
13764 (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
13765 (P_Array_Type_Definition): Give support to AI-254.
13766 (P_Component_Items): Give support to AI-254.
13767 (P_Access_Definition): New formal that indicates if the header was
13768 already parsed by the caller.
13769 (P_Access_Type_Definition): New formal that indicates if the caller has
13770 already parsed the null-excluding part.
13771
13772 * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
13773 call to P_Access_Definition.
13774
13775 2004-04-19 Geert Bosch <bosch@gnat.com>
13776
13777 * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
13778 the delicate semantics of floating-point to integer conversion.
13779 (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
13780
13781 * eval_fat.adb (Machine_Mantissa): Moved to spec.
13782 (Machine_Radix): New function.
13783
13784 * eval_fat.ads (Machine_Mantissa): Moved from body for use in
13785 conversion checks.
13786 (Machine_Radix): New function also for use in conversion checks.
13787
13788 2004-04-19 Ed Schonberg <schonberg@gnat.com>
13789
13790 * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
13791
13792 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
13793 to decorate the access-to-protected subprogram and the equivalent type.
13794
13795 * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
13796 to anonymous access to subprogram types.
13797
13798 * exp_ch4.adb (Expand_N_In): Preserve Static flag before
13799 constant-folding, for legality checks in contexts that require an RM
13800 static expression.
13801
13802 * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
13803 temporary but stack checking is not enabled, increment serial number
13804 to so that symbol generation is consistent with and without stack
13805 checking.
13806
13807 * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
13808 independent on whether stack checking is enabled, caller must check
13809 the corresponding flag.
13810
13811 * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
13812 range checks.
13813 (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
13814 parent if it has discriminants.
13815 (Build_Derived_Private_Type): Constructed full view does
13816 not come from source.
13817 (Process_Discriminants): Default discriminants on a tagged type are
13818 legal if this is the internal completion of a private untagged
13819 derivation.
13820
13821 * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
13822 no constraint checks, because it corresponds to an existing object.
13823
13824 * sem_prag.adb (Process_Convention): Pragma applies
13825 only to subprograms in the same declarative part, i.e. the same unit,
13826 not the same scope.
13827
13828 * sem_res.adb (Valid_Conversion): In an instance or inlined body,
13829 ignore type mismatch on a numeric conversion if expression comes from
13830 expansion.
13831
13832 2004-04-19 Sergey Rybin <rybin@act-europe.fr>
13833
13834 * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
13835 Homonym_Number parameter, add processing for Source_Location parameter
13836 corresponding.
13837 (Check_Eliminated): Remove the check for homonym numbers, add the check
13838 for source location traces.
13839
13840 * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
13841 with Arg_Source_Location corresponding to the changes in the format of
13842 the pragma.
13843
13844 * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
13845 Eliminate pragma corresponding to the changes in the format of the
13846 pragma: Homonym_Number is replaced with Source_Location, two ways of
13847 distinguishing homonyms are mutially-exclusive.
13848
13849 2004-04-19 Joel Brobecker <brobecker@gnat.com>
13850
13851 * get_targ.ads (Get_No_Dollar_In_Label): Remove.
13852
13853 * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
13854 No_Dollar_In_Label, no longer necessary, as it is always True.
13855 (Strip_Suffixes): Likewise.
13856
13857 2004-04-19 Gary Dismukes <dismukes@gnat.com>
13858
13859 * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
13860 modulus for compatibility with size clause on targets with 16-bit
13861 Integer.
13862
13863 * layout.adb (Discrimify): In the case of private types, set Vtyp to
13864 full type to fix type mismatches on calls to size functions for
13865 discriminant-dependent array components.
13866
13867 2004-04-19 Jerome Guitton <guitton@act-europe.fr>
13868
13869 * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
13870 lib.
13871
13872 2004-04-19 Pascal Obry <obry@gnat.com>
13873
13874 * mdll-utl.adb (Locate): New version is idempotent.
13875
13876 2004-04-17 Laurent Guerby <laurent@guerby.net>
13877
13878 PR ada/14988 (partial)
13879 * impunit.adb: Fix typo.
13880
13881 2004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
13882
13883 * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
13884 and install-rts-cert targets. Remove all gnatlib and gnattools
13885 targets and all other rts-* targets (moved to libada). Remove (now)
13886 unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
13887 TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
13888
13889 2004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13890
13891 * trans.c (tree_transform): Shortcut returning error_mark_node for
13892 statements in annotate_only_mode.
13893 (tree_transform, case N_Label, case N_Return_Statement,
13894 N_Goto_Statement): Make statement tree instead of generating code.
13895 (tree_transform, case N_Assignment_Statement): No longer check
13896 type_annotate_only.
13897 (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
13898 RETURN_STMT): New.
13899 (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
13900 New fcns.
13901 (gnat_to_gnu): Collect any RTL generated and deal with it.
13902 (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
13903 (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
13904 (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
13905
13906 * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
13907
13908 * ada-tree.def (EXPR_STMT): Fix typo in name.
13909 (BLOCK_STMT, IF_STMT): New nodes.
13910
13911 * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
13912 LABEL_STMT_FIRST_IN_EH): New macros.
13913 (RETURN_STMT_EXPR): Likewise.
13914
13915 * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
13916 IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
13917
13918 2004-04-08 Thomas Quinot <quinot@act-europe.fr>
13919
13920 * atree.ads: Correct documentation on extended nodes.
13921
13922 * link.c: Set run_path_option for FreeBSD.
13923
13924 2004-04-08 Vincent Celier <celier@gnat.com>
13925
13926 * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
13927 one of the ALI file, do not link with DEC lib.
13928
13929 * par.adb Remove the last two characters ("%s" or "%b") when checking
13930 if a language defined unit may be recompiled.
13931
13932 2004-04-08 Ed Schonberg <schonberg@gnat.com>
13933
13934 * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
13935 removal of abstract operation leaves no possible interpretation for
13936 expression.
13937
13938 * sem_eval.adb (Eval_Qualified_Expression): Use
13939 Set_Raises_Constraint_Error on node when needed, so that it does not
13940 get optimized away by subsequent optimizations.
13941
13942 * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
13943 operands even when they are not wrapped in a type conversion.
13944
13945 2004-04-08 Olivier Hainque <hainque@act-europe.fr>
13946
13947 * sem_prag.adb (Set_Exported): Warn about making static as result of
13948 export only when the export is coming from source. This may be not
13949 be true e.g. on VMS where we expand export pragmas for exception codes
13950 together with imported or exported exceptions, and we don't want the
13951 user to be warned about something he didn't write.
13952
13953 2004-04-08 Thomas Quinot <quinot@act-europe.fr>
13954
13955 * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
13956 duplication between normal entities and those declared as renamings.
13957 No functional change.
13958
13959 * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
13960 inline functions returning an unconstrained result.
13961
13962 2004-04-08 Eric Botcazou <ebotcazou@act-europe.fr>
13963
13964 * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
13965 conform to what other front-ends do.
13966
13967 2004-04-08 Doug Rupp <rupp@gnat.com>
13968
13969 * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
13970 libraries.
13971
13972 2004-04-06 Pascal Obry <obry@gnat.com>
13973
13974 * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
13975
13976 * osint.adb (Program_Name): Do not look past a directory separator.
13977
13978 2004-04-06 Thomas Quinot <quinot@act-europe.fr>
13979
13980 * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
13981
13982 * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
13983 requirement for preserving a copy of the original assignment node.
13984
13985 * sinfo.ads: Update comment (Original_Tree -> Original_Node).
13986
13987 2004-04-06 Olivier Hainque <hainque@act-europe.fr>
13988
13989 (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
13990 when supported.
13991
13992 2004-04-06 Ed Schonberg <schonberg@gnat.com>
13993
13994 * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
13995 operator calls in functional notation, and apply
13996 Universal_Interpretation to operands, not to their type.
13997
13998 2004-04-06 Robert Dewar <dewar@gnat.com>
13999
14000 * 5wdirval.adb: Minor reformatting
14001
14002 2004-04-06 Ed Falis <falis@gnat.com>
14003
14004 * gnat_rm.texi: Improve a reference to the GCC manual
14005
14006 2004-04-05 Vincent Celier <celier@gnat.com>
14007
14008 * adaint.h, adaint.c: Add function __gnat_named_file_length
14009
14010 * impunit.adb: Add Ada.Directories to the list
14011
14012 * Makefile.in: Add VMS and Windows versions of
14013 Ada.Directories.Validity package body.
14014
14015 * Makefile.rtl: Add a-direct and a-dirval
14016
14017 * mlib-tgt.ads: Minor comment update.
14018
14019 * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
14020 a-direct.ads, a-direct.adb: New files.
14021
14022 2004-04-05 Vincent Celier <celier@gnat.com>
14023
14024 PR ada/13620
14025 * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
14026 just to the compiler.
14027
14028 2004-04-05 Robert Dewar <dewar@gnat.com>
14029
14030 * a-except.adb (Exception_Name_Simple): Make sure lower bound of
14031 returned string is 1.
14032
14033 * ali-util.adb: Use proper specific form for Warnings (Off, entity)
14034
14035 * eval_fat.ads: Minor reformatting
14036
14037 * g-curexc.ads: Document that lower bound of returned string values
14038 is always one.
14039
14040 * gnatlink.adb: Add ??? comment for previous change
14041 (need to document why this is VMS specific)
14042
14043 * s-stoele.ads: Minor reformatting
14044
14045 * tbuild.ads: Minor reformatting throughout (new function specs)
14046
14047 * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
14048 after WITH.
14049
14050 * scng.adb: Minor reformatting
14051
14052 2004-04-05 Geert Bosch <bosch@gnat.com>
14053
14054 * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
14055 (Leading_Part): Still perform truncation to machine number if the
14056 specified radix_digits is greater or equal to machine_mantissa.
14057
14058 2004-04-05 Javier Miranda <miranda@gnat.com>
14059
14060 * par-ch3.adb: Complete documentation of previous change
14061 Correct wrong syntax documentation of the OBJECT_DECLARATION rule
14062 (aliased must appear before constant).
14063
14064 * par-ch4.adb: Complete documentation of previous change.
14065
14066 * par-ch6.adb: Complete documentation of previous change.
14067
14068 * sinfo.ads: Fix typo in commment.
14069
14070 2004-04-05 Ed Schonberg <schonberg@gnat.com>
14071
14072 * sem_ch3.adb (Inherit_Components): If derived type is private and has
14073 stored discriminants, use its discriminants to constrain parent type,
14074 as is done for non-private derived record types.
14075
14076 * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
14077 Ada 2005 AI-310: an abstract non-dispatching operation is not a
14078 candidate interpretation in an overloaded call.
14079
14080 * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
14081 expression is Null and target type is not an access type (e.g. a
14082 non-private address type).
14083
14084 2004-04-05 Thomas Quinot <quinot@act-europe.fr>
14085
14086 * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
14087 statement whose right-hand side is an inlined call, save a copy of the
14088 original assignment subtree to preserve enough consistency for
14089 Analyze_Assignment to proceed.
14090
14091 * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
14092 complete assignment subtree which is now unnecessary, as the expansion
14093 of inlined call has been improved to preserve a consistent assignment
14094 tree. Note_Possible_Modification must be called only
14095 after checks have been applied, or else unnecessary checks will
14096 be generated.
14097
14098 * sem_util.adb (Note_Possible_Modification): Reorganise the handling
14099 of explicit dereferences that do not Come_From_Source:
14100 - be selective on cases where we must go back to the dereferenced
14101 pointer (an assignment to an implicit dereference must not be
14102 recorded as modifying the pointer);
14103 - do not rely on Original_Node being present (Analyze_Assignment
14104 calls Note_Possible_Modification on a copied tree).
14105
14106 * sem_warn.adb (Check_References): When an unset reference to a pointer
14107 that is never assigned is encountered, prefer '<pointer> may be null'
14108 warning over '<pointer> is never assigned a value'.
14109
14110 2004-04-05 Ramon Fernandez <fernandez@gnat.com>
14111
14112 * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
14113 the ABI.
14114
14115 2004-04-05 Olivier Hainque <hainque@act-europe.fr>
14116
14117 * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
14118 libexc. We currently don't reference anything in this library and
14119 linking it in triggers linker warnings we don't want to see.
14120
14121 * init.c: Update comments.
14122
14123 2004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14124
14125 * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
14126 * utils.c (create_field_decl): Likewise.
14127 * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
14128
14129 2004-04-02 Arnaud Charlet <charlet@act-europe.fr>
14130
14131 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
14132 Replace ifinfo by ifnottex, to make makeinfo --html happy again.
14133 Add info directory entry and category.
14134
14135 2004-04-02 Jan Hubicka <jh@suse.cz>
14136
14137 * utils.c: Include function.h
14138 (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
14139
14140 2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
14141
14142 PR ada/14150
14143 * Make-lang.in: Clean up generation of documentation
14144
14145 * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
14146
14147 * xgnatug.adb: Removed, replaced by xgnatugn.adb
14148
14149 * xgnatugn.adb: Replaces xgnatug.adb
14150
14151 * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
14152
14153 * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
14154
14155 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
14156 gnat_ug_wnt.texi: Removed.
14157
14158 2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
14159
14160 * utils2.c: Update copyright notice.
14161
14162 2004-04-01 Robert Dewar <dewar@gnat.com>
14163
14164 * checks.adb: Minor reformatting throughout
14165 Note that prev checkin added RM reference to alignment warning
14166
14167 2004-04-01 Ed Schonberg <schonberg@gnat.com>
14168
14169 * exp_aggr.adb (Get_Component_Val): Treat a string literal as
14170 non-static when building aggregate for bit-packed array.
14171
14172 * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
14173 function call that is itself the actual in a procedure call, build
14174 temporary for it.
14175
14176 * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
14177 a string literal, create a temporary for it, constant folding only
14178 handles scalars here.
14179
14180 2004-04-01 Vincent Celier <celier@gnat.com>
14181
14182 * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
14183 Error_Msg_SP): New empty procedures to instantiate the Scanner.
14184 (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
14185 tokens.
14186 (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
14187 (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
14188 and get the checksum.
14189
14190 * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
14191 already in the Q.
14192 Increase the Marking_Label at the end of the Multiple_Main_Loop,
14193 instead of at the beginning.
14194
14195 * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
14196 directly.
14197 (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
14198 on VMS.
14199
14200 * osint.ads (Multi_Unit_Index_Character): New Character global variable
14201
14202 * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
14203 not '~' directly.
14204
14205 * par.adb: Remove test on file name to detect language defined units.
14206 Add test on unit name, after parsing, to detect language defined units
14207 that are not compiled with -gnatg (except System.RPC and its children)
14208
14209 * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
14210 following units without style checking.
14211
14212 * switch-c.adb: Change -gnatC to -gnateI
14213
14214 * usage.adb: Document new switch -gnateInnn
14215
14216 * scng.adb (Accumulate_Token_Checksum): New procedure
14217 (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
14218 word or literal number.
14219 (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
14220 numbers.
14221
14222 2004-04-01 Thomas Quinot <quinot@act-europe.fr>
14223
14224 * a-tasatt.adb,
14225 g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
14226 switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
14227 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
14228 5vtpopde.adb: Add missing 'constant' keywords.
14229
14230 2004-04-01 Javier Miranda <miranda@gnat.com>
14231
14232 * par-ch4.adb: (P_Allocator): Code cleanup
14233
14234 * sem_ch3.adb (Access_Definition): Properly set the null-excluding
14235 attribute.
14236
14237 * sinfo.ads: Complete documentation of previous change
14238
14239 2004-04-01 Pascal Obry <obry@gnat.com>
14240
14241 * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
14242 only on VMS. This special handling was done because an old GNU/ld bug
14243 on Windows which has been fixed.
14244
14245 2004-04-01 GNAT Script <nobody@gnat.com>
14246
14247 * Make-lang.in: Makefile automatically updated
14248
14249 2004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14250
14251 * decl.c (gnat_to_gnu_entity, make_type_from_size):
14252 Use TYPE_UNSIGNED, not TREE_UNSIGNED.
14253 * trans.c (tree_transform, convert_with_check): Likewise.
14254 * utils.c (gnat_signed_or_unsigned_type): Likewise.
14255 (build_vms_descriptor, unchecked_convert): Likewise.
14256 * utils2.c (nonbinary_modular_operation): Likewise.
14257
14258 2004-03-29 Javier Miranda <miranda@gnat.com>
14259
14260 * checks.adb (Null_Exclusion_Static_Checks): New subprogram
14261 (Install_Null_Excluding_Check): Local subprogram that determines whether
14262 an access node requires a runtime access check and if so inserts the
14263 appropriate run-time check.
14264 (Apply_Access_Check): Call Install_Null_Excluding check if required
14265 (Apply_Constraint_Check): Call Install_Null_Excluding check if required
14266
14267 * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
14268
14269 * einfo.ads: Fix typo in comment
14270
14271 * exp_ch3.adb (Build_Assignment): Generate conversion to the
14272 null-excluding type to force the corresponding run-time check.
14273 (Expand_N_Object_Declaration): Generate conversion to the null-excluding
14274 type to force the corresponding run-time check.
14275
14276 * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
14277 the null-excluding type to force the corresponding run-time check.
14278
14279 * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
14280 case of access types unless they have the null-excluding attribute.
14281
14282 * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
14283 part.
14284
14285 * exp_util.ads: Fix typo in comment
14286
14287 * par.adb (P_Null_Exclusion): New subprogram
14288 (P_Subtype_Indication): New formal that indicates if the null-excluding
14289 part has been scanned-out and it was present
14290
14291 * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
14292
14293 * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
14294 (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
14295 type to force the corresponding run-time check
14296 (Resolve_Aggregate): Propagate the null-excluding attribute to the array
14297 components
14298 (Resolve_Array_Aggregate): Carry out some static checks
14299 (Resolve_Record_Aggregate.Get_Value): Carry out some static check
14300
14301 * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
14302 attribute must be set only if specified by means of the null-excluding
14303 part. In addition, we must also propagate the access-constant attribute
14304 if present.
14305 (Access_Subprogram_Declaration, Access_Type_Declaration,
14306 Analyze_Component_Declaration, Analyze_Object_Declaration,
14307 Array_Type_Declaration, Process_Discriminants,
14308 Analyze_Subtype_Declaration): Propagate the null-excluding attribute
14309 and carry out some static checks.
14310 (Build_Derived_Access_Type): Set the null-excluding attribute
14311 (Derived_Type_Declaration, Process_Subtype): Carry out some static
14312 checks.
14313
14314 * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
14315
14316 * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
14317
14318 * sem_ch6.adb (Process_Formals): Carry out some static checks.
14319 (Set_Actual_Subtypes): Generate null-excluding subtype if the
14320 null-excluding part was present; it is not required to be done here in
14321 case of anonymous access types.
14322 (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
14323 value.
14324
14325 * sem_res.adb (Resolve_Actuals): Carry out some static check
14326 (Resolve_Null): Allow null in anonymous access
14327
14328 * sinfo.adb: New subprogram Null_Exclusion_Present
14329 All_Present and Constant_Present available on access_definition nodes
14330
14331 * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
14332 object_declaration, derived_type_definition, component_definition,
14333 discriminant_specification, access_to_object_definition,
14334 access_function_definition, allocator, access_procedure_definition,
14335 access_definition, parameter_specification, All_Present and
14336 Constant_Present flags available on access_definition nodes.
14337
14338 2004-03-29 Robert Dewar <dewar@gnat.com>
14339
14340 * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
14341 gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
14342 opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
14343 par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
14344 sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
14345 sem_prag.adb: Updates to handle multiple units/file
14346
14347 * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
14348
14349 * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
14350 sem_util.adb: Minor reformatting
14351
14352 * sem_ch12.adb: Add comment for previous change
14353
14354 2004-03-29 Laurent Pautet <pautet@act-europe.fr>
14355
14356 * osint.adb (Executable_Prefix): Set Exec_Name to the current
14357 executable name when not initialized. Otherwise, use its current value.
14358
14359 * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
14360 initialize it to another executable name than the current one. This
14361 allows to configure paths for an executable name (gnatmake) different
14362 from the current one (gnatdist).
14363
14364 2004-03-29 Ed Schonberg <schonberg@gnat.com>
14365
14366 * exp_ch6.adb (Expand_Call): A call to a function declared in the
14367 current unit cannot be inlined if it appears in the body of a withed
14368 unit, to avoid order of elaboration problems in gigi.
14369
14370 * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
14371 information for protected (wrapper) operation as well, to simplify gdb
14372 use.
14373
14374 * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
14375 protected body, indicate that the entity for the generated spec comes
14376 from source, to ensure that references are properly generated for it.
14377 (Build_Body_To_Inline): Do not inline a function that returns a
14378 controlled type.
14379
14380 * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
14381 apply convention to homonyms that are declared explicitly.
14382
14383 * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
14384 that renames an equality operator and the operands are overloaded,
14385 resolve them with the declared formal types, before rewriting as an
14386 operator.
14387
14388 2004-03-29 GNAT Script <nobody@gnat.com>
14389
14390 * Make-lang.in: Makefile automatically updated
14391
14392 2004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr>
14393
14394 * memtrack.adb: Log realloc calls, which are treated as free followed
14395 by alloc.
14396
14397 2004-03-25 Vincent Celier <celier@gnat.com>
14398
14399 * prj-makr.adb (Process_Directories): Detect when a file contains
14400 several units. Do not include such files in the config pragmas or
14401 in the naming scheme.
14402
14403 * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
14404 Resolve links only when not in Trusted_Mode.
14405 (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
14406 Do not resolve links for the display names.
14407
14408 * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
14409 resolve links when computing the display names.
14410
14411 2004-03-25 Thomas Quinot <quinot@act-europe.fr>
14412
14413 * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
14414 attribute reference does not denote a subtype, it can be any
14415 expression that has a classwide type, potentially after an implicit
14416 dereference. In particular, the prefix can be a view conversion for
14417 a classwide type (for which Is_Object_Reference holds), but it can
14418 also be a value conversion for an access-to-classwide type. In the
14419 latter case, there is an implicit dereference, and the original node
14420 for the prefix does not verify Is_Object_Reference.
14421
14422 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
14423 conversion of a discriminant-dependent component of a mutable object
14424 is one itself.
14425
14426 2004-03-25 Ed Schonberg <schonberg@gnat.com>
14427
14428 * freeze.adb (Freeze_Entity): When an inherited subprogram is
14429 inherited, has convention C, and has unconstrained array parameters,
14430 place the corresponding warning on the derived type declaration rather
14431 than the original subprogram.
14432
14433 * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
14434 indication on renaming declaration, if formal has a box and actual
14435 is absent.
14436
14437 * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
14438 determine whether to generate an implicit or explicit reference to
14439 the renamed entity.
14440
14441 * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
14442 subprogram renaming comes from a defaulted formal subprogram in an
14443 instance.
14444
14445 2004-03-25 Gary Dismukes <dismukes@gnat.com>
14446
14447 * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
14448 value expressions to ensure that calls within a component definition
14449 will be checked (since those are evaluated during the record type's
14450 elaboration).
14451
14452 2004-03-25 Arnaud Charlet <charlet@act-europe.fr>
14453
14454 * s-tpobop.adb: Code clean up:
14455 (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
14456 code.
14457 (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
14458
14459 2004-03-25 Jose Ruiz <ruiz@act-europe.fr>
14460
14461 * Makefile.in: Clean up in the ravenscar run time.
14462
14463 2004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14464
14465 * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
14466 of No_Strict_Aliasing to build_pointer_type_for_mode.
14467 * utils.c (update_pointer_to): Walk pointer and ref chains.
14468
14469 2004-03-22 Cyrille Comar <comar@act-europe.fr>
14470
14471 * ali.ads: Fix Comment about Dynamic_Elab.
14472
14473 * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
14474 Has_RACW, Is_Generic, etc.)
14475 (Output_Object, Gnatls): Take into account ALI files not attached to
14476 an object.
14477
14478 2004-03-22 Vincent Celier <celier@gnat.com>
14479
14480 * gprep.adb: Change all String_Access to Name_Id
14481 (Is_ASCII_Letter): new function
14482 (Double_File_Name_Buffer): New procedure
14483 (Preprocess_Infile_Name): New procedure
14484 (Process_Files): New procedure
14485 (Gnatprep): Check if output and input are existing directories.
14486 Call Process_Files to do the real job.
14487
14488 2004-03-22 Robert Dewar <dewar@gnat.com>
14489
14490 * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
14491 s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
14492
14493 2004-03-22 Sergey Rybin <rybin@act-europe.fr>
14494
14495 * scn.adb (Contains): Add check for EOF, is needed for a degenerated
14496 case when the source contains only comments.
14497
14498 2004-03-22 Ed Schonberg <schonberg@gnat.com>
14499
14500 * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
14501 declaration for a child subprogram body that acts as a spec, indicate
14502 that the entity in the declaration needs debugging information.
14503
14504 * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
14505 full view if the subtype is created for a constrained record component;
14506 gigi has enough information to construct the record, and there is no
14507 place in the tree for the declaration.
14508
14509 * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
14510 serial number for the dummy body that is built for analysis, to avoid
14511 inconsistencies in the generation of internal names when compiling
14512 with -gnatN.
14513
14514 2004-03-22 Thomas Quinot <quinot@act-europe.fr>
14515
14516 * sem_util.adb (Is_Object_Reference): A view conversion denotes an
14517 object.
14518
14519 2004-03-22 GNAT Script <nobody@gnat.com>
14520
14521 * Make-lang.in: Makefile automatically updated
14522
14523 2004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14524
14525 * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
14526 * trans.c (tree_transform, emit_index_check): Likewise.
14527 * utils.c (build_template): Likewise.
14528 (max_size, convert): Remove handling of WITH_RECORD_EXPR.
14529 (maybe_unconstrained_array, unchecked_convert): Likewise.
14530 * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
14531 (build_unary_op): Likewise.
14532 (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
14533 (fill_vms_descriptor): Likewise.
14534 (build_call_alloc_dealloc): Likewise.
14535 ALIGN is unsigned.
14536 * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
14537
14538 2004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
14539
14540 PR other/14630
14541 * gnat_ug.texi: Add info directory category and entry.
14542 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
14543 gnat_ug_wnt.texi: Regenerate.
14544
14545 2004-03-19 Arnaud Charlet <charlet@act-europe.fr>
14546
14547 * ada-tree.h: Update copyright notice.
14548 Minor reformatting.
14549
14550 2004-03-19 Olivier Hainque <hainque@act-europe.fr>
14551
14552 * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
14553 as regular exception objects and not as mere integers representing the
14554 condition code. The latter approach required some dynamics to mask off
14555 severity bits, which did not fit well into the GCC table based model.
14556 (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
14557 exception data objects. We don't it and it would conflict with the other
14558 external symbol we have to generate for such exceptions.
14559
14560 * trans.c (tree_transform, case N_Exception_Handler): Remove part of
14561 the special code for VMS exceptions, since these are now represented
14562 as regular exceptions objects.
14563
14564 2004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14565
14566 * decl.c (debug_no_type_hash): Remove.
14567 (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
14568 * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
14569
14570 2004-03-19 Laurent Guerby <laurent@guerby.net>
14571
14572 * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
14573 aggregate, allows bootstrap from 3.3 on powerpc-darwin.
14574
14575 2004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14576
14577 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
14578 (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
14579 (TYPE_RM_SIZE_INT): Directly use type.values.
14580 (TREE_LOOP_ID): Clean up check.
14581 * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
14582 TYPE_VALUES, not TYPE_FIELDS.
14583 * trans.c (convert_with_check): Delay access of bounds of basetype
14584 until sure is numeric.
14585
14586 2004-03-18 Arnaud Charlet <charlet@act-europe.fr>
14587
14588 * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
14589
14590 Code clean up:
14591 * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
14592 5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
14593 Specific.Set instead of direct call to e.g pthread_setspecific.
14594
14595 2004-03-18 Thomas Quinot <quinot@act-europe.fr>
14596
14597 * adaint.c: Update comments.
14598
14599 * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
14600 GNATLIB_SHARED for FreeBSD.
14601
14602 2004-03-18 Jose Ruiz <ruiz@act-europe.fr>
14603
14604 * init.c [VxWorks]: Do not fix the stack size for the environment task.
14605 When needed (stack checking) the stack size is retrieved
14606 from the VxWorks kernel.
14607
14608 * Makefile.in: Flag -nostdinc is required when building the run time
14609 for avoiding looking for files in the base compiler.
14610 Add the VxWorks specific version of the package body for
14611 System.Stack_checking.Operations (5zstchop.adb).
14612
14613 * Make-lang.in: Add the object file for
14614 System.Stack_Checking.Operations.
14615
14616 * Makefile.rtl: Add object file for the package
14617 System.Stack_Checking.Operations.
14618
14619 * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
14620
14621 * s-stache.ads, s-stache.adb: Move the operations related to stack
14622 checking from this package to package System.Stack_Checking.Operations.
14623 This way, stack checking operations are only linked in the final
14624 executable when using the -fstack-check flag.
14625
14626 2004-03-18 Doug Rupp <rupp@gnat.com>
14627
14628 * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
14629 Reorganize ifeq's.
14630
14631 * 5qsystem.ads, 5xcrtl.ads: New files.
14632
14633 2004-03-18 Vincent Celier <celier@gnat.com>
14634
14635 * prj.adb (Reset): Reset hash table Files_Htable
14636
14637 * prj-env.adb (Source_Paths, Object_Paths): New tables.
14638 (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
14639 the procedures Add_To_Path_File.
14640 (Set_Ada_Paths): Accumulate source and object dirs in the tables,
14641 making sure that each directory is present only once and, for object
14642 dirs, when a directory already present is added, the duplicate is
14643 removed and the directory is always put as the last in the table.
14644 Write the path files at the end of these accumulations.
14645
14646 * prj-nmsc.adb (Record_Source): Add source file name in hash table
14647 Files_Htable for all sources.
14648
14649 * prj-proc.adb (Process): Remove restrictions between not directly
14650 related extending projects.
14651
14652 2004-03-18 Emmanuel Briot <briot@act-europe.fr>
14653
14654 * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
14655 (Find_Sources): Minor speed optimization.
14656
14657 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
14658 parameter Trusted_Mode.
14659
14660 2004-03-18 Sergey Rybin <rybin@act-europe.fr>
14661
14662 * scn.adb (Determine_License): Take into account a degenerated case
14663 when the source contains only comments.
14664
14665 2004-03-18 Ed Schonberg <schonberg@gnat.com>
14666
14667 * sem_warn.adb (Check_References): For a warning on a selected
14668 component that does not come from source, locate an uninitialized
14669 component of the record type to produce a more precise error message.
14670
14671 2004-03-15 Jerome Guitton <guitton@act-europe.fr>
14672
14673 * 3zsoccon.ads: Fix multicast options.
14674
14675 * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
14676 in the spec.
14677
14678 2004-03-15 Robert Dewar <dewar@gnat.com>
14679
14680 * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
14681 pragma used for a private type.
14682
14683 * lib-xref.adb (Generate_Reference): Do not generate warning if
14684 reference is in a different unit from the pragma Unreferenced.
14685
14686 * 5vtpopde.adb: Minor reformatting
14687 Fix casing of To_Task_ID
14688
14689 * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
14690 flag if we have an unchecked conversion to an access type in the same
14691 unit.
14692
14693 2004-03-15 Geert Bosch <bosch@gnat.com>
14694
14695 * a-ngcoty.adb (Modulus): In alternate formula for large real or
14696 imaginary parts, use Double precision throughout.
14697
14698 * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
14699 we want to be able to compile run-time with -gnata for testing, but
14700 this may also be instantiated in user code that is compiled with -gnata.
14701
14702 2004-03-15 Olivier Hainque <hainque@act-europe.fr>
14703
14704 * s-stalib.ads (Exception_Code): New type, to represent Import/Export
14705 codes. Having a separate type for this is useful to enforce consistency
14706 throughout the various run-time units.
14707 (Exception_Data): Use Exception_Code for Import_Code.
14708
14709 * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
14710 Natural and Integer in various places.
14711 (Register_VMS_Exception): Use Base_Code_In to compute the exception code
14712 with the severity bits masked off.
14713 (Register_VMS_Exception): Handle the additional exception data pointer
14714 argument.
14715
14716 * raise.c (_GNAT_Exception structure): Remove the handled_by_others
14717 component, now reflected by an exported accessor.
14718 (is_handled_by): New routine to compute whether the propagated
14719 occurrence matches some handler choice specification. Extracted out of
14720 get_action_description_for, and expanded to take care of the VMS
14721 specifities.
14722 (get_action_description_for): Use is_handled_by instead of an explicit
14723 complex condition to decide if the current choice at hand catches the
14724 propagated occurrence.
14725
14726 * raise.h (Exception_Code): New type for C.
14727
14728 * rtsfind.ads (RE_Id, RE_Unit_Table): Add
14729 System.Standard_Library.Exception_Code, to allow references from the
14730 pragma import/export expander.
14731
14732 * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
14733 New accessors to allow easy access to GNAT exception data
14734 characteristics.
14735 (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
14736 redundant Handled_By_Others component, helper for the personality
14737 routine which will now be able to call the appropriate exception data
14738 accessor instead.
14739
14740 * cstand.adb (Create_Standard): Adjust the type of the Import_Code
14741 component of Standard_Exception_Type to be the closest possible to
14742 Exception_Code in System.Standard_Library, that we cannot get at this
14743 point. Expand a ??? comment to notify that this type node should
14744 probably be rewritten later on.
14745
14746 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
14747 registration call to include a pointer to the exception object in the
14748 arguments.
14749
14750 * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
14751 instead of int and explicit bitmasks.
14752
14753 2004-03-15 Vincent Celier <celier@gnat.com>
14754
14755 * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
14756 equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
14757
14758 * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
14759 longer needed now that it is in the spec of
14760 System.Tasking.Task_Attributes.
14761
14762 * adaint.h, adaint.c: (__gnat_create_output_file): New function
14763
14764 * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
14765
14766 * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
14767
14768 * make.adb (Gnatmake): Do not check the executable suffix; it is being
14769 taken care of in Scan_Make_Arg.
14770 (Scan_Make_Arg): Add the executable suffix only if the argument
14771 following -o, in canonical case, does not end with the executable
14772 suffix. When in verbose mode and executable file name does not end
14773 with executable suffix, output the executable name, in canonical case.
14774
14775 * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
14776 to avoid warnings when instantiating Ada.Task_Attributes.
14777 Minor reformating.
14778
14779 * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
14780 in the correct order.
14781
14782 * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
14783 redirect standard output and error to a file for the invocation of the
14784 compiler, then read the file.
14785
14786 * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
14787 directory, instead of the Value.
14788 (Find_Source_Dirs): Remove useless code & comments.
14789
14790 2004-03-15 Ed Schonberg <schonberg@gnat.com>
14791
14792 * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
14793 tagged type is inherited, and the parent operation is not frozen yet,
14794 force generation of a freeze node for the inherited operation, so the
14795 corresponding dispatch entry is properly initialized.
14796 (Make_Predefined_Primitive_Specs): Check that return type is Boolean
14797 when looking for user-defined equality operation.
14798
14799 * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
14800 boolean when locating primitive equality of tagged component.
14801
14802 * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
14803 bit-aligned field and the right-hand side a string literal, introduce
14804 a temporary before expanding assignment into a loop.
14805
14806 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
14807 priority in full, to ensure that any expanded subepxressions of it are
14808 elaborated in the scope of the init_proc.
14809
14810 * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
14811 after object declaration, skipping over code that may have been
14812 generated for validity checks.
14813
14814 * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
14815 discriminants, ignore the known discriminants of its full view, if
14816 any, to check legality.
14817
14818 * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
14819 component if type has unknown discriminants.
14820 (Analyze_Private_Extension_Declaration): Discriminant constraint is
14821 null if type has unknown discriminants.
14822
14823 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
14824 for end label when present.
14825
14826 * s-fileio.adb (Open): When called with a C_Stream, use given name for
14827 temporary file, rather than an empty string.
14828
14829 2004-03-15 Ed Falis <falis@gnat.com>
14830
14831 * s-thread.adb: Removed, no longer used.
14832
14833 2004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14834
14835 * decl.c (target.h): Now include.
14836 (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
14837 in new build_pointer_from_mode calls for non-fat/non-thin pointer.
14838 (validate_size): For POINTER_TYPE, get smallest size permitted on
14839 machine.
14840
14841 * fe.h: Sort Einfo decls and add Set_Mechanism.
14842
14843 * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
14844 (ada/decl.o): Depends on target.h.
14845
14846 * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
14847 FUNCTION_BOUNDARY; always use TYPE_ALIGN.
14848
14849 2004-03-15 Thomas Quinot <quinot@act-europe.fr>
14850
14851 * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
14852
14853 * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
14854 Insert_Dereference_Action when rewriting an implicit dereference into
14855 an explicit one, this will be taken care of during expansion of the
14856 explicit dereference.
14857 (Expand_N_Slice): Same. Always do the rewriting, even for the case
14858 of non-packed slices, since the dereference action generated by
14859 expansion of the explicit dereference is needed in any case.
14860 (Expand_N_Selected_Component): When rewriting an implicit dereference,
14861 analyze and resolve the rewritten explicit dereference so it is seen
14862 by the expander.
14863 (Insert_Dereference_Action): This procedure is now called only for the
14864 expansion of an N_Explcit_Dereference_Node. Do insert a check even for
14865 dereferences that do not come from source (including explicit
14866 dereferences resulting from rewriting implicit ones), but do not
14867 recursively insert a check for the dereference nodes contained within
14868 the check.
14869 (Insert_Dereference_Action): Clarify and correct comment.
14870
14871 2004-03-08 Paolo Bonzini <bonzini@gnu.org>
14872
14873 PR ada/14131
14874 Move language detection to the top level.
14875 * config-lang.in: Build by default.
14876
14877 2004-03-05 Robert Dewar <dewar@gnat.com>
14878
14879 * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
14880
14881 * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
14882 i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
14883 5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
14884 5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
14885 unchecked conversion to spec to avoid warnings.
14886
14887 * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
14888 to Task_ID
14889
14890 * 7stpopsp.adb: Correct casing in To_Task_ID call
14891
14892 * a-strsea.ads, a-strsea.adb: Minor reformatting
14893
14894 * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
14895
14896 * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
14897 Adjust Max_Msg_Length to be clearly large enough.
14898
14899 * fe.h: Define In_Same_Source_Unit
14900
14901 * osint.adb: Add pragma Warnings Off to suppress warnings
14902 * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
14903 aliasing warnings.
14904
14905 * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
14906
14907 * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
14908
14909 * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
14910
14911 * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
14912
14913 * sem_prag.adb: Implement pragma No_Strict_Aliasing.
14914
14915 * sinfo.ads: Remove obsolete comment on validate unchecked conversion
14916 node. We now do generate them for gcc back end.
14917
14918 * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
14919 warning.
14920
14921 * sinput-c.adb: Fix bad name in header.
14922 Add pragma Warnings Off to suppress aliasing warning.
14923
14924 * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
14925
14926 * snames.h, snames.ads, snames.adb: Add entry for pragma
14927 No_Strict_Aliasing.
14928
14929 2004-03-05 Vincent Celier <celier@gnat.com>
14930
14931 * prj-com.ads: Add hash table Files_Htable to check when a file name
14932 is already a source of another project.
14933
14934 * prj-nmsc.adb (Record_Source): Before recording a new source, check
14935 if its file name is not already a source of another project. Report an
14936 error if it is.
14937
14938 * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
14939 source file name, call gnatpp with all the sources of the main project.
14940
14941 * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
14942 of file names.
14943
14944 * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
14945 NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
14946 /RUNTIME_SYSTEM=, converted to --RTS=
14947 /NOTABS, converted to -notabs
14948
14949 2004-03-05 Pascal Obry <obry@gnat.com>
14950
14951 * make.adb: Minor reformatting.
14952
14953 2004-03-05 Ed Schonberg <schonberg@gnat.com>
14954
14955 Part of implemention of AI-262.
14956 * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
14957
14958 * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
14959 procedure.
14960
14961 * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
14962 when component type is a partially constrained class-wide subtype.
14963 (Constrain_Discriminated_Type): If parent type has unknown
14964 discriminants, a constraint is illegal, even if full view has
14965 discriminants.
14966 (Build_Derived_Record_Type): Inherit discriminants when deriving a type
14967 with unknown discriminants whose full view is a discriminated record.
14968
14969 * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
14970 flag, to handle properly derivations of tagged types with unknown
14971 discriminants.
14972 (Analyze_Package_Spec, Analyze_Package_Body): Install
14973 Private_With_Clauses before analyzing private part or body.
14974
14975 * einfo.ads: Indicate that both Has_Unknown_Discriminants and
14976 Has_Discriminants can be true for a given type (documentation).
14977
14978 2004-03-05 Arnaud Charlet <charlet@act-europe.fr>
14979
14980 * s-restri.ads: Fix license (GPL->GMGPL).
14981
14982 * s-tassta.adb: Minor reformatting.
14983
14984 * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
14985 by calls to Exit_One_ATC_Level, since additional clean up is performed
14986 by this function.
14987
14988 * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
14989 by calls to Exit_One_ATC_Level, since additional clean up is performed
14990 by this function.
14991
14992 2004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14993
14994 * trans.c: Reflect GCC changes to fix bootstrap problem.
14995 Add warning for suspicious aliasing unchecked conversion.
14996
14997 2004-03-05 GNAT Script <nobody@gnat.com>
14998
14999 * Make-lang.in: Makefile automatically updated
15000
15001 2004-03-02 Emmanuel Briot <briot@act-europe.fr>
15002
15003 * ali.adb (Read_Instantiation_Instance): Do not modify the
15004 current_file_num when reading information about instantiations, since
15005 this corrupts files in later references.
15006
15007 2004-03-02 Vincent Celier <celier@gnat.com>
15008
15009 * bcheck.adb (Check_Consistency): Get the full path of an ALI file
15010 before checking if it is read-only.
15011
15012 * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
15013 of SRC_DIRS and eliminate duplicates.
15014
15015 * gprcmd.adb: Replace command "path" with command "path_sep" to return
15016 the path separator.
15017 (Usage): Document path_sep
15018
15019 * Makefile.generic: For Ada and GNU C++ cases, link directly with the
15020 C++ compiler. No need for a script.
15021 Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
15022 Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
15023 subst.
15024
15025 * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
15026 where there are Ada sources.
15027 (Set_Ada_Paths): Only add to the include path the source dirs of project
15028 with Ada sources.
15029 (Add_To_Path): Add the Display_Values of the directories, not their
15030 Values.
15031
15032 * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
15033 data.
15034
15035 * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
15036 is not No_Name.
15037 (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
15038 Value is canonicalized.
15039 (Language_Independent_Check): Do not copy Value to Display_Value when
15040 canonicalizing Value.
15041
15042 * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
15043 path to find limited with cycles.
15044 (Parse_Single_Project): Use canonical cased path to find the end of a
15045 with cycle.
15046
15047 2004-03-02 Ed Schonberg <schonberg@gnat.com>
15048
15049 * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
15050 and not a child unit.
15051
15052 * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
15053 appear in a with_clause.
15054
15055 * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
15056 only happen in type_annotate mode, do not try to elaborate it.
15057
15058 * exp_util.adb (Force_Evaluation): If expression is a selected
15059 component on the left of an assignment, use a renaming rather than a
15060 temporary to remove side effects.
15061
15062 * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
15063 inlined instance body, which is analyzed before the end of the
15064 enclosing scope.
15065
15066 2004-03-02 Robert Dewar <dewar@gnat.com>
15067
15068 * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
15069 sem_ch4.adb: Use new feature for substitution of keywords in VMS
15070
15071 * errout.ads, errout.adb: Implement new circuit for substitution of
15072 keywords in VMS.
15073
15074 * sem_case.adb (Analyze_Choices): Place message properly when case is
15075 a subtype reference rather than an explicit range.
15076
15077 * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
15078
15079 2004-03-02 Doug Rupp <rupp@gnat.com>
15080
15081 * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
15082
15083 2004-03-02 Thomas Quinot <quinot@act-europe.fr>
15084
15085 * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
15086
15087 2004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15088
15089 * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
15090 BLKmode bitfield.
15091
15092 2004-02-25 Robert Dewar <dewar@gnat.com>
15093
15094 * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
15095 55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
15096 5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
15097 5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
15098 5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
15099 5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
15100 the defining instance of the type to avoid aliasing problems.
15101 Fix copyright header. Fix bad comments in package header.
15102
15103 * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
15104
15105 2004-02-25 Ed Schonberg <schonberg@gnat.com>
15106
15107 * exp_ch2.adb (Param_Entity): Handle properly formals that have been
15108 rewritten as references when aliased through an address clause.
15109
15110 * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
15111 whether call can be interpreted as an indirect call to the result of a
15112 parameterless function call returning an access subprogram.
15113
15114 2004-02-25 Arnaud Charlet <charlet@act-europe.fr>
15115
15116 Code clean up:
15117 * exp_ch7.adb (Make_Clean): Remove generation of calls to
15118 Unlock[_Entries], since this is now done by Service_Entries directly.
15119
15120 * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
15121
15122 * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
15123 Requeue_Call for better code readability. Change spec and update calls:
15124 PO_Service_Entries now unlock the PO on exit.
15125 (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
15126 PO_Service_Entries.
15127
15128 * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
15129
15130 * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
15131
15132 2004-02-25 Sergey Rybin <rybin@act-europe.fr>
15133
15134 * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
15135 protected subprogram call and analyzing the result of such expanding
15136 in case when the called protected subprogram is eliminated.
15137
15138 * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
15139 names.
15140
15141 2004-02-25 Jerome Guitton <guitton@act-europe.fr>
15142
15143 * Makefile.in: Clean ups.
15144
15145 2004-02-23 Ed Schonberg <schonberg@gnat.com>
15146
15147 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
15148 protected operations if original subprogram is flagged as eliminated.
15149 (Expand_N_Subprogram_Body): For a protected operation, create
15150 discriminals for next operation before checking whether the operation
15151 is eliminated.
15152
15153 * exp_ch9.adb (Expand_N_Protected_Body,
15154 Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
15155 for internal protected operations if the original subprogram is
15156 eliminated.
15157
15158 * sem_elim.adb (Check_Eliminated): Handle properly protected operations
15159 declared in a single protected object.
15160
15161 2004-02-23 Vincent Celier <celier@gnat.com>
15162
15163 * prj-attr.adb: Make attribute Builder'Executable an associative array,
15164 case insensitive if file names are case insensitive, instead of a
15165 standard associative array.
15166
15167 * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
15168 them as case insensitive on platforms where the file names are case
15169 sensitive.
15170
15171 * prj-part.adb (Parse_Single_Project): Make sure, when checking if
15172 project file has already been parsed that canonical path are compared.
15173
15174 2004-02-23 Robert Dewar <dewar@gnat.com>
15175
15176 * sinput-c.ads: Correct bad unit title in header
15177
15178 * freeze.adb: Minor reformatting
15179
15180 2004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15181
15182 * trans.c (tree_transform, case N_Procedure_Call_Statement): For
15183 nonaddressable COMPONENT_REF that is removing padding that we are
15184 taking the address of, take the address of the padded record instead
15185 if item is variable size.
15186
15187 2004-02-20 Robert Dewar <dewar@gnat.com>
15188
15189 * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
15190
15191 2004-02-20 Ed Schonberg <schonberg@gnat.com>
15192
15193 * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
15194 itype references for the constrained designated type of a component
15195 whose base type is already frozen.
15196
15197 2004-02-20 Arnaud Charlet <charlet@act-europe.fr>
15198
15199 * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
15200 avoid GCC warnings.
15201
15202 2004-02-20 Sergey Rybin <rybin@act-europe.fr>
15203
15204 * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
15205 identifier for a phantom package that rewrites the formal package
15206 declaration with a box. The Add semantic decorations for the defining
15207 identifier from the original node (that represents the formal package).
15208
15209 2004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
15210
15211 * Make-lang.in (ada/stamp-sdefault): Use the top level
15212 move-if-change.
15213
15214 2004-02-19 Richard Henderson <rth@redhat.com>
15215
15216 * misc.c (record_code_position): Add third build arg for RTL_EXPR.
15217
15218 2004-02-18 Emmanuel Briot <briot@act-europe.fr>
15219
15220 * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
15221 Scan_ALI can be used for multiple ALI files without reinitializing
15222 between calls.
15223
15224 2004-02-18 Robert Dewar <dewar@gnat.com>
15225
15226 * debug.adb: Minor reformatting.
15227
15228 2004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15229
15230 * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
15231 to zero if there is an address clause.
15232
15233 2004-02-18 Thomas Quinot <quinot@act-europe.fr>
15234
15235 * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
15236
15237 2004-02-18 Gary Dismukes <dismukes@gnat.com>
15238
15239 * layout.adb (Layout_Component_List): Revise generation of call to
15240 discriminant-checking function to pass selections of all of the type's
15241 discriminants rather than just the variant-controlling discriminant.
15242
15243 2004-02-18 Olivier Hainque <hainque@act-europe.fr>
15244
15245 * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
15246 fail in the current setup and triggers spurious system error messages.
15247 Pretend it occurred and failed instead.
15248
15249 2004-02-18 Vincent Celier <celier@gnat.com>
15250
15251 * bld.adb: Mark FLDFLAGS as saved
15252 (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
15253 it is not the root project. Put each directory to be
15254 extended between double quotes to prevent it to be expanded on Windows.
15255 (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
15256 the project file. Set them back to their initial values if they have not
15257 been set in the project file.
15258
15259 * gprcmd.adb: (Gprdebug, Debug): New global variables
15260 (Display_Command): New procedure
15261 (Usage): Document new command "linkopts"
15262 Call Display_Command when env var GPRDEBUG has the value "TRUE"
15263 Implement new command "linkopts"
15264 Remove quotes that may be around arguments for "extend"
15265 Always call Normalize_Pathname with arguments formatted for the platform
15266
15267 * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
15268 Change @echo to @$(display) in target clean to be able to clean silently
15269
15270 * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
15271
15272 * prj-part.adb (Project_Path_Name_Of): Do not put final result in
15273 canonical case.
15274
15275 * prj-part.adb (Parse_Single_Project): Always call with From_Extended
15276 = Extending_All when current project is an extending all project.
15277
15278 * vms_conv.adb (Output_File_Expected): New Boolean global variable,
15279 set to True only for LINK command, after Unix switch -o.
15280 (Process_Arguments): Set Output_File_Expected to True for LINK command
15281 after Unix switch -o. When Output_File_Expected is True, never add an
15282 extension to a file name.
15283
15284 * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
15285 option file name, only to the --for-linker= switch.
15286 (Option_File_Name): If option file name do not end with ".opt", append
15287 "/OPTIONS".
15288
15289 2004-02-18 GNAT Script <nobody@gnat.com>
15290
15291 * Make-lang.in: Makefile automatically updated
15292
15293 2004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
15294
15295 * Make-lang.in (stamp-sdefault): Do not depend on
15296 move-if-change.
15297
15298 2004-02-12 Zack Weinberg <zack@codesourcery.com>
15299
15300 * config-lang.in: Disable Ada by default until probe logic for
15301 a bootstrap Ada compiler can be moved to the top level configure
15302 script.
15303
15304 2004-02-12 Olivier Hainque <hainque@act-europe.fr>
15305
15306 * decl.c (components_to_record): Don't claim that the internal fields
15307 we make to hold the variant parts are semantically addressable, because
15308 they are not.
15309
15310 * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
15311 adjust the comment describing the modular type form when we can use it.
15312 (Install_PAT): Account for the Esiz renaming.
15313
15314 * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
15315 sc_onstack context indication before raising the exception to which
15316 the signal is mapped. Allows better handling of later signals possibly
15317 triggered by the resumed user code if the exception is handled.
15318
15319 2004-02-12 Arnaud Charlet <charlet@act-europe.fr>
15320
15321 * 5zinit.adb: Removed, no longer used.
15322
15323 2004-02-12 Robert Dewar <dewar@gnat.com>
15324
15325 * ali.adb: Remove separating space between parameters on R line. Makes
15326 format consistent with format used by the binder for Set_Globals call.
15327
15328 * atree.ads, atree.adb: Minor reformatting (new function header format)
15329
15330 * bindgen.adb: Add Run-Time Globals documentation section containing
15331 detailed documentation of the globals passed from the binder file to
15332 the run time.
15333
15334 * gnatls.adb: Minor reformatting
15335
15336 * init.c (__gnat_set_globals): Add note pointing to documentation in
15337 bindgen.
15338
15339 * lib-writ.ads, lib-writ.adb: Remove separating space between
15340 parameters on R line.
15341 Makes format consistent with format used by the binder for Set_Globals
15342 call.
15343
15344 * osint.ads: Add 2004 to copyright notice
15345 Minor reformatting
15346
15347 * snames.ads: Correct capitalization of FIFO_Within_Priorities
15348 Noticed during code reading, documentation issue only
15349
15350 * usage.adb: Remove junk line for obsolete C switch
15351 Noticed during code reading
15352
15353 2004-02-12 Vincent Celier <celier@gnat.com>
15354
15355 * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
15356 extend for each directory, so that multiple /** directories are
15357 extended individually.
15358 (Recursive_Process): Set the default for LANGUAGES to ada
15359
15360 * gprcmd.adb: Define new command "ignore", to do nothing.
15361 Implement new comment "path".
15362
15363 * Makefile.generic: Suppress output when SILENT is set
15364 Make sure that when compiler for C/C++ is gcc, the correct -x switch is
15365 used, so that the correct compiler is invoked.
15366 When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
15367 CXX_INCLUDE_PATH, to avoid failure with too long command lines.
15368
15369 2004-02-12 Jerome Guitton <guitton@act-europe.fr>
15370
15371 * Makefile.in: Clean ups and remove obsolete targets.
15372
15373 2004-02-12 Ed Schonberg <schonberg@gnat.com>
15374
15375 * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
15376 predicate declared in exp_util.
15377
15378 * exp_util.adb: Add comments.
15379
15380 * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
15381 visibility before compiling context of the subunit.
15382
15383 * sem_res.adb (Check_Parameterless_Call): If the context expects a
15384 value but the name is a procedure, do not attempt to analyze as a call,
15385 in order to obtain more telling diagnostics.
15386
15387 * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
15388 'Access on parameterless function calls.
15389 (Normalize_Actuals): For a parameterless function call with missing
15390 actuals, defer diagnostic until resolution of enclosing call.
15391
15392 * sem_util.adb (Wrong_Type): If the context type is an access to
15393 subprogram and the expression is a procedure name, suggest a missing
15394 'attribute.
15395
15396 2004-02-10 Arnaud Charlet <charlet@act-europe.fr>,
15397 Nathanael Nerode <neroden@gcc.gnu.org>
15398
15399 PR ada/6637, PR ada/5911
15400 Merge with libada-branch:
15401 * config-lang.in: Build libada only when ada is built.
15402
15403 2004-02-09 Ed Schonberg <schonberg@gnat.com>
15404
15405 * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
15406 for a tagged type, verify that both formals have the same type.
15407
15408 * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
15409 temporary when the formal is an in-parameter and the actual a possibly
15410 unaligned slice.
15411
15412 * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
15413 when expansion is disabled, to ensure proper name capture with
15414 overloaded literals. Condition can be of any boolean type, resolve
15415 accordingly.
15416
15417 * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
15418 renaming is for a formal subprogram with a default operator name, and
15419 there is a usable operator that is visible at the point of
15420 instantiation.
15421
15422 2004-02-09 Robert Dewar <dewar@gnat.com>
15423
15424 * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
15425 rewrite to ignore errors in ali files, intended to allow tools downward
15426 compatibility with new versions of ali files.
15427
15428 * ali.ads: Add new parameter Ignore_Errors
15429
15430 * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
15431 duplicating the error message giving the file with restrictions.
15432
15433 * debug.adb: Add debug flag I for gnatbind
15434
15435 * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
15436 operators for the case where the operator is a defining operator.
15437
15438 * exp_ch3.adb: Minor reformatting (new function spec format).
15439
15440 * exp_ch4.adb: Add comment for previous change, and make minor
15441 adjustment to loop to always check for improper loop termination.
15442 Minor reformatting throughout (new function spec format).
15443
15444 * gnatbind.adb: Implement -di debug flag for gnatbind
15445
15446 * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
15447
15448 * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
15449
15450 * lib-load.adb: Fix bad assertion.
15451 Found by testing and code reading.
15452 Minor reformatting.
15453
15454 * lib-load.ads: Minor reformatting.
15455
15456 * lib-writ.adb: There is only one R line now.
15457
15458 * lib-writ.ads: Add documentation on making downward compatible changes
15459 to ali files so old tools work with new ali files.
15460 There is only one R line now.
15461 Add documentation on format incompatibilities (with special GPS note)
15462
15463 * namet.ads, namet.adb: (Is_Operator_Name): New procedure
15464
15465 * par-load.adb: Minor reformatting
15466
15467 * sem_ch8.adb: Fix to error message from last update
15468 Minor reformatting and restructuring of code from last update
15469
15470 * par-prag.adb, snames.adb, snames.ads, snames.h,
15471 sem_prag.adb: Implement pragma Profile.
15472
15473 * stylesw.adb: Implement -gnatyN switch to turn off all style check
15474 options.
15475
15476 * usage.adb: Add line for -gnatyN switch
15477
15478 * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
15479
15480 2004-02-09 Albert Lee <lee@gnat.com>
15481
15482 * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
15483
15484 2004-02-09 Ed Schonberg <schonberg@gnat.com>
15485
15486 * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
15487 slices.
15488
15489 * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
15490 is nested in an instance that is not frozen yet, to avoid
15491 order-of-elaboration problems in gigi.
15492
15493 * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
15494 body the attribute is legal.
15495
15496 2004-02-09 Robert Dewar <dewar@gnat.com>
15497
15498 * s-rident.ads: Minor comment correction
15499
15500 * targparm.adb: Remove dependence on uintp completely. There was
15501 always a bug in Make in that it called Targparm before initializing
15502 the Uint package. The old code appeared to get away with this, but
15503 the new code did not! This caused an assertion error in gnatmake.
15504
15505 * targparm.ads: Fix bad comment, restriction pragmas with parameters
15506 are indeed fully supported.
15507
15508 2004-02-06 Alan Modra <amodra@bigpond.net.au>
15509
15510 * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
15511
15512 2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
15513
15514 * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
15515 with targetm.calls.promote_prototypes.
15516
15517 2004-02-04 Robert Dewar <dewar@gnat.com>
15518
15519 * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
15520 ali.ads, gprcmd.adb: Minor reformatting
15521
15522 * bindgen.adb: Output restrictions string for new style restrictions
15523 handling
15524
15525 * impunit.adb: Add s-rident.ads (System.Rident) and
15526 s-restri (System.Restrictions)
15527
15528 * lib-writ.adb: Fix bug in writing restrictions string (last few
15529 entries wrong)
15530
15531 * s-restri.ads, s-restri.adb: Change name Restrictions to
15532 Run_Time_Restrictions to avoid conflict with package name.
15533 Add circuit to read and acquire run time restrictions.
15534
15535 2004-02-04 Jose Ruiz <ruiz@act-europe.fr>
15536
15537 * restrict.ads, restrict.adb: Use the new restriction
15538 No_Task_Attributes_Package instead of the old No_Task_Attributes.
15539
15540 * sem_prag.adb: No_Task_Attributes is a synonym of
15541 No_Task_Attributes_Package.
15542
15543 * snames.ads, snames.adb: New entry for proper handling of
15544 No_Task_Attributes.
15545
15546 * s-rident.ads: Adding restriction No_Task_Attributes_Package
15547 (AI-00249) that supersedes the GNAT specific restriction
15548 No_Task_Attributes.
15549
15550 2004-02-04 Ed Schonberg <schonberg@gnat.com>
15551
15552 * sem_prag.adb:
15553 (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
15554 body, an identifier may be wrapped in an unchecked conversion.
15555
15556 2004-02-04 Vincent Celier <celier@gnat.com>
15557
15558 * lib-writ.ads: Comment update for the W lines
15559
15560 * bld.adb: (Expression): An empty string list is static
15561
15562 * fname-uf.adb: Minor comment update
15563
15564 * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
15565
15566 * gnatbind.adb: Initialize Cumulative_Restrictions with the
15567 restrictions on the target.
15568
15569 2004-02-03 Kazu Hirata <kazu@cs.umass.edu>
15570
15571 * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
15572 gen_rtx.
15573
15574 2004-02-02 Arnaud Charlet <charlet@gnat.com>
15575
15576 * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
15577
15578 2004-02-02 Vincent Celier <celier@gnat.com>
15579
15580 * gprcmd.adb (Check_Args): If condition is false, print the invoked
15581 comment before the usage.
15582 Gprcmd: Fail when command is not recognized.
15583 (Usage): Document command "prefix"
15584
15585 * g-md5.adb (Digest): Process last block.
15586 (Update): Do not process last block. Store remaining characters and
15587 length in Context.
15588
15589 * g-md5.ads (Update): Document that several call to update are
15590 equivalent to one call with the concatenated string.
15591 (Context): Add fields to allow new Update behaviour.
15592
15593 * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
15594 defaulted to False.
15595 When May_Fail is True and no existing file can be found, return No_File.
15596
15597 * 6vcstrea.adb: Inlined functions are now wrappers to implementation
15598 functions.
15599
15600 * lib-writ.adb (Write_With_Lines): When body file does not exist, use
15601 spec file name instead on the W line.
15602
15603 2004-02-02 Robert Dewar <dewar@gnat.com>
15604
15605 * ali.adb: Read and acquire info from new format restrictions lines
15606
15607 * bcheck.adb: Add circuits for checking restrictions with parameters
15608
15609 * bindgen.adb: Output dummy restrictions data
15610 To be changed later
15611
15612 * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
15613 exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
15614 freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
15615 sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
15616 sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
15617
15618 * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
15619 the warning message on access to possibly uninitialized variable S)
15620 Minor changes for new restrictions handling.
15621
15622 * gnatbind.adb: Minor reformatting
15623 Minor changes for new restrictions handling
15624 Move circuit for -r processing here from bcheck (cleaner)
15625
15626 * gnatcmd.adb, gnatlink.adb: Minor reformatting
15627
15628 * lib-writ.adb: Output new format restrictions lines
15629
15630 * lib-writ.ads: Document new R format lines for new restrictions
15631 handling.
15632
15633 * s-restri.ads/adb: New files
15634
15635 * Makefile.rtl: Add entry for s-restri.ads/adb
15636
15637 * par-ch3.adb: Fix bad error messages starting with upper case letter
15638 Minor reformatting
15639
15640 * restrict.adb: Major rewrite throughout for new restrictions handling
15641 Major point is to handle restrictions with parameters
15642
15643 * restrict.ads: Major changes in interface to handle restrictions with
15644 parameters. Also generally simplifies setting of restrictions.
15645
15646 * snames.ads/adb: New entry for proper handling of No_Requeue
15647
15648 * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
15649 restriction counting.
15650 Other minor changes for new restrictions handling
15651
15652 * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
15653 Restriction_Warnings now allows full parameter notation
15654 Major rewrite of Restrictions for new restrictions handling
15655
15656 2004-02-02 Javier Miranda <miranda@gnat.com>
15657
15658 * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
15659 syntax rule for object renaming declarations.
15660 (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
15661 component definitions.
15662
15663 * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
15664 components.
15665 (Array_Type_Declaration): Give support to access components. In addition
15666 it was also modified to reflect the name of the object in anonymous
15667 array types. The old code did not take into account that it is possible
15668 to have an unconstrained anonymous array with an initial value.
15669 (Check_Or_Process_Discriminants): Allow access discriminant in
15670 non-limited types.
15671 (Process_Discriminants): Allow access discriminant in non-limited types
15672 Initialize the new Access_Definition field in N_Object_Renaming_Decl
15673 node. Change Ada0Y to Ada 0Y in comments
15674
15675 * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
15676 equality operators.
15677 Change Ada0Y to Ada 0Y in comments
15678
15679 * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
15680 renamings Change Ada0Y to Ada 0Y in comments
15681
15682 * sem_type.adb (Find_Unique_Type): Give support to the equality
15683 operators for universal access types
15684 Change Ada0Y to Ada 0Y in comments
15685
15686 * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
15687
15688 * sinfo.ads (N_Component_Definition): Addition of Access_Definition
15689 field.
15690 (N_Object_Renaming_Declaration): Addition of Access_Definition field
15691 Change Ada0Y to Ada 0Y in comments
15692
15693 * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
15694 component definition and object renaming nodes
15695 Change Ada0Y to Ada 0Y in comments
15696
15697 2004-02-02 Jose Ruiz <ruiz@act-europe.fr>
15698
15699 * restrict.adb: Use the new restriction identifier
15700 No_Requeue_Statements instead of the old No_Requeue for defining the
15701 restricted profile.
15702
15703 * sem_ch9.adb (Analyze_Requeue): Check the new restriction
15704 No_Requeue_Statements.
15705
15706 * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
15707 that supersedes the GNAT specific restriction No_Requeue. The later is
15708 kept for backward compatibility.
15709
15710 2004-02-02 Ed Schonberg <schonberg@gnat.com>
15711
15712 * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
15713 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
15714 pragma and fix incorrect ones.
15715
15716 * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
15717 warning if the pragma is redundant.
15718
15719 2004-02-02 Thomas Quinot <quinot@act-europe.fr>
15720
15721 * 5staprop.adb: Add missing 'constant' keywords.
15722
15723 * Makefile.in: use consistent value for SYMLIB on
15724 platforms where libaddr2line is supported.
15725
15726 2004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15727
15728 * utils.c (end_subprog_body): Do not call rest_of_compilation if just
15729 annotating types.
15730
15731 2004-02-02 Olivier Hainque <hainque@act-europe.fr>
15732
15733 * init.c (__gnat_install_handler): Setup an alternate stack for signal
15734 handlers in the environment thread. This allows proper propagation of
15735 an exception on stack overflows in this thread even when the builtin
15736 ABI stack-checking scheme is used without support for a stack reserve
15737 region.
15738
15739 * utils.c (create_field_decl): Augment the head comment about bitfield
15740 creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
15741 here, because the former is not accurate enough at this point.
15742 Let finish_record_type decide instead.
15743 Don't make a bitfield if the field is to be addressable.
15744 Always set a size for the field if the record is packed, to ensure the
15745 checks for bitfield creation are triggered.
15746 (finish_record_type): During last pass over the fields, clear
15747 DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
15748 not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P
15749 from DECL_BIT_FIELD.
15750
15751 2004-01-30 Kelley Cook <kcook@gcc.gnu.org>
15752
15753 * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
15754 (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
15755 (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
15756
15757 2004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15758
15759 * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
15760
15761 * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
15762 (ZCX_By_Default): Likewise.
15763 (Front_End_ZCX_Support): Likewise.
15764
15765 * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
15766 (Initialize_Lock): Mark Level unreferenced.
15767 (Sleep): Mark Reason unreferenced.
15768 (Timed_Sleep): Likewise.
15769 (Wakeup): Likewise.
15770 (Exit_Task): Use Result.
15771 (Check_No_Locks): Mark Self_ID unreferenced.
15772
15773 * 5gtasinf.adb (New_Sproc): Make Attr constant.
15774 (Bound_Thread_Attributes): Make Sproc constant.
15775 (New_Bound_Thread_Attributes): Likewise.
15776
15777 2004-01-26 Ed Schonberg <schonberg@gnat.com>
15778
15779 * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
15780 one-dimensional array an slice assignments, when component type is
15781 controlled.
15782
15783 * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
15784 component type is controlled, and control_actions are in effect, use
15785 TSS procedure rather than generating inline code.
15786
15787 * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
15788 arrays with controlled components.
15789
15790 2004-01-26 Vincent Celier <celier@gnat.com>
15791
15792 * gnatcmd.adb (GNATCmd): Add specification of argument file on the
15793 command line for the non VMS case.
15794
15795 * gnatlink.adb (Process_Binder_File): When building object file, if
15796 GNU linker is used, put all object paths between quotes, to prevent ld
15797 error when there are unusual characters (such as '!') in the paths.
15798
15799 * Makefile.generic: When there are sources in Ada and the main is in
15800 C/C++, invoke gnatmake with -B, instead of -z.
15801
15802 * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
15803 from VMS_Conversion.
15804 (Process_Argument): New procedure, extracted from VMS_Conversion. Add
15805 specification of argument file on the command line.
15806
15807 2004-01-26 Bernard Banner <banner@gnat.com>
15808
15809 * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
15810
15811 2004-01-26 Ed Schonberg <schonberg@gnat.com>
15812
15813 * snames.adb: Update copyright notice.
15814 Add info on slice assignment for controlled arrays.
15815
15816 2004-01-23 Robert Dewar <dewar@gnat.com>
15817
15818 * exp_aggr.adb: Minor reformatting
15819
15820 * exp_ch9.adb: Minor code clean up
15821 Minor reformatting
15822 Fix bad character in comment
15823
15824 PR ada/13471
15825 * targparm.adb (Get_Target_Parameters): Give clean abort error on
15826 unexpected end of file, along with more detailed message.
15827
15828 2004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15829
15830 * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
15831 PAT.
15832
15833 * decl.c (copy_alias_set): New function.
15834 (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
15835
15836 2004-01-23 Doug Rupp <rupp@gnat.com>
15837
15838 * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
15839 lib$${file} in case subsequent character is not a separator.
15840
15841 2004-01-23 Vincent Celier <celier@gnat.com>
15842
15843 * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
15844 when the GCC version is at least 3.
15845
15846 * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
15847 Remove all "Opt.", to prepare for opt split
15848
15849 * prj-part.adb (Parse_Single_Project): New Boolean out parameter
15850 Extends_All. Set to True when the project parsed is an extending all
15851 project. Fails for importing an extending all project only when the
15852 imported project is an extending all project.
15853 (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
15854 depending on the value of Extends_All returned.
15855
15856 * prj-proc.adb (Process): Check that no project shares its object
15857 directory with a project that extends it, directly or indirectly,
15858 including a virtual project.
15859 Check that no project extended by another project shares its object
15860 directory with another also extended project.
15861
15862 * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
15863 Kind = N_With_Clause
15864
15865 * prj-tree.ads: Minor reformatting
15866 Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
15867
15868 2004-01-23 Ed Schonberg <schonberg@gnat.com>
15869
15870 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
15871 applies to a type with an incomplete view, use full view in Name of
15872 clause, for consistency with uses of Get_Attribute_Definition_Clause.
15873
15874 2004-01-23 Arnaud Charlet <charlet@act-europe.fr>
15875
15876 * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
15877 SCHED_RR, since other values are not supported by this policy.
15878 (Initialize): Move initialization of mutex attribute to package
15879 elaboration, to prevent early access to this variable.
15880
15881 * Makefile.in: Remove mention of Makefile.adalib, unused.
15882
15883 * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
15884 1ssecsta.ads: Removed, unused.
15885
15886 2004-01-21 Javier Miranda <miranda@gnat.com>
15887
15888 * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
15889 entity if already built in the current scope.
15890
15891 * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
15892 reminder in internal scopes. Required for nested limited aggregates.
15893
15894 2004-01-21 Doug Rupp <rupp@gnat.com>
15895
15896 * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
15897 VMS. Replace all occurences of libgnat- and libgnarl- with
15898 libgnat$(hyphen) and libgnarl$(hyphen).
15899 Fixed shared library build problem on VMS.
15900
15901 2004-01-21 Robert Dewar <dewar@gnat.com>
15902
15903 * mlib-prj.adb: Minor reformatting
15904
15905 2004-01-21 Thomas Quinot <quinot@act-europe.fr>
15906
15907 * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
15908 'constant' keywords for declaration of pointers that are not modified.
15909
15910 * exp_pakd.adb: Fix English in comment.
15911
15912 2004-01-21 Ed Schonberg <schonberg@gnat.com>
15913
15914 PR ada/10889
15915 * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
15916 copy all attributes of the parent, including the foreign language
15917 convention.
15918
15919 2004-01-21 Sergey Rybin <rybin@act-europe.fr>
15920
15921 PR ada/10565
15922 * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
15923 for 'delay until' statement.
15924
15925 2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
15926
15927 * Make-lang.in: Replace $(docdir) with doc.
15928 (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
15929 doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
15930 to use consistent MAKEINFO rule.
15931 (ada.man, ada.srcman): Dummy entry.
15932 (ADA_INFOFILES): Define.
15933 (ada.info, ada.srcinfo): New rules.
15934
15935 2004-01-19 Arnaud Charlet <charlet@act-europe.fr>
15936
15937 * utils.c: Update copyright notice, missed in previous change.
15938
15939 2004-01-19 Vincent Celier <celier@gnat.com>
15940
15941 * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
15942 args if Bind is True. Set First_ALI, if not already done.
15943 (Build_Library): For Stand Alone Libraries, extract from one ALI file
15944 an eventual --RTS switch, for gnatbind, and all backend switches +
15945 --RTS, for linking.
15946
15947 2004-01-19 Robert Dewar <dewar@gnat.com>
15948
15949 * sem_attr.adb, memtrack.adb: Minor reformatting
15950
15951 2004-01-19 Ed Schonberg <schonberg@gnat.com>
15952
15953 * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
15954 that rename enumeration literals. This is properly done in sem_eval.
15955
15956 * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
15957 to functions that rename enumeration literals.
15958
15959 * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
15960 functions that rename enumeration literals.
15961
15962 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
15963
15964 * Make-lang.in (utils.o): Depend on target.h.
15965 * utils.c: Include target.h.
15966 (process_attributes): Use targetm.have_named_sections instead
15967 of ASM_OUTPUT_SECTION_NAME.
15968
15969 2004-01-16 Andreas Jaeger <aj@suse.de>
15970
15971 * Makefile.in: Add $(DESTDIR).
15972
15973 2004-01-15 Olivier Hainque <hainque@act-europe.fr>
15974
15975 * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
15976 also when not defining if a Size clause applies. That information is
15977 not to be ignored.
15978
15979 2004-01-15 Arnaud Charlet <charlet@act-europe.fr>
15980
15981 * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
15982 symbolic links for the shared gnat run time when needed.
15983
15984 2004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr>
15985
15986 * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
15987 for writing, and terminate with an error message if not.
15988
15989 2004-01-15 Ed Schonberg <schonberg@gnat.com>
15990
15991 * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
15992 warning on an access to subprogram in an instance, when the target
15993 type is declared in the same generic unit.
15994 (Eval_Attribute): If 'access is known to fail accessibility check,
15995 rewrite as a raise statement.
15996
15997 2004-01-15 GNAT Script <nobody@gnat.com>
15998
15999 * Make-lang.in: Makefile automatically updated
16000
16001 2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
16002
16003 * Make-lang.in (ada.srcextra): Dummy entry.
16004
16005 2004-01-14 Kelley Cook <kcook@gcc.gnu.org>
16006
16007 * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
16008
16009 2004-01-13 Ed Schonberg <schonberg@gnat.com>
16010
16011 * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
16012 components that are initialized with aggregates.
16013
16014 2004-01-13 Vincent Celier <celier@gnat.com>
16015
16016 * gnatlink.adb (Process_Binder_File): To find directory of shared
16017 libgcc, if "gcc-lib" is not a subdirectory, look for the last
16018 subdirectory "lib" in the path of the shared libgnat or libgnarl.
16019
16020 * make.adb (Gnatmake): If GCC version is at least 3, link with
16021 -shared-libgcc, when there is at least one shared library project.
16022
16023 * opt.ads (GCC_Version): New integer constant.
16024
16025 * adaint.c (get_gcc_version): New function.
16026
16027 2004-01-13 Robert Dewar <dewar@gnat.com>
16028
16029 * sem_dist.adb, sem_res.adb, sem_util.adb,
16030 sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
16031 exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
16032
16033 2004-01-13 Thomas Quinot <quinot@act-europe.fr>
16034
16035 * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
16036 g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
16037 declarations.
16038
16039 2004-01-12 Arnaud Charlet <charlet@act-europe.fr>
16040
16041 * misc.c: Remove trailing spaces.
16042 Update copyright notice missed in previous change.
16043
16044 PR ada/13572
16045 * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
16046 prefix/share/make
16047
16048 * Makefile.generic: Update copyright.
16049 Add license notice.
16050
16051 * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
16052 of prefix/share/make.
16053
16054 * Makefile.prolog: Update copyright.
16055 Add license notice.
16056
16057 2004-01-12 Laurent Pautet <pautet@act-europe.fr>
16058
16059 * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
16060 3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
16061 g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
16062 instead of String.
16063
16064 * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
16065 signature.
16066
16067 2004-01-12 Javier Miranda <miranda@gnat.com>
16068
16069 * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
16070 exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
16071 sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
16072 sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
16073 Component_Definition node.
16074
16075 2004-01-12 Ed Falis <falis@gnat.com>
16076
16077 * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
16078
16079 2004-01-12 Thomas Quinot <quinot@act-europe.fr>
16080
16081 * link.c: Change default libgnat kind to STATIC for FreeBSD.
16082
16083 2004-01-12 Bernard Banner <banner@gnat.com>
16084
16085 * Makefile.in: map 86numaux to a-numaux for x86_64
16086
16087 2004-01-12 Ed Schonberg <schonberg@gnat.com>
16088
16089 * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
16090 generated to rename a generic actual, go to the actual itself, the
16091 subtype is not a user-visible entity.
16092
16093 * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
16094 part is a private subtype, reset the visibility of its full view, if
16095 any, to be consistent.
16096
16097 PR ada/13417
16098 * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
16099 to use a generic package G as a formal package for another generic
16100 declared within G.
16101
16102 2004-01-12 Robert Dewar <dewar@gnat.com>
16103
16104 * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
16105
16106 * usage.adb: Remove mention of obsolete -gnatwb switch
16107 Noticed during code reading
16108
16109 2004-01-12 Jerome Guitton <guitton@act-europe.fr>
16110
16111 * 1ssecsta.adb: Minor changes for -gnatwa warnings
16112
16113 2004-01-12 GNAT Script <nobody@gnat.com>
16114
16115 * Make-lang.in: Makefile automatically updated
16116
16117 2004-01-09 Mark Mitchell <mark@codesourcery.com>
16118
16119 * misc.c (gnat_expand_expr): Add alt_rtl parameter.
16120
16121 2004-01-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16122
16123 * link.c [sgi] (shared_libgnat_default): Change to STATIC.
16124
16125 2004-01-05 Kelley Cook <kcook@gcc.gnu.org>
16126
16127 * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
16128 Update comment and copyright date.
16129 * stamp-xgnatug: Delete.
16130
16131 2004-01-05 Robert Dewar <dewar@gnat.com>
16132
16133 * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
16134 be modified by the binder generated main program if the -D switch is
16135 used.
16136
16137 * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
16138 imported functions (since now we expect this to be done for imported
16139 functions)
16140
16141 * 5vtaprop.adb: Add several ??? for sections requiring more comments
16142 Minor reformatting throughout
16143
16144 * 5zinit.adb: Minor reformatting
16145 Add 2004 to copyright date
16146 Minor changes to avoid -gnatwa warnings
16147 Correct some instances of using OR instead of OR ELSE (noted while
16148 doing reformatting)
16149
16150 * sprint.adb: Minor updates to avoid -gnatwa warnings
16151
16152 * s-secsta.ads, s-secsta.adb:
16153 (SS_Get_Max): New function to obtain high water mark for ss stack
16154 Default_Secondary_Stack is not a constant since it may be modified by
16155 the binder generated main program if the -D switch is used.
16156
16157 * switch-b.adb: New -Dnnn switch for binder
16158
16159 * switch-c.adb:
16160 Make -gnatg imply all warnings currently in -gnatwa
16161
16162 * vms_conv.adb: Minor reformatting
16163 Add 2004 to copyright notice
16164 Add 2004 to printed copyright notice
16165
16166 * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
16167 3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
16168 5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
16169 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
16170 5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
16171 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
16172 5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
16173 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
16174 5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
16175 5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
16176 6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
16177 vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
16178 xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
16179 sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
16180 checks.adb, clean.adb, cstand.adb, einfo.ads,
16181 einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
16182 exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
16183 prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
16184 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
16185 g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
16186 lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
16187 Minor reformatting and code clean ups.
16188 Minor changes to prevent -gnatwa warnings
16189
16190 * ali.adb: Minor reformatting and cleanup of code
16191 Acquire new SS indication of secondary stack use from ali files
16192
16193 * a-numaux.ads: Add Pure_Function pragmas for all imported functions
16194 (since now we expect this to be done for imported functions)
16195
16196 * bindgen.adb: Generate call to modify default secondary stack size if
16197 -Dnnn switch given
16198
16199 * bindusg.adb: Add line for new -D switch
16200
16201 * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
16202 replacement name for Type_May_Have_Non_Bit_Aligned_Components!
16203 Add circuitry for both records and arrays to avoid gigi
16204 processing if the type involved has non-bit-aligned components
16205
16206 * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
16207 N_String_Literal node always references an E_String_Literal_Subtype
16208 entity. This may not be true in the future.
16209 (Possible_Bit_Aligned_Component): Move processing of
16210 Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
16211
16212 * exp_ch6.adb (Expand_Thread_Body): Pick up
16213 Default_Secondary_Stack_Size as variable so that we get value modified
16214 by possible -Dnnn binder parameter.
16215
16216 * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
16217 (Type_May_Have_Bit_Aligned_Components): New function.
16218
16219 * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
16220 (Type_May_Have_Bit_Aligned_Components): New function.
16221
16222 * fe.h: (Set_Identifier_Casing): Fix prototype.
16223 Add declaration for Sem_Elim.Eliminate_Error_Msg.
16224 Minor reformatting.
16225
16226 * freeze.adb (Freeze_Entity): Add RM reference to error message about
16227 importing constant atomic/volatile objects.
16228 (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
16229 unless explicit Pure_Function pragma given, to avoid insidious bug of
16230 call to non-pure imported function getting eliminated.
16231
16232 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
16233 gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
16234 gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
16235 Add 2004 to printed copyright notice
16236
16237 * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
16238 stack used.
16239
16240 * Makefile.rtl: Add entry for g-sestin.o
16241 g-sestin.ads: New file.
16242
16243 * mdll.adb: Minor changes to avoid -gnatwa warnings
16244
16245 * mlib-tgt.adb: Minor reformatting
16246
16247 * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
16248 New switch Sec_Stack_Used (GNAT, GNATBIND)
16249 Make Default_Secondary_Stack_Size a variable instead of a constant,
16250 so that it can be modified by the new -Dnnn bind switch.
16251
16252 * rtsfind.adb (Load_Fail): Give full error message in configurable
16253 run-time mode if all_errors mode is set. This was not done in the case
16254 of a file not found, which was an oversight.
16255 Note if secondary stack unit is used by compiler.
16256
16257 * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
16258 ineffective elaborate all pragmas on non-visible packages (this
16259 happened when a renamed subprogram was called). Now the elaborate all
16260 always goes on the package containing the renaming rather than the one
16261 containing the renamed subprogram.
16262
16263 * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
16264 (Process_Eliminate_Pragma): Add parameter to capture pragma location.
16265
16266 * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
16267 has an Etype that references an E_String_Literal.
16268 (Eval_String_Literal): Avoid assumption that N_String_Literal node
16269 always references an E_String_Literal_Subtype entity. This may not
16270 be true in the future.
16271
16272 * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
16273 pragma location.
16274
16275 * sem_res.adb (Resolve): Specialize msg for function name used in proc
16276 call.
16277
16278 2004-01-05 Ed Falis <falis@gnat.com>
16279
16280 * g-debuti.adb: Replaced direct boolean operator with short-circuit
16281 form.
16282
16283 2004-01-05 Vincent Celier <celier@gnat.com>
16284
16285 * bld.adb: Minor comment updates
16286 (Process_Declarative_Items): Correct incorrect name (Index_Name instead
16287 of Item_Name).
16288
16289 * make.adb (Gnatmake): Special process for files to compile/check when
16290 -B is specified. Fail when there are only foreign mains in attribute
16291 Main of the project file and -B is not specified. Do not skip bind/link
16292 steps when -B is specified.
16293
16294 * makeusg.adb: Document new switch -B
16295
16296 * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
16297
16298 * switch-m.adb: (Scan_Make_Switches): Process -B switch
16299
16300 * vms_data.ads: Add new GNAT PRETTY qualifier
16301 /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
16302
16303 2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16304
16305 * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
16306 case.
16307
16308 * misc.c (gnat_printable_name): If VERBOSITY is 2, call
16309 Set_Identifier_Casing.
16310
16311 * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
16312 has size that overflows.
16313
16314 2004-01-05 Gary Dismukes <dismukes@gnat.com>
16315
16316 * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
16317 -gnatwa warning on static condition.
16318
16319 2004-01-05 Doug Rupp <rupp@gnat.com>
16320
16321 * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
16322
16323 2004-01-05 Arnaud Charlet <charlet@act-europe.fr>
16324
16325 * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
16326 all attributes, including read-only attribute.
16327
16328 2004-01-05 Pascal Obry <obry@gnat.com>
16329
16330 * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
16331 library naming scheme.
16332
16333 * mlib-prj.adb (Build_Library): Generate different names for the static
16334 or dynamic version of the GNAT runtime. This is needed to support the
16335 new shared library naming scheme.
16336 (Process_Binder_File): Add detection of shared library in binder file
16337 based on the new naming scheme.
16338
16339 * gnatlink.adb (Process_Binder_File): Properly detect the new naming
16340 scheme for the shared runtime libraries.
16341
16342 * Makefile.in:
16343 (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
16344 scheme.
16345 (install-gnatlib): Do not create symlinks for shared libraries.
16346 (gnatlib-shared-default): Idem.
16347 (gnatlib-shared-dual-win32): New target. Not used for now as the
16348 auto-import feature does not support arrays/records.
16349 (gnatlib-shared-win32): Do not create copy for the shared libraries.
16350 (gnatlib-shared-vms): Fix shared runtime libraries names.
16351
16352 * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
16353 dependent runtime shared library name.
16354
16355 2004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr>
16356
16357 * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
16358 than the object.
16359
16360 2004-01-05 Ed Schonberg <schonberg@gnat.com>
16361
16362 * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
16363 protected objects when allocator has a subtype indication, not a
16364 qualified expression. Note that qualified expressions may have to be
16365 checked when limited aggregates are implemented.
16366
16367 * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
16368 pure, emit warning.
16369 (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
16370 subprogram is imported, remove warning.
16371
16372 2004-01-05 Geert Bosch <bosch@gnat.com>
16373
16374 * s-poosiz.adb: Update copyright notice.
16375 (Allocate): Use Task_Lock to protect against concurrent access.
16376 (Deallocate): Likewise.
16377
16378 2004-01-05 Joel Brobecker <brobecker@gnat.com>
16379
16380 * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
16381 comment.
16382
16383 2003-12-23 Kelley Cook <kcook@gcc.gnu.org>
16384
16385 * gnat_ug.texi: Force a CVS commit by updating copyright.
16386 * gnat_ug_vxw.texi: Regenerate.
16387 * gnat_ug_wnt.texi: Regenerate.
16388 * gnat_ug_vms.texi: Regenerate.
16389 * gnat_ug_unx.texi: Regenerate.
16390
16391 2003-12-20 Kazu Hirata <kazu@cs.umass.edu>
16392
16393 * trans.c: Remove uses of "register" specifier in
16394 declarations of local variables.
16395
16396 2003-12-18 Kelley Cook <kcook@gcc.gnu.org>
16397
16398 * stamp-xgnatug: New stamp file.
16399 * Make-lang.in (stamp-xgnatug): New stamp file and comment.
16400 (ada/doctools/xgnatug): Add $(build_exeext).
16401 (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
16402 ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
16403
16404 2003-12-17 Ed Falis <falis@gnat.com>
16405
16406 * a-elchha.adb (Tailored_Exception_Information): made Info constant to
16407 eliminate warning.
16408
16409 * a-exextr.adb: Add context clause for
16410 Ada.Exceptions.Last_Chance_Handler.
16411
16412 2003-12-17 Sergey Rybin <rybin@act-europe.fr>
16413
16414 * cstand.adb (Create_Standard): Change the way how the declaration of
16415 the Duration type is created (making it the same way as it is for all
16416 the other standard types).
16417
16418 2003-12-17 Robert Dewar <dewar@gnat.com>
16419
16420 * s-crtl.ads: Fix header format
16421 Change Pure to Preelaborate
16422
16423 2003-12-17 Ed Schonberg <schonberg@gnat.com>
16424
16425 * checks.adb (Selected_Length_Checks): Generate an Itype reference for
16426 the expression type only if it is declared in the current unit.
16427
16428 * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
16429 are universal and already analyzed, as can occur in constrained
16430 subcomponents that depend on discriminants, when one constraint is a
16431 subtype mark.
16432
16433 * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
16434 type Any_Fixed is legal as the argument of a conversion, if only one
16435 fixed-point type is in context.
16436
16437 2003-12-17 GNAT Script <nobody@gnat.com>
16438
16439 * Make-lang.in: Makefile automatically updated
16440
16441 2003-12-15 Robert Dewar <dewar@gnat.com>
16442
16443 * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
16444 sec stack size.
16445
16446 2003-12-15 Vincent Celier <celier@gnat.com>
16447
16448 * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
16449 (Gnatchop): Do not set failure status when reporting the number of
16450 warnings.
16451
16452 2003-12-15 Doug Rupp <rupp@gnat.com>
16453
16454 * s-ctrl.ads: New file.
16455
16456 * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
16457
16458 * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
16459 (GNATBIND_OBJS): Add ada/s-crtl.o.
16460
16461 * Makefile.in [VMS]: Clean up ifeq rules.
16462
16463 * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
16464 a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
16465 g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
16466 s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
16467 s-tasdeb.adb: Update copyright.
16468 Import System.CRTL.
16469 Make minor modifications to use System.CRTL declared functions instead
16470 of importing locally.
16471
16472 2003-12-15 GNAT Script <nobody@gnat.com>
16473
16474 * Make-lang.in: Makefile automatically updated
16475
16476 2003-12-11 Ed Falis <falis@gnat.com>
16477
16478 * 5zinit.adb: Clean up.
16479
16480 * 5zintman.adb (Notify_Exception): replaced case statement with a call
16481 to __gnat_map_signal, imported from init.c to support
16482 signal -> exception mappings that depend on the vxWorks version.
16483
16484 * init.c:
16485 Created and exported __gnat_map_signal to support signal -> exception
16486 mapping that is dependent on the VxWorks version.
16487 Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
16488
16489 2003-12-11 Vasiliy Fofanv <fofanov@act-europe.fr>
16490
16491 * 5wosinte.ads: Link with -mthreads switch.
16492
16493 2003-12-11 Arnaud Charlet <charlet@act-europe.fr>
16494
16495 * init.c (__gnat_install_handler [NetBSD]): Set
16496 __gnat_handler_installed, as done on all other platforms.
16497 Remove duplicated code.
16498
16499 2003-12-11 Jerome Guitton <guitton@act-europe.fr>
16500
16501 * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
16502
16503 2003-12-11 Thomas Quinot <quinot@act-europe.fr>
16504
16505 * sinfo.ads: Fix inconsistent example code in comment.
16506
16507 2003-12-11 Robert Dewar <dewar@gnat.com>
16508
16509 * a-tiinau.adb: Add a couple of comments
16510
16511 * sem_ch3.adb: Minor reformatting
16512
16513 * sem_prag.adb:
16514 Fix bad prototype of Same_Base_Type in body (code reading cleanup)
16515 Minor reformatting throughout
16516
16517 2003-12-11 Ed Schonberg <schonberg@gnat.com>
16518
16519 * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
16520 bounds of a loop, create a separate block in order to generate proper
16521 cleanup actions to prevent memory leaks.
16522
16523 * sem_res.adb (Resolve_Call): After a call to
16524 Establish_Transient_Scope, the call may be rewritten and relocated, in
16525 which case no further processing is needed.
16526
16527 * sem_util.adb: (Wrong_Type): Refine previous fix.
16528 Fixes ACATS regressions.
16529
16530 PR ada/13353
16531
16532 * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
16533 be inlined.
16534
16535 2003-12-08 Jerome Guitton <guitton@act-europe.fr>
16536
16537 * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
16538 i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
16539 obsolete files.
16540
16541 * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
16542 (rts-zfp): Ditto.
16543
16544 2003-12-08 Robert Dewar <dewar@gnat.com>
16545
16546 * 7sintman.adb: Minor reformatting
16547
16548 * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
16549 standard linker options to get standard libraries linked. We now plan
16550 to provide dummy versions of these libraries to match the appropriate
16551 configurable run-time (e.g. if a library is not needed at all, provide
16552 a dummy empty library).
16553
16554 * targparm.ads: Configurable_Run_Time mode no longer affects linker
16555 options (-L parameters and standard libraries). What we plan to do is
16556 to provide dummy libraries where the libraries are not required.
16557
16558 * gnatbind.adb: Minor comment improvement
16559
16560 2003-12-08 Javier Miranda <miranda@gnat.com>
16561
16562 * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
16563 aggregate in the parent. Otherwise constants with limited aggregates
16564 are not supported. Add new formal to pass the component type (Ctype).
16565 It is required to call the corresponding IP subprogram in case of
16566 default initialized components.
16567 (Gen_Assign): In case of default-initialized component, generate a
16568 call to the IP subprogram associated with the component.
16569 (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
16570 of aggregate with default initialized components.
16571 (Has_Default_Init_Comps): Improve implementation to recursively check
16572 all the present expressions.
16573
16574 * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
16575 to indicate that the initialization call corresponds to a
16576 default-initialized component of an aggregate.
16577 In case of default initialized aggregate with tasks this parameter is
16578 used to generate a null string (this is just a workaround that must be
16579 improved later). In case of discriminants, this parameter is used to
16580 generate a selected component node that gives access to the discriminant
16581 value.
16582
16583 * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
16584 subprogram, based on Build_Task_Allocate_Block, but adapted to expand
16585 allocated aggregates with default-initialized components.
16586
16587 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
16588 the box notation is used in positional aggregates.
16589
16590 2003-12-08 Samuel Tardieu <tardieu@act-europe.fr>
16591
16592 * lib.ads: Fix typo in comment
16593
16594 2003-12-08 Vincent Celier <celier@gnat.com>
16595
16596 * prj.adb (Project_Empty): New component Unkept_Comments
16597 (Scan): Remove procedure; moved to Prj.Err.
16598
16599 * prj.ads (Project_Data): New Boolean component Unkept_Comments
16600 (Scan): Remove procedure; moved to Prj.Err.
16601
16602 * prj-dect.adb: Manage comments for the different declarations.
16603
16604 * prj-part.adb (With_Record): New component Node
16605 (Parse): New Boolean parameter Store_Comments, defaulted to False.
16606 Set the scanner to return ends of line and comments as tokens, if
16607 Store_Comments is True.
16608 (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
16609 comments are associated with these nodes. Store the node IDs in the
16610 With_Records.
16611 (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
16612 With_Records.
16613 (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
16614 the N_Project node. Call Tree.Save and Tree.Reset before scanning the
16615 current project. Call Tree.Restore afterwards. Set the various nodes
16616 for comment storage (Next_End, End_Of_Line, Previous_Line,
16617 Previous_End).
16618
16619 * prj-part.ads (Parse): New Boolean parameter Store_Comments,
16620 defaulted to False.
16621
16622 * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
16623 to False. When Truncated is True, truncate the string, never go to the
16624 next line.
16625 (Write_End_Of_Line_Comment): New procedure
16626 (Print): Process comments for nodes N_With_Clause,
16627 N_Package_Declaration, N_String_Type_Declaration,
16628 N_Attribute_Declaration, N_Typed_Variable_Declaration,
16629 N_Variable_Declaration, N_Case_Construction, N_Case_Item.
16630 Process nodes N_Comment.
16631
16632 * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
16633 without comments and there are some comments, set the flag
16634 Unkept_Comments to True.
16635 (Scan): If there are comments, set the flag Unkept_Comments to True and
16636 clear the comments.
16637 (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
16638 (Next_End_Nodes: New table
16639 (Comment_Zones_Of): New function
16640 (Scan): New procedure; moved from Prj. Accumulate comments in the
16641 Comments table and set end of line comments, comments after, after end
16642 and before end.
16643 (Add_Comments): New procedure
16644 (Save, Restore, Seset_State): New procedures
16645 (There_Are_Unkept_Comments): New function
16646 (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
16647 (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
16648 procedures.
16649 (First_Comment_After, First_Comment_After_End): New functions
16650 (First_Comment_Before, First_Comment_Before_End): New functions
16651 (Next_Comment): New function
16652 (End_Of_Line_Comment, Follows_Empty_Line,
16653 Is_Followed_By_Empty_Line): New functions
16654 (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
16655 (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
16656 (Set_Next_Comment): New procedure
16657 (Default_Project_Node): Associate comment before if the node can store
16658 comments.
16659
16660 * scans.ads (Token_Type): New enumeration value Tok_Comment
16661 (Comment_Id): New global variable
16662
16663 * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
16664 defaulted to False.
16665 (Scan): Store position of start of comment. If comments are tokens, set
16666 Comment_Id and set Token to Tok_Comment when scanning a comment.
16667 (Set_Comment_As_Token): New procedure
16668
16669 * sinput-p.adb: Update Copyright notice
16670 (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
16671 that no longer exists.
16672
16673 2003-12-08 Javier Miranda <miranda@gnat.com>
16674
16675 * sem_aggr.adb: Add dependence on Exp_Tss package
16676 Correct typo in comment
16677 (Resolve_Aggregate): In case of array aggregates set the estimated
16678 type of the aggregate before calling resolve. This is needed to know
16679 the name of the corresponding IP in case of limited array aggregates.
16680 (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
16681 in case of default initialized array components.
16682
16683 * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
16684 types. Required to give support to limited aggregates in generic
16685 formals.
16686
16687 2003-12-08 Ed Schonberg <schonberg@gnat.com>
16688
16689 * sem_ch3.adb (Check_Initialization): For legality purposes, an
16690 inlined body functions like an instantiation.
16691 (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
16692 until bounds are analyzed, to diagnose premature use of type.
16693
16694 * sem_util.adb (Wrong_Type): Improve error message when the type of
16695 the expression is used prematurely.
16696
16697 2003-12-08 GNAT Script <nobody@gnat.com>
16698
16699 * Make-lang.in: Makefile automatically updated
16700
16701 2003-12-08 Arnaud Charlet <charlet@act-europe.fr>
16702
16703 * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
16704 they are automatically generated by Make-lang.in and cause nothing but
16705 maintenance troubles.
16706
16707 2003-12-05 Thomas Quinot <quinot@act-europe.fr>
16708
16709 * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
16710 version of this unit).
16711
16712 2003-12-05 Olivier Hainque <hainque@act-europe.fr>
16713
16714 * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
16715 5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
16716 5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
16717 the body of System.Interrupt_Management common to several targets.
16718 Update copyright notice when appropriate.
16719
16720 * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
16721 constant.
16722
16723 * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
16724 to ensure that the kernel fills in the interrupted context structure
16725 before calling a signal handler, which is necessary to be able to
16726 unwind past it. Update the copyright notice.
16727
16728 2003-12-05 Jerome Guitton <guitton@act-europe.fr>
16729
16730 * a-elchha.ads: New file.
16731
16732 * a-elchha.adb: New default last chance handler. Contents taken from
16733 Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
16734
16735 * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
16736 is moved to a-elchha.adb to provide a target-independent default last
16737 chance handler.
16738
16739 * Makefile.rtl: Add a-elchha.o
16740
16741 * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
16742
16743 2003-12-05 Ed Schonberg <schonberg@gnat.com>
16744
16745 * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
16746 declared in an instance, do not inline the call if the instance is not
16747 frozen yet, to prevent order of elaboration problems.
16748
16749 * sem_prag.adb: Add comments for previous fix.
16750
16751 2003-12-05 Samuel Tardieu <tardieu@act-europe.fr>
16752
16753 * g-table.adb: Use the right variable in Set_Item.
16754 Update copyright notice.
16755
16756 2003-12-05 Arnaud Charlet <charlet@act-europe.fr>
16757
16758 * Makefile.in: Remove unused rules.
16759
16760 2003-12-05 Vincent Celier <celier@gnat.com>
16761
16762 * switch-c.adb (Scan_Front_End_Switches): Remove processing of
16763 -nostdlib. Not needed here after all.
16764
16765 2003-12-03 Thomas Quinot <quinot@act-europe.fr>
16766
16767 PR ada/11724
16768
16769 * adaint.h, adaint.c, g-os_lib.ads:
16770 Do not assume that the offset argument to lseek(2) is a 32 bit integer,
16771 on some platforms (including FreeBSD), it is a 64 bit value.
16772 Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
16773
16774 2003-12-03 Arnaud Charlet <charlet@act-europe.fr>
16775
16776 * gnatvsn.ads (Library_Version): Now contain only the relevant
16777 version info.
16778 (Verbose_Library_Version): New constant.
16779
16780 * g-spipat.adb, g-awk.adb, g-debpoo.adb,
16781 g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
16782 s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
16783
16784 * gnatlbr.adb: Clean up: replace Library_Version by
16785 Verbose_Library_Version.
16786
16787 * make.adb, lib-writ.adb, exp_attr.adb:
16788 Clean up: replace Library_Version by Verbose_Library_Version.
16789
16790 * 5lintman.adb: Removed.
16791
16792 * Makefile.in:
16793 Update and simplify computation of LIBRARY_VERSION.
16794 Fix computation of GSMATCH_VERSION.
16795 5lintman.adb is no longer used: replaced by 7sintman.adb.
16796
16797 2003-12-03 Robert Dewar <dewar@gnat.com>
16798
16799 * exp_ch5.adb:
16800 (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
16801 name. Modified to consider small non-bit-packed arrays as troublesome
16802 and in need of component-by-component assigment expansion.
16803
16804 2003-12-03 Vincent Celier <celier@gnat.com>
16805
16806 * lang-specs.h: Process nostdlib as nostdinc
16807
16808 * back_end.adb: Update Copyright notice
16809 (Scan_Compiler_Arguments): Process -nostdlib directly.
16810
16811 2003-12-03 Jose Ruiz <ruiz@act-europe.fr>
16812
16813 * Makefile.in:
16814 When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
16815 redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
16816 included in HIE_NONE_TARGET_PAIRS.
16817
16818 2003-12-03 Ed Schonberg <schonberg@gnat.com>
16819
16820 * sem_attr.adb:
16821 (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
16822 is legal in an instance, because legality is cheched in the template.
16823
16824 * sem_prag.adb:
16825 (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
16826 appplied to an unchecked conversion of a formal parameter.
16827
16828 * sem_warn.adb:
16829 (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
16830 variables.
16831
16832 2003-12-03 Olivier Hainque <hainque@act-europe.fr>
16833
16834 * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
16835 routines. The second one is new functionality to deal with backtracing
16836 through signal handlers.
16837 (unwind): Split into the two separate subroutines above.
16838 Update the documentation, and deal properly with sizeof (REG) different
16839 from sizeof (void*).
16840
16841 2003-12-01 Nicolas Setton <setton@act-europe.fr>
16842
16843 * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
16844 so that the debugger can reliably access the value of the parameter,
16845 and therefore is able to display the exception name when an exception
16846 breakpoint is reached.
16847
16848 2003-12-01 Thomas Quinot <quinot@act-europe.fr>
16849
16850 * fmap.adb: Fix typo in warning message.
16851
16852 * g-socket.ads, g-socket.adb: Make Free a visible instance of
16853 Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
16854
16855 2003-12-01 Vincent Celier <celier@gnat.com>
16856
16857 * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
16858 ther is no Afile.
16859 (Build_Library): Get the switches only if Default_Switches is declared
16860 in package Binder.
16861
16862 2003-12-01 Ed Schonberg <schonberg@gnat.com>
16863
16864 * exp_ch6.adb (Expand_Actuals): When applying validity checks to
16865 actuals that are indexed components, reanalyze actual to ensure that
16866 packed array references are properly expanded.
16867
16868 * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
16869 attempted assignment to a discriminant.
16870
16871 2003-12-01 Robert Dewar <dewar@gnat.com>
16872
16873 * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
16874 reformatting.
16875
16876 * switch-c.adb: Minor reformatting of comments
16877
16878 2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
16879
16880 * Makefile.in: Clean ups.
16881
16882 2003-12-01 GNAT Script <nobody@gnat.com>
16883
16884 * Make-lang.in: Makefile automatically updated
16885
16886 2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
16887
16888 * 5wsystem.ads: Disable zero cost exception, not ready yet.
16889
16890 2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
16891
16892 * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
16893 to force serialization.
16894
16895 2003-11-26 Thomas Quinot <quinot@act-europe.fr>
16896
16897 * g-socket.ads, g-socket.adb:
16898 Clarify documentation of function Stream. Introduce a Free procedure
16899 to release the returned Stream once it becomes unused.
16900
16901 * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
16902
16903 2003-11-26 Arnaud Charlet <charlet@act-europe.fr>
16904
16905 (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
16906 since NT 4 cannot handle timeout values that are too large,
16907 e.g. DWORD'Last - 1.
16908
16909 2003-11-26 Ed Schonberg <schonberg@gnat.com>
16910
16911 * exp_ch4.adb:
16912 (Expand_N_Slice): Recognize all cases of slices that appear as actuals
16913 in procedure calls and whose expansion must be deferred.
16914
16915 * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
16916 is in exp_ch4.
16917
16918 * sem_ch3.adb:
16919 (Build_Derived_Array_Type): Create operator for unconstrained type
16920 if ancestor is unconstrained.
16921
16922 2003-11-26 Vincent Celier <celier@gnat.com>
16923
16924 * make.adb (Project_Object_Directory): New global variable
16925 (Change_To_Object_Directory): New procedure
16926 (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
16927 of Change_Dir directly. Do not change working directory to object
16928 directory of main project after each compilation.
16929 (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
16930 directly.
16931 Change to object directory of main project before binding step.
16932 (Initialize): Initialize Project_Object_Directory to No_Project
16933
16934 * mlib-prj.adb:
16935 (Build_Library): Take into account Builder'Default_Switches ("Ada") when
16936 binding a Stand-Alone Library.
16937
16938 * output.adb: Update Copyright notice
16939 (Write_Char): Output buffer when full
16940
16941 2003-11-26 Robert Dewar <dewar@gnat.com>
16942
16943 * sem_ch13.adb: (Check_Size): Reset size if size is too small
16944
16945 * sem_ch13.ads:
16946 (Check_Size): Fix documentation to include bit-packed array case
16947
16948 * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
16949
16950 * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
16951
16952 * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
16953
16954 2003-11-24 Arnaud Charlet <charlet@act-europe.fr>
16955
16956 PR ada/13142
16957 * utils.c (init_gigi_decls): Change name of built-in setjmp to
16958 __builtin_setjmp, since this is apparently needed by recent
16959 non Ada changes.
16960
16961 2003-11-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16962
16963 * adadecode.c: Only include ctype.h if not IN_GCC.
16964 (__gnat_decode): Use ISDIGIT from safe-ctype.h.
16965
16966 2003-11-24 Jose Ruiz <ruiz@act-europe.fr>
16967
16968 * Makefile.in:
16969 Use 5zintman.ads for VxWorks targets. This file avoid confusion between
16970 signals and interrupts.
16971
16972 * 5zintman.ads: New File.
16973
16974 * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
16975 add exception signals to the set of unmasked signals.
16976
16977 * 5ztaprop.adb:
16978 Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
16979 between signals and interrupts.
16980 Add to Unblocked_Signal_Mask the set of signals that are in
16981 Keep_Unmasked.
16982
16983 * 7sinmaop.adb:
16984 Adding a check to see whether the Interrupt_ID we want to unmask is in
16985 the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
16986 reason is that the index type of the Keep_Unmasked array is not always
16987 Interrupt_ID; it may be a subtype of Interrupt_ID.
16988
16989 2003-11-24 Gary Dismukes <dismukes@gnat.com>
16990
16991 * exp_util.adb:
16992 (Remove_Side_Effects): Condition constantness of object created for a
16993 an unchecked type conversion on the constantness of the expression
16994 to ensure the correct value for 'Constrained when passing components
16995 of view-converted class-wide objects.
16996
16997 2003-11-24 Robert Dewar <dewar@gnat.com>
16998
16999 * par-load.adb (Load): Improve handling of misspelled and missing units
17000 Removes several cases of compilation abandoned messages
17001
17002 * lib.adb: (Remove_Unit): New procedure
17003
17004 * lib.ads: (Remove_Unit): New procedure
17005
17006 * lib-load.adb: Minor reformatting
17007
17008 2003-11-24 Vincent Celier <celier@gnat.com>
17009
17010 * make.adb:
17011 (Gnatmake, Initialize): Call Usage instead of Makeusg directly
17012 (Marking_Label): Label to mark processed source files. Incremented for
17013 each executable.
17014 (Gnatmake): Increase Marking_Labet for each executable
17015 (Is_Marked): Compare against marking label
17016 (Mark): Mark with marking label
17017
17018 2003-11-24 Jerome Guitton <guitton@act-europe.fr>
17019
17020 * s-thread.ads:
17021 Move the declaration of the TSD for System.Threads to System.Soft_Links.
17022 Add some comments.
17023
17024 * Makefile.in: Added target pair for s-thread.adb for cert runtime.
17025 (rts-cert): build a single relocatable object for the run-time lib.
17026 Fix perms.
17027
17028 2003-11-24 Vasiliy Fofanov <fofanov@act-europe.fr>
17029
17030 * Make-lang.in:
17031 Use gnatls rather than gcc to obtain the location of GNAT RTL for
17032 crosstools build.
17033
17034 2003-11-24 Sergey Rybin <rybin@act-europe.fr>
17035
17036 * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
17037 can not use it as before (that is, as a variable) when dumping it into
17038 the tree file. Add a local variable to store the result of this
17039 function and to be used as the string to be written into the tree.
17040
17041 * scn.adb (Initialize_Scanner): Add comments explaining the recent
17042 changes.
17043
17044 * sinput.adb (Source_First, Source_Last): In case of
17045 Internal_Source_File, replace returning attributes of
17046 Internal_Source_Ptr (which is wrong) with returning attributes of
17047 Internal_Source.
17048
17049 2003-11-24 Ed Schonberg <schonberg@gnat.com>
17050
17051 * sem_ch3.adb:
17052 (New_Concatenation_Op): Proper name for New_Binary_Operator, only
17053 used for implicit concatenation operators.
17054 Code cleanup.
17055
17056 * sem_elab.adb:
17057 (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
17058 task bodies that are in the scope of a Suppress pragma.
17059 (Check_A Call): Use the flag to prevent spurious elaboration checks.
17060
17061 * sinfo.ads, sinfo.adb:
17062 New flag No_Elaboration_Check on function/procedure calls, to properly
17063 suppress checks on calls in task bodies that are within a local suppress
17064 pragma.
17065
17066 * exp_ch4.adb:
17067 (Expand_Concatenate_Other): Use the proper integer type for the
17068 expression for the upper bound, to avoid universal_integer computations
17069 when possible.
17070
17071 2003-11-21 Kelley Cook <kcook@gcc.gnu.org>
17072
17073 * .cvsignore: Delete.
17074
17075 2003-11-21 Andreas Schwab <schwab@suse.de>
17076
17077 * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
17078
17079 2003-11-21 Vasiliy Fofanov <fofanov@act-europe.fr>
17080
17081 * 5wsystem.ads: Enable zero cost exception.
17082
17083 2003-11-21 Jerome Guitton <guitton@act-europe.fr>
17084
17085 * 5ztiitho.adb: Remove an unreferenced variable.
17086
17087 2003-11-21 Thomas Quinot <quinot@act-europe.fr>
17088
17089 * adaint.c: For FreeBSD, use mkstemp.
17090
17091 2003-11-21 Arnaud Charlet <charlet@act-europe.fr>
17092
17093 * gnatlbr.adb: Now reference Gnat_Static_Version_String.
17094
17095 2003-11-21 Robert Dewar <dewar@gnat.com>
17096
17097 * bld.adb: Remove useless USE of gnatvsn
17098
17099 * gnatchop.adb: Minor reformatting
17100 Clean up version handling to be more consistent
17101
17102 * gnatxref.adb: Minor reformatting
17103
17104 * gprcmd.adb: Minor reformatting
17105 Fix output of copyright to be more consistent with other tools
17106
17107 2003-11-21 Vincent Celier <celier@gnat.com>
17108
17109 * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
17110
17111 2003-11-21 Sergey Rybin <rybin@act-europe.fr>
17112
17113 * atree.adb (Initialize): Add initializations for global variables
17114 used in New_Copy_Tree.
17115
17116 * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
17117 Internal_Source_File as the actual).
17118 Put the set of statements creating Any_Character before the set of
17119 statements creating Any_Array to have Any_Character fully initialized
17120 when it is used in creating Any_Array.
17121
17122 * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
17123 not call Scan in case if the actual is Internal_Source_File
17124 Add 2003 to copyright note.
17125
17126 * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
17127 processing Internal_Source_File.
17128
17129 * types.ads: Add the constant Internal_Source_File representing the
17130 source buffer for artificial source-code-like strings created within
17131 the compiler (the definition of Source_File_Index is changed).
17132
17133 2003-11-20 Arnaud Charlet <charlet@act-europe.fr>
17134
17135 * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
17136 56system.ads: New file, FreeBSD version.
17137
17138 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
17139
17140 * Make-lang.in (ada.extraclean): Delete.
17141
17142 2003-11-19 Arnaud Charlet <charlet@act-europe.fr>
17143
17144 * gnatmem.adb: Clean up verbose output.
17145
17146 * gprcmd.adb: Change copyright to FSF.
17147
17148 2003-11-19 Vincent Celier <celier@gnat.com>
17149
17150 * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
17151 and Version (ignored).
17152
17153 * symbols.ads: (Policy): New type
17154 (Initialize): New parameter Reference, Symbol_Policy and
17155 Library_Version.
17156 Remove parameter Force.
17157 Minor reformatting.
17158
17159 * snames.ads, snames.adbadb: New standard names
17160 Library_Reference_Symbol_File and Library_Symbol_Policy
17161
17162 * mlib-prj.adb:
17163 (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
17164 project.
17165
17166 * mlib-tgt.adb:
17167 (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
17168
17169 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
17170
17171 * prj.adb: (Project_Empty): New component Symbol_Data
17172
17173 * prj.ads: (Policy, Symbol_Record): New types
17174 (Project_Data): New component Symbol_Data
17175
17176 * prj-attr.adb:
17177 New attributes Library_Symbol_File, Library_Symbol_Policy and
17178 Library_Reference_Symbol_File.
17179
17180 * prj-nmsc.adb:
17181 (Ada_Check): When project is a Stand-Alone library project, process
17182 attribute Library_Symbol_File, Library_Symbol_Policy and
17183 Library_Reference_Symbol_File.
17184
17185 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
17186 5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
17187 5sml-tgt.adb (Build_Dynamic_Library): New parameter
17188 Symbol_Data (ignored).
17189
17190 * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
17191 (Build_Dynamic_Library): New parameter Symbol_Data. New internal
17192 functions Option_File_Name and Version_String. Set new options of
17193 gnatsym related to symbol file, symbol policy and reference symbol
17194 file.
17195
17196 * 5vsymbol.adb:
17197 Extensive modifications to take into account the reference symbol file,
17198 the symbol policy, the library version and to put in the symbol file the
17199 minor and major IDs.
17200
17201 * bld.adb (Process_Declarative_Items): Put second argument of
17202 gprcmd to_absolute between single quotes, to avoid problems with
17203 Windows.
17204
17205 * bld-io.adb: Update Copyright notice.
17206 (Flush): Remove last character of a line, if it is a back slash, to
17207 avoid make problems.
17208
17209 * gnatsym.adb:
17210 Implement new scheme with reference symbol file and symbol policy.
17211
17212 * g-os_lib.ads: (Is_Directory): Clarify comment
17213
17214 2003-11-19 Robert Dewar <dewar@gnat.com>
17215
17216 * atree.adb: Move New_Copy_Tree global variables to head of package
17217
17218 * errout.adb: Minor reformatting
17219
17220 2003-11-19 Javier Miranda <miranda@gnat.com>
17221
17222 * sem_ch4.adb: (Diagnose_Call): Improve error message.
17223 Add reference to Ada0Y (AI-50217)
17224
17225 * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
17226 sem_util.adb: Add reference to AI-50217
17227
17228 * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
17229
17230 * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
17231
17232 * sem_aggr.adb: Complete documentation of AI-287 changes
17233
17234 * par-ch4.adb: Document previous changes.
17235
17236 * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
17237 sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
17238 Ada0Y (AI-50217)
17239
17240 * exp_aggr.adb: Add references to AI-287 in previous changes
17241
17242 2003-11-19 Ed Schonberg <schonberg@gnat.com>
17243
17244 * exp_ch6.adb:
17245 (Add_Call_By_Copy_Node): Do not original node of rewritten expression
17246 in the rewriting is the result of an inlined call.
17247
17248 * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
17249 parameter is a type conversion, use original node to construct the
17250 post-call assignment, because expression may have been rewritten, e.g.
17251 if it is a packed array.
17252
17253 * sem_attr.adb:
17254 (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
17255 body, just as it is in an instance.
17256 Categorization routines
17257
17258 * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
17259 Instantiate_Object): Set proper sloc reference for message on missing
17260 actual.
17261
17262 2003-11-19 Thomas Quinot <quinot@act-europe.fr>
17263
17264 * Makefile.in: Add FreeBSD libgnat pairs.
17265
17266 * usage.adb: Fix typo in usage message.
17267
17268 2003-11-19 Jerome Guitton <guitton@act-europe.fr>
17269
17270 * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
17271 s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
17272 pragma Thread_Body.
17273 Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
17274
17275 * s-thread.adb: This file is now a dummy implementation of
17276 System.Thread.
17277
17278 2003-11-19 Sergey Rybin <rybin@act-europe.fr>
17279
17280 * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
17281
17282 2003-11-19 Emmanuel Briot <briot@act-europe.fr>
17283
17284 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
17285 instanciation references in the parent type description.
17286
17287 2003-11-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17288
17289 * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
17290
17291 * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
17292 TYPE_PRECISION directly from esize.
17293
17294 2003-11-18 Thomas Quinot <quinot@act-europe.fr>
17295
17296 * cstreams.c:
17297 Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
17298
17299 * init.c: Initialization routines for FreeBSD
17300
17301 * link.c: Link info for FreeBSD
17302
17303 * sysdep.c: Add the case of FreeBSD
17304
17305 2003-11-17 Jerome Guitton <guitton@act-europe.fr>
17306
17307 * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
17308 already called in System.Threads.
17309
17310 * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
17311 environment task, as it has been moved to System.Threads.Initialization.
17312
17313 2003-11-17 Arnaud Charlet <charlet@act-europe.fr>
17314
17315 * adaint.c (__gnatlib_install_locks): Only reference
17316 __gnat_install_locks on VMS, since other platforms can avoid using
17317 --enable-threads=gnat
17318
17319 2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17320
17321 * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
17322
17323 * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
17324 TYPE_PACKED_ARRAY_TYPE_P.
17325 (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
17326
17327 Part of PR ada/12806
17328 * utils.c (float_type_for_precision): Renamed from float_type_for_size.
17329 Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
17330
17331 2003-11-17 Vincent Celier <celier@gnat.com>
17332
17333 * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
17334 to False.
17335 Do not set exit status to Failure when Warning is True.
17336 (Gnatchop): Make errors "no compilation units found" and
17337 "no source files written" warnings only.
17338
17339 * make.adb (Gnatmake): When using a project file, set
17340 Look_In_Primary_Dir to False.
17341 (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
17342 and Local_Configuration_Pragmas in the project where they are declared
17343 not an extending project which might have inherited them.
17344
17345 * osint.adb (Locate_File): If Name is already an absolute path, do not
17346 look for a directory.
17347
17348 * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
17349 -gnats (Check_Syntax) is used, issue only a warning, not an error.
17350
17351 * prj.adb (Register_Default_Naming_Scheme): Add new component Project
17352 in objects of type Variable_Value.
17353
17354 * prj.ads: (Variable_Value): New component Project
17355
17356 * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
17357 is in a project extended by Project.
17358
17359 * prj-proc.adb (Add_Attributes): New parameter Project. Set component
17360 Project of Variable_Values to this new parameter value.
17361 (Expression): Set component Project of Variable_Values.
17362 (Process_Declarative_Items): Call Add_Attributes with parameter Project.
17363 Set the component Project in array elements.
17364
17365 2003-11-17 Sergey Rybin <rybin@act-europe.fr>
17366
17367 * errout.adb: (Initialize): Add initialization for error nodes.
17368
17369 * sem_ch12.adb (Initialize): Add missing initializations for
17370 Exchanged_Views and Hidden_Entities.
17371
17372 2003-11-17 Ed Schonberg <schonberg@gnat.com>
17373
17374 * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
17375 already instantiated tree for use in subsequent inlining.
17376 (Analyze_Associations, Instantiate_Formal_Subprogram,
17377 Instantiate_Object): improve error message for mismatch in
17378 instantiations.
17379
17380 * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
17381 instantiations of subprograms declared in instances.
17382
17383 2003-11-17 Javier Miranda <miranda@gnat.com>
17384
17385 * sem_ch4.adb (Analyze_Allocator): Previous modification must be
17386 executed only under the Extensions_Allowed flag.
17387
17388 2003-11-17 Robert Dewar <dewar@gnat.com>
17389
17390 * a-exexda.adb (Address_Image): Fix documentation to indicate leading
17391 zeroes suppressed.
17392 (Address_Image): Fix bug of returning 0x instead of 0x0
17393 Minor reformatting (function specs).
17394
17395 * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
17396 (missed case of 33-63)
17397
17398 * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
17399
17400 * s-thread.adb: Add comments for pragma Restriction
17401
17402 * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
17403 sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
17404
17405 2003-11-17 Ed Falis <falis@gnat.com>
17406
17407 * s-thread.adb: Added No_Tasking restriction for this implementation.
17408
17409 2003-11-17 Emmanuel Briot <briot@act-europe.fr>
17410
17411 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
17412 instanciation references in the parent type description.
17413
17414 2003-11-17 GNAT Script <nobody@gnat.com>
17415
17416 * Make-lang.in: Makefile automatically updated
17417
17418 2003-11-16 Jason Merrill <jason@redhat.com>
17419
17420 * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
17421 and TAGS files that include them for each front end.
17422
17423 2003-11-14 Andreas Jaeger <aj@suse.de>
17424
17425 * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
17426 is the canonical version.
17427 * misc.c (gnat_handle_option): Likewise.
17428
17429 * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
17430
17431 * 5nsystem.ads: New file for x86_64-linux-gnu.
17432
17433 2003-11-14 Arnaud Charlet <charlet@act-europe.fr>
17434
17435 * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
17436
17437 * comperr.adb: Fix logic in previous change.
17438
17439 2003-11-13 Vincent Celier <celier@gnat.com>
17440
17441 * 5bml-tgt.adb (Build_Dynamic_Library): Use
17442 Osint.Include_Dir_Default_Prefix instead of
17443 Sdefault.Include_Dir_Default_Name.
17444
17445 * gnatlbr.adb: Update Copyright notice
17446 (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
17447 Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
17448 instead of Sdefault.Object_Dir_Default_Name
17449
17450 * gnatlink.adb:
17451 (Process_Binder_File): Never suppress the option following -Xlinker
17452
17453 * mdll-utl.adb:
17454 (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
17455 Sdefault.Object_Dir_Default_Name.
17456
17457 * osint.ads, osint.adb:
17458 (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
17459 Minor reformatting.
17460
17461 * vms_conv.ads: Minor reformating
17462 Remove GNAT STANDARD and GNAT PSTA
17463
17464 * vms_conv.adb:
17465 Allow GNAT MAKE to have several files on the command line.
17466 (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
17467 Sdefault.Object_Dir_Default_Name.
17468 Minor Reformating
17469 Remove data for GNAT STANDARD
17470
17471 * vms_data.ads:
17472 Add new compiler qualifier /PRINT_STANDARD (-gnatS)
17473 Remove data for GNAT STANDARD
17474 Remove options and documentation for -gnatwb/-gnatwB: these warning
17475 options no longer exist.
17476
17477 2003-11-13 Ed Falis <falis@gnat.com>
17478
17479 * 5zthrini.adb: (Init_RTS): Made visible
17480
17481 * 5zthrini.adb:
17482 (Register): Removed unnecessary call to taskVarGet that checked whether
17483 an ATSD was already set as a task var for the argument thread.
17484
17485 * s-thread.adb:
17486 Updated comment to reflect that this is a VxWorks version
17487 Added context clause for System.Threads.Initialization
17488 Added call to System.Threads.Initialization.Init_RTS
17489
17490 2003-11-13 Jerome Guitton <guitton@act-europe.fr>
17491
17492 * 5zthrini.adb:
17493 (Init_RTS): New procedure, for the initialization of the run-time lib.
17494
17495 * s-thread.adb:
17496 Remove dependancy on System.Init, so that this file can be used in the
17497 AE653 sequential run-time lib.
17498
17499 2003-11-13 Robert Dewar <dewar@gnat.com>
17500
17501 * bindgen.adb: Minor reformatting
17502
17503 2003-11-13 Ed Schonberg <schonberg@gnat.com>
17504
17505 * checks.adb:
17506 (Apply_Discriminant_Check): Do no apply check if target type is derived
17507 from source type with no applicable constraint.
17508
17509 * lib-writ.adb:
17510 (Ensure_System_Dependency): Do not apply the style checks that may have
17511 been specified for the main unit.
17512
17513 * sem_ch8.adb:
17514 (Find_Selected_Component): Further improvement in error message, with
17515 RM reference.
17516
17517 * sem_res.adb:
17518 (Resolve): Handle properly the case of an illegal overloaded protected
17519 procedure.
17520
17521 2003-11-13 Javier Miranda <miranda@gnat.com>
17522
17523 * exp_aggr.adb:
17524 (Has_Default_Init_Comps): New function to check the presence of
17525 default initialization in an aggregate.
17526 (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
17527 extension aggregate of a limited record. In addition, a new formal
17528 was added to do not initialize the record controller (if any) during
17529 this recursive expansion of ancestors.
17530 (Init_Controller): Add support for limited record components.
17531 (Expand_Record_Aggregate): In case of default initialized components
17532 convert the aggregate into a set of assignments.
17533
17534 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
17535 describing the new syntax.
17536 Nothing else needed to be done because this subprogram delegates part of
17537 its work to P_Precord_Or_Array_Component_Association.
17538 (P_Record_Or_Array_Component_Association): Give support to the new
17539 syntax for default initialization of components.
17540
17541 * sem_aggr.adb:
17542 (Resolve_Aggregate): Relax the strictness of the frontend in case of
17543 limited aggregates.
17544 (Resolve_Record_Aggregate): Give support to default initialized
17545 components.
17546 (Get_Value): In case of default initialized components, duplicate
17547 the corresponding default expression (from the record type
17548 declaration). In case of default initialization in the *others*
17549 choice, do not check that all components have the same type.
17550 (Resolve_Extension_Aggregate): Give support to limited extension
17551 aggregates.
17552
17553 * sem_ch3.adb:
17554 (Check_Initialization): Relax the strictness of the front-end in case
17555 of aggregate and extension aggregates. This test is now done in
17556 Get_Value in a per-component manner.
17557
17558 * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
17559 expression corresponds to a limited aggregate. This test is now done
17560 in Get_Value.
17561
17562 * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
17563 Box_Present flag.
17564
17565 * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
17566 present in an N_Component_Association node
17567
17568 2003-11-13 Thomas Quinot <quinot@act-europe.fr>
17569
17570 * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
17571 type-conformant entry only if they are homographs.
17572
17573 2003-11-13 GNAT Script <nobody@gnat.com>
17574
17575 * Make-lang.in: Makefile automatically updated
17576
17577 2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17578
17579 * adadecode.c: Use <> form of include for ctype.h.
17580 * sysdep.c [IN_RTS]: Use <> form of include for time.h.
17581
17582 2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17583
17584 * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
17585 Works around PR middle-end/6552.
17586
17587 2003-11-10 Ed Falis <falis@gnat.com>
17588
17589 * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
17590
17591 * 5zinit.adb: (Install_Handler): Moved back to spec
17592 (Install_Signal_Handlers): Deleted
17593
17594 * 5zthrini.adb: Added context clause for System.Storage_Elements
17595 (Register): Only handles creation of taskVar; initialization moved to
17596 Thread_Body_Enter.
17597 (Reset_TSD): Deleted; replaced by Thread_Body_Enter
17598 Added declaration of environment task secondary stack and
17599 initialization.
17600
17601 * s-thread.adb: Implement bodies for thread body processing
17602
17603 * s-thread.ads:
17604 Added comment identifying supported targets for pragma Thread_Body.
17605
17606 2003-11-10 Pascal Obry <obry@gnat.com>
17607
17608 * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
17609 GNAT_MAX_PATH_LEN.
17610
17611 * s-fileio.adb:
17612 (Open): Properly check for string length before copying into the buffer.
17613 Raises Name_Error if buffer is too small. Note that this was a potential
17614 buffer overflow.
17615
17616 2003-11-10 Romain Berrendonner <berrendo@act-europe.fr>
17617
17618 * bindgen.adb, comperr.adb: Code clean ups.
17619 * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
17620
17621 2003-11-10 Sergey Rybin <rybin@act-europe.fr>
17622
17623 * gnat1drv.adb: Add call to Sem_Elim.Initialize.
17624
17625 2003-11-10 Vincent Celier <celier@gnat.com>
17626
17627 * gprcmd.adb:
17628 (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
17629 installation.
17630
17631 * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
17632
17633 * prj.adb: (Project_Empty): Add new boolean component Virtual
17634
17635 * prj.ads: (Virtual_Prefix): New constant string
17636 (Project_Data): New boolean component Virtual
17637
17638 * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
17639 a library project is extended by a virtual extending project.
17640
17641 * prj-part.adb:
17642 Modifications throughout to implement extending-all project, including:
17643 (Virtual_Hash, Processed_Hash): New hash tables
17644 (Create_Virtual_Extending_Project): New procedure
17645 (Look_For_Virtual_Projects_For): New procedure
17646
17647 * prj-proc.adb:
17648 (Process): After checking the projects, if main project is an
17649 extending-all project, set the object directory of all virtual extending
17650 project to the object directory of the main project.
17651 Adjust error message when a virtual extending project has the same
17652 object directory as an project being extended.
17653 (Recursive_Process): If name starts with the virtual prefix, set Virtual
17654 to True in the project data.
17655
17656 * prj-tree.adb:
17657 (Default_Project_Node): Add new boolean component Extending_All
17658 (Is_Extending_All): New function
17659 (Set_Is_Extending_All): New procedure
17660
17661 * prj-tree.ads: (Is_Extending_All): New function
17662 (Set_Is_Extending_All): New procedure
17663 (Project_Node_Record): New boolean component Extending_All
17664
17665 * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
17666
17667 * vms_data.ads:
17668 Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
17669
17670 * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
17671 "gprcmd prefix" to define it.
17672
17673 2003-11-10 Thomas Quinot <quinot@act-europe.fr>
17674
17675 * einfo.ads: Fix a typo and remove an extraneous word in comments.
17676
17677 * lib-load.adb:
17678 (Create_Dummy_Package_Unit): Set the scope of the entity for the
17679 created dummy package to Standard_Standard, not to itself, to
17680 defend other parts of the front-end against encoutering a cycle in
17681 the scope chain.
17682
17683 * sem_ch10.adb:
17684 (Analyze_With_Clause): When setting the entities for the successive
17685 N_Expanded_Names that constitute the name of a child unit, do not
17686 attempt to go further than Standard_Standard in the chain of scopes.
17687 This case arises from the placeholder units created by
17688 Create_Dummy_Package_Unit in the case of a with_clause for a
17689 nonexistent child unit.
17690
17691 2003-11-10 Ed Schonberg <schonberg@gnat.com>
17692
17693 * exp_ch6.adb:
17694 (Expand_Thread_Body): Place subprogram on scope stack, so that new
17695 declarations are given the proper scope.
17696
17697 * sem_ch13.adb:
17698 (Check_Expr_Constants): Reject an expression that contains a constant
17699 created during expansion, and that appears after the object to which
17700 the address clause applies.
17701
17702 * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
17703 Analyze_Iteration_Scheme, to rewrite a loop parameter specification
17704 that uses 'Range of a function call with controlled components, so
17705 that the function result can be finalized before starting the loop.
17706
17707 * sem_ch8.adb:
17708 (Find_Selected_Component): Improve error message when prefix is
17709 an implicit dereference of an incomplete type.
17710
17711 2003-11-10 Robert Dewar <dewar@gnat.com>
17712
17713 * opt.ads: New Print_Standard flag for -gnatS switch
17714
17715 * sem_ch13.adb: Remove some additional checks for unaligned arrays
17716
17717 * cstand.adb (Create_Standard): Print out package standard if -gnatS
17718 switch set
17719
17720 * debug.adb: Update doc for -gnatds to discuss relationship with new
17721 -gnatS flag
17722
17723 * sinfo.adb: Add new field Entity_Or_Associated_Node
17724
17725 * sinfo.ads: Add new field Entity_Or_Associated_Node
17726 Update documentation for Associated_Node and Entity fields to clarify
17727 relationship and usage.
17728
17729 * sprint.adb:
17730 (Write_Id): Properly process Associated_Node field in generic template
17731
17732 * switch-c.adb:
17733 Recognize new -gnatS switch for printing package Standard
17734 This replaces gnatpsta
17735
17736 * usage.adb:
17737 Add line for new -gnatS switch for printing package Standard
17738 This replaces gnatpsta
17739
17740 2003-11-10 Andreas Jaeger <aj@suse.de>
17741
17742 * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
17743 integer.
17744
17745 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
17746
17747 * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
17748 by gnat1.
17749
17750 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
17751
17752 * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
17753 no longer needed.
17754
17755 * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
17756
17757 * sysdep.c: Add handling of cygwin.
17758
17759 2003-11-10 GNAT Script <nobody@gnat.com>
17760
17761 * Make-lang.in: Makefile automatically updated
17762
17763 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
17764
17765 PR 12950
17766 * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
17767 functions. Used to handle dynamic prefix relocation, via set_std_prefix.
17768 Replace GNAT_ROOT by GCC_ROOT.
17769
17770 * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
17771
17772 2003-11-06 Zack Weinberg <zack@codesourcery.com>
17773
17774 * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
17775 and update for changed meaning of GET_MODE_BITSIZE.
17776
17777 2003-11-04 Doug Rupp <rupp@gnat.com>
17778
17779 * sysdep.c: Problem discovered during IA64 VMS port.
17780 [VMS] #include <unixio.h> to get proper prototypes.
17781
17782 * adaint.c:
17783 Issues discovered/problems fixed during IA64 VMS port.
17784 [VMS] #define _POSIX_EXIT for proper semantics.
17785 [VMS] #include <unixio.h> for proper prototypes.
17786 [VMS] (fork): #define IA64 version.
17787 (__gnat_os_exit): Remove unnecessary VMS specific code.
17788
17789 2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17790
17791 Part of PR ada/12806
17792
17793 * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
17794 tree, not integer.
17795
17796 * decl.c:
17797 (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
17798 not integer.
17799
17800 * targtyps.c, decl.c, misc.c,
17801 gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
17802 routines to work around change in FP sizing semantics in GCC.
17803
17804 * utils.c:
17805 (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
17806
17807 * gigi.h: (enumerate_modes): New function.
17808
17809 * Make-lang.in: (ada/misc.o): Add real.h.
17810
17811 * misc.c: (enumerate_modes): New function.
17812
17813 2003-11-04 Robert Dewar <dewar@gnat.com>
17814
17815 * 3vtrasym.adb: Minor reformatting
17816 Use terminology encoded/decoded name, rather than C++ specific notion
17817 of mangling (this is the terminology used throughout GNAT).
17818
17819 * einfo.h: Regenerated
17820
17821 * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
17822
17823 * exp_ch6.adb:
17824 (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
17825
17826 * par-prag.adb: Add dummy entry for Thread_Body pragma
17827
17828 * rtsfind.ads:
17829 Add entries for System.Threads entities for thread body processing
17830
17831 * sem_attr.adb:
17832 (Analyze_Pragma, Access attributes): Check these are not applied to a
17833 thread body, since this is not permitted
17834
17835 * sem_prag.adb: Add processing for Thread_Body pragma.
17836 Minor comment fix.
17837
17838 * sem_res.adb:
17839 (Resolve_Call): Check for incorrect attempt to call a thread body
17840 procedure with a direct call.
17841
17842 * snames.ads, snames.adb: Add entry for Thread_Body pragma
17843 Add names associated with thread body expansion
17844
17845 * snames.h: Add entry for Thread_Body pragma
17846
17847 * s-thread.adb: Add entries for thread body processing
17848 These are dummy bodies so far
17849
17850 * s-thread.ads: Add documentation on thread body handling.
17851 Add entries for thread body processing.
17852
17853 2003-11-04 Javier Miranda <miranda@gnat.com>
17854
17855 * sem_ch10.adb:
17856 (Build_Limited_Views): Return after posting an error in case of limited
17857 with_clause on subprograms, generics, instances or generic renamings
17858 (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
17859 on subprograms, generics, instances or generic renamings
17860
17861 2003-11-04 Arnaud Charlet <charlet@act-europe.fr>
17862
17863 * raise.c (setup_to_install): Correct mistake in last revision; two
17864 arguments out of order.
17865
17866 * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
17867 gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
17868 notice, missed in previous change.
17869 Remove trailing blanks and other style errors introduced in previous
17870 change.
17871
17872 2003-11-04 Olivier Hainque <hainque@act-europe.fr>
17873
17874 * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
17875 rid of the wrapper for a LJM type, ensuring we don't do that if the
17876 field is addressable. This avoids potential low level type view
17877 mismatches later on, for instance in a by-reference argument passing
17878 process.
17879
17880 2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17881
17882 * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
17883 aligned at byte boundary.
17884
17885 2003-11-04 Joel Brobecker <brobecker@gnat.com>
17886
17887 * decl.c (components_to_record): Do not delete the empty variants from
17888 the end of the union type.
17889
17890 2003-11-04 Ed Schonberg <schonberg@gnat.com>
17891
17892 * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
17893 operation for a derived type, an explicit declaration may use a local
17894 subtype of Boolean.
17895
17896 2003-11-04 Vincent Celier <celier@gnat.com>
17897
17898 * make.adb (Gnatmake): Allow main sources on the command line with a
17899 library project when it is only for compilation (no binding or
17900 linking).
17901
17902 2003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17903
17904 * Makefile.in: Remove many duplicate variables.
17905
17906 2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
17907
17908 * Make-lang.in (dvi): Move targets to $(docobjdir).
17909 (gnat_ug_vms.dvi): Simplify rule and adjust target.
17910 (gnat_ug_wnt.dvi): Likewise.
17911 (gnat_ug_unx.dvi): Likewise.
17912 (gnat_ug_vxw.dvi): Likewise.
17913 (gnat_rm.dvi): Likewise.
17914 (gnat-style.dvi): Likewise.
17915
17916 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
17917
17918 * gigi.h: Missed commit from update for C90.
17919
17920 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
17921
17922 * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
17923
17924 2003-10-31 Andreas Schwab <schwab@suse.de>
17925
17926 * raise.c (get_action_description_for): Fix typo in last change.
17927
17928 2003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
17929
17930 PR ada/12761
17931 * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
17932 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
17933
17934 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
17935
17936 * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
17937 ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
17938 gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
17939 sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
17940 trans.c, utils.c, utils2.c: Convert function prototypes to C90.
17941
17942 2003-10-30 Vasiliy Fofanov <fofanov@act-europe.fr>
17943
17944 * 3vtrasym.adb:
17945 Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
17946 numbers when symbol name is too long.
17947
17948 2003-10-30 Ed Falis <falis@gnat.com>
17949
17950 * g-signal.ads, g-signal.adb: New files
17951
17952 * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
17953
17954 * Makefile.rtl: Introduce GNAT.Signals
17955
17956 2003-10-30 Robert Dewar <dewar@gnat.com>
17957
17958 * freeze.adb: Minor reformatting
17959
17960 * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
17961
17962 * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
17963 par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
17964 New handling of Id_Check parameter to improve recognition of keywords
17965 used as identifiers.
17966 Update copyright notice to include 2003
17967
17968 2003-10-29 Robert Dewar <dewar@gnat.com>
17969
17970 * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
17971 sem_ch10.adb: Minor reformatting
17972
17973 * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
17974 (Expand_Assign_Record): Test right hand side for bit unaligned as well
17975
17976 2003-10-29 Vasiliy Fofanov <fofanov@act-europe.fr>
17977
17978 * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
17979 Support for TBK$SYMBOLIZE-based symbolic traceback.
17980
17981 2003-10-29 Jose Ruiz <ruiz@act-europe.fr>
17982
17983 * exp_disp.adb:
17984 Revert previous change, that did not work well when pragma No_Run_Time
17985 was used in conjunction with a run-time other than ZFP.
17986
17987 2003-10-29 Vincent Celier <celier@gnat.com>
17988
17989 * make.adb:
17990 (Gnatmake): When there are no Ada mains in attribute Main, disable the
17991 bind and link steps only is switch -z is not used.
17992
17993 2003-10-29 Arnaud Charlet <charlet@act-europe.fr>
17994
17995 * Makefile.generic: Remove duplicated setting of CC.
17996
17997 * Makefile.prolog: Set CC to gcc by default, to override make's
17998 default (cc).
17999
18000 * einfo.h: Regenerated.
18001
18002 2003-10-29 Ed Schonberg <schonberg@gnat.com>
18003
18004 * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
18005 current body, after compiling subunit.
18006
18007 * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
18008 when in deleted code, because gigi needs properly ordered freeze
18009 actions to annotate types.
18010
18011 * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
18012 prevent the premature freezing of record type that contains
18013 subcomponents with a private type that does not yet have a completion.
18014
18015 2003-10-29 Javier Miranda <miranda@gnat.com>
18016
18017 * sem_ch12.adb:
18018 (Analyze_Package_Instantiation): Check that instances can not be used in
18019 limited with_clauses.
18020
18021 * sem_ch8.adb:
18022 (Analyze_Package_Renaming): Check that limited withed packages cannot
18023 be renamed. Improve text on error messages related to limited
18024 with_clauses.
18025
18026 * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
18027
18028 * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
18029 Update copyright notice.
18030
18031 * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
18032 (Install_Limited_Context_Clauses): New subprogram that isolates all the
18033 checks required for limited context_clauses and installs the limited
18034 view.
18035 (Install_Limited_Withed_Unit): Complete its documentation.
18036 (Analyze_Context): Check that limited with_clauses are only allowed in
18037 package specs.
18038 (Install_Context): Call Install_Limited_Context_Clauses after the
18039 parents have been installed.
18040 (Install_Limited_Withed_Unit): Add documentation. Mark the installed
18041 package as 'From_With_Type'; this mark indicates that the limited view
18042 is installed. Used to check bad usages of limited with_clauses.
18043 (Build_Limited_Views): Do not add shadow entities to the scope's list
18044 of entities. Do not add real entities to the Non_Limited_Views chain.
18045 Improve error notification.
18046 (Remove_Context_Clauses): Remove context clauses in two phases:
18047 limited views first and regular views later (to maintain the
18048 stack model).
18049 (Remove_Limited_With_Clause): If the package is analyzed then reinstall
18050 its visible entities.
18051
18052 2003-10-29 Thomas Quinot <quinot@act-europe.fr>
18053
18054 * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
18055 with any type that Is_Fixed_Point_Type.
18056
18057 * sinfo.ads: Fix documentation for Associated_Node attribute.
18058
18059 2003-10-29 Sergey Rybin <rybin@act-europe.fr>
18060
18061 * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
18062 both '-gnatc' and '-gnatt' are specified.
18063
18064 * atree.adb (Initialize): Add initialization for Node_Count (set to
18065 zero).
18066
18067 2003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18068
18069 * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
18070 do not consider as Pure.
18071
18072 Part of implementation of function-at-a-time:
18073
18074 * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
18075 (tree_transform): Add new argument to build_component_ref.
18076 (tree_transform, case N_Assignment_Statement): Make and return an
18077 EXPR_STMT.
18078 (tree_transform): If result IS_STMT, set flags and return it.
18079 (gnat_expand_stmt, set_lineno_from_sloc): New functions.
18080
18081 * utils2.c (build_simple_component_ref, build_component_ref): Add new
18082 arg, NO_FOLD_P.
18083 (build_binary_op, case EQ_EXPR): Pass additional arg to it.
18084 (build_allocator): Likewise.
18085
18086 * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
18087 Add new arg to build_component_ref.
18088 (maybe_unconstrained_array, unchecked_convert): Likewise.
18089
18090 * ada-tree.def (EXPR_STMT): New code.
18091
18092 * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
18093
18094 * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
18095 build_component_ref calls.
18096
18097 * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
18098
18099 * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
18100 (build_component_ref): Add new argument, NO_FOLD_P.
18101
18102 2003-10-27 Arnaud Charlet <charlet@act-europe.fr>
18103
18104 * Makefile.generic: Add missing substitution on object_deps handling.
18105
18106 PR ada/5909:
18107 * Make-lang.in (check-ada): Enable ACATS test suite.
18108
18109 2003-10-27 Robert Dewar <dewar@gnat.com>
18110
18111 * exp_ch3.adb:
18112 (Freeze_Array_Type): We do not need an initialization routine for types
18113 derived from String or Wide_String. They should be treated the same
18114 as String and Wide_String themselves. This caused problems with the
18115 use of Initialize_Scalars.
18116
18117 * exp_ch5.adb:
18118 (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
18119 composites. This allows use of component clauses that are not byte
18120 aligned.
18121
18122 * sem_prag.adb:
18123 (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
18124 is an attempt to pack an array of atomic objects.
18125
18126 * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
18127
18128 2003-10-27 Pascal Obry <obry@gnat.com>
18129
18130 * g-dirope.adb:
18131 (Basename): Check for drive letters in a pathname only on DOS based OS.
18132
18133 2003-10-27 Vincent Celier <celier@gnat.com>
18134
18135 * make.adb:
18136 (Gnatmake): When unable to change dir to the object dir, display the
18137 content of the parent dir of the obj dir, to try to understand why this
18138 happens.
18139
18140 2003-10-27 GNAT Script <nobody@gnat.com>
18141
18142 * Make-lang.in: Makefile automatically updated
18143
18144 2003-10-27 Ed Schonberg <schonberg@gnat.com>
18145
18146 * sem_ch12.adb:
18147 (Inline_Instance_Body): Indicate that the save/restore of use_clauses
18148 should not be done in Save/Restore_Scope_Stack, because it is performed
18149 locally.
18150
18151 * sem_ch8.adb:
18152 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
18153 whether use clauses should be removed/restored.
18154
18155 * sem_ch8.ads:
18156 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
18157 whether use clauses should be removed/restored.
18158
18159 2003-10-26 Andreas Jaeger <aj@suse.de>
18160
18161 * Makefile.in: Remove duplicated lines.
18162
18163 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
18164
18165 * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
18166 minimize the differences with ACT tree.
18167
18168 * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
18169 gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
18170 Gnatvsn.Gnat_Static_Version_String to reduce differences between
18171 ACT and FSF trees.
18172
18173 2003-10-24 Pascal Obry <obry@gnat.com>
18174
18175 * adadecode.c (ostrcpy): New function.
18176 (__gnat_decode): Use ostrcpy of strcpy.
18177 (has_prefix): Set first parameter a const.
18178 (has_suffix): Set first parameter a const.
18179 Update copyright notice. Fix source name in header.
18180 Removes a trailing space.
18181 PR ada/12014.
18182
18183 2003-10-24 Jose Ruiz <ruiz@act-europe.fr>
18184
18185 * exp_disp.adb:
18186 Remove the test against being in No_Run_Time_Mode before generating a
18187 call to Register_Tag. It is redundant with the test against the
18188 availability of the function Register_Tag.
18189
18190 2003-10-24 Vincent Celier <celier@gnat.com>
18191
18192 * g-catiio.adb: (Month_Name): Correct spelling of February
18193
18194 * make.adb: (Mains): New package
18195 (Initialize): Call Mains.Delete
18196 (Gnatmake): Check that each main on the command line is a source of a
18197 project file and, if there are several mains, each of them is a source
18198 of the same project file.
18199 (Gnatmake): When a foreign language is specified in attribute Languages,
18200 no main is specified on the command line and attribute Mains is not
18201 empty, only build the Ada main. If there is no Ada main, just compile
18202 the Ada sources and their closure.
18203 (Gnatmake): If a main is specified on the command line with directory
18204 information, check that the source exists and, if it does, that the path
18205 is the actual path of a source of a project.
18206
18207 * prj-env.adb:
18208 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
18209 Full_Path is True, return the full path instead of the simple file name.
18210 (Project_Of): New function
18211
18212 * prj-env.ads:
18213 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
18214 defaulted to False.
18215 (Project_Of): New function
18216
18217 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
18218
18219 * Makefile.generic:
18220 Ensure objects of main project are always checked and rebuilt if needed.
18221 Set CC to gcc by default.
18222 Prepare new handling of link by creating a global archive (not activated
18223 yet).
18224
18225 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
18226 stringt.h: Update copyright notice. Remove trailing blanks.
18227 Fix source name in header.
18228
18229 2003-10-24 Robert Dewar <dewar@gnat.com>
18230
18231 * sem_ch12.adb: Minor reformatting
18232
18233 * sem_ch3.adb:
18234 Minor reformatting (including new function return style throughout)
18235
18236 * sem_ch3.ads:
18237 Minor reformatting (including new function return style throughout)
18238
18239 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
18240
18241 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
18242 stringt.h: Update copyright notice. Remove trailing blanks.
18243 Fix source name in header.
18244
18245 2003-10-24 GNAT Script <nobody@gnat.com>
18246
18247 * Make-lang.in: Makefile automatically updated
18248
18249 2003-10-23 Nathanael Nerode <neroden@gcc.gnu.org>
18250
18251 * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
18252 stringt.h: Convert to ISO C90 declarations and definitions.
18253
18254 2003-10-23 Thomas Quinot <quinot@act-europe.fr>
18255
18256 PR ada/11978:
18257 * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
18258 External_Tag attribute definition clauses.
18259
18260 2003-10-23 Ed Schonberg <schonberg@gnat.com>
18261
18262 PR ada/7613:
18263 * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
18264 child unit, generate a fully qualified name to avoid spurious errors
18265 when the context contains renamings of different child units with
18266 the same simple name.
18267
18268 * exp_dbug.ads: Add documentation on name qualification for renamings
18269 of child units.
18270
18271 2003-10-23 Robert Dewar <dewar@gnat.com>
18272
18273 * g-regpat.ads, g-regpat.adb: Minor reformatting
18274
18275 2003-10-23 Jose Ruiz <ruiz@act-europe.fr>
18276
18277 * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
18278
18279 2003-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18280
18281 * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
18282 Machine call.
18283
18284 * urealp.h: (Machine): Update to proper definition.
18285
18286 2003-10-23 Arnaud Charlet <charlet@act-europe.fr>
18287
18288 * init.c, adaint.c: Minor reformatting.
18289
18290 2003-10-23 Danny Smith <dannysmith@users.sourceforge.net>
18291
18292 * adaint.c (w32_epoch_offset): Define static const at file level.
18293 (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
18294 rather than t_create, t_access in call to GetFileTime. Use union
18295 to convert between FILETIME and unsigned long long.
18296 (__gnat_file_time_name): Test for invalid file handle.
18297 (__gnat_set_filetime_name): Support win32 targets using
18298 w32api SetFileTime.
18299
18300 2003-10-22 Danny Smith <dannysmith@users.sourceforge.net>
18301
18302 * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
18303
18304 * ctrl_c.c (__gnat_int_handler): Remove declaration.
18305
18306 * decl.c (creat_concat_name): Const-ify prefix.
18307
18308 * adaint.c: Include ctype.h if __MINGW32__.
18309 (__gnat_readlink): Mark arguments as possibly unused.
18310 (__gnat_symlink): Likewise.
18311 (__gnat_is_symbolic_link): Likewise.
18312 (__gnat_portable_spawn): Likewise. Cast last arg of spawnvp to match
18313 declaration
18314 (__gnat_file_time_name): Don't declare struct stat statbuf when
18315 not needed.
18316 (__gnat_is_absolute_path): Add parenthesis around condition of
18317 'if' statement to avoid warning.
18318 (__gnat_plist_init): Specify void as parameter.
18319 (plist_enter): Likewise.
18320 (plist_leave): Likewise.
18321 (remove_handle): Make static. Initialize prev.
18322
18323 2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
18324
18325 * Makefile.in: Disable build of gnatpsta. PR ada/10110.
18326 * cstreams.c (__gnat_full_name): Minor improvements and clean up
18327 of previous change.
18328
18329 2003-10-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
18330
18331 * tracebak.c (MAX): Avoid redefinition warning.
18332
18333 * init.c [sgi] (__gnat_error_handler): Remove i, unused.
18334 Change msg to const char *.
18335 (__gnat_install_handler): Remove ss, unused.
18336 [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
18337 to const char *.
18338 * cstreams.c (__gnat_full_name): Declare p only when used.
18339 (__gnat_full_name) [sgi] Return buffer.
18340
18341 2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
18342
18343 * mingw32.h: New file.
18344 * gnat_wrapper.adb: New file.
18345
18346 2003-10-22 Jerome Roussel <roussel@act-europe.fr>
18347
18348 * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
18349 string match a pre compiled regular expression (the corresponding
18350 version of the function working on a raw regular expression)
18351 Fix typos in various comments
18352 Update copyright notice in spec
18353
18354 2003-10-21 Gary Dismukes <dismukes@gnat.com>
18355
18356 * exp_ch3.adb:
18357 (Component_Needs_Simple_Initialization): Return False when the type is a
18358 packed bit array. Revise spec comments to document this case.
18359
18360 * exp_prag.adb:
18361 (Expand_Pragma_Import): Set any expression on the imported object to
18362 empty to avoid initializing imported objects (in particular this
18363 covers the case of zero-initialization of bit arrays).
18364 Update copyright notice.
18365
18366 2003-10-21 Ed Schonberg <schonberg@gnat.com>
18367
18368 * sem_ch12.adb:
18369 (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
18370 a subunit is missing.
18371 (Instantiate_Subprogram_Body): If body of function is missing, set type
18372 of return expression explicitly in dummy body, to prevent cascaded
18373 errors when a subunit is missing.
18374 Fixes PR 5677.
18375
18376 * sem_ch3.adb:
18377 (Access_Subprogram_Declaration): Verify that return type is valid.
18378 Fixes PR 8693.
18379
18380 * sem_elab.adb:
18381 (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
18382 generic.
18383 Fixes PR 12318.
18384
18385 * sem_util.adb:
18386 (Corresponding_Discriminant): If the scope of the discriminant is a
18387 private type without discriminant, use its full view.
18388 Fixes PR 8247.
18389
18390 2003-10-21 Arnaud Charlet <charlet@act-europe.fr>
18391
18392 * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
18393 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
18394 3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
18395 55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
18396 56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
18397 59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
18398 5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
18399 5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
18400 5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
18401 5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
18402 5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
18403 5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
18404 5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
18405 5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
18406 7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
18407 a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
18408 a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
18409 a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
18410 bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
18411 erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
18412 err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
18413 g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
18414 g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
18415 g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
18416 g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
18417 g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
18418 g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
18419 gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
18420 g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
18421 g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
18422 i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
18423 prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
18424 prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
18425 s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
18426 s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
18427 s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
18428 s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
18429 s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
18430 s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
18431 s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
18432 s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
18433 socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
18434 s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
18435 s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
18436 s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
18437 styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
18438 s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
18439 tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
18440 vms_conv.ads, vms_conv.adb, vms_data.ads,
18441 vxaddr2line.adb: Files added. Merge with ACT tree.
18442
18443 * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
18444 5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
18445 5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
18446 5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
18447 g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
18448 s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
18449 s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
18450 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
18451 s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
18452 s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
18453
18454 * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
18455 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
18456 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
18457 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
18458 4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
18459 4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
18460 4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
18461 4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
18462 51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
18463 53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
18464 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
18465 5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
18466 5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
18467 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
18468 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
18469 5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
18470 5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
18471 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
18472 5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
18473 5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
18474 5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
18475 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
18476 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
18477 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
18478 5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
18479 5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
18480 5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
18481 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
18482 5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
18483 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
18484 5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
18485 5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
18486 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
18487 5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
18488 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
18489 7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
18490 7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
18491 a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
18492 a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
18493 a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
18494 a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
18495 a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
18496 ali.adb, ali.ads, ali-util.adb, ali-util.ads,
18497 a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
18498 a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
18499 a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
18500 a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
18501 a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
18502 a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
18503 a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
18504 a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
18505 a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
18506 a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
18507 a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
18508 a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
18509 atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
18510 a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
18511 a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
18512 bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
18513 checks.adb, checks.ads, cio.c, comperr.adb,
18514 comperr.ads, csets.adb, cstand.adb, cstreams.c,
18515 debug_a.adb, debug_a.ads, debug.adb, decl.c,
18516 einfo.adb, einfo.ads, errout.adb, errout.ads,
18517 eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
18518 expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
18519 exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
18520 exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
18521 exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
18522 exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
18523 exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
18524 exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
18525 exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
18526 fe.h, fmap.adb, fmap.ads, fname.adb,
18527 fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
18528 freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
18529 g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
18530 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
18531 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
18532 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
18533 g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
18534 g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
18535 g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
18536 g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
18537 g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
18538 g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
18539 g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
18540 g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
18541 gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
18542 gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
18543 gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
18544 gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
18545 gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
18546 g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
18547 g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
18548 g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
18549 g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
18550 g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
18551 g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
18552 g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
18553 g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
18554 i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
18555 i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
18556 inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
18557 itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
18558 layout.adb, lib.adb, lib.ads, lib-list.adb,
18559 lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
18560 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
18561 link.c, live.adb, make.adb, make.ads,
18562 Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
18563 mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
18564 mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
18565 misc.c, mkdir.c, mlib.adb, mlib.ads,
18566 mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
18567 mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
18568 namet.adb, namet.ads, namet.h, nlists.ads,
18569 nlists.h, nmake.adt, opt.adb, opt.ads,
18570 osint.adb, osint.ads, osint-b.adb, osint-c.adb,
18571 par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
18572 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
18573 par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
18574 par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
18575 prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
18576 prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
18577 prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
18578 prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
18579 prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
18580 prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
18581 prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
18582 prj-util.adb, prj-util.ads, raise.c, raise.h,
18583 repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
18584 rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
18585 s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
18586 s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
18587 scans.ads, scn.adb, scn.ads, s-crc32.adb,
18588 s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
18589 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
18590 sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
18591 sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
18592 sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
18593 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
18594 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
18595 sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
18596 sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
18597 sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
18598 sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
18599 sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
18600 s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
18601 s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
18602 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
18603 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
18604 s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
18605 s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
18606 s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
18607 sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
18608 sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
18609 sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
18610 s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
18611 s-memory.adb, s-memory.ads, snames.adb, snames.ads,
18612 snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
18613 s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
18614 s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
18615 s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
18616 s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
18617 s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
18618 s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
18619 s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
18620 s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
18621 s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
18622 s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
18623 s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
18624 s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
18625 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
18626 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
18627 s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
18628 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
18629 stringt.adb, stringt.ads, stringt.h, style.ads,
18630 stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
18631 s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
18632 s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
18633 switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
18634 s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
18635 table.adb, table.ads, targparm.adb, targparm.ads,
18636 targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
18637 trans.c, tree_io.adb, treepr.adb, treeprs.adt,
18638 ttypes.ads, types.ads, types.h, uintp.adb,
18639 uintp.ads, uintp.h, uname.adb, urealp.adb,
18640 urealp.ads, urealp.h, usage.adb, utils2.c,
18641 utils.c, validsw.adb, validsw.ads, widechar.adb,
18642 xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
18643 xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
18644 einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
18645 gnatvsn.ads: Merge with ACT tree.
18646
18647 * gnatvsn.adb: Rewritten in a simpler and more efficient way.
18648
18649 2003-10-20 Mark Mitchell <mark@codesourcery.com>
18650
18651 * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
18652 (gnat_ug_vmx.info): Likewise.
18653 (gnat_ug_vxw.info): Likewise.
18654 (gnat_ug_wnt.info): Likewise.
18655 (gnat_rm.info): Likewise.
18656 (gnat-style.info): Likewise.
18657
18658 * Make-lang.in (ada.install-info): Remove target.
18659 (info): New target.
18660 (install-info): Likewise.
18661 (gnat_ug_unx.info): Simplify rule.
18662 (gnat_ug_vmx.info): Likewise.
18663 (gnat_ug_vxw.info): Likewise.
18664 (gnat_ug_wnt.info): Likewise.
18665 (gnat_rm.info): Likewise.
18666 (gnat-style.info): Likewise.
18667
18668 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
18669
18670 * Make-lang.in: Replace uses of $(target_alias) with
18671 $(target_noncanonical).
18672 * ada/Makefile.in: Remove unused mention of $(target_alias).
18673
18674 2003-10-06 Mark Mitchell <mark@codesourcery.com>
18675
18676 * Make-lang.in (ada.info): Replace with ...
18677 (info): ... this.
18678 (ada.dvi): Replace with ...
18679 (dvi): ... this.
18680
18681 2003-09-29 Zack Weinberg <zack@codesourcery.com>
18682
18683 * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
18684 initialize dconstp5 and dconstmp5.
18685
18686 2003-09-28 Richard Henderson <rth@redhat.com>
18687
18688 * trans.c (tree_transform): Update call to expand_asm_operands.
18689
18690 2003-09-21 Richard Henderson <rth@redhat.com>
18691
18692 * trans.c, utils.c: Revert.
18693
18694 2003-09-21 Richard Henderson <rth@redhat.com>
18695
18696 * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
18697 change to const.
18698
18699 2003-09-04 Michael Matz <matz@suse.de>
18700
18701 * misc.c: Include "target.h".
18702 * Make-lang.in (misc.o): Add dependency on target.h.
18703
18704 2003-09-03 DJ Delorie <dj@redhat.com>
18705
18706 * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
18707 hook.
18708
18709 2003-08-30 Zack Weinberg <zack@codesourcery.com>
18710
18711 * Makefile.in: Update substitutions to match changes to
18712 configure. Use include directives instead of @-insertions
18713 to read in host and target fragments. Add a rule to
18714 regenerate ada/Makefile.
18715
18716 2003-07-18 Neil Booth <neil@daikokuya.co.uk>
18717
18718 * lang-options.h: Remove.
18719 * lang.opt: Add help text.
18720
18721 2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
18722
18723 * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
18724 calls.
18725
18726 2003-07-06 Neil Booth <neil@daikokuya.co.uk>
18727
18728 * misc.c (gnat_handle_option): Don't handle filenames.
18729
18730 2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
18731
18732 * Make-lang.in: Replace PWD with PWD_COMMAND.
18733 * Makefile.adalib: Likewise.
18734 * Makefile.in: Likewise.
18735
18736 2003-07-04 Matt Kraai <kraai@alumni.cmu.edu>
18737
18738 * misc.c (gnat_argv): Revert last change.
18739 (gnat_handle_option, gnat_init_options): Copy arguments.
18740
18741 2003-07-03 Neil Booth <neil@daikokuya.co.uk>
18742
18743 * misc.c (gnat_argv): Make const.
18744
18745 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
18746
18747 * misc.c (save_argc, save_argv): Keep non-static!
18748
18749 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
18750
18751 * misc.c (save_argc, save_argv): Make static.
18752 (gnat_init_options): New prototype.
18753 (gnat_init_options): Update.
18754
18755 2003-07-01 Matt Kraai <kraai@alumni.cmu.edu>
18756
18757 * gnat_ug.texi: Remove unlikely characters from @vars.
18758 * gnat_ug_vms.texi: Regenerate.
18759
18760 2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
18761
18762 * misc.c (record_code_position): Adjust emit_note call.
18763
18764 2003-06-26 Neil Booth <neil@daikokuya.co.uk>
18765
18766 * misc.c (gnat_handle_option): Don't check for missing arguments.
18767
18768 2003-06-20 Nathan Sidwell <nathan@codesourcery.com>
18769
18770 * utils.c (end_subprog_body): Adjust expand_function_end call.
18771
18772 2003-06-16 Matt Kraai <kraai@alumni.cmu.edu>
18773
18774 * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
18775 Bind_Main_Program.
18776
18777 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
18778
18779 * lang.opt: Declare Ada.
18780 * misc.c (gnat_init_options): Update.
18781
18782 2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
18783
18784 * utils.c (begin_subprog_body): Adjust init_function_start call.
18785
18786 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
18787
18788 * Make-lang.in: Update to use options.c and options.h.
18789 * misc.c: Include options.h not aoptions.h.
18790 (gnat_handle_option): Abort on unrecognized switch.
18791 (gnat_init_options): Request Ada switches.
18792
18793 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
18794
18795 * lang.opt: Add -Wall.
18796 * misc.c (gnat_handle_option): Handle it.
18797
18798 2003-06-12 Neil Booth <neil@daikokuya.co.uk>
18799
18800 * misc.c (gnat_handle_option): Fix warnings.
18801
18802 2003-06-11 Matt Kraai <kraai@alumni.cmu.edu>
18803
18804 * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
18805
18806 2003-06-11 Neil Booth <neil@daikokuya.co.uk>
18807
18808 * Make-lang.in: Update to handle command-line options.
18809 * lang.opt: New file.
18810 * misc.c: Include aoptions.h.
18811 (cl_options_count, cl_options): Remove.
18812 (gnat_handle_option): New.
18813 (gnat_decode_option): Remove.
18814 (LANG_HOOKS_DECODE_OPTION): Remove.
18815 (LANG_HOOKS_HANDLE_OPTION): Override.
18816
18817 2003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
18818
18819 * init.c, misc.c, trans.c, utils.c: Remove dead code.
18820
18821 2003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
18822
18823 * Makefile.in: Replace "host_canonical" with "host" for autoconf
18824 substitution.
18825
18826 2003-06-08 Neil Booth <neil@daikokuya.co.uk>
18827
18828 * Make-lang.in: Update.
18829 * misc.c: Include opts.h. Define cl_options_count and cl_options.
18830
18831 2003-06-07 Neil Booth <neil@daikokuya.co.uk>
18832
18833 * misc.c (gnat_init_options): Update.
18834
18835 2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
18836
18837 * Make-lang.in (ada/b_gnatb.o-warn): Remove.
18838 * bindgen.adb (Gen_Main_C): Mark ensure_reference with
18839 __attribute__ ((__unused__)).
18840
18841 2003-06-05 Jan Hubicka <jh@suse.cz>
18842
18843 * Make-lang.in: Add support for stageprofile and stagefeedback
18844
18845 2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
18846
18847 * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
18848 (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
18849
18850 2003-06-04 Matt Kraai <kraai@alumni.cmu.edu>
18851
18852 * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
18853 Remove non-VMS directive.
18854 (Switches for gnatlbr, Optimization Levels): Remove non-VMS
18855 alternatives.
18856 (Examples of gnatls Usage): Remove VMS alternative.
18857
18858 2003-06-04 Olivier Hainque <hainque@act-europe.fr>
18859
18860 PR ada/9953:
18861 * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
18862 and turn ZCX_By_Default back to False since the underlying support
18863 is not quite there yet.
18864
18865 2003-06-01 Andreas Jaeger <aj@suse.de>
18866
18867 * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
18868 and ROUND_TYPE_SIZE_UNIT.
18869
18870 2003-05-22 Geert Bosch <bosch@gnat.com>
18871
18872 * gnat_rm.texi : Remove reference to Ada Core Technologies.
18873
18874 2003-05-03 Nathan Sidwell <nathan@codesourcery.com>
18875
18876 * trans.c (tree_transform): Use location_t and input_location
18877 directly.
18878 (build_unit_elab): Likewise.
18879 * utils.c (create_label_decl): Likewise.
18880
18881 2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
18882
18883 * trans.c (tree_transform, build_unit_elab,
18884 set_lineno): Rename lineno to input_line.
18885 * utils.c (pushdecl, create_label_decl, begin_subprog_body,
18886 end_subprog_body): Likewise.
18887 * utils2.c (build_call_raise): Likewise.
18888
18889 2003-05-01 Laurent Guerby <guerby@acm.org>
18890
18891 PR ada/10546
18892 * 5iosinte.ads: Increase pthread_cond_t size to match recent
18893 LinuxThread and NPTL version, merge from ACT.
18894
18895 2003-04-28 Zack Weinberg <zack@codesourcery.com>
18896
18897 * utils.c (convert): No need to clear TREE_CST_RTL.
18898
18899 2003-04-23 Geert Bosch <bosch@gnat.com>
18900
18901 * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
18902 1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
18903 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
18904 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
18905 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
18906 4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
18907 4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
18908 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
18909 4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
18910 4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
18911 4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
18912 4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
18913 52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
18914 5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
18915 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
18916 5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
18917 5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
18918 5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
18919 5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
18920 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
18921 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
18922 5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
18923 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
18924 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
18925 5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
18926 5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
18927 5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
18928 5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
18929 5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
18930 5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
18931 5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
18932 5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
18933 5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
18934 5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
18935 5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
18936 5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
18937 5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
18938 5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
18939 5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
18940 5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
18941 5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
18942 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
18943 5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
18944 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
18945 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
18946 7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
18947 7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
18948 9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
18949 a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
18950 a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
18951 a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
18952 a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
18953 a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
18954 a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
18955 a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
18956 a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
18957 a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
18958 a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
18959 a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
18960 a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
18961 a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
18962 a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
18963 a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
18964 a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
18965 a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
18966 a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
18967 a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
18968 a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
18969 a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
18970 a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
18971 a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
18972 a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
18973 a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
18974 a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
18975 a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
18976 a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
18977 a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
18978 a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
18979 a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
18980 a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
18981 a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
18982 a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
18983 a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
18984 a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
18985 a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
18986 a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
18987 a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
18988 a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
18989 a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
18990 a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
18991 a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
18992 a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
18993 a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
18994 a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
18995 a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
18996 a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
18997 a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
18998 a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
18999 a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
19000 a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
19001 a-wttest.ads, ada-tree.h, ada.ads, ada.h,
19002 adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
19003 ali.adb, ali.ads, alloc.ads, argv.c,
19004 atree.adb, atree.ads, atree.h, aux-io.c,
19005 back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
19006 binde.adb, binde.ads, binderr.adb, binderr.ads,
19007 bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
19008 butil.adb, butil.ads, cal.c, calendar.ads,
19009 casing.adb, casing.ads, ceinfo.adb, checks.adb,
19010 checks.ads, cio.c, comperr.adb, comperr.ads,
19011 config-lang.in, csets.adb, csets.ads, csinfo.adb,
19012 cstand.adb, cstand.ads, cuintp.c, debug.adb,
19013 debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
19014 dec-io.ads, dec.ads, deftarg.c, directio.ads,
19015 einfo.adb, einfo.ads, elists.adb, elists.ads,
19016 elists.h, errno.c, errout.adb, errout.ads,
19017 eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
19018 exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
19019 exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
19020 exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
19021 exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
19022 exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
19023 exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
19024 exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
19025 exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
19026 exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
19027 exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
19028 exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
19029 exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
19030 exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
19031 exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
19032 fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
19033 fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
19034 freeze.adb, freeze.ads, frontend.adb, frontend.ads,
19035 g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
19036 g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
19037 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
19038 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
19039 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
19040 g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
19041 g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
19042 g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
19043 g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
19044 g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
19045 g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
19046 g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
19047 g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
19048 g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
19049 g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
19050 g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
19051 g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
19052 g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
19053 g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
19054 g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
19055 g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
19056 g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
19057 get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
19058 gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
19059 gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
19060 gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
19061 gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
19062 gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
19063 gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
19064 gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
19065 hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
19066 i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
19067 i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
19068 i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
19069 i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
19070 i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
19071 i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
19072 inline.adb, inline.ads, interfac.ads, ioexcept.ads,
19073 itypes.adb, itypes.ads, krunch.adb, krunch.ads,
19074 layout.adb, layout.ads, lib-list.adb, lib-load.adb,
19075 lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
19076 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
19077 lib.adb, lib.ads, live.adb, live.ads,
19078 machcode.ads, make.adb, make.ads, makeusg.adb,
19079 makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
19080 mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
19081 memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
19082 mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
19083 mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
19084 mlib.ads, namet.adb, namet.ads, nlists.adb,
19085 nlists.ads, opt.adb, opt.ads, osint-b.adb,
19086 osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
19087 osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
19088 osint.ads, output.adb, output.ads, par-ch10.adb,
19089 par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
19090 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
19091 par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
19092 par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
19093 par-tchk.adb, par-util.adb, par.adb, par.ads,
19094 prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
19095 prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
19096 prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
19097 prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
19098 prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
19099 prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
19100 prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
19101 prj.adb, prj.ads, repinfo.adb, repinfo.ads,
19102 restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
19103 rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
19104 s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
19105 s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
19106 s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
19107 s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
19108 s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
19109 s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
19110 s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
19111 s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
19112 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
19113 s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
19114 s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
19115 s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
19116 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
19117 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
19118 s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
19119 s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
19120 s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
19121 s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
19122 s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
19123 s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
19124 s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
19125 s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
19126 s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
19127 s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
19128 s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
19129 s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
19130 s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
19131 s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
19132 s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
19133 s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
19134 s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
19135 s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
19136 s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
19137 s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
19138 s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
19139 s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
19140 s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
19141 s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
19142 s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
19143 s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
19144 s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
19145 s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
19146 s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
19147 s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
19148 s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
19149 s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
19150 s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
19151 s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
19152 s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
19153 s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
19154 s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
19155 s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
19156 s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
19157 s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
19158 s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
19159 s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
19160 s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
19161 s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
19162 s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
19163 s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
19164 s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
19165 s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
19166 s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
19167 s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
19168 s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
19169 s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
19170 s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
19171 s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
19172 s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
19173 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
19174 s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
19175 s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
19176 s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
19177 s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
19178 s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
19179 s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
19180 s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
19181 s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
19182 s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
19183 s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
19184 s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
19185 s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
19186 s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
19187 s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
19188 s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
19189 s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
19190 s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
19191 s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
19192 s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
19193 s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
19194 s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
19195 s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
19196 s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
19197 scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
19198 sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
19199 sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
19200 sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
19201 sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
19202 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
19203 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
19204 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
19205 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
19206 sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
19207 sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
19208 sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
19209 sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
19210 sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
19211 sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
19212 sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
19213 sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
19214 sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
19215 sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
19216 sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
19217 sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
19218 snames.ads, sprint.adb, sprint.ads, stand.adb,
19219 stand.ads, stringt.adb, stringt.ads, style.adb,
19220 style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
19221 switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
19222 switch-m.ads, switch.adb, switch.ads, system.ads,
19223 table.adb, table.ads, targparm.adb, targparm.ads,
19224 tbuild.adb, tbuild.ads, text_io.ads, trans.c,
19225 tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
19226 tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
19227 ttypef.ads, ttypes.ads, types.adb, types.ads,
19228 uintp.adb, uintp.ads, uname.adb, uname.ads,
19229 unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
19230 usage.adb, usage.ads, validsw.adb, validsw.ads,
19231 widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
19232 xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
19233 xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
19234 formatting and other trivial changes from ACT.
19235
19236 2003-04-12 Zack Weinberg <zack@codesourcery.com>
19237
19238 * gigi.h, utils2.c (build_constructor):
19239 Rename gnat_build_constructor. Use build_constructor.
19240 * decl.c (gnat_to_gnu_entity)
19241 * trans.c (tree_transform, pos_to_constructor, extract_values)
19242 * ada/utils.c (build_template, convert_to_fat_pointer, convert)
19243 (unchecked_convert)
19244 * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
19245 (fill_vms_descriptor):
19246 Update to match.
19247
19248 2003-04-06 Zack Weinberg <zack@codesourcery.com>
19249
19250 * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
19251 * misc.c (gnat_tree_size): New function.
19252 (LANG_HOOKS_TREE_SIZE): Override.
19253
19254 2003-04-03 Jason Merrill <jason@redhat.com>
19255
19256 * misc.c (gnat_adjust_rli): #if 0.
19257
19258 2003-03-31 Geert Bosch <bosch@gnat.com>
19259
19260 PR ada/10020
19261 * link.c : Fix misspelled "const" keyword
19262
19263 2003-03-23 Mark Mitchell <mark@codesourcery.com>
19264
19265 PR c++/7086
19266 * utils2.c: Adjust calls to put_var_into_stack.
19267
19268 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
19269
19270 * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
19271
19272 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
19273
19274 * misc.c (gnat_init): Update for new prototype.
19275
19276 2003-03-05 Olivier Hainque <hainque@gnat.com>
19277
19278 ada/9961
19279 * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
19280 warning, and fix return type for the IN_RTS && !SJLJ case.
19281
19282 2003-03-04 Tom Tromey <tromey@redhat.com>
19283
19284 * Make-lang.in (ada.tags): New target.
19285
19286 2003-03-04 Olivier Hainque <hainque@act-europe.fr>
19287
19288 ada/9911
19289 * a-except.adb (Unwind_RaiseException): Import a GNAT specific
19290 wrapper, which name remains constant whatever underlying GCC
19291 scheme.
19292
19293 * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
19294 the stable interface needed for a-except.
19295
19296 2003-03-02 Andreas Jaeger <aj@suse.de>
19297
19298 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
19299 gnat_ug_wnt.texi: Regenerate.
19300
19301 2003-03-02 Laurent Guerby <guerby@acm.org>
19302
19303 * Makefile.in (install-gnatlib): Match previous change there
19304 so it works.
19305
19306 2003-02-28 Andreas Schwab <schwab@suse.de>
19307
19308 * Make-lang.in (install-gnatlib): Change to ada directory before
19309 running make instead of using ada/Makefile directly.
19310
19311 2003-02-18 Ben Elliston <bje@redhat.com>
19312
19313 Part of fix for PR ada/9406
19314 * gnat_ug.texi (Binder output file): Grammar fix.
19315
19316 2003-02-18 Ben Elliston <bje@redhat.com>
19317
19318 PR other/7350
19319 * 5qtaprop.adb (Sleep): Fix typo in comment.
19320
19321 2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
19322
19323 * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
19324 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
19325 gnat_ug_wnt.texi: Regenerate.
19326
19327 2003-02-03 Christian Cornelssen <ccorn@cs.tu-berlin.de>
19328
19329 * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
19330 be created if necessary.
19331 (ada.install-common): Let $(DESTDIR)$(bindir) be created
19332 if necessary. Remove erroneous and redundant gnatchop
19333 installation commands. Test for gnatdll before attempting
19334 to install it.
19335 (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
19336 and gnatdll from all plausible locations.
19337
19338 2003-02-01 Richard Sandiford <rsandifo@redhat.com>
19339
19340 * utils2.c (build_unary_op): Don't check flag_volatile.
19341 * gnat_ug.texi: Remove -fvolatile from example.
19342 * gnat_ug_vxw.texi: Likewise.
19343
19344 2003-01-29 Laurent Guerby <guerby@acm.org>
19345
19346 PR ada/8344
19347 * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
19348 * Makefile.in: match previous change.
19349 * Make-lang.in: match previous change.
19350
19351 2003-01-29 Joel Sherrill <joel@OARcorp.com>
19352
19353 * 5rosinte.ads: Add SIGXCPU.
19354 * 5rtpopsp.adb: New file.
19355 * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
19356 * Makefile.in: Recognize more RTEMS targets and add the RTEMS
19357 specific file 5rtpopsp.adb.
19358 * adaint.h: Add include of <stdio.h> when target is RTEMS. This
19359 is likely needed for all newlib targets.
19360 * init.c: Add RTEMS specific version of __gnat_initialize().
19361
19362 2003-01-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19363
19364 * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
19365
19366 2003-01-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19367
19368 * init.c (__gnat_error_handler): Make msg const.
19369
19370 * gmem.c (convert_addresses): Move declaration ...
19371 * adaint.h: ... here.
19372 * adaint.c (convert_addresses): Adapt addrs type to match
19373 prototype.
19374
19375 * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
19376
19377 2003-01-24 Andreas Schwab <schwab@suse.de>
19378
19379 * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
19380 size_t to avoid warning.
19381
19382 2003-01-21 Zack Weinberg <zack@codesourcery.com>
19383
19384 * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
19385
19386 2003-01-09 Geoffrey Keating <geoffk@apple.com>
19387
19388 * gnat_rm.texi: Remove RCS version number.
19389
19390 * ada-tree.h (union lang_tree_node): Add chain_next option.
19391
19392 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
19393
19394 * Make-lang.in (ada.install-info, ada.install-common,
19395 ada.uninstall): Prepend $(DESTDIR) to the destination
19396 directory in all (un)installation commands.
19397 * Makefile.in (install-gnatlib, install-rts): Ditto.
19398
19399 2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
19400
19401 * gnat_rm.texi, gnat_ug.texi: Use @copying.
19402 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
19403 gnat_ug_wnt.texi: Regenerate.
19404
19405 2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
19406
19407 * gnat_rm.texi: Include gcc-common.texi. Use GCC version number
19408 only.
19409 * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
19410 $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
19411 $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
19412 ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
19413 ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
19414 $(srcdir)/doc/include/gcc-common.texi.
19415
19416 2002-12-15 Geert Bosch <bosch@gnat.com>
19417
19418 * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
19419
19420 2002-12-14 Geert Bosch <bosch@gnat.com>
19421
19422 * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
19423 case of a body created for a Renaming_As_Body, on which
19424 conformance checks are not performed. Fixes PR ada/5690.
19425
19426 2002-11-30 Zack Weinberg <zack@codesourcery.com>
19427
19428 * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
19429 utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
19430 not already included.
19431 * Make-lang.in: Update dependencies.
19432
19433 2002-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
19434 * adaint.c (__gnat_tmp_name): Better, but good enough for now,
19435 solution to buffer overflow bug on GNU/Linux.
19436
19437 2002-11-14 Nathanael Nerode <neroden@gcc.gnu.org>
19438 Closes PR ada/5856 and PR ada/6919 !
19439 * bindgen.adb: Remove all references to Public_Version.
19440 * comperr.adb: Remove all references to Public_Version and
19441 GNATPRO_Version; correct bug reporting instructions.
19442 * comperr.ads: Change to match bug box.
19443 * gnatvsn.ads: Remove all references to Public version and
19444 GNATPRO version.
19445
19446 2002-11-13 Nathanael Nerode <neroden@gcc.gnu.org>
19447 PR ada/6919
19448 * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
19449 GNU/Linux.
19450
19451 PR ada/6558
19452 * config-lang.in: Remove diff_excludes.
19453
19454 2002-11-05 Graham Stott <graham.stott@btinternet.com>
19455 PR ada/8358
19456 * trans.c (gnu_pending_elaboration_lists): New GC root.
19457 (build_unit_elab): Use..
19458
19459 2002-10-30 Geert Bosch <bosch@gnat.com>
19460 PR ada/6558
19461 * misc.c : Include optabs.h
19462
19463 * Make-lang.in (misc.o): Add dependency on optabs.h
19464
19465 2002-10-29 Geert Bosch <bosch@gnat.com>
19466 PR ada/6558
19467 * Make-lang.in (gnatbind): Depend on CONFIG_H
19468
19469 2002-10-29 Geert bosch <bosch@gnat.com>
19470 PR ada/6558
19471 * misc.c: Unrevert misc.c (1.13)
19472
19473 2002-10-28 Nathanael Nerode <neroden@gcc.gnu.org>
19474
19475 * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
19476 maintainership comments.
19477
19478 2002-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
19479 PR ada/5904
19480 * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
19481 5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
19482 5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
19483 7staprop.adb: Correct statements in comments about
19484 maintainership of GNAT.
19485
19486 PR ada/5904
19487 * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
19488 gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
19489 osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
19490 osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
19491 s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
19492 s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
19493 sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
19494 switch-c.ads switch-m.adb switch-m.ads: Correct statements in
19495 comments about maintainership of GNAT.
19496
19497 PR ada/6919 (forward port of patch for PR ada/5904)
19498 * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
19499 4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
19500 4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
19501 4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
19502 4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
19503 4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
19504 4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
19505 52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
19506 5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
19507 5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
19508 5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
19509 5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
19510 5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
19511 5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
19512 5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
19513 5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
19514 5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
19515 5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
19516 5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
19517 5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
19518 5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
19519 5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
19520 5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
19521 5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
19522 5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
19523 5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
19524 5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
19525 5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
19526 7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
19527 a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
19528 a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
19529 a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
19530 a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
19531 a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
19532 a-except.adb a-except.ads a-excpol.adb a-exctra.adb
19533 a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
19534 a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
19535 a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
19536 a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
19537 a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
19538 a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
19539 a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
19540 a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
19541 a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
19542 a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
19543 a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
19544 a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
19545 a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
19546 a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
19547 a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
19548 a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
19549 a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
19550 a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
19551 a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
19552 a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
19553 a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
19554 a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
19555 a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
19556 a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
19557 a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
19558 a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
19559 a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
19560 a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
19561 a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
19562 a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
19563 a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
19564 a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
19565 a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
19566 adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
19567 alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
19568 back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
19569 binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
19570 bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
19571 ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
19572 csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
19573 cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
19574 debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
19575 einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
19576 errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
19577 exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
19578 exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
19579 exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
19580 exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
19581 exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
19582 exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
19583 exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
19584 exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
19585 exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
19586 exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
19587 exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
19588 exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
19589 exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
19590 final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
19591 fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
19592 freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
19593 g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
19594 g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
19595 gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
19596 gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
19597 gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
19598 gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
19599 gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
19600 gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
19601 i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
19602 i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
19603 i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
19604 i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
19605 impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
19606 itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
19607 lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
19608 lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
19609 lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
19610 lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
19611 makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
19612 namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
19613 nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
19614 osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
19615 par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
19616 par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
19617 par-endh.adb par-labl.adb par-load.adb par-prag.adb
19618 par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
19619 prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
19620 prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
19621 prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
19622 prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
19623 prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
19624 prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
19625 repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
19626 rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
19627 s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
19628 s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
19629 s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
19630 s-direio.adb s-direio.ads s-except.ads s-exctab.adb
19631 s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
19632 s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
19633 s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
19634 s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
19635 s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
19636 s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
19637 s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
19638 s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
19639 s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
19640 s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
19641 s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
19642 s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
19643 s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
19644 s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
19645 s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
19646 s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
19647 s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
19648 s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
19649 s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
19650 s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
19651 s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
19652 s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
19653 s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
19654 s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
19655 s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
19656 s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
19657 s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
19658 s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
19659 s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
19660 s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
19661 s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
19662 s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
19663 s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
19664 s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
19665 s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
19666 s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
19667 s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
19668 s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
19669 s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
19670 s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
19671 s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
19672 s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
19673 s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
19674 s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
19675 s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
19676 s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
19677 s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
19678 s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
19679 s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
19680 s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
19681 s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
19682 s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
19683 s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
19684 s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
19685 s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
19686 s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
19687 s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
19688 s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
19689 s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
19690 s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
19691 s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
19692 s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
19693 s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
19694 s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
19695 s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
19696 s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
19697 s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
19698 s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
19699 s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
19700 s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
19701 s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
19702 s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
19703 s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
19704 s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
19705 s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
19706 s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
19707 s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
19708 s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
19709 scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
19710 sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
19711 sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
19712 sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
19713 sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
19714 sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
19715 sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
19716 sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
19717 sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
19718 sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
19719 sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
19720 sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
19721 sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
19722 sem_type.adb sem_type.ads sem_util.adb sem_util.ads
19723 sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
19724 sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
19725 sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
19726 sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
19727 snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
19728 stringt.ads stringt.h style.adb style.ads stylesw.adb
19729 stylesw.ads switch.adb switch.ads sysdep.c system.ads
19730 table.adb table.ads targparm.adb targparm.ads targtyps.c
19731 tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
19732 tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
19733 treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
19734 types.adb types.ads types.h uintp.adb uintp.ads uintp.h
19735 uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
19736 usage.ads utils.c utils2.c validsw.adb validsw.ads
19737 widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
19738 xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
19739 xtreeprs.adb: Correct statements in comments about maintainership
19740 of GNAT.
19741
19742 2002-09-23 Zack Weinberg <zack@codesourcery.com>
19743
19744 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
19745 * Makefile.in (TOOLS_LIBS): Add ../../version.o.
19746 * gnatvsn.ads: Gnat_Version_String is now a function.
19747 * gnatvsn.adb: New file. When asked for Gnat_Version_String,
19748 copy the C version_string into a String and return it.
19749 * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
19750 gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
19751 Remove pragma Ident (Gnat_Version_String). If this was the
19752 sole use of package Gnatvsn, remove the with statement too.
19753 * gnat1drv.adb: Tweak -gnatv output.
19754
19755 2002-09-17 Richard Henderson <rth@redhat.com>
19756
19757 * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
19758 * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
19759 * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
19760 (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
19761 * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
19762 and real_2expN instead of a loop.
19763 * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
19764 (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
19765
19766 2002-08-25 Andre Leis <a.leis@gmx.net>
19767 David Billinghurst (David.Billinghurst@riotinto.com>
19768
19769 * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
19770
19771 2002-08-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19772
19773 * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
19774 Remove $(CONFIG_H) dependency.
19775
19776 2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
19777
19778 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
19779
19780 2002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19781
19782 * adadecode.c (ada_demangle): Use xstrdup in lieu of
19783 xmalloc/strcpy.
19784 * misc.c (gnat_decode_option): Likewise.
19785
19786 2002-07-15 Florian Weimer <fw@deneb.enyo.de>
19787
19788 * make.adb (Add_Switch): Make Generic_Position a procedure. The
19789 function approach did not work well because of a side effect (the
19790 function call could reallocate the table which was being indexed
19791 using its result). Fixes ada/4851. [RESURRECTED]
19792
19793 2002-07-01 Roger Sayle <roger@eyesopen.com>
19794
19795 * ada/utils.c (builtin_function): Accept an additional parameter.
19796
19797 2002-06-28 Andreas Jaeger <aj@suse.de>
19798
19799 PR ada/7144
19800 * Makefile.in: Fix typo in comment, patch by Adrian Knoth
19801 <adi@thur.de>.
19802
19803 2002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19804
19805 * Makefile.in (SHELL): Set to @SHELL@.
19806
19807 2002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19808
19809 * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
19810 array size calculation.
19811
19812 2002-06-04 Andreas Jaeger <aj@suse.de>
19813
19814 * Make-lang.in (gnatbind): Readd rule that has been lost in last
19815 patch.
19816
19817 2002-06-03 Geoffrey Keating <geoffk@redhat.com>
19818
19819 Merge from pch-branch:
19820
19821 * config-lang.in (gtfiles): Add ada-tree.h.
19822 * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
19823 (SET_TYPE_MODULUS): New.
19824 (SET_TYPE_INDEX): New.
19825 (SET_TYPE_DIGITS_VALUE): New.
19826 (SET_TYPE_RM_SIZE): New.
19827 (SET_TYPE_UNCONSTRAINED_ARRAY): New.
19828 (SET_TYPE_ADA_SIZE): New.
19829 (SET_TYPE_ACTUAL_BOUNDS): New.
19830 (SET_DECL_CONST_CORRESPONDING_VAR): New.
19831 (SET_DECL_ORIGINAL_FIELD): New.
19832 (TREE_LOOP_ID): Correct typo.
19833 * decl.c: Use new macros.
19834 * utils.c: Include debug.h, use new macros.
19835 * utils2.c: Use new macros.
19836
19837 * ada-tree.h: Update all macros for new tree description.
19838 (struct tree_loop_id): New.
19839 (union lang_tree_node): New.
19840 (struct lang_decl): New.
19841 (struct lang_type): New.
19842 * misc.c (gnat_mark_tree): Delete.
19843 (LANG_HOOKS_MARK_TREE): Delete.
19844 * trans.c (tree_transform): No longer any need to cast
19845 for TREE_LOOP_ID.
19846
19847 * utils.c (struct language_function): New dummy structure.
19848
19849 * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
19850 (misc.o): Likewise.
19851 (utils.o): Likewise; also gtype-ada.h.
19852 * Make-lang.in (gnat1): Add dependency on s-gtype.
19853 (gnatbind): Add dependency on $(CONFIG_H).
19854 * utils.c: Correct last #include.
19855 (stuct e_stack): Remove unnecessary 'static'.
19856 (mark_e_stack): Remove unused prototype.
19857
19858 * scn-nlit.adb: Remove whitespace after version number to
19859 keep lines under 80 chars.
19860 * snames.adb: Likewise.
19861 * treepr.ads: Likewise.
19862
19863 * Makefile.in (decl.o): Include gt-ada-<filename>.h.
19864 (misc.o): Likewise.
19865 (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
19866 * config-lang.in (gtfiles): New.
19867 * decl.c: Use gengtype for roots.
19868 * gigi.h: Use gengtype for roots.
19869 * trans.c: Use gengtype for roots.
19870 * utils.c: Use gengtype for roots, marking. Include gtype-ada.h.
19871
19872 2002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
19873
19874 * misc.c (gnat_init): Adjust setting of internal_error_function.
19875
19876 2002-06-01 Joseph S. Myers <jsm28@cam.ac.uk>
19877
19878 * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
19879 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
19880 gnat_ug_wnt.texi: Regenerate.
19881
19882 2002-05-31 Florian Weimer <fw@deneb.enyo.de>
19883
19884 * 5ntaprop.adb (with System.OS_Primitives): Remove.
19885
19886 * cstreams.c (max_path_len): Move from here ...
19887 * adaint.c (__gnat_max_path_len): ... to here.
19888 * adaint.c (__gnat_max_path_len): Declare.
19889 * g-dirope.adb (Max_Path): Adjust.
19890 * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
19891 * i-cstrea.ads (max_path_len): Adjust.
19892 * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
19893 * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
19894
19895 * Makefile.in, Make-lang.in: Documentation is now built in
19896 Make-lang.in. Store Info and generated Texinfo files in the
19897 source directory.
19898 * gnat_ug.texi: Remove CVS keywords, correct version number.
19899 Set file name correctly.
19900
19901 * gnat_ug_*.texi: Add.
19902 * .cvsignore: Ignore generated Texinfo files.
19903
19904 2002-05-30 Zack Weinberg <zack@codesourcery.com>
19905
19906 * ada.h: Add MI guard macro.
19907 (SUBTYPE): Define constants with an anonymous enum, not static
19908 const variables.
19909 (IN): Cast constants to appropriate type before use.
19910
19911 2002-05-26 Joseph S. Myers <jsm28@cam.ac.uk>
19912
19913 * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
19914 (experimental)".
19915
19916 2002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19917
19918 * Make-lang.in (CP, ECHO): Copy from Makefile.in.
19919 (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
19920 (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
19921 (ALL_ADA_CFLAGS): Likewise.
19922 (ADA_INCLUDES): Likewise.
19923 Adapt for new working dir.
19924 (GNATBIND): Use Makefile.in version.
19925 (.SUFFIXES): Copy from Makefile.in.
19926 (ada-warn): Define.
19927 (.adb.o, .ads.o): Copy from Makefile.in.
19928 Added $(OUTPUT_OPTION).
19929 (GNAT1_C_OBJS): Moved from Makefile.in.
19930 Prefix with ada subdir.
19931 (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
19932 (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
19933 Adapt for new working dir.
19934 (EXTRA_GNATBIND_OBJS): Likewise.
19935 (ADA_BACKEND): Moved from Makefile.in.
19936 Renamed to avoid conflict with global BACKEND.
19937 Use that one.
19938 (TARGET_ADA_SRCS): Moved from Makefile.in.
19939 (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
19940 Use ADA_BACKEND.
19941 (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
19942 (ada_extra_files): Moved from Makefile.in.
19943 Prefix with ada subdir.
19944 (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
19945 (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
19946 (ada/nmake.ads): Likewise.
19947 (update-sources): Moved from Makefile.in.
19948 Prefix with ada subdir.
19949 (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
19950 (ADA_TREE_H): Likewise.
19951 (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
19952 (ada/memtrack.o): Likewise.
19953 (ada/adadecode.o): Likewise.
19954 Update dependencies.
19955 (ada/adaint.o): New.
19956 (ada/argv.o): Moved from Makefile.in.
19957 Prefix with ada subdir.
19958 Update dependencies.
19959 (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
19960 (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
19961 (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
19962 Prefix with ada subdir.
19963 (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
19964 (GNAT DEPENDENCIES): Regenerate.
19965 * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
19966 toplevel Makefile.in.
19967 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
19968 (TARGET_ADA_SRCS): Removed.
19969 (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
19970 (GNATBIND_OBJS): Likewise.
19971 (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
19972 (BACKEND): Removed.
19973 (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
19974 (TREE_H): Likewise.
19975 (ada_extra_files): Likewise.
19976 (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
19977 (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
19978 (update-sources): Likewise.
19979 (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
19980 (ADA_TREE_H): Likewise.
19981 (adadecoce.o): Likewise.
19982 (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
19983 (GNAT DEPENDENCIES): Likewise.
19984
19985 2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19986
19987 * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
19988 * Makefile.in: Likewise.
19989
19990 2002-05-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19991
19992 * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
19993 Restore $(CONFIG_H) and prefix.o dependencies.
19994 (ada.stage[1-4]): Depend on stage?-start.
19995
19996 * Makefile.in (b_gnatb.c): Depend on interfac.o.
19997
19998 2002-05-02 Jim Wilson <wilson@redhat.com>
19999
20000 * utils.c (finish_record_type): Change record_size to record_type.
20001
20002 2001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
20003
20004 * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
20005 (ALL_ADA_CFLAGS): Define. Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
20006 ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
20007
20008 2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
20009
20010 * misc.c (gnat_parse_file): Update.
20011
20012 2002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
20013
20014 * misc.c (gnat_init): Don't set lang_attribute_common.
20015
20016 2002-04-21 Joseph S. Myers <jsm28@cam.ac.uk>
20017
20018 * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
20019
20020 2002-04-21 Florian Weimer <fw@deneb.enyo.de>
20021
20022 * gnat_ug.texi: New file.
20023
20024 * gnat_rm.texi: Do not include texiplus.texi. Include fdl.texi
20025 instead of gfdl.texi
20026
20027 * xgnatug.adb, ug_words: New files.
20028
20029 * Makefile.in (doc, dvi): New targets. Build gnat_ug_*,
20030 gnat_rm and gnat-style manuals.
20031
20032 2002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
20033
20034 * gigi.h (incomplete_type_error): Remove.
20035 * utils.c (incomplete_type_error): Remove.
20036
20037 2002-04-16 Mark Mitchell <mark@codesourcery.com>
20038
20039 * trans.c (tree_transform): Add has_scope argument to
20040 expand_start_stmt_expr.
20041
20042 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
20043
20044 * gigi.h (truthvalue_conversion): Rename.
20045 * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
20046 * trans.c (tree_transform): Update.
20047 * utils2.c (truthvalue_conversion): Rename, update.
20048 (build_binary_op, build_unary_op): Update.
20049
20050 2002-04-04 Laurent Guerby <guerby@acm.org>
20051
20052 * make.adb: Implement -margs, remove restriction about file name placement.
20053 * makeusg.adb: Documentation update.
20054 * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
20055 * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
20056
20057 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
20058
20059 * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
20060 (builtin_function): Similarly.
20061
20062 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
20063
20064 * decl.c (gnat_to_gnu_entity): Update.
20065 * gigi.h (mark_addressable): Rename.
20066 * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
20067 * trans.c (tree_transform): Update.
20068 * utils.c (create_var_decl): Update.
20069 * util2.c (build_binary_op, build_unary_op,
20070 fill_vms_descriptor): Update.
20071 (mark_addressable): Rename, update.
20072
20073 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
20074
20075 * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
20076 Rename.
20077 * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
20078 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
20079 * trans.c (tree_transform, convert_with_check): Update.
20080 * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
20081 Rename.
20082
20083 2002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
20084
20085 * gigi.h (finish_incomplete_decl): Rename.
20086 * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
20087 * utils.c (gnat_init_decl_processing): Don't set hook.
20088 (finish_incomplete_decl): Rename.
20089
20090 2002-03-29 Andreas Schwab <schwab@suse.de>
20091
20092 * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
20093 directory.
20094
20095 2001-03-28 Robert Dewar <dewar@gnat.com>
20096
20097 * checks.ads:
20098 (Remove_Checks): New procedure
20099
20100 * checks.adb:
20101 (Remove_Checks): New procedure
20102
20103 * exp_util.adb:
20104 Use new Duplicate_Subexpr functions
20105 (Duplicate_Subexpr_No_Checks): New procedure
20106 (Duplicate_Subexpr_No_Checks_Orig): New procedure
20107 (Duplicate_Subexpr): Restore original form (checks duplicated)
20108 (Duplicate_Subexpr): Call Remove_Checks
20109
20110 * exp_util.ads:
20111 (Duplicate_Subexpr_No_Checks): New procedure
20112 (Duplicate_Subexpr_No_Checks_Orig): New procedure
20113 Add 2002 to copyright notice
20114
20115 * sem_util.adb: Use new Duplicate_Subexpr functions
20116
20117 * sem_eval.adb:
20118 (Eval_Indexed_Component): This is the place to call
20119 Constant_Array_Ref and to replace the value. We simply merge
20120 the code of this function in here, since it is now no longer
20121 used elsewhere. This fixes the problem of the back end not
20122 realizing we were clever enough to see that this was
20123 constant.
20124 (Expr_Val): Remove call to Constant_Array_Ref
20125 (Expr_Rep_Val): Remove call to Constant_Array_Ref
20126 Minor reformatting
20127 (Constant_Array_Ref): Deal with string literals (patch
20128 suggested by Zack Weinberg on the gcc list)
20129
20130 2001-03-28 Ed Schonberg <schonber@gnat.com>
20131
20132 * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
20133 Duplicate_Subexpr_Move_Checks.
20134
20135 * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
20136 Duplicate_Subexpr_Move_Checks.
20137
20138 * sem_eval.adb: (Constant_Array_Ref): Verify that constant
20139 value of array exists before retrieving it (it may a private
20140 protected component in a function).
20141
20142 2002-03-28 Geert Bosch <bosch@gnat.com>
20143
20144 * prj-pp.adb : New file.
20145
20146 * prj-pp.ads : New file.
20147
20148 2002-03-28 Andreas Jaeger <aj@suse.de>
20149
20150 * Makefile.in (stamp-sdefault): Fix path for Makefile.
20151
20152 2002-03-28 Neil Booth <neil@daikokuya.demon.co.uk>
20153
20154 * misc.c (gnat_expand_expr): Move prototype.
20155
20156 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
20157
20158 * misc.c (insert_default_attributes): Remove.
20159
20160 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
20161
20162 * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
20163 (gnat_init): Don't set hook.
20164 (gnat_expand_expr): Fix prototype.
20165
20166 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
20167
20168 * misc.c (ggc_p): Remove.
20169
20170 2002-03-27 Geert Bosch <bosch@gnat.com>
20171
20172 * prj-makr.ads, prj-makr.adb : New files.
20173
20174 2002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
20175
20176 * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
20177 (lang_mark_tree): Make static, rename.
20178
20179 2002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
20180
20181 * misc.c (maybe_build_cleanup): Remove.
20182
20183 2002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
20184
20185 * gigi.h (yyparse): Remove.
20186
20187 2002-03-23 Florian Weimer <fw@deneb.enyo.de>
20188
20189 * gnat_rm.texi: Sync with ACT version.
20190 (From Ben Brosgol <brosgol@gnat.com>)
20191
20192 2002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
20193
20194 * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
20195 (gnat_init): Remove old hook.
20196
20197 2002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
20198
20199 * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
20200 (yyparse): Rename gnat_parse_file.
20201
20202 2002-03-14 Geoffrey Keating <geoffk@redhat.com>
20203
20204 Delete all lines containing "$Revision:".
20205 * xeinfo.adb: Don't look for revision numbers.
20206 * xnmake.adb: Likewise.
20207 * xsinfo.adb: Likewise.
20208 * xsnames.adb: Likewise.
20209 * xtreeprs.adb: Likewise.
20210
20211 2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20212
20213 * misc.c (gnat_tree_code_type, gnat_tree_code_length,
20214 gnat_tree_code_name): Delete.
20215 (tree_code_type, tree_code_length, tree_code_name): Define.
20216 (gnat_init): Don't try to copy into the various tree_code
20217 arrays.
20218
20219 2002-03-11 Richard Henderson <rth@redhat.com>
20220
20221 * Makefile.in (.NOTPARALLEL): Add fake tag.
20222
20223 2002-03-07 Geert Bosch <bosch@gnat.com>
20224
20225 * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
20226 s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
20227 switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
20228 switch-m.adb, switch-m.ads : New files.
20229
20230 2002-03-07 Geert Bosch <bosch@gnat.com>
20231
20232 * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
20233 4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
20234 4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
20235 4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
20236 5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
20237 5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
20238 5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
20239 5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
20240 5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
20241 5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
20242 5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
20243 5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
20244 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
20245 5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
20246 5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
20247 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
20248 5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
20249 5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
20250 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
20251 5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
20252 7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
20253 Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
20254 a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
20255 a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
20256 a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
20257 a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
20258 a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
20259 a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
20260 a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
20261 adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
20262 atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
20263 bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
20264 csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
20265 einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
20266 eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
20267 exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
20268 exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
20269 exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
20270 exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
20271 exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
20272 expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
20273 freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
20274 g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
20275 g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
20276 g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
20277 g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
20278 g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
20279 g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
20280 gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
20281 gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
20282 gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
20283 i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
20284 impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
20285 lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
20286 lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
20287 memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
20288 mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
20289 nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
20290 output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
20291 par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
20292 prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
20293 prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
20294 prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
20295 rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
20296 s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
20297 s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
20298 s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
20299 s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
20300 s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
20301 s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
20302 s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
20303 s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
20304 s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
20305 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
20306 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
20307 s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
20308 s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
20309 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
20310 s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
20311 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
20312 sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
20313 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
20314 sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
20315 sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
20316 sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
20317 sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
20318 sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
20319 sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
20320 sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
20321 snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
20322 stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
20323 table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
20324 tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
20325 treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
20326 types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
20327 utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
20328 xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
20329
20330 * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
20331 g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
20332 mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
20333 osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
20334
20335 * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
20336 5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
20337
20338 * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
20339 to mdll-fil.ad[bs] and mdll-util.ad[bs]
20340
20341 * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
20342 from mdllfile.ad[bs] and mdlltool.ad[bs]
20343
20344 2002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20345
20346 * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
20347 lieu of explicit sizeof/sizeof.
20348
20349 2002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
20350
20351 * misc.c (copy_lang_decl): Remove.
20352
20353 2002-02-27 Zack Weinberg <zack@codesourcery.com>
20354
20355 * misc.c: Delete traditional-mode-related code copied from the
20356 C front end but not used, or used only to permit the compiler
20357 to link.
20358
20359 2002-02-07 Richard Henderson <rth@redhat.com>
20360
20361 * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
20362 * adaint.h (__gnat_to_gm_time): Update prototype.
20363
20364 2002-01-30 Richard Henderson <rth@redhat.com>
20365
20366 * trans.c (tree_transform) [N_Loop_Statement]: Use
20367 expand_exit_loop_top_cond.
20368
20369 2001-12-23 Richard Henderson <rth@redhat.com>
20370
20371 * utils.c (end_subprog_body): Push GC context around
20372 rest_of_compilation for nested functions.
20373
20374 2001-12-23 Richard Henderson <rth@redhat.com>
20375
20376 * 5nosinte.ads: Get definition of "int" from Interfaces.C.
20377
20378 2001-12-23 Florian Weimer <fw@deneb.enyo.de>
20379
20380 * gnat-style.texi (Declarations and Types): Remove ancient style
20381 rule which was mandated by code generation issues.
20382
20383 * gnat-style.texi (header): Add @dircategory, @direntry.
20384 (title page): Remove date.
20385 (general) Add @./@: where approriate, and two spaces after the
20386 full stop at the end of a sentence. Use @samp markup when
20387 referring concrete lexical entities (keywords, attribute names
20388 etc.), and @syntax for ARM grammar elements. Use @r for English
20389 text in comments. Use @emph for emphasis. Change "if-statements"
20390 etc. to "if statements" (without @samp). Break long lines. Make
20391 casing of section names consistent.
20392 (Identifiers): Use @samp markup for variable names.
20393 (Comments): Use @samp markup for comment characters. Line-end
20394 comments may follow any Ada code, not just statements. Fix
20395 misspelling of "Integer" as "integer".
20396 (Loop statements): Do not use variable name "I", use "J".
20397 (Subprogram Declarations): Document alignment.
20398 (Subprogram Bodies, Block statements): Document empty line before
20399 "begin".
20400
20401 2001-12-22 Florian Weimer <fw@deneb.enyo.de>
20402
20403 * make.adb (Add_Switch): Make Generic_Position a procedure. The
20404 function approach did not work well because of a side effect (the
20405 function call could reallocate the table which was being indexed
20406 using its result). Fixes ada/4851.
20407
20408 2001-12-19 Robert Dewar <dewar@gnat.com>
20409
20410 * bindgen.adb: Minor reformatting
20411
20412 * cstand.adb: Minor reformatting
20413
20414 * fmap.adb: Minor reformatting
20415 Change name from Add for Add_To_File_Map (Add is much too generic)
20416 Change Path_Name_Of to Mapped_Path_Name
20417 Change File_Name_Of to Mapped_File_Name
20418 Fix copyright dates in header
20419
20420 * fmap.ads:
20421 Change name from Add for Add_To_File_Map (Add is much too generic)
20422 Change Path_Name_Of to Mapped_Path_Name
20423 Change File_Name_Of to Mapped_File_Name
20424 Fix copyright dates in header
20425
20426 * fname-uf.adb: Minor reformatting. New names of stuff in Fmap.
20427 Add use clause for Fmap.
20428
20429 * make.adb: Minor reformatting
20430
20431 * osint.adb: Minor reformatting. Change of names in Fmap.
20432 Add use clause for Fmap.
20433
20434 * prj-env.adb: Minor reformatting
20435
20436 * prj-env.ads: Minor reformatting
20437
20438 * switch.adb: Minor reformatting. Do proper raise of Bad_Switch if
20439 error found (there were odd exceptions to this general rule in
20440 -gnatec/-gnatem processing)
20441
20442 2001-12-19 Olivier Hainque <hainque@gnat.com>
20443
20444 * raise.c (__gnat_eh_personality): Exception handling personality
20445 routine for Ada. Still in rough state, inspired from the C++ version
20446 and still containing a bunch of debugging artifacts.
20447 (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
20448 inspired from the C++ library.
20449
20450 * raise.c (eh_personality): Add comments. Part of work for the GCC 3
20451 exception handling integration.
20452
20453 2001-12-19 Arnaud Charlet <charlet@gnat.com>
20454
20455 * Makefile.in: Remove use of 5smastop.adb which is obsolete.
20456 (HIE_SOURCES): Add s-secsta.ad{s,b}.
20457 (HIE_OBJS): Add s-fat*.o
20458 (RAVEN_SOURCES): Remove files that are no longer required. Add
20459 interrupt handling files.
20460 (RAVEN_MOD): Removed, no longer needed.
20461
20462 2001-12-19 Robert Dewar <dewar@gnat.com>
20463
20464 * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
20465 Add 2001 to copyright date
20466
20467 * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
20468 need to force universal inlining for these cases.
20469
20470 2001-12-19 Arnaud Charlet <charlet@gnat.com>
20471
20472 * s-taprob.adb: Minor clean ups so that this unit can be used in
20473 Ravenscar HI.
20474
20475 * exp_ch7.adb: Allow use of secondary stack in HI mode.
20476 Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
20477
20478 2001-12-19 Vincent Celier <celier@gnat.com>
20479
20480 * prj-tree.ads (Project_Node_Record): Add comments for components
20481 Pkg_Id and Case_Insensitive.
20482
20483 2001-12-19 Pascal Obry <obry@gnat.com>
20484
20485 * g-socket.adb: Minor reformatting. Found while reading code.
20486
20487 2001-12-19 Robert Dewar <dewar@gnat.com>
20488
20489 * prj-tree.ads: Minor reformatting
20490
20491 2001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
20492
20493 * config-lang.in (diff_excludes): Remove.
20494
20495 2001-12-17 Ed Schonberg <schonber@gnat.com>
20496
20497 * sem_res.adb (Resolve_Selected_Component): do not generate a
20498 discriminant check if the selected component is a component of
20499 the argument of an initialization procedure.
20500
20501 * trans.c (tree_transform, case of arithmetic operators): If result
20502 type is private, the gnu_type is the base type of the full view,
20503 given that the full view itself may be a subtype.
20504
20505 2001-12-17 Robert Dewar <dewar@gnat.com>
20506
20507 * sem_res.adb: Minor reformatting
20508
20509 * trans.c (tree_transform, case N_Real_Literal): Add missing third
20510 parameter in call to Machine (unknown horrible effects from this
20511 omission).
20512
20513 * urealp.h: Add definition of Round_Even for call to Machine
20514 Add third parameter for Machine
20515
20516 2001-12-17 Ed Schonberg <schonber@gnat.com>
20517
20518 * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
20519 predefined units in No_Run_Time mode.
20520
20521 2001-12-17 Richard Kenner <kenner@gnat.com>
20522
20523 * misc.c (insn-codes.h): Now include.
20524
20525 2001-12-17 Olivier Hainque <hainque@gnat.com>
20526
20527 * a-except.adb: Preparation work for future integration of the GCC 3
20528 exception handling mechanism
20529 (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
20530 to factorize previous code sequences and make them externally callable,
20531 e.g. for the Ada personality routine when the GCC 3 mechanism is used.
20532 (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
20533 Use the new notification routines.
20534
20535 2001-12-17 Emmanuel Briot <briot@gnat.com>
20536
20537 * prj-tree.ads (First_Choice_Of): Document the when others case
20538
20539 2001-12-17 Arnaud Charlet <charlet@gnat.com>
20540
20541 * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
20542 HI-E mode, in order to support Ravenscar profile properly.
20543
20544 * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
20545 mode on 32 bits targets.
20546
20547 2001-12-17 Vincent Celier <celier@gnat.com>
20548
20549 * fmap.adb: Initial version.
20550
20551 * fmap.ads: Initial version.
20552
20553 * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
20554 If search is successfully done, add to mapping.
20555
20556 * frontend.adb: Initialize the mapping if a -gnatem switch was used.
20557
20558 * make.adb:
20559 (Gnatmake): Add new local variable Mapping_File_Name.
20560 Create mapping file when using project file(s).
20561 Delete mapping file before exiting.
20562
20563 * opt.ads (Mapping_File_Name): New variable
20564
20565 * osint.adb (Find_File): Use path name found in mapping, if any.
20566
20567 * prj-env.adb (Create_Mapping_File): New procedure
20568
20569 * prj-env.ads (Create_Mapping_File): New procedure.
20570
20571 * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
20572 (Mapping_File)
20573
20574 * usage.adb: Add entry for new switch -gnatem.
20575
20576 * Makefile.in: Add dependencies for fmap.o.
20577
20578 2001-12-17 Ed Schonberg <schonber@gnat.com>
20579
20580 * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
20581 is a package instantiation rewritten as a package body.
20582 (Install_Withed_Unit): Undo previous change, now redundant.
20583
20584 2001-12-17 Gary Dismukes <dismukes@gnat.com>
20585
20586 * layout.adb:
20587 (Compute_Length): Move conversion to Unsigned to callers.
20588 (Get_Max_Size): Convert Len expression to Unsigned after calls to
20589 Compute_Length and Determine_Range.
20590 (Layout_Array_Type): Convert Len expression to Unsigned after calls to
20591 Compute_Length and Determine_Range.
20592 Above changes fix problem with length computation for supernull arrays
20593 where Max (Len, 0) wasn't getting applied due to the Unsigned
20594 conversion used by Compute_Length.
20595
20596 2001-12-17 Arnaud Charlet <charlet@gnat.com>
20597
20598 * rtsfind.ads:
20599 (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
20600 System.Secondary_Stack.
20601 (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
20602 in HI-E mode.
20603 Remove unused entity RE_Exception_Data.
20604
20605 * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
20606
20607 * rident.ads (No_Secondary_Stack): New restriction.
20608
20609 2001-12-17 Joel Brobecker <brobecke@gnat.com>
20610
20611 * gnat_rm.texi: Fix minor typos. Found while reading the section
20612 regarding "Bit_Order Clauses" that was sent to a customer.
20613 Very interesting documentation!
20614
20615 2001-12-17 Robert Dewar <dewar@gnat.com>
20616
20617 * sem_case.adb (Choice_Image): Avoid creating improper character
20618 literal names by using the routine Set_Character_Literal_Name. This
20619 fixes bombs in certain error message cases.
20620
20621 2001-12-17 Arnaud Charlet <charlet@gnat.com>
20622
20623 * a-reatim.adb: Minor reformatting.
20624
20625 2001-12-17 Ed Schonberg <schonber@gnat.com>
20626
20627 * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
20628 case where the formal is an extension of another formal in the current
20629 unit or in a parent generic unit.
20630
20631 2001-12-17 Arnaud Charlet <charlet@gnat.com>
20632
20633 * s-tposen.adb: Update comments. Minor reformatting.
20634 Minor code clean up.
20635
20636 * s-tarest.adb: Update comments. Minor code reorganization.
20637
20638 2001-12-17 Gary Dismukes <dismukes@gnat.com>
20639
20640 * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
20641 when Java_VM.
20642
20643 2001-12-17 Robert Dewar <dewar@gnat.com>
20644
20645 * exp_attr.adb: Minor reformatting
20646
20647 2001-12-17 Ed Schonberg <schonber@gnat.com>
20648
20649 * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
20650 derivations nested within a child unit: verify that the parent
20651 type is declared in an outer scope.
20652
20653 2001-12-17 Robert Dewar <dewar@gnat.com>
20654
20655 * sem_ch12.adb: Minor reformatting
20656
20657 2001-12-17 Ed Schonberg <schonber@gnat.com>
20658
20659 * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
20660 warning if current unit is a predefined one, from which bodies may
20661 have been deleted.
20662
20663 2001-12-17 Robert Dewar <dewar@gnat.com>
20664
20665 * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
20666 Fix header format. Add 2001 to copyright date.
20667
20668 * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
20669 which caused CE during compilation if checks were enabled.
20670
20671 2001-12-17 Vincent Celier <celier@gnat.com>
20672
20673 * make.adb:
20674 (Switches_Of): New function
20675 (Test_If_Relative_Path): New procedure
20676 (Add_Switches): Use new function Switches_Of
20677 (Collect_Arguments_And_Compile): Use new function Switches_Of.
20678 When using a project file, test if there are any relative
20679 search path. Fail if there are any.
20680 (Gnatmake): Only add switches for the primary directory when not using
20681 a project file. When using a project file, change directory to the
20682 object directory of the main project file. When using a project file,
20683 test if there are any relative search path. Fail if there are any.
20684 When using a project file, fail if specified executable is relative
20685 path with directory information, and prepend executable, if not
20686 specified as an absolute path, with the exec directory. Make sure
20687 that only one -o switch is transmitted to the linker.
20688
20689 * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
20690
20691 * prj-nmsc.adb:
20692 (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
20693 when using a non standard naming scheme.
20694 (Check_Ada_Naming_Scheme): Make sure that error messages
20695 do not raise exceptions.
20696 (Is_Illegal_Append): Return True if there is no dot in the suffix.
20697 (Language_Independent_Check): Check the exec directory.
20698
20699 * prj.adb (Project_Empty): Add new component Exec_Directory
20700
20701 * prj.ads:
20702 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
20703 (Project_Data): Add component Exec_Directory
20704
20705 * snames.adb: Updated to match snames.ads revision 1.215
20706
20707 * snames.ads: Added Exec_Dir
20708
20709 2001-12-17 Robert Dewar <dewar@gnat.com>
20710
20711 * make.adb: Minor reformatting
20712
20713 * prj-nmsc.adb: Minor reformatting
20714
20715 * snames.adb: Updated to match snames.ads
20716
20717 * snames.ads: Alphebetize entries for project file
20718
20719 2001-12-17 Ed Schonberg <schonber@gnat.com>
20720
20721 * trans.c (process_freeze_entity): Do nothing if the entity is a
20722 subprogram that was already elaborated.
20723
20724 2001-12-17 Richard Kenner <kenner@gnat.com>
20725
20726 * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
20727 and Esize if object is referenced via pointer.
20728
20729 2001-12-17 Ed Schonberg <schonber@gnat.com>
20730
20731 * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
20732 is discrete before analyzing choices.
20733
20734 2001-12-17 Joel Brobecker <brobecke@gnat.com>
20735
20736 * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
20737 containing the name of the Ada Main Program. This string is mainly
20738 intended for the debugger.
20739 (Gen_Output_File_C): Do the equivalent change when generating a C file.
20740
20741 2001-12-17 Robert Dewar <dewar@gnat.com>
20742
20743 * ali.adb: Set new Dummy_Entry field in dependency entry
20744
20745 * ali.ads: Add Dummy_Entry field to source dependency table
20746
20747 * bcheck.adb (Check_Consistency): Ignore dummy D lines
20748
20749 * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
20750
20751 * lib-writ.ads: Document dummy D lines for missing files.
20752
20753 * types.ads: (Dummy_Time_Stamp): New value for non-existant files
20754
20755 2001-12-17 Robert Dewar <dewar@gnat.com>
20756
20757 * ali.adb: Type reference does not reset current file.
20758
20759 * ali.adb: Recognize and scan renaming reference
20760
20761 * ali.ads: Add spec for storing renaming references.
20762
20763 * lib-xref.ads: Add documentation for handling of renaming references
20764
20765 * lib-xref.adb: Implement output of renaming reference.
20766
20767 * checks.adb:
20768 (Determine_Range): Document local variables
20769 (Determine_Range): Make sure Hbound is initialized. It looks as though
20770 there could be a real problem here with an uninitialized reference
20771 to Hbound, but no actual example of failure has been found.
20772
20773 2001-12-17 Laurent Pautet <pautet@gnat.com>
20774
20775 * g-socket.ads:
20776 Fix comment of Shutdown_Socket and Close_Socket. These functions
20777 should not fail silently because if they are called twice, this
20778 probably means that there is a race condition in the user program.
20779 Anyway, this behaviour is consistent with the rest of this unit.
20780 When an error occurs, an exception is raised with the error message
20781 as exception message.
20782
20783 2001-12-17 Robert Dewar <dewar@gnat.com>
20784
20785 * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
20786 that it happens before modification of Sloc values for -gnatD.
20787
20788 * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
20789 so that it happens before modification of Sloc values for -gnatD.
20790
20791 * switch.adb: Minor reformatting
20792
20793 2001-12-15 Richard Henderson <rth@redhat.com>
20794
20795 * sem_ch7.adb: Wrap comment.
20796
20797 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
20798
20799 * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
20800 5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
20801 5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
20802 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
20803 5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
20804 7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
20805 a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
20806 a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
20807 cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
20808 exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
20809 exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
20810 g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
20811 gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
20812 make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
20813 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
20814 repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
20815 s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
20816 s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
20817 s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
20818 s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
20819 sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
20820 sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
20821 sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
20822 sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
20823 spelling errors.
20824
20825 2001-12-14 Vincent Celier <celier@gnat.com>
20826
20827 * osint.adb(Create_Debug_File): When an object file is specified,
20828 put the .dg file in the same directory as the object file.
20829
20830 2001-12-14 Robert Dewar <dewar@gnat.com>
20831
20832 * osint.adb: Minor reformatting
20833
20834 * lib-xref.adb (Output_Instantiation): New procedure to generate
20835 instantiation references.
20836
20837 * lib-xref.ads: Add documentation of handling of generic references.
20838
20839 * ali.adb (Read_Instantiation_Ref): New procedure to read
20840 instantiation references
20841
20842 * ali.ads: Add spec for storing instantiation references
20843
20844 * bindusg.adb: Minor reformatting
20845
20846 * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
20847
20848 * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
20849
20850 * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
20851
20852 * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
20853
20854 * csets.ads:
20855 Fix header format
20856 Add 2001 to copyright date
20857 Add entry for Latin-5 (Cyrillic ISO-8859-5)
20858
20859 2001-12-14 Matt Gingell <gingell@gnat.com>
20860
20861 * adaint.c: mktemp is a macro on Lynx and can not be used as an
20862 expression.
20863
20864 2001-12-14 Richard Kenner <kenner@gnat.com>
20865
20866 * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
20867 if operand is CONSTRUCTOR.
20868
20869 2001-12-14 Ed Schonberg <schonber@gnat.com>
20870
20871 * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
20872 before emiting check on right-hand side, so that exception information
20873 is correct.
20874
20875 2001-12-14 Richard Kenner <kenner@gnat.com>
20876
20877 * utils.c (create_var_decl): Throw away initializing expression
20878 if just annotating types and non-constant.
20879
20880 2001-12-14 Vincent Celier <celier@gnat.com>
20881
20882 * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
20883 Default_Ada_...
20884
20885 * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
20886 Remove functions.
20887 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
20888
20889 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
20890 Remove functions.
20891 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
20892
20893 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
20894
20895 * ChangeLog: Remove piece of diff output.
20896
20897 2001-12-14 Geert Bosch <bosch@gnat.com>
20898
20899 * config-lang.in: Update copyright notice
20900
20901 * layout.adb: Remove commented out code.
20902
20903 * mdllfile.ads: Update copyright notice. Fix header format.
20904
20905 * sem_case.ads: Likewise.
20906
20907 * sem_ch3.adb: Minor reformatting.
20908
20909 2001-12-12 Geert Bosch <bosch@gnat.com>
20910
20911 * freeze.ads: Update copyright date.
20912
20913 * g-comlin.ads: Minor reformatting.
20914
20915 * gnat-style.texi: Fix typo.
20916
20917 2001-12-12 Geert Bosch <bosch@gnat.com>
20918
20919 * einfo.h: Regenerate.
20920
20921 2001-12-12 Ed Schonberg <schonber@gnat.com>
20922
20923 * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
20924 on known node types, rather than untyped fields. Further cleanups.
20925
20926 2001-12-12 Robert Dewar <dewar@gnat.com>
20927
20928 * sem_ch12.adb:
20929 (Save_Entity_Descendant): Minor comment update.
20930 (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
20931 of an N_Attribute_Reference node. As per note below, this does not
20932 eliminate need for Associated_Node in attribute ref nodes.
20933 (Associated_Node): Documentation explicitly mentions attribute
20934 reference nodes, since this field is used in such nodes.
20935
20936 * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
20937
20938 2001-12-12 Robert Dewar <dewar@gnat.com>
20939
20940 * s-stalib.adb: Add more comments on with statements being needed
20941
20942 * par-ch12.adb: Minor reformatting
20943
20944 * prj-dect.ads: Fix copyright header
20945
20946 * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
20947 inputs fit in 32 bits, but the result still overflows.
20948
20949 * s-fatgen.ads: Minor comment improvement
20950
20951 2001-12-12 Ed Schonberg <schonber@gnat.com>
20952
20953 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
20954 formal derived type, look for an inherited component from the full
20955 view of the parent, if any.
20956
20957 2001-12-12 Robert Dewar <dewar@gnat.com>
20958
20959 * checks.ads (Apply_Alignment_Check): New procedure.
20960
20961 * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
20962 ensure that the alignment of objects with address clauses is
20963 appropriate, and raise PE if not.
20964
20965 * exp_util.ads (Must_Be_Aligned): Removed, replaced by
20966 Exp_Pakd.Known_Aligned_Enough
20967
20968 * mdllfile.ads: Minor reformatting
20969
20970 * mlib-fil.ads: Minor reformatting
20971
20972 2001-12-12 Ed Schonberg <schonber@gnat.com>
20973
20974 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
20975 fix to any component reference if enclosing record has non-standard
20976 representation.
20977
20978 2001-12-12 Vincent Celier <celier@gnat.com>
20979
20980 * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
20981 Iteration
20982
20983 2001-12-12 Ed Schonberg <schonber@gnat.com>
20984
20985 * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
20986 sem_attr.
20987
20988 2001-12-12 Robert Dewar <dewar@gnat.com>
20989
20990 * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
20991
20992 2001-12-12 Emmanuel Briot <briot@gnat.com>
20993
20994 * g-regexp.adb: Remove all debug code, since it isn't required anymore,
20995 and it adds dependencies to system.io.
20996
20997 2001-12-12 Pascal Obry <obry@gnat.com>
20998
20999 * g-dirope.adb (Expand_Path.Var): Correctly detect end of
21000 variable name.
21001
21002 2001-12-11 Ed Schonberg <schonber@gnat.com>
21003
21004 * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
21005 that is the parent of other generics, the instance body replaces the
21006 instance node. Retrieve the instance of the spec, which is the one
21007 that is visible in clients and within the body.
21008
21009 2001-12-11 Vincent Celier <celier@gnat.com>
21010
21011 * gnatmain.adb: Initial version.
21012
21013 * gnatmain.ads: Initial version.
21014
21015 * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
21016
21017 * snames.adb: Updated to match snames.ads.
21018
21019 * snames.ads: Added Gnatstub.
21020
21021 2001-12-11 Vincent Celier <celier@gnat.com>
21022
21023 * prj-attr.adb (Initialization_Data): Change name from
21024 Initialisation_Data.
21025
21026 2001-12-11 Emmanuel Briot <briot@gnat.com>
21027
21028 * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
21029 + and * applied to backslashed expressions like \r.
21030
21031 2001-12-11 Vasiliy Fofanov <fofanov@gnat.com>
21032
21033 * g-os_lib.ads: String_List type added, Argument_List type is now
21034 subtype of String_List.
21035
21036 2001-12-11 Robert Dewar <dewar@gnat.com>
21037
21038 * g-os_lib.ads: Change copyright to FSF
21039 Add comments for String_List type
21040
21041 2001-12-11 Vincent Celier <celier@gnat.com>
21042
21043 * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
21044 string to the buffer).
21045
21046 2001-12-11 Ed Schonberg <schonber@gnat.com>
21047
21048 * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
21049 sem_attr.
21050
21051 * sem_attr.adb: Simplify previous fix for Address.
21052 (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
21053 to avoid anomalies where the bound of the type appears to raise
21054 constraint error.
21055
21056 2001-12-11 Robert Dewar <dewar@gnat.com>
21057
21058 * lib-xref.adb (Output_Refs): Make sure pointers are always properly
21059 handled.
21060
21061 2001-12-11 Ed Schonberg <schonber@gnat.com>
21062
21063 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
21064 renamed unit before checking for recursive instantiations.
21065
21066 2001-12-11 Emmanuel Briot <briot@gnat.com>
21067
21068 * prj.ads: Add comments for some of the fields.
21069
21070 2001-12-11 Robert Dewar <dewar@gnat.com>
21071
21072 * lib-xref.adb (Output_Refs): Don't output type references outside
21073 the main unit if they are not otherwise referenced.
21074
21075 2001-12-11 Ed Schonberg <schonber@gnat.com>
21076
21077 * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
21078 code and diagnose additional illegal uses
21079
21080 * sem_util.adb (Is_Object_Reference): An indexed component is an
21081 object only if the prefix is.
21082
21083 2001-12-11 Vincent Celier <celier@gnat.com>
21084
21085 * g-diopit.adb: Initial version.
21086
21087 * g-diopit.ads: Initial version.
21088
21089 * g-dirope.adb:
21090 (Expand_Path): Avoid use of Unbounded_String
21091 (Find, Wildcard_Iterator): Moved to child package Iteration
21092
21093 * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
21094
21095 2001-12-11 Robert Dewar <dewar@gnat.com>
21096
21097 * sem_attr.adb: Minor reformatting
21098
21099 2001-12-11 Ed Schonberg <schonber@gnat.com>
21100
21101 * sem_ch3.adb: Clarify some ???.
21102
21103 2001-12-11 Robert Dewar <dewar@gnat.com>
21104
21105 * exp_util.adb (Must_Be_Aligned): Removed, replaced by
21106 Exp_Pakd.Known_Aligned_Enough
21107
21108 * sem_ch13.adb (Check_Address_Alignment): Removed, extended
21109 version is moved to Exp_Ch13.
21110
21111 2001-12-11 Robert Dewar <dewar@gnat.com>
21112
21113 * einfo.ads: Minor reformatting
21114
21115 * exp_ch5.adb: Add comment for previous.change
21116
21117 * ali.adb: New interface for extended typeref stuff.
21118
21119 * ali.ads: New interface for typeref stuff.
21120
21121 * checks.adb (Apply_Alignment_Check): New procedure.
21122
21123 * debug.adb: Add -gnatdM for modified ALI output
21124
21125 * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
21126
21127 * lib-xref.adb: Extend generation of <..> notation to cover
21128 subtype/object types. Note that this is a complete rewrite,
21129 getting rid of the very nasty quadratic algorithm previously
21130 used for derived type output.
21131
21132 * lib-xref.ads: Extend description of <..> notation to cover
21133 subtype/object types. Uses {..} for these other cases.
21134 Also use (..) for pointer types.
21135
21136 * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
21137
21138 * exp_pakd.adb: Minor reformatting. Note that prevous RH should say:
21139 (Known_Aligned_Enough): Replaces Must_Be_Aligned.
21140
21141 2001-12-11 Vincent Celier <celier@gnat.com>
21142
21143 * gnatcmd.adb:
21144 Changed /COMPILE_ONLY to /ACTIONS=COMPILE
21145 Changed /BIND_ONLY to /ACTIONS=BIND
21146 Changed /LINK_ONLY to /ACTIONS=LINK
21147
21148 2001-12-11 Ed Schonberg <schonber@gnat.com>
21149
21150 * sem_ch8.adb (Find_Selected_Component): improved search for a
21151 candidate package in case of error.
21152
21153 * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
21154 chain back on scope stack before reinstalling use clauses.
21155
21156 * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
21157 is enabled, do not kill the code for the condition, to preserve
21158 warning.
21159
21160 2001-12-11 Robert Dewar <dewar@gnat.com>
21161
21162 * checks.adb (Insert_Valid_Check): Apply validity check to expression
21163 of conversion, not to result of conversion.
21164
21165 2001-12-11 Ed Schonberg <schonber@gnat.com>
21166
21167 * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
21168 before freezing parent. If the declarations are mutually recursive,
21169 an access to the current record type may be frozen before the
21170 derivation is complete.
21171
21172 2001-12-05 Vincent Celier <celier@gnat.com>
21173
21174 * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
21175 -c /COMPILE_ONLY, -l /LINK_ONLY
21176
21177 * opt.ads:
21178 (Bind_Only): New Flag
21179 (Link_Only): New flag
21180
21181 * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
21182 and -l (Link_Only)
21183
21184 * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
21185
21186 * make.adb:
21187 (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
21188 (Gnatmake): Set the step flags. Only perform a step if the
21189 corresponding step flag is True.
21190 (Scan_Make_Arg): Reset the bind and link step flags when -u
21191 or -gnatc has been specified.
21192
21193 2001-12-05 Ed Schonberg <schonber@gnat.com>
21194
21195 * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
21196 get bounds from right operand.
21197
21198 * sem_eval.adb: Minor reformatting
21199
21200 * exp_util.adb (Make_Literal_Range): use bound of literal rather
21201 than Index'First, its lower bound may be different from 1.
21202
21203 * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
21204 and C48009J
21205
21206 2001-12-05 Vincent Celier <celier@gnat.com>
21207
21208 * prj-nmsc.adb Minor reformatting
21209
21210 * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
21211 set and libraries are not supported.
21212
21213 2001-12-05 Ed Schonberg <schonber@gnat.com>
21214
21215 * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
21216 private view explicitly, so the back-end can treat as a global
21217 when appropriate.
21218
21219 2001-12-05 Ed Schonberg <schonber@gnat.com>
21220
21221 * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
21222 unit, always replace instance node with new body, for ASIS use.
21223
21224 2001-12-05 Vincent Celier <celier@gnat.com>
21225
21226 * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
21227 libraries are not supported and both attributes Library_Name and
21228 Library_Dir are specified.
21229
21230 * prj-proc.adb (Expression): Set location of Result to location of
21231 first term.
21232
21233 * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
21234 (prj-nmsc is now importing MLib.Tgt)
21235
21236 * prj-proc.adb: Put the change indicated above that was forgotten.
21237
21238 2001-12-05 Robert Dewar <dewar@gnat.com>
21239
21240 * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
21241
21242 2001-12-05 Ed Schonberg <schonber@gnat.com>
21243
21244 * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
21245 constraint, introduce explicit subtype declaration and derive from it.
21246
21247 * sem_ch3.adb: Minor reformatting
21248
21249 2001-12-05 Robert Dewar <dewar@gnat.com>
21250
21251 * checks.adb (Determine_Range): Increase cache size for checks.
21252 Minor reformatting
21253
21254 * exp_ch6.adb: Minor reformatting
21255 (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
21256 a parameter whose root type is System.Address, since treating such
21257 subprograms as pure in the code generator is almost surely a mistake
21258 that will lead to unexpected results.
21259
21260 * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
21261 change handling of conversions.
21262
21263 * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
21264
21265 2001-12-05 Ed Schonberg <schonber@gnat.com>
21266
21267 * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
21268 aggregate with static wrong size, attach generated Raise node to
21269 declaration.
21270
21271 2001-12-05 Robert Dewar <dewar@gnat.com>
21272
21273 * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
21274 Fixes compilation abandoned bomb in B24009B.
21275
21276 2001-12-05 Ed Schonberg <schonber@gnat.com>
21277
21278 * sem_ch12.adb:
21279 Document use of Associated_Node on Selected_Components.
21280 (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
21281 to clarify use of untyped descendant fields.
21282
21283 2001-12-05 Robert Dewar <dewar@gnat.com>
21284
21285 * prj-dect.ads: Add ??? comment
21286 Add 2001 to copyright notice (was not done in after all)
21287
21288 * prj-part.adb: Minor reformatting. Reword one awkward error message.
21289
21290 * prj.ads: Minor reformatting throughout, and add some ??? comments
21291
21292 * snames.ads: Minor reformatting
21293
21294 2001-12-05 Geert Bosch <bosch@gnat.com>
21295
21296 * snames.adb: Autoupdate
21297
21298 2001-12-05 Vincent Celier <celier@gnat.com>
21299
21300 * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
21301
21302 * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
21303
21304 * prj-env.adb: Minor comment changes (modifying -> extends).
21305
21306 * prj-nmsc.adb: Minor comment changes (modifying -> extends).
21307
21308 * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
21309 Tok_Extends.
21310
21311 * prj.adb (Initialize): Change Modifying to Extends.
21312
21313 * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
21314
21315 * prj.ads: Minor comment change (Modifying -> extending).
21316
21317 * snames.ads: Change modifying to extends.
21318
21319 2001-12-05 Robert Dewar <dewar@gnat.com>
21320
21321 * sem_warn.adb: Remove stuff for conditionals, we are not going to
21322 do this after all.
21323
21324 * sem_warn.ads: Remove stuff for conditionals, we are not going to
21325 do this after all. Add 2001 to copyright notice
21326
21327 2001-12-04 Geert Bosch <bosch@gnat.com>
21328
21329 * einfo.h, sinfo.h, treeprs.ads: Regenerate.
21330
21331 2001-12-04 Robert Dewar <dewar@gnat.com>
21332
21333 * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
21334 location if we already have errors. Stops some cases of cascaded
21335 errors.
21336
21337 * errout.adb: Improve comment.
21338
21339 2001-12-04 Robert Dewar <dewar@gnat.com>
21340
21341 * sem_ch12.adb:
21342 (Analyze_Formal_Type_Definition): Defend against Error.
21343 (Analyze_Formal_Subprogram): Defend against Error.
21344
21345 * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
21346 remove following semicolon if present. Removes cascaded error.
21347
21348 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
21349
21350 * bindgen.adb:
21351 (Gen_Exception_Table_Ada): Write "begin" and then return if Num
21352 exceptions equals 0.
21353 (Gen_Exception_Table_C): Return if Num exceptions equals 0.
21354 Fixes PIWG E tests (which have to be run with -gnatL).
21355
21356 2001-12-04 Robert Dewar <dewar@gnat.com>
21357
21358 * einfo.ads: Minor reformatting
21359
21360 2001-12-04 Ed Schonberg <schonber@gnat.com>
21361
21362 * einfo.ads: Block_Node points to the identifier of the block, not to
21363 the block node itself, to preserve the link when the block is
21364 rewritten, e.g. within an if-statement with a static condition.
21365
21366 * inline.adb (Cleanup_Scopes): recover block statement from block
21367 entity using new meaning of Block_Node.
21368
21369 * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
21370 identifier of block node, rather than to node itself.
21371
21372 2001-12-04 Gary Dismukes <dismukes@gnat.com>
21373
21374 * layout.adb:
21375 (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
21376 (Discrimify): Go back to setting the Etypes of the selected component
21377 because the Vname component does not exist at this point and will
21378 fail name resolution. Also set Analyzed.
21379 Remove with and use of Sem_Res.
21380
21381 2001-12-04 Arnaud Charlet <charlet@gnat.com>
21382
21383 * Makefile.in: (HIE_SOURCES): add s-fat*.
21384
21385 2001-12-04 Robert Dewar <dewar@gnat.com>
21386
21387 * sem_attr.adb:
21388 (Compile_Time_Known_Attribute): New procedure.
21389 (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
21390 proper range check.
21391
21392 2001-12-04 Ed Schonberg <schonber@gnat.com>
21393
21394 * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
21395 processing discriminants to diagnose illegal default values.
21396
21397 2001-12-04 Ed Schonberg <schonber@gnat.com>
21398
21399 * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
21400 access discriminant within a type extension that constrains its
21401 parent discriminants.
21402
21403 2001-12-04 Ed Schonberg <schonber@gnat.com>
21404
21405 * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
21406 is malformed, use instance of Any_Id to allow analysis to proceed.
21407
21408 * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
21409 type definition is illegal.
21410 (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
21411 misplaced.
21412
21413 2001-12-04 Ed Schonberg <schonber@gnat.com>
21414
21415 * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
21416 constants.
21417
21418 2001-12-04 Robert Dewar <dewar@gnat.com>
21419
21420 * errout.adb: Minor reformatting
21421
21422 2001-12-04 Robert Dewar <dewar@gnat.com>
21423
21424 * exp_util.adb: Minor reformatting from last change
21425
21426 * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
21427 which is a rewriting of an expression, traverse the original
21428 expression to remove warnings that may have been posted on it.
21429
21430 2001-12-04 Ed Schonberg <schonber@gnat.com>
21431
21432 * exp_util.adb (Must_Be_Aligned): Return false for a component of a
21433 record that has other packed components.
21434
21435 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
21436
21437 * adaint.c: Minor cleanups.
21438
21439 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
21440
21441 * adaint.c: Do not use utime.h on vxworks.
21442
21443 2001-12-04 Arnaud Charlet <charlet@gnat.com>
21444
21445 * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
21446 more confusion than it solves.
21447
21448 2001-12-04 Geert bosch <bosch@gnat.com>
21449
21450 * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
21451
21452 2001-12-04 Geert Bosch <bosch@gnat.com>
21453
21454 * Makefile.in (update-sources): New target.
21455 For use by gcc_release script.
21456
21457 2001-12-04 Ed Schonberg <schonber@gnat.com>
21458
21459 * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
21460 a configuration pragma, it is now legal wherever a pragma can appear.
21461
21462 2001-12-04 Zack Weinberg <zack@codesourcery.com>
21463
21464 * Makefile.in: Don't set ALL. Delete @cross_defines@,
21465 @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS
21466 is now @CROSS@ -DIN_GCC; update comment.
21467
21468 2001-12-04 Robert Dewar <dewar@gnat.com>
21469
21470 * einfo.adb (Has_Pragma_Pure_Function): New flag.
21471 Fix problem that stopped ceinfo from working
21472
21473 * einfo.ads (Has_Pragma_Pure_Function): New flag.
21474
21475 * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
21476
21477 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
21478
21479 * gnatchop.adb:
21480 (File_Time_Stamp): New procedure.
21481 (Preserve_Mode): New boolean.
21482 (Write_Unit): Pass time stamp.
21483 Implement -p switch (preserve time stamps).
21484
21485 * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
21486
21487 * gnatchop.adb: Do usage info for -p switch
21488
21489 * adaint.h (__gnat_set_file_time_name): New function
21490
21491 * adaint.c (__gnat_set_file_time_name): Implement
21492
21493 * adaint.h: Fix typo
21494
21495 2001-12-03 Robert Dewar <dewar@gnat.com>
21496
21497 * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
21498 have Associated_Node.
21499
21500 2001-12-03 Robert Dewar <dewar@gnat.com>
21501
21502 * prj-proc.adb: Minor reformatting
21503
21504 * make.adb: Minor reformatting
21505
21506 2001-12-03 Geert Bosch <bosch@gnat.com>
21507
21508 * make.adb: Minor reformatting.
21509
21510 2001-12-03 Robert Dewar <dewar@gnat.com>
21511
21512 * sem_ch12.adb: Minor reformatting
21513
21514 2001-12-03 Ed Schonberg <schonber@gnat.com>
21515
21516 * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
21517 push Standard on the stack before analyzing the instance body,
21518 in order to have a clean visibility environment.
21519
21520 * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
21521
21522 2001-12-03 Ed Schonberg <schonber@gnat.com>
21523
21524 * sem_ch12.adb (Instantiate_Package_Body): Protect against double
21525 instantiation of a body that contains an inlined body.
21526
21527 2001-12-03 Ed Schonberg <schonber@gnat.com>
21528
21529 * sem_ch12.adb:
21530 (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
21531 to prevent freezing within formal packages.
21532 (Freeze_Subprogram_Body): If body comes from another instance that
21533 appeared before its own body, place freeze node at end of current
21534 declarative part, to prevent a back-end crash.
21535 (Inline_Instance_Body): Handle properly a package instance within
21536 a subprogram instance that is a child unit.
21537
21538 2001-12-01 Graham Stott <grahams@redhat.com>
21539
21540 * Makefile.in (misc.o): Add missing $(srcdir) prefix
21541 and add optabs.h dependency.
21542
21543 * misc.c: Include optabs.h
21544 (gnat_tree_code_type): Make static and const.
21545 (gnat_tree_code_length): Likewise.
21546 (gnat_tree_code_name): Likewise.
21547 (update_setjmp_buf): Obtain operands mode from insn_data.
21548
21549 2001-11-29 Richard Henderson <rth@redhat.com>
21550
21551 * init.c: Remove obsolete dwarf2 frame.h section.
21552
21553 2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
21554
21555 * Make-lang.in (ada.generated-manpages): New dummy target.
21556
21557 2001-11-29 Ed Schonberg <schonber@gnat.com>
21558
21559 * g-os_lib.adb (Add_To_Command): use explicit loop to move string
21560 into Command, an array conversion is illegal here. Uncovered by
21561 ACATS B460005.
21562
21563 2001-11-28 Geert Bosch <bosch@gnat.com>
21564
21565 * init.c: Minor whitespace changes.
21566
21567 2001-11-28 Doug Rupp <rupp@gnat.com>
21568
21569 * init.c: (__gnat_install_handler,VMS): Increase size of alternate
21570 signal stack.
21571
21572 2001-11-28 Zack Weinberg <zack@codesourcery.com>
21573
21574 * misc.c (gnat_expand_constant): Move declaration above
21575 definition of lang_hooks.
21576 (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
21577 (gnat_init): lang_expand_constant no longer exists.
21578
21579 (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
21580 always have vprintf.
21581 (gnat_init): Always call set_internal_error_function.
21582
21583 2001-11-27 Andreas Jaeger <aj@suse.de>
21584
21585 * Makefile.in (stamp-tool_src_dir): Use symbolic link.
21586
21587 2001-11-27 Laurent Guerby <guerby@acm.org>
21588
21589 * Makefile.in: Regenerate Ada dependencies.
21590
21591 2001-11-26 Richard Henderson <rth@redhat.com>
21592
21593 * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
21594 gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
21595 gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
21596
21597 2001-11-25 Laurent Guerby <guerby@acm.org>
21598
21599 * sysdep.c (rts_get_*): Fix style.
21600
21601 2001-11-19 Laurent Guerby <guerby@acm.org>
21602
21603 * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
21604 since it is of no apparent use and cause warnings.
21605
21606 2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
21607
21608 * misc.c (gnat_decode_option, gnat_init_options): Make definitions
21609 static too.
21610 (gnat_init): Don't return NULL.
21611 (finish_parse): Remove.
21612
21613 2001-11-17 Laurent Guerby <guerby@acm.org>
21614
21615 * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
21616 * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
21617 * io-aux.c: Provide K&R prototypes to all functions, reformat code.
21618 * lang-spec.h: Add missing struct field to silence warnings.
21619 * sysdep.c (rts_get_*): Provide K&R prototype.
21620 * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
21621 * traceback.c (Unlock_Task, Lock_Task): Likewise.
21622 * tracebak.c (__gnat_backtrace): Remove unused variable.
21623 * utils.c (end_subprog_body): Move to K&R style.
21624
21625 Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21626
21627 * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
21628
21629 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
21630
21631 * misc.c (gnat_init): Change prototype. Include the
21632 functionality of the old init_parse and init_decl_processing.
21633 (gnat_init_decl_processing): New prototype.
21634 (init_parse): Remove.
21635 * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
21636
21637 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
21638
21639 * misc.c (gnat_print_decl, gnat_print_type): Renamed.
21640 (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
21641 (print_lang_statistics, lang_print_xnode, print_lang_identifier,
21642 set_yydebug): Remove.
21643
21644 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
21645
21646 * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
21647 (struct lang_hooks): Constify.
21648 (language_string, lang_identify): Remove.
21649 * utils.c (init_decl_processing): Update.
21650
21651 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
21652
21653 * misc.c: Include langhooks-def.h.
21654 * Makefile.in: Update.
21655
21656 2001-10-30 Robert Dewar <dewar@gnat.com>
21657
21658 * style.adb:
21659 (Check_Identifier): Rewrite circuit to be compatible with use of letters
21660 in the upper half of ASCII.
21661 (Check_Identifier): Minor reformatting
21662
21663 2001-10-30 Geert Bosch <bosch@gnat.com>
21664
21665 * (Associated_Node, Set_Associated_Node): Do not check for
21666 Freeze_Entity.
21667
21668 2001-10-30 Robert Dewar <dewar@gnat.com>
21669
21670 * a-reatim.ads: Minor reformatting
21671
21672 2001-10-30 Robert Dewar <dewar@gnat.com>
21673
21674 * gnatdll.adb: Minor reformatting throughout. Many ??? added for
21675 undocumented declarations.
21676
21677 2001-10-30 Pascal Obry <obry@gnat.com>
21678
21679 * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
21680 to the binder and linker.
21681 Minor style fix.
21682
21683 * mdll.ads: Fix layout. Update copyright notice.
21684
21685 * mdll.adb: Fix layout. Update copyright notice.
21686
21687 2001-10-30 Robert Dewar <dewar@gnat.com>
21688
21689 * usage.adb: Minor fix to output for -gnaty.
21690
21691 2001-10-30 Ed Schonberg <schonber@gnat.com>
21692
21693 * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
21694 to accommodate all its possible values.
21695
21696 * a-reatim.adb (Split): Special-case handling of Time_Span_First
21697 and of small absolute values of T.
21698
21699 2001-10-30 Richard Kenner <kenner@gnat.com>
21700
21701 * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
21702 set_mem_attributes since not needed and wrong if RESULT if a REG;
21703 fixes ACATS failures.
21704
21705 2001-10-30 Geert Bosch <bosch@gnat.com>
21706
21707 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
21708 s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
21709
21710 2001-10-30 Robert Dewar <dewar@gnat.com>
21711
21712 * bindusg.adb: Undocument -f switch.
21713
21714 * gnatcmd.adb: Remove /FULL_ELABORATION.
21715
21716 * opt.ads (Force_RM_Elaboration_Order): Document that this is
21717 obsolescent.
21718
21719 * gnatbind.adb: Output new warning for use of obsolescent -f switch.
21720
21721 * gnatbind.adb: Minor update of warning msg.
21722
21723 2001-10-30 Vincent Celier <celier@gnat.com>
21724
21725 * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
21726 for project file switches (-P (/PROJECT_FILE=),
21727 -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
21728 or MEDIUM or HIGH)
21729
21730 2001-10-30 Geert Bosch <bosch@gnat.com>
21731
21732 * decl.c: Minor whitespace fixes.
21733
21734 2001-10-30 Richard Kenner <kenner@gnat.com>
21735
21736 * utils2.c (build_allocator): Test for SIZE overflow in array case too
21737
21738 2001-10-30 Geert Bosch <bosch@gnat.com>
21739
21740 * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
21741 Found due to GCC 3.0 warning of using uninitialized value.
21742
21743 * layout.adb:
21744 (Get_Max_Size): Use variant record for tracking value/expression.
21745 Makes logic clearer and prevents warnings for uninitialized variables.
21746 (Layout_Array_Type): Use variant record for tracking value/expression.
21747 Makes logic clearer and prevents warnings for uninitialized variables.
21748
21749 2001-10-30 Robert Dewar <dewar@gnat.com>
21750
21751 * lib.adb: Minor reformatting
21752
21753 * s-taprop.ads: Minor reformatting
21754
21755 2001-10-29 Laurent Guerby <guerby@acm.org>
21756
21757 * init.c:
21758 (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
21759 const.
21760 (_gnat_error_handler): Make MSG const.
21761
21762 2001-10-29 Richard Kenner <kenner@gnat.com>
21763
21764 * sysdep.c: Fix localtime_r problem on LynxOS.
21765 Also remove #elif to avoid warnings.
21766
21767 * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
21768 used by this.
21769
21770 * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
21771
21772 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
21773
21774 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
21775 exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
21776 g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
21777 g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
21778 layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
21779 s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
21780 sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
21781 sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
21782 sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
21783 types.ads, urealp.adb: Fix spelling errors.
21784
21785 2001-10-27 Laurent Guerby <guerby@acm.org>
21786
21787 * trans.c (gigi): Fix non determinism leading to bootstrap
21788 comparison failures for debugging information.
21789
21790 2001-10-26 Florian Weimer <fw@deneb.enyo.de>
21791
21792 * gnat_rm.texi: Use @./@: where appropriate.
21793
21794 2001-10-26 Robert Dewar <dewar@gnat.com>
21795
21796 * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
21797
21798 2001-10-26 Richard Kenner <kenner@gnat.com>
21799
21800 * gmem.c (__gnat_gmem_read_next): Properly check for EOF
21801
21802 2001-10-26 Richard Kenner <kenner@gnat.com>
21803
21804 * decl.c (validate_size): Modify message for bad size to avoid
21805 implication that compiler is modifying the size.
21806
21807 2001-10-26 Robert Dewar <dewar@gnat.com>
21808
21809 * prj-util.adb: Minor reformatting. Fix bad header format.
21810
21811 2001-10-26 Robert Dewar <dewar@gnat.com>
21812
21813 * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
21814
21815 * sinfo.ads: Clarify use of Associated_Node (documentation only).
21816
21817 * sem_ch12.adb: Change Node4 to Associated_Node. Change
21818 Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
21819 much more narrowly in places where needed. These are cleanups.
21820
21821 2001-10-26 Joel Brobecker <brobecke@gnat.com>
21822
21823 * 5zosinte.ads (null_pthread): new constant.
21824
21825 * 5ztaprop.adb:
21826 (Initialize_TCB): Initialize thread ID to null, to be able to verify
21827 later that this field has been set.
21828 (Finalize_TCB): ditto.
21829 (Suspend_Task): Verify that the thread ID is not null before using it.
21830 (Resume_Task): ditto.
21831
21832 * s-tasdeb.adb:
21833 (Resume_All_Tasks): Lock the tasks list before using it.
21834 (Suspend_All_Tasks): ditto.
21835
21836 2001-10-26 Richard Kenner <kenner@gnat.com>
21837
21838 * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
21839 Make constant variant of designated type for Is_Access_Constant.
21840 Call update_pointer_to with main variant.
21841
21842 * trans.c (process_freeze_entity, process_type):
21843 Call update_pointer_to on main variant.
21844
21845 * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
21846 If main variant, update all other variants.
21847
21848 * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
21849 TREE_STATIC.
21850
21851 2001-10-26 Robert Dewar <dewar@gnat.com>
21852
21853 * prj-util.adb: Minor reformatting
21854
21855 2001-10-26 Robert Dewar <dewar@gnat.com>
21856
21857 * prj-util.adb: Minor reformatting
21858
21859 2001-10-26 Robert Dewar <dewar@gnat.com>
21860
21861 * prj-attr.adb: Minor reformatting throughout
21862
21863 2001-10-26 Robert Dewar <dewar@gnat.com>
21864
21865 * prj-attr.ads: Minor reformatting
21866 Add ??? comment (this whole spec has almost no comments)
21867
21868 2001-10-26 Vincent Celier <celier@gnat.com>
21869
21870 * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
21871 ("//") that precede the drive letter on Interix.
21872
21873 2001-10-26 Geert Bosch <bosch@gnat.com>
21874
21875 * gnat_rm.texi: Add GNAT Reference Manual.
21876
21877 2001-10-25 Robert Dewar <dewar@gnat.com>
21878
21879 * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
21880 is Error. Similar change for other renaming cases.
21881
21882 2001-10-25 Robert Dewar <dewar@gnat.com>
21883
21884 * s-atacco.ads: Add pragma Inline_Always for functions.
21885 Fix header format. Add copyright 2001
21886
21887 2001-10-25 Ed Schonberg <schonber@gnat.com>
21888
21889 * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
21890 return Error rather than Empty so that analysis can proceed.
21891
21892 2001-10-25 Ed Schonberg <schonber@gnat.com>
21893
21894 * sem_util.adb (Enter_Name): better handling of cascaded error
21895 messages when a unit appears in its own context.
21896
21897 2001-10-25 Ed Schonberg <schonber@gnat.com>
21898
21899 * sem_util.adb (Defining_Entity): in case of error, attach created
21900 entity to specification, so that semantic analysis can proceed.
21901
21902 2001-10-25 Robert Dewar <dewar@gnat.com>
21903
21904 * sem_util.adb
21905 (Defining_Entity): Deal with Error.
21906 (Process_End_Label): Deal with bad end label for.
21907
21908 2001-10-25 Ed Schonberg <schonber@gnat.com>
21909
21910 * sem_elab.adb (Check_A_Call): refine message when call is in an
21911 instance but callee is not declared in the generic unit.
21912
21913 2001-10-25 Ed Schonberg <schonber@gnat.com>
21914
21915 * sem_elab.adb (Check_A_Call): check for renaming before finding the
21916 enclosing unit, which may already be different from the calling unit.
21917
21918 2001-10-25 Geert Bosch <bosch@gnat.com>
21919
21920 * 4gintnam.ads: fix header format.
21921
21922 2001-10-25 Ed Schonberg <schonber@gnat.com>
21923
21924 * sem_res.adb (Resolve_Call): if the call is actually an indexing
21925 operation on the result of a parameterless call, perform elaboration
21926 check after the node has been properly rewritten.
21927
21928 * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
21929 inlined within the generic tree, the defining identifier is not a
21930 compilation_unit.
21931
21932 2001-10-25 Ed Schonberg <schonber@gnat.com>
21933
21934 * sem_res.adb (Resolve): special-case resolution of Null in an
21935 instance or an inlined body to avoid view conflicts.
21936
21937 * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
21938 compatibility by retrieving the access type of the generic copy.
21939
21940 2001-10-25 Robert Dewar <dewar@gnat.com>
21941
21942 * sem_ch3.adb:
21943 (Analyze_Number_Declaration): Handle error expression.
21944 (Signed_Integer_Type_Declaration): Handle error bound.
21945 (Analyze_Subtype_Indication): Handle error range.
21946
21947 * sem_util.adb (Get_Index_Bounds): Check for Error.
21948
21949 2001-10-25 Robert Dewar <dewar@gnat.com>
21950
21951 * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
21952 in no run time mode.
21953
21954 2001-10-25 Pascal Obry <obry@gnat.com>
21955
21956 * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
21957 mode case for ALLOC case.
21958
21959 * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
21960 all platforms. Improvement of last change.
21961
21962 2001-10-25 Robert Dewar <dewar@gnat.com>
21963
21964 * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
21965
21966 2001-10-25 Geert Bosch <bosch@gnat.com>
21967
21968 * osint.adb (Is_Relative): Remove duplicate.
21969
21970 2001-10-25 Pascal Obry <obry@gnat.com>
21971
21972 * osint.adb (Read_Default_Search_Dirs): correctly detect relative
21973 pathnames in UNIX and DOS style with drive letter.
21974 (Is_Relative): new routine.
21975
21976 * osint.adb: Minor reformatting
21977
21978 * osint.adb (Is_Relative): implementation using
21979 GNAT.OS_Lib.Is_Absolute_Path. Better fix.
21980
21981 2001-10-25 Pascal Obry <obry@gnat.com>
21982
21983 * g-dirope.adb (Basename): correctly compute offset between the
21984 original Path and the translated one.
21985
21986 * g-dirope.adb: (Base_Name): add some comments.
21987
21988 2001-10-25 Robert Dewar <dewar@gnat.com>
21989
21990 * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
21991 in HIE mode, avoids compilation abandoned message
21992
21993 * exp_imgv.adb: Correct typo in previous change
21994
21995 * exp_imgv.adb: Correct typo in previous change (not my day!)
21996
21997 2001-10-25 Robert Dewar <dewar@gnat.com>
21998
21999 * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
22000
22001 2001-10-25 Pascal Obry <obry@gnat.com>
22002
22003 * g-awk.ads: Move all pragma inlines next to the routine
22004 declarations. This is more uniform with other GNAT spec.
22005
22006 2001-10-22 Geert Bosch <bosch@gnat.com>
22007
22008 * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
22009
22010 2001-10-19 Geert Bosch <bosch@gnat.com>
22011
22012 * Makefile.in (tools, gnattools): Remove gnatmem.
22013
22014 2001-10-17 Richard Henderson <rth@redhat.com>
22015
22016 * Makefile.in (misc.o): Depend on langhooks.h.
22017 * misc.c: Include it.
22018 (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
22019 (LANG_HOOKS_DECODE_OPTION): New.
22020 (lang_hooks): Use LANG_HOOKS_INITIALIZER.
22021
22022 2001-10-16 Florian Weimer <fw@deneb.enyo.de>
22023
22024 * trans.c (tree_transform): Adjust to recent change in
22025 expand_asm_operands to implement named asm operands.
22026
22027 2001-10-11 Ed Schonberg <schonber@gnat.com>
22028
22029 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
22030 renaming of discriminant for mutable record type.
22031
22032 2001-10-11 Robert Dewar <dewar@gnat.com>
22033
22034 * validsw.adb: Properly save -gnatVn status.
22035
22036 2001-10-11 Robert Dewar <dewar@gnat.com>
22037
22038 * usage.adb: Add lines for V switch.
22039
22040 * gnatcmd.adb (COMPILE): Revise translations for -gnatV
22041 (/VALIDITY_CHECKING).
22042
22043 2001-10-11 Ed Schonberg <schonber@gnat.com>
22044
22045 * sem_type.adb (Add_One_Interp): an operator for a type declared in
22046 an extension of System is known to be visible.
22047
22048 2001-10-11 Ed Schonberg <schonber@gnat.com>
22049
22050 * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
22051 properly. Fixes regression on ACATS C34005G.
22052
22053 2001-10-11 Robert Dewar <dewar@gnat.com>
22054
22055 * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
22056 loop in generic instance, since this is likely not very useful.
22057
22058 2001-10-11 Robert Dewar <dewar@gnat.com>
22059
22060 * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
22061 the error message for high integrity mode.
22062
22063 * rtsfind.adb (RTE): Give message if we try to find an entity that
22064 is not available in high integrity mode.
22065
22066 * rtsfind.ads:
22067 (OK_To_Use_In_HIE_Mode): New array.
22068 (RTE): May return Empty in high integrity mode.
22069
22070 * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
22071 OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
22072
22073 * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
22074 unit if not inlined always and in no runtime mode. Fixes problem
22075 caused by new Rtsfind changes.
22076
22077 * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
22078 body is deleted.
22079
22080 * rtsfind.adb (RTE): Make sure we do not try to load unit after
22081 giving message for entity not available in high integrity mode.
22082
22083 2001-10-11 Pascal Obry <obry@gnat.com>
22084
22085 * impunit.adb: Add GNAT.CRC32.
22086
22087 2001-10-11 Ed Schonberg <schonber@gnat.com>
22088
22089 * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
22090 properly the case where one universal operand in a non-static
22091 exponentiation of a real literal.
22092
22093 2001-10-11 Ed Schonberg <schonber@gnat.com>
22094
22095 * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
22096 clause, return the gobal finalization list, for lack of anthing else.
22097
22098 2001-10-11 Ed Schonberg <schonber@gnat.com>
22099
22100 * exp_ch7.adb (Make_Transient_Block): if statement is within
22101 exception handler, always use new transient scope to place Clean
22102 procedure.
22103
22104 2001-10-11 Pascal Obry <obry@gnat.com>
22105
22106 * Makefile.in:
22107 (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
22108 (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
22109 (GNATLS_RTL_OBJS): add g-crc32.o
22110 (GNATMAKE_RTL_OBJS): add g-crc32.o
22111
22112 * ali-util.adb:
22113 (CRC_Match): new function.
22114 (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
22115 instead of the previous simple checksum algorithm.
22116 (Time_Stamp_Mismatch): use CRC_Match for comparison.
22117 (Set_Source_Table): idem.
22118
22119 * ali-util.ads:
22120 (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
22121 instead of simple checksum.
22122 (CRC_Match): new function.
22123 (CRC_Error): new constant.
22124
22125 * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
22126 a CRC now and not a simple checksum. A CRC uses lower-case hex
22127 letters, fixes ambiguity in parsing.
22128
22129 * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
22130 is what this variable will store.
22131
22132 * bcheck.adb: Change reference to chechsum in comments by CRC.
22133 (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
22134 rename All_Checksum_Match to All_CRC_Match. Change due to API
22135 renaming since now GNAT does not use a simple checksum but a
22136 CRC using GNAT.CRC32.
22137
22138 * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
22139 now and not anymore a simple checksum.
22140
22141 * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
22142 places.
22143
22144 * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
22145
22146 * scans.adb:
22147 (Restore_Scan_State): rename Checksum to CRC.
22148 (Save_Scan_State): idem.
22149
22150 * scans.ads:
22151 With GNAT.CRC32.
22152 (Checksum): rename to CRC.
22153 (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
22154
22155 * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
22156 GNAT.CRC32). Update copyright notice.
22157
22158 * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
22159 GNAT.CRC32). Update copyright notice.
22160
22161 * scn.adb:
22162 (Accumulate_Checksum): removed.
22163 (Update): new procedure. Add a wide-character into the CRC.
22164
22165 * sinput-l.adb:
22166 (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
22167 (Load_File): fix initialization of S (change Source_Checksum to
22168 Source_CRC)
22169
22170 * sinput-p.adb (Load_Project_File): rename Source_Checksum to
22171 Source_CRC in S initialization.
22172
22173 * sinput.adb (Source_Checksum): renamed to Source_CRC.
22174
22175 * sinput.ads (Source_Checksum): renamed to Source_CRC.
22176 Update comments for the CRC.
22177
22178 * types.adb (Hex): Use lowercase for the letter part.
22179
22180 * types.ads (Get_Hex_String): Returns the hexadecimal representation
22181 for a word. This is currently used only for CRC. In previous version,
22182 the checksum was using a representation with all letter being
22183 upper-case. With the new implementation (using CRC) we do not remove
22184 the 32th bit of the CRC, so we can have an upper-case starting letter
22185 in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
22186 It is ambigous since the CRC was optional and could be followed by
22187 options like EB, EE. So now this routines uses lower-case letter for
22188 the hexadecimal representation. Strange enough only lower case letters
22189 where checked in Scan_ALI (even if this was not a possible case).
22190
22191 * gnatvsn.ads (Library_Version): changed to 3.15a.
22192
22193 * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
22194 for the compiler.
22195
22196 * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
22197 for the compiler.
22198
22199 * ali-util.adb: Redo previous change to avoid using word CRC everywhere
22200 Add 2001 to copyright notice
22201 (Accumulate_Checksum): Modify to use System.CRC32.
22202
22203 * ali-util.ads: Redo changes of previous revision to continue to use
22204 the word Checksum. Add 2001 to copyright notice.
22205
22206 * ali.adb: Undo some of previous changes, not needed.
22207 Keep the change for lower case letters in the checksum.
22208
22209 * ali.ads: Undo previous change not needed.
22210
22211 * bcheck.adb: Undo most of previous change, not needed.
22212 But do use Checksums_Match for checksum comparison.
22213
22214 * gnatls.adb: Undo most of previous change, not needed.
22215 But do use Checksums_Match for comparing checksums.
22216
22217 * lib-load.adb: Undo previous change, not needed.
22218
22219 * lib-writ.adb: Undo previous change, not needed.
22220
22221 * lib-writ.ads: Document that checksums use lower case,
22222 not upper case letters.
22223
22224 * scans.adb: Undo previous change, not needed
22225
22226 * scans.ads: Undo previous change, not needed.
22227
22228 * scn-nlit.adb: Undo previous changes, not needed.
22229
22230 * scn-slit.adb: Undo previous change, not needed. Fix header format.
22231
22232 * scn.adb:
22233 (Accumulate_Checksum): Use System.CRC32.
22234 (Initialize_Checksum): New procedure.
22235 Remove other changes of previous revision.
22236
22237 * sinput-p.adb: Undo previous change, not needed.
22238
22239 * sinput.adb: Undo previous change, not needed.
22240
22241 * sinput-l.adb: Undo previous change, not needed.
22242
22243 * sinput.ads: Undo previous change, not needed. Keep only comment
22244 on new checksum algorithm
22245
22246 * Makefile.in: Add s-crc32 as needed, remove g-crc32.
22247 Also remove a-tags and a-stream from GNAT sources.
22248
22249 * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
22250
22251 * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
22252
22253 2001-10-11 Geert Bosch <bosch@gnat.com>
22254
22255 * einfo.h: Regenerate.
22256
22257 * nmake.ads: Regenerate.
22258
22259 * nmake.adb: Regenerate.
22260
22261 * sinfo.h: Regenerate.
22262
22263 * treeprs.adb: Regenerate.
22264
22265 2001-10-10 Geert Bosch <bosch@gnat.com>
22266
22267 * gnat-style.texi: New file describing coding guidelines for Ada.
22268
22269 2001-10-10 Ed Schonberg <schonber@gnat.com>
22270
22271 * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
22272 is Flag174.
22273
22274 2001-10-10 Geert Bosch <bosch@gnat.com>
22275
22276 * snames.ads: Add new names for project facility.
22277
22278 * snames.adb: Update to reflect snames.ads changes.
22279
22280 * snames.h: Update to reflect snames.ads changes.
22281
22282 2001-10-10 Vincent Celier <celier@gnat.com>
22283
22284 * make.adb:
22285 (Add_Switches): reflect the changes for the switches attributes
22286 Default_Switches indexed by the programming language,
22287 Switches indexed by the file name.
22288 (Collect_Arguments_And_Compile): Idem.
22289 Reflect the attribute name changes.
22290
22291 * prj-attr.adb:
22292 (Initialisation_Data): Change the names of some packages and
22293 attributes.
22294 (Initialize): process case insensitive associative arrays.
22295
22296 * prj-attr.ads:
22297 (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
22298
22299 * prj-dect.adb:
22300 (Parse_Attribute_Declaration): For case insensitive associative
22301 arrays, set the index string to lower case.
22302
22303 * prj-env.adb:
22304 Reflect the changes of the project attributes.
22305
22306 * prj-nmsc.adb:
22307 Replace Check_Naming_Scheme by Ada_Check and
22308 Language_Independent_Check.
22309
22310 * prj-nmsc.ads:
22311 Replaced Check_Naming_Scheme by 2 procedures:
22312 Ada_Check and Language_Independent_Check.
22313
22314 * prj-proc.adb:
22315 (Process_Declarative_Items): For case-insensitive associative
22316 arrays, set the index string to lower case.
22317 (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
22318 Prj.Nmsc.Check_Naming_Scheme.
22319
22320 * prj-tree.adb:
22321 (Case_Insensitive): New function
22322 (Set_Case_Insensitive): New procedure
22323
22324 * prj-tree.ads:
22325 (Case_Insensitive): New function
22326 (Set_Case_Insensitive): New procedure
22327 (Project_Node_Record): New flag Case_Insensitive.
22328
22329 * prj-util.adb:
22330 (Value_Of): new function to get the string value of a single
22331 string variable or attribute.
22332
22333 * prj-util.ads:
22334 (Value_Of): new function to get the string value of a single
22335 string variable or attribute.
22336
22337 * prj.adb:
22338 (Ada_Default_Spec_Suffix): New function
22339 (Ada_Default_Impl_Suffix): New function
22340 Change definitions of several constants to reflect
22341 new components of record types.
22342
22343 * prj.ads:
22344 (Naming_Data): Change several components to reflect new
22345 elements of naming schemes.
22346 (Project_Data): New flags Sources_Present and
22347 Language_Independent_Checked.
22348 (Ada_Default_Spec_Suffix): New function.
22349 (Ada_Default_Impl_Suffix): New function.
22350
22351 * snames.ads:
22352 Modification of predefined names for project manager: added
22353 Implementation, Specification_Exceptions, Implementation_Exceptions,
22354 Specification_Suffix, Implementation_Suffix, Separate_Suffix,
22355 Default_Switches, _Languages, Builder, Cross_Reference,
22356 Finder. Removed Body_Part, Specification_Append, Body_Append,
22357 Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
22358 Gnatlink.
22359
22360 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
22361 Add comments.
22362
22363 * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
22364 not that it is Nil_Variable_Value.
22365
22366 * prj.ads: Add ??? for uncommented declarations
22367
22368 2001-10-10 Ed Schonberg <schonber@gnat.com>
22369
22370 * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
22371 constant, do not indicate possible modification, so that gigi can
22372 treat it as a bona fide constant.
22373
22374 2001-10-10 Robert Dewar <dewar@gnat.com>
22375
22376 * sem_prag.adb: Add processing for pragma External.
22377
22378 * snames.ads: Add entry for pragma External.
22379
22380 * par-prag.adb: Add pragma External.
22381
22382 * snames.adb: Updated to match snames.ads.
22383
22384 2001-10-10 Ed Schonberg <schonber@gnat.com>
22385
22386 * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
22387 a dynamic task if the allocator appears in an indexed assignment
22388 or selected component assignment.
22389
22390 * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
22391 For a dynamic task in an assignment statement, use target of
22392 assignment to generate meaningful name.
22393
22394 2001-10-10 Ed Schonberg <schonber@gnat.com>
22395
22396 * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
22397 a generic package.
22398
22399 * einfo.ads: Body_Entity is also defined for generic package.
22400 Documentation change only
22401
22402 * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
22403 others_choice for a discriminated component initialization,
22404 convert discriminant references into the corresponding discriminals.
22405
22406 * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
22407 only if original type is private and expression has to be wrapped
22408 in a conversion.
22409
22410 * checks.adb:
22411 (Apply_Constraint_Check): Do not perform length check
22412 if expression is an aggregate with only an others_choice.
22413 (Length_N_Cond): two references to the same in_parameter
22414 (typically the discriminal in an init_proc) denote the same value.
22415 Two useful optimization uncovered by bugfixes above.
22416
22417 2001-10-10 Robert Dewar <dewar@gnat.com>
22418
22419 * xeinfo.adb: Change int to char in translation of enumeration types.
22420 This fixes a problem in the C representation of component alignment.
22421 Add 2001 to copyright notice
22422
22423 2001-10-10 Richard Kenner <kenner@gnat.com>
22424
22425 * decl.c: (validate_size): Do check size of object of integral type
22426 if it is a packed array type.
22427
22428 2001-10-10 Richard Kenner <kenner@gnat.com>
22429
22430 * decl.c: (gnat_to_gnu_entity, case object): Also materialize
22431 VAR_DECL for constant if not Is_Public but -O0.
22432
22433 2001-10-10 Richard Kenner <kenner@gnat.com>
22434
22435 * misc.c (struct lang_hooks): Add new initializer to match GCC change.
22436
22437 2001-10-10 Geert Bosch <bosch@gnat.com>
22438
22439 * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
22440 use '/' as switch character, allowing for absolute file names.
22441
22442 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
22443
22444 * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
22445 FSF address.
22446
22447 2001-10-08 Geert Bosch <bosch@gnat.com>
22448
22449 * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
22450 Automatically build utilities when files need to be regenerated.
22451
22452 2001-10-08 Geert Bosch <bosch@gnat.com>
22453
22454 * xsnames.adb: New utility for updating snames.ads and snames.adb
22455
22456 2001-10-08 Zack Weinberg <zack@codesourcery.com>
22457
22458 * Make-lang.in (ADAFLAGS): Add -W -Wall.
22459 (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
22460 (gnat1): Also depend on attribs.o.
22461 (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
22462 * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
22463 (ADAC): Set to @ADAC@ in stage1, $(CC) later.
22464 (ADAFLAGS): Add -W -Wall.
22465 (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
22466 take out CFLAGS.
22467
22468 (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
22469 s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
22470 s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
22471 Use $(ADAC), not $(CC), as compilation command.
22472
22473 (gnattools): Depend directly on tools to build, don't use
22474 recursive make.
22475 (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
22476
22477 * einfo.h, sinfo.h: New files (autogenerated).
22478
22479 2001-10-08 Richard Henderson <rth@redhat.com>
22480
22481 * comperr.adb (Abort_In_Progress): New.
22482 (Compiler_Abort): Use it to prevent recursion.
22483
22484 2001-10-08 Robert Dewar <dewar@gnat.com>
22485
22486 * atree.adb: Set Error_Posted in Error node, helps error recovery.
22487
22488 * par-endh.adb (Output_End_Expected): We should also not test
22489 Error_Posted on the Error node, since now it is always set.
22490
22491 * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
22492 to help error recovery. Part of general work on 9407-004.
22493
22494 * par.adb: Add ??? for misuse of error
22495
22496 * sem_res.adb:
22497 (Resolve): Defend against Error, fixes 9407-003.
22498 (Resolve_Discrete_Subtype_Indication): Defend against Error.
22499
22500 * sinfo.ads (N_Error): Now has Etype field (which will be set
22501 to Any_Type to help error recovery).
22502
22503 2001-10-08 Richard Kenner (kenner@gnat.com)
22504
22505 * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
22506 Consistently set MEM attributes from expression; fixes
22507 bootstrap failure on x86.
22508
22509 2001-10-08 Geert Bosch (bosch@gnat.com)
22510
22511 * 5oosinte.adb: Add 2001 to copyright notice.
22512
22513 2001-10-08 Geert Bosch (bosch@gnat.com)
22514
22515 * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
22516
22517 * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
22518
22519 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
22520
22521 * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
22522
22523 2001-10-05 Geert Bosch (bosch@gnat.com)
22524
22525 * adaint.h: Small formatting fix.
22526
22527 2001-10-04 Geert Bosch <bosch@gnat.com>
22528
22529 * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
22530 Arg is int, not FILE *, in dummy version of functions.
22531
22532 * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
22533 Arg is int, not FILE *.
22534
22535 2001-10-04 Geert Bosch <bosch@gnat.com>
22536
22537 * 3lsoccon.ads: Added file, missed with initial check ins.
22538
22539 * 4lintnam.ads: Fix header format.
22540 Change Linux to GNU/Linux.
22541
22542 * 5iosinte.adb: Change Linux to GNU/Linux.
22543
22544 * 5iosinte.ads: Change Linux to GNU/Linux.
22545
22546 * 5itaprop.adb: Change Linux to GNU/Linux.
22547
22548 * 5itaspri.ads: Change Linux to GNU/Linux.
22549 Update copyright notice.
22550
22551 * 5lintman.adb: Change Linux to GNU/Linux.
22552
22553 * 5lml-tgt.adb: Change Linux to GNU/Linux.
22554
22555 * 5losinte.ads: Change Linux to GNU/Linux.
22556
22557 * 5lsystem.ads: Change Linux to GNU/Linux.
22558
22559 * 5qosinte.adb: Change Linux to GNU/Linux.
22560
22561 * 5qosinte.ads: Change Linux to GNU/Linux.
22562
22563 * 5qparame.ads: Change Linux to GNU/Linux.
22564
22565 * 5qtaprop.adb: Change Linux to GNU/Linux.
22566
22567 * 5qtaspri.ads: Change Linux to GNU/Linux.
22568 Add 2001 to copyright notice.
22569
22570 * 5vintman.ads: Change Linux to GNU/Linux.
22571 Fix header format. Add 2001 to copyright notice.
22572
22573 * g-soccon.ads: Change Linux to GNU/Linux.
22574
22575 * g-trasym.ads: Change Linux to GNU/Linux.
22576 Add 2001 to copyright notice.
22577
22578 * memtrack.adb: Change Linux to GNU/Linux.
22579
22580 * s-intman.ads: Change Linux to GNU/Linux.
22581 Add 2001 to copyright notice. Fix header format.
22582
22583 * s-stache.adb: Change Linux to GNU/Linux.
22584
22585 * adaint.c: Change Linux to GNU/Linux.
22586
22587 * cio.c: Change Linux to GNU/Linux.
22588
22589 * cstreams.c: Change Linux to GNU/Linux.
22590
22591 * init.c: Change Linux to GNU/Linux.
22592
22593 * gmem.c: Change Linux to GNU/Linux.
22594
22595 * tracebak.c: Change Linux to GNU/Linux.
22596
22597
22598 2001-10-02 Geert Bosch <bosch@gnat.com>
22599
22600 * misc.c (insert_default_attributes): Add dummy version.